Skip to content

Add procedural terrain generation for elevation (#28, #19)#39

Open
lycocorax wants to merge 1 commit intoUWRobotLearning:mainfrom
lycocorax:elevation-procedural-terrain
Open

Add procedural terrain generation for elevation (#28, #19)#39
lycocorax wants to merge 1 commit intoUWRobotLearning:mainfrom
lycocorax:elevation-procedural-terrain

Conversation

@lycocorax
Copy link

@lycocorax lycocorax commented Feb 24, 2026

Fix NaN actions during training (#28) by replacing static elevation terrain with procedural height-field generation (#19). Requires noise == 1.2.2. Elevation RL now defaults to procedural terrain (USD terrain retained for play config).

Procedural terrain generation

  • Updated MushrElevationRLEnvCfg to use IsaacLab's height field terrain generator, configurable via NoiseHfCfg
    • Simplex noise-based height field generation implemented in create_noise_hf
    • Procedural road generation (generate_roads = True) in add_roads_v2
    • Terrain is split into 4x4 subterrains with height scaling parameterized by curriculum difficulty

Reward, termination, pose sampling updates

  • Fixed NaN in actions by ensuring valid init poses using TerrainBasedPose2dCommandCfg and terrain-based flat_patch_sampling configs
  • Cleaned up some unused or legacy terrain-dependent reward terms
  • Fixed an issue of circular motion / reward hacking by introducing a curriculum term for decreasing velocity-based reward weight to a lower bound, as well as adding termination penalties
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant