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 does not refer to any specific concept in the ARI SDK. Depending on the context, a robot activity might non-formally refer to a complete application, or a more specific capability being executed.


An application is what creates and manage the behaviour robot at a given time. It includes at least an application controller, and possibly many additional software components, depending on its needs.

See also: Structure of a robot application

Application Controller#

The application 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 capabilities based on user intents and other application-specific needs.

See also: Application controllers

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 manifest#

See manifest

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 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: How-to: Automatic Speech Recognition (ASR)


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: How-to: Log and retrieve data from the robot


Capabilities are ‘unit’ operations executed by the robot: navigating to a location, looking at a specific target, grasping an object, etc. The SDK offers many capabilities out of the box (the system capabilities), and you can implement your own as well (application capabilities).

See also: Capabilities


See statement


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 application controller.

Not to be confused with the chatbot intents, which are internal to the chatbot, and not visible outside of it. See Dialogue management for more about chatbots.

See also: Intents

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


A file containing information about the application, like its name, the intents it processes, its dependencies, etc. In pal-sdk-23.1, this information is indicative, and not strictly enforced.

See also: Manifest


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 Training 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.


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 stands for Web Ontology Language and it the format in which we store symbolic knowledge in our ontologies and knowledge base.


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 The WebCommander tool interface to install the application.

See also: Robot package


A point of interest (or POI) is a specific labelled location in a map. POIs can be used to eg mark on a map a particular point where you want the robot to navigate. Learn more at Defining Points of Interest.

See also: Defining Points of Interest

Point of Interest#



rasa is the open-source chatbot framework ( that ARI uses to manage chats and dialogues with the robot.

See also: Dialogue management

Robot package#

See package


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. Learn more at

ROS Bag#

See bag


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.


See package


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:

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.


See 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.


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


See asr


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 about tf and tf2 on the ROS wiki.

TF frame#

See tf


See statement


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


ZOI stands for zone of interest. ZOIs can be used to eg mark on a map a particular area where you want the robot to perform some action. Learn more at Defining Zones of Interest.