orocos @ laashomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · orocos@laas...
TRANSCRIPT
![Page 1: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/1.jpg)
Orocos @ LAASOne year after...
Anthony Mallet, Sara Fleury, Raja Chatila
LAAS - CNRS
[email protected], [email protected], [email protected]
Leuven, November 18th, 2002
![Page 2: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/2.jpg)
Outline
• Software Architecture
. Approach overview and existing tools.
• Salient Examples
. Robots, operating systems
• Orocos@LAAS
. Last year work
Outline GenoM Salient Examples Orocos@LAAS Conclusion 1
![Page 3: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/3.jpg)
GenoM Introduction
Context: Autonomous Robots
Systems and software are becoming more
and more complex.
• many functionalities
• decisional aspects • A real-time distributed system· Heteregenous functionalities· Inter-task communication
• A supervised system· Dynamic control· Dynamic parametrization· Observability
• An open system· Incremental design
Strong need for software architectures
Outline GenoM Salient Examples Orocos@LAAS Conclusion 2
![Page 4: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/4.jpg)
GenoM Robot Architecture
N
S
EW
perception
mission
10 s
1 s
0.1 s
Modules
communication
OPERATOR
reports
state
requests reports
control
proprioceptivesensors
proximetricsensors
effectorsexteroceptivesensors
ENVIRONMENT
Dec
isio
nal
Lev
elE
xecu
tio
nC
on
tro
l Lev
elF
on
ctio
nal
Lev
elL
og
ical
Sys
tem
Ph
ysic
alS
yste
m
Executive
servo−controlcontrol
reflex actions
Plan Supervisor
Task Supervisor� Task
�
Refinment
MissionPlanner
Sensor and Effector Interface
monitoring
modelling
requests
Outline GenoM Salient Examples Orocos@LAAS Conclusion 3
![Page 5: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/5.jpg)
GenoM Functional Level: Generic Components
Component: entity offering ser-
vices that endow the functional layer
with a particular capability.
Services are parametrized and
started by asynchronous requests,
which in turn spawns activities
whithin the execution engines.
functionalpposters
controlposter
(to sensor or effector or other module)
activities
controller
requests replies
clients
controldatabase
functionaldatabase
requests / replies library interface
dataflow
execution engines
post
er a
cces
s lib
rary
inte
rface
Outline GenoM Salient Examples Orocos@LAAS Conclusion 4
![Page 6: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/6.jpg)
GenoM Dynamic Network of Modules
1. visual tracking
uses 3 basic services
platform control
videoacquisition
camera
platform
positioncontrol
odometer driving−wheels�
imag
e
visualtracking
reference position
2. visual tracking + obstacle avoidance
7 modules are now involved
tracking +avoidance
platform control
videoacquisition
visualtracking
camera
platform
positioncontrol
localavoidance
odometersonars driving−wheels�
sonarcontrol
imag
e
us d
ata
reference position
Outline GenoM Salient Examples Orocos@LAAS Conclusion 5
![Page 7: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/7.jpg)
GenoM Data Flow
Poster
• Structured shared memory
• Writable only by the owner (compo-
nent that export the data).
• Readable by any other component
• Allow data flow redirection
Example: Three possible sources for
position control
positioncontrol
visualtracking
pathtracking
wallfollowing
odometer driving−wheels
1Pposter_2Pposter_ 3Pposter_
poster_Pntracking_request ( )possible
inputreference
Outline GenoM Salient Examples Orocos@LAAS Conclusion 6
![Page 8: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/8.jpg)
GenoM Activity management
Activity state diagram
EXEC−/exec
−/end
abort/−−/ended
exec/−
−/fail
−/fail
−/fail
−/failed
−/execfail
start
exec
end
INTER *
ETHER
INIT
ZOMBIE�
EXEC *
inter
control graph
execution graph
Outline GenoM Salient Examples Orocos@LAAS Conclusion 7
![Page 9: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/9.jpg)
GenoM The tool
InterfaceLibraries
TestProgram
Module�������������
����
� �����������
GenoM
FormalDescription
GenericModuleSkeleton
Parser
12
3
4
Codels
Algorithmsincluding
������������������
� �"! �#���������
• Formal description: input for GenoM
• Generation of the component: code generation and compilation
• Test and validation programs.
Outline GenoM Salient Examples Orocos@LAAS Conclusion 8
![Page 10: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/10.jpg)
Salient Examples Robots
Outline GenoM Salient Examples Orocos@LAAS Conclusion 9
![Page 11: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/11.jpg)
Salient Examples Lama
Sensing
Localisation
Motion generation
Environment maps
Navigation
W E
S
N
LocoPanoLoc
Tcl Scripts
Steo
Pan−Tilt
P3D
DEM
Stereo
ND
decisional level
Arc
ClassifTracker
Camera Pan−Tilt GPS
functional level
hardware level
PoM
Outline GenoM Salient Examples Orocos@LAAS Conclusion 10
![Page 12: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/12.jpg)
Salient Examples Lama
Outline GenoM Salient Examples Orocos@LAAS Conclusion 11
![Page 13: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/13.jpg)
Salient Examples Karma
W E
S
N
PSfrag replacements
Tcl Scripts
NAVTrajectoryPlanner
POMPositionManager
DEMTerrainMapping
PILOTTrajectoryControl
STEOVisualOdometry
STEREOStereoCorrelation
FLIGHTFlightControl
SMUAttitude
IMUIntertial GPS
CAMERAImageAcquisition
Traj. Pos.
Pos.Pos.
Pos.
Map
Spd
Spd
Pos.
3D
Vid.
Sensors / Effectors
Functional Components
Supervision Layer
Outline GenoM Salient Examples Orocos@LAAS Conclusion 12
![Page 14: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/14.jpg)
Salient Examples Diligent
Localisation
Sensing
Environment maps
Motion generation
XR4000
M2D
LocExt
Band
Grid
ND
Propice Supervision (Robels)
Zone
AR
Sick
Segloc
decisional level
Camera Pan−Tilt
functional level
hardware level
LocPost
Outline GenoM Salient Examples Orocos@LAAS Conclusion 13
![Page 15: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/15.jpg)
Orocos@LAAS Introduction
Development of a software framework that will:
• Maximize reusability of software
• Allow software and application sharing between labs and researchers
• Achieve a great modularity; allow dynamic connection of different componentstogether
• Eventually define a standard model for robotic software components.
Software architecture != Decisional architecture
but software architecture must take into account the constraints raised by the differentdecisional architectures that have been proposed.
Outline GenoM Salient Examples Orocos@LAAS Conclusion 14
![Page 16: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/16.jpg)
Orocos@LAAS Functional layer
Ro
bo
t
Orb
Ph
ysic
alL
ayer
Fu
nct
ion
al
W E
S
N
ENVIRONMENT
Hardware Abstraction Layer
Reports, Events
Control
Requests
Consitency checks
Localization Modelling Motion Trajectory
Communication
Outline GenoM Salient Examples Orocos@LAAS Conclusion 15
![Page 17: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/17.jpg)
Orocos@LAAS Modular Network of Components
• The control flow has to be defined outside components.
PSfrag replacements
ComponentComponent
Codel CodelCodelCodelCodel Codel
Task
Cntrl
Comm
Execution Control
Control Flow
Reflex ActionsSuper vised Actions
Outline GenoM Salient Examples Orocos@LAAS Conclusion 16
![Page 18: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/18.jpg)
Orocos@LAAS Modular Network of Components
• The control flow has to be defined outside components.
PSfrag replacements
ComponentComponent
Codel CodelCodelCodelCodel Codel
Task
Cntrl
Comm
Execution Control
Control Flow
Reflex ActionsSuper vised Actions
PSfrag replacements
Component
Codel
Task
Cntrl
Comm
Execution Control
Control Flow
Reflex ActionsSuper vised Actions
Outline GenoM Salient Examples Orocos@LAAS Conclusion 16
![Page 19: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/19.jpg)
Orocos@LAAS Modular Network of Components
• The control flow has to be defined outside components.
PSfrag replacements
ComponentComponent
Codel CodelCodelCodelCodel Codel
Task
Cntrl
Comm
Execution Control
Control Flow
Reflex ActionsSuper vised Actions
PSfrag replacements
Component
Codel
Task
Cntrl
Comm
Execution Control
Control Flow
Reflex Actions
Super vised Actions
Outline GenoM Salient Examples Orocos@LAAS Conclusion 16
![Page 20: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/20.jpg)
Orocos@LAAS Modular Network of Components
• The control flow has to be defined outside components.
PSfrag replacements
ComponentComponent
Codel CodelCodelCodelCodel Codel
Task
Cntrl
Comm
Execution Control
Control Flow
Reflex ActionsSuper vised Actions
PSfrag replacements
Component
Codel
Task
Cntrl
Comm
Execution Control
Control Flow
Reflex Actions
Super vised Actions
Outline GenoM Salient Examples Orocos@LAAS Conclusion 16
![Page 21: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/21.jpg)
Orocos@LAAS Data Flow
PSfrag replacements
ComponentComponent
CodelCodel CodelCodelCodel Codel
Task
Cntrl
Comm
Data Flow Management
Data Flow
• The data flow has to be defined outside components too.
Outline GenoM Salient Examples Orocos@LAAS Conclusion 17
![Page 22: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/22.jpg)
Orocos@LAAS Data Flow
PSfrag replacements
ComponentComponent
CodelCodel CodelCodelCodel Codel
Task
Cntrl
Comm
Data Flow Management
Data Flow
PSfrag replacements
Component
Codel
Task
Cntrl
Comm
Data Flow Management
Data Flow
• The data flow has to be defined outside components too.
Outline GenoM Salient Examples Orocos@LAAS Conclusion 17
![Page 23: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/23.jpg)
Orocos@LAAS Data Flow
PSfrag replacements
ComponentComponent
CodelCodel CodelCodelCodel Codel
Task
Cntrl
Comm
Data Flow Management
Data Flow
PSfrag replacements
Component
Codel
Task
Cntrl
Comm
Data Flow Management
Data Flow
• The data flow has to be defined outside components too.
Outline GenoM Salient Examples Orocos@LAAS Conclusion 17
![Page 24: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/24.jpg)
Orocos@LAAS Data Flow
PSfrag replacements
ComponentComponent
CodelCodel CodelCodelCodel Codel
Task
Cntrl
Comm
Data Flow Management
Data Flow
PSfrag replacements
Component
Codel
Task
Cntrl
Comm
Data Flow Management
Data Flow
• The data flow has to be defined outside components too.
Outline GenoM Salient Examples Orocos@LAAS Conclusion 17
![Page 25: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/25.jpg)
Orocos@LAAS Component Architecture
Components are made of three parts
• Codels: Actual code of the component,
split into elementary states,
• Execution engine: FSM that executes
the codels,
• Communication: import and export data
and parameters.
PSfrag replacements
Codels
Execution Engine
CommunicationInt. Desc.
Gen
eric
Spe
cific
Reports, Events Requests
ORB
HAL
Codels do not contain code related to communication or sequencing
Outline GenoM Salient Examples Orocos@LAAS Conclusion 18
![Page 26: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/26.jpg)
Orocos@LAAS Component Description Language
• The formal description of a component contains:
→ the list of services,
→ the set of codels for each services,
→ the services and codels interfaces (imported / exported data, parameters, ...),
→ the data structures that define parameters and exported data,
→ other information not detailed here.
• The formal description is a text file.
→ Data structures might be described in IDL (idependant of the programming lan-
guage used for the codels definition)
→ IDL is not sufficient.
Outline GenoM Salient Examples Orocos@LAAS Conclusion 19
![Page 27: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/27.jpg)
Orocos@LAAS Component Description Language
Overview of a service description (inputs, outputs, exports, imports, codels, ...):
service <name> {doc: "short description of the service";
thread: <name>;
/* input/output parameters */input|output: <type>, [<type>, ...];
/* imported/exported data */import|export: <type>, [<type>, ...];
codel <name> {exec: <function>( [const] <variable>, ...);max-time: <seconds>;next: <codel> [, <codel>, ...];
}
...}
Outline GenoM Salient Examples Orocos@LAAS Conclusion 20
![Page 28: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/28.jpg)
Orocos@LAAS Data Structures Repository
• Orocos must define standard objects.
→ IDL is a good choice for this task.
• Empty slide :-)
Outline GenoM Salient Examples Orocos@LAAS Conclusion 21
![Page 29: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/29.jpg)
Conclusion Dissemination
[OROCOS] European project (-) — EURON SIG
Open robot control software
[COMETS] European project (-)
Real time coordination and control of multiple heterogeneous unmanned aerial vehicles
AICIA (Portugal), LIU (Sweeden), LAAS (France), TUB (Germany)
• Disaster monitoring, environmental surveillance.
[Nasa-Ames] — Transfert
Autonomous Navigation in Outdoor Environments
• ATRV Junior, Linux.
[ACFR] (Sydney) — in the process of being defined
• Software architecture
Outline GenoM Salient Examples Orocos@LAAS Conclusion 22
![Page 30: Orocos @ LAAShomepages.laas.fr/mallet/orocos/3rd-meeting.pdf · 2002-11-19 · Orocos@LAAS Introduction Development of a software framework that will: Maximize reusability of software](https://reader033.vdocument.in/reader033/viewer/2022042316/5f04c29a7e708231d40f9150/html5/thumbnails/30.jpg)
Conclusion Ongoing and Future Work, Deadlines
• New GenoM tool — version 2
. More decoupling, more programming languages, more ‘standards’, BSD license.
. Version 2.0 in the beginning of 2003?
• Integration of Orocos@KULeuven
. Generic motion control component and dedicated execution engine.
. Version 0 in summer 2003?
• Integration of Orocos@KTH
. CORBA-based communication. Links with Orocos@KULeuven.
. 2003?
• Data structures repository→ 2003!
Outline GenoM Salient Examples Orocos@LAAS Conclusion 23