SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
UNIVERSITY OF L’AQUILA
Federico Ciccozzi1, Davide Di Ruscio2, Ivano Malavolta3,
Patrizio Pelliccione4, Jana Tumova5
1Malardalen University (Sweden)
2University of L’Aquila (Italy)
3Vrije Universiteit Amsterdam (The Netherlands)
4Chalmers University of Technology | GU (Sweden)
5KTH Royal Institute of Technology (Sweden)
Engineering the software
of robotic systems
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Robots increasingly used in the near future
• Facilitating tasks of everyday life
• Social or an industrial facility of the
future (e.g., a hotel, an office, a
hospital, or a warehouse)
• Teams of robots provide services
and accomplish everyday tasks
such as object
handling/transportation, or pickup
and delivery operations
https://www.amazonrobotics.com
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Robots increasingly used in the near future
• Automating potentially dangerous tasks
• Substituting/assisting humans with robots is
safe, fast, and cost efficient
• Often the operator will not have the line-of-sight
to the robot
• Impractical and/or impossible to manually
control robots
• Other forms of navigational aids are required
Nuclear incident at Fukushima in Japan
after the 2011 earthquake and tsunami
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 4
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Robotic systems
“Software intensive systems composed of distributed,
heterogeneous software components interacting in a highly
dynamic, uncertain environment”
Arunkumar Ramaswamy, Bruno Monsuez, Adriana Tapus: Model-driven software development approaches in robotics research. In Procs of MiSE
at ICSE 2014: 43-48
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Robotic systems
They must work to achieve tasks while monitoring for, and
reacting to, unexpected situations
• Several sensors and actuators to be controlled in real time
• Significant uncertainty and noise to be managed
• Concurrently and asynchronously
David Kortenkamp, Reid G. Simmons, Davide Brugali: Robotic Systems Architectures and Programming. Springer Handbook of Robotics, 2nd Ed.
2016: 283-306
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Robotic systems
• In the last decade, a large number of middleware and
code libraries developed by different research
laboratories and universities have been produced
Arunkumar Ramaswamy, Bruno Monsuez, Adriana Tapus: Model-driven software development approaches in robotics research. In Procs of MiSE
at ICSE 2014: 43-48
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
State of the art / state of practice - ROS
• ROS (Robot Operating System)
• A very popular robot middleware package
• Peer-to-peer architecture among nodes over a
network
• Robot functionality split over multiple nodes
(processes)
• Nodes subscribe to and publish messages on
“topics”
• ROS Master runs topic registry
• Topics are named channels over which
messages are exchanged
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 9
http://robohub.org/ros-101-intro-to-the-robot-operating-system/
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 10
http://robohub.org/ros-101-intro-to-the-robot-operating-system/
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
State of the art / state of practice
Usually there are no system development processes (highlighted
by a lack of overall architectural models and methods). This
results in the need for craftsmanship in building robotic systems
instead of following established engineering processes.
H2020 Robotics Multi-Annual Roadmap ICT-2016.
http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Need of Turn-key solutions
• A robot pre-equipped and/or configured with the
right sensors for the specific mission
• Specification of the mission in a easy and user-
friendly way
• Robots should be smart, i.e. able to take decisions
on their own so to manage unpredictable situations
• Completely autonomous robots
• When the operator is unable to issue commands (due
to insufficient radio conditions etc.)
• Robots should be able to collaborate with humans
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Need of system engineering approaches
• Systematic processes, methods, models, and tools are
needed to create robotic systems for real-world applications
• “make or break” factor in the development of complex robot
systems
• Specification of the overall system architecture
• Re-usable robot building blocks for system integration in the
form of well defined modules with clear semantics and clearly
explained and well-defined properties
• Such a system of modular integration will stimulate component
supply chains and significantly alter the robotics market
place
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
• Easy to use robots - Enable stakeholder without
expertise in ICT or robotic to “program” or teach
robots and to interact/use them
• Easy to (re-)configure robots – (re-)configure
according to the specific domain and mission needs,
operating environment and external factors (design-
and/or run-time)
• Dealing with uncertainty – ability to adapt to
unknown, unpredictable, and dynamic operating
environment and self-learn
Turn-key solutions: challenges
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Key techniques/methods
Model-driven software development (MDSD) and DSL (domain
specific languages) are core technologies required in order to
achieve a separation of roles in the robotics domain while also
improving compose-ability, system integration and also
addressing non-functional properties.
H2020 Robotics Multi-Annual Roadmap ICT-2016.
http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
What is a Model?
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Model
A simplification of a system built with an
intended goal in mind. The model should be
able to answer questions in place of the actual
system
[Bézivin et al. 2001]
• A model has an intent, a purpose related to
a specific consumer
• It is always an abstraction of the reality
• It describes a subject that exists or that is
intended to exist in the future
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Models
Model	 Intent	Subject	
Consumer	
The	thing	that	
the	model	is	
about	
Model	created	with	
the	intent	that	sa9sfies	
a	par9cular	purpose	
Uses	the	model	to	
sa9sfy/achieve	
her/his	goals
Model-Driven Engineering
=
Abstraction + Automation + Analysis
Model-Driven Engineering
=
Abstraction + Automation + Analysis
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
The promise of MDE
• Improve the time and effort required to program
and design a robotic system to tackle a new task
in a new domain
• efficient reuse of components
• most engineering tasks like robot program
generation will be performed automatically
• The robot designer can concentrate on the
creative tasks
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Use of models in the robotic domain
Arunkumar Ramaswamy, Bruno Monsuez, Adriana Tapus: Model-driven software development approaches in robotics research. In Procs of MiSE
at ICSE 2014: 43-48
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 23Davide Brugali, Luca Gherardi: HyperFlex: A Model Driven Toolchain for Designing and Configuring Software Control Systems for Autonomous
Robots. In Robot Operating System (ROS): The Complete Reference (Volume 1), pp.509-534 (2016)
• Approach to select and integrate a
coherent set of components providing
required functionalities
• Management of mutual component
dependencies and architectural
mismatches
• Variability-free architectural models are
transformed into configuration files
• deployment of the functional systems
(e.g. the ROS launch files)
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
H2020 Robotics Multi-Annual Roadmap ICT-2016.
http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf
Use of models in the robotic domain
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Step 1: models are used by persons
Code
generation
• Advantages
• Hide complexity
• Engineers can focus on
more creative activities
• Reusability
• Modularity
• Automating repetitive tasks
• Improve quality
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Step 2: Robots use models at run-time
Controller(
Normal
behaviour
Abnormal
behaviour
Yes No
Check
Incoming message
Sending message,
action
(to be checked)
Sending message
(checked)
?m1
?m2
a1
a2
a3
a5
!m3
a4
Local
exceptions
Error
recovery
Failure
exception
Update
• Advantages
• Exploit models to
understand the reality
• Monitor that the execution
of the mission is “correct”
• Understand the
environment
• Understand how to self-
adapt
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Step 3: Robots adapt models and improve them
Controller(
Normal
behaviour
Abnormal
behaviour
Yes No
Check
Incoming message
Sending message,
action
(to be checked)
Sending message
(checked)
?m1
?m2
a1
a2
a3
a5
!m3
a4
Local
exceptions
Error
recovery
Failure
exception
Update
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
H2020 Robotics Multi-Annual Roadmap ICT-2016.
http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf
Use of models in the robotic domain
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 29
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
ROS – Pros
• Offers standardized interfaces providing
hardware abstraction
• Commonly used in academia and some
industries
• Portability
• Loose coupling
• Nodes substitution
• Scalability till a certain limit
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
ROS – Cons 1/2
• No support for multiple platforms
• Not fully supported in Windows, OSX
• Scalability
• Overhead of the messaging system
• Performance with a large number of nodes
• Difficult to figure out the communication of the overall system
• Error prone for large and complex systems
• Monitoring
• Limited failure detection and restart
• No detection of network disconnections or runtime
errors
• One failing node can poison the entire system
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
ROS – Cons 1/2
• Inflexible semantic coupling
• Communication based on an agreed and established set of
topics
• Message delivery issues
• What’s happen is the supposed listener is not (yet) listening?
• Not supporting real-time requirements
• Unsupported management of devices configuration
• Confusing ecosystem
• Difficult to understand the released libraries
• Security/unauthorized listener
• Learning curve/documentation
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
ROS 2
• Support for
• Real-time requirements
• Multi-robots
• Small embedded platforms
• No ideal network
• …
• Release plan
• Beta 2 – June 14th, 2017
• Beta 3 – September 13th, 2017
• Version 1.0 – December 13th, 2017
Further info: https://github.com/ros2/ros2/wiki
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Main barriers: integration and interoperability
• Integration
• Formalisms and algorithms over different modules
(perception, planning, learning, envisioning etc.) are
typically incompatible
• The top performing state-of-the-art modules are often
the hardest to integrate, because they use
sophisticated and incompatible representations and
algorithms that must first be adapted to the needs of
robot control
• Interoperability of robotic components
• Lack of interoperability standards
• Lack of well-defined interfaces with clear semantics
H2020 Robotics Multi-Annual Roadmap ICT-2016.
http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Easy to use robots
• Intuitive Human Robot Interfaces for use
and configuration, teach or specify task
using domain specific terminology
• Interactions and collaborations with
operators and other robots should be
safe, intuitive and appropriate
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Easy to (re-)configure robots
• Software configuration may take place at design-time or at run-
time as a result of the end user selection of operating parameters
• Run-time Self-Configuration
• The system can alter its own configuration within a pre-determined
set of alternative configurations designed into the system
• Autonomous Configuration
• The system can alter its own configuration in response to external
factors, for example altering its morphology in response to the
failure of a sensor or actuator
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Dealing with uncertainty
• The robot should be able to respond to changes in potentially
unstructured and dynamic operating environments
• Adjustment as a result of perception and the decisional
mechanisms
• Adaptation as a result of self-learning from its experience
• Cooperative missions - teams of both heterogeneous and
homogeneous robots (and potentially in collaboration with
humans) that collaborate and cooperate to accomplish complex
missions
UNIVERSITY OF L’AQUILA
Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova
Descriptive vs
Prescriptive models
• The purpose is related to the consumer of the model
and to her/his/its characteristics.
• A consumer might be a human but it can also be a
software system.
• It is then clear that consumer and intent are two
aspects that strongly influence the abstraction level
of the model as well as the concrete syntax used to
describe and present the model, e.g. graphical,
textual, and/or tree-like.
• The importance of a model might vary during its
lifetime.
• By observing a model from the consumer point of
view, it is hard to understand if the model is
prescriptive or descriptive.
Model IntentSubject
Consumer
The thing that
the model is
about
Model created with the intent
that satisfies a particular
purpose
Uses the model to satisfy/
achieve his goals
Descrip(ve	
Model	
is	described	by	
Subject	
Prescrip(ve	
Model	
prescribes	
Subject	
Rogardt Heldal, Patrizio Pelliccione, Ulf Eliasson, Jonn Lantz, Jesper Derehag, Jon Whittle (2016) Descriptive vs Prescriptive Models in Industry In:
Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016).

Contenu connexe

Similaire à Engineering the software of robotic systems - 1 - Introduction [ICSE 2017 - technical briefing]

SOFIA - Semantic Technologies and Techniques for Interoperable Information in...
SOFIA - Semantic Technologies and Techniques for Interoperable Information in...SOFIA - Semantic Technologies and Techniques for Interoperable Information in...
SOFIA - Semantic Technologies and Techniques for Interoperable Information in...Sofia Eu
 
Final teit syllabus_2012_course_04.06.2014
Final teit syllabus_2012_course_04.06.2014Final teit syllabus_2012_course_04.06.2014
Final teit syllabus_2012_course_04.06.2014deepti112233
 
Csedu2018 keynote saliah-hassane_final
Csedu2018 keynote saliah-hassane_finalCsedu2018 keynote saliah-hassane_final
Csedu2018 keynote saliah-hassane_finalHamadou Saliah-Hassane
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortJordi Cabot
 
Robotics of Future
Robotics of FutureRobotics of Future
Robotics of FutureSrijan Das
 
SMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st IssueSMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st IssueSmarcos Eu
 
A Preliminary Study on Architecting Cyber-Physical Systems
A Preliminary Study on Architecting Cyber-Physical SystemsA Preliminary Study on Architecting Cyber-Physical Systems
A Preliminary Study on Architecting Cyber-Physical SystemsHenry Muccini
 
Resumee thiago lima
Resumee thiago limaResumee thiago lima
Resumee thiago limaThiago Lima
 
The Toolkit Approach for Endggh-user.pdf
The Toolkit Approach for Endggh-user.pdfThe Toolkit Approach for Endggh-user.pdf
The Toolkit Approach for Endggh-user.pdfHakkemB
 
London Futurists - The Future of AI & Sustainability
London Futurists - The Future of AI & SustainabilityLondon Futurists - The Future of AI & Sustainability
London Futurists - The Future of AI & SustainabilityAlex Housley
 
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...Manuel Castro
 
Patterns for New Software Engineering: Machine Learning and IoT Engineering P...
Patterns for New Software Engineering: Machine Learning and IoT Engineering P...Patterns for New Software Engineering: Machine Learning and IoT Engineering P...
Patterns for New Software Engineering: Machine Learning and IoT Engineering P...Hironori Washizaki
 
Software Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsHironori Washizaki
 
Industrial experience at Ixonos
Industrial experience  at  IxonosIndustrial experience  at  Ixonos
Industrial experience at IxonosLorenzo Davoli
 
The LEGO Maturity & Capability Model Approach
The LEGO Maturity & Capability Model ApproachThe LEGO Maturity & Capability Model Approach
The LEGO Maturity & Capability Model ApproachLuigi Buglione
 
20130524 hybrid worldsmultirobot_cignonifedi
20130524 hybrid worldsmultirobot_cignonifedi20130524 hybrid worldsmultirobot_cignonifedi
20130524 hybrid worldsmultirobot_cignonifediacignoni
 

Similaire à Engineering the software of robotic systems - 1 - Introduction [ICSE 2017 - technical briefing] (20)

SOFIA - Semantic Technologies and Techniques for Interoperable Information in...
SOFIA - Semantic Technologies and Techniques for Interoperable Information in...SOFIA - Semantic Technologies and Techniques for Interoperable Information in...
SOFIA - Semantic Technologies and Techniques for Interoperable Information in...
 
Final teit syllabus_2012_course_04.06.2014
Final teit syllabus_2012_course_04.06.2014Final teit syllabus_2012_course_04.06.2014
Final teit syllabus_2012_course_04.06.2014
 
Csedu2018 keynote saliah-hassane_final
Csedu2018 keynote saliah-hassane_finalCsedu2018 keynote saliah-hassane_final
Csedu2018 keynote saliah-hassane_final
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effort
 
Robotics of Future
Robotics of FutureRobotics of Future
Robotics of Future
 
SMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st IssueSMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st Issue
 
A Preliminary Study on Architecting Cyber-Physical Systems
A Preliminary Study on Architecting Cyber-Physical SystemsA Preliminary Study on Architecting Cyber-Physical Systems
A Preliminary Study on Architecting Cyber-Physical Systems
 
Software Architecture in an Agile World
Software Architecture in an Agile WorldSoftware Architecture in an Agile World
Software Architecture in an Agile World
 
TRIK robotics
TRIK robotics TRIK robotics
TRIK robotics
 
Resumee thiago lima
Resumee thiago limaResumee thiago lima
Resumee thiago lima
 
CV VD Mohire-Research
CV VD Mohire-ResearchCV VD Mohire-Research
CV VD Mohire-Research
 
The Toolkit Approach for Endggh-user.pdf
The Toolkit Approach for Endggh-user.pdfThe Toolkit Approach for Endggh-user.pdf
The Toolkit Approach for Endggh-user.pdf
 
London Futurists - The Future of AI & Sustainability
London Futurists - The Future of AI & SustainabilityLondon Futurists - The Future of AI & Sustainability
London Futurists - The Future of AI & Sustainability
 
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...
An Open and Improved VISIR System Through PILAR Federation for Electrical/Ele...
 
Self io t-intro
Self io t-introSelf io t-intro
Self io t-intro
 
Patterns for New Software Engineering: Machine Learning and IoT Engineering P...
Patterns for New Software Engineering: Machine Learning and IoT Engineering P...Patterns for New Software Engineering: Machine Learning and IoT Engineering P...
Patterns for New Software Engineering: Machine Learning and IoT Engineering P...
 
Software Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning Applications
 
Industrial experience at Ixonos
Industrial experience  at  IxonosIndustrial experience  at  Ixonos
Industrial experience at Ixonos
 
The LEGO Maturity & Capability Model Approach
The LEGO Maturity & Capability Model ApproachThe LEGO Maturity & Capability Model Approach
The LEGO Maturity & Capability Model Approach
 
20130524 hybrid worldsmultirobot_cignonifedi
20130524 hybrid worldsmultirobot_cignonifedi20130524 hybrid worldsmultirobot_cignonifedi
20130524 hybrid worldsmultirobot_cignonifedi
 

Plus de Ivano Malavolta

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Ivano Malavolta
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)Ivano Malavolta
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green ITIvano Malavolta
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Ivano Malavolta
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]Ivano Malavolta
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Ivano Malavolta
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Ivano Malavolta
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Ivano Malavolta
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Ivano Malavolta
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Ivano Malavolta
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Ivano Malavolta
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Ivano Malavolta
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile developmentIvano Malavolta
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architecturesIvano Malavolta
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 

Plus de Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 

Dernier

ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxJoão Esperancinha
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 

Dernier (20)

ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptx
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 

Engineering the software of robotic systems - 1 - Introduction [ICSE 2017 - technical briefing]

  • 1. UNIVERSITY OF L’AQUILA Federico Ciccozzi1, Davide Di Ruscio2, Ivano Malavolta3, Patrizio Pelliccione4, Jana Tumova5 1Malardalen University (Sweden) 2University of L’Aquila (Italy) 3Vrije Universiteit Amsterdam (The Netherlands) 4Chalmers University of Technology | GU (Sweden) 5KTH Royal Institute of Technology (Sweden) Engineering the software of robotic systems
  • 2. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Robots increasingly used in the near future • Facilitating tasks of everyday life • Social or an industrial facility of the future (e.g., a hotel, an office, a hospital, or a warehouse) • Teams of robots provide services and accomplish everyday tasks such as object handling/transportation, or pickup and delivery operations https://www.amazonrobotics.com
  • 3. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Robots increasingly used in the near future • Automating potentially dangerous tasks • Substituting/assisting humans with robots is safe, fast, and cost efficient • Often the operator will not have the line-of-sight to the robot • Impractical and/or impossible to manually control robots • Other forms of navigational aids are required Nuclear incident at Fukushima in Japan after the 2011 earthquake and tsunami
  • 4. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 4
  • 5. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Robotic systems “Software intensive systems composed of distributed, heterogeneous software components interacting in a highly dynamic, uncertain environment” Arunkumar Ramaswamy, Bruno Monsuez, Adriana Tapus: Model-driven software development approaches in robotics research. In Procs of MiSE at ICSE 2014: 43-48
  • 6. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Robotic systems They must work to achieve tasks while monitoring for, and reacting to, unexpected situations • Several sensors and actuators to be controlled in real time • Significant uncertainty and noise to be managed • Concurrently and asynchronously David Kortenkamp, Reid G. Simmons, Davide Brugali: Robotic Systems Architectures and Programming. Springer Handbook of Robotics, 2nd Ed. 2016: 283-306
  • 7. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Robotic systems • In the last decade, a large number of middleware and code libraries developed by different research laboratories and universities have been produced Arunkumar Ramaswamy, Bruno Monsuez, Adriana Tapus: Model-driven software development approaches in robotics research. In Procs of MiSE at ICSE 2014: 43-48
  • 8. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova State of the art / state of practice - ROS • ROS (Robot Operating System) • A very popular robot middleware package • Peer-to-peer architecture among nodes over a network • Robot functionality split over multiple nodes (processes) • Nodes subscribe to and publish messages on “topics” • ROS Master runs topic registry • Topics are named channels over which messages are exchanged
  • 9. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 9 http://robohub.org/ros-101-intro-to-the-robot-operating-system/
  • 10. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 10 http://robohub.org/ros-101-intro-to-the-robot-operating-system/
  • 11. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova State of the art / state of practice Usually there are no system development processes (highlighted by a lack of overall architectural models and methods). This results in the need for craftsmanship in building robotic systems instead of following established engineering processes. H2020 Robotics Multi-Annual Roadmap ICT-2016. http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf
  • 12. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Need of Turn-key solutions • A robot pre-equipped and/or configured with the right sensors for the specific mission • Specification of the mission in a easy and user- friendly way • Robots should be smart, i.e. able to take decisions on their own so to manage unpredictable situations • Completely autonomous robots • When the operator is unable to issue commands (due to insufficient radio conditions etc.) • Robots should be able to collaborate with humans
  • 13. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Need of system engineering approaches • Systematic processes, methods, models, and tools are needed to create robotic systems for real-world applications • “make or break” factor in the development of complex robot systems • Specification of the overall system architecture • Re-usable robot building blocks for system integration in the form of well defined modules with clear semantics and clearly explained and well-defined properties • Such a system of modular integration will stimulate component supply chains and significantly alter the robotics market place
  • 14. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova • Easy to use robots - Enable stakeholder without expertise in ICT or robotic to “program” or teach robots and to interact/use them • Easy to (re-)configure robots – (re-)configure according to the specific domain and mission needs, operating environment and external factors (design- and/or run-time) • Dealing with uncertainty – ability to adapt to unknown, unpredictable, and dynamic operating environment and self-learn Turn-key solutions: challenges
  • 15. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Key techniques/methods Model-driven software development (MDSD) and DSL (domain specific languages) are core technologies required in order to achieve a separation of roles in the robotics domain while also improving compose-ability, system integration and also addressing non-functional properties. H2020 Robotics Multi-Annual Roadmap ICT-2016. http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf
  • 16. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova What is a Model?
  • 17. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Model A simplification of a system built with an intended goal in mind. The model should be able to answer questions in place of the actual system [Bézivin et al. 2001] • A model has an intent, a purpose related to a specific consumer • It is always an abstraction of the reality • It describes a subject that exists or that is intended to exist in the future
  • 18. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Models Model Intent Subject Consumer The thing that the model is about Model created with the intent that sa9sfies a par9cular purpose Uses the model to sa9sfy/achieve her/his goals
  • 21. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova The promise of MDE • Improve the time and effort required to program and design a robotic system to tackle a new task in a new domain • efficient reuse of components • most engineering tasks like robot program generation will be performed automatically • The robot designer can concentrate on the creative tasks
  • 22. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Use of models in the robotic domain Arunkumar Ramaswamy, Bruno Monsuez, Adriana Tapus: Model-driven software development approaches in robotics research. In Procs of MiSE at ICSE 2014: 43-48
  • 23. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 23Davide Brugali, Luca Gherardi: HyperFlex: A Model Driven Toolchain for Designing and Configuring Software Control Systems for Autonomous Robots. In Robot Operating System (ROS): The Complete Reference (Volume 1), pp.509-534 (2016) • Approach to select and integrate a coherent set of components providing required functionalities • Management of mutual component dependencies and architectural mismatches • Variability-free architectural models are transformed into configuration files • deployment of the functional systems (e.g. the ROS launch files)
  • 24. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova H2020 Robotics Multi-Annual Roadmap ICT-2016. http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf Use of models in the robotic domain
  • 25. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Step 1: models are used by persons Code generation • Advantages • Hide complexity • Engineers can focus on more creative activities • Reusability • Modularity • Automating repetitive tasks • Improve quality
  • 26. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Step 2: Robots use models at run-time Controller( Normal behaviour Abnormal behaviour Yes No Check Incoming message Sending message, action (to be checked) Sending message (checked) ?m1 ?m2 a1 a2 a3 a5 !m3 a4 Local exceptions Error recovery Failure exception Update • Advantages • Exploit models to understand the reality • Monitor that the execution of the mission is “correct” • Understand the environment • Understand how to self- adapt
  • 27. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Step 3: Robots adapt models and improve them Controller( Normal behaviour Abnormal behaviour Yes No Check Incoming message Sending message, action (to be checked) Sending message (checked) ?m1 ?m2 a1 a2 a3 a5 !m3 a4 Local exceptions Error recovery Failure exception Update
  • 28. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova H2020 Robotics Multi-Annual Roadmap ICT-2016. http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf Use of models in the robotic domain
  • 29. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova 29
  • 30. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova ROS – Pros • Offers standardized interfaces providing hardware abstraction • Commonly used in academia and some industries • Portability • Loose coupling • Nodes substitution • Scalability till a certain limit
  • 31. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova ROS – Cons 1/2 • No support for multiple platforms • Not fully supported in Windows, OSX • Scalability • Overhead of the messaging system • Performance with a large number of nodes • Difficult to figure out the communication of the overall system • Error prone for large and complex systems • Monitoring • Limited failure detection and restart • No detection of network disconnections or runtime errors • One failing node can poison the entire system
  • 32. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova ROS – Cons 1/2 • Inflexible semantic coupling • Communication based on an agreed and established set of topics • Message delivery issues • What’s happen is the supposed listener is not (yet) listening? • Not supporting real-time requirements • Unsupported management of devices configuration • Confusing ecosystem • Difficult to understand the released libraries • Security/unauthorized listener • Learning curve/documentation
  • 33. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova ROS 2 • Support for • Real-time requirements • Multi-robots • Small embedded platforms • No ideal network • … • Release plan • Beta 2 – June 14th, 2017 • Beta 3 – September 13th, 2017 • Version 1.0 – December 13th, 2017 Further info: https://github.com/ros2/ros2/wiki
  • 34. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Main barriers: integration and interoperability • Integration • Formalisms and algorithms over different modules (perception, planning, learning, envisioning etc.) are typically incompatible • The top performing state-of-the-art modules are often the hardest to integrate, because they use sophisticated and incompatible representations and algorithms that must first be adapted to the needs of robot control • Interoperability of robotic components • Lack of interoperability standards • Lack of well-defined interfaces with clear semantics H2020 Robotics Multi-Annual Roadmap ICT-2016. http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf
  • 35. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Easy to use robots • Intuitive Human Robot Interfaces for use and configuration, teach or specify task using domain specific terminology • Interactions and collaborations with operators and other robots should be safe, intuitive and appropriate
  • 36. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Easy to (re-)configure robots • Software configuration may take place at design-time or at run- time as a result of the end user selection of operating parameters • Run-time Self-Configuration • The system can alter its own configuration within a pre-determined set of alternative configurations designed into the system • Autonomous Configuration • The system can alter its own configuration in response to external factors, for example altering its morphology in response to the failure of a sensor or actuator
  • 37. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Dealing with uncertainty • The robot should be able to respond to changes in potentially unstructured and dynamic operating environments • Adjustment as a result of perception and the decisional mechanisms • Adaptation as a result of self-learning from its experience • Cooperative missions - teams of both heterogeneous and homogeneous robots (and potentially in collaboration with humans) that collaborate and cooperate to accomplish complex missions
  • 38. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Descriptive vs Prescriptive models • The purpose is related to the consumer of the model and to her/his/its characteristics. • A consumer might be a human but it can also be a software system. • It is then clear that consumer and intent are two aspects that strongly influence the abstraction level of the model as well as the concrete syntax used to describe and present the model, e.g. graphical, textual, and/or tree-like. • The importance of a model might vary during its lifetime. • By observing a model from the consumer point of view, it is hard to understand if the model is prescriptive or descriptive. Model IntentSubject Consumer The thing that the model is about Model created with the intent that satisfies a particular purpose Uses the model to satisfy/ achieve his goals Descrip(ve Model is described by Subject Prescrip(ve Model prescribes Subject Rogardt Heldal, Patrizio Pelliccione, Ulf Eliasson, Jonn Lantz, Jesper Derehag, Jon Whittle (2016) Descriptive vs Prescriptive Models in Industry In: Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016).