OpenRTM-aist
Encyclopedia
OpenRTM-aist is a software platform developed on the basis of the RT middleware
RT middleware
RT-middleware is a common platform standards for Robots based on the distributed object technology. RT-middleware supports the construction of various networked robotic systems by the integration of various network enabled robotic elements called RT-Components...

 standard. OpenRTM-aist is developed by National Institute of Advanced Industrial Science and Technology
National Institute of Advanced Industrial Science and Technology
The , or AIST, is a Japanese research facility headquartered in Tokyo, and most of the workforce is located in Tsukuba Science City, Ibaraki, and in several cities throughout Japan. The institute is managed to integrate scientific and engineering knowledge to address socio-economic needs...

 which also contributes to definition of the RT-middleware standard.

Abstract

In RT middleware
RT middleware
RT-middleware is a common platform standards for Robots based on the distributed object technology. RT-middleware supports the construction of various networked robotic systems by the integration of various network enabled robotic elements called RT-Components...

, all robotics technologies' elements, such as actuator
Actuator
An actuator is a type of motor for moving or controlling a mechanism or system. It is operated by a source of energy, usually in the form of an electric current, hydraulic fluid pressure or pneumatic pressure, and converts that energy into some kind of motion. An actuator is the mechanism by which...

s and sensor
Sensor
A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. For example, a mercury-in-glass thermometer converts the measured temperature into expansion and contraction of a liquid which can be read on a calibrated...

s, are regarded as RT-components (RTC). Each RTC has ports to communicate with other RTCs, and developers can develop their own robotics technology (RT) system by constructing the RTCs.
Therefore, the RT-middleware is a distributed controlling architecture.

RT-middleware is originally a platform independent model (PIM), so it does not depend on the implementations like CORBA
Çorba
Chorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...

, Enterprise JavaBean
Enterprise JavaBean
Enterprise JavaBeans is a managed, server-side component architecture for modular construction of enterprise applications.The EJB specification is one of several Java APIs in the Java EE specification. EJB is a server-side model that encapsulates the business logic of an application...

 (EJB), and .NET Framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

. OpenRTM-aist is based on the CORBA technology and it is also implemented with the extended RTC specification. The experiences with OpenRTM-aist will be fed back to the RT-middleware standardization steps.

Characteristics

OpenRTM-aist is implemented of some extended RTC features, and it also includes Manager that helps operations of RTCs. OpenRTM-aist enables developers to program the RTCs by using plural programming languages, and the RTCs which are programmed by different languages can communicate with each other. A lot of tools which also help the RTC operations are released by the National Institute of Advanced Industrial Science and Technology
National Institute of Advanced Industrial Science and Technology
The , or AIST, is a Japanese research facility headquartered in Tokyo, and most of the workforce is located in Tsukuba Science City, Ibaraki, and in several cities throughout Japan. The institute is managed to integrate scientific and engineering knowledge to address socio-economic needs...

 and their co-workers (in a strict sense, OpenRTM-aist itself is a library so it does not include the tools).

RT-component

The RT-component is a functional unit which conforms to the RT-component specification defined by OMG
OMG
OMG may refer to:*Oh My goodness, or Oh My Gosh, a common abbreviation used in SMS and Instant Messaging*omg!, a celebrity news and gossip Web site run by Yahoo.com...

. In OpenRTM-aist, RTCs have data ports, service ports, and execution context which controls the RTC's state.

Data port

A data port is an endpoint to communicate with other RTCs. The data ports have their types. Ports with the same type can be connected to each other.
Available data types
Data type C++ mapping Data type !! C++ mapping
TimedBoolean bool TimedBooleanSeq bool (variable-length array)
TimedOctet byte TimedOctetSeq byte (variable-length array)
TimedChar char TimedCharSeq char (variable-length array)
TimedWChar wchar TimedWCharSeq wchar (variable-length array)
TimedShort short TimedShortSeq short (variable-length array)
TimedUShort unsigned short TimedUShort unsigned short (variable-length array)
TimedLong long TimedLongSeq long (variable-length array)
TimedULong unsigned long TimedULongSeq unsigned long (variable-length array)
TimedString string TimedStringSeq string (variable-length array)
TimedWString wstring TimedWStringSeq wstring (variable-length array)
TimedFloat float TimedFloatSeq float (variable-length array)
TimedDouble double TimedDoubleSeq double (variable-length array)


From OpenRTM-aist version 1.0, extra data types which are expected to be used commonly in robotic systems were released as ExtendedDataType

Developers can define their own data types by describing IDL
IDL
- General :* International Date Line, the time zone date boundary* Intermediate density lipoprotein* John F. Kennedy International Airport, from when it was named "Idlewild Airport" * International Drivers License...

 file.

Service port

The service port allows communicating much more flexibly than the data ports. Developers should define service port interfaces by making their IDL
IDL
- General :* International Date Line, the time zone date boundary* Intermediate density lipoprotein* John F. Kennedy International Airport, from when it was named "Idlewild Airport" * International Drivers License...

 files.

Execution context

In standards of RT-component, RTC must have 4 states such as CREATED, INACTIVE, ACTIVE, and ERROR. The execution context handles the state machine operations of RT-components.
In OpenRTM-aist, several kinds of the execution contexts are supported. For example, the real-time execution context which uses Linux's preemptive kernel function, supports real-time operation of the RTC.

Configuration

Configuration is a function which dynamically changes the parameters of the RTCs during run-time.
Configuration can be numeric and string.

Supported operating systems

Windows, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, VxWorks
VxWorks
VxWorks is a real-time operating system developed as proprietary software by Wind River Systems of Alameda, California, USA. First released in 1987, VxWorks is designed for use in embedded systems.- History :...

 is supported experimentally.

Supported programming languages

Since OpenRTM-aist is developed on the basis of CORBA technology, it supports several programming languages as follows:
  • C++
    C++
    C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

  • Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

  • Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...


RTC Builder

RTC Builder is a tool for skeleton-code generation. It is launched in the eclipse developmental environment. OpenRTM-aist also supports RTC-template which is a command-line type skeleton-code generation tool.

RT System Editor

RT System Editor is a tool for handling RTCs. RT system editor provides following services:
  • Referring RTCs' states
  • Connecting RTCs' ports
  • Configuring RTCs
  • Activate/deactivate/reset RTCs
  • Save/restore the RT-system


OpenRTM-aist also supports rtshell which is a command-line tool like RT System Editor.

See also

  • Robot
    Robot
    A robot is a mechanical or virtual intelligent agent that can perform tasks automatically or with guidance, typically by remote control. In practice a robot is usually an electro-mechanical machine that is guided by computer and electronic programming. Robots can be autonomous, semi-autonomous or...

  • Open-source robotics
    Open-source robotics
    An open-source robot is a robot whose blueprints, schematics or source code are released under an open-source model.-Full robot projects:*, Open Hardware Medical-Research liquid handling robot*, Mobile Telepresence Research Project, Est...

  • Middleware
    Middleware
    Middleware is computer software that connects software components or people and their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact...

  • New Energy and Industrial Technology Development Organization
    New Energy and Industrial Technology Development Organization
    The New Energy and Industrial Technology Development Organization , also known as NEDO, is Japan's largest public management organization promoting research and development as well as deployment of industrial, energy and environmental technologies. In 2003, NEDO was reorganized as an Independent...

  • National Institute of Advanced Industrial Science and Technology
    National Institute of Advanced Industrial Science and Technology
    The , or AIST, is a Japanese research facility headquartered in Tokyo, and most of the workforce is located in Tsukuba Science City, Ibaraki, and in several cities throughout Japan. The institute is managed to integrate scientific and engineering knowledge to address socio-economic needs...

  • Object Management Group
    Object Management Group
    Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

  • Japan Robot Association
    Japan Robot Association
    The Japan Robot Association is a trade association made up of companies in Japan that develop and manufacture robot technology. It was formed in 1971 as the Industrial Robot Conversazione. The association was reorganized and renamed as the Japan Industrial Robot Association in 1972, and was...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK