2.3智能车设计 7
2.3.1 接线 7
3.通信模块软件设计 8
3.1 stm32的USART程序设计 8
3.1.1 USART 串口通信简介 8
3.1.2 基于库函数的初始化配置 9
3.1.3 串口中断服务程序 10
3.2 ATK-ESP8266 WIFI模块软件设计 11
3.2.1 ATK-ESP8266 WIFI模块简介 12
3.2.2 模块指令与线下配置 13
3.3 通信协议设计 15
3.4 数据收发程序 15
3.4.1 发送程序 15
3.4.2.数据接收与分析,处理 16
4. 定位软件设计 19
4.1GPS简介 19
4.2 ATK-NEO-6M模块配置 19
4.3GPS模块离线配置 22
4.4GPS模块软件设计 23
4.4.1 GPS模块软件初始化 23
4.4.2GPS模块数据处理及滤波程序设计 24
5.运动控制软件设计 27
5.1伺服电机介绍 27
5.2PWM输出方案设计 27
5.3运动控制时序输出程序设计 28
5.3.1 手动模式 28
5.4控制算法与运动策略 29
5.4.1控制结构框图 29
5.4.2 控制算法 30
5.5 控制策略 31
6.上位机设计 33
6.1开发环境 33
6.2上位机界面设计 33
6.3数据收发软件设计 34
6.4人机交互 35
6.4.1显示软件设计 35
6.4.2按键设计 35
7.实验设计与总结 36
7.1 通讯模块实验 36
7.1.1 数据收发实验 36
7.1.2通信距离测试 36
7.2 GPS数据收发实验 36
7.2.1 GPS发送数据给stm32 37
7.3运动实验与PID参数整定 38
7.4总结 42
7.5展望: 42
参考文献 43
致谢 43
附录 45
1.绪论
1.1 本课题的背景及意义
随着计算机科学和人工智能技术的发展,智能机器人技术逐渐成为了重要的高技术领域重要战略。智能机器人的应用范围也渗入到方方面面[1][2],包括日常生活中的服务机器人,在海洋甚至太空进行作业探索机器人,以及本课题的救援机器人等。相比于目前单个机器人有限的性能和高昂的成本,多机器人协作系统既可以提升作业效率,也可以应对各种不同的场合,甚至能降低成本[3]。并满足救援现场的需求。本课题所采用的分布式系统则可以在单个机器人产生故障时,其他机器人自主的改变决策,防止受到牵连。多智能车协作可以看作是多智能机器人协作在交通领域的一种应用[3]。多智能车协作是指通过车辆间交换各自的的速度,位置,航向等信息,进行判断,决策主动协作,以及获得辅助的驾驶信息,可以提高行驶安全性,整个交通的效率[4],而分布式的救援机器人系统也是通过相互通讯,信息交互来达成主动协作,从而达到救援目的,因此在交通上的设计中,可以按照智能交通的设计思路来实现。在交通中智能交通系统可以去除人为因素的干扰,将车人路的闭环简化为车路闭环[5]。文献综述 stm32机器人救援系统的软件设计及实现(2):http://www.751com.cn/zidonghua/lunwen_78809.html