更新时间:2024-10-14 16:13:19
封面
版权页
内容简介
推荐序一
推荐序二
前言
第1章 启程——让你的第一个机器人动起来
1.1 ROS部落的自我介绍
1.1.1 机器人与ROS
1.1.2 ROS 2系统架构
1.1.3 ROS 2的已发布版本
1.1.4 ROS 2机器人开发特色
1.2 开发环境搭建
1.2.1 准备所需软件
1.2.2 安装虚拟机VirtualBox
1.2.3 在虚拟机中安装Ubuntu 22.04
1.2.4 安装ROS 2
1.3 运行你的第一个机器人
1.3.1 启动海龟模拟器
1.3.2 使用键盘控制海龟
1.3.3 海龟例子的简单分析
1.4 ROS 2基础之Linux
1.4.1 Linux终端基础操作
1.4.2 在Linux中安装软件
1.4.3 在Linux中编写Python程序
1.4.4 在Linux中编写C++程序
1.4.5 Linux基础之环境变量
1.5 小结与点评
第2章 ROS 2基础入门——从第一个节点开始
2.1 编写你的第一个节点
2.1.1 Python示例
2.1.2 C++示例
2.2 使用功能包组织Python节点
2.2.1 在功能包中编写Python节点
2.2.2 功能包结构分析
2.3 使用功能包组织C++节点
2.3.1 在功能包中编写C++节点
2.3.2 功能包结构分析
2.4 多功能包的最佳实践Workspace
2.5 ROS 2基础之编程
2.5.1 面向对象编程
2.5.2 用得到的C++新特性
2.5.3 多线程与回调函数
2.6 小结与点评
第3章 订阅和发布——话题通信探索
3.1 话题通信介绍
3.2 Python话题订阅与发布
3.2.1 通过话题发布小说
3.2.2 订阅小说并合成语音
3.3 C++话题订阅与发布
3.3.1 发布速度控制海龟画圆
3.3.2 订阅Pose实现闭环控制
3.4 话题通信最佳实践
3.4.1 完成工程架构设计
3.4.2 自定义通信接口
3.4.3 系统信息获取与发布
3.4.4 在功能包中使用Qt
3.4.5 订阅数据并用Qt显示
3.5 ROS 2基础之Git入门
3.5.1 新建代码仓库
3.5.2 学会提交代码
3.5.3 学会使用Git忽略文件
3.6 小结与点评
第4章 服务和参数——深入ROS 2通信
4.1 服务与参数通信介绍
4.1.1 服务通信介绍
4.1.2 基于服务的参数通信
4.2 用Python服务通信实现人脸检测
4.2.1 自定义服务接口
4.2.2 人脸检测
4.2.3 人脸检测服务实现
4.2.4 人脸检测客户端的实现
4.3 用C++服务通信做一个巡逻海龟
4.3.1 自定义服务接口
4.3.2 服务端代码实现
4.3.3 客户端代码实现
4.4 在Python节点中使用参数
4.4.1 参数声明与设置
4.4.2 订阅参数更新
4.4.3 修改其他节点的参数
4.5 在C++节点中使用参数
4.5.1 参数声明与设置
4.5.2 接收参数事件
4.5.3 修改其他节点的参数
4.6 使用launch启动脚本
4.6.1 使用launch启动多个节点
4.6.2 使用launch传递参数
4.6.3 launch使用进阶
4.7 小结与点评
第5章 ROS 2常用开发工具
5.1 坐标变换工具介绍
5.1.1 通过命令行使用TF
5.1.2 对TF原理的简单探究
5.2 Python中的手眼坐标变换
5.2.1 通过Python发布静态TF
5.2.2 通过Python发布动态TF
5.2.3 通过Python查询TF关系
5.3 C++中的地图坐标系变换
5.3.1 通过C++发布静态TF
5.3.2 通过C++发布动态TF