Research
Algorithms in Optimization and Control
Computers use algorithms to solve problems and make decisions, from back-flipping robots and self-driving cars to massive robotic swarms. Such algorithms are studied in the fields of optimization and control: the former seeks to find the best single decision based on an objective and constraints, while the latter studies multiple decisions made sequentially over time. Moreover, these algorithms are often used in robotics, where robots must use sensors to decide how to interact with the physical world. My research studies algorithms in optimization and control with applications in robotics.
Significant Contributions
Below are my most significant contributions (in my opinion) to the areas of optimization, control, and robotics.
Optimal Method for Convex Optimization
Optimization is a common framework used to describe a wide variety of problems in science and engineering, from controlling humanoid robots to training machine learning models. Existing optimization algorithms, however, may be prohibitively slow to find good solutions, resulting in robot collisions or long training times. It is therefore important for algorithms to make the most efficient use of computational resources. My most significant research contribution is the design of the optimal first-order algorithm to minimize a smooth and strongly convex function
LCSS2018. This algorithm achieves the best possible performance on this type of problem and therefore cannot be improved upon. My algorithm has spurred on a variety of other research, from proving fundamental bounds as to what is possible to designing novel algorithms for other scenarios, including robust optimization
forthcoming-speedrobustness.
Algorithm Analysis
Characterizing the performance of algorithms with theoretical guarantees is crucial across diverse scenarios, from weeks-long training of large-language models to the real-time demands of robotics. Historically, the analysis of optimization algorithms has relied on extensive numerical computations to tune hyperparameters or deep insight by experts, both of which must be done on a case-by-case basis and produce bounds that may not be tight. Together with collaborators, we have developed a systematic approach to algorithm analysis. Given an algorithm and a class of optimization problems, the methodology automatically constructs bounds on the worst-case performance
ICML2018; see also the tutorial paper
CDC2023-lyap. We have applied this methodology to a wide variety of scenarios including distributed optimization
TCNS2020,
CDC2020, constrained optimization
CDC2023-primaldual, and optimization with noisy gradients
forthcoming-speedrobustness.
Multi-Agent Systems
Large swarms of robots can collaboratively solve complex tasks that are difficult or impossible for an individual robot. Intel puts on shows with hundreds of drones to produce spectacular nighttime visuals, networks of sensors in the ocean build cohesive maps of the sea, and groups of robots coordinate in warehouses to fulfill customer orders. Each of these scenarios requires complex coordination. I have several contributions in this area.
- A fundamental building block to advanced swarm robotics algorithms is the ability to efficiently compute an average. Together with researchers at the University of California, San Diego, I wrote a tutorial
CSM2019 that was published in the IEEE Control Systems Magazine. This paper had the honor of winning the 2021 IEEE Control Systems Magazine Outstanding Paper Award that recognizes a single outstanding paper each year and whose list of previous recipients includes many top researchers in the field. The College of Engineering and Computing published a news article to commemorate the award.
- Building on the ability to compute averages, many advanced swarm robotics problems can be formulated as optimization problems over the network of robots. I showed that any such problem decomposes into two simpler ones: averaging and centralized optimization
LCSS2022; see also the tutorial paper
CDC2023-optcon. This result reveals the fundamental structure of problems in swarm robotics.
- Avoiding collisions becomes challenging for large swarms of robots. To promote safety, we extended a classical flocking algorithm in computer animation to include collision avoidance, and we analyzed the trade off between robot safety, exploration of the environment, and exploitation of known information in a search and rescue task
Franklin-boids.