Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Component Management inComponent Management in
OMG Meeting, Burlingame, CA, USA, 2012OMG Meeting, Burlingame, CA, USA, 2012OMG Meeting, Burlingame, CA, USA, 2012OMG Meeting, Burlingame, CA, USA, 2012
Component Management in OPRoS
Component Management in OPRoS
SeungwoogSeungwoog Jung(swjung@etri rekr)Jung(swjung@etri rekr)SeungwoogSeungwoog Jung(swjung@etri rekr)Jung(swjung@etri rekr)SeungwoogSeungwoog Jung([email protected])Jung([email protected])Electronics and Communications Research InstituteElectronics and Communications Research Institute
KOREAKOREA
SeungwoogSeungwoog Jung([email protected])Jung([email protected])Electronics and Communications Research InstituteElectronics and Communications Research Institute
KOREAKOREAKOREAKOREAKOREAKOREA
robotics/2012-12-13
Contents
Introduction of OPRoS
OPRoS Component Model
OPRoS Component Execution Engine
Conclusion
1
OPRoS : Open Platform for Robotic Services
OPRoS
Robot software platform that provides component-based development and execution environments for robot software
providing the robot software component model, component execution engine, various middleware i d l t t l d i l ti i tservices, development tools, and simulation environment
A DCB Application SW
SW Component
H/WH/WwithwithDLL/SoDLL/So
AlgorithmsAlgorithms
SW Component
H/WH/WwithwithDLL/SoDLL/So
ideasideas
H/WsH/Ws
H/WH/WwithwithDLL/SoDLL/So
OPR S C t E ti E i OPRoS IDEDLL/SoDLL/SoOPRoS Component Execution Engine OPRoS IDE
SLAMNavigation
2HRI
SLAM
Introduction of OPRoS Component Introduction of OPRoS Component
Role of Component Execution Engine
Node 1Node 1 Node 2Node 2High levelHigh levelcontrolcontrol
ComponentA
ComponentB
ComponentD
ComponentE
classical classical controlcontrollooploop
ComponentC
ComponentF
ComponentNew
Component Execution EngineComponent Execution Engine(Lifecycle, (Lifecycle, QoSQoS, Fault Recovery, , Fault Recovery,
Coordination, State ManagementCoordination, State Management …) …)
Component Execution EngineComponent Execution Engine(Lifecycle, (Lifecycle, QoSQoS, Fault Recovery, , Fault Recovery,
Coordination, State ManagementCoordination, State Management …) …)
Communication MiddlewareCommunication Middleware Communication MiddlewareCommunication Middleware
OS OS RTOSRTOSDriverDriver DriverDriver
3
Component Development ProcessApplication PackageApplication Package
atomiccomponent
store
Editing
P filP fil
ComponentEditor
Component
Component Repository
DeployingSimulation &debugging
Robot
ProfileProfileComponentsComponents
packaging pExecutionEngineexploring
Operation
RobotSimulator
packaging
ComponentComposer
Operation
Simulation &debugging
Composing
4robot
application Target robots
OPRoSOPRoS Component ModelComponent Model
Component Communication ModelComponent Communication Model
5
OPRoSOPRoS Component ModelComponent Model
Component Class DiagramComponent Class Diagram
Component
• onInitialize/onReset
• onStart/onStop
1ComponentProfile (XML)
ComponentClassLibrary
*• onError/onRecover
• onExecute/onUpdated
• onEvent
• onPeriodChanged
• onDestroy
Provided PortsInput Ports
Required PortsOutput Ports
• user defined methods
6
Input Ports Output Ports
User defined Component
OPRoSOPRoS Component ModelComponent Model
Service Port
Interface for method invocation of componentInterface for method invocation of component
Service Profile(XML)Service Profile(XML)
Service Port A1
Service Profile(XML)Service Profile(XML)
Service Port A2
Service Port C1
S i P t C3 S i P t D1
Service Port C2
Service Port C3 Service Port D1
- Required Ports : A1, A2, B1, C3Service Port B1
7
- Provided Ports : C1, C2, D1
OPRoSOPRoS Component ModelComponent Model
Data PortData Port
Port for transferring data to components
Data Profile(XML)Data Profile(XML)
DataPort A1
Data Profile(XML)Data Profile(XML)
DataPort A2
DataPort C1
DataPort C2
Output Ports : A1, A2, B1DataPort B1
8
Input Ports : C1, C2DataPort B1
OPRoSOPRoS Component ModelComponent Model
Data PortData Port
asynchronous processingdata processing after queuing
<execution_semantics><priority>5</priority>
Execution<priority>5</priority><type>periodic</type>< period>100</period>
</execution _semantics>
<Component Profile>
Component Execution Engine
9
OPRoSOPRoS Component ModelComponent Model
Event PortEvent Port
Port for transferring event to componentsImmediate processing of data without queuing
Component Execution Engine
10
Component Execution EngineComponent Execution Engine
Component Composer
deploy
register ComponentMonitor
ComponentDeployer
monitor
register
ComponentManager
Component1 Component
3
manage
Component Services
Real-time
Component2
execute
Fault Processing
ExecutorManager
Executor Executor
execute
ComponentExecution Engine
11
Various OS support
Windows, LinuxWindows, Linux
Android, iOS, Mac
OPR SOPRoS
Windows Linux Android iOS MacWindows Linux Android iOS Mac
Kernel 2.6 RTAI/Xenomai Linux on ARM(HBE-SM II-P320 )
12
OPRoS IDE ToolsOpen Source
Motion/
SimulatorComposerEditor
www.ropros.orgwww.ropros.org (LGPL)(LGPL)
Source, Doc, ComponentsSource, Doc, Components
OPRoS FrameworkDevIc
DevIc
Component
/Camera
Sound/Voice
Core Service
Execution
ce
API
ce
API
Demonstations
Component engine
Proximity(Sonar, Laser)
Wheel/
Realtime
Communication
Various OSVarious OS
II Component engineWheel/Actuator
13Linux Android iOSMSWindows
Q & A
Thank you!Thank you!Thank you!Thank you!