This event is still bothering me. Having made some more careful calculations of the pure inertial solution combined with the initial and final yaw values as determined by video, there is either a strange coincidence here or something I don't understand.
View attachment 95548
The pure inertial yaw solution and the VIO yaw solution agree very well, and if they are initialized with the real initial yaw determined from the video then they end up in good agreement with the yaw measured at the end of the video. That's nice, and is a testament to the effectiveness of the DJI optical yaw algorithm and the quality of the rate gyro data.
However, the IMU starts off completely wrong and stays wrong for the first 88 seconds - the compass data are useless and no help in correcting it. But at 88 seconds the IMU yaw discontinuously changes to match the actual yaw that the inertial solution and the VIO data predict - but only if you know the actual starting yaw, which the FC did not since the compass was incorrect. It's a little hard to see but note that the positive compass excursion at a similar time actually occurs just after the IMU yaw reset, so that wasn't the cause. That begs the question - was that IMU yaw reset caused by something else, and just fortuitously made the yaw correct, or is there something else going on here? Without a working compass, how did the FC know which way the aircraft was pointing, and if didn't, and it was just coincidence - which data caused that reset?
@BudWalker,
@slup