【学习SLAM】SLAM14讲学习笔记(十三)ch10 后端1(代码详述)

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

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

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

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

详情参见:robinhjwy的博客-14讲程序注释

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

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

详情参见:短者的博客-

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值