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 1030 Friday 8th August 2008

Many Thanks to all staff at Bray Lake


On broadband ? Checkout the 8MB "Snoopy sails !" video .

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 :-)

Simple rules for this Robot Boat race starting at end of September 2008: launch from Portugal; 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 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 might be much simpler than the more obvious solution that we first thought of. It is even possible that my GPS Software for the Pocket PC is extended to include a simple autopilot function. If so, anyone will be 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 pictures 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 later tests will involve a radio controlled servo between vane and rudder.

On the upper right is Snoopy, standing on our 2 ft radio controlled test boat, recently baptized - see "baptism of Snoopy" below. The next picture shows the updated boat, with more hull volume (expanding foam) and heavier keel (4 kg of lead). updated GPS computer test platform for Bray Lake 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.

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 need to be corrected on our 2 ft test platform - including a heavier keel (or smaller sail?), better thrust angle of motors (for recovery), better sealing - including the hatch, and bouyancy bags - so next time it does 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 ;-)

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

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.

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 :-)