Coverage Planning with Finite Resources

Coverage Planning with Finite Resources
Grant P. Strimel
Computer Science Department
Carnegie Mellon University
[email protected]
Abstract— The robot coverage problem, a common planning
problem, consists of finding a motion path for the robot that
passes over all points in a given area or space. In many robotic
applications involving coverage, e.g., industrial cleaning, mine
sweeping, and agricultural operations, the desired coverage area
is large and of arbitrary layout. In this work, we address the
real problem of planning for coverage when the robot has
limited battery or fuel, which restricts the length of travel
of the robot before needing to be serviced. We introduce
a new sweeping planning algorithm, which builds upon the
boustrophedon cellular decomposition coverage algorithm to
include a fixed fuel or battery capacity of the robot. We prove
the algorithm is complete and show illustrative examples of the
planned coverage outcome in a real building floor map.
I. INTRODUCTION
We have extensively experienced mobile indoor robots
that are capable of accurately navigating in buildings and
performing service tasks, such as transporting items or
accompanying people to locations [1]. Given their accurate localization and navigation, and their reliable motion
planning, we investigate their service to further include a
complete sweeping task. In this work, we address a robot
space coverage problem.
Coverage planning has been commonly studied in robotics
(e.g., [2]). The goal is to plan a path in which the robot covers
all points in a given map, i.e., the robot’s work space. Many
approaches have been explored for a variety of applications,
including item search [3], floor cleaning [4], large scale
agriculture [5], mowing and milling [6], and painting [7].
In all of these applications, it is essential that the robot path
or sensor paths are guaranteed to cover the surface in a robust
and efficient manner to complete the objective.
These tasks inspire various methods in addressing the
coverage problem. Techniques used can be categorized by
how they address altering objectives. Some works only
require the robot’s sensors to cover an area while many force
the robot base to pass over the entire region [8]. There is
much work on randomized approaches without knowledge of
the environment [9] as well as approaches with a predefined
map like those which use cellular decomposition [10], [11],
[12].
Often these approaches are motivated to minimize some
objective. A common choice is to minimize the total distance
traveled during the cover of the area. However, finding
the optimal route in this regard is an NP-Hard problem.
This can be seen by its close relation to solving the geometric Traveling Salesman Problem (TSP) with neighbor-
Manuela M. Veloso
Computer Science Department
Carnegie Mellon University
[email protected]
Fig. 1: Back-and-forth ox-plow motions.
hoods [13]. Hence, approximation heuristics are often used.
Even through a cellular decomposition where the problem is
broken down into smaller regions, planning an efficient tour
through the regions requires some form of approximation.
Other optimizations like minimizing the number of turns
required in a decomposition have also been studied [14].
In this work, motivated by our real robot, we investigate
an additional component to the coverage problems by incorporating a consideration for a fixed battery or fuel source.
Accounting for the limited battery life is important, as in
many applications, the area to cover is too large for the
robot to completely cover in a single non-interrupted charge
of a battery. Coverage planning with energy constraints and
timing restrictions has been addressed in previous works
[15] [16] [17]. In [15] and [16] the works consider
the problem of sensor based multi-robot coverage in narrow
environments and use a hueristic algorithm to reduce the
number of robots needed under energy constraints. [17]
considers a multi-robot deployment problem to determine
the number of groups unloaded by a carrier, the number of
robots in each group and the initial locations of those robots
for coverage tasks under both timing and energy constraints.
We focus here on coverage planning with a single robot
and a fixed energy capacity and present a heuristic algorithm
to reduce total distances traveled. To investigate this problem,
we also assume that the space has a service station located
in the map of the space. We contribute a new batteryconstrained sweep algorithm (BC Sweep), which extends the
boustrophedon cellular decomposition coverage algorithm to
reason about a battery capacity constraint. Under the assumption that the robot charge is enough to at least navigate to any
cell of the map and return back to the service station, the BC
Sweep algorithm is guaranteed to return a complete sweep.
We prove that this the case, and show illustrative examples
of the fully-implemented algorithm in a realistic simulation
5
2
3
𝟔
7
4
3
6
5
2
1
7
4
1
6
Fig. 2: A boustrophedon decomposition example with sweep
line, graph construction from cells, and resulting path
through regions.
environment.
II. BOUSTROPHEDON CELLULAR
DECOMPOSITION
Our algorithm makes use of the boustrophedon cellular
decomposition [11] [12] for bounded planar environments
with obstacles. This decomposition breaks the map into
disjoint regions called cells. The individual cells can be
covered simply by back-and-forth or “ox-plow” motions.
See Figure 1. To cover the entire free space or map, a tour
through each region is constructed and the robot visits and
covers the cells sequentially along this tour.
Specifically, the boustrophedon decomposition uses a verticle line sweep approach to construct the cells. The slice
sweeps from left to right across the map. At any point, if the
continuity of the sweep line changes count, then a new cell
is spawned or two adjacent cells are merged. In the case of
connectivity increasing, a new cell is added. For the instances
when connectivity decreases then adjacent cells are merged
[11] [12].
After decomposition, the algorithm constructs some graph
(commonly a complete or adjacency graph) between the
regions. Finding a minimal cost tour through all regions
reduces to solving the TSP on the graph. An approximation
algorithm is used as a heuristic to solve for a reasonable tour.
Figure 2 shows an example decomposition.
Our algorithm makes use of this decomposition technique
to create cellular regions and extends touring the regions to
account for a fixed fuel or battery life.
III. PROBLEM FORMULATION
Our problem formulation and hueristic consider the total
distance the robot travels and total energy used in relation to
a fixed battery life or fuel capacity. We consider this extra
constraint during path planning coverage.
We make the assumption that given some finite path for
a robot, an estimate can be made on the energy used while
executing the path. We denote this estimation function f .
Fig. 3: (Top) graph cells (nodes) with intra & inter cell fuel
costs (Bottom) modified graph G of BC Sweep algorithm
The problem formulation can be stated as follows: Given
a two dimensional map M with a service center location S,
a fuel capacity λ , and a fuel consumption function f , plan
a route such that the robot covers the map and respects the
robot’s fuel capacity constraint.
IV. BC SWEEP
Again, we presume that given some route r of the robot
that we have a function f such that f (r) is an estimation
of the energy used over that route. Often this is directly
related to the length of r and could also incorporate the turns
(could be expensive). f must also be linear (ie f (r1 → r2 ) =
∗ ) + f (r )) where r ∗ is the shortest direct route
f (r1 ) + f (r12
2
12
connecting r1 to r2 . We present now the BC Sweep algorithm.
The intuition of BC Sweep is straight foward. We construct
a graph expressing the cellular decomposition of the space
with a refueling location. The representation accounts for the
costs of covering each cell and traveling between them. The
algorithm then simply approximates a minimum cost walk
through the graph which circles back to the service station
when necessary to refuel. Our approach needs the minimum
requirement our fuel capacity λ is large enough that the robot
can depart from S, cover any cell and return without running
out of fuel. Under these conditions we have the following
algorithm.
𝐒
𝐒
𝐒
Fig. 4: Steps 1-4 (left to right) of the BC Sweep Algorithm
used where
BC Sweep:
1) Perform boustrophedon decomposition on the map
M into cell set X. Plan all back-and-forth coverpaths {r1 , ..., rn } for respective cells {x1 , ..., xn }. For
simplicity, we assume all cover-paths begin and end in
the same location. Add a special cell x0 of 0 size and
a null cover-path r0 representing the service station S.
2) Construct a complete graph G = (V, E) between
all cells including the service station x0 . Thus
V = {x0 , x1 , ..., xn }. For every edge ei j ∈ E let
ri∗j = r∗ji be the shortest direct route on M between
cell (or station) i and j. Assign the weight
w(ei j ) = f (ri∗j ) + 12 ( f (ri ) + f (r j )) to each edge.
This procedure is shown in Figure 3.
3) Use Christofides Algorithm [18] to generate a TSP
tour T = x0T − x1T − · · · − xnT − x0T starting and ending
at x0 (ie x0 = x0T ).
4) We now optimally partition T into subroutes which
meet the fuel capacity constraint. Define a cost matrix
C as follows. ∀ i, j ∈ {0, ..., n}
Ci j =

T − · · · − xT − xT )
w(xT − xi+1

j
0

 0









∞
if this cost
is ≤ λ and i < j
otherwise
This cost matrix defines a new directed graph H. We
now use Dijkstra’s algorithm on H to find the shortest
path from node 0 to node n. Since each edge of this
path represents a subroute, we append these subroutes
together to get our tour. This gives us the shortest route
using T which abides by the battery capacity contraint.
The BC Sweep steps are shown in Figure 4.
Steps 3) and 4) can be seen as an approximation of a
reduction to the distance contrained vehicle routing problem.
Vehicle routing with contraints is a variant of TSP and has
been studied in several works including [19] [20] [21] [22].
The heuristic used here is described and analyzed in [19]
and [21].
This heuristic we used to produce our route through G
is an α-approximation of optimal with respect to total fuel
α = 1 + (1.5)
λ /dm
λ /dm − 2
∗ ), f (r ∗ ), ..., f (r ∗ )} [21]. The α bound
and dm = max{ f (r01
02
0n
for the heuristic becomes ample when λ 2dm [21].
We present the following theorem on completeness and
correctness.
Theorem. BC Sweep covers M and obeys the fuel capacity
constraint.
Proof. By boustrophedon decomposition if each cell is
visited, it will be covered. We show that each cell is visited
and obeys the fuel constraint. When G is constructed, we
add half of every cell’s covering fuel cost to all incident
edges of that cell. See Figure 3. Hence any path which
passes through the cell will pick up half the weight on
the way in and the other half on the way out. Because of
this, our TSP tour T accounts for all cell costs. With all
fuel costs accounted for in T and H giving infinite weight
to any subroutes violating the fuel constraint, our final
route abides by the constraint. Note because we assumed
a feasible solution exists, a finite cost path will always
be possible. Since our final route is the concatenation of
adjacent subroutes beginning and ending at x0 , the route
visits all cells. V. ATOMIC REGIONS
One of the nice aspects of this algorithm as its stands is
that if f does not underestimate energy usage and navigation
is flawless, then each of the decomposed cells will be covered
in an atomic nature. By atomic we mean the covering of a
cell will not be interrupted by a need for a recharge. This
is a useful feature in many applications where a room or
designated area must be swept or covered all at once with
no intermission guaranteed.
However, there are applications where every decomposed
cell need not have an atomic covering. In cases like this, one
can optimize the above algorithm to make less service trips
and only perform them in designated regions. We extend the
original BC Sweep to handle the scenario where there is a
set of cells A which we want to be atomically covered and
a set of cells B which does not have this constraint. Note
A ∪ B = X and A ∩ B = 0.
/
We need only redefine G = (V, E) and cost matrix C and
the rest of the algorithm remains the same.
𝑎𝑡𝑜𝑚𝑖𝑐
𝑎𝑡𝑜𝑚𝑖𝑐
𝐒
𝐒
𝐒
𝐒
Fig. 5: Modified BC Sweep illustration for non-atomic regions. The environment contains two atomic regions and a single
interruptable region.
Define G1 = (V1 , E1 ) to be
- x0 is a vertex in G1 .
- All cells xk ∈ A are vertices in G1 .
- For every ox-plow cover-path
yk1 → · · · → ykm = rk corresponding to xk ∈ B, the first and
last nodes become vertices: yk1 , ykm ∈ V1 . Like the depot,
yk1 , ykm will have a null cover-paths.
- There is an edge between all atomic cell vertices.
There is an edge between all atomic cell vertices and
start/finish cover-path vertices.
- Assign the weight w(ei j ) = f (ri∗j ) + 21 ( f (ri ) + f (r j )) to
each edge.
Define G2 = (V2 , E2 ) to be
- x0 is a vertex in G2 .
- For all cover-paths
yk1 → · · · → ykm = rk corresponding to xk ∈ B, all nodes
become vertices: {yk1 , ..., ykm } ⊆ V2 .
- For every vertex yki there is an edge e between yki and
yki+1 with weight w(e) = f (yki → yki+1 ).
- For every vertex yki there is an edge e between x0 and
yki with weight of the shortest path between the two.
Our final graph G is the union of these two graphs: G =
G1 ∪ G2 .
We must now slightly change our cost matrix C after we
approximate a TSP tour T = vT0 − vT1 − · · · − vT0 on G.
Ci j =
 T
w(v0 − vTi − · · · − vTj − vT0 )


















w(vT0 − vTi+1 − · · · − vTj − vT0 )
















∞
if this cost
is ≤ λ and i < j and
vTi is spawned from B
else if this cost
is ≤ λ and i < j
capacity constraint and guarantees regions xk ∈ A remain
atomic. Figure 5 demonstrates the modified approach.
Theorem. The modified BC Sweep covers M, obeys the fuel
capacity constraint, and does not service in atomic regions.
Proof. The algorithm behaves the same in the atomic
regions so the proof follows through in the same maner as
the original theorem for atomic regions. It is only necessary
to argue that complete coverage occurs in non-atomic
regions. Since the cost matrix C was constructed in a
manner that if a non-atomic cover path was divided by a
service trip that the tour would return to the same node
after refueling, we know that no legs of the sweep will
be skipped. And since we assumed a feasible solution,
after resuming sweeping, progress will always be made in
non-atomic regions until complete. Thus complete coverage
occurs in non-atomic regions. VI. DYNAMIC BC SWEEP
The theoretic algorithms proposed so far are not entirely
feasible in practice. BC Sweep leveraged unrealistic liberties
when planning its covering route.
First, we assumed that when in operation, the robot has
perfect navigation in the environment. Due to uncertainty in
sensors, actuators and imperfect navigation algorithms, this
is an impractical assumption.
Second, BC Sweep relies on a function f which does not
underestimate the energy used over a given path. Though one
could exaggerate f to meet this requirement, the more accurate f is, the more energy efficient and coverage effective
BC Sweep becomes.
To relax some of these assumptions, we propose extensions to the BC Sweep algorithm to be more reliable in
practice. The key here is that the algorithm needs to be
adaptive while executing.
A. Variability in Navigation
otherwise
This change in C is necessary because in the non-atomic
regions, the robot must return to the same spot it left off
so that it may complete coverage in that area instead of
advancing to the next region.
We now simply plan the entire route by running BC Sweep
on the newly defined G and C. The route respects the λ -
To account for imperfection in navigation while executing
a sweeping route, we dynamically adjust the route taken.
Consider the scenario where while performing the backand-forth motions in a cell, the robot drifts along one of
the lengths. Figure 6a. If the navigation recognizes this,
we can modify the route to cover the misssing area. We
have seen robot navigation capable of this awareness using
(a) Navigation error.
(b) Navigation error recovery.
Fig. 6: Variability in navigation.
surrounding features (walls, tables, chairs, etc) [23].Thus we
can dynamically adjust our BC Sweep route. Figure 6b. In
such a case, we note that it is possible the atomic regions may
need to be interrupted depending on how much rerouting is
necessary. Denoting Qλ to be the current fuel life, the online
dynamic algorithm:
while covering cell xk do
if off path then
recalc. ox-plow path r for the remainder of xk ;
if xk is atomic and f (r) + f (xk → x0 ) > Qλ then
make xk interruptable;
end
rerun BC Sweep;
end
end
B. Updating f
One of the more difficult aspects of BC Sweep is determining the energy consumption function f . Any offline theoretic
function f estimate could change depending where you are
in the route, map, or on any other factors. To account for a
variable function f , it is possible to recalculate an f estimate
dynamically while executing the sweeping. For example,
one could consider a moving average approach evaluated
on some past window size w for dynamically updating f .
After each online update, BC Sweep can be rerun. Similar to
accounting for variability in navigation, depending on how
much f changes at any point, atomic regions may become
interruptable or even revert back to being atomic.
VII. SIMULATIONS
We simulated BC Sweep on a test environment requiring
covering. Figure 7 shows the floor plan of an academic building for which BC Sweep was run. The service depot/refueling
Fig. 7: BC Sweep test map.
station was designated to a small room in the lower-left
corner. This is labeled in the figures.
We ran the BC Sweep algorithm with the following parameters. We used a circular robot of radius 0.25 meters. The fuel
consumption function f was a one-to-one correspondence
with the total distance traveled of a path. For example, if the
robot traversed a path of 10 meters then the robot would have
consumed 10 units of fuel. Each cell constructed from the
boustrophedon decomposition was designated as an atomic
region. All rooms in the map were assumed “closed” at the
time of decomposition as to not unnecessarily increase the
number of regions as the sweepline passes over doorways.
BC Sweep was run with two different fuel capacities λ .
Figure 8 shows coverage with a battery capacity of 800
units (λ = 800). Each color represents the regions covered
on the same fuel charge. The robot covered the space with
two charges (a single recharge required). We also ran the
algorithm with λ = 350 units. Figure 9 shows this. The run
resulted in 4 recharges (5 total charges). For demonstration,
a single charge subroute was overlayed through the magenta
cover region on Figure 9. Additionally, we tested a different
location for the service station on λ = 350 units. See Figure
10.
VIII. CONCLUSIONS
In this paper, we have introduced the BC Sweep algorithm
to address the real problem of robot path coverage, with a
battery or fuel capacity constraint. We build upon previous
coverage research using boustrophedon decomposition, and
contribute the BC Sweep planning that has the property of
complete coverage, under the assumption that there is a
limited amount of space that can be covered on a single
battery charge, and the assumption that there is a recharging
service station. We presented a proof of correctness that
verifies the complete coverage under the resource constraint.
BC Sweep runs on arbitrary geometrical physical layouts, and
we have demonstrated it in simulation using a real world map
and a real simulated coverage robot. We tested with varying
parameters for the fuel capacity and service station location,
and showed the multiple sweeps, one per charge, generated
by our BC Sweep algorithm. After having addressed the real
battery constraint, our future work includes to continue to
bring coverage algorithms closer to real situations faced by
real robots in the real world.
R EFERENCES
[1] J. Biswas and M. M. Veloso, “Localization and Navigation of the
CoBots Over Long-term Deployments,” Intelligent Robots and Systems, vol. 32, no. 14, pp. 1679–1694, 2013.
[2] H. Choset, “Coverage for robotics A survey of recent results,” Annals
of Mathematics and Artificial Intelligence, vol. 31, pp. 113–126, 2001.
[3] W. Sheng, N. Xi, M. Song, Y. Chen, and P. Macneille, “Automated
CAD-Guided Robot Path Planning for Spray Painting of Compound
Surfaces Ford Motor Company,” Intelligent Robots and Systems, pp.
1918–1923, 2000.
[4] K. L. Doty and R. R. Harrison, “Sweep Strategies for a SensoryDriven, Behavior-based Vacuum Cleaning Agent,” AAAI Fall Symposium, pp. 42–47, 1993.
[5] S. Fabret, P. Soukrest, M. Tai, and L. Cordesses, “Farmwork Pathplanning for Field Coverage with Minimum Overlapping,” 8th International Conference on Emerging Technologies and Factory Automation,
vol. 2, 2001.
[6] E. M. Arkin and J. S. B. Mitchell, “Approximation Algorithms for
Lawn Mowing and Milling,” Computational Geometry, vol. 17, no.
1-2, pp. 25–50, 2000.
[7] W. Snyder and A. Pirzadeh, “A unified solution to coverage and search
in explored and unexplored terrains using indirect control,” vol. 3, pp.
2113 – 2119, 1990.
[8] E. U. Acar, H. Choset, Y. Zhang, and M. Schervish, “Path planning
for robotic demining: Robust sensor-based coverage of unstructured
environments and probabilistic methods,” The International journal of
robotics research, vol. 22, no. 7, 2003.
[9] D. W. Gage, “Randomized Search Strategies with Imperfect Sensors,”
SPIE Mobile Robots VIII, vol. 2058, no. September, pp. 270–279,
1993.
[10] J.-C. Latombe, “Robot Motion Planning: Edition en anglais,” Kluwer
Academic, Boston, MA, 1991.
[11] H. Choset, E. Acar, A. A. Rizzi, and J. Luntz, “Exact Cellular
Decompositions in Terms of Critical Points of Morse Functions,” IEEE
International Conference on Robotics and Automation San Francisco,
CA, vol. 3, pp. 2270 – 2277, 2000.
[12] H. Choset and P. Pignon, “Coverage Path Planning : The Boustrophedon Cellular Decomposition,” Proceedings of the International
Conference on Field and Service Robotics, Canberra, Australia, 1997.
[13] E. M. . Arkin and R. Hassin, “Approximation algorithms for the Geometric Salesman Problem *,” Discrete Applied Mathematics, vol. 55,
no. 93, pp. 197–218, 1994.
[14] W. H. Huang and N. York, “Optimal Line-sweep-based Decompositions for Coverage Algorithms,” IEEE International Conference on
Robotics and Automation, vol. 2, 2001.
[15] A. Sipahioglu, G. Kirlik, O. Parlaktuna, and A. Yazici, “Energy
constrained multi-robot sensor-based coverage path planning using
capacitated arc routing approach,” Robotics and Autonomous Systems,
vol. 58, no. 5, pp. 529–538, May 2010.
[16] A. Yazici, G. Kirlik, O. Parlaktuna, and A. Sipahioglu, “A Dynamic
Path Planning Approach for Multirobot Sensor-Based Coverage Considering,” vol. 44, no. 3, pp. 305–314, 2014.
[17] Y. Hu and C. Lee, “Deployment of mobile robots with energy and
timing constraints,” IEEE Transactions on Robotics, vol. 22, no. 3,
pp. 507–522, Jun. 2006.
[18] N. Christofides, “Worst-Case Analysis of a New Heuristic for the Travelling Salesman Problem,” Report 388, Graduate School of Industrial
Administration, CMU, no. February, 1976.
[19] J. Beasley, “Route first - Cluster second methods for vehicle routing,”
OMEGA, vol. 11, no. 4, pp. 403–408, Jan. 1983.
[20] C. Li and D. Simchi-Levi, “Worst-case analysis of heuristics for
multidepot capacitated vehicle routing problems,” ORSA Journal on
Computing, vol. 2, no. 1, 1990.
[21] C.-L. Li, D. Simchi-Levi, and M. Desrochers, “On the Distance
Constrained Vehicle Routing Problem,” Operations Research, vol. 40,
no. 4, pp. 790–799, 1992.
[22] V. Nagarajan and R. Ravi, “Approximation algorithms for distance
constrained vehicle routing problems,” Networks, vol. 59, no. 2, pp.
209–214.
[23] J. Biswas and M. Veloso, “Episodic Non-Markov Localization: Reasoning About Short-Term and Long-Term Features,” In Proceedings
of ICRA’14, the IEEE International Conference on Robotics and
Automation, , Hong Kong, China, 2014.
Fig. 8: BC Sweep coverage with λ = 800 units. Each colored region is covered by a single charge. Scale in meters.
Fig. 9: BC Sweep coverage with λ = 350 units. Each colored region is covered by a single charge.
Fig. 10: BC Sweep coverage with alternate service station location (λ = 350 units).