单目视觉惯导 SLAM 方案基于优化和滑动窗口的 VIO ,使用 IMU 预积分构建紧耦合框架,同时还有自动初始化,在线外参标定,重定位,闭环检测,以及全局位姿图优化功能。
VINS-Fusion is an extension of , which supports multiple visual-inertial sensor types (mono camera + IMU, stereo cameras + IMU, even stereo cameras only). VINS-Fusion基于 vins-mono, 但能支持除了单目+imu, 还能支持双目+imu, 以及之后双目.
3. 在自己的设备测试. VIO is not only a software algorithm, it heavily relies on hardware quality. For beginners, we recommend you to run VIO with professional equipment, which contains global shutter cameras and hardware synchronization.VIO不仅是一个软件算法,它还严重依赖于硬件质量。对于初学者,我们建议您使用专业的设备运行VIO,其中包含全局快门相机和硬件同步。
3.2 校准设备. VINS-Fusion support several camera models (pinhole, mei, equidistant). You can use to calibrate your cameras. 目前支持一些针孔,等距相机, 目前提供了一些 校准的脚本例子, 来校准摄像头.
点击(此处)折叠或打开
cd ~/catkin_ws/src/VINS-Fusion/camera_models/camera_calib_example/
To further facilitate the building process, we add docker in our code. Docker environment is like a sandbox, thus makes our code environment-independent. To run with docker, first make sure ros and docker are installed on your machine. Then add your account to docker group by sudo usermod -aG docker $YOUR_USER_NAME. Relaunch the terminal or logout and re-login if you get Permission denied error,type:
cd ~/catkin_ws/src/VINS-Fusion/docker
make build
Note that the docker building process may take a while depends on your network and machine. After VINS-Fusion successfully built, you can run vins estimator with script run.sh. Script run.sh can take several flags and arguments. Flag -k means KITTI,-l represents loop fusion,and-g stands for global fusion. You can get the usage details by ./run.sh -h. Here are some examples with this script: