方式。单片机的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 结 语
本系统是对超声波传感器功能上的一次延伸,是对移动机器人的现有探测系统的一个很好的补充。其在实验应用中得到充分的展示,他在障碍物探测和机器人位姿的调整上具有一定的实用性。但该方法在实时性、精确性上有待进一步提高。
|