Event

Event
17:00
-
17:25
Day 1
AutoAPMS: Lightweight and versatile integration of behavior trees into the ROS 2 ecosystem
UB2.147
English
<p><a href="https://github.com/autoapms/auto-apms">AutoAPMS</a> 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.</p> <p>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.</p> <p>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:</p> <ul> <li>Convenient resource management using <code>ament_cmake</code> and <code>ament_index</code></li> <li>Inherently extensible due to plugin-based design</li> <li>Flexible and highly configurable behavior execution engine</li> <li>Powerful C++ behavior tree builder API (a supplement to BehaviorTree.CPP)</li> <li>High-level node manifests for registering node plugins without writing a single line of code</li> <li>Support for custom behavior definitions and tree builder algorithms</li> <li><code>ros2 behavior</code> command extending the ROS 2 CLI</li> </ul>