湖南大学摄像头1队智能汽车邀请赛技术报告.docx

上传人:b****4 文档编号:11587259 上传时间:2023-03-19 格式:DOCX 页数:33 大小:1.70MB
下载 相关 举报
湖南大学摄像头1队智能汽车邀请赛技术报告.docx_第1页
第1页 / 共33页
湖南大学摄像头1队智能汽车邀请赛技术报告.docx_第2页
第2页 / 共33页
湖南大学摄像头1队智能汽车邀请赛技术报告.docx_第3页
第3页 / 共33页
湖南大学摄像头1队智能汽车邀请赛技术报告.docx_第4页
第4页 / 共33页
湖南大学摄像头1队智能汽车邀请赛技术报告.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

湖南大学摄像头1队智能汽车邀请赛技术报告.docx

《湖南大学摄像头1队智能汽车邀请赛技术报告.docx》由会员分享,可在线阅读,更多相关《湖南大学摄像头1队智能汽车邀请赛技术报告.docx(33页珍藏版)》请在冰豆网上搜索。

湖南大学摄像头1队智能汽车邀请赛技术报告.docx

湖南大学摄像头1队智能汽车邀请赛技术报告

第一章引言3

第二章系统硬件设计3

2.1电源设计3

2.2传感器选型及安装方案设计3

2.2.1传感器的供电电路4

2.2.2传感器的信号处理4

2.2.3传感器的安装方案设计5

2.3电路设计6

2.3.1电源电路6

2.3.2电机驱动电路8

2.4系统电路板的固定及连接10

2.5模型车的主要技术参数10

第三章软件设计11

3.1图像信号处理11

3.1.1图像信号采集……………………………………………………………….12

3.1.2图像信号处理…………………………………………………….…………12

3.2转向控制策略14

3.3速度控制策略14

3.4软件流程图16

3.4.1主函数流程图16

3.4.2行中断流程图17

3.4.3场中断流程图3

第四章开发与调试…………………………………………………………………………….21

4.1软件开发平台21

4.2手动设置装置21

4.3状态指示单元22

第五章结论与展望…………………………………………………………………………….23

参考文献……………………………………………………………………………………………I

附录A电路原理图……………………………………………………………………………...II

附录B程序源代码…………………………………………………………………………..…IV

第一章引言

本智能汽车车模是为参加第四届“飞思卡尔”杯全国大学生智能车邀请赛而设计制作的。

本设计使用飞思卡尔公司十六位DSP56858为核心控制处理器,通过CMOS摄像头采集道路信息,经过DSP处理,得到跑道的连续性,有效性和有效的小车位置信息,通过PID算法控制智能小车的转向和速度。

同时设计了基于对射式红外发射接收对管和光电编码盘的速度检测系统,实现了速度的闭环控制。

为了提高小车的速度,本文采用专用电机驱动芯片设计了H桥电机驱动电路。

采用串口将运行数据传回PC并用MATLAB处理。

系统总体设计框图如图1.1所示。

图1.1系统框图

本技术报告整体架构如下:

首先我们在引言中对车模制作情况进行概述,第二章介绍系统硬件的设计,主要包括传感器的选择和安装、电机驱动、电路设计安装等内容。

第三章介绍系统软件设计,主要包括车模信号处理和整个控制算法的思路。

第四章介绍小车的调试。

在最后一章我们对工作中所遇到的问题进行了分析,并对车模制作的整体情况进行总结。

第二章系统硬件设计

2.1电源设计

智能车电源系统如图2.1所示:

 

图2.1电源框图

2.2传感器选型及安装方案设计

采用反射式红外光电管是路径检测常用的方法。

这种方法利用了路面不同的材料和颜色对光线的吸收和反射量不同,这样我们检测反射回来的光线就可以得到当前位置的材料或者颜色。

这种方法的优点是电路简单,信号处理速度快。

光电传感器的排列方法、个数、彼此之间的间隔都与控制方法密切相关。

缺点是感知前方赛道距离有限,受外界红外频段光线干扰,精度比较低。

光电管相对的感知距离较近并且只能提供非常少的前方车道的走势信息。

采用数字信号输出的摄像头。

通过初步市场调研发现,容易买到的多是USBPCCamera,能够订购的有数字输出的CMOS芯片。

前者需要在增加USB接收辅助电路,并且要破解其驱动程序。

采用专用视频处理芯片对信号进行数字化。

通过调研发现,有专用的视频信号处理芯片可以对PAL信号进行处理,并输出并行数据,如XRD4460A。

XRD4460A具有一个10位A/D转换器,最高采样速率高达16MHz,内置高带宽的差分相关双采样器(CDS)和8位的数字可编程增益放大器(PGA)。

模拟偏移量可控制,差分信号输入,差分外部时钟,片内带有输入缓存和采样/保持器,10位并行数据输出。

采用外部AD采集PAL信号由于可以买到采样速率很高的AD转换芯片,可以考虑使用外部AD进行PAL信号采样。

使用数字输出的摄像头。

数字输出的摄像头直接输出量化的图像信号,不用经过AD转换,简化了硬件设计,提高了可靠性。

2.2.1传感器的供电电路

图像传感器需要3.3V供电,所以需要通过线性稳压芯片为其提供一个3.3V的电源。

如图2.2所示。

图2.2摄像头电源模块

2.2.2传感器的信号处理

数字摄像头输出信号包括图像信号、帧同步信号、行同步信号。

DSP利用帧同步信号和行同步信号进行同步,然后对图像信号进行采集。

图2.3数字摄像头

图2.4数字摄像头采集的图像

由图中可以看出,由于摄像头安装方法,不可避免地会产生失真,最明显的是梯形失真,即离小车较近的地方分辨率高,离小车较远的地方分辨率低。

2.2.3传感器的安装方案设计

对于摄像头的安装位置主要有安装高度和俯视角度两个关键参数。

增加安装高度同时增大俯视角度可以在保证前瞻距离的前提下减小图像的畸变,使远端赛道图像变宽,便于单片机识别,保证识别稳定且有足够的前瞻,但是,将摄像头安装高度增大的同时,容易使整车的重心提高,降低了侧翻极限,使赛车在高速过弯的时候容易发生摇晃、颠簸甚至倾覆的危险。

由于图像信号处理方式上的改进极大的提高了对图像的分辨能力,降低了对高度的要求,所以我们的安装高度确定为25cm,俯视角度约为30度,这样可以保证能够有200cm的前瞻距离。

为了降低摄像头高位安装对整车中心高度的影响,设计了质量轻强度高的铝合金安装架。

2.3电路设计

2.3.1电源电路

电源进板时加一个大电容滤波,分压后用ADC检测电池电压。

由于电机启动时瞬间流过大电流,导致电池电压瞬间被拉低,稳压模块可能不能输出稳定的电压,所以稳压芯片采用低压差的稳压芯片TPS7350,将TPS7350配置成不同的输出即可得到稳定的输出电压。

图2.5为电源进板电路,LED用来指示电源状态。

图2.5电源进板

图2.6所示为7.2V转6V的线性稳压模块,用来给舵机供电。

图2.66V稳压模块

图2.7为7.2V转3V的线性稳压模块。

图2.73.3V稳压模块

2.3.2电机驱动电路

原定方案是采用MC33886直接驱动电机,MC33886芯片的额定输出电流是5.2A,而智能车电机在起步和制动过程中的最大工作电流较高,长期工作在这种条件下,容易造成驱动芯片性能衰退甚至烧毁。

采用多片MC33886并联的方式,以及采用制作成电机驱动子板的方式使其便于更换都不能解决根本问题。

所以改用新的电机驱动方案。

新方案采用专用电机驱动芯片驱动MOS管H桥,采用大电流低内阻的N型和P型MOSFET构成桥路开关,使驱动电路获得足够的带载能力和高效率。

为了获得良好的电机驱动效果,本设计对选用的MOSFET进行了测试。

MOSFET测试结果如图所示。

试验用电机启动是电阻约为两欧姆左右,IRF9540N理想状况的RDS为117毫欧,IRF2203N理想状况下的RDS为7毫欧,利用两路电源电压调整MOS管的VGS,控制电机的启动停止和正转反转,如果两个MOS管的RDS过大,则会引起启动是电机电压不足而启动缓慢。

理论上,假设在电机启动时瞬间,流过电机的的电流为I,设电机线圈电阻为RM,MOS管电阻为RMOSFET,则MOS管消耗的功率为:

PMOSET=I2*RMOSFETW(2.1)

电机消耗的功率为:

PM=I2*RMW(2.2)

驱动电路的效率为:

η=PM/(PMOSET+PM)=RM/(RMOSFET+RM)(2.3)

由(2.3)式可以得出电机驱动电路的效率与MOS管的导通电阻成反比,即MOS管导通电阻越小越好。

 

图2.8电机驱动模块

图2.9MOSFET测试原理图

由图2.10可以看出,随着VGS的提高,导通电阻会减小,但是始终高于DATASHEET给出的7毫欧的值,原因可能是测试的条件不同,电流不够大,同时导线的电阻也影响了测试。

试验得出的结论是IRL2203的VGS在12伏以下时RDS下降较快,VGS在12V以上时特性基本平坦,维持在35毫欧左右。

随着IRL2203N的栅源电压的增大,流过负载的电流增大,IRF9540N的导通电阻减少,IRL2203N的VGS小于7V时下降较明显。

当IRL2203N的VGS等于15V左右时,IRF9540N的导通电阻与DATASHEET给出的0.117欧姆基本一致。

结合工程实践经验,选取栅极开启电压为电池电压7.2V时,两个MOS管

图2.10MOSFET测试结果

的导通电阻总共为156mΩ,电机启动时线圈电阻取2Ω,此时效率为92.76%,

而理想情况下MOS管的导通电阻总共为124mΩ,效率为94.16%,假设为了将效率提高到接近理想情况,需要另外加DC-DC升压电路,这样会使得硬件进一步复杂化。

综上所述,栅极开启电压选取电池电压7.2V最合适。

2.4系统电路板的固定及连接

利用车模本身的支撑柱与安装孔,将电路板固定在距车底盘约6cm高处,小车电路板呈长方形。

传感器输入用排线引入,电源输入和电机输出采用粗紫铜单股线连接。

考虑到车模震动因素,故部件安装时采用平垫圈,与弹簧垫圈相结合,作为防松措施。

 

电路板与传感器的连接框图如图2.11。

图2.11电路板与传感器的连接框图

2.5模型车的主要技术参数

a)改造后的车模总重量为:

1.03kg

b)规格为:

长28cm:

宽18cm:

高25cm

c)电容总容量为:

1550μf

d)传感器种类:

CCD摄像头个数:

1

e)除原有驱动电机、舵机外无伺服电机

检测精度近端为:

2.5mm,远端为5.6mm.频率为:

50Hz

第三章软件设计

3.1图像信号处理

3.1.1图像信号采集

图3.1为数字摄像头的信号输出格式。

其中FRAME_VALID为帧同步信号,LINE_VALID为行同步信号,Dout(9:

0)为图像信号。

图3.1视频信号

图3.2同步信号处理

DSP利用帧同步和行同步信号对采集过程进行同步。

具体采集过程主要如下。

(1)利用外部中断口IRQA和IRQB响应帧同步信号和行同步信号。

(2)当行同步信号来临时,产生中断,进入中断子程进行图像信号的采集;

(3)在行中断子程中,利用IO端口对每行二值化处理之后的逻辑信号进行采集,得到赛道图像信息。

(4)当帧同步信号到来时,进入帧中断子程序,帧中断子程序完成图像采集的初始化。

3.1.2图像信号处理

在单片机采集出图像信号后需要对其进行处理以提取赛道信息,同时,由于杂点、交叉线、起始线的影响、光线、赛道连接处以及赛道以外图像的干扰,都会影响图像的效果,因此,软件上需要排除干扰因素,对有效赛道进行识别,并提供尽可能多的信息供决策使用。

图像信号处理中提取的赛道信息主要包括:

(1)每一行的赛道中心位置

(2)每一行的赛道宽度

(3)赛道的曲率

(4)赛道的变化幅度

由于摄像头倾斜放置导致的梯形畸变,这使得同一段赛道位于摄像头视域的不同区域时(近端、远端,边缘、中间)的表征会有所差别。

为了还原出真实的赛道信息,我们根据摄像头的放置位置、角度等参数,对图像进行了梯形畸变校正,使得图像的处理更接近真实空间。

图像信号处理中实现鲁棒性的算法主要包括以下有效性的验证:

(1)图像连续性判断

(2)赛道一阶、二阶连续性判断

(3)赛道宽度有效性验证

图3.3为小车摄像头实际拍到的图像。

图3.4及图3.5为处理后的图像和信息。

图3.3摄像头实际图像

图3.4二值化的结果

图3.5处理后得到的信息

3.2转向控制策略

为了使舵机能更好的对给定的转角值做出响应,采用PID调节,通过不断改变P、I、D三个参数进行实验,得到最理想的转向响应速度的一组参数。

选择合适的参数,可以使得在高速时车保持很高的稳定性,从而大大消除由于传感器带来的误差。

具体的调整方式大致为:

(1)P环节与转向的准确性和快速性相关;

(2)I环节与转向的准确性相关;

(3)D环节与转向的快速型相关。

另外,由于被控对象(智能车)系统较为复杂,为非线性系统,因此单一的PID参数很可能难以满足实际控制效果需要,因此也可以考虑采用多PID参数或分段PID参数的方式来改善控制效果。

3.3速度控制策略

3.3.1转速PID调节

由于硬件上加装了车速传感器,这样利用HCS12单片机上的脉冲捕捉端口PT,通过计算由光码盘接受到的脉冲数转换得到当前车速,采用PID闭环控制,可以及时快速调节车速达到预定值。

通过PWM波调制给驱动电机输入一定的占空比,使电机工作在一定转矩,由于车在赛道上行驶是,负载不断变化带来了电机工作时的波动,影响了车的实际速度,采用定速策略,可以就是根据实际中的不同负载状况及时快速调整PWM波,使车稳定于某一车速。

图3.6测速装置

图3.7直道全速加速测试结果

图中前100帧为跑道上测试的数据,一百帧后的陡坡为小车被拿起后的导致摩擦力突然减小所致。

如图3.7所示,小车在100帧的时间内可以加速到55脉冲/帧,轮胎的周长为16.65cm,编码盘旋转一周可以输出110个脉冲,即小车最快可以在2秒内加速到4.16m/s。

加入PID控制算法的效果如下图所示:

 

图3.8PID效果

由图3.8可知加入经典PID算法可以得到比较理想的输出响应,但是始终无法避免过调大和调节时间长的缺点,这对小车运行的稳定性是一个隐患,理论上可以考虑用现代控制方法做到小过调和小调节时间,但是有待验证。

3.4软件流程图

3.4.1主函数流程图

如图3.9所示,主函数完成的功能为等待视频信号输入,之后调用信号处理函数对视频信号进行处理,提取黑线和计算输出角度。

 

图3.9主函数流程图

3.4.2行中断流程图

如图3.10所示,行中断流程图完成的主要功能是读入单行的视频信号。

图3.10行中断流程图

3.4.3场中断流程图

如图3.11所示,场中断完成的主要功能是执行输出,以及变量清零,为下一场图像的接收做准备。

 

图3.11场中断流程图

 

 

第四章开发与调试

4.1软件开发平台

软件开发平台为Metroworks公司的CodeWarrior3.1开发软件。

其使用界面如图4.1所示:

图4.1开发界面

图4.1所示为CodeWarrior开发界面。

CodeWarrior的功能非常强大,可用于绝大部分单片机、嵌入式系统的开发。

用户可在新建工程时将芯片的类库添加到集成环境开发环境中,工程文件一旦生成就是一个最小系统,用户无需再进行繁琐的初始化操作,就能直接在工程中添加所需的程序代码。

4.2手动设置装置

通过拨码开关可以设定当前工作模式,这样就可以根据现场情况决定采用什么样的控制策略。

图4.2手动控制开关

4.3状态指示单元

为了在调试过程中指示小车的状态,本设计采用了LED指示灯(如图4.3所示)、数码管和蜂鸣器。

另外,还用了一些装饰灯对车体进行装饰,例如在启动时四盏灯依次由亮到灭变化、小车转弯时左右指示灯相应点亮。

图4.3状态指示单元

第五章结论与展望

经过全体队员几个月的不懈努力和指导老师的指导,通过硬件和软件相结合的方式,本设计最终实现了通过低速单片机对视频图像进行采集分析从而最终达到了预期的设计目标。

能够有效的采集和分析简单的跑道路面,对简单车辆自动导航系统的开发具有一定的指导作用。

智能车辆是目前现代化交通工具的发展趋势,该项技术的研究和实现将对现代社会文明和进步有积极的推动作用,智能小车集成了智能车辆的关键技术,对它的研究有着重要的意义。

该视觉系统能够做到高效、准确、实时的采集图像,具备一定的抗干扰和防误检测能力。

能够有效的为小车的判决系统提供准确的参考量输入。

为小车提供了一双可靠的眼睛。

该系统同时也为将来的廉价简单视觉导航系统提供了软硬件架构的解决方案。

通过对该系统进行进一步的研究,可以研究多摄像头采用处理器群组进行采集分析的综合导航系统,为自动驾驶和导航提供更加丰富的廉价解决方案。

面对现在复杂的交通环境和对交通工具智能化要求的提高,结合目前嵌入式系统发展的趋势,对于智能小车来说,还有很多问题值得进一步研究和探讨:

当系统采用图像传感器后,采用十六位的控制器已经显得捉襟见肘了,现代32位的控制器发展迅速,针对大量数据处理的DSP控制器的性价比的提高,为我们的控制系统升级提供了技术支持,进一步的设计中将采用DSP+CPLD的架构,充分发挥DSP高速的运算能力,完成大规模数据的处理,和CPLD强大的逻辑处理能力,能够检测更多的路面信号,对于这些信号的处理速度也将大幅度提高,对小车控制的灵敏度和准确度将有很大的帮助。

对于复杂的路面状况,将采用较多的传感器。

这些将涉及到更多的信息,单单采用常规的PID控制算法,在某些情况下将不再是理想的,面对较多的信息和控制要求,现代的控制算法和一些智能控制算法将要采用,同时这些智能算法应用到小车控制系统,要进行一些改进。

如神经网络算法由于要经过长时间的训练和寻优,其实时性较差。

模糊控制需要一些切实可用的模糊规则,这要经过大量的试验才可以得到。

如何针对实际的控制系统,设计合理的控制算法,将是进一步研究的重点。

参考文献

1邵贝贝.单片机嵌入式应用的在线开发方法.北京:

清华大学出版社,2004

2杨国田,白焰.摩托罗拉68HC12系列微控制器原理、应用与开发技术.北京:

中国电力出版社,2003

3童诗白,华成英.模拟电子技术基础.北京:

高等教育出版社,2001

附录

附录A:

电路原理图

1.核心控制电路

2.电机驱动电路

附录B:

程序源代码

voidRead_Line(void){

asm{

LDAB#30

AGG:

NOP

DBNEB,AGG

LDXImage_Ptr

LDAB#MAXPOINT

AG:

LDAAPORTB

ANDA#$01

STAA$0,X

INX

DBNEB,AG

}

Image_Ptr+=MAXPOINT;

Row_Num++;

Read_Flag=1;

}

voidLine_Piont_Check(charRow,charP_Num)

{

inti,j,k,m,n;

j=0;/*jisusedtorecordthepositionwhere0begins.*/

k=0;/*kisusedtorecordthenumberof1tiedtogether.*/

m=15;

n=0;

switch(P_Num){

case0:

m=15;

n=2;

break;

case1:

m=18;

n=3;

break;

case2:

m=18;

n=3;

break;

case3:

m=18;

n=5;

break;

default:

break;

}

for(i=3;i

if(Image[Row][i]==0)

{

if((k==n)&&(Image[Row][i-k-1]+Image[Row][i-k-2]+Image[Row][i-k-3]>=2)&&(Image[Row][i+m]+Image[Row][i+m+1]+Image[Row][i+m+2]>=2))

{

j=i+n+2;

break;

}

k++;

}else

{

k=0;

}

}

Position[Row]=j;

}

voidPoint_Check(charPoint_Flag){

intTemp,j;

chari;

Temp=0;

switch(Point_Flag){

case0:

for(i=0;i<=4;i++){

Line_Piont_Check(i,0);

}

for(i=0,j=0;i<=4;i++){

if(Position[i]!

=0){

Temp+=Position[i];

j++;

}

}

Temp=Temp/j;

First_Point=(Temp-50)*18;

if((First_Point<=-400)&&(First_Point>=-800)){

First_Point_Status=LEFT;

}elseif((First_Point>=400)&&(First_Point<=800)){

First_Point_Status=RIGHT;

}

if(First_Point<-810){

if(Status==LEFT){

First_Point=-810

}else{

First_Point=810

}

}

break;

case1:

for(i=5;i<=9;i++){

Line_Piont_Check(i,1);

}

for(i=5,j=0;i<=9;i++){

if(Position[i]!

=0){

Temp+=Position[i];

j++;

}

}

Temp=Temp/j;

Second_Point=(Temp-50)*16;

if((Second_Point<=-500)&&(Second_Point>=-720)){

Second_Point_Status=LEFT;

}elseif((Second_Point>=500)&&(Second_Point<=720)){

Second_Point_Status=RIGHT;

}

if(Second_Point<-720){

if(Second_Point_Status==LEFT){

Second_Point=-720;

}else{

Second_Point=720;

}

}

if((Second_Point-Last_Second_Point[1]>500)||

(Second_Point-Last_Second_Point[1]<-500))

{

Second_Point=Last_Second_Point[1];

}else{

Last_Second_Point[0]=Last_Second_Point[1];

Last_Second_Point[1]=Second_Point;

Fore_Second_Point=Last_Second_Point[1]*2-Last_Second_Point[0];

if(Fore_Second_Point>=720){

Fore_Second_Point=720;

}elseif(Fo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1