
OpenRTM-aist is a flagship component-based framework for robotics software, developed by Japan's National Institute of Advanced Industrial Science and Technology (AIST) since 2005. It implements the OMG Robotic Technology Component (RTC) standards โ a set of specifications describing how to compose, connect, and exchange data between modules in a robotic system.
The architecture is built around the RT-Component (RTC) concept โ an independent functional unit with data ports (InPort/OutPort), service ports (ServicePort), configuration, and a lifecycle. Components communicate via CORBA (omniORB), although version 2.0 introduced a ROS 2 bridge and Data Distribution Service support. OpenRTM-aist ships in variants for C++, Python, and Java, and the built systems can run on Linux, Windows, and macOS.
The framework is a key element of the software stack for Japanese HRP humanoids (HRP-2, HRP-3, HRP-4, HRP-5P), the HSR robot (Human Support Robot, Toyota), and many robots in the CHOREONOID consortium. While its popularity outside Japan is small (dominated by ROS), it remains the de facto standard in Japanese industry and academia.
Middleware is a software layer that mediates between applications, services, sensors, drivers, and execution layers. In robotics, middleware is typically responsible for inter-process communication, message passing, hardware abstraction, and module integration within a single system. The most widely used robotics middleware is ROS (Robot Operating System), which provides a publish-subscribe message bus, service calls, and a rich ecosystem of packages.
A Runtime is the environment or execution layer used to run code, load libraries, manage dependencies, and operate applications or services โ either in real time or during normal system operation. In robotics this includes real-time operating system (RTOS) runtimes, ROS 2 executor runtimes, containerised execution environments (Docker, podman), and embedded C++ runtimes on microcontrollers.
An API Library is a software package that exposes programmatic interfaces for communicating with a device, service, or system. In robotics it typically forms a lightweight integration layer built on top of the manufacturer's official API or an open-source project, abstracting low-level protocol details and providing language-native bindings (Python, C++, Java, etc.).
A Developer Tool is software designed to support the development workflow, including configuration, debugging, testing, monitoring, validation, and integration of robotic and embedded systems. Examples include IDE plugins, visual debuggers, log analysers, hardware-in-the-loop (HIL) test harnesses, and code-generation utilities specific to robotics platforms.
HRP-2/3/4/5P (Kawada Robotics + AIST), Toyota HSR, NEDO robotic challenge platforms, CHOREONOID consortium, Japanese production lines. Thousands of deployments in Japan.
220โ on github.com/OpenRTM/OpenRTM-aist, Japanese openrtm-users mailing list, annual OpenRTM Community Meetings in Tsukuba. A small but stable academic community.
Requires omniORB (CORBA) as the communication layer. The real-time variant requires PREEMPT_RT or Xenomai.
License family: Weak Copyleft
License family: Weak Copyleft
Minor fixes, Ubuntu 24.04 support.
New communication architecture, ROS 2 bridge, DDS.
Python 3 support, ROS 1 integration.
Stabilization of API conformant with OMG RTC 1.0.
First public OpenRTM-aist release.