Multi-environment (vectorized) RL training with RayCaster prim path binding issue and support for custom 16-ray LiDAR-like sensors in Isaac Lab

Note: For any Isaac Lab topics, please submit your topic to its GitHub repo ( GitHub - isaac-sim/IsaacLab: Unified framework for robot learning built on NVIDIA Isaac Sim ) following the instructions provided on Isaac Lab’s Contributing Guidelines ( Contribution Guidelines — Isaac Lab Documentation ).

Please provide all relevant details below before submitting your post. This will help the community provide more accurate and timely assistance. After submitting, you can check the appropriate boxes. Remember, you can always edit your post later to include additional information if needed.

Isaac Sim Version

5.1.0
→ 5.0.0
4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

→ Ubuntu 24.04
Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

GPU Information

  • Model: NVIDIA GeForce RTX 5090
    Driver Version: 580.95.05
    CUDA Version: 13.0

Topic Description

Multi-environment (vectorized) RL training with RayCaster prim path binding issue and support for custom 16-ray LiDAR-like sensors in Isaac Lab.

Detailed Description

I am using Isaac Lab to train reinforcement learning policies for robotic agents with multiple parallel environments (vectorized envs). During setup:

  • I attempted to add RayCaster sensors for each robot instance in parallel environments (e.g., /World/envs/env_0/..., /World/envs/env_1/..., etc.).

  • RayCaster fails to bind correct prim paths across multiple environments, making it unusable for multi-env RL setups.

  • I also want to confirm if Isaac Lab supports custom LiDAR configuration — specifically simple fixed 16-ray scans (similar to VLP-16) — for use as observations in RL training.

Steps to Reproduce

  1. Create multiple environments under /World/envs/env_0, /World/envs/env_1, … via vectorized environment API.

  2. Attach RayCaster sensors to each robot instance with prim paths referencing dynamic env indices.

  3. Attempt to run training loop or environment reset/step.

  4. Observe sensor initialization outcome.

(Add more steps as needed)

Error Messages

Currently RayCaster fails silently or throws binding exceptions when trying to resolve prim paths across vectorized envs (e.g., sensor path cannot be found / cannot attach).

Screenshots or Videos

(If applicable, add screenshots or links to videos that demonstrate the issue)

Additional Information

What I’ve Tried

  1. Ensuring that prim paths are dynamically updated per environment instance.
  2. Tried static sensor attachments only to a single env (works).
  3. Checked available documentation for multi-env sensor binding.
  4. Attempted alternative prim path construction patterns (e.g., string templates with indices).

Related Issues

(If you’re aware of any related issues or forum posts, please link them here)

Additional Context

  1. Does Isaac Lab officially support RayCaster sensors in multi-environment (vectorized) scenarios?
  2. If supported, what is the correct pattern for specifying sensor prim paths dynamically per environment instance?
  3. If not supported, is there a known limitation or recommended workaround?
  4. Can Isaac Lab support a custom LiDAR-like configuration (e.g., 16 fixed rays) easily accessible in observations?
    • Are there examples or best practices?

    • How does RayCaster compare with PhysX LiDAR or RTX LiDAR in multi-env RL workflows from a performance and usability perspective?

Thank you for your interest in Isaac Lab. To ensure efficient support and collaboration, please submit your topic to its GitHub repo following the instructions provided on Isaac Lab’s Contributing Guidelines regarding discussions, submitting issues, feature requests, and contributing to the project.

We appreciate your understanding and look forward to assisting you.