Skip to content

Commit 4e7169a

Browse files
authored
Merge pull request #70 from aerostack2/behaviors
Update behaviors section
2 parents 6bdf21d + fcc1195 commit 4e7169a

File tree

6 files changed

+41
-10
lines changed

6 files changed

+41
-10
lines changed

docs/_01_aerostack2_concepts/architecture/index.rst

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,15 @@ Aerostack2 includes a set of software components that implement specialized algo
5050
Behaviors
5151
---------
5252

53-
This level includes a set of components corresponding to different robot behaviors provided by Aerostack for autonomous operation.
54-
Each component encapsulates the algorithms used to implement a particular behavior (e.g., take off, hover, generate trajectory, etc.) together with mechanisms for execution monitoring to facilitate the specification of mission plans.
55-
Each behavior has a uniform interface that is common for all behaviors to facilitate its use.
53+
Aerostack2 uses a specialized type of component, called behavior, that implements functional robotic abilities such as motion control, motion planning, or perception processing.
54+
Behaviors provide a logical layer to formulate mission plans.
55+
Using behaviors, a mission plan is expressed as a controlled sequence of activations (or deactivations) of multiple behaviors that may operate concurrently.
56+
Each behavior activation initiates the execution of a particular task described with certain parameters (e.g., following a particular path described with a list of waypoints).
57+
Compared to directly use of state estimators and actuator controllers, behaviors provide a simple and uniform method to define missions.
58+
59+
Each behavior component corresponds to a specific robot skill allowing self-supervised and streamlined execution of tasks.
60+
Depending on the ability addressed by the behavior, it can correspond to motion control, e.g. taking off or hovering, to motion planning, e.g. trajectory generation,
61+
or perception processing, e.g. video recording or gimbal control.
5662

5763

5864

Loading

docs/_01_aerostack2_concepts/behaviors/index.rst

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,31 @@
44
Behaviors
55
=========
66

7-
TDB
7+
Aerostack2 uses a specialized type of component, called behavior, that implements functional robotic abilities such as motion control, motion planning, or perception processing.
8+
Behaviors provide a logical layer to formulate mission plans.
9+
Using behaviors, a mission plan is expressed as a controlled sequence of activations (or deactivations) of multiple behaviors that may operate concurrently.
10+
Each behavior activation initiates the execution of a particular task described with certain parameters (e.g., following a particular path described with a list of waypoints).
11+
Compared to directly use of state estimators and actuator controllers, behaviors provide a simple and uniform method to define missions.
812

9-
* Motion behaviors
10-
* Perception behaviors
11-
* Trajectory generation behaviors
13+
Each behavior component encapsulates the implementation of the algorithms used to execute the task, providing a common interface for all behaviors.
14+
Therefore, the behavior implementation encapsulates how a specific task is accomplished, e.g. a landing maneuver can be done by descending until touching the ground, or using vision for centering the drone in a landing spot.
15+
In both cases, the system calls the landing behavior using an identical interface regardless of the implementation details are.
16+
17+
This common interface is used to control the execution of the behavior.
18+
Aerostack2 behaviors extend ROS2 actions with some ROS2 services.
19+
The main difference is the ability to pause, resume and modify the running goal, while standard ROS2 actions can only be activated and cancelled.
20+
The interface also informs about the execution of the behavior with two separate outputs: the execution state of the behavior (e.g., idle, running, or paused), and a periodic feedback.
21+
The feedback provides information about the progress of the behavior execution, e.g., the current position of the drone while following a path.
22+
23+
.. figure:: images/robot_behaviors.png
24+
:scale: 70
25+
:class: with-shadow
26+
27+
Aerostack2 behaviors
28+
29+
30+
.. warning:: Do not mix up aerostack2 behaviors with behavior trees. Behaviors can be used with and without behavior trees. The BT is the "task planner" while the behavior system is the "executor". You can replace BT with other planners available in Aerostack2. ``as2_behavior_trees`` package contains BT NodeTrees wrappers to activate Aerostack2 behaviors. are used to specify the mission plan, while the behaviors are the components that implement the tasks of the mission plan.
31+
32+
The catalog of behaviors can be checked in the following section :ref:`behaviors`.
33+
34+
Finally, how to add your custom new behavior can be found in the :ref:`development_tutorials_behavior` section.

docs/_01_aerostack2_concepts/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ deploy aerial robotics systems so the user can familiarize with them.
1414
aerial_platforms/index.rst
1515
motion_controller/index.rst
1616
state_estimator/index.rst
17+
behaviors/index.rst
1718

docs/_04_robot_behaviors/index.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
Robot Behaviors
55
===============
66

7-
In this section, we give a list of behaviors that has been implemented in Aerostack2.
8-
For more information about what a behavior is, please refer to the :ref:`as2_concepts_behaviors` section, and how work on Aerostack2 architecture in the :ref:`as2_concepts_architecture_behaviors` section.
7+
This catalog shows the list of behaviors according to the tasks that they perform.
8+
9+
.. note:: For more information about what a behavior is, please refer to the :ref:`as2_concepts_behaviors` section, or how they interact with other Aerostack2 components at :ref:`_as2_concepts_architecture` section.
910

1011
.. TDB: Reference msgs in parameters column to as2_msgs section.
1112
.. TDB: Add description to request, result and feedback msgs.

docs/_09_development/_tutorials/_tutorials/behavior.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.. _development_tutorials_behavior:
22

33
======================
4-
Writing a New Bheavior
4+
Writing a New Behavior
55
======================
66

77
.. contents:: Table of Contents

0 commit comments

Comments
 (0)