Inferensys

Glossary

Robot Operating System (ROS)

Terms related to the middleware framework and ecosystem of tools, libraries, and conventions for building complex robotic software systems. Target: Robotics Software Engineers, System Integrators.
Developer demonstrating multi-agent tool use, agent tool selection interface on laptop, casual tech demo moment.
Glossary

Robot Operating System (ROS)

Terms related to the middleware framework and ecosystem of tools, libraries, and conventions for building complex robotic software systems. Target: Robotics Software Engineers, System Integrators.

Robot Operating System (ROS)

The Robot Operating System (ROS) is an open-source middleware framework providing a collection of software libraries, tools, and conventions designed to simplify the development of complex robotic systems across heterogeneous hardware platforms.

ROS 2

ROS 2 is the second generation of the Robot Operating System, featuring a redesigned architecture built on the Data Distribution Service (DDS) for real-time performance, multi-robot support, and production-grade security and reliability.

ROS Node

A ROS Node is the fundamental executable process within a ROS graph that performs computation, communicating with other nodes via topics, services, actions, or parameters.

ROS Topic

A ROS Topic is a named bus over which nodes exchange asynchronous, many-to-many messages using a publish-subscribe communication model.

ROS Service

A ROS Service is a synchronous, request-response communication mechanism where a client node sends a request to a server node and blocks until it receives a reply.

ROS Action

A ROS Action is an asynchronous communication interface built on topics that allows a client to request a long-running goal from a server and receive periodic feedback and a final result.

ROS Message (.msg)

A ROS Message is a strictly typed data structure, defined in a `.msg` file, that is used for serialization and deserialization when publishing to topics or calling services.

ROS Parameter

A ROS Parameter is a configuration value, stored on a parameter server, that nodes can dynamically retrieve, set, and monitor at runtime.

ROS Launch System

The ROS Launch System is a tool for configuring and starting multiple ROS nodes, setting parameters, and remapping topic names from a single XML or Python launch file.

ROS Bag

A ROS Bag is a file format for recording and playing back ROS topic data, enabling offline debugging, analysis, and simulation of robotic system behavior.

ROS Graph

The ROS Graph is a peer-to-peer network of ROS nodes, topics, services, and actions that represents the runtime communication topology of a robotic system.

ROS Package

A ROS Package is the primary unit for organizing software in ROS, containing libraries, nodes, datasets, configuration files, and a manifest (`package.xml`) defining its dependencies.

ROS Client Library (RCL)

A ROS Client Library (RCL) is a language-specific API, such as `rclcpp` for C++ or `rclpy` for Python, that provides the core programming interface for creating ROS 2 nodes and utilizing its communication patterns.

ROS 2 DDS (Data Distribution Service)

ROS 2 DDS refers to the use of the Data Distribution Service (DDS) standard as the underlying middleware layer in ROS 2, providing decentralized discovery, configurable Quality of Service (QoS), and real-time data exchange.

ROS 2 Quality of Service (QoS)

ROS 2 Quality of Service (QoS) is a set of configurable policies—such as reliability, durability, and deadline—that govern the behavior of communication between nodes, allowing tuning for systems ranging from best-effort to strict real-time.

ROS 2 Executor

A ROS 2 Executor is a processing engine within a node that manages the execution of subscriptions, services, timers, and action servers by spinning callbacks in a single-threaded or multi-threaded manner.

ROS 2 Lifecycle Node

A ROS 2 Lifecycle Node is a managed node that follows a well-defined state machine (Unconfigured, Inactive, Active, Finalized), allowing for systematic startup, error recovery, and shutdown of complex system components.

ROS 2 TF2 (Transform Library)

ROS 2 TF2 is a library that tracks and manages multiple coordinate frames over time, allowing nodes to transform data (e.g., points, vectors) between different reference frames, such as from a sensor frame to a robot's base frame.

URDF (Unified Robot Description Format)

The Unified Robot Description Format (URDF) is an XML file format used in ROS to describe the kinematic and dynamic properties of a robot, including its links, joints, sensors, and visual/collision geometry.

ROS 2 Navigation2

ROS 2 Navigation2 is the official navigation framework for ROS 2, providing a behavior tree-based system for mobile robot localization, path planning, and control to autonomously move from one location to another.

ROS 2 Control (ros2_control)

ROS 2 Control is a framework for managing and abstracting robot hardware interfaces (e.g., joints, sensors) and controllers (e.g., position, velocity) to provide a unified real-time control layer.

Micro-ROS

Micro-ROS is a robotics framework that brings the core concepts of ROS 2 to deeply embedded microcontrollers, enabling real-time communication with larger ROS 2 systems via a Micro-ROS Agent.

ROS Bridge (ros1_bridge)

A ROS Bridge, such as the `ros1_bridge`, is a bidirectional communication gateway that translates messages and services between ROS 1 and ROS 2 networks, facilitating migration and interoperability.

ROS 2 Domain ID

A ROS 2 Domain ID is a network segmentation integer (set via the `ROS_DOMAIN_ID` environment variable) that isolates ROS 2 graphs, preventing nodes in different domains from discovering or communicating with each other.

ROS 2 Security (SROS 2)

ROS 2 Security, implemented through the SROS 2 utilities, provides a framework for securing ROS 2 communications with authentication, encryption, and access control using DDS Security plugins and X.509 certificates.

Colcon Build Tool

Colcon is the primary command-line build tool for ROS 2, used to build multiple packages in a workspace, handling dependencies, and invoking underlying build systems like CMake or Python setuptools.

ROS 2 Component

A ROS 2 Component is a node packaged as a shared library that can be dynamically loaded into a component container at runtime, enabling process composition for improved performance and resource management.

ROS 2 Launch Argument

A ROS 2 Launch Argument is a variable defined in a launch file that can be set from the command line or programmatically to parameterize the configuration of nodes and their behaviors at startup.

ROS 2 Parameter Event

A ROS 2 Parameter Event is a notification published by the parameter service when a parameter's value is changed, allowing nodes to dynamically reconfigure their behavior in response to runtime configuration updates.