Abstract
In this paper, we propose a novel robocentric formulation of the visual–inertial navigation system (VINS) within a sliding-window filtering framework and design an efficient, lightweight, robocentric visual–inertial odometry (R-VIO) algorithm for consistent motion tracking even in challenging environments using only a monocular camera and a six-axis inertial measurement unit (IMU). The key idea is to deliberately reformulate the VINS with respect to a moving local frame, rather than a fixed global frame of reference as in the standard world-centric VINS, in order to obtain relative motion estimates of higher accuracy for updating global pose. As an immediate advantage of this robocentric formulation, the proposed R-VIO can start from an arbitrary pose, without the need to align the initial orientation with the global gravitational direction. More importantly, we analytically show that the linearized robocentric VINS does not undergo the observability mismatch issue as in the standard world-centric counterparts that has been identified in the literature as the main cause of estimation inconsistency. Furthermore, we investigate in depth the special motions that degrade the performance in the world-centric formulation and show that such degenerate cases can be easily compensated for by the proposed robocentric formulation, without resorting to additional sensors as in the world-centric formulation, thus leading to better robustness. The proposed R-VIO algorithm has been extensively validated through both Monte Carlo simulation and real-world experiments with different sensing platforms navigating in different environments, and shown to achieve better (or competitive at least) performance than the state-of-the-art VINS, in terms of consistency, accuracy, and efficiency.
Keywords
1. Introduction
Enabling high-precision, energy-efficient, and robust motion tracking in 3D space on mobile platforms (e.g., robots) with minimal sensing holds potentially huge implications in many real applications ranging from mobile augmented reality to autonomous driving. To this end, inertial navigation offers a classical 3D localization solution which utilizes an inertial measurement unit (IMU) measuring the three-degree-of-freedom (DOF) angular velocity and 3-DOF linear acceleration of the sensing platform upon which it is rigidly attached. Typically, IMU works at high frequency (e.g., 100–1,000 Hz) which makes it suitable to sense highly dynamic motion, while due to the existence of sensor noise and bias purely integrating IMU measurements may easily result in unusable motion estimates. This necessitates the use of aiding information from at least a single camera to reduce the accumulated inertial navigation drifts, which results in the well-known visual–inertial navigation system (VINS).
Over the past decade, significant progress has been witnessed in the research domain of VINS, including the visual–inertial simultaneous localization and mapping (VI-SLAM) and the visual–inertial odometry (VIO), accordingly many different algorithms have been proposed to date (e.g., Mourikis and Roumeliotis, 2007; Jones and Soatto, 2011; Kelly and Sukhatme, 2011; Li and Mourikis, 2013a; Leutenegger et al., 2015; Usenko et al., 2016; Mur-Artal and Tardós, 2017; Qin et al., 2018, and references therein). However, almost all these algorithms are developed based on the standard world-centric VINS formulation; that is, to directly estimate absolute motion of the sensing platform with respect to a fixed, global frame of reference, such as the most widely used, Earth-centered Earth-fixed (ECEF) or north–east–down (NED) frame. In order to achieve accurate 3D localization such world-centric VINS algorithms usually require a particular initialization procedure to estimate the sensor’s starting pose in the fixed global frame of reference before the navigation, which, however, is hard to guarantee the accuracy in some cases (e.g., quick start, poor vision, or high latency of sensors). In addition, even the extended Kalman filter (EKF)-based VINS algorithms have the advantage of lower computational cost (e.g., Mourikis and Roumeliotis, 2007; Mourikis et al., 2009; Li and Mourikis, 2013a) in comparison with the batch optimization-based approaches whose relinearization incurs higher amount of computation (e.g., Leutenegger et al., 2015; Qin et al., 2018), they may become inconsistent, primarily due to the fact that the EKF linearized system has different observability properties from the corresponding original (nonlinear) system (Huang et al., 2009, 2010; Li and Mourikis, 2013a; Hesch et al., 2014b). To address this issue, the remedies include enforcing the correct observability constraints (Li and Mourikis, 2013a; Huang et al., 2014; Hesch et al., 2014b) or employing an invariant error representation (Zhang et al., 2017). However, one may ask: Do we have to formulate the VINS in a world-centric form? The answer is no. Intuitively, consider how humans navigate: we might not remember the starting pose after traveling a long distance, while knowing well the relative motion within a recent, short time interval. Bearing this in mind, we may relax this fixed global frame of the VINS, instead, choosing a moving local frame as the reference to better estimate the relative motion which can be used for global pose update.
Historically, the usage of sensor-centered formulation for mobile robot localization can be traced back to sonar/laser-based 2D SLAM in indoor environments (Tardós et al., 2002; Castellanos et al., 2007) where the global frame was included as one of the map points being observed from the robot. The outputs of odometry were fused with the sonar/laser-scanner observations via an EKF to estimate robot’s relative motion which was then used to update the global pose of robot and change the local frame of reference for map joining through a composition step, as moving forward. With a similar idea, Civera et al. (2009) used a camera-centered formulation to show the potential of fusing the visual information with the proprioceptive information, such as given the rotational and linear velocity measurements. By performing mapping with respect to the (local) robot frames, these robocentric EKF-based SLAM algorithms were shown to be able to improve estimation consistency. It should be noticed that a different robocentric formulation was recently introduced in an EKF-based VINS (Bloesch et al., 2015, 2017). In this system, by representing the state in the current IMU (or camera) frame, consisting of the IMU navigation states, a set of observed landmarks’ positions, as well as the camera-to-IMU spatial calibration parameters, the visual and inertial measurements were fused in a direct fashion by employing a photometric residual in the EKF update. In contrast to Castellanos et al. (2007) and Civera et al. (2009), this method stuck to estimating the (inverted) transformation between a fixed global frame and the current IMU frame via a standard iterated EKF, due to simply reversing the reference frame of the filter’s states referring to the world-centric formulation. As a result, it did not perform the composition step to shift the frame of reference, however, incurring higher computational cost as it performs iterative linearization on both landmarks (features) and IMU states at each time step when doing EKF update.
In this paper, we introduce a new robocentric formulation of the VINS with respect to a local IMU frame of reference, as illustrated in Figure 1. Specifically, in contrast to Castellanos et al. (2007), Civera et al. (2009), and Bloesch et al. (2015, 2017) which keep the features (or map points) in the state vector and would inevitably encounter the issue of ever-increasing computational cost as more features are observed and included, we devote to an efficient robocentric filtering-based framework, akin to the multi-state constraint Kalman filter (MSCKF) (Mourikis and Roumeliotis, 2007). In the proposed estimator, stochastic cloning (Roumeliotis and Burdick, 2002) is employed so that hundreds of features can be processed simultaneously, instead only a small number of relative poses, that are between consecutive robot locations from which the features are observed, are kept in the state vector, hence significantly reducing the computational cost. More importantly, as the proposed robocentric VIO does not suffer from the observability mismatch issue that exists in the world-centric counterparts, it possesses better consistency. In particular, the main contributions of this paper include the following:
We propose a novel robocentric EKF-VINS formulation by reformulating the VINS problem with respect to a local IMU frame, which treats the global frame as the only “feature” and includes the local gravity (i.e., with respect to the local frame of reference) into the state vector. The local frame of reference is shifted at every image time through a composition step, and the relative motion estimate between the consecutive local frames is used for updating the global pose estimate.
We develop an efficient and robust R-VIO algorithm within a sliding-window filtering framework, where a constant-size window of relative poses, instead of the observed features (or the global poses) by noting that the relative pose is of zero kinematics which avoids the linearization errors introduced by the change of frame of reference, is included in the filter’s state vector and jointly estimated by tightly fusing the camera and IMU measurements in a local frame of reference. As such, a tailored inverse depth-based measurement model is proposed to fully utilize this state configuration, such that a dense connection is established between feature measurements and the state of the R-VIO considering the geometric relation between feature and the poses from which it has been observed. It should be pointed out that even in the degenerate cases (e.g., motionless) this model is still able to fuse the bearing information from the features, which is particularly useful in real applications.
We study in-depth the observability properties of the proposed R-VIO’s system model, which analytically shows that it has an invariant unobservable subspace, that is independent of the R-VIO linearization points, under generic motions. Thus, the resulting linearized robocentric system does not undergo the observability mismatch which has been identified as the main cause of inconsistency (Huang et al., 2010; Li and Mourikis, 2013a; Hesch et al., 2014b). More importantly, from the analysis, the proposed R-VIO is shown to have not only correct unobservable dimension but also constant unobservable directions, thus significantly improving the consistency of estimation. Furthermore, we investigate the unobservable directions under degenerate motions and show that the potential performance degradations existing in the world-centric formulation can easily be compensated for by the proposed R-VIO without using the information from any additional sensor.
We perform extensive tests through both Monte Carlo simulation and real-world experiments running sensor data collected with different mobile platforms from the micro aerial vehicles (MAVs) flying indoor to ground vehicle driving in dynamic traffic environment. To further benefit our community, we open source our code at http://github.com/rpng/R-VIO.

World-centric versus robocentric formulation. The fixed global frame,
The reminder of the paper is organized as follows: after a brief overview of related work in the next section, we present the proposed R-VIO algorithm in detail in Section 3, which is followed by a detailed observability analysis in Section 4. In Sections 5 and 6, we demonstrate the superior performance of the proposed algorithm through both simulations and real experiments. Finally, Section 7 concludes the work in this paper, as well as suggesting possible future research directions.
2. Related work
As mentioned earlier, the VINS algorithms generally include VI-SLAM (e.g., Lupton and Sukkarieh, 2012; Leutenegger et al., 2015; Qin et al., 2018) and VIO (e.g., Mourikis and Roumeliotis, 2007; Li and Mourikis, 2013a; Forster et al., 2015). The former jointly estimates the feature positions and camera/IMU pose that together form the system state vector, whereas the latter does not include the features in the state vector but utilizes the visual measurements to impose motion constraints for the camera/IMU pose estimation. In general, by performing mapping the VI-SLAM is able to achieve better accuracy from the feature map and/or possible loop closures while incurring higher computational cost compared with the VIO, although different approaches were proposed to address this issue (e.g., Leutenegger et al., 2015; Usenko et al., 2016; Mur-Artal and Tardós, 2017; Qin et al., 2018). While there were also efforts to integrate VIO and SLAM (e.g., Mourikis et al., 2009; Li and Mourikis, 2013b), in this paper we focus on the design of lightweight VIO that can either serve as a stand-alone motion estimator, or as an essential building block for large-scale navigation systems.
There are different schemes available for the VINS to fuse the visual and inertial measurements, which can be broadly categorized into the loosely-coupled and the tightly-coupled. The former processes the visual and inertial measurements separately to infer their own motion constraints which are to be fused later (e.g., Kneip et al., 2011; Weiss and Siegwart, 2011; Indelman et al., 2013). While this kind of method is computationally efficient, the decoupling of the visual and inertial constraints results in information loss. By contrast, the tightly-coupled approaches directly fuse the visual and inertial measurements within a single process and achieve higher accuracy (e.g., Mourikis and Roumeliotis, 2007; Li and Mourikis, 2013a; Forster et al., 2015; Leutenegger et al., 2015; Qin et al., 2018). As the embedded digital computing and sensing technology advance, the tightly-coupled VINS may even be able to run in real time on resource-constrained platforms, such as drones and smart phones, and the tightly-coupled method proposed in this paper is also shown to have such capability.
In particular, there exist two main approaches for tightly-coupled VINS estimation, the batch optimization-based and the EKF-based. Typically, bundle adjustment (BA) (Triggs et al., 1999) is employed by the former to estimate the states involved in the constrains of all the available measurements by solving a nonlinear least-squares problem (e.g., Forster et al., 2015; Leutenegger et al., 2015; Qin et al., 2018). As the iterative linearization of nonlinear measurement models is carried out at each time step, such methods would incur higher computational cost as compared with the EKF-based counterparts (e.g., Mourikis and Roumeliotis, 2007; Li and Mourikis, 2013a). However, as mentioned previously, the standard world-centric EKF-based VINS would suffer from estimation inconsistency which is mainly due to the issue of observability mismatch with the EKF linearization (Huang et al., 2010; Hesch et al., 2014b); while based on world-centric formulation, the observability-constrained (OC)-VINS has been proposed to address this issue (Li and Mourikis, 2013a; Huang et al., 2014; Hesch et al., 2014b). In addition, for the EKF-based method Bloesch et al. (2015, 2017) recently proposed a VINS using a robocentric representation of the filter state including also the features, which followed the traditional EKF-SLAM approach to estimate absolute sensor motion while the evolution of the features in local frame introduced extra linearization errors. By contrast, we, inspired by the robocentric mapping that improved the EKF consistency in 2D SLAM (Castellanos et al., 2007), propose a new robocentric formulation within a sliding-window filtering-based VIO framework and based on that develop the R-VIO algorithm which, in what follows, is shown to have correct observability properties, and therefore improve estimation consistency and accuracy.
3. Estimator design
Consider a mobile platform equipped with an IMU and a single camera navigating in a 3D environment. In contrast to the standard world-centric VINS using a fixed global frame of reference
3.1. State vector
The state vector of the proposed robocentric VINS consists of two parts: (i) the global state that maintains the motion information of the starting frame
where
In particular, the error quaternion is defined by
where ⊗ denotes the quaternion multiplication,
At time-step k when the corresponding IMU frame,
where
3.2. Propagation
We first present the motion model for the robocentric state
where
Typically, IMU provides the gyroscope and accelerometer measurements,
where
Evaluating (6) at the current state estimate,
where for brevity we have defined
where
For implementing the robocentric EKF, the discrete-time propagation model is needed. First, the IMU state estimate,
(i)
(ii)
where
(iii) bias estimates are assumed constant over
Then, for covariance propagation, the discrete-time error-state transition matrix
where
noting that
For the augmented state,
Thus, the augmented covariance matrix at time
where
with initial condition
3.3. Update
3.3.1. Inverse-depth measurement model
We adopt the inverse depth parameterization (Civera et al., 2008) for the landmarks observed by a monocular camera, while being tailored for the proposed R-VIO. Assuming that a single landmark,
where
Considering the relative poses between the camera frames in
in terms of the following inverse depth parameters:
where
where we have used the following identities constructed with the sliding-window state,
Interestingly, if the landmark is in the distance (i.e.,
Note that, this equation reserves the perspective geometry of (22) while encompassing two degenerate cases: (i) observing the landmarks at infinity (i.e.,
Therefore, we introduce the following inverse depth-based measurement model for the proposed R-VIO:
Denoting
where the measurement Jacobians are given by
Specifically,
Assuming the measurements obtained from different camera poses are independent, the covariance matrix of
In general,
At this point, let us examine the special cases where
In addition, the Mahalanobis distance is checked for each landmark using all its measurements before the EKF update, serving as the probabilistic outlier rejection:
where
3.3.2. EKF update
Assuming that at time-step
of which the dimension
where
for which we can discard the lower
where
3.3.3. State augmentation
To utilize the most accurate, relative motion information for estimation, we employ stochastic state cloning (Roumeliotis and Burdick, 2002). In particular, the state augmentation is carried out once an EKF update is done, for which a copy of the current relative pose estimate,
3.4. Composition
Note that in the proposed robocentric formulation every time when the update is finished, we shift the frame of reference of the VINS. At this point, the current IMU frame
where
where
The corresponding covariance of the relative pose in the IMU state is also reset to zero; that is, no uncertainty for the robocentric frame of reference itself.
3.5. Initialization
It is important to point out that with the proposed robocentric formulation, the filter initialization becomes simple, because the states are uniformly relative to a local frame of reference and typically start from zero, without the need to align the initial pose with a fixed global frame. In particular, in our implementation: (i) the initial global pose and IMU relative pose are both set to
4. Observability analysis
Observability of the system reveals whether the information provided by the sensor measurements is sufficient to estimate the states without ambiguities. In this section, we examine the observability properties of the proposed R-VIO’s system model with the case of a single landmark being observed by a mobile sensing platform which performs arbitrary motion, while the conclusion of analysis can easily be generalized to the case of multiple landmarks. Note that a direct analysis of the observability properties of R-VIO could be cumbersome mainly due to the feature marginalization (see (33)) and state cloning, thus we perform observability analysis by using an EKF-SLAM model having the same observability properties as an EKF-VIO model provided the same linearization points used, which has been shown to be a common practice (see Guo and Roumeliotis, 2013; Li and Mourikis, 2013a; Hesch et al., 2014a,b) in the VINS literature.
To this end, the state vector at time-step k including the position of a single landmark L:
and the measurement model (21) (or its inverse-depth form (29)) are employed in what follows. The observability matrix is computed as (Chen et al., 1990)
where
4.0.1. Error-state transition matrix
To ensure theoretical analysis, the analytic, closed-form error-state transition matrix is computed as follows:
where, instead of (20),
with initial condition
where
4.0.2. Measurement Jacobian
At time
Based on (21), the bearing-only measurement is given by
We assume that the IMU and camera frames coincide for brevity of presentation, and the corresponding measurement Jacobian is thus in the form of
4.1. Observability of propagation and update
Based on the above Jacobians, we obtain the
where
Note that for generic motion (i.e.,
from which we can find that
which may be interpreted as follows:
4.2. Observability with composition
After update at time-step
where
For brevity of analysis, only the pertinent entries of
Note that the measurement model of (61) becomes linear:
and the measurement Jacobian with respect to
Therefore, after composition we have the block row,
Note that for generic motion (i.e.,
Up to now, we have completely shown that the proposed robocentric VINS model has an invariant unobservable subspace that is independent of the linearization points under generic motions, which guarantees that the proposed R-VIO has not only correct unobservable dimension as in Huang et al. (2010), Li and Mourikis (2013a), Hesch et al. (2014a,b), and Huang et al. (2014), but also constant unobservable directions, thus being expected to improve estimation consistency.
4.3. Observability under special motions
Depending on the motion undertaken, the system observability properties might change in some degenerate cases. Identifying and understanding such special motions is essential for improving the VINS performance, especially in practice. For example, one of the most commonly seen cases is the planar motion (the translation is only excited in the x–y plane, and the rotation is only about the z-axis) and the recent analysis on the world-centric VINS (Wu et al., 2017) has pointed out that in this type of motion two more unobservable directions emerge: (i) the global orientation and (ii) the scale. It should be noted that for the proposed robocentric system model the global orientation has already been shown to be unobservable (see (69)). Therefore, in what follows, we study in-depth the observability under special motions by focusing on the scale (un)observability which may directly affect the performance.
4.3.1. Effect of scaling on VINS states
We are first to understand the implications of an underlying scale factor applied to the state vector of the proposed robocentric system, which is to form the basis for identifying the degenerate motions causing the special unobservable directions.
Proof. See Appendix C. □
4.3.2. Special motions for scale unobservability
It becomes clear from (81) that if the proposed robocentric VINS estimation is metrically scaled by a factor of s, then the error state (and, hence, the state) would be changed along the direction of
(ii) constant local acceleration, with
Proof. See Appendix D. □
As a final remark, it is clear from the above lemma that the scale unobservable direction does exist when: (i) (82) holds true (e.g., may occur during the deceleration motion), or (ii) the sensing platform stays in the same place. However, these two cases can easily be mitigated in the estimation. Specifically, in the case of (i), as it holds when
5. Simulation results
In this section, we present the Monte Carlo simulation results that verify the analysis provided in the preceding sections, and demonstrate the performance of the proposed R-VIO in comparison with two world-centric EKF-based counterparts: (i) the standard (Std)-MSCKF (Mourikis and Roumeliotis, 2007), as well as the state-of-the-art (ii) state-transition and observability constrained (STOC)-MSCKF (Huang et al., 2014) that enforces correct system observablility to improve estimation consistency. In particular, two metrics are used for the evaluation: (a) the root-mean-squared error (RMSE), which offers a concise measure of the filter’s accuracy, and (b) the normalized estimation error squared (NEES), which provides a standard criterion for evaluating the given filter’s consistency (Bar-Shalom et al., 2001). In order to make a fair comparison, we implemented all three filters using the same parameters, such as the number of features used per update, and processing the same data of 50 Monte Carlo trails which were generated with real microelectromechanical system (MEMS) sensors’ quality (see Table 1 and Figure 2 for details).
Sensor parameters in simulation.

Simulation scenario: a camera/IMU pair moves along a circular path of radius 5 m (black) at an average speed 1.0 m/s. The camera with
The statistical results over 50 Monte Carlo trails are shown in Figure 3, while Table 2 provides the average RMSE and NEES results for all the filters, which clearly show that the proposed R-VIO as expected outperforms the Std-MSCKF, as well as the STOC-MSCKF in terms of accuracy (smaller RMSE) and consistency (NEES closer to three), attributed to the novel reformulation of the system.

Simulation results: the statistics of NEES and RMSE of orientation and position over 50 Monte Carlo trials.
Average RMSE and NEES corresponding to Figure 3.
6. Experimental results
We further experimentally validate the proposed R-VIO, in both indoor and outdoor environments, using both the public benchmark dataset on MAVs and the real urban driving data collected by our own sensing platform on a car. As described in Algorithm 1, we implemented that in C++ multithread framework. 3 In the front end, the visual tracking handler extracts features from the image using the Shi-Tomasi corner detector (Shi and Tomasi, 1994), that are being tracked between consecutive images with the KLT algorithm (Baker and Matthews, 2004). In particular, to deal with the varying lighting conditions in practice, a combined operation of the adaptive thresholding and box blurring was applied for every image before doing the KLT tracking. This effectively mitigates the sharp change of illumination while outlining the environmental structures even in the dark area (see Figure 4), which is experimentally helpful for the feature detection. In addition, to remove the bad tracks from the tracking results, we realized the gyro-aided, two-point random sample consensus (RANSAC) algorithm (Troiani et al., 2014). In the end, the tracking history of all the inliers are stored by a first-in, first-out (FIFO) data structure, in order to be efficiently queried during the estimation.

Visual tracking: the post-processing results (left) and the respective raw images (right). Inliers (blue dots) are tracked between pairwise images with outliers (red dots) being rejected by the RANSAC. In particular, the tracking results have been visualized by the inliers’ tracks (blue lines). Note that, this front end is able to process: (i) dusky, (ii) blurred, as well as (iii) overexposed image streams of real-world environments.
Once the visual tracking is done, the back end processes all the visual and inertial measurements using the proposed robocentric EKF. In particular, for the features losing track in the current image, we use all their measurements within the current sliding window for update, while for those reaching the maximum tracking length (e.g., the sliding-window size) we use a subset (e.g., 1/2) of their respective measurements and keep the rest for next update. All the following tests run on an Intel Core i7-4710MQ @ 2.5 GHz laptop in real time.
6.1. EuRoC MAV dataset
We tested the proposed R-VIO first using all 11 sequences in the EuRoC MAV dataset (Burri et al., 2016) for which a FireFly helicopter equipped with VI-sensor (an ADIS16448 IMU @ 200 Hz, and dual cameras
Pose estimation accuracy (RMSE) and computation time (per image) on the EuRoC dataset.

Trajectory estimates on EuRoC dataset: R-VIO (blue), OKVIS (yellow), and VINS-Mono (red) with the ground truth (black).

Relative pose errors corresponding to the trajectories shown in Figure 5(a)–(i). Each row presents the relative translation error (left), the percentage of the relative translation error (middle), and the relative yaw error (right) of R-VIO (blue), OKVIS (yellow), and VINS-Mono (red) with respect to different segments of trajectory of each sequence, respectively.
6.2. Vicon Loops dataset
We further tested the proposed R-VIO on a long-term indoor dataset presented in Leutenegger et al. (2015). This dataset was collected using a handheld VI-sensor, moving mostly in circles at the speed around 2 m/s, which lasted almost 14 minutes and traveled about 1,200 meters in total. Similarly, the images from left camera were used for vision inputs and 200 features were uniformly extracted per image, while this time a shorter sliding window of size 10 was used in order to handle the mostly short tracking lengths of features caused by constantly, highly dynamic motion for stimulating MAV flying. Again, we compared the performance of the proposed R-VIO with both OKVIS and VINS-Mono while using the metric introduced by Leutenegger et al. (2015); that is, to evaluate the absolute pose errors (between ground truth and the estimates) based on different distances traveled. To this end, for each travel interval the orientation and translation errors are calculated with respect to the starting ground-truth pose of each interval. Comprehensively, Figure 7 shows the estimated trajectories and the error statistics based on a set of distances,

Vicon Loops dataset evaluation: R-VIO (blue), OKVIS (yellow) and VINS-Mono (red). In particular, (a) and (b) illustrate the system performance in x-y plane and z-axis; (c) and (d) are the error statistics in terms of median, 5th and 95th percentiles.
6.3. Urban driving test
We have also performed a road test for R-VIO with our own sensing platform (an Xsens Mti-G-710 GNSS, and a FLIR Bumblebee2 stereo pair
As we discussed earlier, both (i) and (ii) are the degenerate scenes that may cause the scale to be unobservable for the proposed VIO model. The usage of inverse depth-based measurement model partially solved the scale drift during the static phase, while for the deceleration phase we tested three update rates: high (15 Hz), low (7.5 Hz), and adaptive (switching between the high and low). For actual implementation, we employed a heuristic switching logic for the adaptive mode which is to be optimized in our future work; that is, the R-VIO changes the frequency of update from 15 to 7.5 Hz after detecting the speed descending (
Estimation accuracy (RMSE) in the urban driving test.

Trajectory estimates plotted over the map of Newark, DE. The initial position of the vehicle is marked by a green triangle. The black solid line corresponds to the trajectory of ground truth, in addition to the red dashed line to the high update rate (H), the yellow dash-dotted line to the low update rate (L), and the blue solid line to the adaptive update rate (A), with the ends of trajectories being marked by the squares in their respective colors.

Snapshots during the urban driving test. From left to right and top to bottom: (i) at the start, (ii) at a turning with yield sign, (iii) at a pedestrian traffic light, (iv) at a regular traffic light, (v) at a free intersection with stop sign, and (vi) in the campus area.

Statistics of the scale of estimate versus vehicle speed for the three update rates.
Note also that, as the local gravity is jointly estimated, the z-axis drifts are much smaller than the x–y position errors. In the test a sliding window of size 20 was used and the average processing time of pipeline was 48.7 ms per image including 40.8 ms spent on the visual tracking and RANSAC outlier rejection and the other 7.9 ms on robocentric EKF (see Figure 11). In this challenging driving scenario, without utilizing any kind of map, the proposed R-VIO achieves the average position RMSEs of 0.77% (high update rate), 0.40% (low update rate), and 0.32% (adaptive update rate) of the total 9.8 km driving distance.

Time consumption per image (at high update rate): the average processing rate of R-VIO is 20.5 Hz as compared with the image rate of 15 Hz, which satisfies real-time requirement.
7. Conclusion and future work
In this paper, we have reformulated the VINS with respect to a moving local frame and developed a lightweight, high-precision, robocentric visual–inertial odometry algorithm, termed R-VIO. With this novel reformulation, we have analytically shown that the proposed R-VIO does not suffer from the observability mismatch issue under generic motions that is encountered by the world-centric counterparts, while even in the degenerate motion cases the observability issue can be easily compensated for without using additional sensor information, thus providing better consistency, accuracy, and robustness. Extensive Monte Carlo simulation as well as real-world experiments using different sensing platforms and navigating in different environments are performed to thoroughly validate our theoretical analysis and show that the proposed R-VIO is versatile and robust to different types of motions and environments, and is capable of providing long-term, high-precision 3D motion tracking in real time. In the future, we will integrate efficient loop closure and online mapping into the current robocentric system in order to bound localization errors, as well as performing online calibration of intrinsic and extrinsic sensor parameters to further improve performance.
Footnotes
Appendix A. Index to multimedia extensions
Archives of IJRR multimedia extensions published prior to 2014 can be found at http://www.ijrr.org, after 2014 all videos are available on the IJRR YouTube channel at http://www.youtube.com/user/ijrrmultimedia
The demo of the urban driving test (R-VIO is in the adaptive mode).
Appendix B: BA using inverse-depth parameterized landmark
Assuming a single landmark, L, which has been observed from a set of consecutive robocentric frames in the sliding window, the set of corresponding camera frames is denoted by
where
where
For the initial value of
However, the initial value of
where
Every iteration we have an optimal inverse-depth correction,
Once
Appendix C: Proof of Lemma 1
Consider the case that the VINS estimation process is up to a scale factor of s (i.e., to recover the actual state,
where
With those equations, the IMU velocity and acceleration can be obtained by taking the time derivative of (90), as
In particular,
Then, the gravity effects to the IMU frame can be derived as
If such scale is unobservable, then the measurements from the camera and IMU should remain the same. First, for the camera measurement of L (see (61)), we have
where the camera measurement does not change because the scale has no effect on such perspective projection. Then, for the IMU measurements we first examine the angular velocity measured by the gyroscope (see (7)), as
Similarly, for the linear acceleration measurements from the accelerometer (see (8)), we have
Note that
Appendix D: Proof of Lemma 2
Based on the observability matrix (see (45)), the
The scale direction,
where
because
where
To this end, we examine two special cases: (i) if no rotation (i.e.,
and (ii) if constant local acceleration (i.e.,
To ensure that (99) holds, both (100) and (101) should be equal to
Acknowledgements
The authors would like to thank Professor Stefan Leutenegger from Imperial College London and Simon Lynen from ASL/ETH Zurich (at that time) for sharing the Vicon Loops dataset and OKVIS data presented in
, and give special thanks to our colleague Patrick Geneva from RPNG/UD for his invaluable help in the urban driving test.
Funding
This research was partially supported by the University of Delaware (UD) College of Engineering, UD Cybersecurity Initiative, the Delaware NASA/EPSCoR Seed Grant, the NSF (grant number IIS-1566129), the DTRA (grant number HDTRA1-16-1-0039), and Google Daydream.
