基于超声波传感器的自主移动机器人的探测系统
扫描二维码
随时随地手机看文章
移动机器人要获得自主行为,其最重要的任务之一是获取关于环境的知识。这是用不同的传感器测量并从那些测量中提取有意义的信息而实现的。视觉、红外、激光、超声波等传感器都在移动机器人中得到实际应用。超声波传感器以其性价比高、硬件实现简单等优点,在移动机器人感知系统中得到了广泛的应用。但是超声波传感器也存在一定的局限性,主要是因为波束角大、方向性差、测距的不稳定性(在非垂直的反射下)等,因此往往采用多个超声波传感器或采用其他传感器来补偿。为了弥补超声波传感器本身的不足,又能提高其获取环境信息的能力,本文设计由一体式超声波传感器与步进电机组成的探测系统。
1 超声波传感器的探测原理及方法分析
超声波传感器的基本原理是发送(超声)压力波包,并测量该波包发射和回到接收器所占用的时间。
其中,L为目标距超声波传感器的距离;c为超声波波速(为了简化说明,本文以下讨论的测量距离时不考虑波速受温度的影响);t为发射到接收的时间间隔。
由于用超声波测量距离并不是一个点测量。超声波传感器具有一定的扩散特性,发射的超声能量主要集中在主波瓣上,沿着主波轴两侧呈波浪型衰减,左右约30°的扩散角。事实上,式(1)计算度越时间的方式是基于超声波成功、垂直的反射名义下进行的。但对于移动机器人很难保证其自身运动姿态的稳定性,采用超声波传感器固定在移动机器人车身的探测方式,当移动机器人偏离平行墙面时,探测系统往往很难得到实际的距离。另外,超声波这种发散特性在应用于测量障碍物的时候,只能提供目标障碍物的距离信息,而不能提供目标的方向和边界信息。这些缺陷都大大限制了超声波传感器的实际应用和推广。
本文在通过理论的分析和不断地试验的基础上,采用四相步进电机带动单个一体式超声波传感器旋转的方式,组成一个动态的感测系统。
2 一体式超声波传感器与步进电机组成的探测系统
2.1 结构设计
实物照片如图1所示,超声波传感器焊在PCB板上,板子通过钢管树起,钢管另一端和步进电机轴相连,步进电机固定在机器人底盘下方。传感器控制信号与输出信号通过信号线和车身上的控制板相连。另外在超声波传感器的探头前加一泡沫材料制成的圆台形套筒,上口直径为22 mm,下口直径为16 mm,高20 mm。这样发射波的波束角以及反射波被接收的角度都大大受限制。为了机器人自我调整姿态,需要确定其自身的转动方向和基准位置。因而自制一片由直射式红外光电传感器和转盘组成的简易光电编码器。2个直射式红外光电传感器分布如图2中2个I,Ⅱ所示以180°间隔水平安置在机器人小车车身两侧边的中点连接线上。转盘与转臂连接在同心圆上,如图中外圆所示,1,3刻线间相隔27°;2,1刻线相隔180°,其中1刻线与超声波传感器的中心保持在同一水平线上。I单独导通作为基准坐标,I,Ⅱ同时导通用来判断旋转方向,Ⅱ单通作为机器人沿墙回归时的导航基准。
通过步进电机带动一体式超声波传感器转动,以传感器中轴垂直于机器人车体的方向作为其自身姿态调整的坐标基准,步进电机采用4相4拍步距角为1.8°,每转1步,超声波传感器检测1次,将测量值通过串口送上位机。
2.2 探测系统硬件设计
探测系统硬件主要由超声波发生电路、超声波接收电路,步进电机调速模块等组成。如图3所示,系统的核心为单片机89S51,主要完成信号的发射和接收、控制步进电机、并传送数据给机器人上位机进行处理。
超声波的发射电路采用单片机ATM89S51的P11口输出发射脉冲,由74HC04作为驱动来连接超声波传感器,74HC04是为了增强其输出电流的能力,提高超声波传感器的发射距离。
超声波接收处理电路采用集成电路CX20106。CX20106为红外接收专用集成电路,在此利用CX20106作为超声波传感器接收信号的放大检波装置,亦取得良好的效果。CX20106中前置放大器接收到超声波接收探头的反射信号后,对信号进行放大,电压增益约80 dB。然后将信号送到限幅放大器,使其变为矩形脉冲,再由滤波器进行频率选择,滤除干扰信号,由检波器滤掉载频检出指令信号,再经过整形后,由7脚输出低电平。7脚输出的脉冲下降沿通过单片机INT0口输入。如图4所示。
一体式超声波传感器发射电路与接收电路都用相同的传感器引脚输入/输出,如不将输入/输出隔离开,接收电路与发射电路会相巨影响,采用CMOS双向模拟开关CD4066BE实现发射与接收的隔离。步进电机控制模块,采用环形脉冲分配器L297+双H桥功率集成电路L298的控制方式。单片机的P1.6,P1.7,P2.3分别接L297的CW,clock,enable控制端,控制电机的正反转、时钟信号、启停。
2.3 探测系统软件设计
探测系统的软件主要由主程序模块、中断服务程序模块、传感器发射接收模块组成。这里主要对探测系统主程序模块加以说明。主程序流程图如图5所示。
超声波传感器和步进电机测控模块分属不同的单片机控制,因此感测系统与移动机器人的上位机必须依靠单片机间的I/O口线及串行异步通讯实现。标志位T是用来切换动作,T=0,OFF=0同时满足时,是超声波传感器寻常的探测过程;T=1,OFF=0时是每一个循环测量前调整方位角用;OFF=1是等待下一次动作。计算回波的时间采用定时器T0,因此距离值d=0.334×(TH0×256+TL0)/2。每测完1次,给步进电机1个触发脉冲。然后判断下一个动作,是做传感器探测还是机器人自身方位角调整,这样又进入一个新的循环。
3 探测系统在移动机器人上的实验与应用
3.1 寻找离墙最近点
本文在寻找离墙最近点的设计思想足基于超声波测距。选择时间度越式的测距方法,通过对接收回波阈值的设定和探头前加一具有吸音作用的套筒,来限制超声波传感器接收范围。实验所测在距离75 cm时其发射波束角在±20°左右,能接收反射波的有效角度大约在±40°范围内。
超声波传感器的近似圆锥形的波束,决定了其每一次所测距离是最近点的反射距离。如图3所示,当波束角度即使偏离到虚线所示,其实际所得距离仍旧是沿波束中心线所测的值。按理论上说在发射波束角度内所测的距离应该是相同的,但由于超声波传感器起震时间、以及接收阈值的设置,包括墙面的反射情况等都会对距离的测量造成一定的影响。由实验测得,当在一定的角度(约±20°)内,其测量的距离值变化不明显,其相邻值比较接近(不超过2 mm)。当偏角继续增大时,相邻测量值变化也明显增大。因而一种方法就是利用这2个临界点,来找寻其波束与墙垂直的角度(即与墙距离最近点),步进电机带动超声波旋转找寻这2个临界点。当连续检测到两相邻的值低于2 mm时,认为已进入稳定区,则前后出现变化的点设为临界点,在这临界点内的所有点都记下来,然后求取中点,中点位置即是墙面与超声波传感器的最近点。如图6所示为其中一组所测数据,在72°~108°内,是距离测量的稳定区域,而在这之外,所测距离的相邻偏差超过8 mm,而且随着角度的旋向两边时将进一步拉大。在50 cm与200 cm内改变一体式超声波传感器与墙面距离进行实验,其结果与墙面垂直角度所测误差限制在2个步距角内。
3.2 探测系统应用于机器人沿墙导航
自主式移动机器人是在运动过程中探测当前环境的信息。每次探测的距离信息都以当前机器人的运动姿态为前提来测量。而在沿墙直线行走过程中,机器人是通过测距和自身姿态的共同感知保证运行轨迹的准确性。超声波测距已被广泛运用,在试验超声波探测角度与测距的关系后,则可以根据计算最近点的方法用超声波传感器来测量车身的方位角(确定自身姿态)。所测最近点是机器人实际与墙面的距离,通过简易编码器上的直射红外传感器1来确定机器人的基准坐标,根据步进电机每一步走过时存储的信息来计算最近点。在基准坐标和最近点间,用步进电机所走过的角度确定机器人与墙面的偏角,然后偏角传达给车轮驱动控制系统以调整方位角。
3.3 搜寻障碍物
采用步进电机带动超声波传感器旋转的方式在功能上近似于多传感器检测。移动机器人通常采用周身围绕固定多个超声波传感器来获取更多的信息,从而增加搜索障碍物的范围,确定目标方向和边界信息。与之相比,采用旋转的方式的一个优点,就是可以根据障碍物的紧密程度自动调整检测的密度。采用增加传感器的数量是受自身条件限制的,而旋转方式的紧密只和步进电机的步距角相关。检测密度的增加可以大大提高对角度的分辨力,从而加强对目标方向和边界信息的确定。
4 结 语
本系统是对超声波传感器功能上的一次延伸,是对移动机器人的现有探测系统的一个很好的补充。其在实验应用中得到充分的展示,他在障碍物探测和机器人位姿的调整上具有一定的实用性。但该方法在实时性、精确性上有待进一步提高。