Coverage control is one of the typical problems in the research field of multi-robot systems . The coverage control problem considers the deployment of a network of mobile autonomous robots to optimally cover a specified area. Applications of coverage control involving multiple networked mobile robots (also referred to as a mobile sensor network) include search and rescue operations, surveillance, environmental monitoring, and exploration of hazardous/inaccessible regions. In many of these applications, an appropriate mobile robot of choice is a fixed-wing UAV. Fixed-wing UAVs can have great endurance in both flight time and range, able to stay in operation for many hours, and can be equipped with a range of different sensors.
The dynamic model of the robots must be considered when designing a distributed control algorithm to solve the coverage control problem. The pioneering work by Cortes et. al  considered single-integrator robot dynamics. In , multiple single-integrator robots covering the same partition of the region are considered. For robots with complex dynamics, e.g. fixed-wing UAVs, unicycle models are a more suitable choice to capture the robot dynamics [18, 20]. However, since unicycle models have complex nonholonomic dynamics, control algorithms developed for single-integrator robot models cannot be readily applied. Our recent work  has studied the problem of optimal coverage control of unicycle robots and designed the corresponding controller.
Along with the idea in , follow-up research works [17, 6, 3, 7, 2] mainly focus on continuous-time controller design considering practical constraints from sensing devices or robot dynamics/kinematics. It is worth mentioning that the information required for control is the relative position between the robots, because of which wireless communication might be neglected. However, a multi-robot system benefits from information sharing within a wireless network in which each robot acts as a network node . For example, 1) the external localization devices can provide more accurate position information; 2) the environment disturbance to the relative information sensing can be avoided. However, a wireless network is usually resource-limited in the sense of communication bandwidth. Thus how to design resource-aware control algorithms with a limited number of information exchanges is crucial for applying distributed control algorithms in practice. This motivated the development of distributed event-triggered control schemes, see, for example, [5, 22, 19, 12]. In an event-triggered algorithm, the control and communication task is executed only when specific trigger conditions are met with respect to local system states. This approach significantly reduces the cost of communication resources since events are generated aperiodically and adaptively.
Event-based coverage control is still a relatively new research topic. In , a distributed event-triggered controller was designed for the Voronoi coverage problem. However, their considered robot dynamics are single-integrators and Zeno behavior cannot be excluded. In , a self-triggered mechanism was proposed to achieve both guaranteed and dual guaranteed Voronoi coverage control. The work in [21, 1] follows a similar streamline of . However, their proposed algorithm can be regarded as an extension of discrete-time Lloyd descent, which means, continuous-time robot dynamics/kinematics cannot be involved.
In this work, we present distributed control algorithms for optimal coverage problems with unicycle-type robots, whose forward speed is constrained as a constant. To help achieve the static coverage objective, and for explicit use in the control algorithm to be designed, we define a virtual rotation center for each robot. The event-based scheduler computes an input mismatch according to the robots’ states and triggers the control actuation and communication as long as a defined norm of the input mismatch exceeds a state-dependent threshold function. By using Lyapunov analysis, we show that the virtual rotation center for each robot asymptotically converges to a centroidal Voronoi tessellation, thus achieving the optimal coverage objective. Our proposed algorithm can also guarantee Zeno-free triggering by showing a strictly positive lower bound of the inter-event time interval. Meanwhile, we also propose a self-triggered algorithm to overcome the drawback that the event-triggered algorithm requires continuous measurement of system states. The central idea is to estimate the next triggering time, by utilizing the certain bounds of the speed of the evolution states and the information of the threshold function. Hardware experiments have been conducted to illustrate the correctness of the proposed algorithms and demonstrate their performance.
The remainder of this paper is structured as follows: Section II introduces some preliminaries and provides a formal definition of the problem. Section III presents the event-triggered and self-triggered control algorithms with detailed theoretical analysis. The designed algorithms are verified by experiments in Section IV. Finally, we conclude this paper in Section V.
Ii Preliminaries and Problem Statement
The set of complex numbers is denoted by . The imaginary unit is . A complex number is denoted as , where and are its real and imaginary part, respectively. The complex conjugate of is denoted by . For , the scalar product is defined by . The norm of is defined as .
Ii-B Locational Optimization
This section is based on the results of Cortes et. al . Consider a group of mobile robots, whose dynamics we define in the sequel, tasked with covering a convex polygon in , and let denote an arbitrary point in . A distribution density function is a map that represents a measure of information in . The location of the robot moving in the space is denoted by , and captures the position of all robots. Given a distribution density function that is known to all robots, we define a coverage performance function as
The quantity can be considered as a quantitative measure of how poorly a sensor positioned at can sense the event of interest occurring at point .
The minimizing operation inside the integral of the above performance function Eq. (1) induces a Voronoi partition of the polygon . Formally, the Voronoi partition, is defined as follows:
The set of regions is called the Voronoi diagram for the generators . Each Voronoi cell is convex. When two Voronoi regions and are adjacent (i.e., they share an edge), robot , with position , is called a neighbor of robot , with position , (and vice versa). The set of indexes of the robots which are Voronoi neighbors of is denoted by . According to the definition of the Voronoi partition, we have for any inside . It follows that, in (1) can be rewritten as
The following lemma establishes an important fact regarding the performance function .
Lemma 1 (Lemma 2.1, )
The gradient of is given by
It follows immediately from Lemma 1 that
For all , define the (generalized) mass , and centroid (or centre of mass) of the Voronoi partition as:
With these definitions, the gradient can now be expressed as
Critical points of are those in which every robot is at the centroid of its Voronoi cell. A Voronoi configuration corresponding to critical points of is called a Centroidal Voronoi Tessellation. The objective of this paper is to design a distributed controller for each robot . Then, collectively, the robots can move into positions that establish a Centroidal Voronoi Tessellation.
Ii-C Unicycle Model with Constant Speed
We choose to model each robot as a unicycle. Unicycle dynamics are appropriate for capturing fixed-wing UAVs or ground-based vehicles. The unicycle model for the robot, , is given as
where , are the coordinates of robot in the real plane and is the heading angle (i.e. the forward facing direction of the robot) at time . The forward velocity is by definition strictly positive. In this paper, we assume that it is fixed/constant/nonidentical, and cannot be designed as a control input. In practice, the cruising speed may be the most fuel-efficient speed for the robot (which is desirable for long periods of surveillance) or optimal against some other performance measure. The control input is to be designed for steering the orientation of robot . When there is no risk of confusion, we drop the argument .
For analysis purposes, we express the position of robot , , in the complex plane using the complex notation . Then the above unicycle dynamics can be reformulated as
In the complex plane, robot ’s instantaneous center of the circular orbit can be given by
To help achieve the control objective, and for the explicit use in the control algorithm to be designed, we define for each robot a virtual center , as
Ii-D Problem Statement
Given a convex polygon , suppose there are unicycle robots with dynamics given by (II-C), for . Let be the constant forward speed for robot , with not necessarily equal to for , and be the virtual center as defined in (8). Let
be the stacked column vector of all virtual centers, i.e. . The objective is to design the control input to steer the virtual center of each unicycle robot to a desired Voronoi centroid so that the polygon can be covered optimally in the sense of minimizing the performance function
That is, we desire
Once the virtual center has arrived at the centroid, i.e. (11) has been achieved, each robot will orbit about the centroid with the fixed angular speed . That is, for all , which when combined with the existing assumption that is constant, implies robot is executing a steady-state circular orbit. Since and are not necessarily equal for and , it follows that the robots’ steady-state orbit radii are not necessarily equal.
Liu et. al  proposed a continuous controller:
where is a positive control gain. Building on this previous approach, we aim to design event-triggered and self-triggered control algorithms to achieve optimal coverage, which should satisfy the following requirements:
The algorithm is distributed in the sense that only neighbor information is received for each robot to update the controller.
Zeno behavior should be completely excluded for each robot in implementing the control algorithm.
The self-triggered algorithm does not require any continuous measurement of the states.
The following lemma will later be used for stability analysis.
Lemma 2 (Lemma 3, )
Consider a continuously differentiable function . If there exist continuous functions and satisfying , then
Furthermore, the following statements hold:
If and , then .
If and , then is bounded.
Since fixed wing UAVs can be set to work in different heights, collision avoidance is not a strict requirement here and subject to future work.
Iii Problem analysis and algorithm framework
Iii-a Event-Triggered Controller Design
Let the event time instants for robot be denoted as , where denoting the set of all nonnegative integers. In this paper, the execution rule is based on actuation errors rather than measurement errors. The control input mismatch for robot is defined as
Every time an event is triggered, is reset to be equal to zero. The event-based control input is described by
where . For , is the last event time of robot . Each robot takes into account the last update value of each of its neighbors in its control law. According to the definition of the actuation error (14) we obtain
We define an auxiliary variable
We consider the following trigger function for each robot:
where , , , with . The error term is reset to zero whenever , i.e., the event is triggered. We now present the main result of the event-triggered control algorithm.
Consider a group of n unicycle-type robots with constant, non-identical speeds modeled by (II-C) and driven by controller (15). The controller and the trigger function only require neighboring information to update. If each robot updates its input when the designed state-dependent trigger function , then their virtual centers converge asymptotically to the set of centroidal Voronoi tessellation (local minimum equilibrium for the coverage performance function) on and no robot exhibits Zeno behavior.
Iii-B Self-Triggered Controller Design
The intuitive idea for a self-triggered algorithm is to estimate the next updating time instant, by using the bounds of the actuation error and the bounds of the comparison threshold. We first illustrate how to compute the bound of . Since the actuation error , the triggering rule can be rewritten as
Note that between the event-triggered control updates, the control input is held constant via the Zero-order hold technique. This observation motivates us to provide an estimation for , if , using:
and the time derivative of is expressed as follows:
where ; represents the update time instants of all the robot ’s neighbors after time instant . represents the latest update time instant for any robot ’s neighbors after time instant ; represent the latest update time instant among the robot ’s neighbors, which is the nearest to the time instant . Hence is the next time when the control input is updated. Thus, the triggering rule is equivalent to
With the auxiliary variable defined in (17), we have
Let , . Since , we have the triggering condition
For , we have the positive inter-execution time interval
where . In the determination of the inter-execution time, no continuous measurement of the neighbor’s states, and no continuous computation of the control input is needed. The explanation of the self-triggered rule for each robot can be summarized as: if no state of any neighbors is received in the time interval and there is a positive inter-execution time interval such that the triggering condition is satisfied, then the next update time takes place at most time units after . In other words, . Otherwise, if the robot ’s control input is updated due to an update of one of its neighbors for , then the triggering condition needs to be re-checked and the next triggering time is new determined.
We also provide a pseudo-algorithm for illustrative purpose, see Algorithm 1. Here, we let represent the temporary selection for the next triggering time instant . At time instant , robot will measure all the neighbors’ states, send its own states to all the neighbors and its control input will be updated.
Applying the designed self-triggering rule, we have the following theorem:
Consider a group of n unicycle-type robots with constant, non-identical speeds modeled by (II-C) and driven by the controller (15). If each robot decides when to update its control input according to Algorithm 1, then their virtual centers converge asymptotically to the set of centroidal Voronoi tessellation on and no robot exhibits Zeno behavior.
1) Stability analysis: This part is similar to the proof of the event-based triggering theorem. The virtual centers of all unicycles will asymptotically converge to the set of centroidal Voronoi tessellations on .
2) Absence of Zeno behavior: When , there always exists a positive inter-execution time , then we can conclude that there is no Zeno behavior in the system. When , it indicates that the control input has reached the desired value and the centroidal Voronoi tessellation is achieved.
In this section, the results of hardware experiments are provided to illustrate the performance of the proposed event-triggered and self-triggered algorithms. A video is available in our supplementary materials.
Iv-a Experimental setup
The structure of our experimental setup is illustrated in Fig. 1. The system comprises a Qualisys multi-camera system, a remote workstation and four Arduino mobile rovers. The Qualisys multi-camera system provides high precision position and orientation information for the ground robots with up to 300Hz refresh rate. The remote workstation is a Lenovo ThinkPad laptop (Intel i5-6200U CPU and 8GB RAM), running Ubuntu 16.04 and robot operating system (ROS) kinetic. The mobile robots used in our experiment are Arduino mobile rover with Wi-Fi access, which is a differentially driven robot111The complete description of the Arduino mobile rover is referred to Arduino Engineering Kit.. The remote workstation and the Arduino mobile rovers are communicating in a Wi-Fi network, with an ASUS RT-AC1750 router.
Our control framework is two-layer. The lower layer runs on the Arduino mobile rover, in which the program interprets the input commands (forward speed and angular speed) to the respective rotational speeds of the two wheels and uses PID controllers to track them. The upper layer runs on the remote workstation, which consists of four ROS nodes. Each ROS node communicates with its neighbors to locally compute the Voronoi partitions (according to ) and the event-triggered and self-triggered control input (15). Then the control commands are transmitted to the Arduino mobile rovers via UDP protocol.
We provide two separate hardware experiments to demonstrate the performances of both event-triggered and self-triggered algorithms applied in a four-unicycle group. In both experiments, the coverage area is rectangular in the size of . The density function is assumed to be in the experiments. The angular frequency defined in (8) is selected as for all robots. The robots’ forward speeds are set as for all . The selected values of the forward speed and angular speed meet the hardware constraints of the Arduino mobile rover. The initial positions and initial orientations of the robots are manually chosen such that the initial virtual centers locate inside the coverage region.
Iv-B Experimental results
The experimental results of the event-triggered controller is shown in Fig. 2, from which one can see that the optimal coverage objective has been successfully achieved. All virtual centers move asymptotically to the set of Centroidal Voronoi Tessellation. All robots move in a circular orbit concerning their virtual center. The trajectories of different robots are represented by solid lines with different colors. We note that the depicted trajectories are the raw data from Qualisys. The evolution of the event-triggered error and the comparison threshold in (19) is shown in Fig. 3. When the value of the error reaches the threshold, the error is reset to zero and an event is triggered. The control input is updated according to Theorem 1. The red line represents the evolution of the error. It stays below the designed threshold which is shown by the blue line in Fig. 3.
The second experiment illustrates the performance of the self-triggered algorithm. Due to the page limit, we omit the figure about the trajectories of the robots, since it is quite similar to the event-triggered case. The self-triggered control law can guarantee that the inter-event time intervals are lower bounded by a strictly positive constant. Thus, the Zeno behavior is excluded, which can be observed from Fig. 4.
From both experiments, it is observed that the optimal coverage objective can be achieved. The asynchronous feature of both the event-triggered and self-triggered algorithms are verified.
In this work, we develop event-/self-triggered algorithms for coverage control problems with a group of unicycle-type robots to facilitate the efficient usage of the network resource. We firstly propose an event-based control algorithm, which generates events and control updates when the actuation error diverges to a designed threshold. Zeno behavior can be completely excluded by showing that strictly positive inter-event time intervals exist. Then we propose a self-triggered control algorithm to relax the strong assumption that continuous measurement is required for each robot, in which the core idea is to provide an estimation for the next update time instant based on the state and control value at the latest update time. Hardware experiments have been conducted to verify the correctness and performance of our proposed algorithms.
The proof is divided into two parts. In the first part, the stability of the system (18) will be analyzed. In the second part, we will show Zeno behavior is excluded. 1) Stability analysis: By using Lem.1 and Eq.(5), the time derivative of the performance function (10) along the trajectory of system (18), is
Because , and are strictly positive, if ,, then for all . Because , it is evident that . Each robot updates its input when , then we have
where is the angle between the vectors and , and .
is the polar moment of inertia of the Voronoi cellabout its centroid . Define
Then we have
Define as the set of for which . We consider the following two cases: 1) ; 2) .
Case 1: . Then we have
means . Then from Eq.(12) it is concluded that , which implies . The vector changes its direction with angular frequency . Therefore is non-constant but is constant.
It is to verify that the set is not the equilibrium of the system.
Case 2: .
Then we can rewrite the Eq.(26) as follows:
By applying Lem.2, we can conclude that
Since is the mass of the Voronoi cell , which is positive, then we have
2) Absence of Zeno behavior:
A solution is said to have a nonvanishing dwell time if there exists such that
In other words, the existence of a lower bound for inter-execution time intervals is to be proved. Thus it can guarantee the system does not exhibit Zeno behavior. For any , and any , consider the time interval . From the definition of in Eq.(14) and the fact that in the time interval is a constant, we observe the time derivative of satisfies
From Eq.(12), we have
then we have
Define the following auxiliary variables:
The system dynamics are assumed to satisfy the following properties:
P(1) There exists a scalar constant such that .
P(2) There exists positive constants for each robot such that .
From Eq.(12), we obtain
Then from the assumed properties P(1) and P(2), we have that is upper bounded by a positive value. It is straightforward to see that the term is bounded.
The time derivative of the centroid of the Voronoi cell is given by
From Eq.(18) we have
According to the trigger condition we have . Together with the assumed properties we have that is upper bounded. Analysis similar to .
In this paper, we consider the convex polygon in the planar case and that the area the robots need to cover is bounded. So the area of each Voronoi cell is bounded. It is evident that the integration area, in other words, the boundary of the Voronoi cell is bounded. Thus, and are bounded. Then we have
The term is bounded. Then we obtain that is bounded. From the above conclusions, it is straightforward to conclude that is bounded. Define a positive constant , which represents the upper bound of . Then, we obtain
It follows that
for and for any . Recall the trigger function Eq.(19), and the control input mismatch is reset to zero at . It follows that the next event time is determined by the changing rates of and the threshold . It is evident that