Technical aspects of OpenRTM-aist Geoffrey Biggs Intelligent Systems Research Institute National Institute of Advanced Industrial Science and Technology.

Slides:



Advertisements
Similar presentations
Three types of remote process invocation
Advertisements

TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
A component- and message-based architectural style for GUI software
1 JAC : Aspect Oriented Programming in Java An article review by Yuval Nir and Limor Lahiani.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Software development in robotics: frameworks, tools and the OpenRDK D. Calisi.
Component Models and Technology Component-based Software Engineering
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Real-Time Systems and Programming Languages
Figure 1.1 Interaction between applications and the operating system.
Dynamic Reconfiguration of Component-based Real-time Software Words February 2005 Sedona, Arizona, USA Andreas Rasche, Andreas Polze and Martin.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
The middleware that makes real time integration a reality.
Applying Wireless in Legacy Systems
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
- Software block schemes & diagrams - Communications protocols & data format - Conclusions EUSO-BALLOON DESIGN REVIEW, , CNES TOULOUSE F. S.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
DIANE Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
CGW 2003 Institute of Computer Science AGH Proposal of Adaptation of Legacy C/C++ Software to Grid Services Bartosz Baliś, Marian Bubak, Michał Węgiel,
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
6st ACS Workshop UTFSM ACS Course Component, Container, Lifecycle Management 6st ACS Workshop UTFSM, Valparaiso, Chile H. Sommer, G. Chiozzi.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
A Survey on Programming Model Context Toolkit Gaia ETC (of Equator Project) Tentaculus.
April 2004 At A Glance CAT is a highly portable exception monitoring and action agent that automates a set of ground system functions. Benefits Automates.
New features for CORBA 3.0 by Steve Vinoski Presented by Ajay Tandon.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Andrew S. Budarevsky Adaptive Application Data Management Overview.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
ALMA Common Software Basic Track A walk through ACS functionality.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
An Architecture to Support Context-Aware Applications
Title : Intelligent Networked Robotic Systems with Reconfigurable Exogenous System Sensing 1 Professor Il Hong Suh and Dr. Sanghoon Lee Hanyang University,
ProActive components and legacy code Matthieu MOREL.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
ICALEPCS 2005 Geneva, Oct. 12 The ALMA Telescope Control SystemA. Farris The ALMA Telescope Control System Allen Farris Ralph Marson Jeff Kern National.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Marcelo R.N. Mendes. What is FINCoS? A set of tools for data generation, load submission, and performance measurement of CEP systems; Main Characteristics:
The CoBFIT Toolkit PODC-2007, Portland, Oregon, USA August 14, 2007 HariGovind Ramasamy IBM Zurich Research Laboratory Mouna Seri and William H. Sanders.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
SwE 455 Tutorial. What is Evolve? Evolve is a tool for defining components and connecting them together to form new components. Also provides a runtime.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
SPEAKER: MUHAMMAD REZA ZULMAN DATE: NOVEMBER 17, 2014 OPENFLOW SPECIFICATION.
Microsoft ® Official Course Module 6 Managing Software Distribution and Deployment by Using Packages and Programs.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
Context-Aware Middleware for Resource Management in the Wireless Internet US Lab 신현정.
The Distributed Application Debugger (DAD)
CS 286 Computer Organization and Architecture
CS703 - Advanced Operating Systems
Applying Domain-Specific Modeling Languages to Develop DRE Systems
DISTRIBUTED COMPUTING
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
SwE 455 Tutorial.
Component--based development
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Presentation transcript:

Technical aspects of OpenRTM-aist Geoffrey Biggs Intelligent Systems Research Institute National Institute of Advanced Industrial Science and Technology Japan

Concept overview Robot Technology Component model Separation of concerns: –Functional specification (RTCs) –Execution (ECs) –Communication (ports) –Configuration Extensible through SDO interface

Concept overview Wide range of advanced features –Dynamic wiring –Real-time support –Component composition –Component managers –Language and communication middleware independence

RT-Components Functional block Ports provide communication points ECs provide execution time Architecture of RT component Service ports Data ports

RT-Components Known life-cycle state –Can be activated and deactivated InactiveActive Error Init Device Initialization Servo off Servo on Emergency Stop Arm component

RT-Components Components implemented as classes Callback functions for each FSM step

Execution contexts A container for RTCs to execute in Provide contained RTCs with execution time according to the EC type

Execution contexts Several types provided by OpenRTM –Easy to implement new ECs to meet your own needs Periodic (including real-time) Externally-triggered (including logical clock support)

Data ports One-way data flow between components Points-to-points or topic-based Transfer data using CORBA Serialisation provided by CDR Data types specified in IDL Component B Activity Component A buffer Data Port data processing

Service ports Remote procedure call ports Ports provide and consumer interfaces Interfaces specified in IDL Implemented in CORBA Component B Activity Component A Service Proxy Service Implementation Entity Actual processing isperformed here Service Port Service Consumer Operation invocation Service Provider

Configuration RTCs provide configuration parameters Parameters can be set at launch (from a file) or run-time (through tools) Multiple configuration sets can be used to change all parameters at once

Configuration KpKiKdIn max In min name value modeA PID Controller KpKiKdIn max In min name value modeB KpKiKdIn max In min name value modeC Ki s Kds + - Kp PID Controller Comp. limiter PID gains and limiter parameters can be switched according to controlled plants or modes. Parameters can be switched any time.

Advanced features OpenRTM provides a wide range of advanced features –Not just a nice way to organise callbacks

Real-time support Real-time execution context provides real- time guarantees to RTC execution –ARTLinux –Rt-preempt DDS support provides real-time communication guarantees

Notification system Extensive callback-based notifications system RTCs notified on relevant events –New data at a port, configuration change, lifecycle state change, … External entities can also be notified –Register callbacks using an SDO interface –Used by tools to monitor the system without polling

Dynamic wiring Connections can be changed at run-time –GUI tool –Console tool Good for Rapid Application Development

Composite components Compose components to form black-box systems –Inside a composite component is a complete RT-System GUI tool supports compositions

Component managers Components and execution contexts organised into managers –Multiple execution contexts in a single process Managers provide additional services –Logging –Component look-up

Model-based systems RTC component model RTS system model Build components and systems with graphical tools Deploy using console or graphical tools

RTC meta-data Meta-data –RTC’s specification Introspection –Name, type –Port (number, kind) –Interface information –Properties –Parameter –Execution context For dynamic reconfiguration of systems port0 port1 port2 port3 port4 port5 port6 port7 Periodic 実行 name value parameter ExecutionContext A B C D E NameMyManipulator0 TypePeriodic execution type port0Provide: A, Required: B port1Provide: C Port2DataPort: InPort, velocity, float x6 Port3DataPort: InPort, position, float x6 Port4Provide: D Port5Required: E Port6DataPort: OutPort, status int x1 Port7DataPort: OutPort, velocity, float x6 ExecutionContextPeriod: 10ms Parametergain0(float x6), flag(int x1), dev_file(string)

Language independence Native implementations in multiple languages (use logos) No wrappers, maximum efficiency C/C++

Middleware independence CORBA isn’t the only way to send data –CORBA for RTC interfaces and CORBA for data ports are completely separate Data Distribution Service (DDS) ICE ROSTCP Plain old TCP

Summary OpenRTM-aist provides –Functional components –Execution specification –Communications –Configuration A wide range of advanced features are available