Mac Schwager  —  Research

My research is in the field of multi-robot systems. Specifically, I design provable and practical control, estimation, and learning algorithms for large groups of robots that communicate over a network to accomplish a global task in a decentralized manner. I use analytical tools from control theory, optimization, and statistical inference to prove performance guarantees for my algorithms, and I validate these analyses in computational simulations and in hardware experiments with groups of robots. Below are more details of some of my interests.

Mobile Sensor Network Deployment

Mobile sensor networks are groups of robots that carry out a sensing task, such as surveillance, mapping, or large scale data collection, by using a decentralized control algorithm to move around in an environment. One day, mobile sensor networks will allow us to monitor the health of forests, coral reefs, or entire ecosystems in real time, to surveil cities for crime, or to give real-time reports of traffic congestion, to investigate large disaster sites keeping humans at a safe distance, or to explore entire surfaces of other planets.

Unified Coverage Control

alt text 

I have studied general optimization and control problems that give rise to geometric, probabilistic, and potential field based algorithms for deploying mobile sensor networks to cover an environment, elucidating connections between all of these methods. Using this approach, I was able to prove that the deployment of mobile sensor networks is inherently nonconvex, making it a hard-to-solve optimization problem. The plot shows a tunable approximation to a Voronoi tessellation of the environment generated by ten robots.

Adaptive Coverage Control

alt text 

I have also designed algorithms for sensor network deployment that are adaptive, in the sense that robots learn the distribution of sensory information in the environment and aggregate where they are most needed. Learning and control occur simultaneously and in a distributed way. The robots sense only locally, but they pass their local sensor measurements to their neighbors in such a way that each robot eventually learns global information. The figure shows a group of robots learning where the light is and aggregating around it, without neglecting the rest of the environment. This algorithm has provable guarantees on convergence and learning performance.

Eyes in the Sky

alt text 

I used the unified coverage formulation discussed above to design controllers for deploying flying robots with downward facing cameras over an environment such that the cameras together can see everything in the environment. I also generalized the controller to cameras that are fixed to robotic mountings which can rotate in place, and to mixed groups with cameras that have arbitrary degrees of motion (i.e. some can rotate, some can translate, and some can do both). I teamed up with colleagues to implement the controller on a group of three flying quadrotor robots indoors (shown in the figure), and five quadrotors outdoors.

Building Models of Biological Group Phenomena from Data

Another interest of mine is to use statistical inference and machine learning techniques to automatically generate dynamical models of natural group phenomena from observation data. This is essentially an inverse multi-robot systems problem: given observed motion of a group of robots (or animals, cells, people, etc.), what are their underlying controllers? One major element of this, of course, is to model how the agents react to one another. This technique can help unlock the distributed algorithms that nature uses, for example, to make a group of cows into a herd, a group of cars into a traffic jam, or even a group of cells into an organism.

Learning from Cows

alt text 

I proposed a dynamical model for a group of cows and, taking GPS tracking data from real cows, statistically fit the model to match the observed behavior of the cows. The figure shows a cow at the USDA Jornada Experimental Range in Las Cruces, NM with a specially designed head mounted sensor box to collect GPS and accelerometer data.

Herd Mentality

alt text 

Based on the model described above, we proposed a way to control a herd of cows by selectively exciting a small fraction of the cows in the herd. With this controller, we can steer the herd as a whole, even though we have no means of directionally steering any of the individual cows. This could lead to significant cost savings and environmental benefits for cattle ranching.

Networked Control for Agile Maneuvering

A multi-robot system usually involves a wireless network over which robots can share information about their state or their sensor measurements. If the information is propagated over the network too slowly compared with how quickly the robots move, this can lead to significant problems including instability. I am interested in determining how quickly information must be updated over a wireless network to ensure a particular speed of performance. This is important, for example, for flying a group of aerial robots through agile, coordinated maneuvers.

Formation Control with Network Induced Delays

alt text 

We derived stability conditions for robots in a formation communicating over a network, and we proposed a performance metric to quantify how quickly the system can react to inputs. We considered the specific case of quadrotor robots with second order dynamics in one dimension. The figure shows three quadrotors in a stable line formation using our approach.

alt text 

This figure shows the response of the quadrotors starting from arbitrary initial conditions. The experiments verified the performance predicted by our model. We also showed that increasing connectivity, decreasing control gain, or increasing the network update rate can all make the formation go unstable in some instances, contrary to intuition.

Robotic Persistence

I have been working with colleagues to define a new set of problems in robotics whose main property is that robots have to continually move to accomplish their task. We call this property robotic persistence. For example, robots with limited sensing footprints have to continually visit each point in an environment with a frequency related to how quickly information changes at that point. This becomes a very tricky exercise in dynamic resource allocation.

Persistent Monitoring

alt text 

This picture shows a simulation of three aerial robots tasked with continually monitoring a constantly changing environment. The hight of the surface in the figure represents the uncertainty of some quantity in the environment. The robots’ sensors eat away at the surface (the uncertainty) as they move over it. We designed a controller to adjust the speeds of the robots as they move over the environment in such a way that the uncertainty remains as low as possible everywhere.

Persistent Ocean Data Collection

alt text 

We applied similar ideas to design a combined path planner and speed controller for underwater gliders to monitor conditions in the ocean. The glider repeatedly traverses a closed path to collect information about the ocean. The information is to be used to study the occurrence of agael blooms, which are both dangerous and poorly-understood. We design the path so that the glider lingers in places that are more likely to provide interesting data. We have deployed gliders using our paths off the coast of Los Angeles and Monterey, CA. This figure shows one of the gliders used in our experiments which is owned by the Robotic Embedded Systems Lab at the University of Southern California.

alt text 

This figure shows paths for a glider deployment off the coast of Los Angles, CA. A path planned with our algorithm (black zig-zag line) is compared with one that was hand drawn by an ocean scientist (purple zip-zag line). The green, yellow, and red polygons enclose regions where taking data is particularly important. Our path spends more time, and collects more data, in the important regions than the hand drawn path.