In flight tunable gain demonstrator for UDB2 / Matrixpilot

Hi. I have made some modifications to the MatrixPilot code to do tests on In flight tunable gain. If this is further refined, it will be possible to do tuning of P/D gains on roll, pitch and yaw axis while in flight. The idea is that the gains can be tuned with a spare button on your RC transmitter one after the other (separately) while you fly the plane in stabilized mode. The gain you want to tune is gradually increased until oscillation is seen at max desired airspeed and then reduced back somewhat to ensure stability on that axis with that gain. My code mods is a hack at the moment, but this is just to illustrate the concept.

Views: 431

Comment by Rana on July 18, 2010 at 7:43am
Great UFO-MAN !

Comment by UFO-MAN on July 18, 2010 at 7:52am
Thanks. Working on tidying it up a bit now so you can take a look and comment at the concept.

Comment by William Premerlani on July 18, 2010 at 8:08am

Thank you so much, I really appreciate what you have done. This is a great idea, one that has been on our "list" for a long time.

I am glad to see that you are helping out.

Best regards,

Comment by William Premerlani on July 18, 2010 at 8:14am

By the way, although I like to think of the "KD" feedback term as a damping term, it does lead to "fluttering" if you raise it too much, which may seem counter-intuitive.

One of the reasons a large KD produces oscillations is that the servos are rate-limited. This is a non-linear effect that causes a large phase-angle lag if the servos are driven too hard. Since the KD term produces a response that increases with frequency, it tends to over-drive the servos, thus producing rate-limiting, and oscillations.

One of the things on my "to-do" list is to try servos with very high slew rate, and see if I can then use higher gains.

Best regards,
Comment by UFO-MAN on July 18, 2010 at 8:59am
Thank you Bill!

Yes I see that gyroRollFeedback is subtracted :

gyroRollFeedback.WW = __builtin_mulss( rollkd , omegaAccum[1] ) ;

roll_control = (long)rollAccum._.W1 - (long)gyroRollFeedback._.W1 - (long)gyroYawFeedback._.W1 ;

By the way, do you have a supplier of high slew rate servos that you can send me a link to?
Comment by Rana on July 18, 2010 at 9:44am
Billu Bhaiya, congrats for getting important position in T3 !


Comment by Brian Wolfe on July 18, 2010 at 9:45am
What's the slew rate of the servos you have now??
The best I've seen so far is just around 1000 deg/sec. Generally speaking servos intended to be used as heli tail rotor servos seems like the best bet. For example LogicTech 6100G High Speed Tail Rotor Servo. It's the same application as ours where a gyro is feeding back a rate control.

Oh crude! My wife just broke her toe! Off to the Hospital.

Comment by William Premerlani on July 18, 2010 at 9:47am

I have not found a supplier of high slew rate servos, I will let you know if I find one.

The fastest servo that I could find is a Futaba S9602, with a slew rate specification of 0.09 seconds for 60 degrees at 6.0 volts.

This is even faster than the popular digital servo that heli pilots favor for tail control, the Futaba S9650, with a slew rate of 0.11 seconds for 60 degrees at 6.0 volts.

Both my Gentle Lady sailplane and EasyStar are presently equipped with servos with a slew rate of 0.15 seconds for 60 degrees. When I have some time, I am going to try the faster servos and see how much I might be able to raise the gains.

Best regards,

Comment by William Premerlani on July 18, 2010 at 11:01am
Hi Brian,
That is useful information. Thank you very much.
Hi Rana,
Thanks. I hope that eventually there will be a contest where you can enter.
Best regards,
Billu Bhaiya

Comment by John Arne Birkeland on July 18, 2010 at 11:25am
If you are looking for really, really fast servos take a look at the Turnigy HV series.
For example:
Another nice thing about them is that you drive them directly from a 2-3S lipo.


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

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service