Multi-robot energy autonomy with wind and constrained resources

# Multi-robot energy autonomy with wind and constrained resources

## Abstract

One aspect of the ever-growing need for long term autonomy of multi-robot systems, is ensuring energy sufficiency. In particular, in scenarios where charging facilities are limited, battery-powered robots need to coordinate to share access. In this work we extend previous results by considering robots that carry out a generic mission while sharing a single charging station, while being affected by air drag and wind fields. Our mission-agnostic framework based on control barrier functions (CBFs) ensures energy sufficiency (i.e., maintaining all robots above a certain voltage threshold) and proper coordination (i.e., ensuring mutually exclusive use of the available charging station). Moreover, we investigate the feasibility requirements of the system in relation to individual robots’ properties, as well as air drag and wind effects. We show simulation results that demonstrate the effectiveness of the proposed framework.

## I Introduction

The continuous advances in multi-robot systems gave rise to many new applications like patrolling [12], coverage [4], exploration [3] and construction [11] to give a few examples. This has drawn many researchers’ attention in recent years to long term autonomy and resilience of multi-robot systems, with the aim of providing more practical and robust systems.

Energy autonomy, the ability of the robots in a multi-robot system to replenish their energy reserves, is particularly important to extend mission duration and general survivability.

Earlier interest in optimizing energy consumption in a multi-robot system can be traced back to energy aware path planning [14] and node scheduling in wireless sensor networks [13]. These ideas have been applied to multi-robot systems as in [8], where the mission tasks are divided among robots according to their energy content.

One option for tackling the issue of limited energy is through the introduction of stationary or mobile charging stations. Ding et al. [5] propose a method for planning routes of charging robots that deposit batteries along the trajectories of other robots carrying out a surveillance mission. Notomista et al. [10] use a control barrier function framework that allows each robot in a multi-robot system to recharge from a dedicated static charging station in a mission agnostic and minimally invasive manner.

In this work we extend [7], which is in turn inspired from [10], by considering a group of robots affected by air drag that perform a generic mission (e.g. coverage or patrolling) in a known wind field. These robots need to share a single charging station.

The contributions of this paper are: 1) We extend the results in [7] so that the CBF-based coordination framework proposed can account for the effect of air drag and winds, while ensuring mutually exclusive use of the charging station, and 2) we extend the sufficient feasibility conditions proposed in [7] to express the system’s capacity in case of wind and air drag effects and ensure the feasibility of coordination.

## Ii Preliminaries

### Ii-a Control Barrier Functions (CBF)

A control barrier function (CBF)  [1] is a tool that is mainly used to ensure set invariance of control affine systems, having the form

 ˙x=f(x)+g(x)u. (1)

This is often used for ensuring system’s safety by enforcing forward invariance of a desired safe set.

The safe set is defined to be the superlevel set of a continuously differentiable function such that [1]:

 C={x∈Rn:h(x)≥0}∂C={x∈Rn:h(x)=0}Int(C)={x∈Rn:h(x)>0} (2)

where ensuring implies the safe set is positively invariant. For a control affine system, having a control action that achieves

 Lfh(x)+Lgh(x)u˙h(x)≥−α(h(x)) (3)

where is an extended type function, ensures positive invariance of .

One popular type of CBFs that we use in this paper is the zeroing control barrier function (ZCBF) [2], as they have favourable robustness and asymptotic stability properties [17].

###### Definition 1

[2] For a region a continuously differentiable function is called a ZCBF if there exists an extended class function such that

 supu∈U(Lfh(x)+Lghu+α(h(x))≥0) (4)

The set [2] is defined as

 Kzcbf={u∈U:Lfh(x)+Lghu+α(h(x))≥0}

and it is the set that contains all the safe control inputs, thus choosing a Lipschitz continuous controller ensures forward invariance of and system’s safety.

To mix the safety control input with an arbitrary mission’s control input , we use a quadratic program:  [10]

 u∗=minu ||u−unom||2 (5) s.t. Lfh(x)+Lgh(x)u≥−α(h(x)).

### Ii-B Higher order control barrier functions (HOCBF)

If is of a higher relative degree (the control action doesn’t appear after differentiating once, i.e. ), using (3) to find an appropriate control action becomes invalid. HOCBFs [16] are an effective solution of this problem. To define a HOCBF, we first need to define the following set of functions for an order differentiable function

 ψ0(x)=h(x)ψ1(x)=˙ψ0(x)+α1(ψ0(x))⋮ψm(x)=˙ψm−1(x)+αm(ψm−1(x)) (6)

where are class functions. Also we define the following series of sets

 C1\vcentcolon={x∈Rn:ψ0(x)≥0}⋮Cm\vcentcolon={x∈Rn:ψm(x)≥0} (7)
###### Definition 2

[16] Let be defined by (7) and be defined by (6). A function is a HOCBF of relative degree for system (1) if there exists differentiable class functions such that

 Lmfh(x)+LgLm−1fh(x)+O(h(x))+αm(ψm−1(x))≥0 (8)

for all . Here denotes the remaining Lie derivatives along with degrees less than or equal .

Xiao et al. show in [16, Theorem 5] that choosing a control action that satisfies (8) renders the set forward invariant for system (1).

## Iii Problem formulation

We assume robots moving in a given wind field with the following dynamics:

 ˙x=v˙v=u−Cd(v−vw)˙E={−ke−kv||v−vw||,if||x−xc||>δkch,Otherwise (9)

where is the robot’s position, is its velocity, are coefficients of linear drag, recharge, static and dynamic discharge respectively. Also is the robot’s voltage, is the control input (no constraints on the control input), and is a known wind vector. Moreover we suppose that all the robots operate in a certain known operational range , where is a closed set, and the size of this operational range is described by the operational radius . The robots are carrying out a mission specified by and they have one charging station at a known location (in the origin without loss of generality), and this station can only serve one robot at a time, and has an effective charging range of .

We point out that in our model we use a linear drag term to account for the air drag effect, which is a reasonable approximation for bodies moving at low speeds. The main assumptions we are adopting in this work are: 1. all robots have the same properties 2. robots have a complete communication graph 3. robots start discharging from the maximum voltage 4. the charging rate is faster than the discharge rate1 5. An upper bound of the average relative velocity w.r.t. wind velocity(we call it ) of all robots is known at the beginning of the mission. We propose a CBF framework that:

• Ensures no robot runs out of energy during the mission

• Coordinates the times of arrival to the charging station so they are mutually exclusive.

Additionally, we describe the system’s capacity as the relationship between number of robots and robot properties with feasible separation in arrival times at the charging station.

It is worth mentioning that for the rest of the paper we are omitting the proofs due to space constraints, and putting them all in the appendix.

## Iv Energy sufficiency

We provide a CBF that ensures that the voltage of all robots does not go below a certain desired minimum voltage . We take inspiration from [10], but we extend it to accommodate the system dynamics in (9). The candidate CBF is

 he=E−Emin−kclogDδ (10)

where 2. The first derivative of this function is

 ˙he=−ke−kv||v−vw||−kvD2(x−xc)Tv (11)

so we need to differentiate twice for the control input to appear

 ¨he=LgLfhe(x)−[kv(v−vw)T||v−vw||+kc(x−xc)TD2]u+kvCd||v−vw||+kcD2[2((x−xc)Tv)2D2−vTv+Cdx−xc)T(v−vw)] (12)

with the second and third expressions being . We can then create an inequality similar to (8) using and

 L2fhe(x)+LgLfhe(x)u+(p1+p2)˙he+p1p2he≥0 (13)

and and are chosen in such a way that lends the characteristic equation of the left side of (13) with distinct real roots.

###### Theorem 1

For a robot described by dynamics in (9), and provided that the robot is out of the charging region, and that , then is a HOCBF.

###### Lemma 1

For a robot with dynamics described by (9) applying a QP as in (5) with (13) as being the constraint, then the quantity at the time of arrival to the charging station is upper bounded with a quantity exponentially decaying with a rate of and lower bounded by zero.

## V Coordination

The second component in our framework ensures that the difference in arrival times of any two robots to the charging station is above a desired limit. The main idea is that if two robots have different values of , they arrive to the charging station at different times. We propose a method for changing the values of to achieve the aforementioned coordination.

To get this expression, we integrate the voltage relation in (9) to get

 ∫EminEmax˙Edt=−∫TL0(ke+kv||v−vw||)dtEmax−Emin=keTL+kv∫TL0||v−vw||dt. (14)

Supposing we have the average relative speed , the last integral can be replaced and the arrival time becomes

 TL=Emax−Eminke+kv¯z. (15)

We then replace in the last expression by to get an expression for that changes with time

 TL(t)=E(t)−Eminke+kv¯z. (16)

In this work, we use a moving average to estimate the average velocity relative to wind defined as

 ¯V=1w∫w0||v−vw||dt (17)

where is the width of the integration window. The larger the window, the closer the estimate is to the true average. The approximate value of the arrival time is

 TL(t)≈E(t)−Eminke+kv¯V. (18)

To be able to change to achieve coordination, we propose a simple single integrator model for as follows

 ˙Emin=η (19)

where is a control input to manipulate ,and is being the set of all possible values of . It is useful to point out that has a default value of unless modified by the proposed coordination framework.

### V-a Coordination CBF

We propose a CBF approach to change the values of to ensure mutually exclusive use of the charging station. We define a coordination CBF between robots and , as well as an associated pairwise safe set

 Cij={(Emini,Eminj)∈R2:hcij≥0}. (20)

We use the same coordination CBF as in [7]

 hcij=log|TLi−TLj|δt (21)

and to get a constraint similar to (3)

 TLi−TLj|TLi−TLj|2(θiηi+βi−βj)≥α(hcij) (22)

where

 θi=−1ke+kv¯Vβi=−ke−kvVke+kv¯V−kvw(E−Emin)(V(t)−V(t−w))ke+kv¯V˙TLi=θiηi+βi

where . For decentralized implementation, we dropped out the term so the constraint equation is independent of , and provided both robots are adopting the constraint (22), each will try to stay in the safe set . For the right hand side of (22) we use the following

 (23)

which is inspired from [9] and leads to the favourable quality of converging to the safe set in a finite time, in case the initial condition is out of the safe set.

###### Theorem 2

[7, Theorem 2] For a pair of robots that belongs to a multi-robot system and satisfying and , and provided that then is a ZCBF. Moreover, if , then the constraint (22) leads to converge to in finite time.

### V-B Lower bound on Emin

Since is supposed to be the voltage at which the robot arrives to the charging station, then it is necessary to enforce a lower bound on its value to avoid any potential damage to the batteries or the loss of a robot with excessively low voltage. For this reason, we propose another CBF:

 hL=ks(Emin−Elb) (24)

where is the desired lower bound voltage and is a scaling gain. Differentiating and obtaining the QP constraint gives

 ksη≥−α(hL) (25)

where for . It can be easily shown that is a ZCBF, since (no constraint on ) then there exists a control input that satisfies (25).

### V-C System capacity description

To successfully apply the coordination CBF in a pairwise manner, the value of the desired should be reasonable with respect to individual robot’s properties and the number of robots in the system (e.g. we can’t ask for that is longer than the total discharge time of a battery). We consider the relation between the robots’ parameters, their number and the feasible limits on as being an expression of the system’s capacity.

We propose a sufficient condition on the upper and lower limits of , in relation to properties like maximum and minimum battery voltages, discharge and recharge rates, and the number of robots in the system.

For the sake of being conservative, we derive this capacity relation assuming that the system is pushed to its limits, meaning that all robots operate with the maximum average relative velocity w.r.t. wind . Suppose we have a group of robots, each has its own value, and one of them is the “neediest” robot that recharges first and most often, while another is the least needy one (represented in Figure 1 as the red and blue lines respectively). We want , which means

 t1=Emax−Elbke+kv~Vt2=Emax−¯EMke+kv~V+Emax−¯EMkch+Emax−¯EMke+kv~V. (26)

Calculating and considering that , where being the actual value of of the neediest robot during the coordination, and being an additional increment of voltage to that is caused by the dependence of discharge rate on robot’s speed, we have:

 EM≤(1+ke+kv~Vkch)Emax+Elb−δt(ke+kv~V)−κεκ (27)

where . We can then calculate which is a uniform increment of between and to create the desired separation of arrival times

 ΔEM=(1+ke+kv~Vkch)(Emax−Elb)−δt(ke+kv~V)−κεκ(n−1) (28)

What we want then is to have , meaning that the arrival times of the last two robots (or any two consecutive robots) to be at least

 Emax−Elbke+kv~V−Emax−(Elb+ΔEM)ke+kv~V≥δt (29)

and substituting 28 into the last equation we get

 (1+ke+kv~Vkch)(Emax−Elb)−δt(ke+kv~V)−κεκ(n−1)−δt(ke+kv~V)≥0 (30)

then we obtain a critical value of at which the inequality becomes an equality

 δtcr=(1+ke+kv~Vkch)(Emax−Elb)−κε(ke+kv~V)[1+κ(n−1)]. (31)

One final requirement on is to be greater than half the time taken to recharge a battery from to

 δtcr≥Emax−Elb2kch (32)

The value of represents in this case an upper bound on the feasible that can be achieved by the system. To motivate the need for 3, we consider the critical case when , in which case the QP produces that renders (22) an equality, thus that reaches steady state in finite time (i.e. coordination achieved) at which . Considering the case where all robots have same (which we already supposed when deriving ) then from the LHS of (22) we have . So if decreases (robot going to recharge for example), increases and so resulting from the increase in . The value of can be estimated by approximating the integration of over the time it takes the robot to go back to the charging station. One approximation for is

 ε=kvVn⎛⎜⎝Tend−n(Emax−Elb)−kclogR0δ(1+κ(n−1))(ke+kv~V)(1+κ(n−1))⎞⎟⎠1+kvVnke+kv~V(1−11+κ(n−1)) (33)

where , and is the magnitude of the mission’s nominal velocity w.r.t. the wind velocity vector\@footnotemark.

###### Lemma 2

For a group of robots that have distinct values of that satisfy (31), (32) and (28), and provided they all operate such that their average relative velocity (w.r.t. wind) is equal to its upper bound, i.e. , let be the number of recharges that one robot can have in one charging cycle, then the maximum number of recharges for any robot is . Moreover, .

###### Lemma 3

For a group of robots, if satisfies

 Emax−Elb2kch≤δt≤δtcr (34)

as well as equation (28), then there exists such that the difference in arrival times between any two robots is at least (i.e. the scheduling problem is feasible).

### V-D Feasibility of QP

In the proposed coordination framework so far , which is a 1-D value, is being manipulated to vary the arrival times of robots to the charging station. However, this can potentially cause a QP infeasibility problem. For example, a robot might need to use a negative to evade a neighbour’s arrival time, but at the same time it may need to be positive so as not to go below . Some methods have been proposed to deal with this issue as in  [15] and [6], and we adapt the core idea of the latter. To avoid the infeasibility problem, each agent carries out coordination only with its neighbour with the closest arrival time. Moreover, it gives higher priority for maintaining over coordination. This way has to change to adapt one thing at a time and avoid potential infeasibility (see Algorithm 1).

The final QP is

 u∗=minu∈R3 ||u−unom||2 (35) s.t. Au≥B

where

 A=[ATeATc]=[LgLfhe001×2ATc],B=[BeBc]=[−L2fhe−(p1+p2)˙he−p1p2heBc]

while and are determined from Algorithm (1).

###### Theorem 3

[7, Theorem 3] For a multi robot system of robots, with dynamics defined in (9), and each robot applying energy sufficiency, coordination and lower bound constraints defined in (13), (22) and (25), and provided that the inequalities (27) and (34) are satisfied, then Algorithm (1) ensures mutual exclusive use of the charging station.

## Vi Results

In this section we present Matlab simulation results of the proposed framework, aiming to highlight its effectiveness, as well as the utility of the capacity estimation we propose. We tackled three different scenarios of a simple patrolling mission for a group of robots spinning around the charging station at a certain distance with a desired nominal mission speed. In these scenarios we have , and we want to achieve . The results are depicted in Figure 2, and the main parameters used are presented in Table I. For all the cases discussed, the is calculated using (33).

### Vi-a Base scenario

In this scenario we have a group of five robots that revolve around the charging station, with an upper bound of average relative velocity .

Each robot applies a proportional control on the speed to produce a nominal control input , where is a nominal mission velocity and is a gain. The value of is the one that goes into the QP (35). To generate for patrolling, we specify a desired magnitude then we use potential flow theory to specify the direction. We calculate a potential function of a source near the charging station, and of a vortex near the boundary

 ϕ={mlogD,if D<δ+Δtolm2πθp,if D>R0+Δtol (36)

where , , and .

The requirement is to have a . The value of from (31) is for , and , thus (34) is satisfied. The evolution of voltages and values is depicted in figures 1(a) and 1(d).

### Vi-B Base scenario with wind

Here we add a constant wind field of and we have an upper bound . In this case for . Choosing to use 5 robots causes for some robots to go over as shown in Figure 3 (when it should be less if it abides by the capacity condition (34), according to lemma 2), which is a sign of overloading the system. Reducing the robots to 4 gives for . and are depicted in Figs. 1(b) and 1(e).

### Vi-C Base scenario with wind and less kv

Here we consider the same previous scenario, but with robots having . Here for 5 robots for , which alludes to the possibility of adding a robot. Indeed, for 6 robots for . and are depicted in figures 1(c) and 1(f).

## Vii Conclusions

In this paper we propose a CBF based framework for ensuring energy sufficiency of a multi-robot system while sharing one charging station in a mutually exclusive manner, given that the robots are affected by air drag and known constant wind fields.

As a future work we consider extending the current framework to allow for sharing multiple charging stations, as well as exploring the possibility of relaxing the assumption of having complete communication graph.

## Appendix A Proof of theorem 1

{proof}

Since then there should be a value of control input that satisfies (13) provided that . can be written as

 LgLfh(x)=−kv(v−vw)T||v−vw||−kcD(x−xc)TD (37)

both expressions are basically unit vectors multiplied by an expression or a factor. If we want the second expression to dominate the first one (so even if both vectors are opposite, the summation will not be equal to zero), we pick so that the least possible value of be greater than so , meaning .

## Appendix B Proof of lemma 1

{proof}

To show this, it is useful to point out to the fact that the minimum value of the quadratic cost function of the QP (5) would be in case doesn’t violate the constraints on the QP. Otherwise, the QP produces a value of that abides with the constraint in the equality sense (produces a control input that renders the constraint as an equality).

Provided that the system starts in the safe set for , then at some time the nominal control action will cause inequality (13) to be violated, in which case the QP produces a safe control input that follows the constraint in the sense of equality. Therefore the produced control input causes to vary in the following way

 ¨he+(p1+p2)˙he+p1p2he=0 (38)

for which the solution is

 h(t)=Aeλ1t+Beλ2t (39)

where (the dominant mode),, and the constants and are determined from the initial conditions on and at the time .

When the robot arrives on the boundary of the charging station at time we have

 he(ta)=E(ta)−Emin=Aeλ1ta+Beλ2ta (40)

thus by properly choosing and we can gauge how closely the robot tracks on arrival to the charging station. We also point out to the fact that only at the boundary of the charging region, because if (which is the boundary of our safe set so to speak) we want this to be at , which happens if .

Since is a HOCBF, then any control input satisfying (13) renders the safe set forward invariant () so in case if and being on the boundary at the same time, then .

## Appendix C A method for choosing kc

In this discussion we provide a heuristic to choose the value of in the definition of the energy sufficiency CBF. The third term in the definition of signifies the voltage change that a robot needs to go back to the charging station [10]. The basic idea of choosing starts by supposing that a robot can use a PD controller to go back to the charging station, starting on the boundary of the operating range (i.e. ). For more conservatism, we suppose that there is a headwind with a magnitude of opposing the robot’s motion. Without loss of generality, we suppose that the robot is moving on a line so the robot’s motion is 1-D, and that the charging station is in the origin. In this case the system’s model will be

 ˙x=v˙v=−kpx−kdv−Cd(v−||vw||) (41)

which is a second order ordinary differential equation, the solution of which is 4

 x(t)=R0G[(L2−c)e−L2t−(L1−c)e−L1t]+Cd||vw||Gkp[L1(e−L2t−1)−L2(e−L1t−1)]v(t)=Cd||vw||−R0kpD(e−L1t−e−L2t) (42)

where , ,,. We then approximate the time needed to go from the initial position to a distance from the center (arriving at the boundary of the charging region) by taking only the dominant terms in consideration, so the position equation will be

 x(t)=(R0G(c−L1)−Cd||vw||GkpL2)e−L1t+Cd||vw||GkpL2 (43)

thus the time at which is

 ΔT=1L1log(−Cd||vw||L2+(c−L1)kpR0−Cd||vw||L2+kpGδ) (44)

then in order to consider the voltage change during this trip back to the charging station, we can integrate the voltage rate , however, to increase the conservatism in the estimate we choose to consider that the robot is moving on a constant speed equal to the maximum peak speed of , which can be obtained by differentiating and getting the time at which the differential is equal to zero and use the velocity at this time, and we call it which is expressed as

 v∗=−R0kp+Cd||vw||G⎛⎜⎝(L2L1)−L2L2−L1−(L2L1)−L1L2−L1⎞⎟⎠ (45)

and the voltage change needed becomes

 ΔE=˙EΔT=−ke+kv(|v∗|+||vw||)L1kclog(−Cd||vw||+(c−L1)kpGR0−Cd||vw||+kpGδ) (46)

however the current form of does not necessarily satisfy the condition that only on the boundary of the charging region, so we choose

 ΔE=−kclog(Dδ) (47)

## Appendix D Proof of Theorem 2

{proof}

Since there exists a control action that satisfies (22)) (and keeps invariant), then to show that is a ZCBF, we need to ensure that .

The only chance that this difference can be equal to zero is when one of the robots enters to the charging region. To show this, consider having two robots applying (22)and without loss of generality suppose that robot arrives at the charging station, so the difference in arrival times is

 ΔTLij=Ei−Eminike+kv¯Vi−Ej−Eminjke+kv¯Vj>0 (48)

it suffices to show that by the end of the charging process which means that at some point. To show this, we first point out that when the QP manipulates for coordination, then (22) becomes an equality, and due to the choice of in (23), the right hand side will be equal to zero. Thus

 ηi≈−(ke+kv¯Vi)(−ke+kvVjke+kv¯Vj+ke+kvVike+kv