基于树莓派的车辆智能自动驾驶系统开发与实现

Python与机器学习 徐 自远 929℃

基于树莓派的车辆智能自动驾驶系统开发与实现

专注计算机技术 2019-10-10 15:12:35

车辆智能自动驾驶一直是当今前沿的科学与技术,大部分的当前自动驾驶汽车控制包括独立的调节速度、能够进行轻度的转向干预、自动巡航控制、防追尾防碰撞功能。当前的自动驾驶车辆技术尚未稳定,特别在安全性能方向上。目前的自动驾驶功能主要实现辅助驾驶,紧急情况还是得驾驶员人工操作控制车辆。本次利用的树莓派3B+控制板与实现了基本的方向控制方向、车道识别、障碍物等识别和检测,进行自动转向及速度控制。

本设计的车道线检测主要基于道路特征检测,主要是利用车道线与周边环境的特征差异进行对比分析处理,然后根据车道线特征,分割出车道,实现车道线检测。该检测方法,实时实用性较高,不容易受到道路环境干扰影响,但是复杂度较也较高。车道线检测过程中,为了提高道路检测安全准确性,系统还确定车道的图像模型,如直线型车道形状、S型车道形状,组合型车道等等,车道数等信息。该方法检测车道,有较高的准确度,但系统的运算量大需要较高的硬件性能。

调试时现实车道检测效果

调试时现实车道检测效果

车道线检测在高速上效果较好,但是如果碰到道路破损,光照环境影响摄像头采集图像等特殊性况,还是需要进一步算法,本例主要采用多特征融合及图像均衡算法,能够较好地抑制干扰。本设计车道检测部分主要通过图像灰度化、二值化、高斯滤波、边缘检测、霍夫变换算法、回归算法、计算斜率以及判断车道线转弯与否进行车道判定。

系统所用树莓派硬件核心

装配在汽车接口上的树莓派板子

道路障碍车辆及行人等障碍物检测,主要采用直方图均衡化算法,算法主要增强动态范围较小的图像反差,从而增强了像素灰度值的动态范围,增强图像整体对比度的效果,实现障碍物特征提取。直方图处理障碍物识别算法,使用每个灰度级的频率是计算并存储在媒介作进一步处理的灰度图像,算法处理时平均从存储载体的连续九个频率的计算,得出的图像均值向量用于计算受训练的图像和测试图像的绝对差异,最后选定与测试图像的最小差异标准图像,得出障碍物类别及特征,以供车俩进行操控判断,此识别的方法经不完全统计测试,准确率达96%。

最后成型系统前车左障碍右转

最后成型系统前车右障碍左转

本设计原本用40引脚的触摸LCD屏进行系统开发,因其在汽车上装配不了,故用蓝牙上传到IPAD的linux操作系统上的上位机进行显示处理过程,传输介质采集蓝牙传输,因距离短传输速率高,未影响画质。因汽车方向盘及油门改装,本人不懂,因此只能进行简单电机控制方向及速度模拟。但整体效果良好。如果支持转载的人多,后期可以贴出代码,给大家参考。

现实行车中采集到的道路情况图像受到诸如天气、光线环境、汽车抖动等很多因素影响,识别控制效果受到很多制约。若要进一步提高自动驾驶能力及适用范围,则还需要结合其它算法,如PCA、神经网络算法等。本设计实现及测试只是简单为学生参赛做的设计,只是实现基本初级的自动驾驶功能,并不是成熟的方案,提醒各位技术控,请不要随意改装车辆及在现实生活中随便测试自动驾驶。

 

基于树莓派的车辆智能自动驾驶系统开发与实现https://m.toutiaocdn.com/group/6746068863240110606/?app=news_article&timestamp=1570800729&req_id=201910112132090100080471040E81E3EA&group_id=6746068863240110606

转载请注明:徐自远的乱七八糟小站 » 基于树莓派的车辆智能自动驾驶系统开发与实现

喜欢 (1)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号