In our current version, the control of the boat is distributed. A small AVR-C program running on the boat's main board is mainly doing communication, basic filetering of sensor data, and servo control. The actual control is mostly done on a PC connected via Bluetooth. While this comes at the cost of additional delays, the computing power of the PC allows for much more elaborate algorithms to run. Also, all boats share their position through a central world server. Hence, while no sensors for direct detection of other boats are available in our design, it is still possible to test collision avoidance methods.
Please note: our code is still quite experimental and changes quickly. It is very prototypical and not written to be shared. We would like to give you some help by providing what we have, but please do not expect a well maintained project at this time. Also, if you have questions, you can contact us by email: email@example.com
The Java code contains the WorldServer, the Map and GUI, and the actual control software to get a boat sailing. Here you can find some sample code to connect to boat (see Bluetooth Gate below) and worldserver. A runable version of WorldServer and boat control can be found here and here.
The AVR-C code runs on the boat's main board, have a look here.
We provide a gate software to connect to the boats via Bluetooth. As an alternative, you could write your own code to connect via a virtual serial port.
As a special addition to the hacker challenge at WRSC 2012 in Cardiff we put some code to control a sailing robot through Android and IOIO here. For participants: PLEASE do not alter the boat, just the code! We would appreciate if you make any results of hacking available to us.