Add Rate PID target/error filter FFT plots and LOG_BITMASK note#328
Add Rate PID target/error filter FFT plots and LOG_BITMASK note#328amilcarlucas wants to merge 6 commits into
Conversation
|
This is a complement to the only written documentation about the Ardupilot 4.5 PID notch filters @andyp1per this should make it a lot easier for you and our users to tune the PID notch filters. |
|
It already shows filtered target and filtered error. It is missing unfiltered target and unfiltered error. Both can be derived from information already present in the log. The extra graphs contain extra usefull data at the bottom |
|
And regarding the Target, Actual and Error checkboxes, it is more complicated than that.
For PID Actual it might be similar. And we want this tool to work for both ArduPilot 4.5, 4.6, 4.7 ... Even if we improve logging upstream, it will not fix the many legacy systems deployed out there. I think this is a big step forward that should go in as it is. What do you think? |
|
Can you give a example where the new plots are useful? |
|
I added a third commit containing documentation explaining how these graphs are used to remove frame resonances. |
Also adds a prominent notice at the top of the page reminding users that the PID bit of LOG_BITMASK must be enabled for any PID log messages to be present in the log. Adds documentation and a signalflow graph
… note Add two new frequency-domain graphs that visualise the effect of the ArduPilot rate PID input filters: - "Rate PID target filters": overlays the FFT of the unfiltered rate target (RATE.RDes/PDes/YDes) against the filtered target seen by the PID controller (PIDR/PIDP/PIDY.Tar), making the effect of the target filter (ATC_RAT_xxx_FLTT) visible. - "Rate PID error filters": overlays the FFT of the raw error (Tar - Act, before the error filter) against the filtered error used by the PID (PIDR/PIDP/PIDY.Err), making the effect of the error filter (ATC_RAT_xxx_FLTE) visible. Both plots share the existing frequency-axis zoom/pan link and respect the amplitude/frequency scale controls. They are only shown when a Roll, Pitch, or Yaw axis is selected; hidden for PIQR/PIQP/PIQY, PIDS, and PIDA. RATE data is processed at its own sample rate (no interpolation onto PID timestamps). Also adds a prominent notice at the top of the page reminding users that the PID bit of LOG_BITMASK must be enabled for any PID log messages to be present in the log.

Add two new frequency-domain graphs that visualise the effect of the ArduPilot rate PID input filters:
"Rate PID target filters": overlays the FFT of the unfiltered rate target (RATE.RDes/PDes/YDes) against the filtered target seen by the PID controller (PIDR/PIDP/PIDY.Tar), making the effect of the target filter (ATC_RAT_xxx_FLTT) visible.
"Rate PID error filters": overlays the FFT of the raw error (Tar - Act, before the error filter) against the filtered error used by the PID (PIDR/PIDP/PIDY.Err), making the effect of the error filter (ATC_RAT_xxx_FLTE) visible.
Both plots share the existing frequency-axis zoom/pan link and respect the amplitude/frequency scale controls. They are only shown when a Roll, Pitch, or Yaw axis is selected; hidden for PIQR/PIQP/PIQY, PIDS, and PIDA. RATE data is processed at its own sample rate (no interpolation onto PID timestamps).
Also adds a prominent notice at the top of the page reminding users that the PID bit of LOG_BITMASK must be enabled for any PID log messages to be present in the log.