Added the concept of PipelineModule that standarizes the VIO parts and makes "plug-and-play" parallelization possible: now frontend, backend, mesher, visualization, loop-closure detection and pose-graph optimization (and perhaps more modules in the future) are all instances of a PipelineModule which provides a standard thread-safe copy-free interface for message passing, removes duplicated code, increases overall speed of the pipeline and makes it trivial to add new threads with other functionality.
The pipeline now has three callbacks for sensor updates: left/right image and IMU data. This makes the ROS wrapper extra thin, as it simply feeds these callbacks.
Better testing infrastructure to make it easier to log things and display stats: checkout here (and navigate through the tabs to see info: we also have frontend stats displayed.
Breaking changes:
We now ask users to system-wide install glog and gflags: