Hi there! My name is Sean Miller and I am a senior Computer Science Major. For my internship this year I am programming for an underwater drone company called OpenROV. Their flagship product, the Trident underwater drone, weighs just over 7 pounds and can move underwater at over 2 meters per second… as fast as Michael Phelps!
My internship this year is a continuation of my internship over the summer. My project is to write software that will run on the Trident that will allow users to connect their homemade gadgets to the drone, and to control them from the surface. Over 150 customers and OpenROV community members have expressed interest in this project, and we have been hearing about some exciting ideas they’ve all been working on. The most popular projects are gripper arms and metal detectors, while the most ambitious project we have heard of is a harpoon with attached balloons that inflate after it hits a target.
My internship this year is a bit different than my internship last summer. A big component of my internship this year is the fact that OpenROV only has a single office in Berkeley CA, meaning all of my meetings with my supervisor and the other software engineers cannot be done in person. While technologies such as slack and Google Hangout make remote project workflow and face-to-face communication possible, it is especially important for me to describe my issues as thoroughly and completely as possible. For example, I cannot describe the problems using visual aides such as a whiteboard.
I am also given lots of freedom in regards to design decisions, which I was certainly too inexperienced for at the beginning of last summer. I have revisited my networking code, and am working on making it extensible and well documented. I have decided to completely abandon a part of my project that had been built on 3rd party open sourced libraries, since those libraries are being updated too frequently and fatally break my code every time (hooray for open source software…). I have also decided to add automated testing to demonstrate my application’s ability and to allow a future developer to make changes and check to see if other components break from those changes.
While I have become proficient with answering my own questions using online resources, I am certainly excited for Whitman’s C++ guru Professor John Stratton to return from sabbatical! Much of the coding I am doing is similar to projects I completed in Professor Stratton’s CS 270 class, or in Professor Exley’s CS 310. However, I am also using many modern features that I never saw in the classroom, and would love to share my experiences with any CS major curious about my work!
It is exciting and fulfilling to work on projects directly related to my schoolwork, and I am thrilled to be helping OpenROV achieve their development goals for Trident. The OpenROV community members are proponents of DIY projects, and love to get “citizen scientists” excited about ocean exploration. Can’t wait to see what next semester holds… Special thanks to everyone at the SEC for making this possible!