Nvblox Obstacle Avoidance#
Collision-aware planning with Isaac cuMotion against a live Nvblox depth
reconstruction. See Example Applications for the shared manipulator setup. All
commands run through mros.
Simulation#
Open the Isaac Sim scene:
~/workspaces/movensys-simulation/<MANIPULATOR_MODEL>/5a_obstacle_avoidance_simulation.usdRun the simulator bridge:
mros ros2 launch movensys_manipulator_moveit_config sim_bridge.launch.py \ simulator:=isaacsim use_sim_time:=true
Launch cuMotion + Nvblox:
mros ros2 launch movensys_manipulator_isaac_ros_config isaac_cumotion_nvblox.launch.py use_sim_time:=true
Run obstacle avoidance:
mros ros2 launch movensys_manipulator_moveit_config obstacle_avoidance.launch.py use_sim_time:=true
(optional) Tune the Nvblox camera transform:
mros ros2 launch movensys_manipulator_perception camera_transform_tuning.launch.py use_sim_time:=true \ parent_frame:=world_manipulator child_frame:=camera_nvblox_color_optical_frame
HIL#
Open the Isaac Sim scene:
~/workspaces/movensys-simulation/<MANIPULATOR_MODEL>/5b_obstacle_avoidance_hil.usdStart WMX ROS2 for the manipulator (real WMX runtime) with
use_sim_time:=true.Launch cuMotion + Nvblox:
mros ros2 launch movensys_manipulator_isaac_ros_config isaac_cumotion_nvblox.launch.py use_sim_time:=true
Run obstacle avoidance:
mros ros2 launch movensys_manipulator_moveit_config obstacle_avoidance.launch.py use_sim_time:=true
(optional) Tune the Nvblox camera transform (same command as Simulation step 5).
Real#
Open the Isaac Sim scene:
~/workspaces/movensys-simulation/<MANIPULATOR_MODEL>/5c_obstacle_avoidance_real.usdStart WMX ROS2 for the manipulator on the robot (no
use_sim_time).Launch cuMotion + Nvblox:
mros ros2 launch movensys_manipulator_isaac_ros_config isaac_cumotion_nvblox.launch.py
Run obstacle avoidance:
mros ros2 launch movensys_manipulator_moveit_config obstacle_avoidance.launch.py
(optional) Tune the Nvblox camera transform (note the real-hardware frame):
mros ros2 launch movensys_manipulator_perception camera_transform_tuning.launch.py \ parent_frame:=world_manipulator child_frame:=camera_nvblox_link