Adam Davies
Adam Davies

Reputation: 2812

Control Algorithms or Functions for Steering a Sailing Boat

Does anybody know of any algorithms etc regarding controlling the rudder of a sailing boat. Input would be current heading and desired heading.

There a whole bunch of things to take into consideration such as effects of waves, sails, boat drag, wind .... So given all the possible variables, what I'm wanting to do is not get to physical but just turn the rudder in the appropriate direction until the boat gets to where it should be heading and then reduce the rudder so it's on course. However, due to to the factors of the above the boat may overshoot or spin round etc, so the method will have to cope with a bit of try and see.

My intention is to build a model autonomous sailing boat that can cross the Atlantic. The Microtransat Challenge. If anyone wants to get involved please let me know, because I sure could use the help.

adam(at)jeeni.co.uk

If you do email me title your email as Microtransat so it doesn't get lost or ignored.

Thanks, Adam

Upvotes: 2

Views: 1001

Answers (1)

David Manpearl
David Manpearl

Reputation: 12656

You should use a Proportional-Integral-Derivative (PID) algorithm to control the amplitude, direction, and duration of your rudder adjustments.

PID algorithms are commonly used for temperature controllers, automobile cruise controllers, computer fan speed controllers, various robotic applications, and other systems that require smooth application of one or more variable resources.

Whenever you implement any PID algorithm, there are several constants that must be taken into account. Depending on these constants you can adjust overshoot vs. response time and other factors. If adjusted incorrectly, your sailboat will continuously travel in a sinusoidal 's' pattern of overcorrecting and compensating. A properly implemented algorithm will settle in on a uniform course.

Here is a cruise control example that looks convertible to rudder control (i.e. accelerator position affects target speed similarly to rudder position affecting target compass heading).


Incidentally, the original PID algorithm was developed by observing human rudder control in an application similar to yours!
PID theory developed by observing the action of helmsmen.

Upvotes: 5

Related Questions