=== RT-middleware Projects ===
* <u>System organization/decomposition</u> - [[ RT middleware|RT-middleware]] (Robotics Technology Middleware) is a common platform standards for Robotsrobots based on the distributed object technology.<ref>Noriaki ANDO, Takashi SUEHIRO, Kosei KITAGAKI, Tetsuo KOTOKU, Woo-Keun Yoon, "RT-Middleware: Distributed Component Middleware for RT (Robot Technology)", 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS2005), pp.3555-3560, 2005.08, Edmonton, Canada</ref> RT-middleware supports the construction of various networked robotic systems by the integration of various network -enabled robotic elements called [[RT-Components]]. The specification standard of the RT- componentcomponents is discussed /and defined by the [[Object Management Group]] (OMG).<ref>[http://www.omg.org/spec/RTC/1. 10/ Robotics Technology Component Specification version 1. 10], Object Management Group (OMG)</ref> ▼
{| class="wikitable" style="border:1px solid lightblue" align="justify" valign="center"
|-
| style="border:1px solid lightblue" align="justify" valign="center" |
▲* <u>System organization/decomposition</u> - [[RT middleware|RT-middleware]] (Robotics Technology Middleware) is a common platform standards for Robots based on the distributed object technology.<ref>Noriaki ANDO, Takashi SUEHIRO, Kosei KITAGAKI, Tetsuo KOTOKU, Woo-Keun Yoon, "RT-Middleware: Distributed Component Middleware for RT (Robot Technology)", 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS2005), pp.3555-3560, 2005.08, Edmonton, Canada</ref> RT-middleware supports the construction of various networked robotic systems by the integration of various network enabled robotic elements called [[RT-Components]]. The specification standard of the RT-component is discussed / defined by the [[Object Management Group]] (OMG).<ref>[http://www.omg.org/spec/RTC/1.1/ Robotics Technology Component Specification version 1.1], Object Management Group (OMG)</ref>
|-
| style="border:1px solid lightblue" align="justify" valign="center" |
* <u>System organization/decomposition</u> - In the RT-middleware, robotics elements, such as actuators, are regarded as [[RT-components]], and the whole robotic system is constructed by connecting those RT-components. This distributed architecture helps developers to re-use the robotic elements, and boosts the reliability of the robotic system. Each RT-component has port as an endpoint for communicating other RT-components. Every port has its type and the ports which have the same type can be connected each other. RT-components also has its state, so the RT-components behaves as state machines. The states that RT-components can have are CREATED, INACTIVE, ACTIVE, and ERROR, and the states and behaviors are controlled by the execution-context. If developers want to change the behavior of their RT-components, the execution-context can be replaced at run-time.
|-
| style="border:1px solid lightblue" align="justify" valign="center" |
* <u>Implementations</u> - RT-middleware is just standard of the Robotics platform software. Therefore, there are several implementations of RTM. RT-middleware does not assure the communicability between the RTM implementations, however, the bridging tools that intermediate the communication can be easily created because the state machines and their programming model is defined. Indeed, almost all RTMs have already prepared the bridge tools (or native support) for communication with OpenRTM-aist. Implementations of the RT-middleware are as follows:
** "[[OpenRTM-aist]]" is an implementation of the RT-middleware on the basis of [[CORBA]] platform developed by [[National Institute of Advanced Industrial Science and Technology]]. Using CORBA's characteristics, OpenRTM-aist is available for multi-platform (Windows, Linux, OSX, VxWorks, TOPPERS, QNX ...) and multi-language (C++, Python, Java ..) environment.<ref>OpenRTM-aist official website, http://www.openrtm.org/</ref>
** "OpenRTM.NET" is an implementation of the RT-middleware for the [[.NET Framework]] platform.<ref>SEC. Co., Ltd., [SEC, Robot Site http://www.sec.co.jp/robot/download_rtm.html]</ref>
** "RTM on Android" is an implementation on [[Android OS]] that is communicable with OpenRTM-aist.<ref>SEC. Co., Ltd., [SEC, Robot Site http://www.sec.co.jp/robot/download_rtm.html]</ref>
** "RTC Lite" is a modified RT-middleware for embedded or small-resource systems such as PIC (Microchip), ARM, H8 (Runesus), and so on.<ref>SEC. Co., Ltd., [SEC, Robot Site http://www.sec.co.jp/robot/download_rtm.html]</ref>
** "RTM Safety" is a market available implementation of RTM to pass the IEC 61508 standard.<ref>SEC. Co., Ltd., [RTM Safety http://www.sec.co.jp/english/business/rtmsafety/index.html]</ref>
|}
=== Urbi ===
|