Introduction to OpenRTM National Institute of Advanced Industrial Science and Technology Intelligence Systems Research Institute Noriaki Ando Outline • • • • Introduction History Features Applications 2 What is RT? • RT = Robot Technology cf. IT – Not only standalone robots, but also robotic elements (sensors, actuators, etc….) + OpenRTM-aist + + + + Open (source) RT-Middlware implemented by AIST RT-Middleware • RT-Middleware (RTM) – Middleware and platform for RT-element integration • RT-Component (RTC) – Basic software unit in RT-Middleware The aim of RT-Middleware Problem Solving by Modularization • • • 仕様の明確化 Cost 最新技術を容易に利用可能 誰でもロボットが作れる Mobile base Manipulator Technical Issue Needs The state of the art Various users Sensors・・・ Spec. ! ! RT-Component Reusable modules Realize low-cost robots ! ! System developers Utilize the state of the art Easy to customize Satisfy various needs Realizing innovation in service robot market 4 RT-Middleware & RT-Components Logic ・device control ・algorithms ・applications etc… RT Component Framework RT Component Logic/algorithm with common interfaces = RT-Component (RTC) RTC RTC RTC RTC RTC RTC RTC RTC RT-Middleware Execution environment for RTC=RT-Middleware(RTM) ※RTCs can be distributed across a network 5 History of OpenRTM-aist 6 Takumi (匠), Ume (梅) from 1996~ in ETL (Electrotechnical Laboratory, former AIST) 匠 (Takumi = meister (de)) •Transputer based multi-agent system for manipulation – Language: C, Occam and Euslisp – Network: Transputer (real-time) 梅 (Ume = plum (en)) •Ethernet based Takumi – Language: C, C++, Euslisp – Interface definition: original definition language similar to Occam – Network: TCP/IP – OS: Solaris, Windows, VxWorks 7 Another Takumi? Takumi TUM Here Ramen (noodle) shop Takumi Heßstr.71 (ecke Schleisheimerstr.) 80798 München 8 History of RT-Middleware RTM0.1 release from 2002~ OpenRTM-aist 0.2.0 release OMG RTC spec. draft OpenRTM-aist 0.4.0 release OpenRTM-aist 1.0 release OMG RTC spec. release OMG RTC spec. approved FY 2002 2003 2004 2005 2006 2007 2008 2009 2010 RT-Middleware Project Kaken PJ Distributed component based simulator Robot award 2007 Key technology for next gen. robot PJ AIST standardization PJ Universal design for environment and manipulation PJ OpenRTM-aist is used in many national projects for robotics research as a standard platform AIST UCROA PJ Robot element development PJ Intelligent RT Software Project 2011 RT-Middleware features • Component-based software development – Execution contexts, ports, configuration, etc… – Inter-OS/language communication • Standards – Open specification – Specification continuity • Many vendors with RTM implementations – Various PSM implementations – Implementation continuity 10 Basic functions of an RTC Data ports Activity/Execution contexts Common state machine Inactive Composite execution Sensor RTC Active • • • Data-centric port Continuous data I/O Dynamic connection ex. servo Position Ref Voltage Contoller RTC - Error Actuator RTC Manage RTC’s lifecycle and execution Service ports Service-oriented port Provides detailed function – – – Service Port • • • 3D depth data Image Data Controller Component Actuator Component Configuration ex. Stereo vision Stereo Vision Interface Position Data centric communication Getting/setting parameters Changing modes etc… ・Mode setting ・Coordinate setting ・Calibration ・etc… Kp T Ds Encorder component • • 1 + TI s Stereo vision Component Parameter management Configuration sets Dynamic configuration An RTC can have several configuration sets. Runtime reconfiguration and dynamic switching are supported key Set name Set name value key value Data Port Service oriented communication 11 Standardization in OMG • OMG (Object Management Group) – Software standardization organization – Ex. UML, CORBA, DDS specifications • MDA (Model Driven Architecture) – Improves system life-time and executable variable (quality x cost x lifetime). – The model is described in a PIM, and systems are implemented based on PSMs that are mapped automatically (or semi-automatically) from the PIM. • PIM (Platform Independent Model) – A model independent of any target platform (CORBA, EJB, SOAP, etc.). The model is described in a modelling language such as UML. • PSM (Platform Specific Model) – A model converted from a PSM for each target platform – CORBA PSM, SOAP PSM, etc. 12 OMG RTC Standard formal/08-04-04 • OMG RTC specification defines – Basic component interface – Execution semantics – Introspection • • • OMG RTC specification inherits SDO (Super distributed Object) Specification available online: http://www.omg.org/spec/RTC/ Version 1.1 due soon pd RTC Packages «profile» RTC SDOPackage Execution Semantics Introspection (from External Models) Lightw eight RTC (from Robotic Technology Components) 13 Features of RTC • Provides rich component lifecycle to enforce state coherency among components • Defines data structures for describing components and other elements • Supports fundamental design patterns – Collaboration of fine-grained components tightly coupled in time (e.g. Simulink) – Stimulus response with finite state machines – Dynamic composition of components collaborating synchronously or asynchronously 14 OMG RTC families Name Vendor Feature OpenRTM-aist AIST C++, Python, Java OpenRTM.NET SEC .NET(C#,VB,C++/CLI, F#, etc..) miniRTC, microRTC SEC RTC for embedded systems using CAN Dependable RTM SEC/AIST Certified RTM for safety-critical systems RTC CANOpen SIT, CIA Based on CANOpen standard and RTC standard PALRO Fujisoft C++ PSM impl. for small humanoid robot OPRoS ETRI Korean national project GostaiRTC GOSTAI, THALES Based on C++ PSM running on URBI Implementation diversity of the same specification • Guarantees continuity of products • Makes reuse between implementations easier 15 Applications • Applications – Robots – DAQ system • Project – Intelligent RT Software Project 16 Success stories DAQ-Middleware: KEK/J-PARC KEK: High Energy Accelerator Research Organization J-PARC: Japan Proton Accelerator Research Complex HRP-4: Kawada/AIST TAIZOU: General Robotics Inc. HIRO: Kawada/GRX HRP-4C: Kawada/AIST 17 Japan Proton Accelerator Research Complex (J-PARC,大強度陽子加速器施設) 物質・生命科学実験施設 Materials and Life Science Experimental Facility 核変換施設 Nuclear Transmutation ハドロン実験施設 Hadron Beam Facility 500 m ニュートリノ 実験施設 Neutrino to Kamiokande Linac (350m) 3 GeV Synchrotron (25 Hz, 1MW) 50 GeV Synchrotron (0.75 MW) J-PARC = Japan Proton Accelerator Research Complex © KEK Joint Project between KEK and JAEA (former JAERI) DAQ System Working Desktop Common module IROHA Begin End Configure Status User module Begin End デバイス 管理 XML/HTTP Web Server DAQ Operator DAQ Status Gatherer SiTCP SiTCP SiTCP SiTCP SiTCP SiTCP SiTCP © KEK Logger Dispatcher DAQ Middleware Monitor 19 Communication Perfomance Model : Dell PowerEdge SC1430 CPU :Intel Xeon 5120 @ 1.86GHz 2 Cores ×2 Memory: 2GB NIC: Intel Pro 1000 PCI/e (1GbE) OS: Scientific Linux 5.4 (i386) Source Source Sink Ethernet 88MB/s = 704 Mbps © KEK Repeater Sink Ethernet MLF実験装置群 Muon D1 (KEK, JAEA) Muon U (KEK) Muon D2 (KEK) アマテラス 中性子実験装置:19台 ミュオン実験装置:3台 HRC (KEK) 大観 (JAEA) アマテラス (JAEA) PLANET (U. of Tokyo, JAEA) SOFIA (KEK) 千手 (JAEA) iBIX 写楽 DNA iMATERIA ANNRI 匠 (JAEA) iMATERIA (Ibaraki Pref.) SOFIA 四季 NOBORU (JAEA) SPICA (NEDO, KEK) NOP NOBORU SPICA 写楽 匠 (JAEA) SuperHRPD 大観 NOP (KEK) NOVA HRC VIN_ROSE (Kyoto U., KEK) 千手 PLANET NOVA DNA (NEDO, KEK) 四季 (JAEA) (JAEA, KEK, Tohoku U.) SuperHRPD (KEK) ANNRI (Tokyo Tech. U., JAEA, Hokkaido U.) iBIX (Ibaraki Pref.) © KEK Intelligent RT Software Project (FY 2007-2011) Ⅰ.Platform development ①-1 Software/hardware platform development ①-2 RT-Component reusability studies Ⅱ.RTCs for Manipulation ② Manipulation intelligence for manufacturing ③ Manipulation intelligence for daily life Ⅲ.RTCs for Mobile Robot ④ Mobile robot for service robot ⑤ High-speed mobile robot ⑥ Mobile robot for field service Ⅳ.RTCs for Human Robot Interaction AIST, SEC, Maekawa Industry, General Robotics Inc., NEC, Univ. of Tokyo, Fujisoft AIST, Toyohashi Univ. of Tech., Univ of Tokyo, Tohoku Univ., NAIST, Osaka Univ., Tsukuba Univ. Tokyo Univ. of Science, IDEC, Mitsubishi Elec., Kyoto Univ., Kobe Univ., Yasukawa, Toshiba, Kyushu Univ., Kyutech Univ., Metroporitan Univ. of Tokyo SIT, NES software, fuRo, Fujitsu, NAIST, Fujisoft, Toyohashi Univ. of Tech., SEC, Univ. of Tokyo, Osaka Univ., Tsukuba Univ., Segway Japan, Kyoto Univ., Tohoku Univ., International Rescue system ⑦ Communication intelligence for daily life robots ATR, eager Inc., Omron, NEC 22 OpenRTP development process and tool chain RTCBuilder RTSystemEditor RTC development System Development Application Development Test Impl Scenario Editor Complete Design Design Design Test Real-Time design Impl Test Impl OpenRT Platform OpenRTM + Eclipse + tool chain RTC Debugger Hardware design Dynamics Simulator Mobile robot Navigation Motion Pattern Design 23 Developed Components • Each consortium made their technologies into RTCs • Products are registered as projects on the openrtm.org website • 229 registered projects • Developed RTCs are used by other consortiums • Based on this experience, standard interfaces are considered Category Tools Manipulation RTCs Number of Projects 7 106 Mobility RTCs 93 HRI RTCs 16 Commercial License RTCs Total 5 229 24 ROBOSSA (Robot Software Suite, AIST) • Maintain middleware, tools and RTCs developed in the RT Project • ROBOSSA – OpenRTM-aist (Middleware) – OpenRTP-aist (Tools) – OpenRTC-aist (RTC packages for vision, manipulation, mobile robot and HRI) • AIST continues maintenance of them and will produce start-up companies 25 Summary • RT-Middleware: OpenRTM-aist – History (from 2002-) – Features • Component-based development • Standard • Multiple vendor RTM implementation – Applications & projects • Humanoid robots, DAQ • RT software platform project: 229 projects registered on the website 26 27 Reference Architecture (for Manipulation) Camera & image recognition Camera Planning Image Recoginition Manipulator Manipulator frontend Command Servo control Manipulation planning Servo Motor & Motor & Motor & driver Motor & driver driver driver 28 Reference Architecture (for Mobile Robot Navigation) map sensor map sensor destination UI Sub goal points Map management /navigation status Mobile robot hardware Sub goal tracking #include "BasicDataType.idl" #include “ExtendedDataTypes.idl” // defined in RTM1.0 module IIS { struct TimedVelocity2D { RTC::Time tm; sequence<long> id; RTC::Velocity2D data; // defined in RTM1.0 sequence<double> error; }; position Motor & Motor & Motor & driver Motor & driver driver driver struct TimedPose2D { RTC::Time tm; sequence<long> id; RTC::Pose2D data; // defined in RTM 1.0 sequence<double> error; }; struct TimedPose2DSeq { RTC::Time tm; sequence<long> id; sequence<RTC::Pose2D> data; sequence<double> error; }; }; 29 Reference Architecture (for Human Robot Interaction) HRI GUI Voice input Voice filter Image input Speech interval detection Person detection Object recognition Conversation contents management Voice Recoginition Conversation history management Conversation control Motion creation Speech synthesize Sound output Motion control 30