Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Refactor position estimation code. Add support for optic flow for position estimation #3350
Based on what I see in the code transition from optic flow in dead-reckoning mode to GPS will result in drastic position change.
I briefly flew this today (tested would be too grand a claim). A bit like December 2015 revisited, without the cold; working but not unexpected there was a regression against current capability. Generally, it was OK navigating in a straight line at constant altitude; ask to change altitude (and to a lesser degree, direction) and it would deviate significantly from the required course.
The test machine is pretty much a throw together from the spares box, not (well / at all) tuned. There are two logs attached, with a link to a video rendition. In each case:
Blackbox logs attached (apologies if not useful resolution due to 2Mb SPI Flash on QVF4 board --- if necessary can be repeated with higher logging rate). Videos are from mwp logs as this provides more context (e.g. WP numbers). Note that due to an error by the mission drafter there are some coincident WPs).
Test 1: New PosEst branch:
Test 2: Mainline (dev) PosEst branch:
For both flights there was an unstable / gusty 15 kph wind from NE / E.
The same settings where applied for each test, in particular, default 1.9+
I put 20 flights or more on this branch today, PH, RTH, WP, all excellent, at least as good as the extant position estimator, and remarkably good (now) holding course during rapid altitude change.
It also flew (autonomously) through a couple of 15 satellites - 0 satellites - 15 satellites dropouts (over 1 possibly 2 seconds) without much excitement, maybe a 2-3m position jump --- I need to review the logs to see exactly what happened.
Bottom line: I'm content to fly this pos estimator for navigation modes. It goes on the 'precious tricopter' on Friday; I cannot place more trust in the code.