基于光电导航无人驾驶智能车设计
2014-03-16西南科技大学理学院
西南科技大学理学院 陈 浩 甘 露
1.研究内容
设计一辆具有光电导航功能的智能车,要求在指定赛道上从起点出发,经过现场随机确定的至少5个十字或丁字路口(包括左转、右转或直行)后,进入指定位置的停车位并停好,结束后发出声光提示。
2.研究方案
本方案采用模块化的设计方式来实现智能车稳定及快速的性能,主要由MC9S12XS128控制核心、电源管理模块、道路识别模块、车速检测模块、舵机控制单元以及直流电机驱动单元构成。
本设计采用OV7620数字摄像头采集道路前方的路况信息,转换成图像之后经单片机分析,驱动舵机控制单元,实现左转或者右转的功能;利用光电编码器来检测速度,经单片机分析处理驱动直流电机控制单元,实现加速或者减速的功能;采用电源管理模块分别为各个模块提供所需要的电源电压。
3.技术路线及可行性分析
3.1 技术路线
本设计方案采用模块化的方式来实现对智能车性能的分别控制,如图1所示:
图1 系统结构图
3.2 可行性分析
3.2.1 硬件部分
3.2.1.1 核心控制单元
本智能车是基于Freescale公司的16-bit单片机MC9S12XS128控制的。MC9S12XS128单片机具有设计灵活性、平台兼容性的特点,并对电子平台实现了可升级性、硬件和软件可重复性以及兼容性。S12X系列单片机既经济又可兼容带XGATE协处理器的S12XE系列单片机,从而削减了成本并缩小了封装尺寸。
MC9S12XS128单片机CPU属于增强型16位CPU,片内总线时钟最高40MHz;其片内具有8KB RAM、128KB程序闪存、2KB数据闪存;脉宽调制模块(PWM)可设置成8路8位或者4路16位,逻辑时钟选择频率宽;具有1个8路12位精度A/D转换器;另外片内还具有增强型捕捉定时器。完全可以胜任大量的数据处理和控制工作。
3.2.1.2 路径识别单元
市面上常见的摄像头主要有CCD和CMOS两种:CCD摄像头具有对比度高、动态特性好的优点,但工作电压为12V,需要对电池电压进行升压处理;CMOS摄像头体积小,耗电量小,图像稳定性较高。对于CMOS摄像头分为数字和模拟两种。数字摄像头OV7620可以直接输出8路数字图像信号,使主板硬件电路的简化成为可能,且能够达到60帧/S的帧速率,因此我们选用数字摄像头OV7620,如图所示。
OV7620是1/3CMOS彩色/黑白图像传感器。它支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式;最高像素为664×492,帧速率为30fps;数据格式包括YUV,YCrCb,RGB三种,能够满足智能车图像采集系统的要求。
基本参数如下:
◆大小:33x27x24(mm);
◆扫描方式:逐行/隔行扫描;
◆信噪比:>48dB;
◆最大像素:(H)664x(V)492;缺省有效像素:(H)640x(V)480;
◆5V电源供电;
◆工作时功耗<120mW,待机时功耗<10uW。
图2 OV7620图像传感器
图3 OV7620引脚示意图
3.2.1.3 电机控制单元
智能车的速度一般表较快,通常速度达到2m/s以上,因此对电机驱动电流要求比较高,电机驱动电路必不可少。
我们使用BTS7960驱动芯片。这种芯片的好处是外围电路简单。通过设计电路,能使电机正转以及翻转反转,而且使用PWM波控制,能起到很好的驱动效果。具体情况见图4所示:
图4 电机控制单元
3.2.1.4 速度检测模块
光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器由光栅盘和光电检测装置组成,当光栅盘开始旋转,经发光二极管等电子元件组成的检测装置检测出若干脉冲信号,通过计算一定时间光电编码器输出脉冲的个数就可以反映出当前的速度。
本设计中选用欧姆龙E6A2-CW5C旋转编码器,单相输出,每圈500个脉冲,5V电压供电。
图5 6A2-CW5C旋转编码器实物图
3.2.1.5 电源管理单元
电源是一个系统正常工作的保障,关系着小车是否能正常的运行。
本设计采用7.2V 2000mAh Ni-Cd电池供电。而单片机和传感器需要5V电源,舵机需要6V电源,电机驱动模块则需要7.2V电源,因此我们需要稳压芯片降低电压以提供给各个模块使用。
经过大量选型和测试过后,我们选择了LM2576和TPS7350。LM2576是外围电路简单,散热快,最大输出电流3A,经过TPS7350稳压后,输出5V,对单片机、传感器和测速模块等供电。TPS7350为微功耗低压差线性稳压器件,具有完备的保护电路,包括过流、过压、电压反接保护。使用这个芯片只需要极少的外围元件就能构成高效稳压电路。经过LM2576稳压后,输出6V,对舵机供电。如图6、图7所示为电源模块基本电路图。
图6 LM2576稳6V电路
图7 TPS7350稳5V电路
图8
3.2.2 软件部分
首先确定两件事情,一是摄像头采集到的是一幅图像,本质的说就是点阵的集合。二是标志物在这幅图像中的呈现是什么,如何突出标志物的不同。
3.2.2.1 导航的实现
我们是通过左右两个标志物来确定中心值,然后根据这个中心值来实现导航。如图8所示。
3.2.2.2 转弯的实现
通过采集的图像大小判断车与标志物的位置,然后在一个设定大小处执行一个固化转弯程序,实现转弯90度,然后再打开图像采集,根据下一个标志物导航路线。至于转向,就是根据检查到的黑色长方形里面是否有白色来判断转向,如果都没有就是跑直道。如图9所示。
图9
3.2.2.3 入库的实现
首先看到库的标准,没看见库之前速度比较快,为了避免侧滑,采用回退打正车身的方法,然后慢速寻找寻库的准确位置。当找到后就反打舵机后退,让车身垂直赛道寻找进库中心线,通过反复调整车身找到最佳进库位置,然后进库停车。如图10所示。
4.特色与创新点
(1)只采用摄像头单一导航方式,技术含量高,研究具有现实意义;
(2)智能车速度快,可达2m/s,且能自动识别最短路径;
(3)整体采用模块化设计方式,便于设计、调试和安装;
(4)进库方式与现实汽车进库基本一致。
[1]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京:清华大学出版社,2004,10.
[2]卓晴,黄开胜,邵贝贝等.学做智能车——挑战“飞思卡尔”杯[M].北京:北京航空航天大学出版社,2007,3.
[3]胡晨晖,陆佳南,陈立刚.上海交通大学CyberSmart队技术报告[R].