Projects
A selection of robotics projects I've worked on
Oishii
Oct 2025 – Present
Oishii is a vertical farming company that grows strawberries and tomatoes in warehouses. The strawberries are robotically harvested, and I work on those robots.
Completeness Improvements
I'm working on making the robots pick a higher percentage of the fruit. This involves analyzing data to figure out what causes us to pick fruit too slowly and leave some of it behind, deciding what to do to improve those numbers, and doing it. Right now, I'm working on some more robust offline performance tests that will allow us to quickly tune parameters and test algorithms without needing robot time.
Cobot
Dec 2024 – Oct 2025
Cobot is a Silicon Valley startup that makes general purpose wheeled robots. For the time being, these robots pull carts around warehouses and hospitals.
Navigation and Autonomy Team Lead
I led and worked alongside a team of 5 talented SW developers that worked to improve the navigation, localization and task optimization of our robots. Leading a team is challenging, and it's even more challening to do remotely, but I got the opportunity to estimate and prioritize projects, design SW architectures, help employees grow through 1:1s and knowledge transfer sessions, interview and hire for open roles, and teach junior devs how to write better code. My team took on projects that improved reliability and accuracy of localization, predictability and efficiency of navigation, and made it easier to bring new sites and behaviors online.
Intervention and Success Rate Improvement
Our robots weren't performing as well as we needed them to be - low task success rates, and not enough tasks completed per hour. It was my job to figure out why and make recommendations about what to do to improve. I did this by writing data analaysis tools that allowed us to audit tasks that failed or took longer than expected, and audit why that happened. I then used those tools to analyze a large amount of data and make recommendations about what tasks we should take on in order to improve. An interesting outcome of this project was that the majority of our task failures and suboptimalities were actually operational, not technical. I spent a few weeks out in the warehouse watching bots and came up with a set of operational recommendations that ended up improving our performance enough to meet customer requirements.
Tortuga AgTech
Mar 2021 – Nov 2024
Tortuga was a robotics startup making wheeled robots that harvest starwberries and grapes. They got acquired by Oishii shortly after I left
Performance Team Lead
The robots weren't picking fruit as fast as we needed them to, and I led a team tasked with improving that. Our biggest wins on this project came from system we set up to allow us to rapidly A/B test different parameter sets and picking strategies in the field at scale. By analyzing previous field data, we were able to come up with some promising things to try, and our rapid A/B testing allowed us to quickly figure out which of those proposals showed real world benefit. Over the course of this project we rolled out a few new features that resulted in substantial pick speed improvements in production.
State Machine to Behavior Tree Transition
As is the case at many start-ups, we had to move fast in the early days to give demos, get funding, keep customers, etc. One of the costs of this was a lot of tech debt in our core decision making code. Over the course of about 8 months I replaced all our legacy state-machine code (running in boost state-chart) with new behavior tree code based on the behaviortree_cpp library. This improved the testability, understandability and maintainability of our core decision making code and allowed devs (including myself) to implement new features and picking strategies much faster.
Perception and Driving Improvements
In order to pick strawberries, our robots had to first drive to where they are. At Tortuga, they were manually driven to the row, but then had to autonomously drive down the row and back as they harvested. While this only required that the robots drive in a straight line, it had to be a very straight line - in some farms navigating in a space only about 4cm wider than the robot itself. In order to make this happen, I made some improvements to motor and camera drivers, improved localization, reworked our perception pipeline (that detected where we were in the grow), and improved our motion controller. In true start-up fashion, this took driving from "completely unusable" to "usually good enough" before I got pulled onto a different project.