AutoAPMS: Lightweight and versatile integration of behavior trees into the ROS 2 ecosystem
- Track: Robotics and Simulation
- Room: UB2.147
- Day: Saturday
- Start (UTC+1): 18:00
- End (UTC+1): 18:25
- Room livestream: ub2147
- Chat: Join the conversation!
AutoAPMS is a heavily extensible development framework for behavior-based ROS 2 applications. It provides a highly modular integration of behavior trees. In this talk, I'm explaining the core concepts while walking through the development workflow using an applied example. This should give you a good idea of whether AutoAPMS is for you or not.
The intention of this project is to make it significantly more user-friendly and less error prone to develop autonomous robotics with behavior trees. The core packages are written in C++ and a supplementary Python API exposes high-level features for scripting.
The framework relies on the popular BehaviorTree.CPP library under the hood and offers a Nav2-agnostic approach for using it within the ROS 2 ecosystem. It was inspired by BehaviorTree.ROS2 and can be considered a spiritual successor. AutoAPMS took the core ideas of the behavior tree paradigm and supercharged it with the following features:
- Convenient resource management using
ament_cmakeandament_index - Inherently extensible due to plugin-based design
- Flexible and highly configurable behavior execution engine
- Powerful C++ behavior tree builder API (a supplement to BehaviorTree.CPP)
- High-level node manifests for registering node plugins without writing a single line of code
- Support for custom behavior definitions and tree builder algorithms
ros2 behaviorcommand extending the ROS 2 CLI
Speakers
| Robin Müller |