The conversion of DCM to EKF3 caused the crash

My mini talon pro crash as soon as hand launch take off。 The advantage is that DJI goggles completely record the entire process.

Through the video playback, I found that when DCM was transforming EKF3, the plane suddenly nose down. I quickly switched the FWBA mode and prepared to switch the manual mode, but the altitude was too low and the obstacles in front of me prevented me from seeing the attitude of the plane, resulting in the plane crash.

This has been converted to EKF3 during takeoff several times resulting in a crash, the earliest time I said EKF3 may have a problem, and later the developer said that the firmware version update has solved this problem. But now it seems that there is still no solution, and my friends around me have encountered such problems many times. For the fixed-wing aircraft with traditional taxiing take-off, since I wear DJI goggles for the whole process of rolling take-off, when the plane just takes off and switches to EKF3, if there is a problem, I will switch the manual mode control in time. However, for the fixed-wing aircraft with hand-launch take-off, I need to wear DJI goggles after hand-lanch out, which often leads to crash in this time gap. I hope that the developer will take a good look at my flight record and pay attention to and correct this problem again.

flight video at:

flight log at:

You have a problem with the GPS refresh time, this compromises the EKF3.

Ardupilot requires a maximum refresh time of 5Hz/200ms (as you have configured GPS_RATE_MS,200).

But your GPS at regular intervals of 20s jumps to 220ms and 240ms alternatively. The 220ms could be tolerated (with some degradation in accuracy affecting the EKF3) but not with the 240ms.

Detail view

Here is the EKF3 normalization in percentage. Values should be below 50 and never exceed 100.

At the end of your flight the SP location accuracy goes to 469, the SV speed accuracy to 434… and the EKF3 fails.

The message “GPS 1: detected as u-blox at 230400 baud” is familiar to me, are you using a BN-880Q?

If so, I recommend that you reconfigure it using u-Center to use 115200 baud.

The reason is that this GPS does not respect the 230400 rate and that is why the cyclic errors occur every 20s. On the other hand, at 115200 it still has problems every 20s but they are limited to a maximum of 216ms and the EKF3 system tolerates them.

1 Like

can you manually set the gps baud rate? wont it just change back with autoconfigure enabled?

My experience was that all attempts from the Ardupilot configuration parameters to change the baud rate did not get results and the failure continued (the baud rate changed but the failure persisted). In the end I made the change directly in u-Center, I also took the opportunity to cancel the NMEA messages (which I do not use and thus lighten the workload of the GPS) and set the constellations I wanted to use.

With all this I didn’t need any automatic configuration or configuration saving. The only thing I indicate is that it is a UBLOX type GPS.

GPS_AUTO_CONFIG,0
GPS_AUTO_SWITCH,0
GPS_BLEND_MASK,5
GPS_BLEND_TC,10
GPS_COM_PORT,1
GPS_COM_PORT2,1
GPS_DELAY_MS,0
GPS_DELAY_MS2,0
GPS_DRV_OPTIONS,4
GPS_GNSS_MODE,65
GPS_GNSS_MODE2,0
GPS_INJECT_TO,127
GPS_MB1_TYPE,0
GPS_MB2_TYPE,0
GPS_MIN_DGPS,100
GPS_MIN_ELEV,-100
GPS_NAVFILTER,8
GPS_POS1_X,0
GPS_POS1_Y,0
GPS_POS1_Z,0
GPS_POS2_X,0
GPS_POS2_Y,0
GPS_POS2_Z,0
GPS_PRIMARY,0
GPS_RATE_MS,200
GPS_RATE_MS2,200
GPS_RAW_DATA,0
GPS_SAVE_CFG,0
GPS_SBAS_MODE,2
GPS_SBP_LOGMASK,-256
GPS_TYPE,2
GPS_TYPE2,0

Regarding the number of constellations it must be considered that 5Hz is achieved with a maximum of 3 constellations and more constellations implies lowering the refresh rate.

SBAS is not supposed to affect the refresh rate but it takes a long time to lock. I set GPS_SBAS_MODE,2 (do not change) and also disabled it from u-Center.

i use bn220 with default setting,I am not familiar with the internal GPS Settings, is there any recommended Settings for the BN220

A good starting point to understand how to use u-Center (please note that what is said here is not oriented to Ardupilot).

How To Optimize GPS Receiver Settings in U-Center To Get More Satellite Locks - Oscar Liang

1 Like

The BN220 is capable of handling (theoretically) 230400 baud?

(576) Beitian BN220 GPS AYARLARI , UBLOX GPS CONFIGURATION CHANGE BAUDRATE AND REFRESH RATE - YouTube

the baud rate in serial port that connect to GPS is 38400,but i don’t know why it became 230400

Try to set from parameters (serial port too) to 38400 baud and you might get it figured out without fussing with u-Center.

Here you have the Datasheet of the BN-220

Beitian GPS module with antenna UBX M10050 M9140 GNSS chip Ultra-low p – Beitian store

What I posted to you is the BE-220 (the evolution of the BN-220). The manufacturer presents it AS IF IT WAS THE SAME.

In your case go to 9600 baud.

image

Here you have the correct Datasheet.

6126H (archive.org)

////////////////////////////////////////////////
////////////////////////////////////////////////
////////////////////////////////////////////////

One last piece of advice, try setting GPS_GNSS_MODE to the constellations you want to use (no more than 3 and 2 better).

Surely your Beitian comes configured with more than three.

With the latter (maximum of 2-3 constellations) I would try it at 38400 baud