Table 1: Objectives of several robotics middleware frameworks.

NameObjectives

Orocos“Develops a general purpose modular framework for robot and machine control” [53]
Pyro“Provides a programming environment for easily exploring advanced topics in artificial intelligence and robotics without having to worry about the lowlevel details of the underlying hardware” [73]
PlayerProvides a development framework supporting different hardware devices and common services needed by different robotic applications and transfers a controller from simulation to real robots with as little effort as possible
Orca“Enables software reuse in robotics using component-based development” [3]
Miro“Improves the software development process for mobile robots and enable interaction between robots and enterprise systems using the distributed object paradigm” [3]
OpenRTMaistProvides efficient development for robotic systems by proposing a modular software structure platform and “simplifies the process of building robots by simply combining selected modules” [3]
ASEBA“Allows distributed control and efficient resources utilization of robots with multiprocessors” [3]
MARIE“Creates flexible distributed components that allows developers to share, reuse, and integrate new or existing software programs for rapid robotic application development” [3] and integrates other middleware in a single robot
RSCA“Provides real-time support for robotic applications and to provide abstractions that makes robotic applications both portable and reusable on different hardware platforms” [3]
MRDSProvides a robotic software platform supporting a wide variety of hardware devices and a set of useful tools that facilities the programming and debugging
OPROS“Establishes a component based standard software platform for the robot which enables complicated functions to be developed easily by using the standardized components in the heterogeneous communication network” [46]
CLARAtyA reusable robotic framework to enable integration, maturation, and demonstration of advanced robotic technologies, from multiple institutions on NASA’s rover platforms in support of its technology programs (Mars and Intelligent Systems)
ROS“Provides the operating system’s services such as “hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management” [51]
SmartSoftImplements sensorimotor systems based on communication patterns as central mean to achieve decoupling at various levels and supports model-driven software development
ERSP“Provides cutting edge technologies for vision, navigation, and system development” [48]
Webots“Provides a rapid prototyping environment for modeling, programming and simulating mobile robots” [50]
RoboFrameCovers the special needs of autonomous lightweight robots such as dynamical locomotion and stability