新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于超声波传感器的AGV避障模块设计与实现

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

作者:时间:2016-10-18来源:网络收藏

全称Automatecl Guided Vehicles,是一种装有自动导引装置,能够沿规定的路径行驶,具有编程和停车选择装置、安全保护装置以及各种物料移载功能的自动导航车。障碍物检测是自动导航车研究的一个基本问题,是实现安全、正常工作的前提。传感器以其价格低廉、测距精度高、测量稳定、体积小等优点,被广泛用于。本文以传感器为基础,结合技术,设计一种避障模块,实现准确、有效、稳定的障碍物检测,确保AGV的安全运行。

本文引用地址:http://www.eepw.com.cn/article/201610/308666.htm

1 传感器波束角测量

该避障模块使用的超声波传感器内部以渡越时间法进行测距。并自带温度传感器对测量结果进行校正,能够对2 cm至4.5 m距离范围内的障碍物实现准确的距离测量。开始测量时,控制器通过UART向超声波传感器的TX引脚输入触发信号,传感器发送探头启动并发射超声波脉冲,然后接收探头进入回波检测状态。在接收探头检测到回波信号后,结合温度补偿计算测距结果,并通过传感器的RX引脚输出距离测量数据。

1.1 超声波传感器测距数据采集

由于超声波传感器的探测波束角较小,在其实际应用中,一般使用多个传感器组成传感器阵列,以扩大探测范围。超声波传感器阵列的构建,须解决传感器在AGV上的布局问题,具体来说就是传感器数量和安装间距的选择问题。传感器数量和安装间距的选择须根据最小盲区要求确定,而超声波传感器的探测波束角是计算盲区的重要参数,因此需要设计实验测量传感器的探测波束角。

如图1的(a)所示,将超声波传感器固定于某点,在其前方选择与传感器探头距离为d的某点放置障碍物,进行测距实验并记录测距值。为了使实验结果能够充分反映实际情况,实验中选取不同距离d,且对于每个距离,以超声波传感器中轴线为原点,在左右两侧都选择离中轴线距离为L的多个点来放置障碍物。实验AGV对避障模块所要求的检测距离为0~2.5 m, 实验中选取的d序列为[100,200,300,400,600,800,1 200,1 600,2 400] mm;常用的超声波传感器波束角一般小于60°,所以对于每个距离d,在离中轴线[-0.6xd,0]和[0,0.6xd]范围内以相同间隔各选取10个点作为L的值。

a.jpg

1.2 超声波传感器测距数据处理

在图1(a)的实验中,利用勾股定理,可以得到障碍物实验中摆放位置与超声波传感器的实际距离:

b.jpg

对实验中的每一个测距值s’,结合式(1)和式(2)可计算出相应的相对误差。将实验数据导入至Matlab中,以L为横坐标、d为纵坐标、σ为竖坐标,对其插值并作图,如图1(b)所示。

从实验结果可以看出,将障碍物摆放于超声波传感器可检测到的区域时,检测结果的相对误差都能够满足σ6%,因此在图1(b)中选取相对误差σ6%的区域,可得到超声波传感器的波束角约为θ=40°。

2 AGV避障传感器布局设计

2.1 传感器数量和布局方式选择

AGV避障模块检测的盲区大小与超声波传感器的安装数量、安装间距有关,传感器数量越多、安装间距越小,检测盲区就越小,反之则大。超声波传感器利用障碍物对声波的反射作用进行距离检测,这一特性也决定了交叉串扰现象的存在,即一个传感器发射的声波经障碍物反射后,能够被相同检测方向的传感器接收到,从而产生错误的测距结果。因此在使用多个超声波传感器进行障碍物检测的场合,常采用传感器交替工作方式,即某一时刻有且只有一个超声波传感器在检测障碍物。若传感器安装数量过多,AGV周期就会增大,影响其检测实时性,从而对AGV的安全工作产生不利因素。从减小盲区和提高实时性两方面综合考虑,从实验AGV的500 mm车宽出发,初步确定在所应用的实验AGV的车头安装4个超声波传感器。由于实验AGV不需要倒车和侧向移动,所以其车尾和侧面不需要安装超声波传感器。

为了使每两相邻超声波传感器之间的检测盲区大小保持一致,4个传感器采用等距布局的方式,如图2(a)所示。两相邻传感器的距离为:

c.jpg

2.2 避障预警距离和检测盲区计算

如图2(b)所示,距离AGV两侧250 mm范围内为侧面安全距离。中间的2、3号超声波传感器作为主探测器,两侧的1、4号为辅助探测器。其中辅助探测器用于减小主探测器的测量肓区。主探测器和辅助探测器的预警距离分别为:

d.jpg

在AGV的避障检测中,当障碍物进入2、3号超声波传感器的d3范围或1、4号超声波传感器的d2范围内时,AGV停车报警。

f.jpg

在图2(b)中,AGV车头前面的阴影部分为避障检测模块的检测盲区区域,由多个三角形组成,该区域垂直距离(即三角形的高)为:

e.jpg


可见,在此布局方案中,AGV避障模块的检测盲区较小,配合安装于车头的防撞杆,能够满足AGV安全运行的要求。

3 AGV避障模块硬件设计

3.1 避障模块硬件结构

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

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前进路径上放置障碍物时,避障模块能够准确检测到障碍物距离,当障碍物进入预警范围时,及时向总控制器上报预警信息。通过实际应用发现,该避障模块测距结果准确。工作稳定可靠。

6 结论

该避障模块采用超声波传感器为探测器,通过实验测量,结合Matlab处理得到传感器检测波束角,最终确定超声波传感器在AGV上布局方式。以AVR单片机为控制核心,融入语音提示功能和CAN总线技术,对避障模块的硬件和软件进行开发,能够将预警状态和检测数据上传到AGV总控制器,实现。实验应用表明,该模块具有运行稳定、工作可靠等特点,达到了设计要求。该模块已应用到实验AGV上,检障效果良好,运行稳定,可靠性高,能够确保AGV的安全工作,达到了设计要求。



评论


相关推荐

技术专区

关闭