书籍详情

轮式自主移动机器人编程实战

轮式自主移动机器人编程实战

作者:李德 著

出版社:清华大学出版社

出版时间:2022-09-01

ISBN:9787302613220

定价:¥59.80

购买这本书可以去
内容简介
  如果你想DIY 一款轮式自主移动机器人,又不知道如何实现,本书可能会帮到你。 《轮式自主移动机器人编程实战》系统讲解轮式自主移动机器人如何从0 到1 实现自主运动。以树莓派和STM32 单片机为例, 详细介绍轮式机器人的硬件结构,包括驱动控制器的搭建、中央处理器的选型开发、滤波算法、平面 地图构建算法、规划算法、导航算法、室外GPS 定位实战案例(异地远程控制和地图路径规划等)、 室内BreezySLAM 建图案例、ROS 开发案例等,以及自主移动机器人和无人车驾驶的基本实现原理, 都能在本书中找到答案。《轮式自主移动机器人编程实战》还提供开放的云平台路径规划,可在农田、工业园区巡检、物流送货等 场景测试。 《轮式自主移动机器人编程实战》可作为高等院校物联网、机器人、计算机、通信、电气及自动化等专业的教材,也可作为计 算机、电子及智能车设计竞赛的自学或培训教材,还可供各类电子工程、自动化技术人员和计算机爱 好者学习参考。
作者简介
暂缺《轮式自主移动机器人编程实战》作者简介
目录

第1部分 基础知识

第1章 轮式机器人的基础知识 2

1.1 轮式机器人的定义与应用 2

1.2 轮式机器人的结构3

1.3 机器人的驱动方式4

1.4 本章总结5

第2章 机器人的构成 6

2.1 机器人的规划6

2.2 轮式机器人的转向结构 8

2.2.1 轮式机器人的差速转向 8

2.2.2 轮式机器人的独立舵机转向 9

2.2.3 阿克曼转向结构 11

2.2.4 轮式机器人转向比较 11

2.2.5 差速机器人里程计运动模型 12

2.3 轮式机器人电动机的选型 13

2.3.1 轮式机器人:电动机性能 13

2.3.2 轮式机器人:GA370电动机参数计算 14

2.4 机器人的驱动模块15

2.4.1 驱动芯片L298N性能 15

2.4.2 驱动模块 L298N的使用方法 16

2.4.3 驱动板TB6612FNG的使用方法 17

2.5 轮式机器人的大脑:控制器选型 18

2.6 轮式机器人底盘DIY 19

2.6.1 DIY的两种方法 19

2.6.2 轮式机器人DIY改装法 21



2.7 轮式机器人总结23

2.7.1 轮式机器人整体框图 23

2.7.2 轮式机器人开发中涉及的软件列表 23

2.8 本章总结24

第3章 轮式机器人的软件提升 25

3.1 Keil软件 25

3.1.1 Keil软件的安装 25

3.1.2 Keil 5软件的使用 27

3.2 Linux基础知识 28

3.2.1 Linux的Shell 28

3.2.2 编写程序与脚本 31

3.3 网络基础知识32

3.3.1 基础通信 32

3.3.2 MQTT协议 33

3.3.3 Linux安装Mosquitto 36

3.3.4 MQTT测试工具 37

3.3.5 HTTP POST方法 38

3.4 算法39

3.4.1 PID控制算法 39

3.4.2 移位滤波均值算法 44

3.4.3 高、低通滤波和互补滤波器 45

3.4.4 初识贝叶斯 48

3.4.5 二值贝叶斯滤波 49

3.4.6 卡尔曼滤波 51

3.5 本章总结58

第2部分 技术提升

第4章 轮式机器人的底盘控制器:STM32开发 60

4.1 底盘控制器的对外神经元:输出PWM 61

4.1.1 使用Keil模拟PWM输出 61

4.1.2 机器人中使用的PWM 66

4.2 底盘控制器的运动神经元:驱动控制 66

4.2.1 驱动控制器的连接 66



目 录

- V -

4.2.2 驱动源码分析 66

4.3 底盘控制器的捕获神经元:PWM捕获测速 68

4.3.1 硬件 68

4.3.2 测速源码分析 69

4.4 底盘控制器的中枢神经元:串口通信控制指令 71

4.5 底盘控制器的触觉神经元:ADC电池电压监测 75

4.5.1 硬件连接 75

4.5.2 源码分析 75

4.6 底盘控制器的发光控制神经元:LED控制 77

4.6.1 硬件连接 77

4.6.2 源码分析 77

4.7 本章总结78

第5章 轮式机器人的主控制器:树莓派开发 79

5.1 树莓派简介79

5.2 树莓派资源80

5.3 轮式机器人的交互窗口:树莓派Shell 80

5.4 轮式机器人上网接口:Socket通信 83

5.5 轮式机器人从控制器通信接口:树莓派串口 83

5.5.1 树莓派串口配置 83

5.5.2 树莓派USB转串口 86

5.5.3 绑定串口 87

5.6 轮式机器人无线联网接口:树莓派的WiFi功能 88

5.6.1 树莓派WiFi连接路由器 88

5.6.2 树莓派WiFi做AP热点 89

5.7 机器人和手机App通信接口:树莓派蓝牙 93

5.7.1 了解蓝牙 93

5.7.2 使用Socket功能进行蓝牙通信 95

5.8 轮式机器人野外上网接口:4G模块 96

5.8.1 USB-4G模块的配置 97

5.8.2 USB-4G转WiFi 97

5.9 轮式机器人的指南针:RTIMU模块开发 98

5.9.1 RTIMULib库介绍 98

5.9.2 RTIMULib库的编译和测试 99

5.9.3 基于RTIMULib的地磁计校准 101



5.9.4 基于RTIMULib的加速计校准 104

5.9.5 基于RTIMULib的陀螺仪校准 104

5.10 轮式机器人的Web搭建 104

5.11 轮式机器人树莓派固件烧录 113

5.12 本章总结 114

第6章 轮式机器人的其他神经元:传感器开发 115

6.1 DS18B20温度传感器开发 115

6.1.1 DS18B20温度传感器的接口定义 115

6.1.2 代码实现 116

6.2 GPS户外定位传感器 118

6.2.1 定位模块的接口定义 118

6.2.2 NMEA-0183协议 118

6.2.3 协议解析流程及实现 119

6.3 激光雷达传感器121

6.3.1 激光雷达介绍 122

6.3.2 激光雷达协议 123

6.4 摄像头图像传感器127

6.4.1 摄像头的使用 128

6.4.2 视觉循迹机器人实例 128

6.5 本章总结129

第7章 轮式机器人的云:物联网云平台 130

7.1 微型服务云平台简介130

7.2 搭建局域网的Server 130

7.2.1 安装PhpStudy 131

7.2.2 搭建第一个物联网云 132

7.3 阿里云服务器133

7.3.1 阿里云服务器选型 133

7.3.2 搭建LNMP服务器 135

7.3.3 LAMP服务器的搭建 138

7.4 JavaScript建立简单的MQTT通信 140

7.5 本章总结143



第8章 轮式机器人路径规划 144

8.1 机器人路径规划144

8.2 机器人全局规划145

8.2.1 机器人栅格建图概述 145

8.2.2 借助OpenCV画轨迹 146

8.2.3 栅格地图的建图过程 151

8.2.4 机器人全局整合规划 157

8.2.5 A*算法 159

8.3 机器人局部决策170

8.3.1 DWA算法 170

8.3.2 VFH避障算法 173

8.4 本章总结177

第9章 轮式机器人路径的定位和导航 178

9.1 轮式机器人路径跟随178

9.1.1 MovePose和PID整定 178

9.1.2 PurePuresuit跟随算法182

9.1.3 路径跟随与测试 185

9.2 轮式机器人定位匹配189

9.2.1 粒子滤波 189

9.2.2 粒子滤波定位(蒙特卡罗定位) 190

9.3 GNSS定位导航 190

9.4 本章总结192

第3部分 实战案例

第10章 机器人定位终端实例 194

10.1 机器人实体终端:模块构成 194

10.2 轮式机器人通信:STM32和树莓派之间的通信协议 195

10.3 机器人与云平台通信:MQTT通信协议 197

10.4 轮式机器人:配置网络 198

10.5 轮式机器人软件说明 202

10.5.1 软件框架 202

10.5.2 控制App:navigation 203

10.5.3 硬件信息确认 205



10.6 轮式机器人的人机交互 205

10.7 轮式机器人云平台功能介绍 206

10.7.1 添加设备 206

10.7.2 设备信息 207

10.7.3 趣味玩法 207

10.7.4 路径规划 209

10.8 手动规划路径的原理及操作 210

10.9 本章总结 211

第11章 BreezySLAM室内定位导航机器人实例 212

11.1 BreezySLAM的安装 212

11.2 BreezySLAM测试 214

11.3 BreezySLAM源码分析 217

11.4 硬件搭建 221

11.5 软件实现 221

11.6 测试运行 227

11.7 本章总结 227

第12章 ROS机器人开发实例 228

12.1 ROS介绍 228

12.2 ROS工具包 229

12.3 Ubuntu环境下安装ROS 230

12.4 发布GPS定位 node 233

12.5 发布imu node 234

12.6 STM32 通信node 235

12.7 Qt for ROS 界面 238

12.8 本章总结 243


猜您喜欢

读书导航