openrtm-aist specifications

✏️ Edit this page on GitHub

#contents

OpenRTM-aist consists of an RT Component Framework, RT Middleware, a collection of basic RT Components, libraries, basic services, and development tools.

The RT Component Framework provides the base classes required to create RT Components. All RT Components are implemented as subclasses of these base classes.

RT Middleware is responsible for loading RT Component modules created using the framework, managing their lifecycle (including instance creation and destruction), and registering components with the Naming Service.

OpenRTM-aist also includes libraries that improve usability, basic services such as RT Component registration and discovery (currently using the CORBA Naming Service), RTCBuilder for generating RT Component skeleton code, and tools such as RTSystemEditor for connecting and controlling RT Components.

Currently, OpenRTM-aist supports C++, Python, and Java, and can operate on Windows, UNIX-like operating systems, and μITRON-based operating systems (C++ edition only).

In addition, SEC Corporation provides OpenRTM .NET, an OpenRTM-aist-compatible middleware implementation that enables the creation and execution of RTCs in .NET environments, including C#.

RTCs developed in different programming languages and running on different operating systems can be interconnected and operate cooperatively.

Interface Specifications

References

Components

OpenRTM-aist consists of the following middleware libraries and development tools.

Components of OpenRTM-aist
Name Description
OpenRTM-aist (C++ Edition) Component framework, middleware libraries, and command-line tools for developing RT Components in C++.
OpenRTM-aist (Python Edition) Component framework, middleware libraries, and command-line tools for developing RT Components in Python.
OpenRTM-aist (Java Edition) Component framework, middleware libraries, and command-line tools for developing RT Components in Java.
RTCBuilder An Eclipse plug-in for designing RT Components and generating source code.
RTSystemEditor An Eclipse plug-in for operating RT Components and designing and managing RT systems.
rtshell A set of command-line tools for operating RT Components and RT systems from a CUI environment.

These software packages are distributed under a dual-license model consisting of EPL and separate commercial license agreements.

System Requirements

OpenRTM-aist (C++ Edition)

Compiler gcc 3.x or later, Visual C++ 2008, 2010, 2012, 2013, 2015, 2017, 2019
Operating System Linux, FreeBSD, Windows, Mac OS X, TOPPERS ASP
CPU i386, x86_64, ppc, arm
Dependent Libraries omniORB 4.0 or later, libuuid (Linux)

OpenRTM-aist (Python Edition)

Python Python 2.7, Python 3.6, Python 3.7
Dependent Libraries omniORBpy 2.3 or later

OpenRTM-aist (Java Edition)

Java JDK 5 or later
Dependent Libraries Java IDL included with the JDK

RTCBuilder / RTSystemEditor

Eclipse Version 3.4 or later
Java JDK 6 or later
Dependent Libraries Eclipse EMF 2.2 or later (including SDO and XSD)
Eclipse GEF 3.2 or later (including Draw2D)

rtshell

Python Python 2.7, Python 3.6, Python 3.7
Dependent Libraries omniORBpy 2.3 or later