openrtm-aist specifications
#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
- Conforms to OMG Robotic Technology Component Specification 1.0
- Conforms to OMG Super Distributed Object Specification 1.1
References
Components
OpenRTM-aist consists of the following middleware libraries and development tools.
| 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 |