Supervisory control theory applied to swarm robotics
Yuri K Lopes, Stefan M Trenkwalder, Andrè B Leal, Tony J Dodd and Roderich Groß
Abstract
Currently, the control software of swarm robotic systems is created by ad-hoc development. This makes it difficult to deploy swarm robotic systems in real-world scenarios. Ad-hoc development is onerous to maintain and difficult to analyse.
Formal approaches can contribute to overcoming these problems. However, they usually do not guarantee that the implementation matches the modelled specification, because the porting from specification to control code is, in general, a manual process.
Also, there is cultural resistance to apply formal approaches. They may be perceived as an additional step that do not aggregate value to the final product.
To address these problems, we propose supervisory control theory for the domain of swarm robotics. We present a series of case studies conducted with two physical swarm robotic platforms: the Kilobot and the e-puck.
The advantages of supervisory control theory are the reduction in the amount of ad-hoc development, the automatic porting of the control logic from specification to code, and the reusability of formally designed controllers between different robotic platforms.
Usage of Nadzoru
Nadzoru is an open-source development tool for supervisory control synthesis. With a user-friendly GUI, models can be created, analysed, and simulated.
The source code of controllers can be automatically generated. By changing the templates, this tool can generate code for different devices from the same model.
Watch a video showing the usage of Nadzoru.
Highlight video
Watch a video, showing a selection of all conducted experiments.
Orbit case study
This case study presents two robots where one robot is static and the other orbits counter-clockwise around it. (Rubenstein et al. 2012).
The distance between those robots gets measured by sending/receiving an infra-red message from the static to the orbiting robot.
The orbiting robot modulates its behaviour according to its distance:
- If it is too close, the robot turns clock-wise.
- If it is too far away, the robot turns counter-clockwise.
- If the robot is inside the boundary defined by thresholds it moves forward.
Trial videos
- Kilobot: Trials 1-10
- e-puck: Trials 1-10
Segregation case study
This case study separates robots into three distinct groups (indicated by three different colours) (Lopes et al. 2014). In this study, we used red, green, and blue.
Each group has a leader, which sends out its identifier like a beacon. A follower robot tries to find a situation where it only receives messages of a single leader.
Trial videos
- Kilobot: Trials 1-10
- e-puck: Trials 1-10
Aggregation case study
20 e-puck robots are randomly distributed and, with support of an on-board camera and the usage of one bit of information, the robots should aggregate. (Gauci et al. 2014a).
Trial videos
- Trial 1
- Trial 2
- Trial 3
- Trial 4
- Trial 5
- Trial 6
- Trial 7
- Trial 8
- Trial 9
- Trial 10
Object clustering case study
A group of five robots use a three-state sensor (1px of the onboard camera) to cluster 20 objects that are initially dispersed in the environment. Each robot can either detect an object, another robot, or nothing in its direct line of sight. (Gauci et al. 2014b).
Trial videos
- Trial 1
- Trial 2
- Trial 3
- Trial 4
- Trial 5
- Trial 6
- Trial 7
- Trial 8
- Trial 9
- Trial 10
Group formation case study
In this case study, leader robots (identified by a randomly chosen colour) accept follower robots of two classes, which we call green and blue.
Each leader tries to balance the amount of accepted green and blue robots and only accepts a robot of one class if the group has not an excess of this type.
By accepting one robot, the group also increases their communication area, because each accepted robot relays its leader messages.
Trial videos
- Trial 1
- Trial 2
- Trial 3
- Trial 4
- Trial 5
- Trial 6
- Trial 7
- Trial 8
- Trial 9
- Trial 10