ICRA 2016 Tutorial

Organizers


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


Tutorial Content

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

Coffe break

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

All



Lecture 1 : Robot System Architectures: Hardware and Software co-design

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;

Reference documents



Lecture 2 : Robot Software Architectures : Modelling and Analysis

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

Reference documents

  • D. Brugali, "Model-Driven Software Engineering in Robotics", IEEE Robotics and Automation Magazine, Sept. 2015, pp. 155-166



Lecture 3 : Robot Architectures for Long-Term Autonomy

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.

Reference documents



Lecture 4 : Case Study of an Industrial Service Robotics Control Architecture

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.

Reference documents