Filled in multiple roles for my university's Mars Rover Design Team over the course of a couple years. I was a software architect for one year, when I introduced robust TCP-backed error reporting to our network stack and architected our new brushless motor control framework for our robotic arm. My last year I was the development lead for the Rover autonomy stack which was powered by a asynchronous state machine written in Python.
• Led computer vision development using image classifiers as well as obstacle avoidance with depth map segmentation and clustering.
• Developed new team simulation and unit testing tools with continuous integration, and robust logging systems to track regressions.
• I rewrote the C++ embedded software stack for our robotic arm which involved involved developing our motion planning software and studying our inverse kinematics models.
• Worked on improving software quality through code standards and reviews.