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

2023-05-16

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


写在前面

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

源码仓库

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

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

参考文献

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 数据结构之链式队列的实现操作(C语言附详细代码与关键代码详解)

    目录 一 xff0c 关于链式队列程序编写的简要说明 二 xff0c linkqueue h头文件 三 xff0c 关键函数代码与详解 1 创建空的链式队列 2 入队 3 出队 4 销毁链式队列 四 xff0c linkqueue c文件详
  • 数据结构之二叉树(C语言附详细代码)

    目录 一 xff0c 树和二叉树 1 树 定义 关于树的一些概念 2 二叉树 定义 特殊的二叉树 二叉树的性质 二叉树的存储结构 顺序结构 只适用于完全二叉树 二叉树的遍历 二 xff0c 二叉树操作代码 1 头文件 2 函数代码 创建二叉
  • 共享内存(进程间的通信方式)

    目录 1 共享内存的特点 2 函数接口 3 有关共享内存的系统命令 1 共享内存的特点 xff08 1 xff09 共享内存是一种最高效的进程间的通信方式 xff0c 进程可以直接读写内存 xff0c 而进程之间不需要通过任何数据的拷贝 x
  • Linux-C语言编写-TCP服务端接收消息流程(含代码)简介(1)

    目录 服务端 第一步socket 第二步struct sockaddr in 第三步 可以与第二步合为一个步骤 bind 第四步listen 第五步accept 第六步recv 第七步close 详细代码 服务端 第一步socket 1 操
  • Linux-C语言编写-TCP客户端发送消息流程(含代码)简介(2)

    目录 第一步socket 第二步struct sockaddr in 第三步connect 第四步send 第五步close 详细代码 第一步socket 1 操作 xff1a 创建流式套接字 xff1b 2 所用函数 xff1a sock
  • 基于Linux下的Nand (Nor) Flash读写速度测试

    https blog csdn net qq 39721016 article details 117993088 基于Linux下的Nand xff08 Nor xff09 Flash读写速度测试 1 打开内核测试模块2 编译内核 xff
  • 关于结构体赋值的一个小知识点

    一 xff0c 如果结构体中定义了一个字符数组的成员变量 xff0c struct test int num char ch 32 TEST 当我们需要给字符数组赋值时 xff0c 我们可能会选择下列某种方式进行初始化 xff1a 1 可以
  • lighttpd服务器搭建教程

    目录 一 xff0c 下载安装 二 xff0c 配置服务器 1 创建目录以及移动文件位置 2 修改配置文件 三 xff0c 运行测试 四 xff0c 常见错误 环境 xff1a linux虚拟机 xff1b 一 xff0c 下载安装 1 下
  • 牛客中C++/C语言的一道练习题详解

    解题思路及涉及知识点 xff1a 先简单判断一下 xff0c 程序最终是要打印k的值 xff1b k的值由两次循环中的fun函数的返回值决定 xff1b fun函数中 xff0c 变量c是静态的 xff1b fun函数中第三行代码a 61
  • QT基本组件与常用类

    目录 一 设计师 Designer xff08 掌握 xff09 二 布局 Layout 2 1 布局的基本使用 xff08 掌握 xff09 2 2 布局属性 xff08 掌握 xff09 2 3 伸展器 xff08 掌握 xff09 2
  • QT多窗口编程与文件IO编程

    目录 一 消息对话框 QMessageBox xff08 掌握 xff09 二 常用窗口类 xff08 掌握 xff09 三 主窗口类 QMainWindow xff08 重点 xff09 四 parent参数 xff08 掌握 xff09
  • QT数据库-网络编程-打包

    目录 一 讲解之前 二 数据库基本操作 三 模糊查询 二 编程之前 三 通信结构 一 设置应用图标 xff08 熟悉 xff09 二 Debug和Release模式 xff08 掌握 xff09 三 动态链接库 xff08 掌握 xff09
  • Visual Studio 2022 的安装和创建C++项目

    下面我们来讲一下如何下载安装VS 2022并且创建C 43 43 项目 1 下载 首先 xff0c 我们来到VS的微软官网下载地址 xff1a https visualstudio microsoft com zh hans vs 然后点击
  • 一起自学SLAM算法:写在前面

    连载文章 xff0c 长期更新 xff0c 欢迎关注 xff1a 写在前面 第1章 ROS入门必备知识 1 1 ROS简介 1 2 ROS开发环境搭建 1 3 ROS系统架构 1 4 ROS调试工具 1 5 ROS节点通信 1 6 ROS其
  • 一起自学SLAM算法:第1章-ROS入门必备知识

    连载文章 xff0c 长期更新 xff0c 欢迎关注 xff1a 写在前面 第1章 ROS入门必备知识 1 1 ROS简介 1 2 ROS开发环境搭建 1 3 ROS系统架构 1 4 ROS调试工具 1 5 ROS节点通信 1 6 ROS其
  • 一起自学SLAM算法:1.3 ROS系统架构

    连载文章 xff0c 长期更新 xff0c 欢迎关注 xff1a 写在前面 第1章 ROS入门必备知识 1 1 ROS简介 1 2 ROS开发环境搭建 1 3 ROS系统架构 1 4 ROS调试工具 1 5 ROS节点通信 1 6 ROS其
  • 关于NAND FLASH调试的一点总结

    https www freesion com article 5033494883 很久没接触过 nandflash 驱动 xff0c 最近工作又摸了 xff0c 于是顺便整理总结一下 nandflash 在我看来算是比较落后的存储设备 x
  • 一起自学SLAM算法:1.6 ROS其他重要概念

    连载文章 xff0c 长期更新 xff0c 欢迎关注 xff1a 写在前面 第1章 ROS入门必备知识 1 1 ROS简介 1 2 ROS开发环境搭建 1 3 ROS系统架构 1 4 ROS调试工具 1 5 ROS节点通信 1 6 ROS其
  • 一起自学SLAM算法:1.7 ROS2.0展望

    连载文章 xff0c 长期更新 xff0c 欢迎关注 xff1a 写在前面 第1章 ROS入门必备知识 1 1 ROS简介 1 2 ROS开发环境搭建 1 3 ROS系统架构 1 4 ROS调试工具 1 5 ROS节点通信 1 6 ROS其
  • 一起自学SLAM算法:第2章-C++编程范式

    连载文章 xff0c 长期更新 xff0c 欢迎关注 xff1a 写在前面 第1章 ROS入门必备知识 第2章 C 43 43 编程范式 2 1 C 43 43 工程组织结构 2 2 C 43 43 代码编译方法 2 3 C 43 43 编