轩 亮,杨 轩,叶志雄
(江汉大学 机电与建筑工程学院,湖北 武汉 430056)
随着数字时代的来临,智能小车行业得到迅速发展。20 世纪70 年代至今,欧洲在进行前车距控制、视觉增强及传感器的融合研究方面取得了重大进步,而国内经过几十年的不断发展,在传感器技术、机械结构、智能控制等方面有了重大突破[1]。目前,智能高尔夫小车的设计多以轮式四轮车、单一传感器为主,但单一传感器存在固有缺陷,如障碍物探测缓慢、避障成功率较低、识别通过率低,且在一些复杂的地形有一定的局限性[2]。为了解决上述问题,本文设计了一种利用摄像头采集图像的目标识别为主、超声波传感器和红外传感器位置控制与运动避障为辅、多传感器协同工作的具有目标识别追踪和避障一体的智能小车。
智能小车由车体骨架、移动装置、承载装置、避震装置和收集装置等部分构成。车体骨架采用2020A 铝合金型材连接;移动装置采用减速电机与充气全地形轮组成;承载装置使用了可拆卸式结构安装在车架上,便于后期搭载不同的工作平台;避震装置使用了弹簧减震器来增强跨地形功能,使小车在不同地形下有较好的通过性;收集装置采用的是卡盘式收集盘,收集效率高,拆装维护方便。
智能小车由摄像头捕捉目标,并且将识别到的目标信号传输给控制单元进而控制小车运动,使小车能够时刻锁定目标并且收集目标物,在追踪目标的同时,优先执行避障单元的子程序。在已经识别到目标并且确定目标位置的前提下,经过路径规划到达目标位置,并通过搭载在车架上的盘形滚动收集装置驶过目标位置,从而将目标自动收集。当环境监测单元监测到实际光强低于设定值时,开启LED 灯进行补光,用来辅助识别。为了使小车持续有效工作,需要在电源管理单元实施电压预警以防小车因能量耗尽而丢失。
智能小车的目标识别与智能收集系统组成如图1 所示,由图像识别单元、避障单元、控制单元、驱动单元、电池管理单元和环境监测单元组成[3]。
2.1.1 硬件设计 图像识别单元由摄像头模块和微处理器组成,摄像头模块采用OV7620,它的工作电压支持3.3 和5 V,每秒可以产生60 帧图像,能够很好地满足智能小车对图像采集的要求[4]。
摄像头布置在车体上部分正前方识别范围能够达到最大化,摆放位置如图2 所示。
摄像头的探测长度L和宽度B为
式中,h表示摄像头的摆放高度,θ表示摄像头与Z轴的夹角,2α表示摄像头的视野角度。
由于α是定量,且探测宽度至少应大于车体宽度b,所以θ的取值为 arctan[b/(2hsinα)]~ 90°。
图1 系统的组成结构示意图Fig.1 Composition and structure diagram of the system
图2 摄像头摆放位置示意图Fig.2 Position and placement map of camera
2.1.2 软件设计 本系统识别针对的是直径为43 mm 的白色小球,所以需要做到颜色和形状同时识别,识别流程如图3 所示。当摄像头采集到图像时,将摄像头所拍摄的图像进行二值化处理,二值化处理后整体的像素会呈现黑白两种状态,如图4 所示。通过对比LAB 阈值的调整,将被识别的目标图像转换为白色,非目标图像转换为黑色,这样能够大大提高对目标物体的识别效率[5]。
根据二值化处理后的图片进行形状的识别。通过霍夫圆检测是否为圆形,如果是圆形,则检测到了目标物体;如果不是圆形,则是同色的非目标物体。这样先经过颜色的筛选后,再进行形状的判断,比形状颜色同时识别需要处理的数据少,处理速度更快,检测的准确性也大大提高。
图3 目标识别流程与图像处理流程图Fig.3 Target identification flow chart and image processing flow chart
图4 二值化示意图Fig.4 Sketch map of image binarization
目标位置识别算法:当检测到目标物体时,通过二值化处理图像,将检测到的圆形通过运算得到其圆心坐标,并将圆心XC坐标与图像中心XO坐标做减法运算,得到目标物体与屏幕正中心的差值XS并且将XS传递给控制模块,控制模块根据XS值来控制小车旋转角度,使得目标物体能够在视野的正中心,增加识别效率。
追踪部分脚本如下:
2.2.1 硬件设计 避障单元采用夏普GP2YOA02YKOF 模块红外传感器和HC-HR04 超声波传感器。由于红外传感器反应迅速,但易受环境影响;超声波传感器方向性好,但功率小、工作温度低[6]。本系统采用多传感器融合共同避障的方法,将超声波模块安放在小车的正前方,红外传感器1、2、3、4 分别布置在小车左前、左后和右前、右后方的位置上(见图5)。该方法能够避免使用单一传感器存在的避障效率低、准确度差的问题,能够保障系统运行的安全[7]。多传感器采集到的信号发送给STM32 微处理器,微处理器通过不同的信号组合来作出决策,发出信号波给电机驱动板,小车根据不同的信号组合采用不同的避障策略。
图5 传感器的布置Fig.5 Position distribution of sensors
2.2.2 避障策略 (1)正面障碍
小车前进时,如果超声波传感器1 和2 都检测到障碍物与小车的距离低于设定值,且红外传感器1、2、3、4 都未检测到障碍物信号,证明此时是前方遇到障碍物。
前方遇到障碍物,正面避障示意图如图6 所示,小车停车,原地进行转向,经过超声波传感器测距比对。如果是超声波传感器1 距离障碍物比较近,则设定为向右转90°;反之,则向左旋转90°。此时红外传感器能够检测到信号,从正面避障转变为侧面避障。
(2)侧面障碍
如果没有一个超声波传感器检测到障碍物信号,则证明前方无障碍。若是红外传感器1 和2检测到障碍,比较红外传感器1 和2 测定的距离,当红外传感器1 测定的距离小于2 时,则证明继续前行有左侧碰撞危险,是侧面障碍。
侧面避障示意图如图7 所示,此时小车降低车速,启动差速向右转弯控制,直到红外传感器1和2 测定距离大于安全值,继续直行。
图6 正面避障示意图Fig.6 Diagram of forward obstacle avoidance
图7 侧面避障示意图Fig.7 Diagram of side-to-side obstacle avoidance
(3)U 型避障
当超声波传感器1 和2,红外传感器1、2、3、4 都检测到障碍物信号时候,则小车遇到U 形障碍物。
U 型避障示意图如图8 所示,此时不宜使用原地转向的避障策略,容易造成程序的死循环,小车应该向后退,并且在后退的过程中边退边向某一方向进行差速转向,差速转向的方向判断通过红外传感器2 和4 测得的距离比对进行。若红外传感器2 测得的距离大于4 的距离,则证明车辆方向处于右偏状态,需要向左差速后退,实现转弯后退。直到4 个红外传感器都检测不到障碍物信号时,U 型障碍物避障结束。
图8 U 形避障示意图Fig.8 Diagram of U-shaped obstacle avoidance
驱动单元是由电机和电机驱动板组成。由于小车跨地形收集小球,需要电机提供大转矩以保证小车准确而又稳定的收集,故选用直流减速电机,电机的布置如图9 所示。
图9 电机的分组布置Fig.9 Grouping arrangement of motors
直流电机驱动模块采用L298N 作为电机驱动芯片。L298N 芯片可以驱动两个二相电机,输出电压最高可达50 V,可以直接通过电源调节输出电压,结合单片机实现对小车速度的控制。相比两驱小车,四轮驱动对不同地形的适应能力更强,系统的稳定性更好。在不改变四驱的情况下,使控制尽可能简化,采用控制二驱的方法来实现四驱。这样既能够简化控制,也增加了小车在复杂地形的通过能力。左前左后轮为一组,右前右后轮为一组进行驱动。
2.4.1 硬件设计 由于多传感器和图像识别的应用需要处理的数据多而复杂,故选用STM32 单片机。STM32 有144 个引脚,处理速度快而精准,可以接收不同传感器的信号来执行指令,从而控制智能小车来实现不同的动作[8]。
2.4.2 控制策略 控制系统的整体工作流程如图10 所示。
图10 控制系统的工作流程Fig.10 Workflow of the system
2.4.3 小车的运动控制 根据系统的识别和避障要求,需要小车做出以下动作:前进、后退、原地左转弯、原地右转弯、前进左转、前进右转、后退左转、后退右转。列出以下几种具有代表性的运动控制[9]。
1)直行控制:处理器控制电机驱动板,给出相同的驱动信号,使小车左右组轮子的转速相同,两组轮转动方向向前为前进控制;后退控制时,给出左右两组参数一致与前进信号相反的驱动信号,使两组轮反转,小车向后直线运动。
2)前进左转:当小车需要执行前进左转动作时,处理器接收到传感器信号判断后,给出两组不同的驱动信号,使小车左右两组轮子转速不同,左组轮速相比右组轮速慢,两组轮转动方向向前。
3)原地左转:当小车需要执行原地左转动作时,处理器接收到传感器信号判断后,给出两组不同的驱动信号,使小车左右两组轮子转速相同,方向相反,左组轮子向后,右组轮子向前。
2.4.4 小车的路径规划 由于高尔夫球场所处环境开阔,少障碍物,并且障碍物的位置相对固定,不是实时变动的,路径规划应以收集效率为重点,跨地形的车体结构使得小车能够便于采用遍历法来进行搜索,在小车的路径规划采用了基于逻辑推理的路径规划方法,通过小车的已有避障策略来进行路径规划。小车的路径规划示意图如图11 所示。
路径规划的描述:基于遍历法来进行球场上目标的搜索和收集,并且在搜索的过程中通过小车多传感器状态和相应采取的避障策略来进行实时的避障,其优点是对路径规划的计算量小、反应迅速,能够实时根据环境来调整新的路径。
图11 小车路径规划示意图Fig.11 Path planning of the car
为了使系统的驱动和控制信号更稳定,采用分别供电的方式来为数据处理器和电机供电。数据处理器采用3.3 V 电源,电机采用22.4 V 电源。
环境监测单元:光照度监测选用16 位数字输出型环境光强度传感器BH1750FVI,其工作原理如图12 所示。它接近视觉灵敏度,分辨率高、功耗低,并且光源依赖性弱,受红外线影响小。BH1750FVI 采集到的数据先通过IIC 通信方式传输到单片机,单片机通过计算和校正得到真实的光照强度值。当光敏电阻检测到外界环境的光强低于设定值时,开启LED 灯来辅助识别[10]。环境监测单元控制流程如图13 所示。
图12 光照监测电路Fig.12 Illumination monitoring circuit
图13 监测单元控制流程图Fig.13 Control flow chart of environment monitoring unit
智能小车避障测试环境为开阔不平整场地,场地上随机布置不同的障碍。智能小车的实物车体模型如图14 所示。为了方便测试系统的实验调试,只采用了车架部分和收集装置进行实验验证。
图14 智能小车车体实物模型Fig.14 Physical model of the intelligent car
为了验证控制系统的有效性和调试校准,本文测试了左右两组电机在不同转速差下小车的转弯半径、不同速度下的小车识别准确率、不同摄像头安装角度下的识别准确率、补光模块对识别准确率的影响以及小车避障的成功率等内容。
3.3.1 不同速度下的识别准确率 共做50 组实验,速度参数(小车运动控制程序中左右轮运动速度的数值)与小车实际运动速度部分数据见表1,结果如图15 所示。速度参数与平均运动速度的关系在0~150 呈正相关,速度参数在150 以上实际速度呈饱和趋势不再线性增加;在光照条件充足不影响准确性的情况下,智能小车的实际速度与识别准确率之间的关系如图16 所示,小车运动速度较低时,目标物在小车摄像头识别范围内停留时间较长,目标能够被正确识别的成功率高;当小车运动速度增加时,目标物在识别范围内停留时间减少,导致小车不能够在高速运动的过程中准确识别出目标物,在综合实际速度与识别准确率的情况下速度为30 ~45 cm/s 范围内识别率最高。
表1 速度参数与实际速度表Tab.1 Speed parameters and actual speed
图15 速度参数与实际速度的关系Fig.15 Diagram of speed parameters and actual speed
图16 实际速度与识别准确率的关系Fig.16 Relationship of actual speed and recognition accuracy
3.3.2 小车行驶转向控制实验 设小车与路面的摩擦足够大,不存在侧滑,小车轮子运动轨迹如图 17 所示,其中r为转弯半径,L为轴距,d为后轮距。
理想情况下转弯半径与外侧轮转速和内侧轮转速的值呈正相关。一共做了40 组实验,小车左右轮差速与转弯半径部分数据如表2 所示。在实际条件下,由于摩擦等因素存在系统的转弯半径和差速关系是:两轮差速与转弯半径成正相关(见图18)。
图17 小车转弯运动轨迹示意图Fig.17 Car turning trajectory
表2 差速与转弯半径Tab.2 Speed difference and turning radius
图18 差速与转弯半径的关系Fig.18 Relationship of speed difference and turning radius
3.3.3 不同摄像头安装角度下的识别准确率 在不同速度的识别准确率实验的基础上,当速度稳定在30 cm/s 时,更改摄像头角度,得出夹角与识别准确率关系如表3 所示。在速度一定的情况下,摄像头与Z轴夹角越小,则摄像头识别范围越小,目标物在摄像头视野中停留的时间短,识别准确率较低。摄像头与Z轴夹角越大,摄像头的识别范围越大,需要处理的图像面积大,运算数据多,识别准确率较低。在综合识别范围与识别准确率的前提下,摄像头与Z轴夹角为40° ~50°时识别效果较佳。
表3 摄像头夹角与识别准确率表Tab.3 Angle of camera and recognition success rate
3.3.4 补光模块对识别准确率的影响 在速度识别与摄像头安装角度实验的基础上,进行补光环节的影响实验。小车移动速度为30 cm/s,摄像头夹角取45°,在同样的条件下,分为开启补光和无补光两组对照实验,实验结果如表4 所示,T 表示识别成功,F 表示识别失败,在无补光情况下的识别成功次数显著低于开启补光的识别成功次数。得出结论为灯光对识别成功率有明显的影响,增加了补光环节之后成功率有明显提高。
表4 灯光状态与识别状态表Tab.4 Lighting status and recognition status
3.3.5 综合避障实验 环境布置如图19 所示,启动小车。系统进行初始化后,摄像头开始工作,小车开始行走;当小车在距离第一个右前方障碍物还有大约15 cm 时,左侧轮速度开始降低并且开始差速向左边转弯;在转向过程中,检测到左前方障碍物2,比较障碍物1 与2 的位置,判断距离障碍物2 较近,差速右转,继续前行,直到避障系统检测不到障碍时,取消轮子差速,继续向前;当检测到右前方的障碍物3 时,小车向左边差速行驶,顺利完成避障测试。
将目标物随机散落在场地周围,小车在合适的速度运行过程中能够较好地识别到目标并且追踪目标,在追踪目标的同时实现避障功能。为了防止实验测试的偶然性和验证多传感器的准确性,一共进行了50 次测试。实验结果表明:多传感器的智能小车避障成功率达到80% ,而采用单超声波传感器的智能小车避障成功率小于50% 。
综上,本系统能够在开阔不平整场地上进行对目标的识别和追踪,并且能够随时避障。一共做了50 组实验,在30 ~ 40 cm/s 速度下,避障成功40 组,其中识别成功34 组。避障成功率为80% ,在避障成功的情况下,识别准确率达到85% 。
图19 障碍物布置图Fig.19 Layout of obstacles
本文针对复杂地形的高尔夫球场内高尔夫球的收集,设计了一种能够实现目标识别追踪和避障一体的测控系统。经测试,本设计中的识别系统能够实现图像的采集和特定目标识别功能,摄像头采集到的图像清晰度能够满足要求,同时识别单元可以通过对不同的模板导入,推广应用到不同目标的识别,如正方形、长方形、二维码等的识别追踪。采用的补光模块能够使系统的使用环境范围大大提升,使用的二驱控制四驱方法能够较好地克服复杂地形的局限性,并且能够在30 ~40 cm/s 速度下完成任务,使用的多传感器综合避障能避开绝大多数障碍物,实现路径规划。