What is the decimal precison of PID parameters?

For example, if I’m adjusting ATC_RAT_RLL_D, does Pixhawk 2.1 see a difference between 0.0036 (the default) and 0.003?

The reason I ask is because I was doing some in flight PID tuning using mission planner, a telemetry radio, and ch6 Opt in Mission Planner. I had ch6 set up on my Taranis to use S1 (left pot) and I was adjusting ATC_RAT_RLL_D between 0.0020 and 0.0040 but in practice, it would not set any in-between values. It would only set 0.0020 when the pot was rotated all the way left, 0.0030 with the pot in the middle, and 0.0040 when the pot was all the way to the right.

When I try to manually set a value in the Extended Tuning screen of Mission Planner, it won’t let me input 0.0036, only 0.0030 or 0.0040. I have to go to the Full Parameters list if I want to enter 0.0036. (EDIT: Later, I went back and was able to enter 0.0036 again in the Extended Tuning screen. I’m not sure why it wouldn’t let me earlier)

This made me wonder if Pixhawk (or more accurately the Ardupilot code) is even using values beyond three decimal places.

So, does Ardupilot recognize values smaller than 0.001?

If YES, Why can’t I select values smaller than smaller than 0.001 when using Ch6 live tuning?

  • Could this be a Mission Planner limitation?

thanks

1 Like

Was asking myself the same, while tuning a small copter. Especially the D-Term is critical for me too. Currently, I have no idea what the GCS software is doing with the parameters. In the source code of AP seems no precision limitation (not sure here), but I am not sure about the MAVLink protocol.

1 Like