Isaac Sim Version: 5.1.0
Operating System: Ubuntu 22.04
Hello everyone,
I am currently developing an AMR simulation and navigation system. The overall technical architecture includes:
- ROS2 (Humble)
- Nav2
- Multiple sensors (3D LiDAR, 2D LiDAR, IMU)
- Future plans for Sim-to-Real deployment
- Potentially multiple robots with different external designs but using the same sensor specifications
I would like to ask for advice regarding best practices for team collaboration and long-term maintainability.
Current Workflow
Our current process is as follows:
- Import the STL robot model into Isaac Sim
- Add sensors in Isaac Sim
- Create joints
- Export the model as URDF for the team
- The team then builds the TF tree based on the URDF
- Use the URDF in Isaac Sim and RViz2 to simulate sensor data publishing
However, when we need to add new sensors later, the workflow becomes:
- Import the URDF back into Isaac Sim
- Add sensors
- Create joints
- Export the updated URDF again
Current Concerns
Repeatedly modifying between Isaac Sim and URDF seems to introduce several issues:
- Increasing file structure complexity
- TF management becoming harder to maintain
- Difficulty in version control
- Reduced scalability for multi-robot setups or future Sim-to-Real transitions
I would like to ask:
- Is this workflow aligned with common engineering best practices?
- In a team collaboration context, what would be a recommended standard workflow to avoid long-term maintenance issues?
- If we expect to have multiple robots with different appearances but identical sensor specifications in the future, what would be the recommended modularization approach?
Any insights or experience-based recommendations would be greatly appreciated.
Thank you very much.