Over the last year or so we’ve been working on a replacement to our 74 cm long MOOP (Miniature Ocean Observation Platform) sailing robots. In collaboration with Professor Paul Miller from the US Naval Academy we’ve developed the MaxiMOOP, a 1.2 metre long boat with a narrower and deeper keel (but one that’s still integral to the hull) than the original MOOP. This greatly improves the hull speed and upwind performance of the boat. So far we’ve built three hulls, but only two have made it into complete boats. The first of these has been built with ocean sailing in mind, it only has a small mainsail and a large rudder attached directly to the back of the keel. The second has been given over to a group of our undergraduate students for entry into the Sailbot Competition and World Robotic Sailing Championships. Its been designed for speed and features a much larger sail area with a jib and mainsail and a transom hung rudder which gives greater maneuverability but is more likely to snag on seaweed or other debris in the sea.
The plan for the ocean going boat is to do a trans Irish sea crossing during the summer and if that’s a success, then to attempt the Microtransat in the autumn. We’ve named the boat “Morwyn dod Cantre’r Gwaelod”, which is Welsh for Maiden of Cantre’r Gwaled. Cantre’r Gwaled is a mythical Welsh kingdom in Cardigan bay that is often referred to as the Welsh Atlantis, see wikipedia for more info.
The second boat has been adopted by the Aber Sailbot student team who have developed an autonomous control system based around a Raspberry Pi and an Arduino. At time of writing they are about to board a plane with this boat to take it to the Sailbot competition in the USA. Following on the theme of Welsh names this boat is called “Dewi i’r Ddraig” or “David the Dragon”. Keep an eye of their website for updates on how they do at Sailbot.
A couple of videos from the student boat:
Tags: moop, raspberrypi
For several years we’ve been using Gumstix single board computers running Linux at the heart of our sailing robots. We used one of these for our transatlantic attempt on Pinta. In the last few months we’ve been hearing a lot of promising talk about the Raspberry Pi, another single board computer with similar specs to the Gumstix but a much lower price. Back in May we finally got hold of a Raspberry Pi and decided to see if we could replace the Gumstix in one of our robot boats. It turned out to be pretty easy!
In our small MOOP boats, the Gumstix is just used for processing and all the low level I/O takes place on a PIC microcontroller. The PIC is linked to the Gumstix via a single serial port. The Raspberry Pi has a 26 pin header which breaks out the serial port (at 3.3 volt logic levels), some GPIO pins and provides pins which can be used to power the board. So we reused an old connector from a PC motherboard and hooked up the Raspberry Pi to the PIC’s serial port and the 5 volt regulated power supply that had powered the Gumstix. We hooked the Raspberry Pi up to a miniature WiFi access point, so we could login remotely using SSH from a WiFi enabled laptop. For the initial setup we plugged in a USB keyboard an a small HDMI monitor, but these were just for setting things up and aren’t needed long term.
Getting the software turned out to be really simple. The Debian Wheezy image for the Raspberry Pi included the GCC compiler. Our Gumstix code is written in C, but normally cross compiled for the Gumstix. A simple edit to the Makefile to change the compiler from the cross compiler to just “gcc” and we we’re able to recompile the code and run it on the Raspberry Pi. The only slight hiccup was that for some historical reason the code depends on the ncurses library, so we had to plug the Pi up to the internet and install the libncurses-dev package. It was really nice to have the compiler actually running on the robot. This is something that’s possible on the Gumstix using a newer version of the operating system, but we’d never had this option. It now means that when we are debugging in the field, we can switch from one laptop to another and just keep the code on the robot and do any editing required there. With the code compiled the control system ran just fine on the Raspberry Pi the first time. However on a second try there seemed to be a problem with the serial communications, messages from the Pi to the PIC were received without any problem but the responses were getting corrupted. On trying again a few weeks later this problem seemed to go away. Maybe it was just a loose connection on the Raspberry Pi’s serial port RX line.
Overall we’re pretty impressed with the Raspberry Pi and its potential for robotics. When compared with the Gumstix its pretty close, but not quite as versatile for I/O. However a Gumstix (Verdex Pro, Netpro and Breakout-vx) board costs us over £200 including import duty, a Raspberry Pi costs about £30. The Raspberry Pi has more RAM, a faster CPU, HDMI output, 2 proper USB 2.0 ports (the Gumstix has 1 USB 1.1 port that uses a mini USB connector). However the Raspberry Pi only has 1 serial port and 8 general purpose IO lines (GPIO), while the Gumstix has 3 serial ports and over 20 GPIO lines. For our MOOP robots, this isn’t a problem as they just need one serial port going to the PIC microcontroller. But, some of our other robots use a lot of the GPIO lines to create a parallel bus to the PIC or they use all the serial ports to talk to other peripherals. Now we can expand the I/O on the Raspberry Pi with USB serial converters, but these can experience higher and less predictable latency which isn’t acceptable for some of the high precision navigation we do with some of our robots. The Raspberry Pi’s power consumption is also a little higher than the Gumstix. According to our variable power supply the Gumstix uses between 200 and 300 milliamps at 5 volts. When the network or CPU are used its nearer 300, when its idle its around 200. The Raspberry Pi seems to need a constant 350 milliamps, although some people have managed to change its linear regulator for a switch mode power supply and this might make things more equal.
We demo’ed the Raspberry Pi MOOP at the Aberystwyth University’s Computer Science Show and Tell on May 11th 2012 and then again at the Machnylleth Raspberry Jam on July 21st 2012.
Unfortunately the boat has a bit of damage to its sail attachment right now, but hopefully we’ll get it fixed soon and we might try and sail a Raspberry Pi powered sailing robot at the World Robotic Sailing Championships in September this year.
Here’s a little video from the Machynlleth Raspberry Jam showing the boat (go to about 3:35).
Just a quick post to say we (Aberystwyth University) are hosting this year’s World Robotic Sailing Championships in Cardiff from the 17th to 21st of September.
If you’d like to come and compete or to present a conference poster, then please register by August 10th 2012. If you don’t have a boat, then don’t worry! We’ve got a new event this year called the Hacker Challenge, where teams collaborate with each other to build a boat from spare parts they’ve brought with them or that they buy or borrow from others. On the last day we’ll have a quick set of presentations and some races for these boats.
If you just want to come and watch, we’ll have details about this soon and of course there will be plenty of details posted on the event webpage during the competition.
Also if you’d like to help support the event financially, then please consider donating some money on our Crowed Funder page – http://www.crowdfunder.co.uk/investment/world-robotic-sailing-championships-2012-1133.
This week we’ve been frantically trying to get Minty2 ready to go to Greenland onboard the yacht Gambo next week. We’ve now had two days of testing at Bala lake in Snowdonia and are now fairly confident we’ve got a non leaking hull and reasonably working control, telemetry data, remote control and video telemetry systems.
We had to make a last minute change to our motor control system after we realised the motor controllers we’d chosen weren’t delivering enough current. After a frantic redesign we’ve chosen two 4QD VTX 40-12s (http://www.4qd.co.uk/prod/vtxbx.html) controllers that take analogue inputs. Fortunately our Labjack system that is being used for current monitoring also has two spare digital to analogue outputs that we can use for driving the motor controllers.
Yesterday BBC’s coast program showed a short piece about our 3.65 metre long robot boat, BeagleB. We filmed this last August when we tried to sail BeagleB out to patches buoy (about 8 nm west of Aberystwyth) and back. It was also the day we launched our 72 cm MOOP boat on its little journey around Cardigan bay, unfortunately the BBC didn’t show the footage of this.
For anyone who missed it, here’s the video from Coast:
Minty2 is a motorised robot boat intended for surveying calving glaciers in Greenland. This is to help a group of geographers who want to measure the amount of ice falling off the glaciers during calving events. They do this by building a 3D model of the glacier front with a 3D laser scanner and a resolution SONAR. To produce the 3D image requires travelling along the front of the glacier, a few hundred metres away from the ice. The problem is that this can be extremely dangerous should some ice fall off, as large chunks can fall off without warning and create very large waves or hit the boat directly.
Minty2 also helps us in performing research and acting as a demonstrator for power management techniques that we are currently researching with EADS Foundation Wales. Essentially we are treating Minty2 like an electric powered UAV operating in 2 dimensions. Thanks also go to EADS Foundation Wales for providing the money that has paid for most of the equipment essential to make Minty2 drive (but not the survey equipment) and for my time in getting it all to work.
We built Minty1 in 2010, it was just a radio controlled boat based on an optimist dinghy carrying a Swath Bathymetry high resolution SONAR, a long range 3D laser scanner and a PC. Minty1 went out to Greenland and performed several successful surveys, but suffered from four major problems. Firstly remote controlling Minty from some distance away (and the top of the mast of a yacht) proved quite difficult, so this was the key reason that Minty2 needed to be autonomous. Secondly the Optimist hull didn’t interact very well with the ice and often accumulated ice underneath it, to overcome this Minty2 uses a custom designed hull built with ice interaction in mind. Thirdly recharging the boat’s batteries required winching it onto the deck of the support yacht and connecting it to the yacht’s power systems. To solve this problem Minty2 has an onboard petrol generator allowing it to recharge while tied up alongside the yacht instead of being lifted out of the water. Unfortunately the generator creates too much noise to use it while surveying so we have to rely on batteries and electric motors for that. Finally Minty1 wasn’t fast enough to fight some currents and head winds or to push ice out of the way and a more powerful motor would be useful. Minty1 was propelled by a single Minn Kota Riptide RT45 electric outboard motor and steering was provided by rotating this with a Linak LA12 linear actuator. To increase performance Minty2 has two of the Minn Kotas and drives by altering their relative speeds instead of using a rudder.
Minty2 needs to be shipped to Greenland in late May, so development must be quite rapid. We have just received the hull plans from the US Naval Academy who have designed the hull and have spent the last couple of months deciding on and ordering the control system electronics. So basically we now have all the bits we need to make Minty work, its “just” a matter of putting it all together and testing it over the next 2-3 months. To speed things up we are trying to use hardware we’ve successfully used before on other boats and to reuse code. We’re using the same compass the Furuno PG-500 which we used initially on Pinta (but removed for the Microtransat due to its cost) and on BeagleB. The control system code will be based on BeagleB and Pinta’s code as well, but with some changes to remove the sail positioning and tacking logic and deal with a differential motor drive instead of a rudder. For the computer system we’ve chosen a FitPC, which is a full blown PC with a processor comparable to those in most netbooks, we’ll be running Ubuntu 10.04 on it as this is the same OS most of our lab PCs and field laptops are currently running. Motor control will be via a Pololu USB servo controller connected to a pair of Deventech MD03 motor controllers. We’re also going to use a Labjack U6 to provide high precision analogue to digital conversion to read from a series of current and voltage sensors that we’ll use to monitor the battery levels. A long range radio modem will be used for sending telemetry data and receiving radio control signals. A second FitPC will run Windows 7 for the SONAR and Laser Scanner control. A Linksys WRT54GL wifi router will connect up both PCs to some high gain antennas that will allow us to login to either PC from several kilometres away. To make remote controlling it at a distance easier we’ve also bought a GoPro camera to mount on the bow and a 5.8 GHz video transmitter so we can have live video from Minty’s point of view.
The Microtransat team from ENSTA-Bretagne in Brest, France launched their Microtransat 2011 entry this weekend. See their facebook page at for more details. You can track the boat’s position on the Microtransat website. We are currently experiencing some problems with microtransat.org, so please visit for the time being.
Unfortunately the MOOPs little journey didn’t quite go as planned. After sailing east for a few hours to begin with, the boat then headed north, then west heading further out to sea than the start point. Then after a few loops she headed north towards the Llyn penninsula, just after 20:00 UTC on the 4th of September we received a message from the SPOT tracker showing the boat to only be a few hundred metres offshore near Porth Ceiriad beach. This is a popular, but remote surfing beach with sand across the middle but rocky cliffs on either side. The beach is about 2 hours drive away from Aberystwyth and unfortunately other commitments meant we couldn’t go and look for her until Wednesday 7th.
We got there about an hour after low tide and attempted to walk along the beach towards the last reported position of the MOOP. Unfortunately there isn’t much of a beach in that area, just lots of large rocks. With an incoming tide and increasingly slow progress over the rocks we were forced to turn back, having only been able to get about 500 metres from the last reported position. There was something white visible through the binoculars, which might have been the sail, but it could have been a buoy from a lobster pot or something else which had washed up. Given the size of the rocks on the beach, the boat could easily be hidden between two of them or smashed to pieces by them. It might have been damaged and then dragged back out to sea again. It doesn’t look like we’ll ever find out.
At approximately 15:30 today we launched the MOOP from a point about 5 nautical miles West of Aberystwyth. We aimed her east towards Ynyslas beach, north of Aberystwyth in the hope that we might recover her easily in a day or so. If we do it will be a good sign that the simple controller works at sea, at least over short distances. We might then try for a longer journey out across the Irish sea. We’ve already had a few messages from the SPOT tracker and its looking like the boat is on course for coming back to the beach.
Over the last month we’ve been preparing one of our 72 cm long Miniature Ocean Observation Platform (MOOP) boats for a sea voyage. Up until now these boats have only been sailed over short distances, mostly in lakes and under close supervision.
For the last month as part of a project we’ve been trying to build a really simplistic controller for the boat, to see how little we can get away with while sailing it at sea. We tried to build a purely analogue controller, which we could keep the boat on course with respect to a given compass heading. It used a pair of opamps to compare the output of the compass (which was a PWM signal transformed into an analogue voltage) with a potentiometer. One of the opamp outputs would drive the rudder motor (a servo without its control board) left, the other right. Unfortunately there was a problem with this circuit which we could never get to the bottom of. This was causing the opamps to short circuit and blow up under certain circumstances. So we decided to replace the opamp system with just a basic microcontroller, which just read the compass and set the position of a rudder servo. The target heading is determined by turning a potentiometer, which is read through one of the microcontroller’s analogue inputs. The sail is just fixed in a beam reach position and is made from part of the cloth from Pinta’s original sail (which we placed before her transatlantic attempt). There are 5 size F 13 amp hour, 1.2 volt NiMH batteries, we think these should be enough for a week or two of sailing. The only other component in the boat is a SPOT satellite tracker, which has its own microcontroller that presses its “ok” button every hour causing it to transmit its location. The SPOT uses its own batteries, so even if the main batteries go flat it should continue to transmit.
Tomorrow we plan to launch the boat from a few miles offshore and sail her back onto the large sandy beach at Ynyslas, a few miles north of Aberystwyth.