Modified version of okvis-1.1.3, include okvis ros wrapper and the core code
okvis ros wrapper and the core code is the modified version of okvis-1.1.3
OKVIS(Open Keyframe-based Visual-Inertial SLAM) tracks the motion of an assembly of an Inertial Measurement Unit (IMU) plus N cameras (tested: mono, stereo and four-camera setup) and reconstructs the scene sparsely. This is the Authors implementation of the [1] and [3] with more results in [2]. There is currently no loop-closure detection / optimisation included, but we are working on it.
Code
Doc
Papers
cd okvis
mkdir build & cd build
cmake .. & make -j4
mkdir -p ws_okvis/src
cd ws_okvis/src
git clone xxx
cd ..
catkin_make -j3
./okvis_app_synchronous \
path/to/okvis/config/config_fpga_p2_euroc.yaml \
path/to/MH_01_easy/mav0/
or
cd okvis & bash run_with_mav0.sh
MH_01_easy Dataset:
rosrun okvis_ros okvis_node_synchronous \
path/to/okvis_ros/okvis/config/config_fpga_p2_euroc.yaml \
path/to/MH_01_easy.bag
or
roslaunch okvis_ros okvis_node_synchronous.launch rviz:=true [mono:=true] bag:=<bag-file-path>
MYNTEYE-S1030 (Stereo + IMU)
roslaunch okvis_ros okvis_node_mynteye.launch rviz:=true
In terms of coordinate frames and notation,
The output of the okvis library is the pose T_WS as a position r_WS and quaternion q_WS, followed by the velocity in World frame v_W and gyro biases (b_g) as well as accelerometer biases (b_a).
If you would like to run the software/library on your own hardware setup, be aware that good results (or results at all) may only be obtained with appropriate calibration of the