15. Visual Inertial Odometry with Quadruped¶
15.1. Learning Objectives¶
This tutorial demonstrates integrating Omniverse Isaac Sim with the VINS-Fusion, one of the most popular open source VIOs (Visual-Inertial-Odometry). We use the Unitree A1 Quadruped robot from the Quadruped extension to generate sensor data.
15.2. Getting Started¶
This tutorial requires
isaac_vinsROS package provided under the directory
ros_workspace/. It contains the required launch and config files to run VINS-Fusion with correct sensor configuration.
Complete ROS & ROS 2 Installation, make sure ROS environment is setup correctly and the aforementioned packages are inside your
Explore the ROS Bridge in Standalone Workflow to understand the ROS standalone workflow
roscoreis running before running Omniverse Isaac Sim.
15.3. Run Visual Inertial Odometry with Quadruped A1¶
In a new terminal, run isaac sim
cd ~/.local/share/ov/pkg/isaac_sim-2022.1.1 ./python.sh standalone_examples/api/omni.isaac.quadruped/a1_vision_ros1_standalone.py
Make sure Isaac Sim publishes sensor data by checking rostopc list.
Configure isaac_vins package settings by going to
ros_workspace/src/isaac_vins/config/isaac_a1/vins_fusion_isaac_a1.yaml, and select the desired number of imu and cameras. For slower computers, it is recommended to only use stereo camera odometry by setting
In a new terminal with your ROS environment sourced, run:
roslaunch isaac_vins isaac_a1_vins.launch
In this tutorial, we run VINS-Fusion with an A1 quadruped robot simulated in Omniverse Isaac Sim.
15.4.1. Further Reading¶
To learn more about VINS-Fusion, read paper VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator.