微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于超声波传感器的AGV避障模块设计与实现

基于超声波传感器的AGV避障模块设计与实现

时间:10-18 来源:互联网 点击:

,能够满足AGV安全运行的要求。

3 AGV避障模块硬件设计

3.1 避障模块硬件结构

AGV避障模块的硬件结构如图3所示,模块以AVR单片机为控制核心。在避障检测时,由于每次只有一个超声波传感器处于工作状态,所以4个超声波传感器可通过多路模拟选择开关共享AVR单片机的UART接口。当避障模块预警区域存在障碍物,AVR控制语音芯片播放语音提示,并通过CAN总线将预警状态和障碍物距离发送到AGV的总控制器。

g.jpg

3.2 语音预警功能电路

AGV避障模块语音预警功能电路如图4。当障碍物进入预警区域,AVR单片机通过三线串口控制WT588D-U语音芯片读取内部的音频文件,并输出相应音频信号,经LM386功率放大后输出到小型喇叭。通过调节R7变阻器调节端可改变语音预警的音量大小。

h.jpg

3.3 超声波传感器控制电路

如图5所示,AVR单片机通过CD4052多路模拟选择开关对四个超声波传感器进行控制。ChaSelA和ChaSelB信号的四个不同状态组合分别代表模拟开关的四个通道。CSB_TrigN和CSB_EchoN分别是超声波传感器触发信号输入端和测距数据输出端。工作时,利用ChaSelA和ChaSelB信号选择所要控制的超声波传感器,模块控制器通过TXD引脚向所选定的传感器发送触发信号,传感器即向前方发送声波,并在接收到回波信号后,向控制器发送测距数据。

i.jpg

3.4 CAN总线通讯电路

AGV避障模块引入了CAN总线技术,能够将预警状态和测距数据上传到总控制器,实现分布式控制。CAN总线通信电路主要由CAN通信控制器MCP2515、CAN总线收发器PCA82C251及相应的复位、时钟电路组成,如图6所示。避障模块控制器通过SPI接口将预警状态和测距数据发送到CAN总线控制器MCP2515,由MCP2515转换成异步信号输送到CAN总线收发器PCA82C251,并最终发送到CAN总线上。

j.jpg

4 AGV避障模块软件设计

避障模块所应用的AGV平台基于CAN总线构建其车载分布式控制系统,控制系统的CAN应用层协议采用问答模式,即CAN通讯网络的某个节点主动发起的数据帧传输(询问帧),必须得到数据帧接收节点的应答(应答帧),否则将进行重发。问答模式提高了控制系统运行的可靠性。

AGV运行时,当障碍物进入预警范围,避障模块播放语音提示,并通过CAN总线向控制系统总控制器发送预警消息。控制系统总控制器接收到预警消息后,向避障模块发送应答帧,并控制电机减速或停车。此外,控制系统总控制器能够向避障模块发送询问帧,控制其关闭或开启避障检测和语音提示功能,因此AGV在运行时,避障模块通过CAN总线发送的消息有两类:主动发起的询问帧和对其他节点发来的询问帧的应答帧;通过CAN总线接收的消息也为两类:其他节点发来的应答帧和询问帧。

该避障模块的软件基于链表创建了两个CAN消息队列:CAN发送队列和CAN待应答队列。发送询问帧时,创建发送结点,挂接到CAN发送队列中,并同时创建对应的待应答结点,两者通过指针成员相互绑定。发送应答帧时,创建发送结点并挂接到CAN发送队列,此时不需要创建待应答结点。如图7所示,主函数轮询CAN发送队列是否为空,若不为空,取出发送结点并执行CAN数据帧的发送。如果发送结点为询问帧,执行发送后,将绑定的待应答结点挂接到CAN待应答队列,等待数据帧接收节点的应答。软件使用定时器作为系统时钟,在定时器中断函数中对CAN待应答队列中每个待应答结点的等待时间进行计时。若某个待应答结点等待超时,移出待应答队列并将绑定的发送结点重新挂接到CAN发送队列,执行重发。在多次重发都没有得到应答时,删除该待应答结点和绑定的发送结点。若某个询问帧等待应答超时前接收到应答帧,表示该次CAN询问帧传输成功,并且在CAN数据帧接收处理函数中删除相应的待应答结点和绑定的发送结点。

k.jpg

如图8所示,CAN数据帧接收处理函数也对避障模块接收到的其他CAN节点发送的询问帧进行解释,执行相应操作,并创建应答帧挂接到CAN发送队列。软件使用SCI中断函数轮询4个超声波传感器的检测数据,并在完成一次轮询后对检测数据进行融合,根据数据融合处理的结果判断障碍物是否进入预警距离。当障碍物进入预警距离,对预警消息创建发送结点和待应答结点,并将发送结点挂接到CAN发送队列,同时播放语音提示。

l.jpg

5 实验应用

将所设计的避障模块安装到实验AGV上,使AGV上电运行,并在运行中进行障碍物检测测试。在测试时,使用车载触摸屏的状态显示界面能够读娶显示超声波传感器检测数据和避障预警信息。当在AGV前进路径上放置障碍物时,避障模块能够准确检测到障碍物距离,当障碍物进入预警范围时,及时向总控制器上报预警信息。通过实际应用发现,该避障模块测距结果准确。工作稳

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top