ROS2 Navigation - Input requested

We have been using parts of the nav stack for quite some while now, however, we were using our own state machines instead of the default move_base one. Recently we switched to https://github.com/magazino/move_base_flex so we could implement our own high level logic and switch planners on run time, e.g. docking planner, wall following planner, line following planner, default dwa_planner. But I think the best thing of move base flex is the action interface. This also allows users to implement planners in python that are not dependent on the costmap_2d representation. We have been using https://networkx.github.io/ for example to draw graphs with rviz and plan routes along this graph and follow these paths with a line follower using LQR or simple PD controllers. I am also involved in the Robocup@Home competition, here we often have to various areas instead of poses. Therefore, we expressed our goals with goal constraints instead of poses ( https://github.com/tue-robotics/cb_base_navigation ). This allowed for sending goals like: ‘In front of the table’ or ‘close to the sofa’ or ‘in the living room’. Long story … to sum up, our wish list:

  • More rich goal definition (volumes or constraints) on geometric level
  • Action interface for planners / controllers and recovery on geometric level that is independent of planning representation (enables implementing planners / controllers in other languages + own world models + custom top level behavior)
  • Action definition for topological planning that relates to geometric plans / goals
  • Playground package with simple simulator that provides an overview of the various planners and controller combination that people can try.
4 Likes