First, thanks a lot for your replies.
@oursland are you suggesting to increase EKF2_ACC_NOISE ?
I understand the problem of the phase delay.
In my understanding, for a given vehicle with a step response of about 0.1s on the roll rate (π=0.02), any frequency above f=1/(2.π.π)=8Hz is not wanted in the controller. We take 5 times this frequency to ensure a small enough phase delay: anything above 40Hz can be filtered. This information is not wanted in the controller. Everyone agree so far?
- Is there any danger of low pass filtering the acceleration before the EKF? For instance, is there a risk of the EKF diverging the attitude estimation?
I made a diagram of the IMU signal pipeline from looking directly into the code in v1.15.4, (Please point me the code line if Iβm wrong with anything).
A few comments
- Iβm still wondering whatβs the point of the IMU_ACCEL_CUTOFF
The cutoff frequency for the 2nd order butterworth filter on the primary accelerometer. This only affects the signal sent to the controllers, not the estimators. 0 disables the filter.
- As you see in the diagram, the filtered signal vehicle_acceleration_s is not sent to the controller (to the Rover controller yes, not to the multicopter controller). So, if we cannot filter the EKF for stability reasons, can we send the vehicle_acceleration_s to the position controller instead of doing a discrete differentiation on the velocity? Taking the derivative of a high frequency noise signal will amplify this noise. Why not taking (after proper rotation) the filtered acceleration?
