A family of Domain-Specific Languages for specifying Civilian Missions of Multi-Robot Systems
-
Upload
ivano-malavolta -
Category
Technology
-
view
316 -
download
1
description
Transcript of A family of Domain-Specific Languages for specifying Civilian Missions of Multi-Robot Systems
Davide Di Ruscio Ivano Malavolta
Patrizio Pelliccione
A family of Domain-Specific Languages for specifying Civilian Missions
of Multi-Robot Systems
Roadmap
Background
Challenges
The family of languages
Application to autonomous quadrotors
Conclusions and future work
Civilian missions today
• High costs – team training and transportation
– operating costs
• Safety
– significant risks (e.g., fire, earthquake, etc.)
• Timing and endurance
– exhausting shifts
– activities stopped at night
Using robots for civilian missions [1]
Many civilian missions can be executed either by flying, ground or water robots
Multi-robots missions
Civilian missions can be executed by multiple robots à lower mission completion time à fault-tolerance w.r.t. mission goal fulfillment à enables the use of highly-specialized robots All the robots perform their actions to fulfil the common goal of
the mission
however...
common goal
Challenges
• On-site operators must be expert of all the types of used robots – in terms of dynamics, hardware capabilities, etc.
• On-site operators have to simultaneously control a large number of robots during the mission execution
• Robots provide very low-level APIs and very basic primitives – error-prone development
– task-specific robots
– no reuse These issues ask for • abstraction • automation
MDE for multi-robot missions
MDE allows all stakeholders to focus on models of the mission with concepts that are:
• closer to the application domain
• independent from the specific robot technologies
• enabling automation à autonomous robots
http://mdse-book.com
Application scenario[2]
The family of languages
Mission
Context
Map
MML
BL
Behavior
BL models synthesis
Robots configuration
Mission Execution Engine RL
Principles
Mask complexity à usable by non-technical experts
à domain-specific concepts
Independence w.r.t. the types of robots
Reuse of models
Robots must be autonomous
Monitoring mission language (MML)
Mission layer: sequence of tasks executed by a swarm of robots
extensible
Monitoring mission language (MML)
Context layer: geographical areas that can influence the execution of the mission
The focus is on spatial context
Robot language (RL)
Hardware and low-level configuration of each type of robot
Behaviour language (BL)
Atomic movements
and actions performed
by each robot of the
swarm
Involved stakeholders
Operator in-the-field stakeholder specifying the mission
Robot engineer – models a specific kind of robot
– develops the controller that instructs the robot on how to perform BL basic operations
Platform extender – extends the MML metamodel with new kinds of tasks
– develops a synthesizer for transforming each new task to its corresponding BL operations
MML
RL + controller
MML + synthesizer
Extension for autonomous quadrotors
Special kind of helicopter with:
• high stability
• omni-directional
• smaller fixed-pitch rotors
à safer than classical helicopters
• simple to design and construct
• relatively inexpensive
image from http://goo.gl/FJFS5l
Issues • require a trained pilot to operate them • restricted to line-of-sight range
Languages extensions
unchanged
MML
BL
RL
Example (1)
MML model (in the tool)
PG1
NF1
NF2
R1
home
Example (2)
Robot model (Parrot)
Example (3)
Behavioural model
Drone&D1&
Drone&D2&
Drone&D3&
Start&(ε,&ε)& Start&(ε,&ε)& Start&(ε,&ε)&
TakeOff&(ε,&ε)& TakeOff&(ε,&ε)& TakeOff&(ε,&ε)&
GoTo&(ε,&ε)&GoTo&(ε,&ε)& GoTo&(ε,&ε)&
GoTo&(ε,&{Photo})&GoTo&(ε,&{Photo})& GoTo&(ε,&{Photo})&
GoTo&(ε,{Photo,BroadCast(D3.R1.Done)})&
GoTo&(ε,&ε)&
Land&(ε,&ε)&
Stop&(ε,&ε)&
GoTo&(ε,&ε)&
Land&(ε,&ε)&
Stop&(ε,&ε)&
0GoTo&(ε,&{Photo,&&BroadCast&(D2.PG1.Done)})&
0GoTo&(ε,&ε)&
Land&(ε,&ε)&
Stop&(ε,&ε)&
GoTo(ε,&{Photo,&&BroadCast&(D1.PG1.Done)})&
PG1 PG1 R1
Tool support
Editor for MML models
M2M transformation +
models validation
Layer of controllers that interpret BL models at run-time
HTML5, CSS3, JavaScript
Java + OCL
Java + ROS + Rosbridge
Drone driver
any
Conclusions
Future work
Extend the languages with timing constraints Design a generic software architecture for
– mission editors, model transformations – run-time engine for executing the mission
Safety and security as first-class elements both at mission design-time and run-time A more systematic language extension mechanism (like in [3]) Exercise the family of languages with other kinds of robot (e.g., underwater missions)
References
[1] Skrzypietz, T.: Unmanned Aircraft Systems for Civilian Missions. BIGS policy paper. Brandenburgisches Institut fur Gesellschaft und Sicherheit. BIGS (2012) [2] Di Ruscio, D., Malavolta, I., Pelliccione, P.: Engineering a platform for mission planning of autonomous and resilient quadrotors. In: Fifth International Workshop, on Software Engineering for Resilient Systems , Springer Berlin Heidelberg (2013) 33–47 [3] Di Ruscio, D., Malavolta, I., Muccini, H., Pelliccione, P., Pierantonio, A.: Developing Next Generation ADLs Through MDE Techniques. In: Procs. ICSE’10, ACM (2010) 85–94
+ 39 380 70 21 600
Ivano Malavolta | Gran Sasso Science Institute
iivanoo
www.di.univaq.it/malavolta
Contact