gain scheduling- Ardupilot

Hi there,

Has anybody considered developing/using gain scheduling for Ardupilot?
Maybe something as simple as different sets of gains (P, I, D) for different airspeed intervals...
Would gain scheduling be something of interest for Ardupilot community?

Thanks!

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Hello Florin,

    Your question has got me thinking and looking at the Ardupilot code. There is a nav_gain_scaler on the output of the PID loop to help navigate turns better in windy conditions. It uses airspeed and ground speed. For what you propose we would only need to consider airspeed. Instead of a lookup table, I think you could just scale the output of the PID loops(elev, ail, rud) based on airspeed. I have a hunch it should something like vel_scaler = Kv / (airspeed)^2. This value would scale the servo_out[] value. The hard part is coming up with Kv. This would be done through flight testing and a lot of thinking converting ect. I think I might have to work on this. Once Kv is tuned there would be no over/under controlling at high/low airspeed. Thanks for the idea.

    Greg
  • Developer
    You can pre program gains on the MEGA
This reply was deleted.

Activity

Neville Rodrigues liked Neville Rodrigues's profile
Jun 30
Santiago Perez liked Santiago Perez's profile
Jun 21
More…