SLAM14讲学习笔记(十二)ch9设计前端(代码详述)
发布日期:2021-06-29 07:20:54 浏览次数:2 分类:技术文章

本文共 852 字,大约阅读时间需要 2 分钟。

本章的内容没有理论知识,完全是由实践部分组成的。

本章主要有两大难点。

第一,g2o的使用。对此,我总结了到了之前的一章中:

第二,程序的架构,各个部分的组装。确实如高博所述,这章内容让人体会到了怎么一步一步由砖头搭建起大厦的过程。搭建的过程中,文章内容缺乏注释,因此,我在学习过程中将自己的理解和注释写到了程序中,为了方便保存,上传到了github中。

github链接:

如果对其中内容有疑问,欢迎star并且留言,我很快就会回复。


此外,如果是跟着代码一步一步搭起来的,有几点需要注意一下:

除了书上已经介绍的修改内容,从0.1到0.2版本,有两处还需要额外修改:第一,在common.h中,需要加入SE3相关内容(原先只有SO3)。第二,需要修改Camera.h,使其包含config.h,并修改1.0版本中的构造函数,从config.h中获得相机内参。

从0.2版本更新到0.3版本,需要额外修改两处:1.在visual_odometry.h中更新头文件 2.修改src文件夹下的CmakeList文件,使其包含g2o_types.cpp。

从0.3版本更新到0.4版本,需要额外修改两处:1.修改config下的yaml文件。2.修改run_vo.cpp文件,加入多出来的一个头文件和对于原图的描点操作。


0.4版本有个未解决的问题,即:大概在第165张图的时候,vo.cpp中num_lost会增多,每次多1,之后到第175帧的时候超出设定的最小值,vo丢失。我个人推测是由于缺乏对地图的优化导致的。我已经在高博的github中提出了疑问。等待回答之后,我会将内容补充在这里。

有网友回复了我的issue:

“应该是isInFrame()这个函数的原因,我更改后可以跑完整个数据集”

我忙着找工作,现在是没时间试了,大家可以试一下,看看该怎么改。


在学习的过程中,我也参考了其他博主的内容,为了表示对他们的尊重和他们的原创性,我将他们的博客内容列在这里:

对本章内容有疑问的,欢迎评论交流!

转载地址:https://blog.csdn.net/zkk9527/article/details/89683140 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:SLAM14讲学习笔记(十三)ch10 后端1(代码详述)
下一篇:SLAM14讲学习笔记(十一)g2o图优化中的要点与难点(前端VO中雅克比矩阵的定义)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月15日 22时27分36秒