I’ve implemented the yaw code such that Hermione points in the direction that she should be travelling based upon the flight plan velocity vector. She should take-off, then move left at 0.25 m/s for 6 seconds, while also rotating anti-clockwise by 90° to face the way she’s supposed to be travelling. However, here’s what my Mavic & I saw:
My best guess is the camera lateral tracking which simply looks for peaks in macro-block after stashing them all in a dictionary indexed by the vectors. This ignores yaw, which was fine up to now, as I’d set the yaw target to zero. I think I need to add an extra stage which un-yaws each macro-block vector before adding them to the dictionary and looking for peaks. That’s relatively easy code, involving tracking yaw between video frame, but costly as it adds an extra phase to unraw each MB vector, before dictionarying them and checking for peaks. Time will tell.