  In recent years, Visual-Inertial Odometry (VIO) has achieved many significant
progresses. However, VIO methods suffer from localization drift over long
trajectories. In this paper, we propose a First-Estimates Jacobian
Visual-Inertial-Ranging Odometry (FEJ-VIRO) to reduce the localization drifts
of VIO by incorporating ultra-wideband (UWB) ranging measurements into the VIO
framework \textit{consistently}. Considering that the initial positions of UWB
anchors are usually unavailable, we propose a long-short window structure to
initialize the UWB anchors' positions as well as the covariance for state
augmentation. After initialization, the FEJ-VIRO estimates the UWB anchors'
positions simultaneously along with the robot poses. We further analyze the
observability of the visual-inertial-ranging estimators and proved that there
are \textit{four} unobservable directions in the ideal case, while one of them
vanishes in the actual case due to the gain of spurious information. Based on
these analyses, we leverage the FEJ technique to enforce the unobservable
directions, hence reducing inconsistency of the estimator. Finally, we validate
our analysis and evaluate the proposed FEJ-VIRO with both simulation and
real-world experiments.
