1、小车导航方案设计小车导航方案设计小车从起点到救援区的赛道部分的导航通过摄像头实现,利用摄像头对道路信息进行采集,再通过单片机MC9S12XS128对采集的图像数据进行处理,计算出小车在赛道中的位置,从而控制小车沿着赛道行驶,保证小车在整个行驶过程中不压线出界。 图3 主控芯片MC9S12XS128 图4 OV7620摄像头实物图救援区LED探测方案设计救援区设置有四个待救援位置,其中一个放置1Hz闪烁LED指示灯,其余放置常亮LED 指示灯,救援车根据1Hz闪烁LED 灯提示选择位置停车。LED的探测由光敏三极管实现。如图3所示,在小车的前方安装四个由光敏三极管制作的探测头,当小车到达救援区即
2、半圆圆心处时,立即让小车停止,分别检测半圆圆弧上四个待救援位置方向的LED发出的光强,其中光强相对较弱的为1Hz闪烁LED 灯,即要寻找的救援车停车位置。进入待救援位置方案设计当小车探测到1Hz闪烁LED 灯提示的停车位置后,小车就开始启动,行驶到待救援位置停车。然而此时小车不能再由摄像头来导航,因为救援区没有黑线制作的赛道。可以选择如下三种方案:(1) 利用由光敏三极管制作的四个探测头,探测1Hz闪烁LED 灯,引导小车进入停车位。(2) 在每个待救援位置处安装一个激光发射装置,小车上安装一个激光接受矩阵,沿着已检测出的停车位所发出的那束激光进入停车位。(3) 在小车正前方安装一个电子罗盘,
3、当小车停在半圆圆心处时,四个停车位在圆弧上的位置已经确定,每个停车位相对于小车的方向也已经确定,用电子罗盘做指南针,引导小车进入已被探测到的停车位。第一种方案比较难操作,因为四个待救援都有LED在发光,只是那个1Hz闪烁LED 灯的光会弱一些,当小车在救援区内可能会由于其他LED的影响而进错停车位;第二种方案不确定是否满足赛题的要求,赛题没有明确规定能否在停车位处放置其他的引导装置;第三种方案方便操作,只需在小车正前方安装一个电子罗盘,通过程序算法控制小车进入停车位,又满足赛题的要求。图像采集技术小车采用OV7620摄像头传感器,OV7620是CMOS彩色/黑白图像传感器,能够满足一般图像采集
4、系统的要求。摄像头采集的赛道图像为灰度图像,赛道背景的灰度值与黑色绝缘胶带的灰度值大小有差别,通过一个设定的阈值对灰度图像数据进行二值化处理,赛道背景化为1,两边的黑色绝缘胶带化为0。图像处理技术图像处理主要工作就是相对准确的提取出两边的黑色边界,然后用均值法求中线,由中线的数据实现小车的自动导航。图像数据经过二值化和简单的滤波处理后,每一行分成两边,从中间开始往两边查找0点,如果连续找到两个0点就说明找到边界,定位赛道的边界位置,计算出小车在赛道中的位置。控制技术小车舵机角度的控制采用开环控制。根据不同的检测路径,判断出小车所在位置,按不同的区间给出不同的伺服电机PWM控制信号,小车转过相应
5、的角度。速度控制采用PID闭环控制。为了使得赛车能够平稳地沿着赛道运行,需要控制车速,使赛车在转弯时速度不至过快而冲出赛道。通过控制驱动电机上的平均电压可以控制车速,但是如果开环控制电机转速,会受很多因素影响,例如电池电压、电机传动摩擦力、道路摩擦力和前轮转向角度等。这些因素会造成赛车运行不稳定。通过速度检测,对车模速度进行闭环反馈控制,即可消除上述各种因素的影响,使得车模运行得更稳定。设计思路如下:小车后轮安装的旋转编码器计算出小车实时速度,与期望小车运行的速度比较,通过PID算法得出PWM输出信号,控制后轮的驱动电机来调整小车行驶速度。救援区探测技术路线LED的探测由光敏三极管实现。在小车
6、的前方安装四个由光敏三极管制作的探测头,当小车到达救援区即半圆圆心处时,立即让小车停止,分别检测半圆圆弧上四个待救援位置方向的LED发出的光强,其中光强相对较弱的为1Hz闪烁LED 灯,即要寻找的救援车停车位置。光敏三极管的灵敏度能满足本系统的要求,当然LED的光存在散射,为了提高探测精度,可以对LED光进行调焦处理,使光束尽可能对射到对应的探测头上,还可以为探测头安装遮光筒,让其只接受对应的LED发射过来的光。效果原理图如图5所示。进入停车位技术路线因为四个待救援位置在半圆上是均匀分布的,当小车探测到1Hz闪烁LED 灯,就能确定停车位置,得出小车要偏转的角度,然后通过安装在小车正前方的电子
7、罗盘,引导小车进入已被探测到的停车位。准确进入停车位后,由停车标志物使小车停止,同时发出声光信号。本小车控制系统采用MC9S12xs128作为主控芯片,有安装在车前的光电传感器负责采集信号,并将采集到的信号传入微处理器,单片机对信号进行判别处理后,有PWM模块发出PWM波,分别对舵机和直流电机进行控制,完成小车的转向,前进和制动。同时,我们准备在小车上安装光电编码器,用来采集车轮转速反馈来的信息,并由单片机进行增量式PID控制算法处理后自动调节输入到电机驱动模块的PWM波占空比,从而对小车的速度实现闭环控制,系统的总体结构框图如下:由于隧道安排在直道上面,并不需要额外的检测,而由于赛道设有窄道
8、,因此对于车轴方向的控制要求相对严格精确,由于对赛道信息的采集显得相当重要,因此我们决定采用相对较精准的激光传感器进行道路信息的采集。而最后一个问题是当小车进入到危险区域后如何以最短的时间检测到闪烁频率为1HZ的LED,从而启动舵机奔赴该停车位,由于检测到1HZ的LED至少需要2秒,为了缩短完成比赛的时间,决定在进入赛道最后直线时便开始检测小灯的闪烁。因为小灯分散的范围比较广,小车需要扫描的面积比较大,综合以上信息,我们决定采用面行CCD扫面停车位的位置,这样小车在走完最后一段直路后,不用停留可以直接驶入停车区。小车的控制软件采用模块化的程序结构,主要包括主体循环程序, PID速度控制程序,中
9、断服务程序,速度控制算法程序,以及其他些控制程序主程序的大致流程图如图所示:四:技术路线及可行性分析:根据对被控对象的分析以及简单稳定快速智能的方针,系统的设计过程中,主要包括硬件部分,软件部分,机械部分等三个方面,硬件部分分为六大模块进行系统的设计。硬件部分4.1电源模块:电源是一个系统正常工作的基础,因此电源的设计至关重要,单片机中接受供电的部分包括:传感器模块,单片机模块,驱动电路模块,转向舵机模块。针对本系统的供电要求,采用线性稳压器对系统不同部分进行供电。常用的稳压电路分为两类:线性稳压电源和开关稳压电源。线性稳压电源是指调整管工作在线性状态下的稳压电源。而在开关电源中则不一样,开关
10、管是工作在开关两种状态下的。开关电源是一种比较新型的电源。它具有效率高,重量轻,可升、降压,输出功率大等优点,但是由于电路工作在开关状态,所以噪声比较大。而线性稳压电源是比较早使用的一类直流稳压电源,其特点是输出电压比输入电压低、反应速度快、输出纹波较小、工作产生的噪声低,但是LDO 通常效率较低、发热量大(尤其是大功率电源)由于在该系统中功耗较低,且无需过多考虑电源效率问题,因此在设计中本文使用了低压差线性稳压源。电源单元结构如图4.8 所示,由电池组输入+7.2V 电压,经过LM2940 稳压成+5V 供单片机等数字电路使用,经过LM1117 稳压中+5V 供光电传感器使用,经过7806
11、稳压成+6V 供伺服舵机使用,经U1117稳压成3.3V供给红外传感器电路。因为AD转换模块的基准电压要求稳定性好,随温度变化不明显,这样才能保证传感器采集回来的信息得到正确的处理,经比较我们选用TI公司性能最好的基准电压芯片ref5040,它稳出的电压是4.096,可以整除10位AD的1024,这样会加快单片机的处理速度。舵机模块: 舵机驱动模块是由舵机和单片机的脉宽调制模块(PWM)组成的。舵机的电源有两种规格,一种是4.8V的,一种是6V的,由于舵机的响应速度直接影响模型车通过弯道的最高速度,而其响应速度由于工作电压有关,并且考虑到6V的舵机扭矩要大一些,过我们采用工作电源为6V的HS-
12、925型舵机。MC9S12XS128 内部有8 个带周期占空比编程的独立PWM 通道,每个PWM 通道有专用的计数器,PWM 每个通道脉冲极性可以选择,J6 为三芯插头与舵机相连并为舵机提供7.2V 电源,PWM1 即脉宽调制控制信。光电传感模块:光电传感器检测路面信息的原理是由发射管发射一定波长的光线,经地面反射到接收管。由于在黑色和白色上反射系数不同,在黑色上大部分光线被吸收,而白色上可以反射回大部分光线,所以接收到的反射光强是不一样,使接收管的感光电流发生变化程度不同,而从可以将黑白路面区分开来,从而获得准确的路面信息,再进过软件算法的查找,分析出黑线的位置,从而控制车的方向。因此,在传
13、感器方案中,我们采用激光传感器实现.发射部份由 PWM 信号发出180KHz 频率的振荡波后,经达林顿管ULN2003 驱动,使激光管发光;接收部份由一个相匹配的选频约180KHz 的接收管接收返回的漫反射光线,经过电容滤波后直接接入S12 单片机的PA 与PB 口,检测返回电压的高低。由于激光传感器使用了调制处理,接收管只对敏感频率附近的窗口频率的反射光进行解调,因而可以有效防止各种场地光线对反射激光的影响。编码器模块:速度检测模块是由光栅编码器和单片机的增强型定时捕捉模块组成。编码器通过齿轮与赛车后轮轴进行传动,编码器每转动一周都会输出一定个数的脉冲,将其输出端连接在单片机的增强型定时捕捉
14、模块端口上,单片机就能捕捉到反馈脉冲,计算两次脉冲的时间间隔就能得知当前赛车行驶速度。1. 道路检测模块设计1.1直道导航小车前方安装一个CMOS摄像头,对导航车前方一定空间进行图像采集,并用DSP芯片对采集的图像进行处理,通过边缘提取的方法提取出两条黑线,然后将两条黑线延长,确保图像的像点在两条线的角平分线上,从而保证导航车不越过边线。1.2弯道导航若只用CMOS摄像头转弯,小车会不稳定,因此我们在转弯时采用光电对管导航。如图所示,通过光电对管获得先后的减速和转弯信号,促发小车执行相应程序。而CMOS摄像头,保证过弯后小车迅速归中走直。2. 入库方案设计先使小车停在圆心处,调整摄像头角度,利
15、用CMOS摄像头图像处理判断出闪烁光源,并入库。1. 视频采集系统以DSP为核心的视频处理系统中,视频采集的方法通常分为两大类:自动的视频采集和基于DSP的视频采集。前者采集模块的实现十分复杂且成本较高,后者通常由DSP控制视频解码芯片并同步各种时序,最后将视频数据读入存储器,其特点是视频采集占用DSP处理时间多,对DSP速度要求高,但实现简单且成本低。我们将采取后者“基于DSP的视频采集”方案。2. 黑线边界识别采用CMOS摄像头对黑线边界进行检测,芯片对图像进行处理(去噪,锐化,二值化),通过边缘提取算法,提取黑线轮廓,然后计算角平分线。.循迹模块 通过对本次比赛的赛道资料的了解,可看到路
16、径识别模块是车模等正常行驶的基础。路径识别方案的好坏,直接影响到比赛能否顺利进行。目前能够用于智能汽车辆路径识别的传感器主要有光电传感器、CCD/CMOS传感器和电磁传感器。光电传感器寻迹方案的优点是电路简单、信号处理速度快,但是其前瞻距离有限;CCD摄像头寻迹方案的优点则是可以更远更早地感知赛道的变化,但是信号处理却比较复杂;电磁传感器主要通过对赛道边线线产生的电磁场进行识别。综合考虑,以摄像头为主,红外传感器为辅进行路径检测,红外传感器的电路和软件设计简单,使用红外传感器对路径检测受光线的干扰较少,还可以获得很高的检测频率,弥补了摄像头频率不高,易受干扰的特点,在检测路径时可以获得可靠的信
17、息,而摄像头前瞻性好,两者可以相互补充。采用CMOS数字摄像头,其功耗较低,工作电流只有10mA左右,且从CMOS输出为数字信号,有助于提高单片机处理速度。摄像头可以用OV7620,对于智能车竞赛,赛道为白底黑线,故只需采集它的灰度值,即Y组的数据就可以完美地表现赛道,而无需去管UV引脚的信号。以下是光电传感器原理:红外光电管由于感应的是红外光,常见光对它的干扰较小,是在小车、机器人等制作中广泛采用的一种方式。红外光电管检测黑线的原理为,由于黑色吸光,当红外发射管发出的光照射在上面后反射的部分就较小,接收管接收到的红外线也就较少,表现为电阻比较大,通过外接的电路就可以读出检测的状态,同理当照射
18、在白色表面时发射的红外线就比较多,表现为接收管的电阻就比较小。选用芯片BTN7960,其为高强度电流的半桥电机驱动芯片,驱动功率大,可以满足大电流负载。用两片BTN7960可以构成全桥驱动工作原理:控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这两根线给舵机提供最基本的能源保证,主要是电机的转动消耗
19、。电源有两种规格,一是4.8V,一是6.0V,分别对应不同的转矩标准,即输出力矩不同,6.0V 对应的要大一些,具体看应用条件;另外一根线是控制信号线,Futaba 的一般为白色,JR 的一般为桔黄色。舵机的控制信号为周期是20ms 的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0180 度,呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。舵机内部有一个基准电路,产生周期20ms,宽度1.5ms 的基准信号,有一个比较器,将外加信
20、号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。PWM的简要介绍:PWM 听起来很专业其实在本文所讲的应用中很简单,专业一点的讲就是脉冲宽度调制,说白了也就是占空比可变的脉冲波形。也就是说用单片机产生一定周期的方波,而且方波中高电平的时间可以已自己调整,这就是PWM 波。示波器上显示的图形如图所示。之所以在这里先将PWM 的相关知识是因为在智能小车的设计中PWM 是很重要的一个应用,首先舵机的控制就是给定占空比的方波来实现不同的转角的,其次后轮电机的调速也是通过不同占空比的方波来实现。舵机的控制:对舵机的控制信号时由一串周期18-20ms,其中高电平时间1-2ms 的方波信号组成
21、。当高电平时间为1ms 时舵机左转60,当高电平时间为2ms 时舵机右转60转过的其他角度与高电平的时间呈线性关系。也就是说每0.1ms 的高电平变化就会影响舵机12的转角,使用舵机时有以下注意事项:1. 在舵机安装完成后无法保证舵机0的转角刚好就是车轮指向正前方,因此0转角也就没有任何意义,必须根据小车的安装情况设定参考点。2. 在实际应用中可能无法做到舵机的连续可调,可以设定固定的几个转角,当然如果设定的转角数越多舵机的转向过渡就会显得越平滑控制效果就越好。3. 实际应用中舵机可能各有不同,方波的周期也不一定是严格的20ms,因此在小车的控制之前先要写一段测试程序对舵机进行转角测试,同时也为程序的编写提供数据。采用增量式光电编码器,通过齿轮传动的方式将测速电机上的齿轮与差速齿轮啮合,获得小车前进的速度。可以用100线的小型编码器,安装方便,重量轻巧。