Loiter PIDs

I built a quick sim today to look for the optimum PIDs for Loiter:


What's looking good is 


Loiter_P = .5 or .6  (more = some overshoot, but not much)
Loiter_I  = zero       (Just say no)
Nav_P    = 4   (Higher than I thought, What will it do to navigation?)
Nav_I  = .25         (Higher than I though, but still large like it should be)
Let me know if anyone proves this out!


Here's why Loiter_I is a bad idea. It just ends in overshoot.



Here is Loiter_P from  .5 to 1.8 (lower looks better)3690892493?profile=original

This is Loiter kp 1, Loiter kI 0, Nav_kP 2 through 10, Nav_kI .2 



Here it is in action:

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

Join diydrones

Email me when people reply –


  • Developer

    I updated the simulation to include all of the PIDs, motor Kv, and thrust. 

    It's a bit of a hack, but seems to work well.



  • I tried (2.0.46) Loiter_P=.6, Loiter_I=0, Nav_P=4, Nav_I=.25 last night in 9 to 10 mph gusty winds and performance seemed pretty good, but it got dark too quickly to really flesh it out.  I noticed much less oscillation about the set point though and the log definitely look better.

     I flew multiple flights (10 or so) at dusk earlier this  week (Monday, Tuesday, Wednesday) with no wind (much better weather) before your sim came out  and tried varying Loiiter_P and Nav_P with chn 6 but never got above 3.0 for Nav_P and  below .9 for Loiter_P and always had some oscillation. Your sim is very much agreeing with what I saw and it is really helpful. Now I have a better feel for the parameters and I will be out all day on Saturday in the wide open spaces to flesh out - although the wind forecast is creeping up to 10 to 20mph for Saturday.

  • Thanks Jason

    I think this is exactly what I want to start.


    Problem is night time now and rainy. Hopefully tomorrow early I will have a go at this and advise.

  • Jason,

    could you elaborate more on how do you build a theoretical model of your quad for the simulations?

    What variables have you taken into account to define the model behaviour?

    Weight? motors thrust? motor2motor length?

    I assume the simulation is specially tuned for your frame that is probably a standard arducopter frame, isn't it?

    In case these variables are used in the simulation, maybe you could make it available in the GUI for simulations with other frames...... 

    I'm just speculating.... 



This reply was deleted.