Many domains, such as emergency assistance, agriculture, construction, and planetary exploration, will increasingly require effective coordination of teams of robots and humans to accomplish a collection of spatially distributed heterogeneous tasks. Such coordination problems range from those that require loosely coordinated teams in which agents independently perform their assigned tasks, to those that require tightly coordinated teams where all actions of the team members need to be tightly synchronized. The scenarios of interest to this thesis lie between these two extremes, where some tasks are independent and others are related by constraints such as precedence, simultaneity, or proximity. These constraints may be a result of different factors including the complementary capabilities of different types of agents which require them to cooperate to achieve certain goals. The manner in which the constraints are satisfied influences the overall utility of the team.
This thesis explores the problem of task allocation, scheduling, and routing for heterogeneous teams with such cross-schedule dependencies. We first describe and position this coordination problem in the larger space of multi-robot task allocation problems and propose an enhanced taxonomy for this space of problems. Recognizing that solution quality is important in many domains, the thesis then presents a mathematical programming approach to computing a bounded-optimal solution to the task allocation, scheduling and routing problem with cross-schedule dependencies. Specifically, we present a branch-and-price algorithm operating on a set-partitioning formulation of the problem, with side constraints. This bounded optimal ``anytime" algorithm computes progressively better solutions and bounds, until it eventually terminates with the optimal solution. By examining the behavior of this algorithm, we gain insight into the impact on problem difficulty of various problem features, particularly different types of cross-schedule dependencies. Lastly, the thesis presents a flexible execution strategy for the resulting team plans with cross-schedule dependencies, and results demonstrating the approach on a team of indoor robots.