No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~
No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/AutoAPMS/auto-apms.git
VCS Type git
VCS Version master
Last Updated 2026-01-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

Automated Action Planning and Management System

![Docs](https://img.shields.io/website?url=https%3A%2F%2Fautoapms.github.io%2Fauto-apms-guide&label=🎓Documentation) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/AutoAPMS/auto-apms) ![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14790307.svg) ![Release](https://img.shields.io/github/v/release/autoapms/auto-apms?label=Release) | ROS 2 | Build & Test | |:------------------:|:------:| | Jazzy Jalisco | [![Jazzy](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/jazzy.yaml) | | Kilted Kaiju | [![Kilted](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/kilted.yaml) | | Rolling Ridley | [![Rolling](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml/badge.svg?branch=master)](https://github.com/autoapms/auto-apms/actions/workflows/rolling.yaml) |

⚙️ AutoAPMS - Streamlining Behaviors in ROS 2

auto-apms-gif

Start leveraging the advantages of Behavior Trees 🌳 fully integrated with ROS 2 🤖

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.

[!NOTE] Currently we support Linux only!.

✨ Design & Highlights

This project adopts the behavior tree implementation provided by BehaviorTree.CPP and embeds it into the ROS 2 ecosystem so that developers have a much easier time writing custom behaviors and distributing them among robots.

Here are some of the most prominent features offered by this repository:

  • Convenient resource management using ament_cmake and ament_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 behavior command extending the ROS2 CLI for behavior management

  • Abstractions for PX4 Autopilot available with auto-apms-px4

  • Comprehensive user guide and API documentation

🚀 Getting Started

The following installation guide helps you getting started with AutoAPMS.

  1. Create a ROS 2 workspace and clone this repository
    mkdir ros2_ws && cd ros2_ws
    (mkdir src && cd src && git clone https://github.com/autoapms/auto-apms.git)
    
  1. Install all required dependencies. We assume that you already installed ROS 2 on your system
    rosdep init  # Skip this if rosdep has already been initialized
    rosdep update
    rosdep install --from-paths src --ignore-src -y
    
  1. Build and install all packages required for auto_apms_examples
    colcon build --packages-up-to auto_apms_examples --symlink-install
    
  1. Run your first behavior using ros2 behavior. This is an extension of the ROS 2 CLI introduced by the auto_apms_ros2behavior package
    source install/setup.bash
    ros2 behavior run auto_apms_examples::demo::HelloWorld --blackboard name:=Turtle
    

Check out the demo using pyrobosim

We provide a guide for running a cool visual demonstration on complex behaviors created with AutoAPMS in the auto_apms_simulation repository. The simulation shows multiple “robots” moving in a magical hall adjusting their behavior dynamically according to the following policy: Approach the goal as long as the hallway is not occupied - if it is, retreat. Piertotum Locomotor!

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~