Tutorial for Occupancy Grid Localizer with Isaac Sim



This tutorial describes how to integrate the Isaac ROS Occupancy Grid Localizer with a simulated robot running in Isaac Sim with Nav2.

Tutorial Walkthrough

  1. Complete the quickstart here.

  2. Launch the Docker container using the run_dev.sh script:

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
  3. Install and launch Isaac Sim following the steps in the Isaac ROS Isaac Sim Setup Guide.

  4. 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:

  1. Select /World/Nova_Carter_ROS/ros_lidars/front_2d_lidar_render_product in the Stage pane and set enabled to True (checked).

  2. Press Play to start publishing data from the Isaac Sim.

  3. 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
  4. Open a new terminal using the run_dev.sh script:

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
  5. Trigger the localization service using the command line interface:

    ros2 service call /trigger_grid_search_localization std_srvs/srv/Empty {}
  6. 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 the ros2 service call command.