GPSS

Home GPS Download Business Partners Contact Family AVL Links History AsOnTV

Robin at Bray Lake Snoopy Sailing

GPS Guided Trans-Atlantic Robot Boat

updated 1430 Thursday 20th November 2008

Many Thanks to all staff at Bray Lake


On broadband ? Checkout the 10MB "Snoopy sails !" video - updated 20th November '08.

For my business partners who visit these pages... do not worry: I spend little of my time on projects such as these, but I must confess to the occasional "dabble" at the weekend :-)

John's official Team-Joker website is www.Team-Joker.com.

Simple rules for this Robot Boat race: destination west of 60W (Bahamas?). Wind power only; autonomous (GPS self guidance); must report position (GPS/Satcomms). More details of "The Microtransat Challenge" are here

Do not be confused by the picture of Snoopy sailing the bottle: that was from the GPS bottle project :-)

latest news ...

Snoopy Sloop 2 on Bray Lake Here you see Snoopy Sloop 2 - our second boat, which had it's first sail in November 2008.

Below, under "recent thoughts" is our first boat, Snoopy Sloop (1) before it was "christened" below the surface of Bray Lake and then had extensive modifications such as a heavier keel and larger hull.

Snoopy Sloop 2 is of similar size, still less than 1.2 m in length and with a mast of less than 80cm high - so it can be easily transported in the back of an estate car. All the electronics are the same, including iPAQ computer, servo control electronics, and PMR radio for "talking" details to shore. Both boats have two radio control systems: one for "emergency use" that controls rudder and electric motor, and the "primary" one, to control a change-over switch, between the computer and radio control to operate the two servos: vane-rudder and sail winch.

Snoopy Sloop 2 on Bray Lake The main differences in Snoopy Sloop 2 are in a sleeker hull and the van-rudder system which is now at the stern. This means a linkage is used to reverse the direction between vane and rudder. The "recovery" radio control steering is also mechanically linked into the same rudder, and all electronics is powered by a common 5v NiMHd battery supply. Solar panels are used to extend battery life a little.

By late November '08 we have switched over to use of the new Snoopy Sloop 2 boat, with the original as our "backup" for spares. We are now into adjustments for things like improved tacking into wind, speed, and continue tests of the autopilot software.

Oh yes - Snoopy now has a more prominent position for his role as "lookout" on the bow :-)

recent thoughts ...

GPS computer test platform for Bray Lake June and I managed to meet some of the main players of this Trans-Atlantic race, at the lake in Austria, during our holiday. Thanks to the trip to Breitenbrunn, to see robot boats, we also saw Vienna and the "singing toilets" :-)

The design that we are working on is much simpler than the more obvious solution that we first thought of back in May 2008. My GPS Software for the Pocket PC has been extended to include a simple autopilot function. Anyone is welcome to use it, although I am sure others will already have their own, much better, GPS based solutions.

toy boats for tests on Bray Lake The picture on the left shows our fleet of toy boats that were used to test simple vane-rudder solutions. These tests on Bray Lake went well, and our later tests involve a radio controlled servo between vane and rudder. This can also be computer-controlled.

On the upper right is Snoopy, standing on our 2 ft radio controlled test boat, recently baptized - see "baptism of Snoopy" below. updated GPS computer test platform for Bray Lake The next picture shows the updated boat, with more hull volume (expanding foam) and heavier keel (4 kg of lead). Our latest thoughts are that an iPAQ computer, with GPS and servo controller, will be running software which will do the following:

  • set the vane-rudder angle and sail, so the boat goes in the required direction, following a planned route.
  • see in what direction the boat has moved, and re-adjust the settings.
  • change the destination to the next waypoint on the route.
  • the above is repeated regularly: maybe every few minutes, or even hours.
  • all the settings are based on a lookup table with data based on trials.

effect of drift due to tide ...

If we were only thinking John's "Team Joker" boat sailing the Atlantic, we might get away without worrying about the effect of the tide.

Snoopy sails on Bray Lake bottle animation However, since John might begin with attempting to sail around the Isle of Wight, or crossing the Channel, ignoring the tide could result in our autopilot doing rather silly things. Imagine crossing the Channel from Dover to Calais with a nice steady wind blowing in a particular direction: to the east. Imagine what happens if the tide is also taking us south. Our simple autopilot logic would wrongly think this is due to the wind direction, blowing south-east, and would trim the boat to "fight the tide". It would be better to accept the drift and sail the boat directly towards its destination.

The animated picture on the right is from one of our more detailed "GPS bottle" pages here. It shows the results of our modelling the path of several bottles due to the effect of wind and tide. Tides in the channel might be faster than our small boat could sail.

There are several solutions to this problem including the obvious one that we thought of back in May: don't rely on just the GPS, but use other sensors such as weather vane and compass to measure the wind direction directly. But of course, more sensors give more opportunity for something to fail. Another solution would be to model the tides within the AutoPilot.

The solution we are testing is simple: the AutoPilot does a regular test to measure the drift due to tide. This need only be done infrequently such as every 30 minutes - depending how rapidly the tide may be changing due to time and where the boat is. For the test, the boat is pointed directly into wind with the sail flapping (or "flogging"), and after this test, lasting perhaps only one minute, the drift is known, and used in later calculations of wind direction and vane-rudder settings.

baptism of Snoopy ...

Here are some piccys from our home video shot on 14th July, showing a very eventful "baptism" of Snoopy...
Bray Lake on 14th July 2008 Bray Lake on 14th July 2008 Bray Lake on 14th July 2008 Bray Lake on 14th July 2008

Bray Lake on 14th July 2008 Bray Lake on 14th July 2008 Bray Lake on 14th July 2008 Bray Lake on 14th July 2008

Lots of small but important things were corrected on "Snoopy Sloop", our 2 ft test platform - including a heavier keel , better thrust angle of motors (for recovery), better sealing - including the hatch, and bouyancy bags - so next time it did not sink to the very bottom ! :-) Many Thanks to James, for borrowing a wet-suit and diving in to (eventually) find the boat deep on the lake bottom, and recover it. Strange as it may seem, after drying out, all the electronics, including two radios and servos, work perfectly. Later that night I was able to test the little electronics card from Klaus in Germany - and (of course) they worked first time - so now my GPS auto-pilot can control the vane-rudder servos (and any other servos such as main sheet). Of course, I made sure the boat was checked out better before our next launch - in June's swimming pool ;-) Since then Snoopy has had many trips to Bray Lake.

recent information on the Pocket PC based AutoPilot ...

testing the AutoPilot software Recent beta versions of GPSS for the Pocket PC include the AutoPilot function.

you do not need the special electronics such as those seen here, to test the AutoPilot software. You would need to start by getting the software working with a GPS on something like an iPAQ, after looking at the Pocket PC page, and take advantage of free registration and support from Robin - including making sure you have the latest AutoPilot version. A few extra sound files are needed, downloaded from PPCAUTOP.EXE.

The AutoPilot is switched on with the [AP] button on the "maintenance" page (under spanner button). You can also set the initial wind direction here. The AutoPilot runs every 60 seconds and updates the vane-rudder position, to steer towards the destination. It also adjusts the direction of the wind based on the boats actual movement.

It also speaks all the information, for use during testing: either walking about on dry land with your GPS, or over a PMR radio when on the water and too far away for you to hear the computer speaking. Direction is in degrees, clockwise from north.

"Attention... this is the robot boat autopilot for Snoopy..." (configurable with AUTOP1.WAV)
"latitude 51.39699 degrees North, longitude 0.65993 degrees West"
"changing destination to Georgetown, Saint Vincent" (waypoints defined in AUTOP.TXT)
"The AutoPilot says the boat has moved a distance and direction of: 30 metres, 090"
"The speed is 1.2 knots"
"Wind direction is 90 degrees" (from west, blowing due east).
"Destination 085" (direction needed towards destination)
"AutoPilot calculated direction error is 5 degrees" (away from direction needed)
"Vane-Rudder angle is 5 degrees" (new vane-rudder setting to correct course sailed)
"wind is from the port side"

For those like John intending to drive an actual vane-rudder servo, they will need to wire the output of the computer's RS232 serial port to an SSCII servo controller, via a protocol convertor such as that seen here from Klaus. This is a "hardware workaround" to the Microsoft OS not allowing more than 7 data bits to be sent to the SSCII - which needs 8 data bits (255 = start of message, 0 = servo number, 0..254 = servo position) GPSSppc sends 127, 0, 0..126 which is converted by the card supplied by Klaus.

The AutoPilot now operates three servos, which some people may wish to use:

  • servo 0: the vane-rudder servo and primary means of steering the boat.
  • servo 1: "Press to Talk" button servo, for those using radios that need this.
  • servo 2: the main sail servo, for those wishing to use it. e.g. swing boom or sail winch.
Robin is grateful to Ian of Hightorque UK for his low cost S125 1T 2BB J 360 degree sail winch servos, now to be used for a better engineered vane-rudder system and experiments with things like a swing boom sail for increased speed.

configuration of the AutoPilot with AUTOP.TXT and WAV sounds ...

AutoPilot speaking over PMR radio Sounds used by the AutoPilot can be replaced or augmented by recording WAV files. e.g. the message at the begining of a voice radio transmission can identify the boat. Intermediate destinations such waypoints can be recorded to give them a particular name. There are standard features in GPSSppc that can be switched on, such as giving the Expected Time of Arrival at the destination. The picture on the right shows a PMR radio, set to be voice-operated, giving ship-shore communications during trials.

If a file with name AUTOP.TXT, similar to that below, is included in the GPSSppc folder, then the AutoPilot reads it for information such as changing the destination when reaching a new waypoint. This can be used to avoid the boat running aground on known islands, or making better use of the expected trade wind patterns.

A typical AUTOP.TXT is as follows, the first line being a comment:

AUTOP.TXT is used to configure the autopilot in GPSSppc. See www.gpss.co.uk/autop.htm
8
00.0000 000.0000,99999,13.2750 -61.1190,Georgetown St Vincent,STVINCEN.WAV, default destination
32.8000 -16.5000,60,33.7000 -18.4000,avoid Madeira,DESTINAT.WAV, avoid running aground
51.3970 -0.66000,0.01,51.3973 -0.6598,up the road,DESTINAT.WAV, test waypoint near Robin's home Snoopy sails on Bray Lake
51.3973 -0.6598,0.01,51.3970 -0.66000,Home,HOME.WAV, return back to Robin's home
51.5001 -0.6907,0.01,51.4990 -0.69200,Middle of Lake,MIDDLEOL.WAV,Bray Lake first waypoint
51.4990 -0.69200,0.01,51.5000 -0.6894,Clubhouse,CLUBHOUS.WAV,return to Bray Lake Clubhouse
51.5000 -0.69500,0.20,51.5000 -0.6894,Clubhouse,CLUBHOUS.WAV,protect from rest of lake
51.4975 -0.69000,0.20,51.5000 -0.6894,Clubhouse,CLUBHOUS.WAV,protect from rest of lake
45
275
1
0
Above lines are data. These lines document the file format.
8 - number of waypoints of route
waypoint lat/lon of circle, radius of circle in km, destination lat/lon, name, WAV file, comment
The smallest circle covering the position causes the destination to change.
So the default destination for the whole World in Georgetown in St Vincent.
Same mechanism is used to cause diversions to avoid running aground.
45 - how close can the boat sail into wind as degrees from directly into wind.
275 - full travel of the vane-rudder servo. Mid position is directly downwind.
1 - minutes between checks on GPS position and computer control of boat.
0 - minutes between a check on drift due to tide. 0 if none.

early thoughts and tests - from May 2008 ...

Robin Hi Folks ! Here are a few of my early thoughts on this daft idea from John :-)

John and I chatted about his transatlantic model boat project, and shortly after dropped an SSC03A servo controller in to me to test. I have, and it seems to be just what we need. My messy test setup is in the piccys below.

First the simple concept for an autopilot that would steer a boat, or maybe an aircraft. The software would obviously do very different things. e.g. 'planes don't need to tack against the wind, but they do have other problems to solve !

These are the bits I think we need as a minimum:

  • the model boat with the required sails, servos - standard radio control (r/c) ones may suffice.
  • sufficient power for several weeks or months: re-chargable batteries and solar panels ?
  • GPS-Satcomms able to regularly report position from the Atlantic. This is essential.
  • a computer that can be programmed. Maybe an iPAQ, or a Pocket PC based GPS ?
  • a means of the computer driving the servos: the SSC03A driven from an RS-232 line !
  • a GPS providing position and velocity into the computer. e.g. on the same RS-232 line ?
  • a flux gate compass providing real time heading. e.g. use a Garmin GPS-compass product ?
  • a weather vane giving wind direction relative to boat heading - or a vane-controlled-rudder.
  • Autopilot software for the computer - I may be able to help with that - or "know a man who can" :-)

"Keep it Simple Stupid" must obviously be our motto, although I suspect the design will become slightly more complicate as it solves the obvious problems of reliability, power, us knowing where it is, etc, etc, etc. e.g. some may ask "is the flux gate compass needed ?": unfortunately I think the answer is "yes" because the Autopilot will probably need reliable information on which way the boat is pointing - not easy from the GPS alone on a choppy sea. The good news is that such products already exist, and will provide the compass heading on the same signal line as the position, velocity, etc. Searching on google will find solutions, but for now I'm assuming something like the Garmin etrex summit, providing the usual $GPRMC NMEA sentences, but also one like this: $HCHDG,101.1,,,7.1,W*3C - the 101.1 is magnetic heading and the 7.1 is magnetic variation.

I did a bit of soldering, and threw a first little test program called AUTOP together.

The picture below shows the bits: the lead from the yellow Garmin etrex (on the left) comes in from the right and plugs, via the RS-232 Y- splitter, into the COM1 9-way D (male) socket on my old Laptop. It could have plugged in direct, but the splitter is needed to drive the SSC03A just below the etrex. From the etrex, the signal is on pin 2 and signal ground on pin 5. To the SSC03A, the signal is on pin 3. The SSC03A could also plug direct into the Laptop COM1. You also see four old r/c servos that I had to hand for tests.

On the right you see my old HP iPAQ - maybe a suitable computer. My problem there is that I need a spare connector, like the one you see near it, to get at those RS232 pins on the iPAQ. However, I should be able to make use of more messy leads as a "temporary work-around" if and when I'm ready to try the iPAQ in a mobile test setup - maybe even on water :-)

below that picture you will see another, of what appears on the PC screen from AUTOP.EXE

bits for autopilot test

Below you see what appears when you run AUTOP.EXE, which I put in the GPSS folder so it can use the same DLL as found in the GPSS Baseline on the download page. Clicking on [OPEN] will open the COM port and 4800 is the NMEA standard. Clicking on [SEND] will send these three bytes to the SSC03A which you will see described on www.pololu.com. I'm using the simple "Mini SSC II Mode" and this seems to work OK - even if GPS data is coming in. If you wire a GPS in to the same port, as I have, you will see GPS data coming in the box below. If you move one of the eight servo sliders, the approriate values are set up ready for [SEND].

bits for autopilot test

The above is obviously only a simple test program. No point in doing more software if there is no suitable hardware to test it with. Now I think I need a flux gate compass combined with a GPS.

Thanks for the iPAQ plugs Jose :-)