Download
latest Releases : 2.0.0-RELESE
2.0.0-RELESE | Download page |
Number of Projects
RT-Component | 154.5 |
RT-Middleware | 35 |
Tools | 23 |
Documentation | 2 |
Choreonoid
Motion editor/Dynamics simulator
OpenHRP3
Dynamics simulator
OpenRTP
Integrated Development Platform
AIST RTC collection
RT-Components collection by AIST
TORK
Tokyo Opensource Robotics Association
DAQ-Middleware
Middleware for DAQ (Data Aquisition) by KEK
IROS2010 Half-day Tutorial Monday, 18th October
{IMPORTANT: Please see the section below about equipment that participants are required to supply.
Introduction to OpenRTM-aist-1.0.0
This half-day tutorial will consisit of a series of talks covering several topics concerning RT-middleware, OpenRTM-aist and development of robot software useng these technologies. RT-Middleware is a framework design for distributed intelliget systems. The core concept of RT-Middleware is the RT-Component, a software component that conforms to a known interface style for interaction with the framework. OMG has issued the "Robot Technology Component Specification" in April 2008, and it is available in public on the OMG website.
#Contents
Motivation and Objectives
With the rapid progress in computer and communication technology, the robot systems are fast becoming larger and more complicated. Therefore, ther is a real need for the software technologies for efficient developments. Now verious software technologies are proposed and implemented respectively. Unfortunately, most of these pioneering initiatives are developed independently of the others, driven by specific applications and objectives. In order to settle this state of chaos, we would like to contribute to the promotion of standardization in the field of robotics based on mutal understanding between the relevant parties.
The objective of the tutorial is to provide you (robotics researchers and robotics professionals) with information about OMG Robotic Technology Component specification, OpenRTM-aist robot software development, and to hold discussions about the Robot Technology (RT) Middleware software framework for robotics and the similar and preceding activities around the world. OpenRTM-aist is available at http://www.openrtm.org/.
Many RT-Middleware tutorials have been given in Japan, but it is rare for a tutorial to be held for the English-speaking international community.
List of Topics
The tutorial will consist of a series of talks covering several topics concerning RT-Middleware, OpenRTM-aist and development of robot software using these technologies.
RT-Middleware is a framework design for distributed intelligent systems. Its main feature is software components distributed over a network. Diverse components, including components by different software vendors implemented in different programming languages, can interact and be easily combined to produce a larger, more complex robotic system. Because of their known interfaces, components can be reused with little to no difficulty. RT-Middleware is not limited solely to use in pure robotic systems, but is useful in any intelligent system. There are implementations of RT-Middleware in C++ (using CORBA), Python (using CORBA), Java and C\#. With the exception of the C\# implementation, they are all cross-platform.
Intended Audience
The tutorial is aimed at those involved in programming robotics, particularly robotics researchers, who are interested in learning about a relatively new software framework. It is also aimed at researchers into robot software frameworks, who can, by learning about RT-Middleware and OpenRTM-aist in more detail, learn from its concepts and apply them to their own frameworks, as well as give advice on how RT-Middleware can be improved. Programming experience will be beneficial. No previous experience with using middleware systems (such as CORBA or ICE) or other robot software frameworks is necessary.
Necessary equipment
All participants should provide their own laptop running a recent version of Windows (such as Windows XP with service packs installed) or Linux. You must have administrator privileges on your laptop. For Windows, Microsoft Visual C++ will be required; a free version can be obtained from Microsoft's website. For Linux, you will need a recent version of the GCC compiler.
Agenda (Tentative)
Overview of standardisation activity in the Object Management Group
The Object Management Group (OMG) has formed a Robotics Domain Taskforce which is focusing on standardising various robot technologies. The core concept of RT-Middleware is the RT-Component, a software component that conforms to a known interface style for interaction with the framework. This ``Robot Component Specification,'' described next, has been adopted as an international standard by the Object Management Group (OMG). It is expected that standards will be forthcoming for component types; there is already ongoing work at the OMG working towards several standardised component interfaces for such component types as localization services.
Robotic Technology Component specification
The core concepts of RT-Middleware will be discussed and the Robot Technology Component specification will be described. Each component contains a state machine with states such as ``Inactive, ``Active, and ``Error.'' This state machine is known, allowing for all components to be controlled, at a high level, in the same way. Components also feature input and output data ports, and may provide other service ports across the network transport used by the RT-Middleware implementation in use. The choice of what data and service ports a component provides is up to the component designer. As such, RT-Middleware allows for considerable freedom as a framework while still providing a consistent method of controlling these components.
OpenRTM-aist
OpenRTM-aist is an implementation of RT-Middleware and the OMG's Robot Component Specification standard, created by the National Institute of Advanced Industrial Science and Technology (AIST) in Japan. It uses CORBA as its network transport, giving it considerable power and flexibility in what can be transported over a component's data ports and what service ports a component can provide. OpenRTM-aist is available in both C++ and Python implementations.
This talk will focus on OpenRTM-aist, describing this implementation of RT-Middleware in detail.
RT-Component development with OpenRTM-aist
The steps involved in writing a component will be covered in detail by this talk, using several examples and building on the information about the OpenRTM-aist implementation discussed previously. Participants will learn how to write an RT-Component, including how to use the tools for automatically generating component templates.
System integration and customization with GUI tools
OpenRTM-aist provides graphical tools to assist developers in creating RT-Components and connecting RT-Components together into larger systems. They are RtcTemplate and RtcLink. This talk will discuss the operation of these tools and their use in constructing a complete robot system.
RTCBuilder assists developers in creating new RT-Components by providing a graphical interface for defining input ports, output ports and service ports.
RTSystemEditor is a graphical tool for connecting RT-Components together and changing their configuration options. Developers can drag and drop running components into the system designer and drag connections between different ports. Connection properties can be easily changed. The whole system or individual components can be started, stopped, reset, activated, and so on with ease. Once a system has been designed using RTSystemEditor, it can be saved into an XML-based format and run at any time outside of RTSystemEditor.
System launching and maintenance with shell tools
OpenRTM-aist provides shell-based tools that can be used in a headless environment - in other words, on your robot, while it's running. They are ideally suited for being used in start-up scripts to ensure that all you need do to start your robot is press the power button. They also provide valuable tools for inspecting and maintaining a running robot system.
Discussion and related activities
Time will be made available for discussion with participants.
Organisers
Intelligent Systems Research Institute (ISRI),
The National Institute of Advanced Industrial Science and Technology (AIST),
1-1-1 Umezono #32827, Tsukuba, Ibaraki 305-8568, Japan
Links