项目简介
本项目是基于C++和OpenCV的视觉惯性里程计(VIO)系统,主要通过处理IMU(惯性测量单元)数据和图像数据来估计机器人的位姿和速度。它基于VINS - Mono的开源实现,为开发者提供了手动实现VIO系统的练习和研究平台。
项目的主要特性和功能
- IMU数据处理:采用多线程处理IMU数据,实现加速度计和陀螺仪数据的读取与发布。
- 图像数据处理:处理图像数据,借助特征点跟踪和光流法预测特征点在下一帧的位置。
- 视觉惯性里程计:融合IMU和图像数据,利用图优化方法估计机器人的位姿和速度。
- 特征管理:对图像特征点进行管理,涵盖特征点的添加、删除、更新等操作。
- 后端优化:通过构建和优化Hessian矩阵求解优化问题,包含边缘化、损失函数计算等。
- 轨迹可视化:使用Pangolin库绘制相机的轨迹及其他信息,方便调试和结果可视化。
安装使用步骤
假设用户已经下载了本项目的源码文件。
1. 编译项目
bash
mkdir build && cd build
cmake ..
make
2. 运行项目
bash
cd whitewizard_vio/build
./test_euroc euroc数据集路径 ../config/
示例:
bash
./test_euroc /home/whitewizard/4_dataset/MH_05_difficult/mav0/ ../config/
3. 运行效果展示
运行效果展示视频链接:点击查看
4. 注意事项
由于代码未做优化,可能会出现崩溃情况,建议多次启动以确保成功运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】