Embodied AI Glossary中文

Middleware

中间件Common

The software layer sitting between the operating system and applications that handles communication between programs.

Middleware is a layer of software between the operating system and applications that takes care of generic problems on the developer's behalf: how programs find each other, how data gets packaged, how it moves between processes or machines, and how packet loss and latency are handled. Robot software is made up of many independent processes, sensor data volumes are large, and latency matters, so communication middleware is critical. ROS 2 does not implement transport itself; instead it plugs into an underlying implementation through the ROS middleware interface (RMW), defaulting to a DDS (Data Distribution Service) implementation such as Fast DDS or Cyclone DDS, though it can also be switched to Zenoh. Frameworks like ROS, LCM, and dora-rs are sometimes referred to collectively as robot middleware as well.

ExampleSetting the environment variable RMW_IMPLEMENTATION=rmw_cyclonedds_cpp switches ROS 2's underlying communication from the default Fast DDS to Cyclone DDS.

Also called
communication middleware, robot middleware
Related
ROS Middleware Interface (RMW) · Data Distribution Service · eProsima Fast DDS · Eclipse Cyclone DDS · Eclipse Zenoh · ROS 2 Quality of Service (QoS)
Sources
ROS 2 文档:Different ROS 2 middleware vendors (Chinese)

See it in the full glossary →