Dynamic Reconstruction in Isaac Sim
This tutorial demonstrates how to perform general dynamic reconstruction in nvblox with Isaac Sim.
The algorithm used for nvblox dynamic reconstruction is based on the following paper:
For more about general dynamic reconstruction in nvblox see Technical Details.
Note
Due to a known issue, there is no animation of humans in the scene.
Note
Dynamic reconstruction requires accurate pose estimation. Objects moving slower than the odometry drift can’t be detected as dynamic.
Tutorial Walkthrough
Before continuing this example, you must have successfully completed the Static Reconstruction in Isaac Sim.
Note
This tutorial runs Isaac ROS Visual SLAM
for pose estimation, instead
of using the Isaac Sim poses, because of a known issue in Isaac Sim.
Open the Isaac Sim terminal and export the necessary environment variables as explained in steps 2-3 of the Isaac Sim Setup Guide.
Start the simulation by running the following command in the terminal:
./python.sh ${ISAAC_ROS_WS}/src/isaac_ros_nvblox/nvblox_examples/nvblox_isaac_sim/omniverse_scripts/start_isaac_sim.py --with_people --gpu_physics_enabled --scenario_path=/Isaac/Samples/NvBlox/carter_warehouse_navigation_with_dynamics.usd
Note
For more information on the
start_isaac_sim
script see the README.In another terminal, run the ROS Docker container using the
run_dev.sh
script:cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Inside the container, install
isaac_ros_visual_slam
sudo apt-get install -y ros-humble-isaac-ros-visual-slam
Launch the pre-composed graph launch file:
ros2 launch nvblox_examples_bringup isaac_sim_dynamics_example.launch.py run_vslam:=True global_frame:=odom_vslam
Use the 2D Goal Pose button to navigate the robot around.
Troubleshooting
Refer to the Isaac Sim Issues.