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

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

Dec 28, 2015

Download

Documents

James Flowers
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Technical aspects of OpenRTM-aist Geoffrey Biggs Intelligent Systems Research Institute National Institute of Advanced Industrial Science and Technology.

Technical aspects of OpenRTM-aist

Geoffrey Biggs

Intelligent Systems Research Institute

National Institute of Advanced Industrial Science and Technology

Japan

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

Concept overview

• Robot Technology Component model

• Separation of concerns:– Functional specification

(RTCs)– Execution (ECs)– Communication (ports)– Configuration

• Extensible through SDO interface

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

Concept overview

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

independence

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

RT-Components

• Functional block• Ports provide communication points• ECs provide execution time

Architecture of RT component

A c t iv i t y

R T C o m p o n e n t

R T C o m p o n e n t S e rv ic e

S D O In te r fa c e s R T C In te r fa c e s R T C E x In te r fa c e s

O u tP o r tIn P o r t

R T C S C o n s u m e r

In P o r t 0

In P o r t n O u tP o r t n

O u tP o r t0

S e rv ic e

S e rv ic e

re p ly

p u s hp u t

g e t , s u b s c r ib e

B u ffe r B u ffe r

B u ffe rB u ffe r

C o n s u m e r

P ro xy

C o n s u m e r

P ro xy

re p ly

g e tp u t

u se p ro v id ep ro v id e

S ta te M a c h in e

Service ports

Data ports

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

RT-Components

• Known life-cycle state– Can be activated and deactivated

Inactive Active

Error

Init

DeviceInitialization

Servooff

Servoon

EmergencyStop

Arm component

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

RT-Components

• Components implemented as classes

• Callback functions for each FSM step

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

Execution contexts

• A container for RTCs to execute in• Provide contained RTCs with execution

time according to the EC type

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

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)

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

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 Activity

Component A

buffer buffer

Data Port

data dataprocessing

processing

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

Service ports

• Remote procedure call ports

• Ports provide and consumer interfaces

• Interfaces specified in IDL

• Implemented in CORBA

Component B

Activity

Component A

ServiceProxy

ServiceImplementation

Entity

Actual processingisperformed here

Service Port

Service Consumer

Operationinvocation

Service Provider

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

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

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

Configuration

Kp Ki Kd Inmax Inmin

0.6 0.01 0.4 5.0 -5.0name

valuemodeA

PID Controller

Kp Ki Kd Inmax Inmin

0.8 0.0 0.01 10.0 -10.0name

valuemodeB

Kp Ki Kd Inmax Inmin

0.3 0.1 0.31 1.0 -1.0name

valuemodeC

Ki s

Kds

+-

Kp

PID Controller Comp.

limiter

PID gains and limiter parameters can be switchedaccording to controlled plants or modes.Parameters can be switched any time.

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

Advanced features

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

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

Real-time support

• Real-time execution context provides real-time guarantees to RTC execution– ARTLinux– Rt-preempt

• DDS support provides real-time communication guarantees

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

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

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

Dynamic wiring

• Connections can be changed at run-time– GUI tool– Console tool

• Good for Rapid Application Development

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

Composite components

• Compose components to form black-box systems– Inside a composite

component is a complete RT-System

• GUI tool supports compositions

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

Component managers

• Components and execution contexts organised into managers– Multiple execution

contexts in a single process

• Managers provide additional services– Logging– Component look-up

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

Model-based systems

• RTC component model• RTS system model• Build components and systems with

graphical tools• Deploy using console or graphical tools

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

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

port7Periodic 実行

name

valueparameter

ExecutionContext

A

BC

D

E

Name MyManipulator0

Type Periodic execution type

port0 Provide: A, Required: B

port1 Provide: C

Port2 DataPort: InPort, velocity, float x6

Port3 DataPort: InPort, position, float x6

Port4 Provide: D

Port5 Required: E

Port6 DataPort: OutPort, status int x1

Port7 DataPort: OutPort, velocity, float x6

ExecutionContext Period: 10ms

Parameter gain0(float x6), flag(int x1), dev_file(string)

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

Language independence

• Native implementations in multiple languages (use logos)

• No wrappers, maximum efficiency

C/C++

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

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

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

Summary

• OpenRTM-aist provides– Functional components– Execution specification– Communications– Configuration

• A wide range of advanced features are available