Abstract
This work continues our study on the control synthesis for multiple mobile robot systems (MMRS). We assume a hybrid approach that comprises the supervisory control level, based on a discrete event model of MMRS, and the robot control level, based on a continuous time model of the robot motion. Our objective is to further develop the control concept towards its implementation in a real-world application – a testbed for a fleet of six laboratory robots. In the first part of the paper, we develop a methodology of the supervisory control synthesis, that employs the Petri net formalism and formally ensures the required logics of MMRS operation, as well as propose a relevant architecture of the supervisor. The second part is focused on the low-level robot control and control procedures enabling modification of the robot motion according to the supervisor’s decisions. A simulation case is presented that illustrates the operation of the system.
Introduction
The use of a mobile robot team in place of one robot substantially increases the performance of many robotic applications, including those related to area searching, search and rescue, interplanetary exploration, extraction of minerals, agriculture, forestry, or transport. A key issue in the design of such systems is to coordinate the movement of a number of robots operating in the same workspace. Regardless of their tasks, the robots must be able to effectively share a common area in order to prevent the mutual disruption of traffic and effectively pursue their missions.
Representative results for this type of research can be found, among others, in the following papers. Tomlin et al. (1998) and Lygeros et al. (1998) contribute with hybrid control solutions for aircraft and highway systems, respectively. Pecora et al. (2012) and La Valle and Hutchinson (1998) focus on conflict resolution and optimal motion planning for multiple mobile robots. Inalhan et al. (2002) present a decentralized optimization method for solving the coordination problem of interconnected systems with multiple decision makers. Andreasson et al. (2015) adopt constraints on trajectories in time and space that are imposed dynamically on the system. Some works, such as Basilico et al. (2009), apply a Leader–Follower strategy for planning mobile robot patrolling. Useful application of prioritized control can be found in Cap et al. (2015). Decentralized algorithms for collision avoidance are proposed in Ferrera et al. (2013) and Pallottino et al. (2007). Difficulty of the system control that increases with density of robots in shared workspace is studied in Ferrera et al. (2017).
The main contribution of these works are methodologies of collision-free control of robot movement. The resulting algorithms have, however, two major drawbacks: (a) because of their high computational complexity, they are not scalable, and (b) they do not guarantee the correct operation of the system in terms of ensuring the completion of the robot missions. The ineffectiveness of these models in providing the above properties is mainly due to the assumed representation of the robot system, whose operation is abstracted in continuous time. Devoid of these disadvantages is the approach introduced in Roszkowska (2005), Reveliotis and Roszkowska (2011) and Roszkowska and Reveliotis (2013), where the logic of robot coordination is developed using the Discrete Event System (DES) formalism. The proposed model ensures correct space sharing by a group of robots through imposing certain constraints on their motion, and can be applied to mobile robots accomplishing any arbitrarily assumed missions, and for both centralized and distributed supervisory control architecture. To respect the requirements of a so-defined DES-based supervisory control scheme, the robots need to modify their individual motion control, based on the Continuous Time System (CTS) abstraction. Consequently, the control of a team of multiple mobile robots requires a hybrid control system, incorporating both DES and CTS control layers.
Such an approach was previously considered in the papers by Roszkowska et al. (2018, 2019) and is further developed in this work. More specifically, all these three papers deal with the hybrid control synthesis for multiple mobile robot systems (MMRS), but focus on its different aspects. In Roszkowska et al. (2018), we proposed the logic that formally ensures collision- and deadlock-free robot coordination in MMRS, implemented it in the form of a composite-automaton supervisor, and combined with time models of robot motion processes in the Matlab/Simulink/Stateflow environment. The obtained MMRS model ensures correct co-operation of the robots and can be directly used for the prediction or simulation-based optimization of the system performance. The main result of Roszkowska et al. (2019) is a comprehensive methodology of the control synthesis for MMRS. We proposed a hybrid system that consisted of four control levels: concurrency control (DES based), mode control (DES based), priority control(DES/CTS based), and motion control (CTS based), and demonstrated its operation through an application developed in The Stage Robot Simulator environment.
This work is an extended and more mature version of the paper Roszkowska and Jakubiak (2020) originally accepted by CoDIT20, and further develops the control concept towards its implementation in a real-world application – a testbed for a fleet of six laboratory robots. The next section sets the research framework, specifying the principles and requirements of the MMRS operation, and recapturing the general concept of the hybrid control for MMRS proposed in the earlier works. Capitalizing on these results, we then introduce a methodology of the supervisory control synthesis that employs the Petri net formalism and ensures the required logics of MMRS operation. The architecture of the supervisor using such models is proposed in the following section. The next two sections focus on the low-level robot control and control procedures enabling modification of the robot motion according to the supervisor’s decisions. The final section concludes the presented research.
Hybrid control for MMRS
We consider a MMRS viewed as a group of autonomous mobile robots sharing a 2D space. Each robot performs a mission that requires it to travel along a specific path. The path of each robot is planned independently, without taking into account any positional constraints introduced by the paths of other robots. The robots operate asynchronously and are able to control their motion with path-following algorithms that allow each of them to correctly perform its mission when alone on the stage. When sharing the motion space, the robots must refine their motion strategies in order to avoid collisions, through modification of their paths, velocity profiles or both.
The objective of the MMRS control is to ensure that the operation of the system is correct and efficient, which generates the following problems:
1. How to modify dynamically the initially assumed motion control of the robots so that:
at each moment of their motion, the areas occupied by the robots are disjoint,
in a finite time interval, all the robots will have accomplished their missions.
2. How to induce, within the admissible (i.e. observing requirements (1.a) and (1.b)) robot concurrent operation, efficient MMRS behaviour.
As can be noticed, satisfaction of requirement (1.a) implies collision-free motion of the robots, whereas requirement (1.b) ensures that the modification of the initially assumed robot motion strategies will guarantee their convergence to the destination points and occurrence of no such side effects as deadlocks or starvation. Requirement (2) implies the need of a flexible model of MMRS control that leaves room for the optimization of the system efficiency, and of tools to carry it out. To achieve realization of these postulates, we propose a hybrid control system that consists of two control levels:
supervisory control
robot control
Figure 1 presents a general scheme of such a control system, comprising a central supervisor and local robot controllers.

General scheme of the system.
Both the supervisory control and the upper-level robot control models are discrete event abstraction, whereas the low-level robot control is based on a continuous time model. In the following sections we discuss this concept in more detail.
Supervisory control model
As mentioned in the previous section, the supervisor employs a DES model of an MMRS that represents the concurrent movement of the robots along their specific paths. To develop such models it is convenient to use the formalism of a class of Petri nets (Reisig 1985), defined as follows.
•
-
-
•
• only an enabled transition
• a transition
• if transition
where:
It is assumed that each robot
Figure 2 presents a P/T model of the process of robot
Places
Place
Transitions
Transitions

P/T system representing the motion of robot
To avoid collisions among the robots, we will constrain their concurrent movement based on the conflict relation among the path sectors.
Then the collision-avoidance policy consists of using only one sector at a time, for each pair of conflict sectors. That is, for each pair of path sectors
The assumed concept of MMRS modelling is illustrated through an example. Figure 3 depicts the paths of three robots, and their partition into sectors. As can be noticed, the following pairs of sectors are in conflict (as the minimal distance between the sectors of each pair is less than the diameter of the robots):

Example paths of three robots with their partition into sectors.

Petri net model of the concurrent, collision-free movement of the robots depicted in Figure 3.
As demonstrated above, the proposed collision-avoidance policy and its implementation in the P/T system solve problem 1(a) defined in section Hybrid control for MMRS. To satisfy requirement 1(b), it is necessary to further constrain the dynamics of MMRS in order to avoid all the states from which the final state of the system (when all the robots have completed their travel) is not reachable. To do that, we need to forbid each change of the marking
In the system presented in Figure 4, firing transition
To ensure the correct operation of MMRS in terms of the requirement 1(b), it is necessary to restrict the concurrent motion of the robots so that no deadlocks can occur in the system. In the literature, two general approaches to deadlock handling are considered: deadlock prevention, that requires off-line analysis of the model of concrete processes before its application in the controller, and deadlock avoidance, that consists in the development of an algorithm applicable for the models of any group of processes within the considered class. These algorithms are used online, and their role is to distinguish between safe and not-safe (leading directly or indirectly to deadlocks) state changes. Both of the discussed approaches are system specific, and to our best knowledge, except for our earlier results, no deadlock-handling methods have been proposed for the coordination of free-range robots, as those considered here. Moreover, in view of the required flexibility of MMRS, allowing dynamic changes of the robot motion processes (assignment of new missions, path modifications), solutions based on off-line analysis of the changing models are hardly acceptable. Therefore we focus on the development of a deadlock-avoidance policy (DAP) for MMRS. The DAP defined below is a modified concept of such a policy presented in Roszkowska (2005).
The ordered markings have the following property.
Then the DAP is constructed as follows. For each transition
As demonstrated, the constructed DAP satisfies requirement 1(b). The solution of the efficiency problem depends on the optimization criteria used and generally requires a simulation-based solution. A simulation system can employ the same supervisor architecture as that to be used for the control of real MMRS, discussed in the next section.
Architecture of the supervisor
As mentioned before, at the supervisory control level, MMRS is viewed as a DES that represents in a discrete way the concurrent movement of the robots along their specific paths. The event set of the system is the union of the sets of events associated with each particular robot. There are two types of events: controllable events, that represent decisions of the supervisor sent to the real robot system (or the plant), and observable events, that occur in the plant and are reported to the supervisor.
The supervisory control consists in inducing through controllable events a trajectory in the state space that is admissible with respect to the requirements (1) and advantageous from the viewpoint of requirement (2). The latter defines some efficiency criterion as, for example, the time required for the completion of the missions of all the robots, which should be possibly short. The decisions corresponding to such events are calculated jointly by three modules: System Manager (SM), Deadlock Avoidance Policy (DAP), and Real-Time Scheduler (RTS), as depicted in Figure 5.

Architecture of the supervisor.
The role of System Manager is to keep the DES model up to date, which requires: (i) recalculation of the parameters of the P/T model of MMRS in the case of a new task assignment to some robot or when replanning its path, and (ii) calculation of the new state of the model at each event occurrence. Next to this update, SM can be called by DAP or RTS module, that in order to evaluate a potential decision may need to predict the changes it yields.
A controllable event is selected among the transitions that are enabled in the current marking
To conform to the decisions of the supervisor, the local controllers need to be able to enforce the required behaviour of the robots. A robot must inform the supervisor about certain events occurring during its travel, and be prevented from the transition to the next sector until it is granted the permission. Thus, the robot may have to slow down and even come to a stop, wait until the permission is received, and resume its travel. Such an operation can be obtained by establishing a number of control modes, and providing each robot with an additional control level, a DES-based supervisor responsible for the appropriate selection of the control procedures.
Robot controller
The continuous time system (CTS) contains the modules responsible for low-level control of robots’ navigation. Each robot supplies CTS with two components (cf. Figure 1): (i) robot controller that is an interface between the supervisor of the DES layer and the robot itself, and (ii) low-level real-time navigation procedures of the robot. Each robot operates independently from the others, communicating with the supervisor via the interface of the robot controller only. It is assumed that the robots are homogeneous at the functional and interface level, so their controllers described below are identical.
The operation of the robot controller can be divided into two phases: initialization, when the robot receives the path and gets ready to begin the mission, and the mission execution.
It is assumed that during the initialization phase, each robot occupies its private area, for example, in the docking station, and no conflict with other robots can occur. Therefore no supervision is required at this stage of the robot operation. The mission execution phase begins when the robot controller is properly initialized, that is, it has obtained the specification of a correct path partitioned into sectors, and the mobile robot has moved to the location at the beginning of the path, which is the initial point of the first sector. Then the mobile robot waits for a permission to enter the first sector and begin the mission.
During the mission the robot moves along the path divided into segments. In each path segment the robot controller determines five characteristic points:
ss– segment start, where geometric segment begins,
ep– entry point, where the whole robot is within the current segment and the outline of the robot does not overlap with the previous segment which can be therefore released,
dp– decision point, until which the robot must receive a permission to enter the next segment without decreasing velocity,
sp– stop point, where the robot outline is still in a whole within the current segment, before entering to the next segment,
se– segment end, where the geometric segment ends.
It must be noted that between
The robot controller manages the movement of the robot according to the state machine with five states related to the current velocity of the robot and the location of the robot with respect to the characteristic points of the segment. The diagram of the state machine with a single path segment is presented in Figure 6.

Single robot motion states in a sector.
The states indicated in the figure are:
v0– the robot is stopped before entering the next segment, waiting for a permission,
v+– acceleration – robot is allowed to continue its motion, increasing the velocity until it reaches its cruising speed,
vm– regular motion – the robot moves with the cruising speed along the path segment, expecting a permission to enter the next segment; if the permission is not received until the decision point (
v– deceleration – after reaching the decision point without a permission to enter the next segment the robot begins to slow down to stop before passing the stop point of the segment; if a permission is obtained during deceleration the robot immediately switches to acceleration without a full stop.
The states of the robot controller represent interface between any single robot and the supervisor. The coordination is achieved with communication messages. In the messages coming from the supervisor, the controller receives permissions to enter the next path sector. In return, the controller sends three types of messages:
entering the next sector,
releasing the previous sector and
confirmation of receiving a permission for entering the next sector.
In the CTS part of the system, the robot controller manages the movement of the robot in a continuous feedback loop respecting two rules:
following the mission path while keeping the maximum distance from the path within the predefined limit (maximum allowed error) and
not entering a sector if it is not allowed to (i.e. stopping before the contour of the robot passes the end of the current sector).
If the permission to enter the next sector arrives before the robot has reached the end of the sector, a properly chosen path-following algorithm will make it move smoothly to the next sector without slowing down, as in Figure 7. If the robot approaches the next sector and the permission has not arrived, it has to slow down or even to stop and wait for the permission (Figure 8).

Mission phase with permission received before the decision point.

Mission phase with permission received after the decision point.
Ensuring the assumed behaviour of the CTS part relies on the implementation of the robot controller, whose design should take into account the dynamics, constraints, and other parameters of the robot.
Low-level procedures
The minimal set of functions that must be provided by a robot in the continuous time part of the system is
path following with a limited maximum distance from the path during the motion,
forward velocity control: acceleration, deceleration, stopping, and constant.
Those system defined requirements may be transformed to the low-level robot functions of
direction velocity control, calculating velocity which will allow following the path and reduction of the tracking error if needed,
longitudinal velocity control, which will change the forward velocity according to the requirements of the robot controller,
localization, providing current position of the robot both to determine path-tracking error for lateral control and to locate the robot with respect to segment characteristic points for the robot controller.
The specific choice of the methods and algorithms that provide these low-level functions depends on the type of the robots and their sensors.
The system we present was developed with the assumption that the robots are based on a general differential drive platform, with two independently driven fixed wheels. It was also assumed that the robots move relatively slowly, so the dynamic effects may be neglected, and the robots are controlled on the kinematic, velocity level. With these assumptions the robot is represented with a unicycle model
where
The components of the system were implemented as Robot Operating System (ROS) modules. ROS environment with its ecosystem accelerates development and increases flexibility of the system to future modifications and enhancements. Using ROS as a middleware simplifies also switching between simulations and physical robots. The implemented architecture allows testing the same algorithms on a group of Turtlebot2-type robots as well as Gazebo simulation environment.
The differential drive kinematic model of the robot allows full separation of lateral and longitudinal control. It can be obtained by defining direction control as the signed curvature
The problem of lateral control of a mobile robot was a subject of numerous research papers leading to several algorithms that can be used for this purpose, such as pure pursuit, Stanley, sliding-mode based, or model predictive. A recent review of these algorithms may be found in Tagne et al. (2016) and Dominguez et al. (2016).
In our system we have selected spline-based modification of the pure pursuit algorithm. The pure pursuit (Coulter, 1992) is probably the most common algorithm of the lateral control. The original version defines a motion curve as a circle between the current robot position and orientation and a point on a path in a look-ahead distance
Given robot position
find the point on a path closest to the robot
determine look-ahead point
find a cubic spline connecting parameterized by boundary conditions
use the current curvature of the spline as the lateral control of the robot.
The longitudinal control of the robot is calculated as a function of current and expected velocity of the robot and the robot acceleration constraints.
The localization component of the system is assumed to provide the position of the robot with a known, limited error. The precision of the localization module together with the maximum error of path tracking determine minimum value of sectors’ margins. The realization of the localization may differ depending on available sensors. The developed system uses various approaches to localization: in simulations one can test the system with either exact position obtained from the simulator or the position with added random noise. When using physical robots there are two configurations available, the first using a motion-capture system with high precision, and one based on Decawave radio localization modules with bigger localization errors, but covering a larger motion area.
Illustration of the proposed control – a simulation example
To illustrate the operation of MMRS under the proposed control, a simulation system has been developed. Figure 9 presents a screenshot of the animation 1 of eight robots sharing a common motion area. Each of the robots follows independently its specified path partitioned into sectors. Figure 10 depicts these paths and an enlarged paths’ fragment with marked sectors. As mentioned earlier, the discussed supervisory control accepts any path partitioning; however, it is advantageous to minimize the length of the conflict sectors. The state of each robot is represented in a discrete way by the sectors it is currently occupying. The supervisor follows this state through the feedback from the robots (observable events) and prevents the system from reaching the states leading to collisions or deadlocks (through controllable events) according to the proposed PN model and the discussed DAP. The coordination mechanism is independent from the velocity profiles of the robots, whereas the efficiency of the system measured by some time criteria (e.g. completion time of all robots’ missions) may differ depending on the assumed priority policy. In the presented example, the conflicts are resolved using the FIFO rule.

A screenshot of computer animation of a group of robots sharing the motion area.

The paths of the robots (left) and an enlarged fragment showing the path partitioning (right).
Conclusion
The paper contributes with a hybrid control system for MMRS that comprises the supervisory control level, based on a discrete event model of MMRS, and the robot control level, based on a continuous time model of the robot motion. The proposed supervisor formally guarantees the required logic of the system behaviour, that is, collision-free robot motion and correct completion of their tasks, whereas the robot controllers ensure realization of this logic by the robots.
The modular construction of the hybrid control system provides for its modification and experimental examination of the impact of different structural and algorithmic solutions on the efficiency of sharing the common motion space. The factors that can be considered in the optimization of MMRS operation include different ways of discretization of the continuous MMRS model (paths partitioning, space partitioning) and conflict-relation construction, multi-level collision-avoidance policies, collision avoidance through path modification and/or velocity modification, various approaches and algorithms for deadlock avoidance, and various approaches and algorithms for robot prioritizing.
The proposed control concept is underway, its implementation in a testbed for a group of Turtlebot robots. This provides a framework where the above-mentioned aspects may be tested both in simulations and in experiments with real robots. Apart from the factors related to the discrete-event level of the system control, the framework allows verification of issues related to the real-time motion such as, for example, influence of the robot positioning precision and the communication packets loss on the system performance. The former affects the system efficiency through the requirement of a different division of the paths to sectors. The latter introduces additional unpredictable delays of robot responses to supervisor commands.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This research was supported by the National Science Centre, Poland, under the project number 2016/23/B/ST7/01441.
