ποΈ Environmental Annotations#
Environmental Annotation is a new concept introduced in the PAL Robotics Navigation Stack for ROS 2 to group all those functionalities related to the creation and management of Environmental Metadata. It is used to model a real or artificial feature of the environment that can be relevant to the robotβs navigation.
Environmental Annotations that can be created and managed are:
ποΈ Buildings
π Floors
β Anchors
πΊοΈ Maps
π£οΈ Lanes
π· Zones
π© Waypoints
π Waypoint Lists
To provide an accurate representation of the world, Environmental Annotations are organized in a tree
structure where each element can Belong To another element or can Use another element.
The root of the tree is the Building
which works as a Container for all the other Environmental Metadata.
The purpose of this tool is NOT to use these Environmental Annotations to implement any robotβs behaviors but to
provide a structured way to represent the environment that other applications can use to independently implement
new logics and behaviors for the robot. (e.g. Zones
and Lanes
are used in π Costmap Filters, Waypoints
are used in π© Waypoint Navigation, etc.).
For this reason, this tool offers several, different interfaces that other applications can use to interact with the
Environmental Metadata to create new annotations, modify existing ones, or retrieve information about them.
Also, it is in charge of persisting these annotations and their relationships in a database.
One of the interfaces provided is through the ROS 2 TF2 Library.
This interface reproduces the same hierarchical tree structure of Environmental Metadata assigning a Static Reference
Frame to each Environmental Metadata element. This way, any application can use the /tf_static
topic to retrieve
the transformation between any two elements of the tree and to retrieve the position of the robot relative to any
element of the tree. (e.g. on which Floor
is the robot, where are the Waypoints
on this Floor
, etc.).
Note
Environmental Annotations that are composed of multiple vertexes (e.g. Lanes
, Zones
) have a Static
Reference Frame associated with each vertex.
Another interface is through ROS 2 Services that allow other applications to Create, Read, Update, Delete, List, Activate, Deactivate, Enable and Disable any Environmental Metadata element.
Finally, the last interface is through RViz Interactive Markers that provides a nice and intuitive GUI to create and modify the Environmental Metadata.
Attention
When using RViz Interactive Markers to modify Environmental Annotations, remember to always set the Fixed Frame
to the name of the current Building
you are working on (The parent TF frame of all the others).
Applications#
With such a tool for creating and managing Environmental Metadata, different applications can be developed to implement advanced functionalities for the robot. Some examples are:
π Costmap Filters: Uses
Zones
andLanes
to mark certain areas of the environment as Restricted or Preferred or with a Limited Velocity, and so on.
π© Waypoint Navigation: Uses the
Waypoints
to define a list of points in the environment that the robot has to visit in a specific order.
Multi-Floor Navigation: Uses the
Floors
and theAnchors
to navigate the robot through different floors.Multi-Map Navigation: Uses different
Maps
connected by differentAnchors
to navigate the robot through different maps.
See also#
To continue learning about the available Environmental Annotations, how to use and configure them, check the following sections: