I'm working through the ROS2 Galactic Navigation2 GPS Waypoint Follower tutorial and have encountered a couple of issues that I'm struggling to resolve.

  1. QoS Incompatibility: The GPS plugin (my_gps_plugin) publishes on /gps/fix with BEST_EFFORT reliability. However, the mapviz node subscribes with RELIABLE QoS, leading to incompatibility. I successfully modified the navsat_transform node to subscribe in BEST_EFFORT mode, but I couldn't find a way to adjust this for the mapviz node. I also modified the subscription of /gps/fix to BEST_EFFORT inside the initialize_origin.py script from the swri_transform_util package. Is there a way to configure QoS for mapviz?

  2. Teleop Twist Keyboard Issue: The teleop_twist_keyboard node did not work as expected for ROS2 Galactic. However, using the command line to publish velocity commands to /cmd_vel successfully moved the robot in Gazebo, Mapviz, and Rviz. Teleop_Keyboard not Working for Galactic Video

  3. Interactive Waypoint Follower Script Modification:I encountered a TypeError in the interactive_waypoint_follower.py script, which was resolved by removing the "basic_navigator" argument from the BasicNavigator class instantiation. However, the script functionality to send a destination to the robot using an arrow in Mapviz is not working. After left-clicking on a spot in Mapviz and then clicking over it, the script keeps waiting for the robot_localization/get_state service, which seems to be unavailable:

    [INFO] [1705291020.254290610] [basic_navigator]: robot_localization/get_state service not available, waiting...

Get State Service Issue Video

Additional Information:

  • I've installed SWRI packages from source (ros2-devel branch) and compiled them to adjust the QoS settings.

  • Using binary installations leads to issues with the map-to-robot's base transform, possibly due to the /gps/fix QoS topic incompatibility.

  • I also encountered an order-of-execution issue with the launch files, which I temporarily resolved by launching mapviz.launch.py first, followed by the other launch files.Reorder Launch Files "Partial Solution Video" This workaround was based on a suggestion in this Github Issue.

I would appreciate any guidance on how to resolve these issues, particularly the unavailability of the robot_localization/get_state service and the functionality of the interactive_waypoint_follower.py script.

Is the tutorial fully compatible with ROS2 Galactic?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.