This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
automatically selecting autopilot gains
#17
I've done a few few trips now on the PyPilot and I've collected some sets of gains. As suggested by Sean it seems as if D/P is constant; in fact that is my guide when adjusting the gains. However I need a calculator for this and still make typos with the number of zeros. I've trawled through other autopilot's manuals to see what user parameters are available in their settings. Based on this, I'm planning to change the described gainset prototype to become a bit more intuitive and usable front-end, given the cockpit load under which you typically have to operate it.

First, I want to select which of the P-parameters I will be using: P or PR, and the D-parameter: D or DD. Then, I want to give upper and lower limits for the P-parameter, and a factor for the D/P constant. Finally, I want to introduce a 'speed factor', which multiplies my boat speed to set the P-parameter within the given range. Then the boat speed dictates the P and D-factor, which I write back to pypilot's signalk database. Let's rename the D/P constant to a simple name, say, 'counter rudder'. I think speed factor and counter rudder are fixed to my rudder effectiveness resp. boat inertia and they should not change.

Then, when the circumstances change, there's one more overall gain that can be manually set, and that multiplies the chosen P and D parameter. Let's call this gain 'responsiveness'. At lowest value, 1, this signifies optimal use of energy; at higher values this makes the autopilot more assertive. Initially, I'd make a slider for it, or +- buttons, and set it manually.

I think eventually overall gain should in some way follow either the sea state (amplitude of imu.heave), the steadyness of the true wind (standard deviation of $WIMWV), or the wind angle/point of sail (average of $WIMWV). Which one is yet to be determined. A bit more reactive, it can also increase as the average error heading goes up.

Before I begin, any thoughts would be apprciated.

(2019-07-15, 02:57 PM)seandepagnier Wrote: [...], but I still plan on developing other pilots such as neural network approach because they have potential to do better than human steering which is not really possible with PID (unless human is tired)

Old article, but might still provide some handles:

https://pearl.plymouth.ac.uk/handle/10026.1/1100
Reply


Messages In This Thread
RE: automatically selecting autopilot gains - by ironman - 2020-01-05, 11:05 PM

Forum Jump:


Users browsing this thread: 6 Guest(s)