Initial Tuning: Optional additional input params

Initial tuning in mission planner is performed by specifying prop size and battery specs.

Would specifying moments of inertia and mass (or some non-dimensional related characteristics) help increase accuracy of tuning? e.g. Ix, Iy, Iz

1 Like

I’m thinking of such a thing already but it’s proving difficult. As much as inertia, the motors and ESCs (and more) play a significant role too, so coming up with some “initial” PIDs is extremely difficult when there are so many unknowns.

https://discuss.ardupilot.org/t/collecting-good-param-files

if providing the additional params always results in a better tune, then i think its worth adding, even if its not perfect.

if it sometimes results in a worse tune, that would be very surprising (and interesting)

i imagine if implemented its just going to be a fit of lots of good tuning examples?

A correct value for motor thrust expo is probably the thing that holds back some tunes from reaching a good end point. Adding in parameters for everything else would be a bit too complicated and limiting - you would need values for:

  • Inertia
  • Mass
  • Arm Lengths
  • Propulsion Thrust Curves
  • Motor Ramp Speeds
  • etc.

is this not covered by MOT_THST_EXPO?

what param corresponds to this?

these seem easy to measure/estimate. i imagine even a hand-wavy estimate is better than … nothing?

That will be so helpful :clap::clap:

If this does get added for some reason - it would be a GUI/MP thing (not native to ArduPilot). All the GUI would be doing is estimating initial PIDs and whatnot via the inputs given.

No parameters corresponds to this - its intrinsic to the PID tuning that takes place.

Yes - and we already have a majority of users that fly with the wrong value for this.

A good example of how difficult this idea is. The Expo Lua worked “OK” for one of my craft, (a tiny 200g quad) and cranked up the Expo to Max on another (7" high thrust/weight). So, waiting for further development of this for one parameter…

Yep - its a hard value to get right.

My impression was that the default was fine unless something was wrong with your motors/esc or you had the “Flame” ESC. Sounds like that is not the case?

Can this parameter be confidently derived from thrust curve? If so, that sounds quite simple. (albeit a pain for most hobbyists)

i thought the initial tuning tool was already like this?

Yes - having a thrust curve can get you this data. The point of that parameter is to take the PWM curve and linearize it to thrust.

1 Like

Yes - it would be an addition/similar to that. But honestly - this data is not needed for most users. Just go through the basic steps and you should have an aircraft stable enough for a maiden flight.

seems that way for most. though with the larger crafts seems like ppl have more trouble? (if i remember anecdotes correctly)

Not to mention I don’t even know how you would go about tackling this for ArduPlane and VTOL Fixed Wings. There is a lot more data needed for those if you want to develop PIDs before a flight. You really just need a full physics model if you really want accurate PID outputs.

I have built and flown aircraft stemming from 5" propellers to large 32" propellers - if you follow all the initial steps correctly and don’t immediately go to loiter or auto modes (like most do) you will be fine for the maiden.

1 Like

I think time would be better spent making everyone more informed of the current process and keeping the documentation as easy to read as possible. Most the issues on this forum can be attributed to “read the documentation”. The number of folks that maiden a large aircraft without any of the initial parameters and whatnot is a lot.

1 Like

Judging by the help requests, I do feel like without @xfacta , @dkemxr , et al, many users would be hopeless properly tuning their craft on their own with the docs alone. If possible, a physics-based estimate on what the tuning params should be might go a long way to reduce support burden.

1 Like