@@ -568,100 +568,25 @@ <h1>Source code for isaaclab.terrains.terrain_generator_cfg</h1><div class="high
568
568
569
569
< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> __future__</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> annotations</ span >
570
570
571
- < span class ="kn "> import</ span > < span class ="w "> </ span > < span class ="nn "> numpy</ span > < span class ="w "> </ span > < span class ="k "> as</ span > < span class ="w "> </ span > < span class ="nn "> np</ span >
572
- < span class ="kn "> import</ span > < span class ="w "> </ span > < span class ="nn "> trimesh</ span >
573
- < span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> collections.abc</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> Callable</ span >
574
571
< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> dataclasses</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> MISSING</ span >
575
572
< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> typing</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> Literal</ span >
576
573
577
574
< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> isaaclab.utils</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> configclass</ span >
578
575
579
-
580
- < span class ="nd "> @configclass</ span >
581
- < span class ="k "> class</ span > < span class ="w "> </ span > < span class ="nc "> FlatPatchSamplingCfg</ span > < span class ="p "> :</ span >
582
- < span class ="w "> </ span > < span class ="sd "> """Configuration for sampling flat patches on the sub-terrain.</ span >
583
-
584
- < span class ="sd "> For a given sub-terrain, this configuration specifies how to sample flat patches on the terrain.</ span >
585
- < span class ="sd "> The sampled flat patches can be used for spawning robots, targets, etc.</ span >
586
-
587
- < span class ="sd "> Please check the function :meth:`~isaaclab.terrains.utils.find_flat_patches` for more details.</ span >
588
- < span class ="sd "> """</ span >
589
-
590
- < span class ="n "> num_patches</ span > < span class ="p "> :</ span > < span class ="nb "> int</ span > < span class ="o "> =</ span > < span class ="n "> MISSING</ span >
591
- < span class ="w "> </ span > < span class ="sd "> """Number of patches to sample."""</ span >
592
-
593
- < span class ="n "> patch_radius</ span > < span class ="p "> :</ span > < span class ="nb "> float</ span > < span class ="o "> |</ span > < span class ="nb "> list</ span > < span class ="p "> [</ span > < span class ="nb "> float</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> MISSING</ span >
594
- < span class ="w "> </ span > < span class ="sd "> """Radius of the patches.</ span >
595
-
596
- < span class ="sd "> A list of radii can be provided to check for patches of different sizes. This is useful to deal with</ span >
597
- < span class ="sd "> cases where the terrain may have holes or obstacles in some areas.</ span >
598
- < span class ="sd "> """</ span >
599
-
600
- < span class ="n "> x_range</ span > < span class ="p "> :</ span > < span class ="nb "> tuple</ span > < span class ="p "> [</ span > < span class ="nb "> float</ span > < span class ="p "> ,</ span > < span class ="nb "> float</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="o "> -</ span > < span class ="mf "> 1e6</ span > < span class ="p "> ,</ span > < span class ="mf "> 1e6</ span > < span class ="p "> )</ span >
601
- < span class ="w "> </ span > < span class ="sd "> """The range of x-coordinates to sample from. Defaults to (-1e6, 1e6).</ span >
602
-
603
- < span class ="sd "> This range is internally clamped to the size of the terrain mesh.</ span >
604
- < span class ="sd "> """</ span >
605
-
606
- < span class ="n "> y_range</ span > < span class ="p "> :</ span > < span class ="nb "> tuple</ span > < span class ="p "> [</ span > < span class ="nb "> float</ span > < span class ="p "> ,</ span > < span class ="nb "> float</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="o "> -</ span > < span class ="mf "> 1e6</ span > < span class ="p "> ,</ span > < span class ="mf "> 1e6</ span > < span class ="p "> )</ span >
607
- < span class ="w "> </ span > < span class ="sd "> """The range of y-coordinates to sample from. Defaults to (-1e6, 1e6).</ span >
608
-
609
- < span class ="sd "> This range is internally clamped to the size of the terrain mesh.</ span >
610
- < span class ="sd "> """</ span >
611
-
612
- < span class ="n "> z_range</ span > < span class ="p "> :</ span > < span class ="nb "> tuple</ span > < span class ="p "> [</ span > < span class ="nb "> float</ span > < span class ="p "> ,</ span > < span class ="nb "> float</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="o "> -</ span > < span class ="mf "> 1e6</ span > < span class ="p "> ,</ span > < span class ="mf "> 1e6</ span > < span class ="p "> )</ span >
613
- < span class ="w "> </ span > < span class ="sd "> """Allowed range of z-coordinates for the sampled patch. Defaults to (-1e6, 1e6)."""</ span >
614
-
615
- < span class ="n "> max_height_diff</ span > < span class ="p "> :</ span > < span class ="nb "> float</ span > < span class ="o "> =</ span > < span class ="n "> MISSING</ span >
616
- < span class ="w "> </ span > < span class ="sd "> """Maximum allowed height difference between the highest and lowest points on the patch."""</ span >
617
-
618
-
619
- < div class ="viewcode-block " id ="SubTerrainBaseCfg "> < a class ="viewcode-back " href ="../../../source/api/lab/isaaclab.terrains.html#isaaclab.terrains.SubTerrainBaseCfg "> [docs]</ a > < span class ="nd "> @configclass</ span >
620
- < span class ="k "> class</ span > < span class ="w "> </ span > < span class ="nc "> SubTerrainBaseCfg</ span > < span class ="p "> :</ span >
621
- < span class ="w "> </ span > < span class ="sd "> """Base class for terrain configurations.</ span >
622
-
623
- < span class ="sd "> All the sub-terrain configurations must inherit from this class.</ span >
624
-
625
- < span class ="sd "> The :attr:`size` attribute is the size of the generated sub-terrain. Based on this, the terrain must</ span >
626
- < span class ="sd "> extend from :math:`(0, 0)` to :math:`(size[0], size[1])`.</ span >
627
- < span class ="sd "> """</ span >
628
-
629
- < span class ="n "> function</ span > < span class ="p "> :</ span > < span class ="n "> Callable</ span > < span class ="p "> [[</ span > < span class ="nb "> float</ span > < span class ="p "> ,</ span > < span class ="n "> SubTerrainBaseCfg</ span > < span class ="p "> ],</ span > < span class ="nb "> tuple</ span > < span class ="p "> [</ span > < span class ="nb "> list</ span > < span class ="p "> [</ span > < span class ="n "> trimesh</ span > < span class ="o "> .</ span > < span class ="n "> Trimesh</ span > < span class ="p "> ],</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> ndarray</ span > < span class ="p "> ]]</ span > < span class ="o "> =</ span > < span class ="n "> MISSING</ span >
630
- < span class ="w "> </ span > < span class ="sd "> """Function to generate the terrain.</ span >
631
-
632
- < span class ="sd "> This function must take as input the terrain difficulty and the configuration parameters and</ span >
633
- < span class ="sd "> return a tuple with a list of ``trimesh`` mesh objects and the terrain origin.</ span >
634
- < span class ="sd "> """</ span >
635
-
636
- < span class ="n "> proportion</ span > < span class ="p "> :</ span > < span class ="nb "> float</ span > < span class ="o "> =</ span > < span class ="mf "> 1.0</ span >
637
- < span class ="w "> </ span > < span class ="sd "> """Proportion of the terrain to generate. Defaults to 1.0.</ span >
638
-
639
- < span class ="sd "> This is used to generate a mix of terrains. The proportion corresponds to the probability of sampling</ span >
640
- < span class ="sd "> the particular terrain. For example, if there are two terrains, A and B, with proportions 0.3 and 0.7,</ span >
641
- < span class ="sd "> respectively, then the probability of sampling terrain A is 0.3 and the probability of sampling terrain B</ span >
642
- < span class ="sd "> is 0.7.</ span >
643
- < span class ="sd "> """</ span >
644
-
645
- < span class ="n "> size</ span > < span class ="p "> :</ span > < span class ="nb "> tuple</ span > < span class ="p "> [</ span > < span class ="nb "> float</ span > < span class ="p "> ,</ span > < span class ="nb "> float</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mf "> 10.0</ span > < span class ="p "> ,</ span > < span class ="mf "> 10.0</ span > < span class ="p "> )</ span >
646
- < span class ="w "> </ span > < span class ="sd "> """The width (along x) and length (along y) of the terrain (in m). Defaults to (10.0, 10.0).</ span >
647
-
648
- < span class ="sd "> In case the :class:`~isaaclab.terrains.TerrainImporterCfg` is used, this parameter gets overridden by</ span >
649
- < span class ="sd "> :attr:`isaaclab.scene.TerrainImporterCfg.size` attribute.</ span >
650
- < span class ="sd "> """</ span >
651
-
652
- < span class ="n "> flat_patch_sampling</ span > < span class ="p "> :</ span > < span class ="nb "> dict</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="n "> FlatPatchSamplingCfg</ span > < span class ="p "> ]</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
653
- < span class ="w "> </ span > < span class ="sd "> """Dictionary of configurations for sampling flat patches on the sub-terrain. Defaults to None,</ span >
654
- < span class ="sd "> in which case no flat patch sampling is performed.</ span >
655
-
656
- < span class ="sd "> The keys correspond to the name of the flat patch sampling configuration and the values are the</ span >
657
- < span class ="sd "> corresponding configurations.</ span >
658
- < span class ="sd "> """</ span > </ div >
576
+ < span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> .sub_terrain_cfg</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> SubTerrainBaseCfg</ span >
577
+ < span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> .terrain_generator</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> TerrainGenerator</ span >
659
578
660
579
661
580
< div class ="viewcode-block " id ="TerrainGeneratorCfg "> < a class ="viewcode-back " href ="../../../source/api/lab/isaaclab.terrains.html#isaaclab.terrains.TerrainGeneratorCfg "> [docs]</ a > < span class ="nd "> @configclass</ span >
662
581
< span class ="k "> class</ span > < span class ="w "> </ span > < span class ="nc "> TerrainGeneratorCfg</ span > < span class ="p "> :</ span >
663
582
< span class ="w "> </ span > < span class ="sd "> """Configuration for the terrain generator."""</ span >
664
583
584
+ < span class ="n "> class_type</ span > < span class ="p "> :</ span > < span class ="nb "> type</ span > < span class ="o "> =</ span > < span class ="n "> TerrainGenerator</ span >
585
+ < span class ="w "> </ span > < span class ="sd "> """The class to use for the terrain generator.</ span >
586
+
587
+ < span class ="sd "> Defaults to :class:`isaaclab.terrains.terrain_generator.TerrainGenerator`.</ span >
588
+ < span class ="sd "> """</ span >
589
+
665
590
< span class ="n "> seed</ span > < span class ="p "> :</ span > < span class ="nb "> int</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
666
591
< span class ="w "> </ span > < span class ="sd "> """The seed for the random number generator. Defaults to None, in which case the seed from the</ span >
667
592
< span class ="sd "> current NumPy's random state is used.</ span >
0 commit comments