AutoAPMS: Lightweight and versatile integration of behavior trees into the ROS 2 ecosystem
- Track: Robotics and Simulation
- Room: UB2.147
- Day: Saturday
- Start: 18:00
- End: 18:25
- Video only: 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, implements a powerful execution engine and offers convenient CLI tooling for deploying behaviors with ease.
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:
- Integrated resource management using
ament_cmakeandament_index - Modular design for multi-package workspaces
- Flexible and highly configurable behavior execution engine
- Powerful C++ behavior tree builder API (a supplement to BehaviorTree.CPP for enabling automated planning)
- Easy addition of custom behavior tree nodes with almost no boilerplate code required
- Support for custom behavior definitions and tree builder algorithms
ros2cliextension for working with the system directly from the command line- User guide and API documentation
Speakers
| Robin Müller |