Package Summary

Tags No category tags.
Version 1.1.3
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/aerostack2/aerostack2.git
VCS Type git
VCS Version main
Last Updated 2025-07-23
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

AS2 behavior trees

Additional Links

No additional links.

Maintainers

  • CVAR-UPM

Authors

No additional authors.

as2_behavior_tree

This module is used to implement a ROS2 node that executes navigation Behavior Trees for navigation of drone systems. The behavior_trees module uses the Behavior-Tree.CPP library for the core Behavior Tree processing.

The behavior_trees module provides navigation-specific behavior tree nodes and a ROS2 node implementation and launchers. It uses nav2_behavior_tree C++ template class for easily integrating ROS2 actions and services into Behavior Trees,

Index

Installation

Dependencies:

sudo apt-get install ros-$ROS_DISTRO-behaviortree-cpp-v3
sudo apt-get install ros-$ROS_DISTRO-nav2-msgs
sudo apt-get install ros-$ROS_DISTRO-nav2-behavior-tree

You may also want to install Groot to build your own trees.

AeroStack2 BT Nodes

AeroStack2 offers a pull of predefined behavior nodes to build your own Behavior Tree.

Action

Show Actions
#### Arm Arms the drone. Input port is not intended to use by the user, but used because `nav2_behavior_tree` service action node implementation. Returns **SUCCESS** if service result is true. Otherwise, returns **FAILURE**. ![arm_bt.png](docs/imgs/arm_bt.png) | Port | In / Out | Description | | --- | --- | --- | | service_name | In | Service name which will be called. | #### Disarm Disarms the drone. Input port is not intended to use by the user, but used because `nav2_behavior_tree` service action node implementation. Returns **SUCCESS** if service result is true. Otherwise, returns **FAILURE**. ![disarm_bt.png](docs/imgs/disarm_bt.png) | Port | In / Out | Description | | --- | --- | --- | | service_name | In | Service name which will be called. | #### Echo Prints data getted by input port. Used for debugging purpouses. Always returns **SUCCESS** after echoing. ![echo_bt.png](docs/imgs/echo_bt.png) | Port | In / Out | Description | | --- | --- | --- | | data | In | String to be echoed. | #### FollowPath **TBD** #### GoTo Go to specified position with given maximum speed and yaw. Returns **SUCCESS** if action finishes successfully or cancelled. Returns **FAILURE** if action is aborted, goal is rejected or action server fails. While action is executing returns **RUNNING**. ![goto_bt.png](docs/imgs/goto_bt.png) | Port | In / Out | Description | | --- | --- | --- | | max_speed | In | Maximum speed in meters per second. | | pose | In | Goal pose in meters (e.g. `x;y;z`). | | yaw_angle | In | Yaw angle in radians. | | yaw_mode | In | Yaw mode (KEEP_YAW = 0; PATH_FACING = 1; FIXED_YAW = 2). | #### GoTo GPS Go to specified GPS position with given maximum speed and yaw. Returns **SUCCESS** if action finishes successfully or cancelled. Returns **FAILURE** if action is aborted, goal is rejected or action server fails. While action is executing returns **RUNNING**. ![goto_bt.png](docs/imgs/goto_gps_bt.png) | Port | In / Out | Description | | --- | --- | --- | | alittude | In | Altitude in meters. | | latitude | In | Latitude in degrees. | | longitude | In | Longitude in degrees. | | max_speed | In | Maximum speed in meters per second. | | yaw_angle | In | Yaw angle in radians. | | yaw_mode | In | Yaw mode (KEEP_YAW = 0; PATH_FACING = 1; FIXED_YAW = 2). | #### Land File truncated at 100 lines [see the full file](https://github.com/aerostack2/aerostack2/tree/main/as2_behavior_tree/README.md)
CHANGELOG

Changelog for package as2_behavior_tree

1.1.3 (2025-07-23)

  • [as2_behavior_tree] Add wait_for_service_timeout parameter
  • Contributors: luccagandra

1.1.2 (2024-08-22)

1.1.1 (2024-08-20)

1.1.0 (2024-08-08)

  • [as2_behavior_tree] Use ament_lint
  • Contributors: Miguel Fernandez-Cortizas, Rafael Perez-Segui, pariaspe

1.0.9 (2024-03-25)

1.0.8 (2024-02-12)

1.0.7 (2024-02-04)

  • [refactor] format tests according with ament_lint_common() packages
  • fix build warning
  • Contributors: pariaspe

1.0.6 (2023-12-12)

  • Takeoff and GoTo behavior renaming
  • Contributors: Miguel Fernandez-Cortizas, pariaspe

1.0.5 (2023-11-08)

1.0.4 (2023-08-23)

1.0.3 (2023-08-22)

1.0.2 (2023-08-17)

  • Merge pull request #292 from aerostack2/issue-289 Delete install_bt_dependencies.bash
  • Delete install_bt_dependencies.bash Closes #289
  • Merge pull request #235 from aerostack2/234-goto-bt-action-missing-frame [as2_behavior_tree] GoTo Bt action missing frame
  • adding short sleep after takeoff
  • adding earth frame
  • Contributors: Javilinos, Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, pariaspe

1.0.1 (2023-04-25)

  • Merge pull request #223 from aerostack2/200-unify-maintainer-in-packagexmls Maintainer unified to CVAR-UPM
  • Maintainer unified to CVAR-UPM
  • Merge pull request #198 from aerostack2/197-as2_core-change-behaviour-to-behavior 197 as2 core change behaviour to behavior
  • Change behaviour to behavior
  • Contributors: Miguel Fernandez-Cortizas, RPS98, pariaspe

1.0.0 (2023-03-18)

0.2.2 (2022-12-20)

0.2.1 (2022-12-19)

  • Merge pull request #77 from aerostack2/76-as2_behavior_tree-wrong-target-link-libraries [as2_behavior_tree] Removed old linking lib
  • removed old linking lib
  • Merge pull request #39 from aerostack2/37-as2_behavior_trees-documentation [as2_behavior_trees] Documentation improved
  • added index, details dropbox and missing nodes
  • Merge pull request #33 from aerostack2/behavior_tree Update behavior tree
  • Update behavior tree
  • px4 extended and ci actions
  • user interfaces added
  • Contributors: Miguel Fernandez-Cortizas, RPS98, Rafael Pérez, miferco97, pariaspe

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged as2_behavior_tree at Robotics Stack Exchange