APP下载

无人小车自动避障控制系统优化设计

2019-03-08吴琦王超窦华珊

西部论丛 2019年7期
关键词:分类器树莓障碍物

吴琦 王超 窦华珊

摘 要:介绍了解决无人驾驶汽车碰撞的安全和识别障碍物属性的问题的实际有效方法,本无人自动驾驶障碍识别防撞系统硬件部分主要由两大部分构成:自动形式的无人小车和识别装置两大块。小车平台采用模拟小汽车的四轮驱动设计,电机驱动使用TB6612,这款芯片可以驱动两个电机,同时体积小巧,直接将其集成到了电路板上,使得设计外观简洁明了。识别平台处理器选用树莓派,体积小且廉价。使用CSI接口的摄像头模块专为树莓派设计,与树莓派兼容性较好,驱动程序完善,市面上提供的摄像头模块各种参数型号都较为齐全,在同等价钱的前提下,性能更优。识别部分通过使用人脸特征分类器实现基于OpenCV的人体特征检测。以上设计可以有效解决无人车运行过程遇到的相关问题。

引 言

发达国家从20世纪70年代开始进行无人驾驶汽车研究,目前在可行性和实用化方面,美国和德国走在前列。然而,由于技术上的局限和预期目标过于复杂,到20世纪80年代末90年代初,各国都将研究的重点逐步转移到问题相对简单的高速公路上的民用车辆的辅助驾驶项目上。国内在此领域相对英美等国家起步较晚,目前仍处于初级阶段,各种处理芯片和驱动电机的问世推动了反展,而无人车的自动障碍识别并躲避是其中的关键技术问题,如何实现高效安全还需要做进一步研究。

本文提供一种自动避障系统,旨在解决无人驾驶汽车碰撞的安全和识别障碍物属性的问题。使用各传感器保证车辆直线行驶,识别障碍物距离的前提下利用摄像头图像识别算法识别障碍物属性,属性分为人于物体,然后决策无人驾驶小车下一步行为。距离识别主要依靠无人驾驶平台的车载激光和超声波,障碍物属性识别主要依靠摄像头的图像识别算法,和人体传感器来实现。使用摄像头来识别物体特征属性,从而在编程上区分了物体与人。本文还加入了人体传感器,因为一些仿真模型也会导致摄像头的误判,加入了人体传感器之后大大减少了摄像头误判的可能性。[1]本系统总体流程图如图一所示。

1驱动模块

本文涉及的自动驾驶小车平台采用的主控芯片是STM32F4系列的芯片,拥有多个定时器PWM输出、ADC等功能外设,采用模拟小汽车的设计四轮,需要驱动四个车轮前进,整个车的电源不能使用普通小电源,因为电机满转驱动电流较大,可能会烧坏电源。电机驱动使用TB6612,这款芯片可以驱动两个电机,同时体积小巧,本文在设计的时候直接将其集成到了电路板上,使得设计外观简洁明了。另外由于四个车轮完全是独立控制,不是实际汽车的机械就来保证走直线,所以必须使用一定策略來使得车辆走直线。本文使用了电机编码器,编码器可以输出数量固定的脉冲数,通过主控芯片的定时器捕获这些脉冲就可以得到每个车轮转过的角度,车辆行走距离。在车辆不打滑的情况小这一点问题都没有,但是当车辆在行驶过程中发生了打滑情况时,车轮的情况就不能完全反应车辆的实际运动情况了,所以本实用新型在车辆上加了MPU9250传感器,这个传感器是九州陀螺仪和加速度计的集合,还集成了地磁仪,可以精确知道车辆当前角度位置,这样就可以精度控制小车走直线了。

2搭建检测系统

2.1摄像头数据采集模块原理介绍

本文所涉及的摄像头参数如表一所示。树莓派支持市面上大部分的摄像头模块,树莓派支持两种与摄像头的图像传输方式:1.通过USB协议连接2.通过摄像头专用接口CSI接口连接。市面上的USB摄像头大多是成熟产品,产品参数选择余地较小且一般体型较大,不适宜作为产品开发使用。使用CSI接口的摄像头模块专为树莓派设计,与树莓派兼容性较好,驱动程序完善,市面上提供的摄像头模块各种参数型号都较为齐全,在同等价格的前提下,性能更优。在经过比较后选择了一款CSI接口摄像头模块。表一所示是本设计中选用的摄像头模块的参数。[2]

2.2识别平台处理器构建

树莓派(RaspberryPi)是一款开源硬件,通过装载相应的Linux系统和相应的应用程序,实现其强大的功能,同时体积小又廉价是它的又一优势。树莓派是一个小型基于ARM的PC主板,以MicroSD卡位内存储硬盘,拥有USB接口、HDMI视频接口、CSI摄像头接口、音频接口、蓝牙、WIFI、网口等外设。上述所有外设集合起来放在一个比信用卡稍大的电路板上,只需连接键盘、鼠标、显示器等外设便可以实现PC的全部功能。树莓派分为A、B两种型号,主要区别:A型:1个USB口、无线网络连接、功率2.5W,500mA;B型:2个USB、支持有线网络、功率3.5W,700mA。本实用新型实施例中需要对图像进行大量运算处理,需要性能较强的工控机,为便于开发需选择拥有较多I/O口,拥有网口与WIFI等外设的单板电脑。考虑到要做到尽量缩小体积最终选择树莓派3B这款单板电脑。其主要优势如下:

1.搭载1.2GHz的64位处理器(ARMCortex-A53内核)性能更强劲

2.增加802.11b/g/n无线网卡

3.增加低功耗蓝牙4.1适配器

4.最大驱动电流增至2.5A

2.3图像识别算法

如何识别前方障碍物属性,图像识别算法是本实用新型的重点,好的识别算法应对识别区域背景、有无物体遮挡。本文涉及的识别任务分为三部分:第一要识别前方是否有障碍物,一旦有障碍物就需要停车减速,这个主要通过超声波来实现,目前已经实现10米左右距离的物体检测。第二是识别障碍物属性,属性分为人、物体、动物三种,首先区分物体,这很容易,只要利用物体与人最大区别,用红外探测就可以实现。第三即人与动物的区别,目前做法是利用摄像头识别人体轮廓,或者识别人的特征部位如眼睛、耳朵、脸等。如果识别到有,就可以判断为是人体存在,否则反之。总体流程如图二所示。人体轮廓识别的实现基于OpenCV的人体特征检测,共分两步。第一步就是训练人脸特征分类器,第二步就是利用训练好的分类器进行人脸检测。目标分类器检测方法最初由PaulViola提出,并由RainerLienhart对这一方法进行了改善.首先,利用样本(大约几百幅样本图片)的harr特征进行分类器训练,得到一个级联的boosted分类器。训练样本分为正例样本和反例样本,其中正例样本是指待检目标样本(例如人脸或汽车等),反例样本指其它任意图片,所有的样本图片都被归一化为同样的尺寸大小(例如,20x20)。分类器训练完以后,就可以应用于输入图像中的感兴趣区域(与训练样本相同的尺寸)的检测。检测到目标区域(汽车或人脸)分类器输出为1,否则输出为0。为了检测整副图像,可以在图像中移动搜索窗口,检测每一个位置来确定可能的目标。为了搜索不同大小的目标物体,分类器被设计为可以进行尺寸改变,这样比改变待检图像的尺寸大小更为有效。所以,为了在图像中检测未知大小的目标物体,扫描程序通常需要用不同比例大小的搜索窗口对图片进行几次扫描。分类器中的“级联”是指最终的分类器是由几个简单分类器级联组成。在图像检测中,被检窗口依次通过每一级分类器,这样在前面几层的检测中大部分的候选区域就被排除了,全部通过每一级分类器检测的区域即为目标区域。目前支持这种分类器的boosting技术有四种:DiscreteAdaboost、RealAdaboost、GentleAdaboostandLogitboost。"boosted"即指级联分类器的每一层都可以从中选取一个boosting算法(权重投票),并利用基础分类器的自我训练得到。基础分类器是至少有两个叶结点的决策树分类器。Haar特征是基础分类器的输入。使用分类器之前需对图像进行预处理操作,大致为以下几步。首先将彩色图像转变为灰度图像并进行滤波操作去除噪点信息。然后对图像进行直方图均衡化操作使图像对比度增强。对于分类器的使用大致要经过三个阶段,从文件中加载分类器、利用分类器进行检测、检测完成后释放分类器。这三个阶段对应三个函数:cvLoadHaarClassifierCascade、cvHaarDetectObjects、cvReleaseHaarClassifierCascade。[3]

3结论

STM32F4系列的芯片配合树莓派搭建的小车系统,进一步提高了测量系统的精确度,降低了误差。经过测试此种识别方法可以完成绝大多数场景下的人体识别,效果较好,便于无人自动驾驶装置识别躲避障碍。

参考文献

[1] 鲁维佳,刘毅,潘玉恒主编.AltiumDesigner6.x电路设计实用教程[M].北京:北京邮电大学出版社.2014.

[2] 陈海宴编著.51单片机原理及应用于KeilC与Proteus[M].北京:北京航空航天大学出版社.2013.

[3] 陈卓等编著.嵌入式系统开发[M].北京:电子工业出版社.2009.

猜你喜欢

分类器树莓障碍物
学贯中西(6):阐述ML分类器的工作流程
高低翻越
赶飞机
月亮为什么会有圆缺
基于AdaBoost算法的在线连续极限学习机集成算法
一种统计分类方法的学习
黄金水果红树莓
树莓红了 游人醉了
e络盟率先推出第三代树莓派
年度睡姿大盘点(下)