ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

[NAV2] MaxL Controller Plugin Release

We have released the plugin of MaxL controller for Nav2. Its a motion primitive based controller. You can find the instructions on using it on this link.

Here is a GIF of its simulation on Rosbot ( ROS1) with velodyne.

In ROS1 (with Mowito’s navigation stack), we have tested it on ROSbot, Turtlebot3 and 3 other custom robots. In ROS2, we have tested it on a simulation of Turtlebot.

We are currently working on benchmarking the time it takes for calculating the velocities. We will update the documentation based on your feedback.


  1. It directly subscribes to LiDAR scan and has an internal local costmap. Therefore even when the localization fails, or costmap is not updated, the robot will not hit the obstacle.

Current limitations:

  1. Only available for differential drive ( not reverse motion)
  2. The binaries are only available for Ros2 Foxy and amd64 arch. In a couple of days, we will release it for arm64 arch too.

If you want to try it out on ROS1 (melodic, noetic), you can find the instructions here

Please try it out, and most importantly please give us your valuable feedback.

Merry Christmas!

Can you explain how your plugin’s internal costmap is different from the ordinary one that uniquely doesn’t cause problems if localization fails?

The is kind of the role of the odometry frame and the local costmap based on it. If there’s some improvement you’ve made to this process, that might be good to share.


Sure! I will explain it the documentation page and update here.

Meanwhile, this is a duplicate post, created by mistake. Please refer to this link for the original post and future discussion