Tutorial for Occupancy Grid Localizer with Isaac Sim
Overview
This tutorial describes how to integrate the Isaac ROS Occupancy Grid Localizer with a simulated robot running in Isaac Sim with Nav2.
Tutorial Walkthrough
Complete the quickstart here.
Launch the Docker container using the
run_dev.sh
script:cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Install and launch Isaac Sim following the steps in the Isaac ROS Isaac Sim Setup Guide.
Select
/World/Nova_Carter_ROS/ros_lidars/publish_front_2d_lidar_scan
in the Stage pane and change the topic name for front 2D lidar as follows:
Select
/World/Nova_Carter_ROS/ros_lidars/front_2d_lidar_render_product
in the Stage pane and setenabled
to True (checked).Press Play to start publishing data from the Isaac Sim.
Run the launch file and validate that a Nav2 window pops up.
ros2 launch isaac_ros_occupancy_grid_localizer isaac_ros_occupancy_grid_localizer_nav2.launch.py
Open a new terminal using the
run_dev.sh
script:cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Trigger the localization service using the command line interface:
ros2 service call /trigger_grid_search_localization std_srvs/srv/Empty {}
You should see the laser scan in RViz. This happens when the transform between map and front_2d_lidar frame is available. The robot is now localized. You can give a position setpoint using the
2D Nav Goal
button as shown below. You can relocalize again at any point by running theros2 service call
command.