[Nav2] Introducing the new selector RViz plugin

Hello Everyone,

From the Nav2 clan, lead by the our friendly neighborhood navigator @smac, we have yet another nice RViz plugin that a community can benefit of.

As a developer at Neobotix, I can tell that, we regularly tune navigation parameters of our mobile robots to adapt to different use-case scenarios. These scenarios might include challenging workspaces, customized robot designs, and so on. During the prototyping stage, whether it’s developing new planners or deploying the robot for a specific application, we as developers want to try out different sets of parameters for a planner. As integrators, we may want to experiment with different combinations of planners and controllers. Currently, the easiest way to change the components(controllers, planners and so on…) is to use various selector topics and publish the desired IDs .

To make the selection even simpler for the user, we in the Navigation Working Group came up with the idea of deploying an RViz plugin that lets the users to select different components such as planners, controllers, smoothers, goal and progress checkers directly from RViz on the fly. To do this, users must configure the components with different sets of parameters pointing to different IDs and consequently update their existing behavior trees with all the necessary selector nodes.


Robot used for the demo Neobotix MPO-700. Link to the Neobotix simulation package can be found here.

In the GIF, it can be seen that there are two controller_ids namely, FollowPath and HighSpeedFollowPath. By default, the one defined in the Behavior tree is utilized.

In this case, the FollowPath is the default controller_id. The difference between the two controller_ids is that HighSpeedFollowPath has a higher max velocity compared to the FollowPath. This difference can be well noted in the GIF. If a server is unavailable, then the combo box or the drop down list of the particular component will be empty.

Please note that, this is a feature planned to be rolled out for Jazzy. Of course, if you’d like to try it right away the rolling binaries are always up for grab.

Happy Selecting Folks!