IMU-Free Body-Frame State Estimation with Sparse Scene Flow for Quadcopters
Abstract
We present a vision-only state estimation system for X-configuration quadcopters equipped with a canonical stereo camera pair and no inertial sensors. The system operates entirely in the body frame, requiring only synchronised stereo images and motor thrust commands. A continuous-discrete extended Kalman filter on a composite manifold state maintains estimates of body-frame pose, velocity, angular velocity, gravity, and disturbances, using stationary scene points as implicit inertial references. Feature points are detected (FAST, Shi-Tomasi), tracked temporally (SSD, Lucas-Kanade) and matched across cameras (NCC), with search regions predicted from filter-derived pose and point uncertainty. Chi-squared gating on the normalised innovation admits only stationary points to the filter. The system also produces a sparse 3D point cloud carrying per-point position, velocity and joint covariance. These come from a 4-view (two stereo pairs at two timestamps) full bundle adjustment that jointly estimates position and velocity from stereo disparity and temporal parallax, with the filter-derived relative pose as a prior. Feature points in the EKF do not enter the solver; their information is reflected through the pose prior. Point cloud density is spatially adaptive: an external focus point directs allocation, producing dense coverage in the region of attention and sparse coverage elsewhere. The output is a body-frame state estimate, a calibrated pose change, and a sparse scene flow. It is intended as a measurement source for a downstream world model anchored in the current body frame, without dependence on GPS, IMU, or any world-frame infrastructure, though the architecture accommodates their future integration.
Figures & tables
| Quantity | RMSE | Median | p95 |
|---|---|---|---|
| Translation [m] | 1.104 | 0.229 | 3.964 |
| Rotation [deg] | 7.55 | 2.58 | 28.25 |
| Velocity magnitude [m/s] | 0.502 | 0.034 | 0.457 |
| error [m/s] | 0.065 | 0.010 | 0.065 |
| error [m/s] | 0.273 | 0.019 | 0.101 |
| error [m/s] | 0.417 | 0.010 | 0.420 |
| Window [s] | Rot [deg] med | med | p95 | Trans med |
|---|---|---|---|---|
| 0–5 | 0.19 | 0.005 | 0.018 | 0.002 |
| 5–10 | 0.52 | 0.277 | 0.689 | 0.152 |
| 10–20 | 2.45 | 0.009 | 0.048 | 0.177 |
| 20–40 | 2.51 | 0.006 | 0.023 | 0.154 |
| 40–60 | 2.74 | 0.007 | 0.032 | 0.278 |
| 60–70 | 2.61 | 0.018 | 0.063 | 0.261 |
Robot State Estimation
Robot state estimation infers a robot’s position, motion, orientation, and internal configuration from noisy sensors and physical constraints.
See all 196 papers