I'm a senior robotics software engineer at Agility Robotics working on state estimation and controls for humanoid robots. We're hiring -- feel free to email/message me on LinkedIn if interested!
I completed a Ph.D. degree in Computer Science in 2018 in the Computational Learning and Motor Control (CLMC) Lab at the University of Southern California, in collaboration with the Autonomous Motion Department at the Max Planck Institute for Intelligent Systems. My research focused on solving a broad range of problems in humanoid robotics; you can read about it in my thesis, Estimation-Based Control for Humanoid Robots.
I also earned a M.Sc. degree in Computer Science with a specialization in Intelligent Robotics from USC in 2014, and a B.Sc. degree in Mechanical Engineering from The Cooper Union in 2012.
My research interests include state estimation, sensor fusion, model predictive planning/control, and deep learning for legged robots, with a focus on efficient implementations for real hardware.
In addition to publishing, I spent much of my PhD working on estimation, planning, and control algorithms within our locomotion codebase. I tested this work primarily on a 17 DOF, torque-controlled humanoid lower body engineered by Sarcos Robotics. My work has involved everything from low-level embedded motor controller, device driver and networking programming to high-level optimization-based planning and whole body control; I strive to understand and interact with complex systems at every level.
While I did not TA during my PhD studies, I guest lectured on a number of occasions for the graduate-level course Introduction to Robotics (CSCI 545) as well as supported departmental outreach efforts including the well-attended USC Robotics Open House.
As a strong believer in open-access education, I also spent considerable effort compiling a collection of lecture notes on a variety of robotics-related topics. I continue to draw from these in my current work and expand upon them via blog posts on this site.
Locally, I have volunteered as a TA for the TEALS K-12 computer science education program, as a judge for the Greater KC Science and Engineering Fair and the PLTW KC Engineering Design Contest, and as a programming mentor for FIRST Robotics Team 1939.
A long while back, I played around with a comma.ai Panda OBD-II Dongle which is an inexpensive vehicle CAN bus interface designed to perform basic self-driving functionality using only an RGB camera and lightweight processor, both mounted behind the rear view mirror. My goal was to understand comma.ai’s open-source “OpenPilot” codebase both as a... Read more 28 Oct 2019 - 10 minute read
PX4, along with others such as ArduPilot and the DJI SDK (which is only partially open-source), is one of the most popular full-stack solutions for UAV control. The goal of this post is to document some of the basic setup and use information, mostly for myself to refer to later on when digging deeper into the control architecture. Setting up P... Read more 15 Feb 2019 - 6 minute read
It’s quite a while since I last posted anything, so what better way to break the silence than by documenting one of my favorite Italian-American treats - struffoli, or as we southern Italians displaced a few thousand miles and several generations endearingly call them, honeyballs. It wasn’t my intent to use this blog for personal posts, however... Read more 19 Jan 2019 - 5 minute read
I’ve already fallen waaaaay behind what I was planning in terms of publishing technical posts on robotics, so instead I’m going to make a much easier post so that I actually get something out there. It feels like half the battle of having a blog is getting in the habit of posting regularly, especially on days like today when scrambling to finis... Read more 19 Jul 2018 - 3 minute read
In this tutorial, we’ll be writing a small python script which renders a cube in a GUI with a slider to control its rotation. This will be based on other tutorials, namely this one but with a bit more detail to explain the process and OpenGL concepts in general. You can download the full script here. Setup PyQt4 PyOpenGL ... Read more 29 Jun 2018 - 17 minute read