Waypoint following enviroment development #2474
Unanswered
PaoloGinefra
asked this question in
Q&A
Replies: 1 comment
-
Thank you for posting this. To develop a waypoint following RL environment in Isaac Lab with randomized static obstacles, you can try to implement the following approaches: Obstacle Spawning Methods1. Rigid Object Collections from isaaclab.assets import RigidObjectCfg
from isaaclab.sim import sim_utils
obstacle_cfg = RigidObjectCfg(
prim_path="/World/envs/env_.*/Obstacles",
spawn=sim_utils.MultiAssetSpawnerCfg(
assets_cfg=[
sim_utils.CuboidCfg(size=(0.5, 0.5, 1.0)),
sim_utils.ConeCfg(radius=0.3, height=1.0),
sim_utils.CylinderCfg(radius=0.4, height=1.2)
],
random_choice=True,
rigid_props=sim_utils.RigidBodyPropertiesCfg(
solver_position_iteration_count=4,
kinematic=True # For static obstacles
)
)
) This creates multiple obstacle types that spawn randomly in each environment while maintaining static behavior through kinematic properties. 2. Position Randomization at Reset def _reset_obstacles(self, env_ids):
# Generate random positions/orientations
num_obstacles = 5 # Per environment
positions = torch.rand((len(env_ids), num_obstacles, 3)) * 5.0
orientations = torch.rand((len(env_ids), num_obstacles, 4)) * 2 - 1
# Apply to all environments
self._obstacles.set_world_poses(
positions.reshape(-1, 3),
orientations.reshape(-1, 4),
env_indices=env_ids
) Call this during the reset phase to randomize obstacle positions while maintaining static object properties. Recommended Implementation Strategy
collision_props=sim_utils.CollisionPropertiesCfg(
collision_enabled=True,
contact_offset=0.02,
rest_offset=0.002
) Ensure proper collision detection with robot sensors (see this example tutorial). |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone, right now I am trying to develop an Isaac lab direct RL environment for a waypoint following task of a mobile robot. The task is simply to follow the waypoints without colliding with some obstacles that need to be randomized at every reset.
I am a bit stuck on how to spawn the obstacles and then on how to randomize their positions. My best try so far uses the Rigid Body Collection (even tho the obstacles need to be static) but I can't figure out how to spawn multiple obstacles per env.
Also rn I have a basic waypoint following implementation.
Any suggestions or resources are more than appreciated since I am new to this framework.
Beta Was this translation helpful? Give feedback.
All reactions