Rohan Gangakhedkar.
← All projects

Vision-based pose and velocity estimation of a micro-aerial vehicle

Robot Localization and Navigation (ROB-GY 6213) · Spring 2022

Rohan Gangakhedkar  ·  New York University

TL;DR

Recovering a drone’s pose by decomposing a planar homography over an April Tag grid, and its velocity from KLT feature tracks cleaned up with RANSAC.

Abstract

Given a planar distribution of April Tags and corresponding images captured from the drone, the planar homography matrix is formulated and decomposed into rotation and translation vectors, respecting the orthonormality constraints. To estimate the drone’s velocity as it moves between frames, feature points are extracted and tracked with a KLT tracker, giving the velocity of the features across frames. The velocity of the drone then follows from the motion model, with RANSAC applied for outlier rejection.

Pose from a planar homography

The April Tag grid gives a known planar structure. Matching observed tag corners against that structure yields a homography per frame, which is decomposed into a rotation and a translation — the camera pose — while enforcing orthonormality on the rotation.

Dataset 1 — estimated position and orientation (predicted against actual) across all six degrees of freedom.
Dataset 1 — estimated position and orientation (predicted against actual) across all six degrees of freedom.
Dataset 4 — the same six channels on a second sequence.
Dataset 4 — the same six channels on a second sequence.

Velocity from feature tracks

Feature points are extracted from each frame and followed with a KLT tracker. Their apparent motion between frames, combined with the motion model, gives an estimate of the drone’s linear and angular velocity.

Dataset 1 — velocity estimated directly from KLT feature tracks, before outlier rejection.
Dataset 1 — velocity estimated directly from KLT feature tracks, before outlier rejection.
Dataset 4 — the same, on the second sequence.
Dataset 4 — the same, on the second sequence.

RANSAC outlier rejection

Tracked features are not uniformly reliable — features on moving objects, or badly tracked ones, corrupt the estimate. RANSAC rejects those outliers before the velocity is computed, visibly tightening the result.

Dataset 1 after RANSAC — compare against the unfiltered estimate above.
Dataset 1 after RANSAC — compare against the unfiltered estimate above.
Dataset 4 after RANSAC.
Dataset 4 after RANSAC.