Status
Open
Goal: Show how to control a simulated differential-drive robot in Isaac Sim through ROS 2 topics — sending velocity commands (/cmd_vel
) and receiving odometry feedback (/odom
).
Outline:
1. Why This Matters
- Works with any diff-drive robot (TurtleBot, Carter, custom URDF, etc.).
- Uses the same ROS 2 interfaces that real robots expect.
- Lets you test navigation and teleop pipelines in sim before moving to hardware.
2. General Setup
- Import or load a diff-drive robot into Isaac Sim.
- Configure wheel joints so they respond to velocity commands.
- Enable the ROS 2 bridge to exchange messages with ROS 2.
3. ROS 2 Connections
/cmd_vel
→ robot receives linear + angular velocity commands./odom
→ robot publishes odometry feedback (position, orientation, velocity).- Can be managed by
diff_drive_controller
or any node that publishes/subscribes to these topics.
4. Demo Flow
- Launch Isaac Sim with a diff-drive robot.
- Bridge topics to ROS 2.
- Send commands on
/cmd_vel
→ robot moves forward or turns. - Observe
/odom
feedback in RViz or terminal logs.
5. Recap & Next Steps
- Topic-based diff-drive control in Isaac Sim
- Standard ROS 2 interfaces:
/cmd_vel
and/odom
- Integrate with Nav2 for autonomous navigation
- Add LiDAR or cameras for mapping
- Try with your own custom robot exported from CAD/URDF
- Use the same ROS 2 setup on a physical diff-drive robot (TurtleBot, JetBot, custom build)
- Ensure the robot’s hardware drivers expose
/cmd_vel
and/odom
- Reuse your teleop, Nav2, or SLAM nodes without changing control logic
- Compare sim vs. real performance, and tune parameters (wheel radius, odometry noise, frame IDs)
Next in Simulation
Next on Real Robots