张航,刘涛,夏嘉斌,张玉虎
(北京信息科技大学仪器科学与光电工程学院,北京 100192)
基于视觉自主决策小车应用与实现
张航,刘涛,夏嘉斌,张玉虎
(北京信息科技大学仪器科学与光电工程学院,北京 100192)
循迹;单目视觉;速度检测;环境光调节
随着智能化概念的提出,自动化的进程,人们也将追求更为便捷的生活方式。在汽车行业,众多的企业开始涉足并考虑,对作为代步工具的汽车进行智能化的研究,最为关键的就是无人驾驶技术。
智能汽车最为基础的功能是通过摄像头、传感器采集外部信息如:汽车前侧方静止或动态障碍物;车后追尾风险的汽车;倒车时车后的障碍物等。进行自我决策并作出相应反应:自主识别,自主制动,车速控制,自主驾驶绕开障碍物并沿所设定的轨迹行进。而作为移动机器人的分支,智能小车通过自带摄像头、传感器识别并自主绕过车边障碍物,沿预设轨迹行进,辅助人类进入复杂的环境到达指定位置进行下一步工作。
根据各类智能车竞赛规则,基于视觉自主决策的小车首先要能在平坦路面沿既定路径引导行驶。本系统采用飞思卡尔单片机MK60DN512ZVLQ10作为系统控制核心,通过TSL1401CL线性CCD、E18-D80NK红外传感器识别行进途中随机出现的障碍物,并重新规划路线。通过E6A2-CW5C 500P/R光电编码器检测并控制电机调整运行速度,通过舵机控制方向偏转,从而达到自主决策小车的循迹、避障、速度调整、道路信息实时显示等基本功能。系统总体结构框图如图1所示。
图1 系统总体结构框图
1.1核心版模块
系统选择飞思卡尔 Kinetis系列的 MK60 DN512ZVLQ10微处理器,其电路图引脚如图2所示。内核为ARM Cortex-M4,具有32通道的DMA用于与外设进行数据传输[1]。自带的DSP指令可提供不同级别的CPU频率,可以高速处理大量数据,实现信息与程序的无卡顿处理。而内核针对经典单片机应用设计,功耗小、成本低、中断响应快,尤其适用于需要图像采集及处理的实时高速系统。
图2 MK60DN512ZVLQ10芯片电路图
1.2图像采集模块
检测小车行进方向与赛道的相对偏移量、转折方向是实现小车自主行进的信息基础,本车采用蓝宙电子TSL1401CL线性CCD,经调试,由支撑杆固定在车体上方18cm处效果最佳,可以在较远距离,大范围地采集赛道信息,其可探测视线宽度可达32cm,分辨率为1mm。
图3 TSL1401线性传感器引脚及连接图
并且TSL1401线性传感器驱动程序比较简单,如图3所示,只需要MCU控制CLK及SI两个引脚安装特定的时序发出方波信号AO引脚就会依次输出128个像素点的模拟信号[2]。以下是TSL1401线性传感器时序图:
图4 TSL1401线性传感器时序图
1.3车速检测模块
在自主决策小车行驶过程中,会有很多因素对其速度产生影响:道路摩擦力、前轮转向角度等。容易产生运行不稳,甚至冲出跑道的结果。为了消除大部分影响,自主决策小车的速度采取闭环反馈控制,选用精度较高的欧姆龙500线光电编码器进行测速。在小车后轮车轴上安装编码器,使其齿轮与车轮齿轮紧贴,电动机旋转时,编码器与其间速旋转,编码器每转过一圈将产生500个脉冲信息,通过计算每秒光电编码器输出脉冲个数即可反映当前车速,其电路原理图如图5所示。
图5 欧姆龙编码器电路原理图
2.1系统主程序设计
基于视觉自主决策小车系统软件框图如图6所示,其中主程序内包含了时钟初始化、PWM初始化、IRQ初始化以及控制算法等程序。全系统操作流程图如图7所示,利用线性CCD采集得到车前白线信息,通过图像处理算法并将CCD探测范围加大,可提前预测白线走向,从而在弯道前做到提前转向或从内侧弧以较短路径通过弯道;直道前使用靠前的数据控制转向,从根本上预防了直道左右摆动的状况。速度控制方面,采用欧姆龙编码器采集智能小车的速度信息,通过当前速度以及相关算法对小车舵机、电机进行优化控制。
2.2环境光的优化程序设计
TSL1401程序简单,但其输出信息与环境光密切相关:自然光条件下比日光灯下AO引脚输出电压值高很多;正对光源比背对光源输出电压值高;白炽灯情况输出电压高与日光灯。同一参数(曝光时间、光圈大小)下难以适应强弱光变化。因此需要使智能车实时感知环境依据实际情况调整曝光量。在可调节参量中,曝光时间可通过自适应策略进行调节[3]。
图6 系统软件规划框图
图7 系统程序总流程图
如图8所示,该曝光时间自适应策略时间为闭环控制,调节对象为曝光时间,反馈的是线性CCD感应到的曝光量。其原理为将设定的曝光量减去实际曝光量,得到曝光量的偏差e,调节器用Kp与e相乘并加上上次曝光时间作为新的时间进行曝光[4]。取一次采集到的128个像素电压平均值作为曝光量当量,即设定了128像素点平均电压值。
图9 自适应曝光程序
其中自适应曝光程序流程图如图9,曝光控制中断程序每1ms执行一次,每次中断将TimerCnt20ms计数器自加,根据曝光时间IntegrationTime计算曝光点integration_piont(取值范围2~20),如果曝光点等于当前计数器则开始曝光,当TimerCnt20ms等于20时,重置TimerCnt20ms,同时置位TimerFlag20ms标志位,通知主程序20ms程序执行。
2.3道路引导线的提取
利用CCD进行白线提取,判断出正前方的轨迹线与行进方向的相对位置,从而进行调整。图10所示为线性CCD采集的128像素点电压通过CCDView界面模拟绘制的曲线。
图10 CCDView软件界面128像素点电压模拟绘制曲线
从软件模拟绘制的曲线中,可以明显看出白线的特征位置[5]。因此选择采取单行白线提取算法与找凹槽算法提取出位置信息,其中阈值设定为25:从左端第一有效数据点开始依次向右进行比较,以某点N作为原点,判断其与N+3差值是否大于阈值,若成立则记为i,从i开始继续判断自i+3起到最末一位之间差值是否大于阈值,若成立则将N+i/2+2的坐标赋值给白线中心位置。按照白线位置与标定的中心相对位置对舵机进行控制,从而实现方向的调整。利用此算法所得的白线提取除了可靠,实时性也好,失去白线目标后依然可以记住白线信息是从左侧或右侧消失,从而控制舵机的转向。
本文研究了基于视觉自主决策小车在比赛环境下的应用,对视觉循迹小车系统进行了论述。小车系统采用自适应曝光的方式减少环境光变化的影响。引用单行白线提取算法实现道路引导线的位置提取,可以准备判断路径与行进方向相对位置进行调整,能够顺利通过直角弯、120°弯以及交叉路口。使用光电编码器对小车速度进行检测,闭环控制车速的变化。经比赛场地测试,智能小车能够基于视觉自主进行判断,完成循迹、避障与速度控制,且系统运行稳定。
[1]于少东,黄丹平,田建平等.基于Kinetis K60的智能车控制系统设计[].四川理工学院学报(自然科学版),2014,27(5):37-42.
[2]赵万欣,陈思屹.基于TSL1401线性CCD的智能巡线小车[J].工业控制计算机,2014,27(2):121-122.
[3]韦士飞,张建锋,门思鹏.基于单目视觉的智能寻迹小车设计与实现[].宝鸡文理学院学报(自然科学版),2013,33(3):41-45.
[4]魏玉虎,石琛宇,姜建钊等.基于视觉的智能车转向控制策略[].电子技术应用,2009(01):130-134.
[5]李俊,王军辉.基于MC9S12XS128控制器的智能车图像处理技术研究[].化工自动化及仪表,2012(02):190-193.
张玉虎(1991-),安徽人,本科,研究方向为测控技术与仪器
夏嘉斌(1993-),浙江人,本科,研究方向为测控技术与仪器
Tracking;Monocular Vision;Speed Detection;Ambient Light Adjustment
Implementation of Application of Visioin-Based Autonomous Decision-Making Trolley
ZHANG Hang,LIU Tao,XIA Jia-bing,ZHANG Yu-hu
(School of Instrumentation Science and Opto-electronics Engineering,Beijing Information Science&Technology University, Beijing 100192)
张航(1994-),男,湖南东安人,本科,研究方向为光信息科学与技术刘涛(1998-),河北人,硕士,研究方向为光电检测
2015-11-26
2015-12-26
重点探究基于视觉的自主决策小车在竞赛环境下的环境光自主调节,针对复杂多变的环境光影响,对小车的软件部分进行设计,研究了环境光对CCD成像的影响及处理方案。该小车采用飞思卡尔MK60DN512ZVLQ10单片机,TSL1401CL线性CCD,软件上基于自适应曝光策略与白线提取、找凹槽算法,实现环境光优化、路径识别与车速控制。实验结果表明,可以实现基于视觉的自主决策行驶。
Key explores the vision-based autonomous decision-making in the competitive environment of the car ambient light self-regulation, ambient light for complex,part of the car's software was designed to study the environmental impact of light on the CCD imaging and treatment options.The car MK60DN512ZVLQ10 Freescale microcontroller,TSL1401CL linear CCD,software strategy based on adaptive exposure and white line extraction algorithm to find the groove,to achieve optimization of ambient light,the path identification and speed control.Experimental results show that can be achieved with vision-based autonomous decision-making.