  The area coverage problem is the task of efficiently servicing a given
two-dimensional surface using sensors mounted on robots such as unmanned aerial
vehicles (UAVs) and unmanned ground vehicles (UGVs). We present a novel
formulation for generating coverage routes for multiple capacity-constrained
robots, where capacity can be specified in terms of battery life or flight
time. Traversing the environment incurs demands on the robot resources, which
have capacity limits. The central aspect of our approach is transforming the
area coverage problem into a line coverage problem (i.e., coverage of linear
features), and then generating routes that minimize the total cost of travel
while respecting the capacity constraints. We define two modes of travel: (1)
servicing and (2) deadheading, which correspond to whether a robot is
performing task-specific actions or not. Our formulation allows separate and
asymmetric travel costs and demands for the two modes. Furthermore, the cells
computed from cell decomposition, aimed at minimizing the number of turns, are
not required to be monotone polygons. We develop new procedures for cell
decomposition and generation of service tracks that can handle non-monotone
polygons with or without holes. We establish the efficacy of our algorithm on a
ground robot dataset with 25 indoor environments and an aerial robot dataset
with 300 outdoor environments. The algorithm generates solutions whose costs
are 10% lower on average than state-of-the-art methods. We additionally
demonstrate our algorithm in experiments with UAVs.
