视觉SLAM十四讲学习笔记——第十三讲 实践:设计SLAM系统

本文详细阐述了运行Kitti SLAM示例代码的过程,涉及数据集设置、依赖库安装、关键头文件解读、算法框架、三角化方法(SVD)、双目相机利用、LK光流和图优化的异常处理。重点讲解了前端与后端的SLAM算法实现及其控制规模策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   1.如何运行示例代码

        首先是如何运行示例代码,这里遇到了很多问题:

(1)首先要下载Kitti数据集,并在config/default.yaml文件内修改路径。

(2)安装Glog、GTest、GFlags库,这部分比较简单,可能遇到的问题可以参考以下几个教程:

                        Ubuntu 16.04 系统 gflags & glog 安装_calvinpaean的博客-CSDN博客

                        安装glog 执行bash./ autogen时报错“没有这个文件”_蓝雨飞扬7的博客-CSDN博客

(3)Opencv版本,我最初用的是Opencv4,遇到了一些奇怪的bug,后来安装的Opencv3.4.5就解决了一部分奇怪的bug。

(4)修改app/run_kitti_stereo.cpp源码,主函数第一行为:

gflags::ParseCommandLineFlags(&argc, &argv, true);

(5)即使解决了所有问题,我还是不能用Clion直接运行程序,只能运行bin文件下的二进制程序。即在bin文件路径下直接命令行./run_kitti_stereo.cpp,虽然没解决Clion的问题,但至少能成功运行了。

2.主要头文件

        能够成功运行代码后再来关注是怎么实现的,对于工程框架即各个文件夹内容的作用在P347已经详细介绍了,这里主要看一下include/myslam文件下的一系列头文件:

(1)algorithm.h:三角化函数,与前文讲过的方法不同,使用了SVD算法,后续再介绍。

(2)backend.h:后端,使用滑动窗口法对固定数量帧优化。

(3)camera.h:相机类,主要包括相机内外参数及世界、相机和像素三个坐标系下的坐标变换。

(4)common_include.h:常用矩阵类型的定

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值