智能小车联网组队方法的设计与实现

收稿日期:2020-05-11      修回日期:2020-09-14
基金项目:国家自然科学基金(61572392);陕西省自然科学基础研究计划项目(2020JM -565)
作者简介:黄姝娟(1975-),女,博士,副教授,研究方向为嵌入式与分布式计算;通信作者:肖 锋(1976-),男,博士,教授,CCF 会员
(20118M ),研究方向为智能信息处理㊂
智能小车联网组队方法的设计与实现
黄姝娟,肖 锋*,曹子建
(西安工业大学计算机科学与工程学院,陕西西安710021)
摘 要:随着5G 技术的到来,物联网技术的发展不可限量,而在智能交通领域中起着举足轻重的无人驾驶技术和车联网技术必定成为未来研究的热点㊂那么如何通过车联网技术控制无人驾驶智能车辆进行联网组队也就成为研究的焦点问题㊂为此,模拟实现了无人驾驶智能小车联网组队运行的全过程㊂首先介绍了系统总体的设计方案,接着在STM 32嵌入式开发平台下进行智能小车的硬件设计,然后介绍了如何利用ZigBee 无线通信技术实现无人驾驶智能小车与智能网关之间的通信协议和相应的软件实现方案,最
后进行了相应的测试㊂结果表明,本次设计完成了智能小车在行驶过程中接收和执行控制命令以快速组队的功能㊂实现了多辆智能小车排列 一”字㊁ V ”字㊁ X ”形㊁矩形㊁菱形五种组队队形㊂关键词:智能小车;控制系统;组队方式;车联网;ZigBee 技术
中图分类号:TP 393       文献标识码:A       文章编号:1673-629X (2021)04-0170-06doi :10.3969/j.issn.1673-629X.2021.04.029
Design and Implementation of Formation Method for Intelligent Vehicles
HUANG Shu -juan ,XIAO Feng *,CAO Zi -jian
(School of Computer Science and Engineering ,Xi ’an Technological University ,Xi ’an 710021,China )
Abstract :With the advent of 5G technology ,the development of Internet of Things technology is limitless ,and unmanned driving technology and Internet of Vehicles technology ,which play an important role in the field of intelligent transportation ,are bound to become the focus of future research.So how to control unmanned intelligent vehicles through the Internet of Vehicles technology to network and team has become the focus of research.For this reason ,we simulate and realize the
whole process of the unmanned intelligent car networking and team operation.Firstly ,the general design about the system and the hardware design for the intelligent vehicles under the base of embedded development platform of STM 32are introduced.Then ,how to use ZigBee wireless communication technology to realize the communication protocol and the corresponding software implementation scheme between the unmanned intelligent car and the intelligent gateway is introduced.At last ,the corresponding test shows that the function of vehicles receiving and executing control commands sent by the gateway has been achieved and made the intelligent vehicles formation of  one ”, V ”, X ”, Rectangle ”and  Diamond ”quickly.
Key words :intelligent vehicles ;control system ;formation method ;Internet of Vehicles ;ZigBee
0 引 言
随着近年来5G 技术和物联网技术的迅猛发展,车联网[1-2]已经成为城市智能交通乃至智慧城市的重要组成部分[3-5]㊂车联网作为物联网与智能交通结合的产物,借助通信㊁互联网㊁汽车等行业的发展优势,融合大数据㊁人工智能㊁云计算等先进技术,为人类生活带来了巨大变化[6]㊂而相较于传统汽车,无人驾驶汽车的推广使用,不仅可以方便用户,而且还利于缓解众多国家城市交通的拥堵问题[7-9],但与此同时,无人驾驶汽车中的相关技术仍是各国讨论的热点㊁发展的瓶
颈所在,如何实现精准控制无人驾驶汽车,实现无人车上路零事故以及真正意义上的车联网仍然是各国面临的一大难题[10]㊂而随着5G 技术的到来,5G 移动通信成为车联网通信的有竞争力的选项[11],车联网技术将是传统汽车向智能化㊁网联化转变的关键技术之一[12],也是智能网联汽车体系架构的重要组成部分,对于提高智能交通系统的安全性和高效性具有十分重要的意义[13-15]㊂为此,通过模拟控制现实生活中的无人驾驶汽车,提前预测无人驾驶汽车和车联网技术相结合时可能遇到的各种问题,为真正实现车联网与无
第31卷 第4期2021年4月          计算机技术与发展COMPUTER TECHNOLOGY AND DEVELOPMENT
          Vol.31 No.4
Apr. 2021
人驾驶汽车技术相结合时代的到来具有重要的意义㊂
在文献[16]的基础上,该文利用STM 32嵌入式开发和ZigBee 无线通信技术模拟一个无人驾驶智能小车的组队系统,研究如何利用物联网相关技术对无人驾驶智能小车进行高效㊁实时㊁准确的控制以及实现无人驾驶智能小车与智能网关之间的相互通信,从而展示车联网时代下集中控制无人驾驶汽车组队的运行方式㊂
1 系统总体设计
采用智能网关集中控制方式实现无人驾驶智能小车的组队过程如图1所示
图1 智能网关集中式控制
系统首先利用STM 32嵌入式技术和ZigBee 无线通信技术实现智能网关与智能小车之间相互通信的功能㊂其次,规划组队轨迹,将智能网关设置为主模式,其他智能小车设置为从模式,给所有处于从模式的智能小车发送组队命令㊂再次,处于从模式的所有智能小车能够正确接收组队命令并执行和返回响应信息㊂最后,处于主模式的智能网关会根据接收到的组队返
回信息执行下一组组队动作的命令㊂
2 系统硬件设计
系统硬件涉及到的模块主要是智能小车控制模块,包括智能小车上的主控芯片STM 32模块㊁电机驱动模块和ZigBee 无线通信模块㊂智能小车控制模块的主要功能是通过ZigBee 无线通信模块接收智能网关下发的指令,并且正确识别指令,进而做出相应动作㊂其中智能小车主控芯片是STM 32F 10x 芯片,电机驱动电路芯片是L 298电机驱动芯片,以及ZigBee 通信模块是顺舟的SZ 20㊂2.1 电机驱动电路设计
如图2所示,智能小车电机使用L 298芯片驱动,用STM 32核心芯片控制,L 298的IN 1㊁IN 2㊁IN 3㊁I
N 4是指输入的是控制智能小车轮子的STM 32芯片四个管脚的高低电平,OUT 1㊁OUT 2控制的是智能小车的左前轮和左后轮的转向,OUT 3㊁OUT 4控制的是智能小车右前轮和右后轮的转向㊂STM 32主控芯片的PB 12㊁PB 13㊁PB 14㊁PB 15这四个管脚分别控制智能小车的左前轮㊁左后轮㊁右前轮和右后轮㊂
通过为STM 32主控芯片的四个管脚赋予不同的高低电平,最终实现智能小车的5种不同运动状态,例
如前进㊁后退㊁左转㊁右转㊁停止,如表1所示㊂
表1 电机驱动模块运动方向管脚设置
运行方向PB 12PB 13PB 14PB 15前进0101后退1010左转1101右转0111停止
Motor2
图2 智能小车电机驱动原理
2.2 ZigBee 芯片电路设计
油炸锅智能小车的ZigBee 芯片主要用于实现智能小车
与ZigBee 协调器之间的无线通信㊂车内ZigBee 模块和STM 32处理器通过串口1相连接,主要是为了实现
171㊃ 第4期            黄姝娟等:智能小车联网组队方法的设计与实现水质快速检测
ZigBee 串行处理功能和数据传输功能㊂而且每个ZigBee 设备都有一个独特的地址,用于和其他设备区
分㊂ZigBee 模块与STM 32主控芯片的硬件连接图如图3所示㊂
SZ1
GND
图3 ZigBee 模块连接原理
3 系统软件设计
系统软件主要涉及智能小车ZigBee 通信模块和组队运行模块㊂智能小车之间首先通过ZigBee 与智能网关进行通信,然后接收智能网关发来的组队运行控制命令㊂在整个系统中,智能网关和每辆智能小车均具备通过ZigBee 进行发送数据㊁接收数据并对数据进行实时处理的能力,智能网关与ZigBee 协调器配合,在网络中处于主模式,而所有智能小车处于从模式㊂
3.1 ZigBee 通信模块3.1.1 数据通信协议
在整个网络中,智能网关属于中心节点,需要与其
他智能小车保持通信,因此处于主动模式,智能小车处于被动模式㊂智能网关需要通过ZigBee 协调器与智能小车通信,并通过发送不同的命令来分开控制智能小车,因此,在组队过程中,智能网关需要根据智能小车的位置以及当前的状态发送相应的控制命令㊂组队过程中的智能网关控制智能小车运行的数据通信协议以及数据帧格式分别如表2~表4所示㊂
表2 智能网关控制智能小车运行的数据通信协议
参数标志值属性数据备注
查询车辆信息
0x 11
RKU波可调电衰减器
1个字节
第1个字节:车辆ID ,每辆车固定㊂
运行命令
0x 12
W
1个字节
第1个字节:运动指令
01:前进02:后退
03:左转04:右转05:停止06:加速07:减速
电动液控闸阀运行状态
0x 13
R
1个字节
每次运动状态改变,主动上报
01:前进02:后退
03:左转04:右转05:停止06:加速07:减速
271㊃                     计算机技术与发展                  第31卷
表3 智能网关下达命令的数据帧格式
协议帧头目标地址源地址数据位长度指令类型数据位校验和2个字节1个字节1个字节1个字节1个字节不定1个字节FF FE710102011201SUM
表4 智能小车主动上报的数据帧格式
协议帧头目的地址源地址数据位长度通信错误主动上报数据位校验和
2字节1个字节1个字节1个字节1个字节1个字节不定1个字节FF FE017001000112SUM
  本协议设定智能网关在网络中地址为0x01,智能小车地址为0x70-0x7F;为了快速区分数据帧通信的方向,智能网关向智能小车发送指令类型为01,智能小车向智能网关主动上报发送的指令类型为03㊂例如:智能网关01向智能小车71发前进命令:FF FE710102011201SUM,如表3中的数据㊂如果对所有智能小车发送信息,则目的地址写为0xFF,表示广播地址㊂
智能小车返回给智能网关的命令:FFFE 017001000112SUM,如表4中的数据㊂
其中通信错误类型如下:
00:正常;
01:无效指令;
02:无效数据;
03:执行不成功㊂
3.1.2 ZigBee网络配置
该系统在如图4所示的顺舟ZigBee配置助手中将智能网关和智能小车的配置如下:
(1)节点地址:因为每个加入ZigBee网络的设备具有唯一的地址标识,同一个网络中不能有相同地址的节点,根据上述的通信协议,智能网关的地址为0x01,智能小车的节点地址分别为0x70-0x7F㊂(2)节点类型:智能网关为中心节点,智能小车均为终端节点㊂采用主从模式发送㊂
(3)网络类型:在智能小车自动组队过程中,智能小车均选择主从网络的星型网㊂因为在同一个网络中,网络类型必须设置相同㊂注意此网络中智能网关是唯一的中心节点㊂
(4)网络ID:ID范围从0000 FFFF之中选择,同一个网络中ID必须相同㊂本系统中智能网关和智能小车均选择 F4”㊂
(5)频点设置:本系统选择的ZigBee无线网络工作频点均为 9-2.450GHz”㊂
(6)发送模式:智能小车均选择主从模式㊂因为需要智能小车作为非中心节点,从而默认将数据发给智能网关这个中心节点㊂
(7)串口属性:智能小车的串口属性相同㊂设置为波特率115200㊁校验位为 NONE”,而数据位为8㊁停止位为1㊁流控为 无”,数据位选择
8+0+1”㊂
图4 ZigBee网络配置
3.2 智能小车组队运行控制模块
在上述ZigBee通信模块的基础上,利用智能小车上的ZigBee模块㊁电机驱动电路模块以及主控芯片模块实现从ZigBee协调器接收数据,并根据数据的值使能电机驱动电路从而对智能小车进行组队控制㊂首先,初始化ZigBee串口配置,然后根据串口中断发来的数值让智能小车产生相应的动作㊂其中,通过调整PWM(pulse width modulation)占空比的数值来调整智能小车的速度,智能小车运行控制模块程序流程如图5所示㊂
程序开始,定义变量Flag并为之赋值为0,初始化时钟和电机,使用PWM调整智能小车初始速度,初始化ZigBee串口并配置串口中断,循环等待中断开始,若中断开始则使用函数USART1_IRQHandler()从USART1接收数据并且将接收到的数据赋给Flag㊂随后读入Flag的值,若Flag的值与判断句中的一致就执行相应语句,未到符合的语句就直接执行break语
㊃371㊃
 第4期            黄姝娟等:智能小车联网组队方法的设计与实现
弱碱性水机句跳出,重新等待中断开始㊂
程序主要代码实现如下:
/*main函数*/
#define ADVANCE0x01//若接收到的数据为0x01,即为接收到前行命令
#define BACK0x02//若接收到的数据为0x02,即为接收到后退命令
#define LEFT0x03//若接收到的数据为0x03,即为接收到左转命令
#define RIGHT0x04//若接收到的数据为0x04,即为接收到右转命令
#define STOP0x05//若接收到的数据为0x05,即为接收到停止命令
#define SPEED_UP0x06//若接收到的数据为0x06,即为接收到加速命令
#define SLOW_DOWN0x07//若接收到的数据为0x07,即为接收到减速命令
uint16_t Flag=0;//用于标记的变量
void main(void)
{SystemInit();//系统时钟初始化
Motor_Init();//智能小车电机初始化
TIM3_PWM_Init(600);//利用PWM调速
ZB_USART1_Init();//初始化主控芯片与ZigBee芯片的串口
ZB_NVIC_Configuration();//ZigBee串口中断配置
while(1)//无限循环
{switch(Flag)//判断Flag的值
{case ADVANCE:Advance();break;//若接收到0x01,使能电机前行
墨水生产case BACK:Back();break;//若接收到0x02,使能电机后退case LEFT:Left();break;//若接收到0x03,使能电机左转
case RIGHT:Right();break;//若接收到0x04,使能电机右转
case STOP:Stop();break;//若接收到0x05,电机停止
case SPEED_UP:TIM3_PWM_Init(750);break;//若接收到0x06,使能电机调速加速
case SLOW_DOWN:TIM3_PWM_Init(600);break;//若接收到0x07,使能电机调速减速
default:break;}}}
/*ZigBee串口中断处理函数*/
void USART1_IRQHandler(void)
{if(USART_GetITStatus(USART1,USART_IT_RXNE)!= RESET)//串口状态若未被重置
{Flag=USART_ReceiveData(USART1);//将从串口接收到的数据的值赋给Flag
while(USART_GetFlagStatus(USART1,USART_FLAG_ TXE)==RESET);//一直让串口重置}}
图5 智能小车组队运行流程
㊃471㊃                     计算机技术与发展                  第31卷

本文发布于:2024-09-21 17:48:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/320641.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:智能   小车   智能网   组队   控制
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议