大连理工大学天鹰队智能汽车邀请赛技术报告Word下载.docx
- 文档编号:19180114
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:76
- 大小:1.28MB
大连理工大学天鹰队智能汽车邀请赛技术报告Word下载.docx
《大连理工大学天鹰队智能汽车邀请赛技术报告Word下载.docx》由会员分享,可在线阅读,更多相关《大连理工大学天鹰队智能汽车邀请赛技术报告Word下载.docx(76页珍藏版)》请在冰豆网上搜索。
4.3.1 速度的测量17
4.3.2 电机的PID控制和参数选择17
4.4决策算法19
4.4.1神经网络20
4.4.2控制策略31
第五章开发工具及制作调试过程35
5.1开发工具35
5.2制作调试过程36
第六章结论37
6.1模型车的主要技术参数说明37
6.2总结37
参考文献38
附录39
第一章引言
1.1智能车制作情况
在智能车制作的过程中,本小组成员先后学习了控制、传感技术、汽车电子、电气、计算机、机械等多个学科的相关知识,在实践中巩固了所学知识,增强了实践动手能力。
本组智能车系统按照功能划分为:
电源模块、单片机模块、数字摄像头路径识别模块、直流电机驱动模块、转向伺服模块、速度测量模块等。
除摄像头路径识别模块和测速模块以外,我们将剩余模块集中于一块主电路板,将主电路板安置尽量靠近底盘,以降低重心,使小车在运行过程中更加稳定。
电机驱动部分我们采用4片大功率MOS管IRF3205组成的H桥电路,以增强对电机的驱动能力。
我们别出心裁地采用了一种新的舵机安装方式,使舵机左右臂长相等,使舵机转角灵敏准确。
同时我们选择了数字摄像头OV6620模块用作路径识别,解决了AD转换的难题,而且图像精确度大幅度提高
基于以上可靠的硬件设计,我们开发了一套比较完备的控制算法,包括电机PID控制算法,路径识别控制算法等,从而使整个小车运行比较加快速稳定。
1.2技术报告内容安排说明
此技术文档的正文部分大致分为三个部分:
机械部分,电路硬件部分和软件部分。
机械部分包括我们对智能车机械结构在大赛允许范围内所做的改装;
电路设计部分包括各个模块的电路设计方案以及相关电路;
软件部分包括摄像头数据处理、寻迹、和调速等控制策略的说明。
第二章机械部分
2.1车模系统改装
2.1.1前轮主销后倾角
主销在汽车的纵向平面内与竖直线有一个夹角,称为“主销后倾角”。
由于主销后倾角的存在,使车轮偏转后产生一个回位力矩,纠正车轮的偏转。
通过增减上横臂轴上的黄色垫片的数量可以改变主销后倾角大小。
通常后倾角值应设定在1~3度。
但我们为了使模型车转向灵活,将主销后倾角设为0度。
横臂轴上每侧黄色垫片数量为二。
图2.1
2.1.2前轮主销内倾角
主销在横向平面内与竖直线的夹角称为“主销内倾角”。
如图2.2中β角。
图2.2
主销内倾角也有使车轮自动回正的作用。
当前轮在外力作用下发生偏转时,车轮连同整个汽车的前部被抬起一定高度;
当外力消失后,车轮在重力作用下恢复到原来中间位置。
主销内倾角不宜过大,否则在转向过程中轮胎与地面间将产生较大的滑动。
通常主销内倾角不大于8度。
通过改变横臂螺杆的长度来改变主销内倾角,调整范围0~8度之间为宜。
利用试验法确定即可。
本组将主销内倾角调节为60左右。
减小了赛道面作用于前轮的阻力矩,使舵机转向更加轻便,同时车轮自动回正的速度加快。
2.1.3前轮前束
汽车两前轮的中心面不平行,两轮后边缘的距离与前边缘的距离之差称为“前轮前束”。
图2.3
前轮前束可以减小由前轮外倾角带来的不利影响。
一般前束值为0~12mm。
前端小后端大的称为“前束”,而后端小前端大的称为“负前束”。
改变左右横拉杆的长度即可改变前轮前束的大小。
前轮前束要与前轮外倾角相匹配。
2.1.4底盘离地间隙
我们采取摄像头采集路面信息的策略,摄像头安装位置比较高,所以导致整车的重心偏高,在高速过弯时则向心力比较大,同时由于惯性则车很容易向一侧翻倒。
为了避免这类事情的发生,不仅需要减轻摄像头架的重量,也要尽量降低小车底盘的高度。
我们把车的后轮底盘放低,从而降低整车的重心,防止车翻倒。
但由于此次比赛中有坡度在15度之内的坡道,车底盘过低很容易在上坡下坡过程中出现碰触赛道的情况,因此车前部的底盘高度不变。
以下是车前后部分底盘高度调整方法:
(1)底盘前半部分离地间隙调整:
模型车提供的垫片有1mm和2mm两种规格,离地间隙调整范围为9~12mm。
我们未加垫片,从而使小车前部离地间隙为12mm。
(2)底盘后半部分离地间隙调整:
通过变换卡圈调整底盘后半部离地间隙。
小车配件中只有标号为1、2、3的三种规格的卡圈。
为了降低小车整体重心,我们采用了标号为3的卡圈,使间隙最小。
2.1.5舵机安置
图2.4
组委会提供的舵机为S3010,舵机的响应速度对小车是一个很重要的因素,为了加快舵机的响应速度,我们做了以下三个方面的改进。
第一,由于舵机响应速度与供电电压有直接的关系,电压越高响应速度越快,但是比赛规则中禁止用DC-DC升压电路给电机供电,因此我们直接用电池电压即7.2V直接给舵机供电,既不违背比赛规则有最大限度的提高了舵机响应速度;
第二,将舵机偏前放置,从而增加了舵机到连杆之间的摆杆长度,这样与以前的长度相比让前轮转过同样的角度舵机只需转过比以前更小的角度,虽然舵机本身的动作的速度没有变,但对于转向来说则比以前更快了。
第三,舵机水平放置,使舵机位于两轮的中心线上,小车前部相对于舵机左右对称,从而左右横拉杆长度相同,舵机左右转向时受力比较均匀,左右两轮转角相同,使转弯更加稳定可靠。
通
过以上这些改造,舵机的响应速度提高许多,稳定性增强,为快速灵巧的转向提供了硬件的保证。
2.1.6后轮距及差速器的调整
由于小车速度较高,在大角度转弯时容易翻倒,为了增加小车的抗翻能力,可用组委会提供的配件把后轮改为大轮距。
在拐弯时由于弯道内侧轮比外侧轮的拐弯半径小,则内侧轮比外侧轮的速度小,这就使两轮胎有一定的速度差,称为差速。
而赛车的差速机构安装在后轮轴上的,所以只可以调整后轮的差速。
经多次调试观察发现差速对赛车转弯有很大的影响。
如果差速过紧,即两轮胎的速度很接近时,转弯的时候内侧轮很容易打滑,从而产生侧滑,使赛车滑出赛道。
当差速过松时,会使直道的时候两轮打滑,大大的减小了赛车的驱动能力。
所以差速调整要适当,才会使直道驱动能力强,弯道转弯灵巧。
我们调试差速的方式是把赛车放在赛道上捏住一个轮胎不动让另一个轮胎能在赛道上半滑动时为准。
2.2摄像头的选择与安装
2.2.1摄像头的选择
(1)方案一:
采用模拟350线SS2000B黑白摄像头。
黑白摄像头价格便宜,销售量大,比较容易购买,性能比较稳定。
MC9S12DG256对摄像头输出的视频信号进行采集时,必须将信号中的行同步信号和场同步信号分离出来,作为中断,用MC9S12DG256内置AD模块采集视频信号。
因此需要增加类似于LM1881组成的视频分离模块,且MC9S12DG256内置AD最高采集频率为2MHz,计算可知,在最高采集频率,8位AD只能采集到300以上个像素中的10个,横向上的分辨率十分低,不能满足识别路径的要求。
(2)方案二:
采用数字CMOS摄像头OV6620。
OV6620是OmniVision公司生产的一款CMOS彩色数字摄像头,支持彩色与黑白两种模式。
其像素为101376,远远满足赛道识别要求。
支持CIF/QCIF模式。
内置两个8位的高速AD转换器,输出8位或者16位的数字图像信息,支持YCrCb4:
2:
2,GRB4:
2数据输出模式。
图像的行场同步信号分开,由两个引脚单独输出。
接口Y0~Y7输出图像的灰度值,色度值由接口UV0~UV7输出。
数据采集处理相对比较容易,但其价格偏高。
综上,由于OV6620内置AD,很好的解决了MC9S12DG256内置AD采集速度偏低的问题,而且行场同步信号与图像灰度值分开输出,不仅省去了视频分离模块,也使图像处理变得更加简单,从而增加了图像采集的精度,这点对于起始线识别尤为重要。
基于以上原因我们最终选择了CMOS数字摄像头OV6620。
2.2.2摄像头的固定
摄像头的固定直接影响整车的重心,对赛车的影响很大。
摄像头位置越高,则前瞻性越好,看到的赛道信息越丰富,有利于赛车的预判和加减速,但对支架的刚性要求越高,采用常规材料如铝合金,往往使支架所占面积较大,从而整车的重心偏高。
在高速转弯时,很容易发生翻车等极恶劣的情况。
因此摄像头高度与赛车的稳定性是一对矛盾,为了解决这个矛盾我们采用特殊材料——碳纤维杆。
碳纤维杆非常细,质量很小,而且其刚度很高,足够固定的要求。
为了充分发挥碳纤图2.5
维杆的优点,我们用同样具有刚度高重量轻的有机玻璃加工了杆架底座。
三根碳纤维杆成三角形固定在赛车地盘上,具有很高的稳定性,赛车高速行驶过程中摄像头抖动很小,数据准确,减小了误判的可能性。
见图2.5。
2.3测速模块选择与安装
测速发电机
此种方法检测速度准确,但测速电机体积过大且价格昂贵,其安装也不易,
所以我们最先放弃了这种方法。
霍尔效应器件
霍尔器件内部由三片霍尔金属板组成,当外部磁铁正对金属板时,由于霍尔效应,金属板横向导通,产生横向电压。
因此可以在车轮上安装磁片,而将霍尔集成片安装在固定轴上,通过对脉冲的计数即可进行车速测量。
此方案所构成电路体积小。
但小车的车轮较小,磁片安装比较困难,容易产生相互干扰,使测速精度降低,影响速度闭环控制的稳定性。
光电码盘
光电耦合管的发射端发射的红外光,通过激光雕刻码盘的间隙到达接收端。
当电机带动码盘转动时,接收端便以一定的频率接收到红外光线,经过整形电路输出频率与电机转速成正比的方波。
由单片机进行数数测频,即可得到电机转速。
由于激光雕刻码盘精度很高,所以该方法测速非常准确。
图2.6
基于光电码盘的优点,本小组最终采用了方案三。
为了充分利用空间,安装稳定可靠,我们采用硬质铝板将光电码盘固定于赛车的最后端。
如图2.6
第三章电路设计部分
3.1单片机系统板设计
我们发现组委会提供的MC9S12DG128B最小系板有很多部分对赛车没用太大作用,冗余部分使整块电路板过重,因此为了让赛车更加紧凑,电路板尽可能简洁,我们重新画了最小系统板。
图3.1主控制板原理图
由于本组控制算法比较复杂,代码所占容量较大,为了提高单片机Flash的容量,我们用MC9S12DG256代替MC9S12DG128,同样是飞思卡尔半导体公司16位的处理器,并没有违背比赛的规则。
成形的电路板紧贴底盘,使小车的重心比用原来DG128最小系统板时要低很多,这样小车在行驶的过程中就更加得稳定。
3.2电机驱动电路设计
组委会提供的后轮驱动电机型号为RS-380,工作在7.2V电压下,空载电流为0.5A,转速为16200r/min,启动电流高达3A。
通用的MC33886集成桥式驱动电路在测试中发热偏大,需要加装散热片,不利于小车的稳定。
因此本组采用了4片大功率MOS管IRF3205组成的全桥式电机驱动电路,如图3.2。
IRF3205的工作温度为-55℃~+175℃,在温度为100℃时最大工作电流达80A,最大导通电阻8mΩ,最大导通时间104ns。
由此可见,IRF3205工作电流大,导通时间短,可以使小车加减速更加灵敏,而且在不加任何散热元件的情况下,温度仍接近于室温。
驱动电路如图3.2。
图3.3电机驱动原理图
桥式驱动电路的控制电路由ST微电子公司的TD340组成,大大简化了调速控制系统的硬件电路,而且具有单片机接口,可以很方便地与MC9S12DG256相连。
3.3串口模块
在赛车调试过程中,摄像头采集到的图像对程序的编写和修改有极其重要的作用,因此为了实时查看赛车采集到的图像,就需要把图像数据通过最简单串行接口传送到上位机实时显示。
我们为动态得到智能车上的数据,选择了无线数传模块来传递。
能达到很好控制和检测效果。
其中无线数传模块为ZT-TR43C。
其特点为有:
高抗干扰能力和低误码率、传输性能优良、有大的数据缓冲区、低功耗、高可靠性、体积小、重量轻等特点。
模块如图3.4所示。
对应智能车电路的接口电路如图3.5所示。
图3.4PC机与单片机的通信接口
图3.5PC机与单片机的通信接口
3.4拨档开关
随赛道的难易程度、摩擦系数、弯道的大小等因素的不同,赛车的最优车速不同,而且正式比赛用的赛道只有在当天才能公布,所以为了尽可能的应对赛道改变带来的影响,就需要增设调速模块。
车速设定一般采用两种方式:
现场输入设定式,预先设定现场选择式。
第一种方式十分灵活,可以针对现场情况设定最佳参数,但是比赛时准备时间短,而现场输入较麻烦,耗时较长,时间把握不好极易导致比赛失败。
第二种方法没有第一种灵活,预先将可能情况设定好,现场选定与预先设定最接近的的方案。
这种方法较第一种安全,但是如果预测不准,也不能发挥赛车的最佳性能。
我们选用第二种方案,采用8位两挡开关(可以更直观的达到不同参数或模式的调制)来实现上述功能,电路原理图如图3.6:
图3.6拨档开关电路图
3.5液晶显示模块
为了在比赛现场不能用电脑的情况下也能实时查看程序的某些重要参数,我们有增设了NOKIA6110液晶显示模块。
NOKIA5110是一款飞利蒲公司生产的图形液晶,可以显示84*48点,能显示3行中文,每行7个汉字(使用新的显示方法,可以显示4行中文)。
使用PCD8544驱动芯片。
串口速率达到4Mbit/S。
第四章软件部分
4.1主函数控制流程
主函数在初始化后,检测拨码开关值。
并根据拨码开关选择不同的控制模式。
小车的控制主要在主循环中完成。
循环进行数据采集,舵机、电机控制,起跑线判断等操作,控制流程如图4.1所示。
4.2数据采集和处理
4.2.1 视频图像的采集
为适应今年识别起跑线的要求,摄像头的分辨率提高对起跑线识别有很大的促进作用。
对我们选用的OV6620数字摄像头数据进行选择性提取。
为及时提取视频信号,我们选用了PE1作为视频信号的行信号的输入端口,PH0作为视频信号的场信号的输入端口。
最终得到Image[64][107]的数组来保存当前的图像信息。
并通过发散检测算法和单向检测算法得到较为稳定和准确的一组储存道路路径的数组stack[64]。
4.2.2 视频图像的处理
滤噪算法是将发散检测算法和单向检测结合起来处理原始图像的。
1.发散检测算法和单向检测算法都用于提取每行的有效信息。
发散检测算法以某一参考点为中心向两侧的允许范围内扫描。
最后将两种方向上的扫描结果比较,根据两种方向上的起始点的关系和平均位置关系选取有效的信息作为赛道信息进行计算。
该算法能单独准确地处理绝大多数赛道情况。
2.单向检测算法可以根据发散检测的一些数据得到单侧扫描的方向,这里主要由于处理“十字”型道路。
对防止数据偏向一侧很有效果。
单侧检测算法是以赛道一侧的允许极限为起点向另一侧扫描,到发现与赛道相仿信息时,先判断。
当该信息为有效值时,更新赛道数据,结束该次扫描算法。
当该信息偏离允许值时,则舍弃,继续沿该方向扫描有效数据,直至到另一侧的有效信息允许极限。
这样在前些行可以用发散检测,得到赛道大体走势,如根据信息可能出现“十字”型道路时,则该用单侧检测算法进行数据处理。
4.3 速度信息的采集和处理
4.3.1 速度的测量
我们选用的光电编码传感器作为我们小车的速度检测模块,该模块传递给单片机的是PWM脉冲,该脉冲和速度成正比,故可以通过检测在一段时间内该脉冲的数量来检测小车速度。
其输出波形为如图4.2所示。
其中:
A、B两相相差90度,可通过比较A相在前还是B相在前,以判别编码器的正转与反转。
图4.2
4.3.2 电机的PID控制和参数选择
PID控制原理:
在模拟控制系统中,控制器最常用的控制规律是PID控制。
常规PID控制系统原理框图如图4.3所示。
系统由模拟PID控制器和被控对象组成。
图4.3
PID控制器是一种线性控制器,它根据给定值和实际值的构成的偏差:
公式1
将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制,故称PD控制器。
其控制规律为:
公式2
由于积分项的存在,防止数据溢出,我们选择了增量式PID控制算法。
公式3
PID参数的选择:
采样周期受各种因素的影响,有些是相互矛盾的,必须视具体情况和主要的要求作出折中的选择。
在直线电机的单片机控制系统中,PID调节控制过程是在定时中断状态下完成的。
因此,采样周期T的大小必须保证中断服务程序的正常运行。
在不影响中断程序运行的情况下,可取采样周期T=0.1τ为电机系统的纯滞后时间)。
当中断程序的运行时间Tz大于0.1τ时.则取T=Tz。
因此,采样周期可按下式确定:
公式4
初始确定数字PID控制参数时,在用上述方法确定的采样周期T的条件下.从直线电机的数字PID调节控制回路中,去掉数字控制器的微分控制作用和积分控制作用,只采用比例调节环节来确定系统的振荡周期Tz和临界比例系数Ks。
由单片机系统自动控制比例系数Kp,并逐渐增大Kp,直到电机系统发生持续的等幅振荡,然后由单片机系统自动记录电机系统发生等幅振荡时的临界比例度σs和相应的临界振荡周期Ts。
公式5
式中Ks——等幅振荡时的临界比例系数。
公式6
根据所测得的临界比例度σs和临界振荡周期Ts,便可初始确定数字PID的控制参数为:
Kp=0.6σsTi=0.5TsTd=0.125Ts
采样周期T定位:
公式7
另外,为提高电机的相应速度,我们同时采用了BangBang控制理论来提高相应时间。
电机控制流程图为:
图4.4
4.4决策算法
赛车电机转速,舵机转角与很多因素有关,如赛车的视距、车身与黑线相对位置、赛道弯度、赛道类型等,因此相应的转速与转角就与许多变量有关,而且并不成线性关系,通常的处理方法是使转速,转角与变量近似线性。
由于赛道复杂多变,这种方法具有很大的局限性,因此为了让小车适应任何复杂的赛道,我们采用了人工神经网络的控制算法作为小车参数确定的一个辅助手段,同时我们充分依靠高分辨率的视频信息反应当前赛道的情况,并根据不同的赛道来选择不同的控制策略和算法。
理论证明三层的神经网络可以解决任何非线性的问题,所以我们对复杂的赛
道信息采用了神经网络来解决,为了增强小车的适应能力,在后来我们研究了遗传算法。
4.4.1神经网络
4.4.1.1神经网络模型
我们介绍一下神经网络模型,一个人工神经元细胞如图1。
图4.5.人工神经元细胞
左边几个灰底圆中所标字母w代表浮点数,称为权重(weight,或权值,权数)。
进入人工神经细胞的每一个input(输入)都与一个权重w相联系,正是这些权重将决定神经网络的整体活跃性。
权重可正可负,如果权重为正,就会有激发(excitory)作用,权重为负,则会有抑制(inhibitory)作用。
当输入信号进入神经细胞时,它们的值将与它们对应的权重相乘,作为图中大圆的输入。
大圆的‘核’是一个函数,叫激励函数(activationfunction),它把所有这些新的、经过权重调整后的输入全部加起来,形成单个的激励值(activationvalue)。
激励值也是一浮点数,且同样可正可负。
然后,再根据激励值来产生函数的输出也即神经细胞的输出。
如果激励值超过某个阀值(,就会产生一个值为1的信号输出;
如果激励值小于阀值,则输出一个0。
这是人工神经细胞激励函数的一种最简单的类型。
一个人工神经细胞可以有任意n个输入,n代表总数。
可以用下面的数学表达式来代表所有n个输入:
X1,X2,X3,X4,X5,...,Xn。
同样n个权重可表达为:
W1,W2,W3,W4,W5...,Wn。
激励值就是所有输入与它们对应权重的之乘积之总和。
神经网络的各个输入,以及为各个神经细胞的权重设置,都可以看作一个n维的向量。
4.4.1.2神经网络的建立
为了创建一个人工神经网络,人工神经细胞也要以同样方式相互连接在一起。
我们使用的是前馈网络(feedforwordnetwork)图2。
网络的每一层神经细胞的输出都向前馈送(feed)到了它们的下一层(在图中是画在它的上面的那一层),直到获得整个网络的输出为止。
图4.6前馈网络
4.4.1.3神经网络的训练
神经网络的训练可以分为有监督学习和无监督学习,在我们的控制算法中我们应用的是有监督学习。
我们以赛道黑线的坐标和黑线的曲率作为训练的数据,即训练集。
调整权重可以采用许多不同的方法,我们采用的是反向传播(backpropagation,简称backprop或BP)方法。
如果网络只能输出一个1或一个0,是无法控制小车的速度和小车的转角的。
因此我们采用一种方法把激励函数的输出由阶跃式改变成为在0-1之间连续变化的形式。
我们使用的是一个被称为逻辑斯蒂S形函数(logisticsigmoidfunction),该函数所实现的功能,本质上说,就是把神经细胞原有的阶跃式输出曲线钝化为一光滑曲线,后者绕y轴0.5处点对称,如图4.7。
若f(x)以原点为点对称,则有f(-x)=-f(x)。
图4.7.S形曲线。
当神经细胞的激励值趋于正、负无穷时,S形函数分别趋于1或0。
负的激励值对应的函数值都<
0.5;
正激励值对应的函数值都>
0.5。
S形函数用数学表达式写出来则为:
公式8
e是数学常数,近似等于2.7183,a是神经细胞的激励值,它是函数的自变量,而p是一个用来控制曲线形状变化快慢或陡峭性的参数。
p通常设定为1。
当p赋以较大值时,曲线就显得平坦,反之,就会使曲线变为陡峭。
4.4.1.4选择输入信息
我们选择的输入信息是:
a.黑线的坐标(等间距选择10个坐标,如果黑线坐标少于10个,我们将在后面处理)。
b.黑线的曲率(用选择的10个坐标处的曲率)。
c.摄像头视野中黑线的长短,即line_jmp。
这样我们一共得到21个输入,因此输入层神经元的数目是22个(为什么是22个我们讲在下面说明),选择隐层神经元的数目是20个,由于需要得到的是小车的速度和转角,因此输出层神经元的数目是两个。
所有权重值在-1和1之间。
激励值是所有输入*权重的乘积的总和,而神经细胞的输出值取决于这个激励值是否超过某个阀值(t)。
这可以用如下的方程来表示:
w1x1+w2x2+w3x3+...+wnxn>
=t。
上式是使网络输出为1的条件。
因为网络的所有权重需要不断演化,阀值的数据也能一起演化,那是非常重要的。
要实现这一点不难。
从上面的方程两边各减去t,得:
w1x1+w2x2+w3x3+...+wnxn–t>
=0
该方程可以再换用一种形式:
w1x1+w2x2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连理工大学 天鹰 智能 汽车 邀请赛 技术 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)