基于单片机的智能小车防撞系统设计

2019-09-24 01:16高琳琳姚建红袁青松
常熟理工学院学报 2019年5期
关键词:防撞中线舵机

周 玮,高琳琳,姚建红,袁青松

(常熟理工学院 汽车工程学院,江苏 常熟 215500)

现有情况下,智能小车以追求高速度为目标,未涉及防撞系统设计. 智能小车在寻迹过程中,受场地因素影响较大,在弯道和十字路口处易冲出赛道,故本文对弯道识别及进出口十字路口算法进行了优化.同时针对智能小车在冲出赛道后速度较高,在没有围栏的情况下撞向坚硬的墙体或者障碍物,容易对传感器及车身造成损害的缺点,本文设计了防撞系统,该防撞系统可以在小车撞向障碍物之前及时制动,保证了小车行驶的安全. 本文设计思路可以延伸运用至家用汽车上,如在大雾天气行驶中,难以判断前方运行状况时,该系统通过自行检测,可有效避免与前方障碍物相撞,保证乘客的乘车安全[1].

1 整体系统设计思路

图1 整体系统控制框架图

整体系统由防撞系统、图像采集与处理、速度转向系统组成. 图像采集与处理、速度转向系统控制智能小车完成寻迹;防撞系统起保护与避障作用,整体系统框架如图1所示.

图像采集与处理包括采集赛道信息、赛道处理、提取中线3部分. 采集赛道信息是指利用线性CCD采集赛道上的光线,然后将其转化为128个灰度值,存放在一维数组中. 而智能小车寻迹赛道是依据不同颜色对光线的反射强度不同设计的. 在对光的反射中,白色最强,蓝色弱于白色,黑色最弱,故所设计的寻迹赛道是白色的. 赛道铺设在蓝色地垫上,赛道两边用宽度约为25 mm的黑色胶带包住,部分赛道图如图2所示. 由于光线的反射强度不同,所以线性CCD采集到的灰度值大小会不同. 其中白色处大于蓝色处,蓝色处大于黑色处,所采集到的灰度值图像如图3所示. 其中横坐标代表像素点的位置,纵坐标代表灰度值的大小. 根据灰度值跳变点可以较容易地提取赛道边界,然后根据不同的赛道判断是否需要执行补线决策,最终找到赛道中线位置.

速度转向系统包括速度控制和舵机控制两部分. 速度控制使智能小车在运行过程中始终处于目标速度,速度控制使智能小车达到直道加速、弯道减速的目的. 舵机控制针对的是智能小车的转向问题,智能小车在直道中和十字路段处需要使舵机处于中间位置,而在弯道处,舵机需要向左或者向右打一定的角度,以保证小车顺利通过弯道.

防撞系统选用超声波传感器作为主要传感器. 当智能小车冲出赛道时,启动超声波传感器,检测智能小车与前方物体的距离,若该距离小于设定的距离,则紧急制动小车,从而达到防撞效果.

图2 部分赛道图

图3 赛道灰度值图

2 图像采集与处理

首先将CCD采集到的数据放到一维数组中. 由于赛道的特殊性,CCD反馈的这组数据大小不同,且在黑色胶带处的数据会出现跳变点,所以将对赛道的分析转换为对数组数据的分析. 在数据处理中,采用从中间向两侧的数据处理方法,寻找跳变点的位置,再根据跳变点所处的位置,判断智能小车所处路段,智能小车在不同路段需要执行不同的处理决策[2].

2.1 识别赛道

在整个赛道中,除了直线赛道和障碍赛道外,其余各处赛道均会出现丢线问题. 如果在丢线的情况下不采取补线措施,智能小车无法提取正确的中线,将无法完成寻迹. 故要先进行赛道识别,判断当前赛道种类,判断是否需要采取补线措施.

2.2 直道判断

智能小车在直道上运行时要进行加速处理,故要对直道进行预先判断. 由于赛道的特殊性,在黑色胶带处的灰度值最小,故会在黑线处产生跳变点,如图4所示,将这两个点的坐标记录下来. 直线赛道呈对称分布,故跳变点1的位置坐标与跳变点2的位置坐标也会处于一个对称区间内. 所以当采集到两跳变点的位置处于对称区间内时,便执行直道加速决策.

2.3 弯道判断

小车在进入弯道时要执行两个决策:第一,入弯减速;第二,入弯转向. 先用摄像头拍摄弯道处的一幅图(见图5). 从图像上不难发现,智能小车在进入弯道时,其一侧会出现丢线的现象. 后改用线性CCD进行测试,如图6弯道波形图所示,在弯道处的灰度值会出现一侧没有跳变点的现象,这样就无法提取准确的中线,从而无法控制智能小车的转向. 所以,我们要在弯道处做出补线决策. 另外,依据上述特性可知,弯道处会出现一侧丢线的现象. 根据这一特征,我们可以设置弯道标志位,当进入弯道时进行降速处理,并且开始对弯道做出补线决策.

2.4 十字判断

图4 直道波形图

图5 弯道丢线二值化图

图6 弯道波形图

十字路口的特点是左右都会丢线. 先用摄像头在十字路口处拍摄一幅图像,如图7所示. 不难发现,十字路口的左右处均会出现丢线问题. 后改用线性CCD在十字路口处采集波形,如图8所示. 从上位机上不难发现十字路处的波形均无跳变点,这样就无法提取中线,如果不加以处理,智能小车就会在十字路口处出现“摇摆”现象. 故根据十字路口无跳变点这一特点,可以较容易地找出十字路口.

2.5 提取中线

直道上提取中线的方法如下:采用从中间向两侧寻找边界的方法,因为黑色边界与白色赛道的灰度值差距较大,所以在某一处灰度值肯定会出现跳变. 如果该点右侧的点大于左侧的几个像素点(从中间向左寻找)并大于某一特定的差值,则认定该点为边界点. 最终在直线赛道上找到两个坐标点,记录这两个点的位置,分别为“LeftMAX”,“RingtMIN”. 这两个点便为两侧黑线的位置,最终将这两个位置相加除2,得到的就是中线[3].

弯道处提取中线的方法如下:先由中间两侧寻找黑线,由于弯道处一定有一侧丢线,一定有一侧能找到黑线. 如果是采集到左边丢线,那么判定智能小车即将进行右转弯,需要左侧补线. 此时用64(赛道的中间位置)减去赛道宽度,得到左侧位置. 如果采集到右边丢线,需要右侧补线,那么判定智能小车即将进行左转弯,此时用64(赛道的中间位置)加上赛道宽度,得到右侧位置. 最终记录下两个点的位置,分别为“LeftMAX”,“RingtMIN”. 这两个点便为两侧黑线的位置,最终将这两个位置相加除2,得到的就是中线.

十字路口处提取中线的方法如下:由于十字路口处均与一小段直线赛道相连,所以当智能小车在到达十字路口前和经过十字路口时,均处于直线行驶的状态,故智能小车判断出十字路段时,直接将中线值定义为赛道的中间值,即64. 而舵机转角大小与舵机转向需根据实际中线与设定中线(设定中线值为64)之间差值来定,故当智能小车处于十字路口时,实际中线与设定中线差值为0,舵机便处于中间位置,此时不会出现“摇摆”现象.

图7 十字路口二值化图

图8 十字路口波形图

3 转向与速度控制

图像采集与处理的目的是控制小车行驶速度与舵机转向的前提. 由于赛道是模拟正常的道路系统,会出现弯道、十字路口等路况,所以智能小车必须要进行转向控制. 整个智能小车的设计以追求高速度为主要目标,在行驶过程中要做到直道加速,提高其动力性,弯道减速,保证顺利过弯.

3.1 舵机控制

舵机利用PWM波进行控制,其中舵机转角与周期、PWM波关系如图9所示. 在智能小车实际运行中,舵机转角大小与舵机转向所依据的参数是实际中线与设定中线(设定中线值为64)之间的差值. 利用该差值调整PWM波,从而改变舵机的转向与转角[4].

3.2 电机控制

图9 舵机输出转角与输入信号脉冲宽度的关系

智能小车速度控制有开环控制和闭环控制两种方式. 但开环控制无数据反馈,不能确定智能小车是否达到目标速度,故本文选用闭环控制,同时采用PID精确控制车速. 由于车模始终处于运动过程中,车速不像开环那样处于稳定状态,所以静态误差基本没有影响,故选用PD控制. 控制公式如式1所示,控制原理图如图10所示.

4 防撞控制系统设计

防撞系统需要先判断智能小车是否冲出赛道,具体判断方法如下:当智能小车冲出赛道时,很难采集到黑线. 由于智能小车在十字路口处也难以采集到黑线,但时间较短,故当智能小车连续1.5 s以上未采集到数据时,则判断为冲出赛道,此时启动超声波传感器.

超声波传感器在启动后,会向单片机实时传送采集到的距离,单片机根据所返回的距离做出如下决策:如图11所示,单片机内部设置两个固定阈值Stop1、Stop2. 当反馈的距离大于Stop1时,智能小车继续前进,不执行任何操作. 当反馈的距离大于Stop2且小于或等于Stop1时,单片机输出一个不断减小的电机PWM值,致使智能小车开始大幅度降速. 待距离小于或等于Stop2时,单片机输出一个为零的电机PWM值,使得智能小车的车速为0,从而防止撞击障碍物[5].

图10 PID控制原理图

图11 防撞系统图

5 系统测试

按照上述要求,完成整个系统的搭建. 将搭建好的智能小车(图12)放在具有障碍物的赛道上,检测其防撞性能,要求智能小车检测到障碍物时立即停车,该效果可以在OLED上显示. 在正常行驶时,显示界面如图13所示;遇到障碍物启动避障系统如图14所示.

6 总结

本文所述寻迹系统先用线性CCD采集赛道处的灰度值,然后处理赛道,对丢线处补线以及十字路口处做相关处理决策,最终求取中线. 利用所求中线,计算与理论位置的偏差,用该偏差控制舵机的转向,同时根据赛道类型控制电机转速,实现弯道减速、直道加速的目的. 防撞系统需要使智能小车在撞上障碍物之前停下来,从而保障智能小车的安全. 按照上述设计出实物,经实验发现优化后的寻迹算法提高了智能小车行驶车速和过弯稳定性;所设计的防撞系统可在智能小车撞向障碍物之前提前制动,保障了智能小车的安全.

图 12 实物图

图13 正常工作界面

图14 避障工作界面

猜你喜欢
防撞中线舵机
含齿隙弹载舵机的全局反步模糊自适应控制
啄木鸟的防撞科学
课本内外
课本内外
——书写要点(三)
铝合金在汽车前防撞梁轻量化中的应用
基于dsPIC单片机的飞艇舵机控制实现
课本内外
基于高速同步485总线通信的多通道舵机控制器设计
雾天上高速 防撞有招数
空中交通防撞系统(TCAS Ⅱ)的排故与维护