A highly flexible navigation framework

Move Base Flex
Sebastian Pütz
Osnabrück University
spuetz@uos.de

Jorge Santos Simón
Magazino GmbHsantos@magazino.eu
Magazino GmbH
Landsberger Str. 234
80687 München
T +49-89-21552415-0
F +49-89-21552415-9
info@magazino.eu
www.magazino.eu

Why Move Base Flex?

...because move_base is not FLEX••Magazino GmbH needed smarter navigation
Osnabrück University needed extendable framework

Vs.

The Core Features• Fully backwards-compatible with current ROSnavigation• Actions for the submodules planning, controllingand recovering, and services to query thecostmaps are provided• Comprehensive result and feedback informationon all actions, including error codes andmessages from the loaded plugins• Separation between an abstract navigation
framework and concrete implementations

Move Base Flex ArchitectureMove Base Flex Architecture• Actions for the submodules planning,controlling and recovering• Services to query the costmaps are provided

Move Base Flex Architecture• Actions for the submodules planning,
controlling and recovering• Fully backwards-compatible withcurrent ROS navigation• Services to query the costmaps are provided

Move Base Flex Architecture• The abstract execution classes contain the main execution logic• They are not bound to any map representation• Thereby, the system can easily be used for other approaches

Move Base Flex Architecture•••••

Based on abstract execution classes
The interfaces in the nav core inherit the abstract interfaces
These abstract interfaces provide a richer interface
We extended the nav_core without breaking plugin API
The new abstract interfaces allow plugins to return valuable
information

Move Base Flex Architecture• In our framework, MoveBase is just a particular implementation of anavigation system• However, we provide a SimpleNavigationServer class which does notuse costmaps

Move Base Flex ArchitectureMove Base Flex mbf_2d_nav
global_planner,local_plannerMove Base Flex mbf_simple
mesh_plannerStarting with Move Base Flex
• Old good move_base action and services are
there, but…
• ...now you can use individual components:
escape, query maps…
• Easy start with the SMACH tutorial in the Wiki:
http://wiki.ros.org/move_base_flex/Tutorials• More tutorials comming sonn!
• Try other executives: Scripts, Behavior Trees...

What to do with Move Base Flex•••••••

Check start/goal poses before planning
Replan only if strictly needed
Exploit anytime planners
Use the right recovery behavior for each error
Introspection in the navigation decision-making
Monitor progress and log data...

Move Base Flex at Magazino
Some examples...

• avoid replanning• check start/goal poses• escape from collisionMove Base Flex at Magazino

Future Work•
••••
•
•

First release on October
Grid Map (ETH Zürich, ASL: https://github.com/ethz-asl/grid_map)
Allow multiple planners and controllers
Select applicable plugins at runtime
Add pause/resume interface for the controller
Plans with waypoints… <your ideas here>

A highly flexible navigation framework

Move Base Flex
wiki.ros.org/move_base_flex
github.com/magazino/move_base_flex
Magazino GmbH
Landsberger Str. 234
80687 München
T +49-89-21552415-0
F +49-89-21552415-9
info@magazino.eu
www.magazino.eu

Join the Team – We are hiring!

For more details talk to our colleagues at the ROSconor visit our homepage https://www.magazino.eu/job/
••
•
•
•
•

Robot Deployment Engineer (m/f)
Trainee Robotics - 18 months (m/f)
Software QA and Testing Engineer (m/f)
Al Research Engineer (m/f)
Al Software Architect (m/f)
Cloud DevOps Engineer (m/f)••••

Multi-Robot Coordination Specialist (m/f)
Robot UX and Frontend Developer (m/f)
Robots Application Engineer (m/f)
Senior Navigation Engineer (m/f)•Senior Software Developer (m/f)