Creating the software for this boat is one of the biggest challenges that we face:

We are using two computers on board the craft, the Arduino MEGA and the Raspberry Pi. The Arduino will be interfacing with the hardware/sensors. It will then send this data via serial port to the Raspberry Pi. The Raspberry Pi will be running a python script with several libraries such as OpenCV and PySerial to help with navigation and data cataloging.

The docking system will be the biggest challenge to program. We have to use GPS to get close to the dock. However, it is not precise enough to be able to actually navigate the vessel into contact with the dock. So, we have to transition from GPS to computer vision once we are close. Then, the onboard raspberry pi will search the camera feed for the special target that we have designed. Using spatial analyzation, the dimensions of this target (in pixels) will tell the craft how far it is from the dock, and at what angle the dock is. Then, we will apply an algorithm to cleanly guide it into contact.

We know we have an enormous of work to get into, but we are very excited to begin.