连载文章,长期更新,欢迎关注:
写在前面
第1章-ROS入门必备知识
第2章-C++编程范式
2.1 C++工程组织结构
2.2 C++代码编译方法
2.3 C++编程风格指南
第3章-OpenCV图像处理
第4章-机器人传感器
第5章-机器人主机
第6章-机器人底盘
第7章-SLAM中的数学基础
第8章-激光SLAM系统
第9章-视觉SLAM系统
第10章-其他SLAM系统
第11章-自主导航中的数学基础
第12章-典型自主导航系统
第13章-机器人SLAM导航综合实战
本书大部分代码都涉及C++编程,掌握C++编程的一些规范和技巧能大大提高学习效率。众所周知,C++程序在性能方面具有突出的优势,因此ROS通信和SLAM算法大部分都采用C++实现。由于篇幅限制,这里不讲C++的语法特性之类的知识细节,这些知识点在网上可以很方面地获取到。本章将讨论C++工程组织结构、C++代码编译方法和C++编程风格指南这3个方面的内容,以帮助大家提高编程的素养并建立编程的规范意识。
2.1 C++工程组织结构
2.1.1 C++工程的一般组织结构
2.1.2 C++工程在机器人中的组织结构
2.2 C++代码编译方法
2.2.1 使用g++编译代码
2.2.2 使用make编译代码
2.2.3 使用CMake编译代码
2.3 C++编程风格指南
2.3.1 头文件
2.3.2 作用域
2.3.3 类
2.3.4 命名约定
整本书所涉及的代码基本都采用C++编码,而且后面SLAM算法和导航都是C++的大型项目。对于初学者来说,不懂C++编译和编码方面的规范知识,很难一下子快速入手这些大型C++项目,这个也是我在接触了大量的读者和客户发现的问题。考虑到篇幅和重要性两方面的因素,所以特意把这一章的内容压缩到比较精简的程度,同时为了突出重要性将其放在第2章这样一个靠前的位置。不管大家之前有没有学过C++编程方面的基础知识(特别是大型C++项目的基础知识),花一点点时间快速通读本章内容将对后续章节的源码解读非常有帮助。
由于本书中视觉SLAM章节涉及到大量OpenCV图像处理方面的知识,并且图像处理和计算机视觉也是机器人中的重要应用技术,所以下一章将讨论OpenCV图像处理。这里面将会涉及到比较多的理论知识,希望大家能耐心阅读。
源码仓库
参考文献
【1】 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)