Status
Open
We estimate that the final, edited video will be 10-15 minutes in duration.
Goal: Demonstrate how to control a simulated differential-drive robot in Isaac Sim using ROS 2 and the ros2_control framework
Outline:
- Introduce yourself and the goal of the video/what will viewers learn.
- Controlling a diff-drive robot in simulation via ROS 2 topics, understanding
ros2_control, and monitoring feedback. - Background:
- What is differential drive, and why is it common in mobile robots?
- What is
ros2_controland how are we using it? - What is topic-Based Control, and how are we using it?
2. How do you setup this project?
- Load or import a differential-drive robot model into Isaac Sim.
- Configure wheel joints to respond to velocity commands via
ros2_control. - Enable the ROS 2 bridge for message exchange between Isaac Sim and ROS 2.
- Highlight key files and folders:
- URDF/XACRO robot description
- Launch files
- Controller configuration YAMLs
- Explain where the
ros2_controlinterfaces are defined and how they are integrated into the robot model.
- Implementing Topic-Based Control with
ros2_control - How is the
diff_drive_controllerconfigured in the YAML file? - What topics does the controller use?
- How does Isaac Sim simulate the hardware interface defined in
ros2_control? - How do you launch the controller manager and load the
diff_drive_controller? - What role does the
hardware_interfaceplay in simulation vs. real hardware? - How do you monitor and debug?
- What tools can you use to inspect topic flow (
rqt_graph,ros2 topic echo, Isaac Sim UI)? - How do you visualize odometry and joint states?
- What are common issues with controller setup (e.g., missing joints, incorrect topic names)?
- How do you debug controller errors or misbehavior?
- Recap the video & suggest potential next steps/extensions the viewer can take
- 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_veland/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