All work

CMU projects.

Graduate robotics at Carnegie Mellon: research on robotic post-processing, plus core graduate coursework in computer vision and SLAM. My two biggest projects from this time, MoonRanger and Tripawd, have their own pages.

Program M.S. Mechanical Engineering, Robotics
Timeline 2020 to 2022
Lab CERLAB
Focus Perception · Planning · Manipulation
Robotic metrology system overview
Graduate Research · CERLAB
Robotic post-processing of additive-manufacturing parts
Quality inspection of complex, custom 3D-printed parts, the kind eventually needed for spacecraft and satellites. Coverage planning for a robot arm and turntable so a line-scanner can fully scan an arbitrary object.
Path Planning Motion Planning PRM Additive Manufacturing
Space Robotics · CMU
MoonRanger: lunar micro-rover perception
Software perception for one of the first truly autonomous micro-rovers targeted for the lunar surface. Worked on the stereo reconstruction pipeline, getting disparity data saved and inspectable so failures could be debugged offline.
Stereo Vision C++ ROS Autonomy
The Tripawd three-legged robot dog
24-775 · Robot Design & Experimentation
Tripawd: the three-legged robot dog
A functional three-legged robot dog built to study how a tripod's natural gait compares to a trajectory-optimized gait in cost of transport, on the same hardware, with stability actively managed at every step.
Dynamixel Trajectory Optimization Legged Locomotion
Computer vision mini projects
16-720 · 6 mini projects
Computer vision mini projects
Six projects from CMU's graduate computer vision course: spatial pyramid scene classification, augmented reality with planar homographies, Lucas-Kanade tracking, two-view 3D reconstruction, neural networks for character recognition, and photometric stereo.
Homographies Optical Flow 3D Reconstruction CNNs Photometric Stereo
A retinal fundus image with contrast enhancement applied
Graduate Coursework · 4-person team
Diabetic retinopathy detection via CNN
Grading diabetic retinopathy from retinal photographs with AlexNet, ResNet50 and VGG16. Detecting the disease turned out to be easy (98%) and grading its severity hard (80%), so we broke the five-way problem into a cascade of binary classifiers to find out why.
CNN VGG16 Transfer Learning Medical Imaging
Grid map with a planned robot path and a target trajectory
16-782 · 3 mini projects
Planning mini projects
Three searches over three different kinds of space: a grid, where the trick is choosing which goal to aim at; a continuous high-DOF configuration space you can only sample; and a space of logical facts where states are sets of conditions.
A* RRT / PRM Symbolic Planning C++
Contour plot of the image alignment objective function
24-785 · Course project · 5-person team
Template alignment optimization
Lucas-Kanade tracking is a nonlinear least-squares problem solved once per frame, so which optimizer should solve it? Gradient descent, Newton, Gauss-Newton, BFGS and Levenberg-Marquardt raced against each other, explaining why the 1981 paper chose what it did.
Numerical Optimization Gauss-Newton BFGS Levenberg-Marquardt
Particles spread across the free space of the Wean Hall map
16-833 · 4 mini projects
SLAM mini projects
Four takes on the same problem: particle filter localization, EKF-SLAM, SLAM as a sparse least-squares problem, and dense SLAM with point-based fusion. From thousands of samples, to a single Gaussian, to batch linear algebra, to raw geometry.
Particle Filter EKF-SLAM Sparse Least Squares ICP Dense SLAM
Cartographer occupancy map and factor graph from the CARLA simulator
16-833 · Course project · 4-person team
Comparative analysis of visual and lidar SLAM
Setting up ORB-SLAM2, RTAB-Map and Google Cartographer in ROS and benchmarking them against the same TUM data and four driving scenarios we generated in the CARLA simulator. Every system degraded in dynamic environments; the interesting part is how differently.
ORB-SLAM2 RTAB-Map Cartographer ROS CARLA