Model Based Robot Software Development
Jakob Schwendner DFKI Bremen & Universität Bremen Robotics Innovation Center www.dfki.de/robotics [email protected]
2
Motivation
• Robot complexity and task complexity is growing
• Costly development • How to handle the
complexity? Modules Models
Schaft Robotics / DARPA
Modules allow reuse – Models say how
3
Robot Development
• Process should be Structured – development process Reproducible – design & behaviour Scalable – in system and development complexity Dynamic – on-line reconfigurability
• Three different views Behaviour Hardware Software
4
Robot Development - Behaviour
• Process should be Structured Reproducible Scalable Dynamic
• Three different views Behaviour Hardware Software
CognitionExplanation
ModelsMotivation/Goals
SelectionPolicies
CognitionSensors
SensomotoricActuators
Model Based Framework
Pred
ictio
n
Reactive
Decisions
Beh
avio
ur C
ompl
exity
5
Robot Development - Hardware
• Process should be Structured Reproducible Scalable Dynamic
• Three different views Behaviour Hardware Software
Components
Modules
Systems
System of Systems
Mixed Teams
Agg
rega
tion
and
Stru
ctur
al C
ompl
exity
6
Robot Development - Software
• Process should be Structured Reproducible Scalable Dynamic
• Three different views Behaviour Hardware Software
PropertiesComponents
Compositions
Tasks
Execution Units
Network
Runtime Management
Modelling Execution
CPU
CPU
MCU FPGA
Mapping
Alg
orith
mic
Com
plex
ity
7
Development Relations
Components
Modules
Systems
PropertiesComponents
Compositions
Tasks
System of Systems
Mixed Teams
Execution Units
Network
Runtime Management
Modelling Execution
A) Control / Behaviour B) Hardware
C) Software
Beha
viou
r Com
plex
ity
Aggr
egat
ion
and
Stru
ctur
al C
ompl
exity
CPU
CPU
MCU FPGA
CognitionExplanation
ModelsMotivation/Goals
SelectionPolicies
CognitionSensors
SensomotoricActuators
Model Based Framework
Pred
ictio
n
Reactive
Decisions
Behavior ModelsBehavior ModelsBehavior Models
DROCK
Mapping
Hardware ModelsHardware
ModelsHardware
Models
8
DROCK Project
• Objectives: Modelling of robotic structure Mapping of tasks onto execution units Execution and monitoring with dynamic reconfiguration Tools to support the development Evaluation of toolset in demo scenario and user study
Goal: Design and implementation of a framework and tools for robot programming.
9
Challenges
• Modelling Consistent models Practical focus on robotic problems
• Mapping Requires robot specific heuristics Deployment on heterogenous units (CPU, uC, FPGA)
• Execution Monitoring in heterogenous environment Decision on reconfiguration Distributed supervision
10
Tools
Behaviour
Software
Hardware
Modelling Tools
Modelling Tools
Modelling Tools Mapping Tools
Deployed Binaries
Execution Framework
Behaviour Models
Software Models
Hardware Models
Design Time Run Time
11
State of the Art • ROS (Robot Operating System)
Implicit component model Low-resistance workflow – ad-hoc development Topic based communication
• Orocos RTT Implicit component model Point to point connections Real-time capable
• GenoM Explicit component model Capable of generating Behaviour Interaction Priority (BIP)
• Rock Explict component and network model Orocos RTT as Middleware Dynamic run-time reconfiguration
12
Robot Construction Kit (ROCK)
• www.rock-robotics.org • rock.opendfki.de • github
• Development started in 2008 • Running on more than 12 Robots at
DFKI/RIC • In use by ESA ESTEC, Space
Applications, Marum, Geomar, etc. • 199+ library packages (internal +
external) • 136+ component packages • 80 messages / month on rock-
[email protected] • 30 active members on mailing list in
last 6 months
13
Industrial Applications • Industrial robotics will change • Complex tasks – human shared environments • Model based approach
Robust ► Generic instantiation ► Generic failure handling
Verification ► Component level testing ► Correct by construction ► Model inference
• Industrial Use Space Off-shore Human shared
NASA / JPL
Oceaneering
BMW AG