|
Package Summary
Tags | No category tags. |
Version | 1.1.2 |
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 | 2024-12-05 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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 Land at current position with given speed. 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**. ![land_bt.png](docs/imgs/land_bt.png) | Port | In / Out | Description | | --- | --- | --- | | speed | In | Land speed in meters per second. | #### Offboard Set offboard mode. 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**. ![offboard_bt.png](docs/imgs/offboard_bt.png) | Port | In / Out | Description | | --- | --- | --- | | service_name | In | Service name which will be called. | #### SendEvent Send event by topic. Always returns **SUCCESS** after sending the event. ![sendevent_bt.png](docs/imgs/sendevent_bt.png) | Port | In / Out | Description | | --- | --- | --- | | data | In | Data to send (string). | | topic_name | In | Topic name where data will be sent. | #### Takeoff Takeoff at current position with given height and speed. 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**. ![takeoff_bt.png](docs/imgs/takeoff_bt.png) | Port | In / Out | Description | | --- | --- | --- | | height | In | Takeoff height in meters. | | speed | In | Takeoff speed in meters per second. |
Condition
Show Conditions
#### IsFlying Returns wheter the drone is flying or not. Returns **SUCCESS** is drone state is flying, otherwise returns **FAILURE**. ![isflying_bt.png](docs/imgs/isflying_bt.png)
Control
-
Decorator
Show Decorators
#### WaitForEvent Listens for event received in topic and outputs event msg content. Returns **SUCCESS** on first event received, until that returns **RUNNING**. ![waitforevent_bt.png](docs/imgs/waitforevent_bt.png) | Port | In / Out | Description | | --- | --- | --- | | topic_name | In | Topic name where event will be published. | | result | Out | Content of event msg. |
How to create new nodes?
Three steps:
CHANGELOG
Changelog for package as2_behavior_tree
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
Wiki Tutorials
This package does not provide any links to tutorials in it's rosindex metadata.
You can check on the ROS Wiki Tutorials page for the package.
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ament_cmake_gtest | |
behaviortree_cpp_v3 | |
nav2_behavior_tree | |
nav2_msgs | |
rclcpp | |
rclcpp_action | |
as2_core | |
as2_msgs | |
std_srvs | |
geometry_msgs | |
sensor_msgs |
System Dependencies
No direct system dependencies.
Dependant Packages
Name | Deps |
---|---|
aerostack2 |
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
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.