OpenRTM-aist consists of RT component framework, RT middleware, basic RT components, libraries, basic services, basic tools and so on. The RT component framework consists of the base classes for creating RT components, and all RT components are created as subclasses of the base classes. RT middleware loads RT component modules which are made based on the framework, handles the instances life cycle such as construction/destruction, registers the components to the name service, etc. OpenRTM-aist also includes libraries for user convenience, basic services like component registering/searching (currently CORBA Naming Service is used), tools like RTCbuilder which generate base code, RTSystemEditor which connects and control RT components.
At present, OpenRTM-aist supports C++, Python and Java languages. It can run on Windows, UNIX based OS, µITRON (C++ only) based OS. In addition, System Engineering Consultants Co, LTD. has released OpenRTM-aist compatible middleware: OpenRTM .NET. It can create and execute RTC in .NET environment including C# use. RTCs that are created in different languages or work on different OSs can be connected and operate together.
Interface Specification
- Compliant with OMG Robotic Technology Component Specification 1.0
- Compliant with OMG Super Distributed Object Specification 1.1
Rreference
Constitution
OpenRTM-aist consists of the following each language version of middleware libraries and the tools.
Configuration of OpenRTM-aist
Name |
Summary |
OpenRTM-aist (C++ version) |
Component framework and middleware libraries and commands for creating RT components in C++ language |
OpenRTM-aist (Python version) |
Component framework and middleware library and commands for creating RT components in Python language |
OpenRTM-aist (Java version) |
Component framework and middleware library and commands for creating RT components in Java language |
RTCBuilder |
Eclipse plugin for RT component design and code generation |
RTSystemEditor |
Eclipse plugin for RT component operation and RT system design/operation |
rtshell |
A set of commands which can be used to control RT component and RT system |
Each of these distributions is distributed under the dual licenses - individual contract and EPL.
Operating condition
OpenRTM-aist (C++ version)
Compiler |
gcc 3.x or higher, Visual C++ 2008, 2010, 2012, 2013, 2015, 2017, 2019 |
OS |
Linux, FreeBSD, Windows, Mac OS X, TOPPERS ASP |
CPU |
i386, x86_64, ppc, arm |
Dependent library |
omniORB 4.0 or higher, libuuid (Linux) |
OpenRTM-aist (Python version)
Python |
Python 2.7, Python 3.6, Python 3.7 |
Dependent library |
omniORBpy - 2.3 or higher |
OpenRTM-aist (Java version)
Java |
JDK 5 or higher |
Dependent library |
Java IDL included in JDK |
RTCBuilder/RTSystemEditor
Eclipse |
3.4 or more |
Java |
JDK 6 or higher |
Dependent library |
Eclipse EMF 2.2 or higher (including SDO and XSD), Eclipse GEF 3.2 or higher (including Draw 2D) |
rtcshell/rtsshell
Python |
Python 2.6 and higher |
Dependent library |
omniORBpy - 2.3 or higher |