Skip to main content


Controls sits between Autonomy and our actual hardware and turns our high-level movement commands into individual thruster and actuator commands to actually move the robot around. We work mostly in C++ on embedded systems such as our custom controller PCBs, and communicate with the rest of our software over ROS.

Most of the year is spent updating our software to be compatible with new versions of Linux and ROS, and adding any features we think could improve our vehicles' performance. When it comes time to test, we spend a lot of time tuning the parameters of our various orientation and translation controllers to best accomplish commanded movements in the shortest time possible.