Skip to main content

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

  1. Open your web browser and go to the Omniverse Download Page.
  2. Download and install NVIDIA Omniverse on your system.
  3. Launch Omniverse and go to Omniverse Catalog.
  4. Navigate to ExchangersIsaac Sim, and download Isaac Sim.
  5. 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

  1. Open a terminal and navigate to your Kikobot description package:
cd ~/kikobot_description
  1. Run the following command to generate the URDF file:
xacro kikobot_c1.xacro -o kikobot_c1.urdf
  1. The kikobot_c1.urdf file is now ready to be imported into Isaac Sim.

Step 3: Import URDF in Isaac Sim

  1. Launch Isaac Sim from Omniverse.
  2. In the top menu, navigate to Isaac UtilsWorkflowsURDF Importer.
  3. In the Input section, click Browse, select your kikobot_c1.urdf, and click Import.
  4. On the right panel (URDF Description), check if the Z-axis transform value is set to 0.
  5. (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:

  1. Go to Stage (right panel).
  2. Right-click StageCreate LightDome Light.
  3. 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:

  1. In URDF Description (right panel), right-click and select Create Visual ScriptAction Graph.
  2. If the Action Graph section is not visible, enable it:
    • Go to Windows (top menu).
    • Select Visual ScriptAction Graph.

Step 5.1: Add Nodes in Action Graph

  1. In the Action Graph (bottom section), click + Add Node.

  2. Add the following nodes:

    • Isaac Read Simulation Time
    • On Playback Tick
    • ROS 2 Publish Joint State
    • ROS 2 Subscribe Joint State
    • Articulation Controller
  3. Connect the nodes as follows:

Photo of Connections

Step 5.2: Configure Nodes

  1. Articulation Controller:

    • In the Input Section, add Target.
    • Under URDF, add Root Joint.
  2. ROS 2 Publish Joint State:

    • Follow the same process as Articulation Controller.
  3. 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

  1. Open a terminal and navigate to your Kikobot Planner workspace:
cd ~/kikobot_ws
  1. Source the workspace:
source install/setup.bash
  1. If you made any changes to the workspace, clean and rebuild it:
colcon build 

Step 7: Run Kikobot C1 Simulation in Isaac Sim

  1. In Isaac Sim, click Play (left menu). Open a new terminal window and source the workspace again:
source ~/kikobot_ws/install/setup.bash
  1. Run the following command to launch the ROS 2 nodes:
ros2 launch urdf_description_v1_description display.launch.py
  1. Open another terminal and run the Kikobot C1 Studio UI:
python3 ui_files/main.py
  1. The Kikobot C1 Studio UI should now launch.

Step 8: Test the Robot’s Movements

Jogging Test

  1. In the Kikobot C1 Studio UI, navigate to the Teaching SectionJogging Section.
  2. Set the default values for testing:
    • Steps: 100
    • Speed: 0.5
    • Acceleration: 1
  3. Click Start to see if the robot responds correctly.

Move End Effector Test

  1. Navigate to Move End Effectors.
  2. 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!