大连民族学院4队智能汽车竞赛技术报告Word文档下载推荐.docx
- 文档编号:22454097
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:66
- 大小:147.33KB
大连民族学院4队智能汽车竞赛技术报告Word文档下载推荐.docx
《大连民族学院4队智能汽车竞赛技术报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《大连民族学院4队智能汽车竞赛技术报告Word文档下载推荐.docx(66页珍藏版)》请在冰豆网上搜索。
在制作过程中,对车的机械结构进行改装,如摄舵机的架高、舵机臂的加长、前轮倾角的调整、测速装置的安装、整体重心的设计及调整等。
在软件调试中,三名队员解决了CCD传感器输出PAL电视机制式的原理以及图像数据的采集和处理、多个中断联合使用的时序问题。
5个多月的调试,队友不断发现问题,分析问题,解决问题,车速也不断在提高,对于一些数据,队友们做了相应的记录。
本队有幸参加在东北大学举办的第三届“飞思卡尔”杯智能汽车全国总决赛。
现向组委会提交本队技术报告,本文详细介绍系统方案的选取、各个模块的电路设计及工作原理,硬件结构的设计和改进、软件的控制策略等。
1.2技术报告内容安排说明
文章的正文部分大致分为六个部分:
第一章,引言部分,介绍比赛背景,技术报告内容安排说明,赛车制作情况等。
第二章,车体机械结构的调整,从赛车机械部分安装及改造、摄像头和舵机的安装设计、系统电路板的固定及连接等介绍了赛车结构,具体介绍了对赛车各个机械部分的调整,使其达到最佳状态。
第三章,系统方案的选取,介绍了CMOS摄像头方案以及智能车的最终方案CCD摄像头方案,测速传感器的选取。
第四章,赛车整体设计,介绍了电源模块、摄像头图像数据采集模块、电机驱动模块、舵机转向模块,测速模块、液晶显示模块六大模块实现的功能。
第五章,软件设计,详细解析了初始化、数据采集的实现、二值化处理、中心点的确定、转角和速度的控制的设计过程。
第六章,总结与方案创新之处,叙述了参赛队员对制作赛车的体会和感想,描述了本方案方案的创新之处。
第二章车体机械结构的改装
为了让赛车能在直道和弯道上高速稳定的通过,而且转弯比较灵巧,快速,除了有相应的软件和硬件电路的设计之外,赛车的机械结构对其也有很重要的影响。
所以我们对赛车的机械结构也做了一些相应的调整。
2.1底盘的调整
由于这次决赛时赛道直线部分可以有坡度在15度之内的坡面道路,包括上坡与下坡道路。
所以决赛时的大部分赛道还是二维的路面,由于我们采取摄像头采集路面信息的策略,摄像头安装位置比较高,所以导致整车的重心偏高,在高速过弯时则向心力比较大,同时由于惯性则车很容易向一侧翻倒。
为了避免次类事情的发生,我们把车的后轮底盘放低,从而降低整车的重心,防止车翻倒。
而车头的底盘高度不变,这是为了使车能顺利的上坡而不至于由于底盘过底使底盘擦到赛道。
2.2前轮的调整
前轮的调整包括前轮主销后倾角,主销内倾角,前轮外倾角,前轮前束的调整。
在调试过程中,我们发现这几个参数对赛车直线的稳定性和弯道灵巧性都有很重要的影响。
主销后倾角是前轮主销与前轮垂直中心线之间的夹角,也就是主销上端向后倾斜的角度。
在赛车上是通过四个黄色的小垫片来调整的。
减小主销后倾角可以减小前轮的回正力矩。
主销内倾角是前轮主销在赛车水平面内向内倾斜的角度,虽然增大内倾角也可以增大回正的力矩,但增大内倾角会在赛车转向的过程中,增大赛车与路面的滑动,从而加速轮胎的磨损,由于轮胎对地的附着力对防止侧滑有很重要的影响,所以如果轮胎磨损则得不偿失,所以内倾角调整为0°
。
前轮外倾角是前轮的上端向外倾斜的角度,如果前面两个轮子呈现“V”字形则称正倾角,呈现“八”字则称负倾角。
由于前轮外倾可以抵消由于车的重力使车轮向内倾斜的趋势,减少赛车机件的磨损与负重,所以赛车安装了组委会配备的外倾角为1°
的配件。
前轮前束是前轮前端向内倾斜的程度,当两轮的前端距离小后端距离大时为内八字,前端距离大后端距离小为外八字。
由于前轮外倾使轮子滚动时类似与圆锥滚动,从而导致两侧车轮向外滚开。
但由于拉杆的作用使车轮不可能向外滚开,车轮会出现边滚变向内划的现象,从而增加了轮胎的磨损。
前轮外八字与前轮外倾搭配,一方面可以抵消前轮外倾的负作用,另一方面由于赛车前进时车轮由于惯性自然的向内倾斜,外八字可以抵消其向内倾斜的趋势。
外八字还可以使转向时靠近弯道内侧的轮胎比靠近弯道外侧的轮胎的转向程度更大,则使内轮胎比外轮胎的转弯半径小,有利与转向。
2.3舵机的安装
组委会提供的舵机为S3010,由于赛车转向时舵机的响应速度是一个很重要的因素,为了加快舵机的响应速度,我们做了以下两个方面的改进。
第一,增加从舵机到连杆之间的长度,这样与以前的长度相比让前轮转过同样的角度舵机只需转过比以前更小的角度,虽然舵机本身的动作的速度没有变,但对于转向来说则比以前更快了。
第二,把舵机倒过来放置,使舵机位于两轮的中心线上,再把连接两轮胎到舵机的连杆改为一样长,使舵机左右转向时受力比较均匀,使舵机能灵活的转向。
通过以上这些改造舵机的响应速度提高许多,为快速灵巧的转向提供了硬件的保证。
示意图1:
图1舵机安装示意图
2.4摄像头的安装
摄像头安装的原则是:
轻,稳,灵活。
即首先是整个安装构架要轻,其次是安装后摄像头在一个位置固定好后在赛车前进时不会前后左右的晃动,位置稳定,由于长期调试,我们选取了安装了摄像头最佳位置,离车底板有312mm。
如图2:
图2摄像头支架示意图
如图所示,支架底板四个角上的圆孔是用来与车的底板固定,中间薄板上的两个圆孔是用来固定舵机,薄板与支架底板之间的空隙用于安装舵机,上方的圆孔用来固定摄像头,中间的支柱和支架底板、中间立的白钢住和薄板之间用氩弧焊接。
综上基本上达到了轻,稳,灵活的三个原则。
为摄像头的准确采集提供了硬件的保证。
第三章系统方案论证
3.1CCD摄像头和CMOS摄像头方案的选取
3.1.1CCD和CMOS光电传感器的原理
CCD电荷耦合器件
CCD利用光电效应制作的半导体器件,起步早,技术已相当成熟,在生产生活中得到了广泛的应用。
构成CCD的基本单元是MOS(金属-氧化物-半导体)结构。
CCD的基本功能是电荷的存储和电荷的转移。
工作时,需要在金属栅极加一定的偏压,形成势阱以容纳电荷,电荷的多少基本与光强成线性关系。
电荷读出时,在一定相位关系的移位脉冲作用下,从一个位置移动到下一个位置,直到移出CCD,经过电荷-电压变换,转换为模拟信号。
CMOS光电传感器
CMOS是一种高集成度大规模集成电路,仍使用光敏元件为感光器件,光敏元件在排列方式上与CCD电荷耦合器件相同,只是在光电转换后信息传送方式不。
CMOS芯片内部提供了一系列控制寄存器,通过总线编程来对自动增益、自动曝光、白色平衡、γ校正等功能进行控制,编程简单、控制灵活。
直接输出的电视机制式图像信号可以很方便地和后续处理电路接口,供处理器AD模块对其进行采集和处理器处理。
3.1.2CCD和CMOS光电传感器优缺点比较
光电转换
CMOS和CCD使用相同的感光元件,具有相同的灵敏度和光谱特性,但光电转换后的读取信号方式不同。
CMOS光传感器经光电转换直接产生电压信号,读取十分简单,特别的在监控领域,CMOS传感器的信号输出大部分是PAL电视机制式,信息读取十分方便。
CCD存储的电荷信息的转移和读取输出需要有时钟控制电路和三组不同的电源配合。
成像效果
CCD技术起步早,技术比较成熟,消噪效果好,成像质量相对CMOS光电传感器好。
3.1.3方案选取
综合以上CCD和CMOS的优缺点,虽然CMOS读取信息比CCD快,但是考虑舵机的响应时间过慢,加上CCD在成像质量上优于CMOS,最终我们选用了CCD摄像头作为识别路径的传感器。
3.2测速传感器的选取
方案一:
采用霍尔传感器
要使用这种方法需要在车上嵌入若干粒永磁铁,这样才能正常使用霍尔传感器进行检测。
其优点在于检测速度快且不会受光、温度的等的影响,但是在车困上合适的地方嵌入足够多的数量永磁铁相当困难。
方案二:
用基于遮光盘的红外直射式转速传感器
这种方案对于外界环境的依赖性较小,测量精度高,但这种方案在安装遮光盘是会把它加在驱动轴上,一旦安装时有不精确的地方会造成驱动轴不正,从而大大加重了驱动的负担,严重影响小车的性能。
方案三:
光电耦合对射式传感器
利用光电耦合对射式传感器的感光度达0.8mm,外围电路简单,稳定性好。
输出矩形脉冲,经过整形直接接入单片机。
综上所述,考虑安装、稳定性,我们选取光电耦合对射式传感器作测速传感器。
第四章赛车整体设计
4.1硬件系统设计
图3系统结构图
硬件结构分为一个中央处理器和六大功能模块:
电源模块、摄像头图像数据采集模块、电机驱动模块、舵机转向模块,测速模块、液晶显示模块。
4.1.1电源模块
5V稳压电路设计如图4:
图45V稳压电路图
电路通过LM2940-5.0低压差芯片将电池电压稳压到5V,给单片机、测速模块、液晶显示模块提供电压。
12V升压电路设计如图5:
图512V稳压电路图
通过MC34063芯片将电池电压升到12V,给摄像头提供电压。
4.1.2摄像头图像数据采集模块
视频信号分离电路如图6:
图6视频分离电路图
摄像头图像数据采集模块:
通过提取连续行刷新一帧图像,图像的混合信号通过LM1881视频分离出摄像头的行信号和场信号,信号通过单片机,单片机产生行中断和场中断,并进行A/D采集,对采集完成的数据进行二值化分割,去噪声处理,提取黑线的中心位置。
4.1.3电机驱动模块
图7电机驱动电路图
驱动模块:
我们采用两片组委会提供的MC33886DH直流电压驱动芯片并联式驱动电机,这样增强了电机的驱动,也减小了芯片的发热量。
4.1.4舵机转向模块
图86V稳压电路图
通过LM1117-ADJ芯片将电池电压稳压到6V,给舵机提供电压。
4.1.5测速模块
图9测速电路图
光电耦合传感器配合自制的码盘作测速装置,传感器接受端产生矩形波信号,经过非门整行,再经过单片机的输入捕捉功能测出小车的速度。
4.1.6液晶显示模块
图10液晶接口电路图
采用5110字符液晶实时显示赛道的形状和采集、处理的数据,液晶与单片机之间串行通信。
第五章软件设计
5.1软件系统设计
图11软件系统设计流程图
软件系统设计包括了初始化设计、数据采集的实现、二值化处理、中心点的确定、转角和速度的控制六大部分。
在每二值化处理的同时对下一行数据采集,采完一帧后,用边沿提取法提取黑线的中心位置,调用角度控制函数,速度是10ms控制一次,采用PID控制策略。
5.1.1初始化设计
初始化模块有:
I/O口设置、锁相环设置、AD设置、PWM设置、中断设置、定时器设置。
a.I/O口设置
/****I/O口初始化定义****/
voidIO_init(void)
{
DDRA=0X00;
DDRB=0X00;
DDRM=0Xff;
}
把方向寄存器DDRA、DDRB设置成输入,作为按键输入口;
把DDRM设置成输出,作为LED输出口。
b.锁相环设置
/****锁相环初始化定义****/
voidPLL_init(void)
REFDV=0;
SYNR=2;
while(!
(CRGFLG&
0x08));
CLKSEL=CLKSEL|0x80;
16MHz无源晶体振荡器产生的时钟信号经过锁相环倍频后到达了48MHz的总线频率。
其公式如下:
PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)=2*(16MHz/2)*(2+1)/(1+0)=48MHz
c.AD设置
/*-----------AD初始化程序-------------------*/
voidAD_init(void)
ATD0CTL2=0xC0;
ATD0CTL3=0x08;
ATD0CTL4=0x81;
ATD0CTL5=0xA0;
ATD0DIEN=0x00;
AD模块采用上电,快速清零,无等待模式;
禁止外部触发,中断禁止,每个序列1次转换,NoFIFO,Freeze模式下继续转换;
8位精度,2个时钟,ATDClock=[BusClock*0.5]/[PRS+1];
右对齐无符号,单通道(通道0)连续采样。
d.PWM设置
/*-----------PWM初始化程序-------------------*/
voidPWM_init(void)
PWME=0X00;
PWMPRCLK=0x12;
PWMSCLA=0x0C;
PWMSCLB=0x03;
PWMCLK=0xFF;
PWMCTL=0x80;
PWMCAE=0x00;
PWMPOL=0x02;
PWMPER0=200;
PWMPER1=200;
PWMPER67=30000;
PWMDTY0=0;
PWMDTY1=0;
PWMDTY67=5650;
PWME=0x83;
PWM设置7通道为16位PWM输出,输出频率133.3Hz控制舵机转向,设置1通道为8位PWM输出,输出频率2.5KHz,控制电机的转速。
e.中断设置
voidVideo_Init(void)
{
HPRIO=(unsignedchar)(Virq&
0xff);
INTCR|=INTCR_IRQE_MASK;
INTCR_IRQEN=0;
PIFJ=0xFF;
PIEJ=0x00;
PPSJ=0X02;
PIEJ=0x02;
把行中断设置成外部中断,其优先级最高,场中断接PORTJ口。
f.定时器设置
/*------------向下定时器初始化------------------*/
voidDown_T_Initialize(void)
INTCR=0;
MCCTL=MCCTL&
0Xfb;
MCCTL=0Xe3;
MCCTL=MCCTL|0X04;
MCCNT=20000;
MCCTL=MCCTL|0X08;
软件设计通过定时10ms,读取测速的脉冲速。
公式计算如下:
20000*1/(48/24)us=10ms
5.1.2数据采集的实现
摄像头输出的是视频同步信号。
视频同步信号经过同步分离芯片LM1881后,被分解为场同步信号,行同步信号,和视频信号,如图1.1所示。
其中场同步信号和行同步信号都是负向的脉冲。
行同步脉冲是扫描换行的标志,场同步脉冲是扫描换场的标志,标志着新的一场的到来。
一场信号的开始包含一段场消隐区,软件设置前24行为无效行同步信号,之后是284个有效行。
用这些同步信号直接控制单片机进行A/D的采集,每隔扫描8行采集一次数据,每行采集47个点,一幅图像共采集数据30行47列,存于数组Data_ccd_scan[30][47]中,单片机对图像数据进行二值化处理,提取赛道信息并对其控制。
图12视频同步信号的提取信号示意图
5.1.3二值化处理
对视频数据进行二值化处理,首先需要选择合理的阈值,本系统阈值的选择主要思想是:
小车运行之前,首先按键采集比赛场地的数据信息,共采集6场,考虑到第一场不太稳定,从第二场开始,每场的每行求一个最小值,然后对五场中每行的最小值求平均值,将得到的结果进行整体补偿,作为每行的阈值。
经过反复调试,补偿值介于5~10即可。
阈值
的求取公式为:
其中:
是第i场第j行的最小值,C为补偿值。
为每行的阈值。
采取如下方式进行二值化分割:
是原始数据;
是二值化后的数据。
5.1.4中心坐标的确定
一帧图像处理完成后,可以用液晶显示赛道的真实路径信息,需要求出黑线的中心位置,从而进行小车的路径的分析和小车的控制。
其计算公式为:
Center=i+j/2
式中i表示黑线的起始位置,j表示赛道黑线的点数。
5.1.5转角的控制
一场图像数据处理结束后,赛道的路径信息会清晰的再现出来。
根据整幅图像黑线的有效起点和有效终点的斜率和偏离图像中心位置的偏移量,就可以判断当前赛道是直道还是弯道。
根据这些信息给定舵机的控制量。
此方案获的主要思想如下:
首先找到图像数据最近位置的第一个有效行,同时记录黑线的中心位置信息,定义为(X0,Y0)。
然后再找最远位置的第一个有效行,以及其黑线中心位置,定义为(X1,Y1)。
据此算出黑线的斜率K=(Y1-Y0)/(X1-X0),和黑线偏离图像中心位置的偏移量|X0|。
其示意图如图13所示。
舵机控制量=Ka*X0+Kb*K+Speed*K/Kc;
根据不断调试和经验数据得到比例系数Ka,Kb,Kc的确切的值。
5.1.6速度的控制
PID控制,其公式如下:
CurError=SetSpeed-Count_B;
Error_D[2]=Error_D[1];
//刷新速度数据
Error_D[1]=Error_D[0];
Error_D[0]=CurError;
idelat_PWM_Val=uiA*Error_D[0]-uiB*Error_D[1]+uiC*Error_D[2];
上式中:
CurError为设定期望值与速度反馈的偏差量,SetSpeed为设定的速度期望值,Count_B为传感器反馈的当前速度值,Error_D[2]为当前时刻的前两次偏差,Error_D[1]为上一时刻的偏差,Error_D[0]当前时刻的偏差,idelat_PWM_Val是当前时刻PWM的增量,uiA,uiB,uiC三个系数为PID的经验值。
第六章总结与方案创新之处
总结:
Freescale公司MC9S12DG128B芯片功能强大、工作稳定、运用便利。
制作将近半年的时间,在带队老师的指导下,三名队员在课余时间逐步完成了对智能赛车的制作和改进,包括制作技术方案、设计思路、调试过程及技术报告内容的研究。
通过设计,我们不仅把学习的理论知识应用到实际,还学到了很多学科的基本常识。
本队的赛车采用了CCD摄像头,本设计方案有探测距离远、视场角度大的优势,赛车可以提前获取赛道信息;
方案使用的总线频率是48MHz,大大缩短了采样时间,以便更快的处理数据。
方案创新之处:
1)本队赛车主板紧贴赛车底盘,让赛车轻松转向、加减速;
2)赛车机械结构的调整。
赛车舵机的倒立安装,使前轮力臂均长,有利于不同弯道转向;
摄像头的前装,较中间安装更能提前预知赛道信息,更有利于赛车的加减速;
3)液晶显示实时赛道信息,调试时非常方便;
4)巧妙利用PPL模块将总线频率抬高到48MHz,解决了AD采样时间不足的问题,更快地处理采集的数据;
5)PID调速使赛车匀速、稳定行驶,速度值反馈到转角上,使得赛车安全过弯道.
参考文献
【1】卓晴黄开胜邵贝贝,学做智能车[M],北京:
北京航空航天大学出版社,2007
【2】邵贝贝,单片机嵌入式应用的在线开发方法,北京:
清华大学出版社,2004
附录A
//源程序代码:
#include"
car.h"
intData_ccd_scan[20][32];
//CCD采值
intLine_count;
//CCD采样行
intEnd_field_flag;
//场结束标志
intEnd_line_flag;
//行结束标志
intScan_line_count;
//CCD扫描计数器
charField_flag;
charOffset;
charPreLine;
ucharstep;
ucharflag_stop;
ucharflag_start;
ucharCount_A;
ucharCount_B;
charEnablePID;
charEnablePID1=1;
charSetSpeed;
charsflag,sflag1;
ucharflag_0;
charError_D[3];
intError;
intError_n,Error_f;
intSum_Error;
intDec_Error;
intCount_0;
//前10行0的总数
charCount_20;
//列累加为10的个数
charSum_Num_B;
//前10行0串的总数
intMax_y;
intn,f,k;
intka,kb;
ucharfinal;
ucharsp6,sp5,sp4,sp3,sp2,sp1;
voidmain(void)
ucharreal=1;
step=0;
flag_stop=0;
flag_start=0;
flag_0=0;
goback0;
DisableInterrupts;
//----------------
lcd_init();
//lcd初始化
lcd_cls();
//清屏,光标回位
//-----------
IO_init();
PLL_init();
SCI_init();
AD_init();
PWM_init();
Video_Init();
Down_T_Initialize();
Capture_T_Initialize();
EnableInterrupts;
SetSpeed=35;
while(real)
{
switch(step)
case0:
if(1==End_field_flag)
DisableInter
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连 民族学院 智能 汽车 竞赛 技术 报告