Visual-inertial odometry (VIO) is an algorithm that provides a robot’s odometry by fusing both visual and inertial information. Visual information is provided by cameras, and inertial information is provided by an inertial measurement unit (IMU). Below video shows an example of my VIO algorithm running on an autel X-star drone in real-time:

My VIO algorithm running on an Autel X-star drone in real-time.

Typically, the existing methods employ either a filtering method based on the extended Kalman filter (EKF), or an optimization method. My research focuses on the fixed-lag optimization-based method (or fixed-lag smoothing) using factor graph1, which is the state-of-the-art method in solving a VIO problem.

A fixed-lag smoother estimate a fixed window of variables at a given time, so the optimization size is constant as shown in below graphs. Below are two graphs that illustrate a fixed-lag smoother is employed in estimating a robot trajectory. The left graph shows the blue active window of states being estimated, the right graph shows the correcponding factor graph.

In my thesis, I address two challenges in the fixed-lag smoothing framework — Efficiency and Nonlinearity. In particular, there are two major contributions:

  1. Employing information sparsification to address the efficiency issue.
  2. Employing group affine property to address the consistency problem

For more details, please check my Master Thesis and my 2018 IROS paper (Best Conference Paper Finalist).