Glossary#
- Action#
Action is a general term, and might refer to different concept depending on the context. In this documentation, it might either refer to a ROS action (ie, a low-level asynchronous communication mechanism between ROS node) or a chatbot action, triggered in response to a verbal command (see chatbot-actions).
- Activity#
See Task
- ament#
ament
is the ROS 2 build system, based onCMake
.- Anchor#
An Anchor is an environmental metadata that represents any real or virtual feature of the environment that can be used to link multiple Floors in the same Building (see building anchor) or multiple Maps in the same Floor (see floor anchor).
- Application#
An application is what creates and manage the behaviour robot. Only one application can be running at a given time. It includes at least a mission controller, and possibly many additional software components, depending on its needs.
See also: Structure of a robot application
- Application Manager#
The application manager is a system node in charge of starting and stopping applications, based on high-level rules or conditions (like the time of the day, the context of useā¦).
See also: Application manager
- Application package#
Applications can be easily deployed on PAL robots and shared with other users once they have been saved as an application package (extension:
.rpk
, for robot package). Learn more about packaging and robot deployment.- asr#
asr stands for automatic speech recognition (also sometimes called speech-to-text): the process of converting speech (recorded by the robotās microphone) into written text.
See also: asr_howto
- Bag#
A bag file is an archive of ROS messages. Bag files are created by recording ROS messages (like images, speech, joint commandsā¦) published on specific topics. They can then by replayed or analysed. Bag files are commonly used for debugging purpose or post-hoc data analysis. See the ROS Bags documentation for details.
See also: data-management
- Behavior Tree#
A Behavior Tree in robotics is a hierarchical control structure used to model complex behaviors of autonomous systems. It organizes actions, conditions and decisions in a tree-like format, allowing robots to perform tasks by evaluating nodes from top to bottom. Each node represents a behavior or condition, facilitating modular, reusable and easily understandable robot behavior design. See Behavior Tree for details.
- BT#
See behavior tree
- Building#
A Building is an environmental metadata that models an actual physical structure in which the robot can navigate. It works as a container for other Environmental Metadata and, for example, a Building can contain various floors connected by one or more anchors.
- Building Anchor#
See anchor
- Capability#
See skill
- Costmap#
A Costmap is a grid-based representation of the environment that assigns a cost value to each cell, indicating the desirability or risk of traversing that area. These costs are derived from factors such as the presence of obstacles, terrain difficulty and proximity to hazards. Costmaps are used in path planning and navigation to help robots determine the safest and most efficient routes. By evaluating the costs associated with different paths, robots can make informed decisions to avoid obstacles and minimize risks, ensuring smooth and reliable movement through their environment.
- Docker#
Docker is a container technology commonly used to distribute self-contained applications or development environment. It is primarily used in PAL OS 24.9 to provide a stable development environment for your robot.
- Environmental Metadata#
An Environmental Metadata represents any Data Structure that models a real or artificial feature of the environment. For example, a Building is a real environmental metadata that consists in one or multiple Floors. Conversely, a Zone can be considered an artificial environmental metadata, as it can indicate a specific area of the environment where we want to prevent the robotās access.
- Fact#
See statement
- Floor#
A Floor is an environmental metadata that models an actual physical structure in which the robot can navigate. It works as a container for other Environmental Metadata and, for example, a Floor can contain various maps connected by one or more anchors. Furthermore, a Floor can contain environmental annotations such as zones, lanes and waypoints.
- Floor Anchor#
A Floor Anchor is an environmental metadata that represents any real or virtual feature of the environment that can be used to link multiple Maps in the same Floor. For example, a Floor Anchor can be a dock station or a certain wall or a door.
- Global Costmap#
A Global Costmap is a map that provides a comprehensive representation of the entire operating environment. It combines static information about the terrain, such as walls and other permanent obstacles, with dynamic updates about moving obstacles and changes in the environment. The global costmap is used for long-term path planning, enabling the robot to navigate from its current position to a distant goal while avoiding obstacles and optimizing its route.
- Goal#
A Goal is a combination of a position and an orientation expressed as a geometry_msgs/msg/PoseStamped towards which the robot navigates.
- Highway#
An Highway is a region of the environment, typically a lane, where the autonomous navigation of the robot is preferable.
- hostname#
The
hostname
is the network name of a computer. For your robot, it is normally<robot>-<serial_number>c
. For instance,ari-40c
ortiagopro-23c
. See Robot identification if you need to find your robot serial number.The
hostname
is used when you want to connect to your robot from a webbrowser (for instance,http://tiagopro-23c/
) or via ssh.- Intent#
An abstract description (a ROS message) representing something that someone wants the robot to perform. Intents are usually published by the user-perception nodes (like the dialogue manager, or the touchscreen manager), and are processed by the mission controller.
Not to be confused with the chatbot intents, which are internal to the chatbot, and not visible outside of it. See overview_nlp for more about chatbots.
See also: Intents
- Keepout#
A Keepout Area is a region of the environment in which the autonomous navigation of the robot is restricted. These areas can either be highly discouraged or completely forbidden for the Autonomous Navigation.
- Knowledge base#
The robotās knowledge base is a semantic database where you can store and query facts (also called statements), and perform first-order logic reasoning.
See also: š” Knowledge and reasoning
- Lane#
A Lane is an environmental metadata used to mark a certain area of the environment with certain properties. A Lane is represented as a segmented line with a defined width that, for example, can indicate a wall or simply a area in which the navigation of the robot is highly desirable (see highway).
- Local Costmap#
A Local Costmap is a real-time, dynamically updating map that represents the immediate environment around the robot. It integrates sensor data to reflect current obstacles and terrain, allowing the robot to make informed decisions for safe and efficient navigation. The local costmap is used to avoid obstacles, plan short-term paths, and adapt to changes in the surroundings as the robot moves.
- Map#
A Map is a symbolic representation of the environment that the robot can use to navigate and understand its surroundings. Depending on the sensor used for their creation, maps represent different features of the environment. The most common type of maps used in robotics are OccupancyGrids, Octomaps and Topological maps.
- Map Mask#
A Map Mask is an Environmental Annotation used to assign specific properties to certain areas. Thus its purpose is NOT to offer a complete representation of the real world (as the Map), but is to create spatial annotations used to change the behavior of the robot in those areas.
See also: š Costmap Filters
- Mission Controller#
The mission controller is the software that controls the main behaviour of the robot: it is the core software component of your application. It schedules and execute skills based on user intents and other application-specific needs.
See also: Mission controllers
- Model#
Depending on the context, a model might refer to different concepts.
a knowledge model refers to all the knowledge that the robot holds about another agent. The
default
model contains the robotās own knowledge. See Knowledge models for details;a chatbot model is a pre-trained machine-learning model used by the robotās chatbot engine to extract intents and entities from the userās speech. See chatbot-pretrained-models;
a model can also refer to a language model used by speech recognition or text-to-speech. You need to install specific models for each language you want to support.
- Module#
An execution unit that defines how to start a certain application.
See also: application-management
- Module Manager#
The high level manager that manages all modules and module sets.
See also: application-management
- Module Set#
A set of modules that are started automatically when starting the robot.
See also: application-management
Nav2 is an open-source, production-grade autonomy framework. Nav2 provides perception, planning, control, localization, visualization, behaviors and much more to build highly reliable autonomous systems.
For more information about this framework, check Nav2 and the Nav2 Documentation.
- Occupancy Grid#
An Occupancy Grid is a specific type of Map that represents the environment using a 2D grid. The grid divides the environment into discrete cells, and each cell holds a probability value representing the likelihood of being occupied by an obstacle. This information is used to mark each cell either as occupied, free or unknown. Typically, this kind of maps are created using a 2D LiDAR Sensor. In ROS 2 this type of map is represented using the nav_msgs/msg/OccupancyGrid message.
- octomap#
The octomap is used to represent the environment using small blocks, or voxels.
See also:* overview-advanced-grasping
- Odometry#
Odometry refers to the use of data from motion sensors to estimate changes in a robotās position and orientation over time. This process involves measuring the distance traveled and the angle turned by the robot, typically using wheel encoders, inertial measurement units (IMUs), or other motion sensors.
- Ontology#
In computer science, an ontology is a network of semantic concepts related to each others. It is also refered as semantic graph. The knowledge is stored in ontologies using formalisms like RDF/OWL. On our robot, we using ontologies to store the semantic knowledge of the robot.
See š” Knowledge and reasoning for more about the resoning capabilities of the robot.
- OWL#
OWL stands for Web Ontology Language and it the format in which we store symbolic knowledge in our ontologies and knowledge base.
- Package#
Applications can be bundled as robot application package with the extension
.rpk
. A robot package is an archive containing all the required resources for the application, and its manifest. A package can be drag-and-dropped onto the robot webcommander interface to install the application.See also: Robot package
- Plugin#
A Plugin is a piece of software that adds specific features or functionalities to an existing application. Plugins enable customization and extend the capabilities of the main program without altering its core structure.
- rasa#
rasa
is the open-source chatbot framework (https://rasa.com/docs/rasa/) that PALās robots uses to manage chats and dialogues with the robot.See also: overview_nlp
- Robot package#
See package
- ROS#
ROS stands for Robot Operating System. ROS is a large international effort to standardise software development for robots using open-source APIs and libraries. It is the platform that we use to develop all our robot software.
From PAL OS 24.9 onwards, we specifically use ROS 2.
Learn more at https://ros.org.
- ROS Bag#
See bag
- ROS4HRI#
ROS4HRI is a ROS standard that describes how ROS-based systems should represent and interact with humans. You can learn more about this effort (led by PAL Robotics) on the ROS wiki.
- ROS_DOMAIN_ID#
ROS_DOMAIN_ID
is a ROS 2 environment variable used to select which ROS ādomainā you are communicating with. In practise, it plays a similar role to theROS_MASTER_URI
in ROS 1.See also: ros-domain-id
- rpk#
See package
- rviz#
rviz
is the main visualisation tool offered by ROS. You can use it to display cameras, laser scans, detecte4d humansā¦ Learn more about it here: http://wiki.ros.org/rviz.- serial id#
See serial number
- serial number#
Each robot has a unique serial number. It is used to connect to the robot, or open a ticket on the support site. If you do not know it, see Robot identification to find it out.
- Skill#
Skills are āunitā operations executed by the robot: navigating to a location, looking at a specific target, grasping an object, etc. The SDK offers many skills out of the box (the system skills), and you can implement your own as well (user skills).
See also: Skills
- SLAM#
SLAM stands for Simultaneous Localization and Mapping and defines the process of creating a map of an unknown environment while simultaneously tracking the robotās location within it. It is considered a chicken-and-egg problem, as accurate localization requires a good map, and a good map requires accurate localization.
See also: šŗļø Mapping
- ssh#
ssh
(Secure SHell
) is a standard tool to remotely connect to a computer (or a robot!) and open a command-line there. You might needssh
to perform some maintenance operations on the robot, or during the development of new applications.- Stamped point#
A stamped point is a ROS name for a 3D point with an associated tf frame of reference. The formal message definition is available here.
- startup#
See startups
- startups#
Startups is the PAL name for the robotās background services (most of them, ROS node) that are automatically started when the robot boots. See here to learn how to start/stop them, and Configure an application to launch at start-up to learn how to add your own startups.
- Statement#
A statement refers to a piece of information (formally, a <subject, predicate, object> triple), stored (or retrieved) from the robotās knowledge base.
See also: Statements
- stt#
See asr
- Target#
A target, for the Navigation, is any object or landmark that can be detected and localized using any of the robotās sensors.
- Task#
An task represents a finite set of actions performed by the robot to achieve a specific goal (i.e. āDoing an Inventoryā, āGetting a glass of waterā, āGoing to the kitchenā). In other systems, it is sometimes refered as an activity.
See also: Tasks
- task#
See activity
- TF#
tf
(and more recently,tf2
) are libraries commonly used in robotics to represent oriented 3D points in space. These points are referred to as tf frames. You can learn more abouttf
andtf2
on the ROS wiki.- TF frame#
See tf
- Triples#
See statement
- tts#
tts stands for text-to-speech (also refered as speech synthesis): the process of converting some written text into spoken words.
See also: tts_howto
- Virtual Obstacle#
See keepout
- Waypoint#
A waypoint is any notable position in the environment. It has a set of coordinates indicating its position and orientation and eventually a list of Waypoint Actions.
- Waypoint Action#
A waypoint action indicates any plugin implementing the nav2_core::WaypointTaskExecutor interface and that can be used to perform a certain action upon the Waypoint arrival. Examples of waypoint actions are:
- Zone#
A Zone is an environmental metadata used to mark a certain region of the environment with certain properties. A Zone is represented as a polygon that, for example, can indicate a restricted area for the navigation of the robot (see keepout) or simply an area in which the robot should perform a certain action (ex. reduce the maximum speed).