Some questions about EKF and Attitude when the quadcopter flying at high speed(15m/s to 25m/s)

Hello,

It must be admitted that ardupilot-Copter-3.4 has been increased greatly, such as the stability of althold and poshold,functions like throwing,etc.So I really want to thank the developers, because you have brought us endless pleasure of DIY and the chance to fly.But there are still some problems not been solved since the open source code using the EKF, maybe.

I found that EKF will go wrong when the quadcopter in high speed flight. I used ardupilot-Copter-3.4 on PixHawk.It shows “pos vert variance” in Mission Planner 1.3.37.I put “hgtVar” of “getVariances(velVar, posVar, hgtVar, magVar, tasVar, offset);” out,I found it’s incredible,sometimes it over than 8.0 .However,it normally less than 0.02 .Another problem is the attitude algorithm can’t work well in high speed(such as 10m/s).

The conditions can be listed as follows.

1.The sensors on quadrotor include accelerometer/gyroscope/barometer/external compass/GPS,set the flight mode to “stabilize”,after take off from ground about 50
meters,play the full pitch joystick to go ahead. When the plane fly away from the home more than 200 meters, set the flight mode to “althold” immediately,the

plane will triumph in the skies,it’s out of control.It’s important to note,sometimes the speed will more than 20(or 25) meters per second.

2.In addition,set the flight mode to “althold”,after take off from ground about 50 meters,play the full pitch joystick to go ahead. When the plane fly away from the home more than 200 meters,the plane will triumph in the skies too.

3.set the flight mode to “stabilize”.After take off from ground about 50 meters,play the pitch joystick to go ahead and keep the speed above 15m/s. When the plane fly away from the home more than 200 meters, play the pitch joystick to go back until the plane close to home.Then repeat such operations for several times, you will find you can’t correct the attitude of the plane by joystick,the attitude angle is bigger and bigger,in worst case, it may be over 80 degrees.

I found that the complementary filter algorithm seems to not have the problem (triumph in the skies) like ardupilot-Copter-3.1-rc8.But the attitude of ardupilot-Copter-3.1-rc8 will still distortion under high speed. I guess the problems are caused by position(height),velocity and attitude estimation error in hight speed.

As you see, my English is poor, please forgive me.

Really need your help!
Thank you!

Please post log(s) with these problems.

Hertz: I fly up to 20m/s with 3.4 without issues and holding altitude too, try to post a log as Fransisco suggest.

Me too, without any issue at 25m/s , however never tried in stabilize, only in poshold

Ok, I will try it later.I didn’t install the SD card in this situation.

How long did you fly in this speed?I’m flying at the speed for more than 15 seconds at a time. In the “althold” mode and remove the GPS more likely to triumph in the skies.Maybe the power system of my quadrotor more violence.

The frame size :260mm
The battery: 11.1V 2200mAh (3S) 25c
The motor : 2500kv size(2814)
The ESC output frequency :500Hz

Thank you for your reply.I suggest you remove the GPS, and then fly in high-speed at “althold” mode.

around 15 ~ 20 sec, otherwise it gets too far away. If you want I can upload my log for you to test.

I don’t need it, thanks! It is strange that I fly a few similar quadrotors, they all have this kind of problem.

Mine is a hexa… My quad is disassembled as im switching from an old apm

I assume you are flying without a GPS.

The problem with height control when operating without GPS lock is a known bug with a fix that will be incorporated into the next release candidate.

The problem with the attitude error could be due to a number of things.

The EKF is primarily designed and tuned for operation with GPS as a full featured inertial navigation system and will operate over a wide range of speeds without problems. It does have a non-GPS mode, but this mode is primarily intended to enable startup and climb to altitude to gain GPS lock, or for indoor operation within a restricted area.

It won’t be the speed that is the issue as speed is relative.

It could be due to flying with sustained acceleration, eg continuous turning causing it to lose it’s attitude reference but is more likely a problem with either clipping or aliasing of the accelerometers due to propeller vibration in forward flight. Check the VIBE.Clip0 value in your data-flash log. If that is increasing during flight, then the vibration levels are causing the accelerometers to clip. If the motor revs/second x number of blades close to a multiple of 1000 (the IMU sampling frequency) then this can also cause the navigation system to fail unless the autopilot is properly isolated from vibration.

If magnetometer interference is causing a problem, then seting EK2_MAG_CAL=2 so that is uses a simple magnetic yaw method that is less accurate, but less sensitive to magnetic interference, may help.

Hello Paul, you said that ac3.4 can start without gps and wait gps lock when drone reach altitude where it can reach gps lock?

Also Randy talk about ek2 gps failover to optflow capability, could you explain how to setup ac3.4 params for test this new features?

it will be great that :
range finder use or not will be selectable in flight via aux function switch in ac3.4.rc2 push.
Opticalflow vs gps use will be selectable in flight via aux function switch in ac3.4.rc2