I’m hoping someone can help me along in some debugging of a crash we had the other day. There are two things I don’t understand. First, after a couple of 360deg yaw spins, the IMU and Mags get significantly out of sync and ErrYaw increases quickly. This led to a EKF error. That is not great but manageable. Second, after this occurred, the copter took off at high speeds and become unresponsive and uncontrollable. It crashed about 200 meters away while moving extremely fast.
This seems like a similar problem to:
but in that case the errors gradually correct themselves, whereas here it led to some extremely unpredictable behavior.
DJI S1000, RPi3/Navio2, using built in magnetometers (both active), built in GPS
Wifi was active and connected to GCS, but all commands were issued only with the RC
Intwifi was disabled and generic usb wifi antenna was used instead
Barometer covered with some opaque opencell foam
20170323_emlid disk image and arducopter 3.4
Light winds: 1-2 m/s (from about 280-290 deg WNW)
2017-06-21 14-20-57.bin (1.4 MB)
First, ignore the crash listed at line 9000. I was an idiot and accidentally put my knee on the end of the landing foot while installing the battery and sunk it into the soft ground. It stuck during takeoff and the copter did a graceful 90 deg tip over. Two dirty blades.
In short, I was doing a quick control demo using RC only. Took off to about 10 meters. Stayed in Loiter/simple flight mode the entire time. Little forward, little back, little side to side. Performed 90 deg yaw turn (line 31,000). Did two 360 yaw spins (line 33,000). Almost immediately after that, copter started rolling and traveling away from me while picking up speed. I appeared to have minor control (I could still somewhat affect the pitch so there is a curve to it’s path) but could not change the roll or bring it back to level flight (still in loiter mode). After a few seconds, I started quickly decreasing throttle, no effect.
Obviously there is a pretty big disconnect between the GPS measurement and recorded position.
Examining the log shows that after the 90 yaw, the errors increase moderately and then immediately after the two yaw spins, the ErrYaw started to increase quickly.
Vibrations look fine:
The two compasses match well so I’m guessing that the ErrYaw is due to the IMU getting ‘dizzy’, separation doesn’t really occur until after the two yaw spins.
Finally, I’m at a loss as to why it decided to leave the area at high speed or started ignoring incoming RC commands (most importantly the throttle). More than anything else, I would love some help in that area.