|Prof. Davide Brugali
University of Bergamo, Italy
|Prof. Jan F. Broenink
University of Twente, Netherlands
|Dr. Nick Hawes
University of Birmingham, UK
|Mr. Christian Reuther
MetraLabs GmbH, Germany
Autonomous robots are versatile machines equipped with a rich set of software functionalities, typically deployed on a distributed computing infrastructure with stringent resource constraints, for interacting purposefully and in real-time with an open-ended environment through sensors and actuators.
For these systems, a critical development phase is the design of the control architecture, which represents the partitioning of the control system into parts, with specific relationships among the parts, and makes the set of parts work together as a coherent and successful whole. As such, the control architectures define the rules and constraints that
determine the overall behavior of the control system and that guarantee system quality attributes, such as dependability and safety.
The tutorial consists in a set of four lectures:
|13:30 - 13:40||
Introduction to the tutorial theme
Prof. Davide Brugali
|13:40 - 14:30||
Lecture 1 : Robot System Architectures: Hardware and Software co-design
Prof. Jan F. Broenink
|14:30 - 15:20||
Lecture 2 : Robot Software Architectures : Modelling and Analysis
Prof. Davide Brugali
|15:40 - 16:30||
Lecture 3 : Robot Architectures for Long-Term Autonomy
Dr. Nick Hawes
|16:30 - 17:20||
Lecture 4 : Case Study of an Industrial Service Robotics Control Architecture
Mr. Christian Reuther
|17:20 - 18:00||
Open discussion on research directions in robot control architectures
In dealing with system architectures for robotic and automation systems (RAS), it is crucial to consider the total system (machine, control, software and I/O), because the dynamics of the machine infuences the robot software. Therefore, we use appropriate Models of Computation and tools, namely bond graphs for the machine part, dataflow diagrams for the algorithm / software parts. Via meta-models, these formalisms are related. This allows for a structured approach for designing the architecture of the RAS.
The design work is done as a stepwise refinement process, whereby each step is verified via simulation, yielding shorter design time, and a better quality product.
The tools use templates and pass model-specific information between eachother via parameterized tokens in the generated, high-level code, to get a better separation of design steps. This allows for better quality of the models and more reuse, thus enhancing the efficiency of model-driven design for the (industrial) end user.
This approach is illustrated with a case on incorporating safety layers in the system architecture.
Topics: Robotic System Architecture; Cyber-Physical Systems; Models of Computation; Bond Graphs; Dataflow Diagrams; CSP - process algebra; Stepwise Refinement; Design Space Exploration; Safely Layer;
J. F. Broenink and Y. Ni, “Model-driven robot-software design using integrated models and co-simulation,” in Proceedings of IEEE SAMOS XII conference, J. McAllister and S. Bhattacharyya, Eds., ISBN: 978-1-4673-2297-3, Jul. 2012, pp. 339 – 344.
Y. Ni and J. F. Broenink , A co-modelling method for solving incompatibilities during co-design of mechatronic devices, Advanced Engineering Informatics, 28:3, 2014, pp 232 - 240. Article
J. F. Broenink, Introduction to physical systems modeling with bond graphs, University of Twente, 1999, pp 31.
The use of models and modeling languages can have a high impact on the product life cycle of robotic software systems, mostly because they can embed the knowledge of experts in multiple scientific and technological domains (e.g., mechanics, control, and cognitive sciences) and support the automatic transition from the problem space (the robotic requirements) to the solution space (the software implementation).
Software architecture design is a multidimensional decision-making process and different software models are needed to describe the system from multiple perspectives, such as
structure, behavior, and nonfunctional properties.
This lecture will illustrate models and approaches for supporting the design and analysis of robot software architectures.
Topics: Component-based systems, Model-driven Engineering, UML MARTE, Software Product Lines
D. Brugali, "Model-Driven Software Engineering in Robotics", IEEE Robotics and Automation Magazine, Sept. 2015, pp. 155-166
This lecture will cover the problems faced when designing and developing robot architectures for long-term autonomy in everyday environments. We will focus on mobile service robots operating in buildings such as offices and care homes, and look at the challenges in creating these, including: long-term operation, robustness, error logging and recovery, simulation, testing, remote debugging, and life-long adaptation. Examples of problems and solutions will be drawn from the STRANDS project, which has deployed autonomous mobile robots for durations of up to month in real service environments.
Topics: Service robots, mobile robots, long-term autonomy, software architecture, ROS.
This lecture will cover the design and implementation of a general control architecture for industrial service robotics applications. We will analyse the control architecture of the mobile inventory robot TORY to illustrate the use of interconnected software control systems at different levels of abstraction, as well as to exemplify implementation considerations and details of such systems. We will show typical operational parameters, interfaces and constraints of industrial applications, and examine their influence on reliable yet flexible control architecture realisation using tools like robotics middlewares, finite state machines and feedback control algorithms.
Topics: Mobile service robots, control architectures, software design, robotics middlewares, finite state machines, control algorithms, industrial case study, implementation details.