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

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

本章的理论内容我已经将其总结在了以及当中。

本文主要针对其中的代码进行讲解。


这章的代码纯粹靠自己学习,对于初学者来说是很难的。

我个人有些感觉:之前的练习,都是一些小demo,相当于实验内容。而这章,给读者展现了一些工程上的东西。类似于,这章已经算一个小型的slam后端系统了。对于普通学生来说,C++的那一套东西,只是懂得理论,主要平时做实验,写代码还是属于面向过程的。从这节的代码中,我们可以充分的学习和体会到面向对象的优势与精髓,了解到工程上的一些设计思想。可能是因为有的一些架构属于C++的内容,而不是后端的理论内容,因此高博没有展开讲解,给初学者造成了困扰。其实他应该放一些笔记和注释在上面,不然谁都不可能无师自通不是吗。

我把我查资料、参考别的博主的和自己总结的本章带有注释的代码上传到了github主页中:。


本章的g2o内容本身相比之前几章,没有什么特殊的难点。g2o的部分内容我之前总结过一节:。而本节的难点主要在于对整体项目的架构上。例如,common文件夹下的BALProblem跟优化数据txt对接,负责txt的读取、写入,同时还有生成PLY点云文件的功能;BundleParams类负责优化需要的参数值,默认值设定和用户命令行输入等功能。整体这样归类之后,所有优化数据就去BALProblem类对象中询问,参数就去BundleParams类对象询问。关于这些内容,高博并没有给出介绍,在其github主页中,也没有相关的注释文件。因此贸然去学习,感觉是非常困难的。好在有一些大佬已经做了一些探索,参考他们的笔记,可以大大减少我们的学习时间,加快学习效率。

详情参见:

我对注释中,很多都参考了这位大佬的笔记,感谢有这些人的付出。


而本章的ceres内容,相比ch6中,增多了很多内容。除了上面的那位大佬,还有其他别的博主做过一些补充。

详情参见:

偷偷吐槽一下:高博在书中写出,相比g2o这样公开文档太少的库,更推荐读者使用Ceres这样的库来做SLAM。然而书中在ch7,8,9都是用的g2o,Ceres相关的内容太少了,还没有注释。可能高博把这个内容放在了课后,希望我们能通过自学来掌握吧。

 

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

上一篇:SLAM14讲学习笔记(十四)ch13 建图(代码详述带注释)
下一篇:SLAM14讲学习笔记(十二)ch9设计前端(代码详述)

发表评论

最新留言

不错!
[***.144.177.141]2024年04月23日 00时33分51秒