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 Dialogue management).

Activity#

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.

Application#

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.

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

Capability#

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

Fact#

See statement

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 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: intro_knowledge_base

Manifest#

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

Model#

In ARI’s SDK, a model refers to all the knowledge that the robot holds about another agent. The default model contains the robot’s own knowledge.

See also: def_kb_model

POI#

POI stands for point of interest. 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.

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

See also: Robot package

Point of Interest#

A point of interest (or POI) is a specific labelled location in a map. The robot can for instnace be sent to specific POI. See navigation_poi to create them.

See also: navigation_poi

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

Robot package#

See package

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

Triples#

See statement

ZOI#

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.

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