一起自学SLAM算法:第2章-C++编程范式

 连载文章,长期更新,欢迎关注:


写在前面

第1章-ROS入门必备知识

第2章-C++编程范式

        2.1 C++工程组织结构

        2.2 C++代码编译方法

        2.3 C++编程风格指南

第3章-OpenCV图像处理

...

更多精彩内容,持续更新中......


大家如有任何技术问题,欢迎加入QQ技术群(117698356),进群一起交流讨论

本书大部分代码都涉及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图像处理。这里面将会涉及到比较多的理论知识,希望大家能耐心阅读。

源码仓库

  • Github下载:github.com/xiihoo/Books_Robot_SLAM_Navigation

  • Gitee下载(国内访问速度快):gitee.com/xiihoo-robot/Books_Robot_SLAM_Navigation

参考文献

【1】 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.

你可能感兴趣的:(一起自学SLAM算法,自动驾驶,算法,人工智能,c++,计算机视觉)