Using ROS Navigation Stack with Isaac Flatsim

Hi everyone,

I am relatively new to Isaac.

For the past few weeks I have been trying to run the ROS navigation stack to make a MiR robot navigate in Flatsim:

I have been following the tutorial to make the TurtleBot 3 Waffle Pi navigate successfully using Flatsim and ROS Bridge.
I found the MiR urdf files, and the ROS driver from github.

To run the turtlebot, one needs to run these two commands:

  • ~/isaac/sdk$ TURTLEBOT3_MODEL=waffle_pi roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$(realpath packages/ros_bridge/maps/small_warehouse.yaml)

  • ~/isaac/sdk$ bazel run packages/ros_bridge/apps:ros_to_navigation_flatsim -- --more apps/assets/maps/virtual_small_warehouse.json --config ros_navigation:packages/ros_bridge/maps/small_warehouse_map_transformation.config.json,ros_navigation:packages/ros_bridge/apps/ros_to_navigation_turtlebot3_waffle_pi.config.json

In order to run the MiR robot instead of the Turtlebot, I have modified the first command to launch the MiR navigation instead. Also note that I have modified the MiR launch files accordingly based on the existing Turtlebot files (the changes to the original MiR driver can be found here).

Using this modified driver, I am now running these two commands:

  • ~/isaac/sdk$ roslaunch mir_navigation start_planner.launch map_file:=$(realpath packages/ros_bridge/maps/small_warehouse.yaml)

  • ~/isaac/sdk$ bazel run packages/ros_bridge/apps:ros_to_navigation_flatsim -- --more apps/assets/maps/virtual_small_warehouse.json --config ros_navigation:packages/ros_bridge/maps/small_warehouse_map_transformation.config.json,ros_navigation:packages/ros_bridge/apps/ros_to_navigation_turtlebot3_waffle_pi.config.json

I have not modified the second command, since I did not find any robot specific details in package packages/ros_bridge/apps:ros_to_navigation_flatsim.

All in all, I am not able to correctly load both the map and robot model simultaneously. I can load each of them independently by setting the Fixed Frame to either map or base_footprint. The Isaac Sight is not synchronized with Rviz. I can set the goal in different positions in Sight but the robot does not move. The robot is also spawned in different places in both Sight and Rviz.

My question is: Is it possible to run the ROS navigation stack with Flatsim on a custom robot that is not Turtlebot - as the tutorial explains? If so, has anyone tried this, and how can this be achieved?

*** ADDITIONAL INFO***

This is the rqt graph for MiR with Rviz and Gazebo:

This is the rqt graph for Turtlebot with Rviz and Flatsim:

This is the rqt graph for the current implementation:

Thank you for your help!