ArduPilotMega (ArduBoat) Sailboat Autopilot Heading Hold Test

This is a heading hold test for the ArduPilotMega based (ArduBoat) sailboat autopilot. The boat is sailed manually on a reach and then heads downwind holding a heading of 0 degrees and performs a jibe.We have waypoint guidance working in hardware-in-the-loop, so we expect to do waypoint testing soon. We might have to figure out a better solution for our digital wind vane as the potentiometer from radio-shack is too sticky to detect light winds well. The digital weather station from sparkfun might be a good option.

Views: 2277

Comment by James Goppert on December 9, 2011 at 12:30pm

Here is the link to the digital wind vane I am thinking of getting. It seems a lot of users have already interfaced it to arduino on sparkfun but it is on backorder. You can get it here instead:

Here is the arduino code:

Comment by Sandro Benigno on December 9, 2011 at 2:19pm

Hi James,

That's a great cool project! I really want to see it navigating on zigzag to windward, which is the most intriguing maneuver.

Why not using a rotary encoder on your wind vane? It tends to be less susceptible to friction than pots. Maybe you could even construct one with an older mouse encoder-wheel on bearings.


Comment by Doug Weibel on December 9, 2011 at 4:48pm

James, that could turn in to a really cool project.  Objective:  get it to beat a human "skipper" in a race.  Lots of interesting possibilities!  Do you know much about the relation between game theory and optimal control?

Comment by James Goppert on December 9, 2011 at 5:09pm
The mouse encoder is a cool idea, Ill try it out. I thought about the optimal controls problem. Had a few cool ideas based on dynamic programming. Given where the wind is, shifting patterns, time to tack I have come up with a fairly representative and efficient algorithm I think. Just have to program it now, then to make it into an android/iPhone app so I can take a picture of the leg and use it on my hobie 16/ j22 ;-)
Comment by Ellison Chan on December 9, 2011 at 5:21pm

I've had only basic sailing experience, but it seems to me that sailing is more of an art than science.  You have to judge the wind direction all the time to try and optimize the best sail configuration.  Could be interesting to see if a computer can be trained to sail better than a human crew.

Btw, good idea with the tether rope.  Hate to have to get in that water to retrieve a wayward boat.

Comment by Doug Weibel on December 9, 2011 at 5:37pm

Hey Ellison,

I love sailing.  However, I think it will turn out to be just another one of those things that we humans think we are so great at, and which a machine could never do better, but which in fact can be done much better by a machine.  Just a matter of time...

Of course, we are the lucky ones who get to make these things happen.  I am continually envious of the great mathematicians and scientists of the past.  Some days it seems like they already got to discover all the good stuff.  Then I remember that it is looking at little questions like "how could I make this autopilot sail this boat better than I could" that will lead to the new, lasting ideas that this generation are remembered for.

Comment by Doug Weibel on December 9, 2011 at 5:39pm

James - I didn't know you have a J22.  I think I need to come visit this summer ;)

Comment by Troy on January 27, 2012 at 10:38pm


I can't believe I missed this post back in December.  Better late than never.  I to am working on auto sailing a boat. for the wind vain I am using a US digital rotary encoder I haven't put it on the water yet but so far messing in my basement I am impressed.  I will send some photos of my stuff tomorrow (Its getting late).  What I need next for the wind vain is a good way to average around a circle.  If the vain is bouncing between 359 and 1 deg I need to average to 0 not 180.  


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service