Mobile Recharger Path Planning and Recharge Scheduling in a Multi-Robot Environment
MMobile Recharger Path Planning and Recharge Schedulingin a Multi-Robot Environment
Tanmoy Kundu and Indranil Saha Abstract — In many multi-robot applications, mobile workerrobots are often engaged in performing some tasks repetitivelyby following pre-computed trajectories. As these robots arebattery-powered, they need to get recharged at regular inter-vals. We envision that in the future, a few mobile rechargerrobots will be employed to supply charge to the energy-deficientworker robots recurrently, to keep the overall efficiency ofthe system optimized. In this setup, we need to find the timeinstants and locations for the meeting of the worker robots andrecharger robots optimally. We present a Satisfiability ModuloTheory (SMT)-based approach that captures the activities ofthe robots in the form of constraints in a sufficiently long finite-length time window (hypercycle) whose repetitions provide theirperpetual behavior. Our SMT encoding ensures that for achosen length of the hypercycle, the total waiting time of theworker robots due to charge constraints is minimized undercertain condition, and close to optimal when the conditiondoes not hold. Moreover, the recharger robots follow themost energy-efficient trajectories. We show the efficacy of ourapproach by comparing it with another variant of the SMT-based method which is not scalable but provides an optimalsolution globally, and with a greedy algorithm.
I. I
NTRODUCTION
Mobile robots are generally battery powered. They needto recharge their batteries periodically to ensure long-termoperation. For example, consider a multi-robot system thathas been entrusted with the surveillance responsibility of alarge area [1], [2]. Each robot has a predefined trajectorythat it follows to carry out the surveillance operation. Asthe robots are battery powered and they are supposed to beoperational all the time, there needs to be some mechanismin place to recharge the batteries of the robots wheneverrequired. Such a situation also arises when multiple robotsare employed for delivering some objects following their pre-planned trajectories in an assembly line [3].In this paper, we envision a multi-robot service systemwhere a set of worker robots ( workers ) follow their respectivepre-defined non-intersecting working loops repetitively tocarry out their routine work, and a few mobile rechargerrobots (or rechargers ) periodically meet the worker robotsto recharge their batteries. This approach is motivated byseveral mobile charging solutions that have recently appearedin the market [4], [5]. Though the mobile rechargers have *Tanmoy Kundu is supported by Visvesvaraya Ph.D. Fellowship bythe Department of Electronics and Information Technology, Ministry ofCommunication and Information Technology, Government of India Tanmoy Kundu is with Department of Computer Scienceand Engineering, Indian Institute of Technology Kanpur [email protected] Indranil Saha is with Department of Computer Science and Engineering,Indian Institute of Technology Kanpur [email protected] been developed keeping the electric vehicles in mind, thereis a vast potential of this technology to be useful for variousmulti-robot applications.In our proposed system, when a worker goes out of charge,it may have to wait before meeting a recharger. The rechargermay take some time to travel to the worker’s location. It mayeven be busy recharging another worker at that time. On theother hand, if the recharger is idle for some time, it mayprefer to move to the location of some upcoming recharg-ing ahead of time instead. However, as there are multipleworkers, it is challenging to decide towards which workerrobot the recharger should move. This decision depends onmany factors, such as the distance of the workers fromthe recharger, lengths of the working loops, the maximumpossible charge available to the workers, etc. Thus, it isimperative that we automatically synthesize the trajectoriesof the rechargers in a way that the overall waiting time ofall the workers gets minimized, and the rechargers movein the workspace following the most time/energy-efficienttrajectories. We do not consider recharging of the rechargersand assume their recharge requirement to be significantly lessfrequent than that of the worker robots.In this paper, we present a Satisfiability Modulo Theory(SMT) [6] based methodology to decide the initial locationsof the rechargers and synthesize their action plans statically,given the working loops of the workers. In our approach,we capture the infinite trajectory representing the perpetualbehavior of the robot as a finite hypercycle whose successiverepetitions create the infinite behavior of the workers and therechargers. In such a hypercycle, several working loops of theworkers can be embedded. To be able to repeat a hypercycle,we need to ensure that the initial states of all the robotsmatch with their states at the end of the hypercycle. It isalso important to decide the initial locations of the rechargersas they have a high impact on the overall efficiency of thesystem. The objective of the synthesis is to minimize thetotal wait time of all the workers as well as the cost of themovement of the rechargers.We first attempt to synthesize the trajectories of therechargers and the recharge schedule of the workers, by re-ducing the problem into a monolithic
SMT solving problem.However, though this monolithic approach guarantees theoptimality of the workers’ wait time for a chosen lengthof the hypercycle, the approach does not scale up well,either with the number of robots or with the length of thehypercycle. To address this scalability issue, we design anSMT-based two-phase algorithm to solve the problem. Thistwo-phase algorithm enables us to solve the problems at a r X i v : . [ c s . R O ] F e b larger scale both in terms of the number of robots andthe length of the hypercycle. We prove that under a certaincondition, our two-phase algorithm ensures the optimal waittime of the workers for a chosen length of the hypercycle.We carry out experiments with up to eight workers andthree rechargers. The trajectories have been synthesizedwithin an acceptable time budget (3 hours). We measure theefficiency of the workers as the proportion of the hypercycleduration during which workers are active — not waitingstand-by to get served by a recharger. In most cases, the op-timal SMT-based one-shot algorithm faces a timeout, but ourtwo-shot algorithm finds the solution successfully. Moreover,for the instances that the one-shot algorithm can solve, ourtwo-shot algorithm produces the plan with efficiency closeto that produced by the one-shot algorithm. We also compareour SMT-based algorithm with a greedy algorithm. Our SMT-based algorithm achieves ≈ − better efficiencycompared to the greedy algorithm.In summary, we make the following contributions. • We introduce the mobile recharger path planning prob-lem for a multi-robot system engaged in perpetual ac-tivities. Our problem involves both recharge schedulingand path planning of the rechargers to maximize theefficiency of the workers. • We propose an SMT-based solution for the above-mentioned path planning and recharge scheduling prob-lem. Our solution is scalable and produces close to theoptimal solution. It also outperforms a carefully craftedgreedy algorithm, establishing the efficacy of the SMT-based approach. • We implement our algorithm using the Z3 SMT solverand test the efficiency of the algorithm on variousinstances of the problem with up to workers and rechargers. II. P ROBLEM
A. Preliminaries1) Workspace ( WS ): In this work, we assume that therobots operate in a 2-D workspace represented as a 2-Doccupancy grid map. The grid decomposes the workspaceinto square-shaped blocks that are assigned unique identifiersto represent their locations in the workspace. We denotethe set of locations in the workspace by WS and locationscovered by obstacles by O . The set of obstacle-free locationsin the workspace is WS \ O .
2) Robot State ( σ ): The state σ of a robot consists of(a) σ.p , its position in the workspace, which determines aunique block in the occupancy grid, (b) σ.v , its velocityconfiguration, which represents the current magnitude anddirection of the velocity of the robot. We denote the set ofall velocity configurations by V and assume that it containsa value v denoting that the robot is stationary, and (c) σ.e ,the battery energy available to the robot.
3) Motion Primitive ( γ ): We capture the motion of a robotusing a set of motion primitives Γ . We assume that the robotmoves in an occupancy grid in discrete steps of τ time units.A motion primitive is a short controllable action that the robot can perform in any time step. A robot can move fromits current location to a destination location by executing asequence of motion primitives.With each motion primitive γ ∈ Γ , we associate a pre-condition pre ( γ ) , which is a formula over the statesspecifying under which conditions a motion primitive canbe executed. We write post ( σ, γ ) for the state the robotattains after executing the motion primitive γ at state σ .A motion primitive γ causes a displacement of the robotwith respect to its current location where the primitive isapplied. This displacement is denoted by disp ( γ ) . Also, eachmotion primitive γ is associated with an energy cost asdenoted by cost ( γ ) , which represents the amount of energyspent by the robot while executing the motion primitive.Thus, if σ (cid:48) = post ( σ, γ ) , then σ (cid:48) .p = σ.p + disp ( γ ) and σ (cid:48) .e = σ.e − cost ( γ ) . We use intermediate ( σ, γ ) to denotethe set of grid blocks through which the robot may traversewhen γ is applied at state σ , including the start and end gridblocks.
4) Worker ( r i ) and Recharger ( c i ) robot: We consider n workers R = { r , . . . , r n } engaged in some repetitivetasks in the workspace. A set of mobile rechargers C = { c , . . . , c m } , ideally m < n , are employed for rechargingthe workers as and when needed and keep the system runninguninterruptedly.The workers move following some predefined trajectoriesand carry on performing their designated tasks repetitively.We assume that the trajectories of the workers do notintersect with each other. That is why we do not need todeal with their collision avoidance. The Working loop forworker r i ∈ R to perform its designated tasks is denoted by L i = (cid:104) l i , . . . , l | L i |− i , l | L i | i (cid:105) , where the last location on L i issame as its first location. Each location l ki in L i is associatedwith a motion primitive γ ki ∈ Γ i that enables the workerto move to its next location l k +1 i . A state σ i satisfies theprecondition pre ( γ ki ) if σ i .p = l ki ∧ σ i .v = v . We write post ( σ i , γ ki ) to denote the state σ (cid:48) i such that σ (cid:48) i .p = (cid:40) l k +1 i if σ i .p ∈ { l i , . . . l | L i |− i } l i if σ i .p = l | L i | i ∧ σ (cid:48) i .v = v ∧ σ (cid:48) i .e = σ i .e − cost ( γ ki ) .A worker can continue its operation uninterruptedly only ifit can get its battery recharged at a regular interval. Worker r i may stop at any location in L i for getting recharged. Weassume that a worker r i can recharge its battery only if arecharger c i is positioned somewhere in the neighborhoodof r i . If the worker is at location p , its neighborhood isdefined as any obstacle-free location which is one unitdistance (in any direction) away from p , i.e., N ( p ) = { p (cid:48) | p (cid:48) ∈ WS \ O ∧ | p (cid:48) .x − p.x | ≤ ∧ | p (cid:48) .y − p.y | ≤ } .
5) Wait Primitive ( µ ): A robot is equipped with a specialprimitive, called the wait primitive µ , that enables it to waitin a location for τ time units, without causing energy loss.called the wait primitive , and is denoted by µ . A state σ satisfies the precondition pre ( µ ) if σ.v = v . We write post ( σ, µ ) to denote the state σ (cid:48) such that σ (cid:48) .p = σ.p σ (cid:48) .v = v ∧ σ (cid:48) .e = σ.e ( cost ( µ ) = ). Moreover, intermediate ( σ, µ ) = { σ.p } .
6) Recharge Primitive ( ν ): The workers are equippedwith a recharge primitive ( ν ). A worker robot r i can apply ν primitive to recharge its battery to the maximum possibleenergy emax i . Like a motion primitive, ν is also associatedwith a precondition pre ( ν ) and a postcondition post ( σ, ν ) .The precondition and postcondition depend on the specificrecharge strategy. In this work, we consider the most flexiblerecharge strategy where a worker robot is allowed to getrecharged whenever its battery charge is not full, and itcan be recharged by any recharge amount not necessarilyup to its full capacity. For this recharge strategy, a state σ satisfies the precondition pre ( ν ) if σ.e < emax i ∧ σ.v = v ∧ recharger , where recharger is a proposition whichbecomes true when the robot r i has access to a recharger.The postcondition post ( σ, ν ) denotes the state σ (cid:48) such that σ (cid:48) .p = σ.p ∧ σ (cid:48) .v = v ∧ σ (cid:48) .e = σ.e + δ ∧ < δ ≤ δ max ∧ σ (cid:48) .e ≤ emax i , δ ∈ R + , where δ max isthe maximum recharge amount per τ time units. Moreover, intermediate ( σ, ν ) = { σ.p } .
7) Action Plan ( ρ ) and Trajectory ( σ ): We capture therun-time behavior for a robot by a discrete-time transitionsystem. Let σ and σ be two states of the robot. For aprimitive ρ ∈ Γ ∪ { µ, ν } , σ ρ −→ σ is a valid transition iff σ | = pre ( ρ ) , σ | = post ( σ , ρ ) , and intermediate ( σ , ρ ) ∩ O = ∅ .The action plan for a robot is defined as a sequence ofprimitives to be applied to the robot to move it in a way thatits objective is achieved while satisfying various constraints.An action plan is denoted by a (potentially infinite) sequenceof primitives ρ = ( ρ ρ . . . ) , where ρ i ∈ Γ ∪ { µ, ν } for all i ∈ { , , . . . } . The rechargers do not have any rechargeprimitive ν .Given the current state σ of some robot and an actionplan ρ = ( ρ ρ ρ . . . ) , the trajectory of the robot is givenby σ = ( σ σ σ . . . ) such that for all i ∈ { , , , . . . } , σ i − ρ i −→ σ i .
8) Hypercycle ( T ): We synthesize the recharge schedulesfor the workers and the trajectories for the rechargers ina hypercycle , which is a time window of T units. Weabuse the notation slightly and denote both the hypercycleand its length by T . Successive repetitions of T essentiallycreates a long (potentially infinite) execution of the system.Hypercycle T is a parameter in our algorithm. As will beclear later, the efficiency of the worker robots increases withthe value of T , but the computation time of our algorithmalso increases with T .To be able to repeat any number of hypercycles, the states(location and charge level) of the robots at the beginningof a hypercycle should match with that at the end of thehypercycle. During the time window T , the trajectory ofworker robot r i is denoted by S i = (cid:104) σ i , . . . , σ Ti (cid:105) and thetrajectory of recharger c i is ˆ S i = (cid:104) ˆ σ i , . . . , ˆ σ Ti (cid:105) , where ∀ r i ∈ R : σ Ti = σ i , and ∀ c i ∈ C : ˆ σ Ti = ˆ σ i . The workerrobots start their operation with full charge, i.e., σ i .e = emax i . Once the worker robots are at their final locations, they need to be recharged to full charge to accomplish thestate matching, i.e., σ Ti .e = emax i .During T , every worker robot r i completes several roundsof its working loop L i . Worker robot r i ’s trajectory S i iscomposed of multiple concatenations of working loop L i ofworker r i . Also, due to recharging and idle waiting, someof the trajectory points in L i may be repeated, as as therobot does not change its position during those events. Werepresent the j th extended working loop as L ji , where zeroor multiple repetitions of trajectory points may occur. Thus, S i is composed of multiple (say g ) concatenations of L ji s : S i ≡ (cid:104) σ i .p, . . . , σ Ti .p (cid:105) ≡ L i ◦ L i ◦ . . . ◦ L gi (cid:124) (cid:123)(cid:122) (cid:125) g times where ◦ is the concatenation operator. Also, σ i .p = σ Ti .p = l i .Also, recharger c j ’s trajectory ˆ S j is synthesized by ouralgorithm as described later.The finite length trajectories during T for all the workersand rechargers are captured as S = (cid:104) S , S , . . . , S | R | , ˆ S , ˆ S , . . . , ˆ S | C | (cid:105) . B. Problem Definition
In this section, we define the problem formally.The inputs to the problem are the working loops L i = (cid:104) l i , . . . , l | L i |− i , l | L i | i (cid:105) with corresponding sequence ofmotion primitives (cid:104) γ i , . . . , γ | L i |− i , γ | L i | i (cid:105) and maximum en-ergy emax i for each worker r i , the set of motion primitives Γ i and ˆΓ i for each worker r i and each recharger c i , themaximum recharge amount δ max , and a set of potential initial locations P ⊆ WS \ O for the rechargers.At each time step of T , the workers and the rechargersperform some actions. We have to decide the actions of therobots at every time step in order to find the optimal solutionto the planning problem. The action plan for worker r i duringtime window T is defined as: ρ i = (cid:104) ρ i , . . . , ρ T − i (cid:105) , where ρ ti ∈ Γ i ∪ { µ, ν } . Similarly, the action plan for recharger c i is defined by ˆ ρ i = (cid:104) ˆ ρ i , . . . , ˆ ρ T − i (cid:105) , where ˆ ρ ti ∈ ˆΓ i ∪ { µ } . Forthe whole system of robots, the consolidated action plan isdefined as ρ = (cid:104) ρ , ρ , . . . , ρ | R | , ˆ ρ , ˆ ρ , . . . , ˆ ρ | C | (cid:105) . We denoteby δ ti , < δ ti ≤ δ max , the amount of energy used in therecharge of worker r i at the t -th time instant if ρ ti = ν .We now formulate the problem as an optimization prob-lem . The decision variables for this optimization problemare the action plans of the workers and the rechargers,the recharge amount at every recharge instance, and theinitial location of the rechargers decided from a given setof potential initial locations P . • ∀ t ∈ { , . . . , T − } .ρ t = (cid:104) ρ t , . . . , ρ t | R | , ˆ ρ t , . . . , ˆ ρ t | C | (cid:105) , • ∀ t ∈ { , . . . , T − } . ∀ r i ∈ R. δ ti when ρ ti = ν , • ∀ c j ∈ C. ˆ σ j .p ∈ P .The objective of the optimization problem is to minimizethe total waiting time W of the workers, and the travel cost U of the recharger, with weights w and w respectively: Minimize ( w · W + w · U ) a) (b) (c)(d) (e) (f)Fig. 1. Snapshots of plan execution of a recharger (arrowhead) forthree workers (circles): (a) initial position, (b) the recharger waitsfor the green worker, (c) both the red worker and the rechargermove together, (d) the blue worker waits for the recharger, (e) therobots return to the same initial and final positions, (f) recharger’strajectory. where W := (cid:88) t ∈ T − (cid:88) r i ∈ R [ ρ ti = µ ] , U := (cid:88) t ∈ T − (cid:88) c i ∈ C ˆ ρ ti .cost, [ ρ ti = µ ] is if ρ ti = µ and otherwise.The above optimization problem has to be solved underseveral constraints, as introduced in Section III.To measure the performance of a planning algorithm, weintroduce the following notion of efficiency of a rechargeplan for a multi-robot system. Definition 1: Efficiency.
The efficiency E of a multi-robotsystem, under a recharge plan, is defined as the percentageof time spent by the workers doing their tasks or recharging(excluding wait time to get recharged), during time window T . Mathematically, E = | R | · T − W| R | · T × . (1) C. Example
We present a simple example involving three workerrobots and one recharger robot to illustrate the trajectoriesgenerated by our algorithm (Figure 1). The workers areshown as circles and the recharger as an arrow-head. Torecharge a worker, a recharger has to be placed in someneighboring location of the worker for one or more con-secutive time steps. The present states of the robots arecolored, and the previous states are shown as hollow circles.The initial positions of the robots are shown in Figure 1(a).At time points 8 and 9, the recharger places itself at somesuitable location even before the worker on the green loopgoes out of charge (Figure 1(b)). At time steps 13 and 14,to recharge the worker on the red loop, both the worker andthe recharger move simultaneously towards each other to per-form recharging for two consecutive time steps (Figure 1(c)).At time steps 35 and 36, the worker on the blue loop has towait before the recharger can come close to it for recharging (Figure 1(d)). Within 40 time steps, the workers are back totheir respective initial locations; however, their charge levelsdo not match with their initial charge levels. Also, the currentlocation of the recharger is not the same as its initial location.Few more time steps (in this case, 8) are needed to restorethe workers to their initial charge levels. From time step41 onwards, the recharger moves to each worker to boostthem to their initial charge levels and places itself back to itsinitial location. Thus, the entire system’s final state matchesexactly with the initial state at time step 48 (Figure 1(e)).Hence, for this example, 48 is the length of the extendedhypercycle when the length of the original hypercycle is40 (These terms will be introduced formally in the nextsection). Figure 1(f) shows the trajectory of the rechargerin the extended hypercycle. In the following section, we willprovide an SMT-based methodology to generate such plansfor mobile rechargers automatically.III. A
LGORITHM
A. One-Shot Algorithm
We first present a naive approach to solve the planningproblem and use it as the baseline to evaluate our proposedTwo-shot algorithm discussed later. In this approach, weformulate the problem as a monolithic (one-shot) optimiza-tion problem with the objective function and the decisionvariables described in the problem definition above. Herewe present the constraints of the optimization problem.
Constraints for the workers:
For worker r i , we denote theconstraints as: | [ W orker i ] | = I ( σ i ) ∧ T − (cid:94) t =1 T r ( σ ti , ρ ti , σ t +1 i ) ∧ F ( σ Ti ) . Here, I is the initial location constraint of r i which is apredefined location on the working loop, and the initialcharge of r i is equal to its full charge capacity. I ( σ i ) ≡ σ i .p = l i .p ∧ σ i .v = v ∧ σ i .e = emax i The transition constraint
T r of any worker is based on threetypes of primitives — motion, wait and recharge; and thatthe battery charge at any time point is between zero andmaximum (full) charge.
T r ( σ ti , ρ ti , σ t +1 i ) ≡ ≤ σ ti .e ≤ emax i ∧ ρ ti ∈ Γ i ∪ { µ, ν }∧ σ ti | = pre ( ρ ti ) ∧ σ t +1 i | = post ( σ ti , ρ ti ) To connect the trajectory of worker r i with its working loop L i , we introduce a variable θ ti , ≤ t ≤ T − , that maps r i ’sposition to an appropriate trajectory point on L i , at t th timestep. To achieve this, we conjunct θ i = 1 ∧ ρ i = γ i with I ( σ i ) and the following constraints with T r ( σ ti , ρ ti , σ t +1 i ) : ρ ti ∈ { µ, ν } → θ t +1 i = θ ti ( ρ ti ∈ Γ i ∧ θ ti < | L i | ) → ( ρ ti = γ θ ti i ∧ θ t +1 i = θ ti + 1)( ρ ti ∈ Γ i ∧ θ ti = | L i | ) → ( ρ ti = γ | L i | i ∧ θ t +1 i = 1) Note that the sequence of motion primitives correspondingto the working loop of r i is (cid:104) γ i , . . . , γ | L i |− i , γ | L i | i (cid:105) , and θ ti eeps track of the index of the motion primitive that has tobe applied in the current step t .The final state constraint F captures that worker’s locationand charge level should match at the final and initial timepoints of the hypercycle: F ( σ Ti ) ≡ σ Ti .p = σ i .p ∧ σ Ti .v = v ∧ σ Ti .e = σ i .e. Constraints for the rechargers:
The constraints for arecharger c j in hypercycle T are given by | [ Recharger j ] | = ˆ I (ˆ σ j ) ∧ T − (cid:94) t =1 (cid:99) T r (ˆ σ tj , ˆ ρ tj , ˆ σ t +1 j ) ∧ ˆ F (ˆ σ Tj ) . The initial constraint ˆ I sets the initial location of recharger c i from the set of potential initial locations P , which is foundby the solver: ˆ I (ˆ σ j ) ≡ ˆ σ j .p ∈ P ∧ σ j .v = v . Transition constraint (cid:99)
T r of any recharger c j is based ontwo types of primitives — motion and wait; state transitionsatisfies the precondition and postconditions described above.Also, recharger c j ’s transition captures obstacle avoidanceand collision avoidance with workers and other rechargers. (cid:99) T r (ˆ σ tj , ˆ ρ tj , ˆ σ t +1 j ) ≡ ˆ ρ tj ∈ Γ j ∪ { µ } ∧ ˆ σ tj | = pre (ˆ ρ tj ) ∧ ˆ σ t +1 | = post (ˆ σ tj , ˆ ρ tj ) ∧ intermediate (ˆ σ tj , ˆ ρ tj ) / ∈ O ∧ intermediate (ˆ σ tj , ˆ ρ tj ) ∩ (cid:91) r j ∈ R intermediate ( σ tj , ρ tj ) = ∅ ∧ intermediate (ˆ σ tj , ˆ ρ tj ) ∩ (cid:91) c k ∈ C \{ c j } intermediate (ˆ σ tk , ˆ ρ tk ) = ∅ Collision avoidance constraints ensure that a recharger doesnot occupy the same cell occupied by any worker or anyother recharger at any time step t .Final state constraint ˆ F at time point T matches the finallocation of a recharger with its initial location. We do notconsider the charge level of rechargers in this paper. ˆ F (ˆ σ Ti ) ≡ ˆ σ Ti .p = ˆ σ i .p ∧ ˆ σ Ti .v = v Constraints for the entire system:
The constraints for theworkers and the rechargers collectively make up the con-straints for the entire system. | [ System ] | = (cid:32) (cid:94) r i ∈ R | [ W orker i ] | (cid:33) ∧ (cid:94) c j ∈ C | [ Recharger j ] | The one-shot algorithm synthesizes the trajectory of therecharger minimizing the waiting time of the workers. Aswe solve the planning problem for a fixed number ofworker robots and a fixed length of the hypercycle, fromEquation (1), we can ensure that the algorithm provides aplan with the maximal efficiency. This discussion leads tothe following theorem.
Theorem 1:
For a given length of hypercycle T , if the one-shot algorithm is solved with weights w = 1 and w = 0 in the objective function introduced in Section II-B, then itproduces a plan with maximum efficiency.Though the one-shot algorithm provides a plan with opti-mal efficiency, it suffers from a lack of scalability , as shownin the experimental results. B. Two-Shot Algorithm
To address the above scalability issue, we design analgorithm by splitting the problem into two phases.
1) First phase:
The duration of the first phase is equal tothe length of the original hypercycle T . In this phase, theworkers traverse the maximum possible number of workingloops, and within T time duration, they return to theirrespective initial locations. This phase handles matching of workers’ start and end locations only ; charge level matchingor rechargers’ location matching are not handled in thisphase. During T , a worker may require several intermediaterechargings , and it returns to its initial location where itscharge is below its initial (full) charge. Objective:
In this phase, we optimize only the total waitingtime of the robots, i.e., minimize W only. Constraints for worker and recharger robots:
Constraints forthe worker and recharger robots are the same as that of theOne-shot algorithm discussed above, with a few exceptions.For worker r i , the final state constraints F (cid:48) do not capturecharge matching (with the initial state) at the end of T .Therefore, F (cid:48) ( σ Ti ) ≡ σ Ti .p = σ i .p ∧ σ Ti .v = v .For recharger c j , we do not need to enforce any restriction(including location matching) on its final state at the end of T . Outcomes forwarded to the second phase:
The following out-comes are forwarded to the second phase of our algorithm. (i) Intermediate recharging instances:
This refers to thetime point and location of every recharging occurred during T . For each recharger c j , we store the set of (cid:104) τ, p (cid:105) (recharg-ing instance) such that c j recharges some worker r k at timepoint τ and location p : η j = {(cid:104) τ, p (cid:105) (cid:12)(cid:12) ρ τj = µ ∧ ∃ r k ∈ R, ρ τk = ν ∧ ˆ σ τj .p ∈ N ( σ τk .p ) } . (ii) State of the workers: After location matching of theworkers in the first phase, we record the time point ( τ ) whena worker halts finally, and the number of recharge instances( d ) required to recharge it fully. We capture this informationin ζ i for worker robot r i : ζ i = (cid:104) τ, d (cid:105) : ∀ t : τ ≤ t ≤ T. σ ti .p = σ i .p ∧ d = (cid:108) emax i − σ τi .eδ max (cid:109) (iii) Initial location of the rechargers: For each recharger c j , its initial location ˆ σ j .p ∈ P .
2) Second phase:
In this phase, we minimally extend thelength of the original hypercycle ( T ) to meet the remainingmatching constraints, viz., charge level matching of workers,and location matching of rechargers. We denote the durationof the extended hypercycle by T (cid:48) ( > T ) . For the timeduration ( T (cid:48) − T ) , we synthesize the action plan of therechargers such that they move to the workers to rechargehem up to their initial (full) charge, and then they returnto their respective initial locations. Thus, all the matchingrequirements are fulfilled at the end of T (cid:48) , after the secondphase.In this phase, we essentially synthesize trajectories for therechargers, from time point till T (cid:48) , with some waypointsalready received from the first phase. These waypoints arethe initial and final locations (which are the same) of therechargers and the time instants and duration for intermediaterecharging. Objective:
In this phase, we optimize the total cost of therecharger robots, i.e., the objective is to minimize U . Constraints for workers:
Remember that ζ i .τ is the timepoint when worker r i returns to its initial location duringthe first phase. Between time points ζ i .τ and T (cid:48) there isa time instant t when some recharger c j starts rechargingworker r i ; and this goes on for duration ζ i .d thereafter. Asobvious, recharger c j has to be placed at the neighborhood r i for duration ζ i .d : | [ W orker (cid:48)(cid:48) i ] | ≡ ∃ t, ζ i .τ ≤ t ≤ T (cid:48) − ζ i .d + 1 and ∃ c j ∈ C ˆ ρ tj = µ ∧ ˆ ρ t +1 j = µ ∧ . . . ∧ ˆ ρ t + ζ.d − j = µ ∧ ˆ σ tj .p =ˆ σ t +1 j .p = . . . = ˆ σ t + ζ i .d − j .p ∈ N ( ζ i .p ) Constraints for rechargers:
The constraints for recharger c j are: | [ Recharger (cid:48)(cid:48) j ] | ≡ ˆ I (cid:48)(cid:48) (ˆ σ j ) ∧ T (cid:48) − (cid:94) t =1 (cid:100) T r (cid:48)(cid:48) (ˆ σ tj , ˆ ρ t +1 j , ˆ σ t +1 j ) ∧ ˆ F (cid:48)(cid:48) (ˆ σ Tj ) ∧ (cid:99) IR ( η j ) In this phase, T (cid:48) ( > T ) is the last time point of theextended hypercycle. Constraint I (cid:48)(cid:48) sets the initial locationof recharger c j , as received from the first phase, i.e., ˆ I (cid:48)(cid:48) (ˆ σ j ) ≡ ˆ σ j .p = ˆ l j . Constraint F (cid:48)(cid:48) matches the last locationof c j with its initial location, i.e., ˆ F (cid:48)(cid:48) (ˆ σ T (cid:48) j ) ≡ ˆ σ T (cid:48) j = ˆ σ j .Constraint (cid:99) IR handles intermediate recharging (andassociated rules) of workers during the original hypercycle T based on η j which is already received from the first phase: (cid:99) IR ( η j ) ≡ ∀ t ∈ T : (cid:104) t, p (cid:105) ∈ η j = ⇒ ˆ σ tj .p ∈ N ( p ) ∧ ˆ ρ tj = µ .Thus, at the end of the second phase, our algorithm meetsall three necessary matchings to enable repetitions of thesame extended-hypercycle T (cid:48) for arbitrary number of times. Optimality of T (cid:48) : After the first phase, we run a loop inwhich T -value is increased by one in every iteration and isassigned to T (cid:48) . In every iteration, the constraints are checkedfor satisfiability. Whenever they are satisfied for the first time,the algorithm terminates, and we get a plan for the minimalvalue of T (cid:48) .For a given T , the two-shot algorithm is not guaranteedto produce a plan with optimal efficiency. However, thefollowing theorem establishes the conditional optimality ofthe two-shot algorithm. Theorem 2:
For a given original hypercycle length T , iffor all the robots r i ∈ R , the length of the working loop L i is strictly greater than T (cid:48) − ζ i .τ , i.e., ∀ r i ∈ R. | L i | > T (cid:48) − ζ i .τ , then the solution produced by the two phase algorithmensures maximal working efficiency. Proof:
In the first phase of the algorithm, we ensurethat any worker robot r i traverses its working loop for themaximal number of times. The robot r i stops its operation attime ζ i .τ ≤ T . If the length of the working loop L i is strictlygreater than T (cid:48) − ζ i .τ for any robot r i , it is not possible toinclude any more working loop for any of the robots in theextended hypercycle of length T (cid:48) . This ensures the maximalworking efficiency of the generated plan. C. Mechanism for Dealing with Delay Uncertainty
Our algorithm generates the trajectories of the mobilerechargers based on the assumption that the workers and therechargers move in lock steps. However, in reality, the robotscannot move synchronously due to the delay uncertainty intheir motion. To deal with this delay uncertainty, we canemploy the following measures during the execution of thestatically computed plan. We assume that the workers andrechargers are fully aware of the recharge plan. They canutilize their knowledge about the recharge plan to deal withany run-time anomaly due to delay uncertainty. First, at anyrecharge point, both the worker and the recharger wait ifthe other robot does not arrive at the designated location atthe anticipated time. A worker and a recharger do not leavethe recharge location before the recharge is initiated andcompleted successfully. Second, to ensure that the generatedtrajectories do not become useless after the execution of afew hypercycles, a synchronization event can be conductedafter the completion of each hypercycle. Once a rechargerreaches its initial location, it broadcasts a sync message toall other robots (both workers and other rechargers). Whena robot (either worker or recharger) receives exactly | C | sync messages, it starts its operation for the next hypercycle.We assume that the communication is reliable and requiresnegligible time. D. A Greedy Algorithm
To demonstrate that our SMT-based algorithm is indeedessential for obtaining a superior solution to the mobilerecharger path planning problem, we design a baselinegreedy algorithm for the sake of comparison. In this algo-rithm, we ensure that when a recharger becomes available,it moves towards a location where it will get the opportunityto recharge an energy-deficient robot at the earliest, i.e., itmoves to the nearest charge-deficient worker.At any time step t , for each worker r ∈ R and for eachrecharger c ∈ C , we compute λ cr that captures the durationafter which recharger c can start recharging robot r . Therecould be the following two cases: (i) If worker r is alreadydevoid of charge and has become stationary, then λ cr givesthe time required for an available recharger c to move tothe current location of worker r . (ii) If robot r is currently(at time t ) moving, then λ cr represents the maximum of thefollowing: (a) time required for robot r to become energydeficient, and (b) time required for recharger c to reach the a) (b) (c) (d)Fig. 2. Workspaces for experiments: (a) Warehouse, (b) Artificialfloor, (c) Random with 20% obstacles, (d) Random with 30%obstacles. Loops represent working loops of the worker robots. Reddots represent the way-points of worker’s trajectory. Blue trianglesin (a) show the potential initial locations for the rechargers in theworkspace. final location of robot r . Once we compute λ cr for all c ∈ C t and all r ∈ R , we choose the (cid:104) r ∗ , c ∗ (cid:105) pair for which λ cr isthe minimum.We implement the greedy strategy over a hypercycle likewe do in our SMT-based approach. This greedy algorithmcan be used to design an online mechanism for mobilerecharging as well. However, the online implementationrequires an infrastructure for keeping track of the state of thesystem and running the scheduling algorithm at appropriatetime instants. IV. E VALUATION
A. Experimental Setup
The workspaces ( × dimension) used for our exper-iments are shown in Figure 2. We consider all the robotsto follow motion primitives of differential-drive robots likeTurtlebot [7]. If fully recharged, half of the workers go outof charge in time steps, and the remaining workers goout of charge in time steps. Note that each step maycorrespond to covering a long distance. The value of δ max (the maximum amount of recharge per time unit) is chosenas units. The bar plots representing the efficiency aredivided into two parts – the lower part gives the efficiencydue to movement (work), and the upper one represents theefficiency contribution due to getting recharged (recharge).If a bar shows a value of x % , it implies that (100 − x )% ofthe time the worker has spent in waiting idly for meeting arecharger. For all our experiments, the timeout is set to .Our experiments were carried out in a system with i7-6500U CPU @ 2.50GHz and 16 GB RAM. We use Z3 [8]as the back-end SMT solver. We have also carried outthe experiments using Gurobi optimizer [9] by modelingour problem as an appropriate Integer Linear Programmingproblem. However, in our experiments, Z3 consistently out-performed Gurobi in terms of computation time. Thus, wepresent our results using Z3 as the back-end solver only. Inour SMT encoding of the one-shot algorithm, we have usedthe waiting time of the workers as the primary objectiveand the trajectory cost of the recharger as the secondaryobjective. B. Results1) One-shot vs Two-shot algorithms:
In Figure 3, wecompare the efficiency of the one-shot and the two-shot algorithms for Warehouse workspace. The one-shot approachdoes not have a concept of extended hypercycle ( T (cid:48) ). How-ever, the comparison needs to be done for the same lengthof hypercycles. Therefore, first, we execute the two-shotalgorithm with some original hypercycle ( T ) and obtain thelength of the extended hypercycle ( T (cid:48) ). Subsequently, weuse the derived T (cid:48) as the hypercycle length for the one-shot approach. The experiments are carried out for originalhypercycle length , , and for up to workers and rechargers, and for original hypercycle length for - workers and rechargers. In the figure, the label on the x -axis 2r;1c;25T;30T'denotes workers, recharger, originalhypercycle length , and extended hypercycle length .For some smaller instances, the one-shot algorithm is ableto produce recharge plans and provides better efficiencythan its two-shot counterpart. Let us examine the reason.Consider the instance r ; 1 c ; 30 T ; 35 T (cid:48) in Figure 3. For oneof the worker robots, the one-shot algorithm generates arecharge plan with working loops, whereas the two-shotalgorithm allows only working loops. The reason behindthis observation is that one of the workers completes itslast working loop at time point in case of the one-shotalgorithm. However, in the two-shot approach, the workersare not allowed to move after the -th time point, asthe original hypercycle length is . Therefore, one-shotgives better efficiency for this instance. However, one-shotalgorithm times out ( ) in most of the cases, whereas two-shot algorithm scales well for larger input instances. Thecomputation times for the two-shot algorithm in warehouseworkspace for up to workers and rechargers for originalhypercycle length , , and are shown in Figure 4.As evident from Figure 3, with fixed | R | and | C | , theefficiency increases with increasing T . With fixed | R | and T , the efficiency increases with increasing | C | .In Figure 5, we compare one shot and two shot ap-proaches for other more complex workspaces – Artificialfloor, Random-20, and Random-30 (workspaces are shown inFigure 2). A similar trend, as seen in Figure 3 for Warehouse,can also be seen for other workspaces in Figure 5. One-shotalgorithm times out for most of the input instances.
2) Comparison with the Greedy algorithm:
We compareour SMT-based two-shot algorithm with the greedy algorithmpresented in Section III-D. Comparison results for − workers and − rechargers with hypercycle length T = 30 and T = 35 are shown in Figure 6. As seen from the figure,our SMT-based two-shot algorithm achieves an improvementof - in efficiency over the greedy algorithm, withan average % -improvement of . . In the SMT-basedtwo-shot algorithm, the possibility of partial recharging andsynthesis of initial locations of rechargers helps us achievebetter efficiency.Figure 7 (on the next page) shows the comparison betweenthe greedy algorithm and the SMT-based two-shot algorithmfor a given input instance ( workers, rechargers, and T =35 in a Warehouse workspace). The efficiencies are . and . for the greedy approach and the SMT-based two-shot approach, respectively, which is an improvement of r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' r ; c ; T ; T ' E f fi c i e n c y ( % ) One-shot;work One-shot;recharge Two-shot;work Two-shot;recharge
Fig. 3. Efficiency comparison: One-shot vs Two-shot approach, for different workers-rechargers-orig.hypercycle-ext.hypercycle ( | R | ; | C | ; T ; T (cid:48) )combinations and Warehouse workspace. Each stacked bar is divided into work (lower) and recharge (upper) parts. For One-shot, in some cases, absenceof bars implies timeout.2r;1c 3r;1c 4r;1c 4r;2c 5r;2c 6r;2c T i m e ( m i nu t e s ) T=25 T=30 T=35
Fig. 4. Computation time: Two-shot algorithm, for different workers-rechargers combinations ( | R | ; | C | ) and hypercycle lengths (T) in warehouseworkspace. 4r;2c5r;2c6r;2c 4r;2c5r;2c6r;2c 4r;2c5r;2c6r;2c 4r;2c5r;2c6r;2c 4r;2c5r;2c6r;2c 4r;2c5r;2c6r;2c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c r ; c E f fi c i e n c y ( % ) A RT . FLOOR R ANDOM -20 R
ANDOM -30 T = T = T = T = T = T = Fig. 5. Efficiency comparison: One-shot vs Two-shot approach, for differenttypes of workspaces – Artificial floor, Random-20 and Random-30 with T = 20 and T = 25 . Each stacked bar is divided into work and rechargeparts. For One-shot, in most cases, absence of bars implies timeout ( ). over the greedy approach. As Figure 7 reveals, theSMT-based algorithm provides better performance for thefollowing reasons. i) The possibility of partial recharging in the SMT basedapproach results in the reduction in‘ the idle time for theworker robots. In the case of the SMT-based approach,recharging is scheduled even if a worker is not fully outof charge. In many cases, partial recharging helps us gainperformance improvement. Partial recharging happens whena worker is recharged for less number of time instants thanwhat it actually needs to fully recharge its battery. Because ofthis, worker-2 and worker-4 traverses loops each with thegreedy approach, whereas they traverse loops each with theSMT based two-shot approach. This enhances the efficiencyof the SMT two-shot approach. Both worker-1 and worker-3traverse loops each for both the approaches. ii) Synthesis of rechargers' initial locations in the SMT-based approach results in less time for the rechargers togo back to their initial states. In the greedy approach, r ; c r ; c r ; c r ; c r ; c r ; c E f fi c i e n c y ( % ) Greedy SMT 2-shot (a) T = 30 r ; c r ; c r ; c r ; c r ; c r ; c E f fi c i e n c y ( % ) Greedy SMT 2-shot (b) T = 35 Fig. 6. Efficency comparison: SMT-based Two-shot vs Greedy approach,for different workers-rechargers combinations and hypercycle lengths ( T )in warehouse workspace. rechargers' initial locations are decided arbitrarily. Therefore,it takes a longer time for the rechargers to get back to theirrespective initial locations for state matching at the end.In Figure 7, length of the extended hypercycle for greedyapproach is . Had these initial locations been chosenwisely, overall time could have been saved. Our SMT-basedtwo-shot algorithm synthesizes the initial locations of therechargers, which leads to more convenient initial locations,and enables the rechargers to go back to their initial locationsin comparatively lesser time. In Figure 7, the length of theextended hypercycle for the SMT-based two-shot algorithmis for the chosen input instance.
3) Effect of rechargers’ potential initial locations ( P ): Our algorithm synthesizes the initial locations of the recharg-ers. The number of potential initial locations ( P ) of therechargers plays a role in determining their starting positions,and hence the trajectories of the rechargers, and the overallefficiency (Figure 8). We choose the locations in P symmet-rically in the Warehouse workspace as shown in Figure 2 for | P | = . Similarly, we choose the locations for smaller P ’sby symmetrically removing locations from the larger P . Asexpected, the efficiency increases with the increase in the sizeof P up to a certain value and then remains the same. Whenwe increase the size of set P , the computation time goes upbecause the search space size increases. Computation timevaries in the range of - , - and - for , and worker robots respectively. reedy algorithm SMT Two-shot algorithm Time Worker-1 Worker-2 Worker-3 Worker-4 Recharger-1 Recharger-2 Time Worker-1 Worker-2 Worker-3 Worker-4 Recharger-1 Recharger-2T=1 (7 3) 20 (11 3) 20 (17 9) 20 (7 9) 20 (0 0) (18 18) T=1 (7 3) 20 (11 3) 20 (17 9) 20 (7 9) 20 (8 4) (17 8)T=2 T=2T=3 T=3 moving
T=4 T=4T=5 T=5 moving moving
T=6 moving moving moving moving (11 10)
T=6 (13 5) 12 moving (12 5) w2T=7 T=7 (13 5) 20 (12 5)
T=8 T=8T=9 T=9 (7 3) 4 (17 9) 4 (7 2) w1T=10 T=10 (7 3) 14 (7 2)
T=11 (1 3) 0 (11 9) 0 (0 2) w1 (11 10) w1 T=11 (17 9) 4 (18 10) w3T=12 (1 3) 10 (11 9) 10 (0 2) w1 (11 10) w1 T=12 moving (17 9) 4 (5 7) 2 (5 6) w4 (18 10) w3T=13 (1 3) 20 (11 3) 0 (11 9) 20 (7 9) 0 (0 2) (11 10)
T=13 (17 9) 20 (5 7) 12 (5 6) (18 10)
T=14 (7 9) 0 (8 10) w4 T=14 moving
T=15 (7 9) 10 (8 10) w4 T=15T=16 (7 9) 20 (8 10)
T=16 moving
T=17 moving (11 3) 0 moving (10 2) w2 T=17 (4 5) 6 (4 6) w1T=18 (11 3) 10 (10 2) w2 (8 4)
T=18 (4 5) 16 moving (4 6)
T=19 (11 3) 20 (10 2)
T=19 (13 5) (3 7) (14 6) w2T=20 T=20 moving (13 5) (3 7) (14 6) w2T=21 moving
T=21 (13 5) 20 (14 6)
T=22 T=22 (0 4)
T=23 (7 3) 0 (17 9) 0 (17 8) w3 (8 4) w1 T=23 (1 3) 8 (11 9) 0 moving (0 4) w1 (11 8) w3T=24 (7 3) 10 moving (17 9) 10 (17 8) w3 (8 4) w1 T=24 (1 3) 18 moving (11 9) 10 (0 4) w1 (11 8) w3T=25 (7 3) 20 (17 9) 20 (17 8) (8 4)
T=25 (1 3) 20 (11 9) 20 (0 4) (11 8)
T=26 T=26T=27 (8 8)
T=27 (5 7)T=28 moving (7 9) 0 (8 8) w4 T=28 (11 3) 1 (5 7) (10 4) w2T=29 moving (7 9) 10 (8 8) w4 T=29 moving (11 3) 11 moving (10 4)
T=30 (7 9) 20 (8 8)
T=30T=31 (11 3) 0 (10 4) w2 T=31 moving
T=32 (11 3) 10 (10 4) w2 (8 4)
T=32 moving
T=33 (7 3) 4 (11 3) 20 (17 9) 0 (10 4) (8 4) w1 T=33T=34 (7 3) 14 (8 4) w1 T=34T=35 (7 3) 20 (8 4)
T=35 (7 3) 0 (11 3) 1 (17 9) 0 (7 9) 0 (8 9) w4T=36 (17 9) 0 (17 8) w3 T=36 (11 3) 1 (7 9) 10 (8 9) w4 (11 4) w2T=37 (17 9) 10 (17 8) w3 T=37 (11 3) 11 (7 9) 20 (8 9) (11 4) w2T=38 (17 9) 20 (17 8)
T=38 (11 3) 20 (11 4)
T=39 T=39T=40 T=40 (7 3) 0 (17 9) 0 (8 4) w1 (17 8) w3T=41 T=41 (7 3) 10 (17 9) 10 (8 4) w1 (17 8) w3T=42 T=42 (7 3) 20 (17 9) 20 (8 4) (17 8)
T=43 (18 18 )
T=44T=45 (0 0)Ext.hyperlength = 45, Total wait time = 38 + 18 = 56 Ext. hyperlength = 42, Total wait time = 31
Efficiency = (45*4 – 56) / (45*4) =
Efficiency = (42*4 – 31) / (42*4) =
For Worker, (x y) z :
Position of the worker robot, z – Current charge amount of the worker recharger-1
For Recharge, (a b)
Fig. 7. Comparison of the Greedy algorithm and the SMT Two-shot algorithm for a given input instance (4 workers, 2 rechargers, T = 35 and Warehouseworkspace.) 4 8 12 16 All Potential intial locations for rechargers ( | P | ) E f fi c i e n c y ( % ) Fig. 8. Efficiency vs Potential initial locations ( | P | ) for two rechargersand different numbers of workers with T = 20 in Warehouse workspace.Each stacked bar is divided into work and recharge parts.
4) Effect of maximum recharge amount per unit time( δ max ).: The duration of a recharge instance depends on δ max . Generally, higher δ max -value results in higher effi-ciency (Figure 9) because the number of working loops fora worker is generally more with higher δ max value. However,it may happen that for some sporadic cases, the efficiencydrops for a higher δ max value. The reason is that for a higher δ max value, the recharge instances are likely to decrease butthe number of working loops remains the same (or becomesslightly high), and we consider recharge instances to beuseful work and thus contribute to efficiency of the worker.In Figure 9, such exceptions can be found for workersand δ max = 4 and . As shown in the stacked bar plot, effi-ciency decreases with δ max = 6 because recharge instances Recharger amount per unit time ( δ max ) E f fi c i e n c y ( % ) Fig. 9. Efficiency vs Maximum recharge amount per unit time ( δ max )for different numbers of workers, with Warehouse workspace and T = 20 .Each stacked bar is divided into work and recharge parts. drop in number, but the number of working loops remainsthe same, compared to δ max = 4 .V. R ELATED W ORK
In this section, we discuss some related research work.
Autonomous charging.
For static rechargers, docking basedautonomous recharging has been studied widely where therobots operate under fuel constraints [10], [11], [12], [13],[14], [15]. Planning for recharge instants and locations isa good strategy to improve the overall performance. Todecide when and where to recharge a robot with staticcharging stations, [16], [17] leverage on a market-basedstrategy, [18] develops an approximate algorithm, and [19]schedule battery charge in the less busy period of the robots.Energy management of robots employing mobile recharg-ers has also received attention from the robotics researchcommunity. To service worker robots by static and mobilerechargers, recharge scheduling strategies are studied ([20]),and a market-based strategy is proposed ([16]). However,these work do not consider the path planning aspect of themobile rechargers. Litus et al. [21] introduce a method tofind an optimal set of meeting places for a group of workerrobots and a mobile refueling robot based on a given order ofrobot meetings. Mathew et al. [22] address a similar problemwhere the behaviors of the service robots are given by finitetrajectories, repetition of which help perform some taskspersistently. These papers discuss models for optimal-lengthpath planning for the rechargers. In this paper, however, wediscuss optimal recharge scheduling in terms of time andlocation to maximize the efficiency of the worker robots , aswell as minimize path length for the mobile rechargers.
SMT-based motion planning.
To find optimal routes for themobile rechargers to meet the worker robots at differentlocations is essentially an NP-hard problem [23], [24]. Ouralgorithmic solution to synthesize a recharge schedule for theworker robots and the trajectories for the recharger robots isbased on a reduction of the problem to an SMT (SatisfiabilityModulo Theory) [25] solving problem. SMT solving allowsus to solve NP-hard problems captured in the form ofconstraints expressed as decidable first-order logic formulasfrom different theories such as linear arithmetic or quantifiedBoolean logic. SMT solvers are recently popular in solvingthe task and motion planning problems for robots [26], [27], [28], [29], [30], [31], [32], [33], [34]. SMT solver has beenused recently for deciding optimal locations of the chargingstations [35] and for energy-aware temporal logic motionplanning for a mobile robot [36]. Imeson et al. [37], [38]introduce a framework which couples task allocation andmulti-robot motion planning using SMT solver. To the bestof our knowledge, we, for the first time, employ an SMT-based approach to solve the recharge planning problem formulti-robot systems with mobile rechargers.VI. C
ONCLUSION
In this paper, we present an SMT-based algorithm forsolving the recharge scheduling and path planning problemfor mobile rechargers that are responsible for supplyingenergy to the mobile robots involved in perpetual tasks.Though our algorithm is not optimal, it can solve complexplanning problems in reasonable time and provide near-optimal solutions in terms of the efficiency of the workers.In the future, we would extend our framework to incorporatea more realistic battery model and evaluate our algorithm ona real multi-robot system.R
IEEE Robot. Automat. Mag.
Handbook of Satisfiability
TACAS
ECAL , 2007, pp. 776–785.[11] K. Sundar and S. Rathinam, “Algorithms for routing an unmannedaerial vehicle in the presence of refueling depots,”
IEEE Trans. Autom.Sci. Eng. , vol. 11, no. 1, pp. 287–294, 2014.[12] G. P. Strimel and M. M. Veloso, “Coverage planning with finiteresources,” in
IROS , 2014, pp. 2950–2956.[13] J. Yu, J. Aslam, S. Karaman, and D. Rus, “Anytime planning ofoptimal schedules for a mobile sensing robot,” in
IROS , 2015, pp.5279–5286.[14] S. Mishra, S. Rodriguez, M. Morales, and N. M. Amato, “Battery-constrained coverage,” in
CASE , 2016, pp. 695–700.[15] I. Shnaps and E. Rimon, “Online coverage of planar environments bya battery powered autonomous mobile robot,”
IEEE Trans. Autom. Sci.Eng. , vol. 13, no. 2, pp. 425–436, 2016.[16] B. Kannan, V. Marmol, J. Bourne, and M. B. Dias, “The autonomousrecharging problem: Formulation and a market-based solution,” in
ICRA , 2013, pp. 3503–3510.[17] M. Rappaport and C. Bettstetter, “Coordinated recharging of mobilerobots during exploration,” in
IROS , 2017, pp. 6809–6816.18] D. Aksaray, C. I. Vasile, and C. Belta, “Dynamic routing of energy-aware vehicles with temporal logic constraints,” in
ICRA , 2016, pp.3141–3146.[19] M. Tomy, B. Lacerda, N. Hawes, and J. L. Wyatt, “Battery chargescheduling in long-life autonomous mobile robots,” in
ECMR , 2019,pp. 1–6.[20] T. Gao and S. Bhattacharya, “Multirobot charging strategies: A game-theoretic approach,”
IEEE robot. autom. lett. , vol. 4, no. 3, pp. 2823–2830, 2019.[21] Y. Litus, R. T. Vaughan, and P. Zebrowski, “The frugal feedingproblem: Energy-efficient, multi-robot, multi-place rendezvous,” in
ICRA , 2007, pp. 27–32.[22] N. Mathew, S. L. Smith, and S. L. Waslander, “Multirobot rendezvousplanning for recharging in persistent tasks,”
IEEE Transactions onRobotics , vol. 31, no. 1, pp. 128–142, 2015.[23] C. I. Vasile and C. Belta, “An automata-theoretic approach to thevehicle routing problem,” in
Robotics: Science and Systems , 2014.[24] J. Scherer and B. Rinner, “Persistent multi-uav surveillance withenergy and communication constraints,” in
CASE , 2016, pp. 1225–1230.[25] L. de Moura and N. Bjørner, “Satisfiability Modulo Theories: Intro-duction and applications,”
Commun. ACM , vol. 54, no. 9, pp. 69–77,2011.[26] W. N. N. Hung, X. Song, J. Tan, X. Li, J. Zhang, R. Wang, and P. Gao,“Motion planning with satisfiability modulo theories,” in
ICRA , 2014,pp. 113–118.[27] S. Nedunuri, S. Prabhu, M. Moll, S. Chaudhuri, and L. E. Kavraki,“Smt-based synthesis of integrated task and motion plans from planoutlines,” in
ICRA , 2014, pp. 655–662.[28] I. Saha, R. Ramaithitima, V. Kumar, G. J. Pappas, and S. A. Seshia,“Automated composition of motion primitives for multi-robot systemsfrom safe LTL specifications,” in
IROS , 2014, pp. 1525–1532.[29] Y. Wang, N. T. Dantam, S. Chaudhuri, and L. E. Kavraki, “Task andmotion policy synthesis as liveness games,” in
ICAPS , 2016, p. 536.[30] I. Saha, R. Ramaithitima, V. Kumar, G. J. Pappas, and S. A. Seshia,“Implan: Scalable incremental motion planning for multi-robot sys-tems,” in
ICCPS , 2016, pp. 43:1–43:10.[31] Y. Shoukry, P. Nuzzo, I. Saha, A. L. Sangiovanni-Vincentelli, S. A.Seshia, G. J. Pappas, and P. Tabuada, “Scalable lazy SMT-basedmotion planning,”
CDC , pp. 6683–6688, 2016.[32] A. Desai, I. Saha, J. Yang, S. Qadeer, and S. A. Seshia, “DRONA: aframework for safe distributed mobile robotics,” in
ICCPS , 2017, pp.239–248.[33] I. Gavran, R. Majumdar, and I. Saha, “Antlab: A multi-robot taskserver,”
ACM Trans. Embedded Comput. Syst. , vol. 16, no. 5, pp.190:1–190:19, 2017.[34] T. Campos, A. Pacheck, G. Hoffman, and H. Kress-Gazit, “SMT-basedcontrol and feedback for social navigation,” in
ICRA , 2019, pp. 5005–5011.[35] T. Kundu and I. Saha, “Charging station placement for indoor roboticapplications,” in
ICRA , 2018, pp. 3029–3036.[36] ——, “Energy-aware temporal logic motion planning for mobilerobots,” in
ICRA , 2019.[37] F. Imeson, “Robotic path planning for high-level tasks in discreteenvironments,” Ph.D. dissertation, University Of Waterloo, 2018.[38] F. Imeson and S. L. Smith, “An SMT-based approach to motion plan-ning for multiple robots with complex constraints,”