PitRanger is an autonomous microrover designed to image and map lunar pits. It will search for access to the Moon's subsurface, where long-term habitats could be established and protected from cosmic radiation and meteor impacts.


nanoplan is a header-only C++11 library for search-based robot planning. The primary design goals are correctness, ease-of-use, and efficiency (in that order). nanoplan currently supports Dijkstra, A*, Lifelong Planning A*, and D*-Lite.

SAT Solving the Aztec Puzzle

Aztec puzzles are ridiculously hard. I found an efficient SAT encoding for Aztec puzzles that enables my laptop to solve large problem instances (50+ pieces!) in just a few seconds.

Fast Lidar Odometry and Mapping

LOAM is the highest-ranking lidar mapping algorithm on the KITTI leaderboard, but the best open-source implementations are SLOW. I rebuilt LOAM from the ground up in modern C++. My version is 10x faster, single-threaded, and easier to hack on.


I invented a high-speed pneumatic valve and used it to build a robotic baritone. The valve is an adaptation of the auxetophone, a 100 year old compressed air phonograph amplifier.