During Take-off the normalized innovations are higher on one of the IMU which leads to EKF3 lane switching. I want to understand the reason behind this. Can someone please help?
I have checked the vibe values and all are below 10.
I am using F9P GPS with RTK and the GPS is also working fine as seen in following image.
Log
@xfacta can you please look into this log and help me.
Can there be a relation between IMU temperature and normalized innovations going high.
Only primary IMU is getting higher innovations in most of the cases.
@andyp1per can you please have a look once. Can you confirm that this is majorly temperature issue and not anything else.
@amilcarlucas I did IMU temperature calibration. I observe that post 55 degree celsius Accel Z readings start oscillating. This is observed more on IMU1 than IMU2. I have attached graphs below.
This is inline with the lane switch only at initial take-off time when IMU temperature is above 50 degree celsius and no lane switching in entire flight because temperature of IMU is well below 50.
What can be done in this case?
My guess is that the FC moved and that those “oscillations” are not caused by the temperature, but by the FC moving.
Repeat IMU temperature calibration this time without moving the flight controller during it.
I did not move FC at all. It is mounted on the drone. Can it because of air blow that i am giving post 57 degree Celsius to make it to max temperature
You are blowing too much and too close. The FC is moving.
@amilcarlucas I did the temperature calibration again without using hair dryer or blower. I just left the FC on itself after removing from freezer. This is Matek h743 slim v3. The temperature rose to 60 degree on its own. Is this normal?
Below are the graphs.
Yes, now you did it correctly. Are you finaly using the ArduPilot Methodic configurator for it?
@amilcarlucas Yes that is the only way I know to make these plots.
But is it fine that fc made to 60 degrees on its own. Also there is no major change in readings seen in uncorrected and corrected Accel Z values at higher temperatures which were seen un flights in AZ Bias parameter . That was the reason I came to this calibration first place.
@amilcarlucas After the IMU temperature calibration the current sensor is not giving right values. I did a flight test and I can see that there is offset of 2.5 Amps compared to previous flight. Can you please tell which parameter can help me here? I tried the usual way of doing current sensor calibration but it is not giving right values at lower throttle and higher throttle as well only in between it is matching for certain period. I tried many values of BATT_AMP_PERVLT from 11 to 24. Earlier my value was 24 which gave correct values at all times before IMU calibration.
I’m really sorry, but IMU temperature calibration does not change current consumption, especially if the heater is set to 45 deg like the ArduPilot methodic configurators says.
So I do belive that is was already off before the calibration but you did not notice. The current sensors have an offset and can not be trusted nor calibrated at low currents. You need to calibrate them at “nominal” currents using the gain (BATT_AMP_PERVLT) and after that you can correct the low currents offset (BATT_AMP_OFFSET) somewhat, but that will affect the entire range so do not over do it.
And just randomly testing values between 11 and 24 is not a good solution, use the method explained in the documentation.
On flying objects that tend to fall to the ground “trial-and-error” is NOT a good option.
1 Like
@amilcarlucas I followed the procedure of finding BATT_AMP_PERVLT as per documentation. The logged mah was around 1005 mah and charged mah was around 1000 mah. This was achieved with BATT_AMP_PERVLT=18. But at zero throttle when copter on ground the current value is still 2.7 amps.
How can I fix this?
Ignore it, or set BATT_AMP_OFFSET to 2,7 A, verify that the rest current is now zero and recalibrate BATT_AMP_PERVLT again. Document the procedure in the “reason changed” fields of the respective parameters.
If I set BATT_AMP_OFFSET to 2.7 A, then rest current shows -55Amps.
BATT_AMP_OFFSET is expressed in V so you need to divide -2.7 by BATT_AMP_PERVLT
And you need to readjust BATT_AMP_OFFSET after adjusting BATT_AMP_PERVLT.
Ignoring it is easier.
1 Like
I will ignore it for now. If it creates problem ahead I will revisit this.
@amilcarlucas Even after doing IMU temperature Calibration I am getting EKF lane switching from IMU 0 to IMU1.
I observe that whenever XKF2[0].AccZ Bias is going more than 0.25 in all those flights Ekf lane switching is happening. I also tried increasing EKF_ALT_M_NSE from 2 to 4. But that didn’t help.
I also observe that only IMU 1 velocity and height variance increases and not IMU2.
Can you help here please.
Log
I also did a flight to see if there is aliasing present. I kept Gyro rate at 8khz with Fast Attitude and Fast IMU ON. Below is what I see in filter review tool.
Pre-filter
Post-Filter. Below is zoomed image, above 500Hz there was no noise.
The amplitude is very less right?