Design a site like this with
Get started


This page showcases some of the various research projects I’ve conducted in both my graduate and undergraduate studies.

Quad-SDK: Full Stack Software Framework for Agile Quadrupedal Locomotion

As dynamic legged platforms become more readily available, researchers and developers need tools to hardness their full capabilities. During my time at the Robomechanics Lab I led a team in developing Quad-SDK, an open source ROS-based full stack software framework for agile quadrupedal locomotion. The design of Quad-SDK is focused on the vertical integration of planning, control, estimation, communication, and development tools which enable agile quadrupedal locomotion in simulation and hardware with minimal user changes for multiple platforms. The modular software architecture allows researchers to experiment with their own implementations of different components while leveraging the existing framework. Quad-SDK also offers Gazebo simulation support and a suite of visualization and data-processing tools for rapid development.

The software is available under the MIT License on GitHub. High level details of the framework can be found in the original workshop abstract, which won Best Paper at the 2022 ICRA Workshop on Legged Robots. Quad-SDK has also been featured on IEEE Spectrum’s Video Friday, Weekly Robotics, and CMU Engineering.

Adaptive Complexity Model Predictive Control

Robots are complicated systems, and often the equations and algorithms that reason about how they move are too complex to use in in real time. Reducing these models to their simplest facets can make this level of performance possible, at the cost of potentially catastrophic failures whenever neglected information is ignored. This work seeks to efficiently control legged systems by adaptively modifying the model used to plan motion. We show that doing so can preserve important stability properties and expand the range of dynamic behaviors a quadruped can perform. This work is currently in prep for publication, stay tuned for more information!

Fast Global Motion Planning for Dynamic Legged Robots

In order to demonstrate reliable and efficient performance in industrial applications, legged robots must tap into their potential for agility. Doing so requires the robot to plan how to move and leap around unstructured terrain subject to its own physical limitations. I’ve developed a algorithm to generate these plans over long horizons (>10 s) in under one second and accommodate stance and flight phases, actuator limits, friction cones, and kinematic feasibility. This work was presented at IROS 2020 – see the conference paper for more information. Also note that an update version of this algorithm is implemented directly within Quad-SDK (see above).

Aerodynamic Tail Design

The control authority of legged systems is heavily tied to the number of legs on the ground – the fewer legs in contact, the lower the ability to maneuver or stabilize effectively. Inspired by nature, researchers often add inertial tails to robots to improve their robustness, but in doing so add a large amount of dead weight to the system. My research into aerodynamic tails shows that by leveraging aerodynamic drag rather than inertial effects, the tails can perform the same behaviors at less than a third of the mass, and are easier to control. This work was published in the IEEE Transactions on Robotics journal – see the paper for more information. It was also featured by Tech Xplore and CMU Engineering.

Improving Bipedal Stability through Trajectory Optimization of Virtual Constraints

During my undergraduate studies at the University of Notre Dame, I worked with Prof. James Schmiedeler in the Locomotion and Biomechanics Laboratory on methods to improve the stability of bipedal robots. A common method of controlling these robots is through virtual constraints, which guide the robot along a trajectory parameterized by joint angles rather than time. External disturbances can disrupt these trajectories and cause the robot to fall, so I developed a method to re-optimize the virtual constraint parameterization after a disturbance occurred to guide the system towards a stable walking cycle, improving the disturbance rejection capabilities by up to 20%.

%d bloggers like this: