Research Projects

Our lab’s core research question is: how can we construct computational systems that enable robots to intelligently, flexibility, and reliably operate in the field? We seek to address this problem by developing, optimizing, implementing, and evaluating next-generation algorithms and edge computational systems, at all scales, through algorithm-hardware-software co-design. This approach requires designing theoretically sound optimization- and learning-based algorithms (e.g., model predictive control) that run at order-of-magnitude faster rates on edge computational hardware ranging from small-scale MCUs, to large-scale GPUs and FPGAs, and even to custom ASICs and non von Neumann architectures (e.g., neuromorphic processors). As such, we work across the computational stack, designing algorithms, software systems, and computational hardware at the intersection of robotics, optimization, computer architecture / systems, and machine learning. At the same time we work to promote responsible and accessible robotics and computing. We therefore research ways to better understand and improve diversity, equity, inclusion, and belonging in STEM education globally; promote a sustainable and privacy preserving future for autonomous systems and edge computing; as well as design and teach new interdisciplinary, project-based, open-access courses that lower the barrier to entry of cutting edge topics like robotics, parallel programming, and embedded machine learning.

GPU-Accelerated Optimization and Optimal Control

How can we overcome numerical optimization’s high computational complexity, while still capturing complex dynamics and providing reliable convergence for field robots? This project seeks to answer that question by co-designing new theoretically sound algorithms that are optimized to take advantage of the large-scale parallelism available on GPUs. Through support from the NSF this project seeks to go beyond developing point solutions to release a broadly applicable toolbox for the robotics and optimization communities.

Computational Hardware Accelerators for Robotics

Computer architects have shown that moving beyond the CPU and GPU, to custom computational hardware, can further accelerate computations while lowering energy consumption. How can we apply these techniques in robotics? This project seeks to answer that question through the design of automated workflows that can directly encode into computational hardware the structured sparsity and parallelism patterns found in embodied robotics algorithms. These resulting co-designed FPGAs and custom ASICs can then be flexibly leveraged for downstream robotics applications.

Next Generation Intelligence for Tiny Robots

Small, low-cost, globally-accessible robots face stringent power, memory, and compute limitations, historically preventing the use of sophisticated algorithms. When compressing robotics algorithms to fit on the embedded systems running on these robots (e.g., MCUs), new challenges and opportunities emerge. We are working to unlock the full potential of these tiny robots by leveraging insights from robotics, machine learning, and computer architecture / embedded systems to custom tailor algorithmic solutions through co-design.

Accelerated Middleware and Benchmarking for Robotics

End-to-end robotics applications can only take advantage of accelerated algorithms, like those developed in many of our other lines of research, if they can be run on, and tested through, accelerated middleware and benchmarking frameworks. As such, in this research thrust, we are working to develop such comprehensive benchmarking frameworks, middleware interconnects, and runtime systems with adaptive parameter tuning. Importantly, all of these solutions are being designed for widespread use across robotics (e.g., with native integrations for ROS and ROS2).

Accelerated and Memory Efficient Edge Reinforcement Learning

Machine learning-based robotics applications are increasing in prevalence and importance. Whether structured as foundation-models, pixels-to-actions policies, or as learned hyperparameters or models for classical approaches, these algorithms will need to run on the edge to support the next generation of field robots. We are therefore working to reduce the challenging memory requirements and long runtimes of such algorithms, enabling their use at the edge.

Responsible and Accessible Robotics and Computing

In order to improve the accessibility of robotics and computing globally we are undertaking research to: understand and improve diversity, equity, inclusion, and belonging in STEM education globally; design new interdisciplinary, project-based, open-access courses that lower the barrier to entry of cutting edge topics like robotics and embedded machine learning; and collaboratively promoting a sustainable and privacy preserving future for autonomous systems and edge computing. As a part of this effort we help lead the Tiny Machine Learning Open Education Initiative (TinyMLedu).