49.5
10.0折
原价¥49.5

收藏
【官方正版新书】 轮式自主移动机器人编程实战 李德 清华大学出版社 轮式机器人教材
担保交易,安全保证,有问题不解决可申请退款。
商品属性
一叶舟图书专营店
一叶舟图书专营店
本商品由 一叶舟图书专营店 提供技术支持并发货!
进店逛逛

买家常见问题解答(必看)

商品详情
用户评价
交易规则

 书名:  轮式自主移动机器人编程实战
 出版社:  清华大学出版社
 出版日期  2022
 ISBN号:  9787302613220

如果你想DIY 一款轮式自主移动机器人,又不知道如何实现,本书可能会帮到你。

《轮式自主移动机器人编程实战》系统讲解轮式自主移动机器人如何从0 到1 实现自主运动。以树莓派和STM32 单片机为例,

详细介绍轮式机器人的硬件结构,包括驱动控制器的搭建、中央处理器的选型开发、滤波算法、平面

地图构建算法、规划算法、导航算法、室外GPS 定位实战案例(异地远程控制和地图路径规划等)、

室内BreezySLAM 建图案例、ROS 开发案例等,以及自主移动机器人和无人车驾驶的基本实现原理,

都能在本书中找到答案。《轮式自主移动机器人编程实战》还提供开放的云平台路径规划,可在农田、工业园区巡检、物流送货等

场景测试。

《轮式自主移动机器人编程实战》可作为高等院校物联网、机器人、计算机、通信、电气及自动化等专业的教材,也可作为计

算机、电子及智能车设计竞赛的自学或培训教材,还可供各类电子工程、自动化技术人员和计算机爱

好者学习参考。


如果你想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轮式机器人底盘DIY19

2.6.1DIY的两种方法19

2.6.2轮式机器人DIY改装法21


2.7轮式机器人总结23

2.7.1轮式机器人整体框图23

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

2.8本章总结24

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

3.1Keil软件25

3.1.1Keil软件的安装25

3.1.2Keil5软件的使用27

3.2Linux基础知识28

3.2.1Linux的Shell28

3.2.2编写程序与脚本31

3.3网络基础知识32

3.3.1基础通信32

3.3.2MQTT协议33

3.3.3Linux安装Mosquitto36

3.3.4MQTT测试工具37

3.3.5HTTPPOST方法38

3.4算法39

3.4.1PID控制算法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底盘控制器的对外神经元:输出PWM61

4.1.1使用Keil模拟PWM输出61

4.1.2机器人中使用的PWM66

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轮式机器人的交互窗口:树莓派Shell80

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.1USB-4G模块的配置97

5.8.2USB-4G转WiFi97

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

5.9.1RTIMULib库介绍98

5.9.2RTIMULib库的编译和测试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.1DS18B20温度传感器开发115

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

6.1.2代码实现116

6.2GPS户外定位传感器118

6.2.1定位模块的接口定义118

6.2.2NMEA-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搭建局域网的Server130

7.2.1安装PhpStudy131

7.2.2搭建第一个物联网云132

7.3阿里云服务器133

7.3.1阿里云服务器选型133

7.3.2搭建LNMP服务器135

7.3.3LAMP服务器的搭建138

7.4JavaScript建立简单的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.5A*算法159

8.3机器人局部决策170

8.3.1DWA算法170

8.3.2VFH避障算法173

8.4本章总结177

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

9.1轮式机器人路径跟随178

9.1.1MovePose和PID整定178

9.1.2PurePuresuit跟随算法182

9.1.3路径跟随与测试185

9.2轮式机器人定位匹配189

9.2.1粒子滤波189

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

9.3GNSS定位导航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:navigation203

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.1BreezySLAM的安装212

11.2BreezySLAM测试214

11.3BreezySLAM源码分析217

11.4硬件搭建221

11.5软件实现221

11.6测试运行227

11.7本章总结227

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

12.1ROS介绍228

12.2ROS工具包229

12.3Ubuntu环境下安装ROS230

12.4发布GPS定位node233

12.5发布imunode234

12.6STM32通信node235

12.7QtforROS界面238

12.8本章总结243

仙侠”剧中的御剑飞行,剑就像拥有灵魂一样,能自行飞到任何地方。也许,我

们很难造出一把神剑,但是我们却可以造出一辆“指哪去哪”的自主移动机器人。本书

更像一本“失传已久”的武功秘籍,带你系统学习如何搭建轮式自主移动机器人(文中

简称轮式机器人)。


10年前我还是大学生,为了参加全国电子专业人才设计与技能大赛,白天在图书馆

一笔一画地抄代码(为了增强理解,将代码抄到本上),晚上到实验室做验证实验,尽

管那时候还年轻,精力旺盛,但还是累坏了,尤其是搜索不到感兴趣的智能车制作系列,

那段时期过后,感觉像是灵魂出了窍,轮胎放了炮,很久没有精气神。毕业后,在电子、

计算机相关行业工作了近10年,通过不断地学习新知识,借助博客和机器人爱好者分

享互动等,我对机器人的理解有了一个质的变化,机器人不再是简单的机器人,而是具

有自主意识的机器人。后来,众多的网友咨询和鼓励我将博客上的这些技术文章整理成

书,经过一年的辛苦整理,终于有了您面前的这本书。


本 书 内 容


本书囊括了约20种算法,仿真实验23次,真车实验上百次,可展示的实验数据和

配图几百张,是真正意义上的以实验数据为导向、以调试分析为原则的作品。


本书分为三部分,第1~3章为基础知识部分,介绍机器人的基础知识,包括轮式

机器人的底盘结构、驱动结构、开发软件、通信协议等。第4~9章为技术提升部分,

涉及内容较多,每章内容都是由浅入深、循序渐进,机器人涉及的核心和关键知识皆有

提及,包括建图、路径规划、导航避障等。该部分反复强调 “避障需有图”的原则,讲

解常见的算法并编写代码进行验证。本部分的特色在于将云平台融入机器人系统,实现

异地远程控制、地图路径规划等。第10~12章为实战案例部分,介绍云平台的相关使

用说明、室内建图机器人、ROS的搭建和节点开发,是对前9章知识的总结和验证。




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


- II -


案 例


本书涉及的开发语言有C/C++、Python、JavaScript、HTML、Shell等。书中案例

主要使用C/C++和Python编写,其中,使用C/C++编写的程序全部在Ubuntu 18.04版

和树莓派Raspbian 系统中编译通过,Python程序支持Python 2.7和Python 3.x,书中的

原理图和代码可以扫描本书封底的“案例源代码”二维码下载。


致 谢


感谢河北科技师范学院包长春教授对我参赛时的帮助以及写书时的支持!


感谢北京理工大学赐予我“德以明理、学以精工”的治学理念!


感谢我的父母将我养育成人,感谢我的兄长、亲戚、朋友们的支持。


感谢我的爱人杨雪娜在怀孕至哺乳期对娃儿的悉心照料,我才能静心写作,顺利交

稿,感谢!


感谢清华大学出版社这个大舞台能让我发光!


感谢网友和同事们的支持!感谢开源作者!


最后,感谢博客上的所有读者,是你们的期待让我动力十足!


本书难免有疏漏和不足之处,恳请各位同行和读者批评指正。


特别感谢奥松机器人于欣龙、吴朝霞、安丽丽、刘金雷、Eric、王航、林瑞和、李

杉、李晓波、贾明华、王兴兴、吴功富、 田松召、李歌、王淑芹提出的针对性的建议,

以及对部分源代码的审核等帮助。


个 人 寄 托


在编写此书的过程中,查阅了大量的文献,比较有感触的是大部分的知名算法是由

国外学者发明,并以他们的名字或者规则命名,希望今后有更多的知名算法能来自国内

的学者,并且以他们的姓名或者定义的规则命名,让国内的算法百花争艳!


愿读者在本书的帮助下快速实现自己的自主移动机器人。


愿智能机器人和无人驾驶技术进一步发展,实现更大价值!共勉!


交 流


由于编者水平有限,书中难免存在疏漏之处,希望读者指出书中不足,共同进步。


李德


2022年 3月于北京

 


店铺

客服

购物车
领取优惠
立即购买