7.1 Navigation and Simulation
This step-by-step guide will help you install, configure, and simulate Kikobot C1 using NVIDIA Isaac Sim. Whether you’re a beginner or an experienced roboticist, this tutorial will walk you through everything—from setting up your environment to running the simulation and verifying robot movements.
Prerequisites
Before we begin, make sure you have the following:
✔ A system with a compatible NVIDIA GPU (preferably RTX series for best performance)
✔ Ubuntu 20.04 or later (Windows users may need WSL)
✔ Python 3.x installed
✔ ROS 2 (Humble or later) installed and sourced
✔ Basic knowledge of ROS and URDF/Xacro files
Step 1: Install NVIDIA Omniverse and Isaac Sim
- Open your web browser and go to the Omniverse Download Page.
- Download and install NVIDIA Omniverse on your system.
- Launch Omniverse and go to Omniverse Catalog.
- Navigate to Exchangers → Isaac Sim, and download Isaac Sim.
- Follow the on-screen instructions to complete the installation.
Step 2: Convert Xacro File to URDF Format
Most robotic descriptions are stored in Xacro format, but Isaac Sim requires URDF files.
Convert Xacro to URDF
- Open a terminal and navigate to your Kikobot description package:
cd ~/kikobot_description
- Run the following command to generate the URDF file:
xacro kikobot_c1.xacro -o kikobot_c1.urdf
- The kikobot_c1.urdf file is now ready to be imported into Isaac Sim.
Step 3: Import URDF in Isaac Sim
- Launch Isaac Sim from Omniverse.
- In the top menu, navigate to Isaac Utils → Workflows → URDF Importer.
- In the Input section, click Browse, select your kikobot_c1.urdf, and click Import.
- On the right panel (URDF Description), check if the Z-axis transform value is set to 0.
- (Optional) Customize the Import Directory if needed; by default, it is set to Source Only.
Step 4: Improve Visibility with Lighting
By default, the imported robot may appear too dark. To improve visibility:
- Go to Stage (right panel).
- Right-click Stage → Create Light → Dome Light.
- Drag and drop the Dome Light into the Environment section.
Now, the robot should be clearly visible in the simulation.
Step 5: Enable ROS 2 Communication for Simulation
To enable Isaac Sim to communicate with ROS 2, follow these steps:
- In URDF Description (right panel), right-click and select Create Visual Script → Action Graph.
- If the Action Graph section is not visible, enable it:
- Go to Windows (top menu).
- Select Visual Script → Action Graph.
Step 5.1: Add Nodes in Action Graph
-
In the Action Graph (bottom section), click + Add Node.
-
Add the following nodes:
- Isaac Read Simulation Time
- On Playback Tick
- ROS 2 Publish Joint State
- ROS 2 Subscribe Joint State
- Articulation Controller
-
Connect the nodes as follows:
Photo of Connections
Step 5.2: Configure Nodes
-
Articulation Controller:
- In the Input Section, add Target.
- Under URDF, add Root Joint.
-
ROS 2 Publish Joint State:
- Follow the same process as Articulation Controller.
-
ROS 2 Subscribe Joint State:
In the Input Section, set Topic Name to:
joint_states
Step 6: Set Up ROS 2 Workspace and Run the Simulation
- Open a terminal and navigate to your Kikobot Planner workspace:
cd ~/kikobot_ws
- Source the workspace:
source install/setup.bash
- If you made any changes to the workspace, clean and rebuild it:
colcon build
Step 7: Run Kikobot C1 Simulation in Isaac Sim
- In Isaac Sim, click Play (left menu). Open a new terminal window and source the workspace again:
source ~/kikobot_ws/install/setup.bash
- Run the following command to launch the ROS 2 nodes:
ros2 launch urdf_description_v1_description display.launch.py
- Open another terminal and run the Kikobot C1 Studio UI:
python3 ui_files/main.py
- The Kikobot C1 Studio UI should now launch.
Step 8: Test the Robot’s Movements
Jogging Test
- In the Kikobot C1 Studio UI, navigate to the Teaching Section → Jogging Section.
- Set the default values for testing:
- Steps:
100
- Speed:
0.5
- Acceleration:
1
- Steps:
- Click Start to see if the robot responds correctly.
Move End Effector Test
- Navigate to Move End Effectors.
- Increase or decrease values and observe if:
- Kikobot C1 in Isaac Sim follows the movements.
- Simulation and real robot movement are identical.
If both tests pass, your simulation setup is successful! 🎉
Conclusion
By following this guide, you have:
✅ Installed NVIDIA Omniverse and Isaac Sim
✅ Converted Xacro to URDF for Isaac Sim
✅ Imported URDF into Isaac Sim
✅ Enabled ROS 2 communication for real-time simulation
✅ Launched Kikobot C1 Studio UI
✅ Successfully controlled and tested Kikobot C1 in simulation
For detailed tutorial, refer to our Youtube Tutorial Video : Link
This setup ensures that before deploying the actual Kikobot C1 robot, you can test and refine its movements in a virtual environment, saving both time and money. Now, you are ready to take your robotics projects to the next level!