温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
大连理工大学
骆驼&耗子
骆驼
耗子
第十届“飞思卡尔”杯全国大学生
智能汽车竞赛
技 术 报 告
学 校:大连理工大学
队伍名称:骆驼&耗子
参赛队员:陈江涛
张焜耀
连家鑫
带队教师:吴振宇
李胜铭
关于技术报告和研究论文使用授权的说明
本人完全了解第十届“飞思卡尔”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:
带队教师签名:
日 期:
目 录
引 言 1
第一章 方案设计 2
1.1 系统总体方案的选定 2
1.2 系统总体方案的设计 2
1.3 小结 3
第二章 机械结构调整与优化 4
2.1 智能汽车车模的选择 4
2.2 智能汽车传感器的安装 4
2.2.1 速度传感器的安装 5
2.2.2 摄像头的安装 6
2.2.3 车模倾角传感器 7
2.2.4 起跑灯塔检测传感器 7
2.3 重心高度调整 7
2.3.1 电路板的安装 7
2.3.2 电池安放 7
2.4 其他机械结构的调整 7
2.5 小结 8
第三章 硬件电路方案设计 9
3.1 单片机最小系统模块 9
3.2 电源模块 10
3.2.1 电池使用 10
3.2.2 稳5V电源模块 10
3.2.3 稳3.3V电源模块 11
3.3 电机驱动模块 11
3.4 串口通信模块 11
第四章 图像信息处理 13
4.1 图像采集 13
4.1.1 图像数据输出简介 13
4.1.2 摄像头工作时序 13
4.1.2.1 行中断时序 13
4.1.2.2 场中断时序 14
4.1.3 DMA简要介绍 14
4.2 图像处理 15
4.2.1 阈值的确定方法——硬件二值化处理 15
4.2.2 采集图像思路 15
第五章 特殊赛道识别及处理 16
5.1.2 人字处理 17
5.2 障碍识别及处理 17
5.2.1 障碍识别 17
5.2.2 障碍处理 17
5.3 起跑线识别及处理 18
5.3.1 起跑线识别 18
5.3.2 起跑线处理 19
5.4 十字识别及处理 19
5.4.1 十字识别 19
5.4.2 十字处理 19
第六章 控制策略研究 20
6.1 PID控制 20
6.1.1 PID算法简介 20
6.1.2 PID参数整定 21
6.2 车模平衡控制 22
6.3 车模速度控制 22
6.4 车模方向控制 23
6.5 车模电机控制 23
第七章 开发工具、制作、安装、调试过程 24
7.1 开发工具 24
7.1.1 串口功能 24
7.1.2 画图功能 25
7.1.3 CCD显示功能 27
7.1.4 摄像头图像采集功能 27
7.1.5 摄像头图像显示功能 28
7.2 调试过程 28
第八章 车模主要参数 29
8.1 智能汽车外形参数 29
8.2 智能汽车技术参数 29
结 论 30
参 考 文 献 31
附 录 32
I
引 言
随着电子科技的不断发展,越来越多的智能设备设备开始进入到人们的生产生活中,嵌入式的迅猛发展为智能研究提供了更广阔的平台。在工业生产、科学探索、救灾抢险、军事等方面,人工智能发挥着越来越重要的作用,国外的几家著名跨国公司都推出了自己的无人驾驶汽车,因此,智能控制策略变得尤为重要。
“飞思卡尔”杯全国大学生杯智能汽车竞赛是国家教学质量与教学改革工程资助项目,以飞思卡尔半导体公司生产的8、16、32位单片机为核心控制模块,通过增加道路传感器、电机驱动电路、伺服系统以及编写相应程序,制作一个能够自主识别道路的汽车模型。该竞赛是涵盖了智能控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科的比赛,对学生的知识融合和实践能力的提高,具有良好的推动作用。
本文采用第十届“飞思卡尔”杯全国大学生智能车竞赛的汽车模型作为研究平台,以32位单片机MKL26Z256VLL4作为主控制单元,运用IAR Embedded Workbench软件作为开发工具进行智能控制策略研究。
道路信息检测模块普遍采用简单、速度快的数字类摄像头。本届车模后置双电机,因此需要对两个电机分别进行速度、方向检测,以及PID控制,车模转向采用FUTABA S3010官方指定伺服器。
电源模块设计中,采用Linear公司线性稳压电源芯片LT1529-5作为稳压5V输出;采用德州仪器(TI)公司的LM2596-ADJ输出6V电压给舵机供电,采用TI公司TLV1117作为稳压3.3V输出,为单片机、摄像头、串口通信模块供电。
单片机软件算法部分为本文论述的重点,主要体现了智能车的智能控制策略,运用PID控制理论完成对车模速度的控制,采用PD控制理论完成对舵机伺服器的控制,沿用采集赛道特征信息循迹算法,对新型赛道的识别及处理。
本篇技术报告将从智能车机械结构、硬件电路、图像处理、控制算法等方面详细介绍整个准备过程。
47
第一章 方案设计
第一章 方案设计
本章主要介绍智能汽车系统总体方案的选定和总体设计思路。
1.1 系统总体方案的选定
本届智能汽车比赛,我队为摄像头组别。在循迹传感器方面,选用数字摄像头ov7725,相比模拟摄像头有:硬件上有相对简单、信号传输稳定、抗干扰能力强等优势。由于采用了C型车模,车身在循迹前进的过程中,要根据赛道信息进行相应的转向、减速等处理。由于本次比赛增加了发车灯塔,所以,检测灯塔信号,我们采用了红外管进行脉冲测量;测速方面,考虑到C车模本身的结构,我们采用了专门用于测速的霍尔模块,易于固定,且精确度较高,用于速度闭环反馈。由于C型车模对车体姿态的控制要求不高,但是由于存在坡道等赛道因素,我们采用了MPU6050六轴加速度计陀螺仪模块,用于检测车体信息,帮助车更加稳定地前进。
1.2 系统总体方案的设计
遵照本届竞赛规则规定,智能汽车系统采用飞思卡尔的32位微控制器MKL26Z256VLL4单片机作为核心控制单元用于智能汽车系统的控制。数字摄像头采集赛道信息,返回到单片机作为转向控制的依据。霍尔测速模块采集速度信息 ,用于速度的闭环控制;加速度计陀螺仪模块返回的数字信号作为车身当前姿态的信号;主控输出PWM波控制电机的转速以保持车速度的控制和以及舵机转向的控制。由于赛道存在很多角度比较大的弯道,因此为了保证车在转向的过程中能平稳度过,弯道减速是非常必要的,保持必要的差速也是稳定车体的必要因素;同时,在直道上必要的加速能减少总体的时间。
根据以上系统方案设计,赛车共包括六大模块:MKL26Z256VLL4主控模块、传感器模块、电源模块、电机和舵机驱动模块、速度检测模块和辅助调试模块。各模块的作用如下:
MKL26Z256VLL4主控模块,作为整个智能汽车的“大脑”,将摄像头、陀螺仪,加速度计和霍尔测速等传感器的信号,根据控制算法做出控制决策,驱动两个直流电机以及舵机完成对智能汽车的控制;
传感器模块,是智能汽车的“眼睛”,可以调整好一定的前瞻,提前感知前方的赛道信息,为智能汽车的处理器做出决策提供必要的依据和充足的反应时间,我们使用红外对管检测起跑灯塔信号,使用霍尔测速用于控制车行进过程中速度的闭环控制,使用加速度计陀螺仪模块用以保持车模稳定行进;
电源模块,为整个系统提供电压合适而又稳定的电源;
电机驱动模块,驱动直流电机以实现智能汽车的速度输出;
伺服器模块,控制车体的行进方向;
辅助调试模块,主要用于智能汽车系统的功能调试、赛车状态监控等。
1.3 小结
本章重点分析了智能汽车系统总体方案的选择,并介绍了系统的总体设计和总体结构,简要地分析了系统各模块的作用。在今后的章节中,将对整个系统的各个模块进行详细介绍。
第二章 机械结构调整与优化
第二章 机械结构调整与优化
智能汽车各系统的控制都是在机械结构的基础上实现的,因此在设计整个软件架构和算法之前一定要对整个模型车的机械结构有一个全面清晰的认识,然后建立相应的数学模型,然后再针对具体的设计方案来调整赛车的机械结构,并在实际的调试过程中不断的改进优化和提高结构的稳定性。本章将主要介绍C车模的机械结构和调整方案。
2.1 智能汽车车模的选择
本届比赛摄像头组只允许使用C车模,因此我们选用了C车模。
图2.1 智能汽C车车模
2.2 智能汽车传感器的安装
车模中的传感器包括有:速度传感器(霍尔测速模块),红外灯塔检测传感器,车模姿态传感器(陀螺仪、加速度计)以及摄像头。下面分别介绍这些传感器的安装。
2.2.1 速度传感器的安装
速度编码器我们采用了霍尔测速模块,安装方法如下:
将购买的霍尔测速芯片通过自制的电路模块,再配合圆形磁铁和合适的支架,安装到小车电机旁边的测速卡槽,注意安装的时候要尽量使用大小合适的支架,以免影响到电机的旋转,或者车的传动性能,在这里,我们使用了激光切割技术自制了合适的固定支架;对于霍尔测速传感器,一定要保证测速磁铁和芯片要正对,以免影响芯片测量磁铁的转速。
图2.2 测速传感器安装
2.2.2 摄像头的安装
为了降低整车重心,需要严格控制摄像头的安装位置和重量,我们采用3D打印技术自行设计了轻巧的夹持组件,并采用了碳纤维杆作为安装摄像头的主桅,这样可以获得最大的刚度质量比,整套装置具有很高的定位精度和刚度,使摄像头镜头便于拆卸和维修。摄像头镜头的安装如图2.4所示。
图2.3 摄像头的安装
2.2.3 车模倾角传感器
车模倾角传感器包括陀螺仪和加速度计。它们都是贴片元器件,单独固定在一块小电路板上,然后用铝架固定在车模上,从而保证检测数据的可靠性。
2.2.4 红外灯塔检测传感器
红外灯塔检测模块包括红外传感器和固定底座,考虑到灯塔的位置以及高度,我们把红外传感器及其外围电路集成到一块面积不大的方块电路板上,然后通过3D打印设计的支架,使其固定到摄像头碳纤维支架上,以便于准确地检测红外灯塔信号和减少误判的可能性。
图2.4 灯塔信号检测系统的安装
2.3 整体结构调整
重心的高度是影响智能车稳定性的因素之一。当重心高度偏高时,智能车在高速转弯过程中会发生抬轮现象,严重时甚至翻车。因此,从小车稳定性考虑,我们尽量降低重心高度,从而保证小车可靠稳定;同时,尽量使小车机械结构稳定,车的重心位于车体的中心位置,避免过于靠后增加电机负担或者过于靠前增加舵机的负担。
2.3.1 电路板的安装
为了使小车具有较好的稳定性及转向性能,我们在搭建小车时尽量选择降低重心,因此我们选择将主控板和驱动板分别安装到车底盘的中部靠前的位置以及车的后方位置,从而实现降低重心,提高小车的稳定性。
2.3.2 电池安放
同样为实现降低重心,提高小车稳定性的目的,我们制作了高度很低的电池固定底座来达到以很低的高度牢固地固定电池的目的,最大程度的降低了小车的重心。
图2.5 电池的安装
2.3.3 舵机伺服器的调整
舵机的灵活转向控制则依赖于机械系统中各个零部件间协调运行。为提高智能车的整体协调性能,一定要把握好“车身简捷、底盘低稳、转向灵活、协调匹配”的设计与安装原则。舵机的输出转角通过连杆传动控制前轮转向,其转角精度直接影响到智能车模能否准确按赛道路线行驶,由于舵机从执行转动指令到响应输出需占用一定的时间,因而产生舵机实时控制的滞后。虽然车模在进入弯道时能够检测到黑色路线的偏转方向,但由于舵机的滞后性,极大限制车模在连续弯道上行驶的最大时速,为了减小舵机响应时间,我们利用杠杆原理,采用加长舵机力臂的方案来弥补这一缺陷。
我们通过运用Solidworks软件建模进行了一系列的运动仿真,通过仿真,最后确定了采用合适的舵机力臂,使舵机转弯灵活,轻盈,同时又能保证不对舵机损坏。
图2.6 舵机力臂的设计以及力学性能仿真
.2.3.4主销后倾
主销:转向轮围绕主销进行旋转,前轴的轴荷通过主销传给转向轮,具备这两点的就叫做主销。主销内倾角和车轮外倾角主要由转向节决定的。
从侧面看车轮,转向主销向后倾倒,其与铅垂线的家教称为主销后倾角。设置主销后倾角后,主销中心线的接地点与车轮中心的地面投影点之间产生距离,使车轮的接地点位于转向主销延长线的后端,车轮就靠行驶中的滚动阻力被向后拉,使车轮的方向自然朝向行驶方向。设置很大的主销后倾角可以提高直线行驶性能,但是如果主销纵倾移距过大,会使转向沉重。经过大量实验发现,主销后倾0-4°即可。在模型车中,可以通过在转向轮安装处增加垫片调整主销后倾角度。
图2.7主销后倾
2.3.5主销内倾
从车前后方向看轮胎时,主销轴向车身内侧倾斜,该角度称为主销内倾角。当车轮以主销为中心回转时,车轮的最低点将陷入地面以下,但实际上车轮下边缘不可能陷入路面以下,而是将转向车轮连同整个汽车前部向上抬起一个相应的高度,这样汽车本身的重力有使转向车轮回复到原来中间位置的效应,因而转向复位容易,增加了转向的灵活性。
对于模型车,通过调整前桥的螺杆的长度可以改变主销内倾角的大小。但是模型车是金属与塑料接触,因此为了表面调节频繁而造成滑丝,最好一次调整好后不要轻易调节。
图2.8主销内倾
2.4小结
本次的摄像头组使用了C车模,由于数字摄像头的使用以及车模的特点,车速普遍都比较快,因此,为了车在跑的过程中保证平稳性,机械结构的搭建变的非常重要,车的性能与机械结构有着非常密切的联系。良好的机械结构是模型车提高速度的关键基础。在同等的控制环境下,机械机构的好坏对其速度的影响十分显著。我们非常重视对智能汽车的机械结构的改进,经过大量的理论研究和实践,我们小车的大部分质量都集中在车的中间部位;对舵机结构的优化,使得车在转弯的时候变的更加平滑与稳定,经过坡道的时候有效地避免了车体过于剧烈的抖动,甚至冲出跑道。
对车轮胎的调整,使得车在行驶的过程中,保证了充足的摩擦力,为更快的速度提供了硬性的保障。
一个好的机械结构能够保障车平稳行驶的过程中获得最大的动力学性能,是进一步提速的关键。
第三章 硬件电路方案设计
第三章 硬件电路方案设计
本系统的硬件电路采用模块化设计方式。主要包括单片机最小系统模块、电源模块、图像采集模块、测速模块、串口通信模块、红外检测、显示模块等部分。
3.1 单片机最小系统模块
本设计的核心控制器为飞思卡尔公司生产的32位单片机MKL26Z256VLL4。该单片机具有100引脚。
MKL26Z256VLL4具有丰富的系统资源和方便的外部电路接口,其中包括32位中央处理单元,UART模块,PIT定时中断模块,IIC模块,DMA模块,RAM存储器, FLASH存储器,EEPROM存储器,FTM PWM 模块。系统板电路模块如图3.1所示。
图3.1 单片机核心板原理图
3.2 电源模块
3.2.1 电池使用
电源模块是系统稳定工作的基础,因此,电源模块输出电压和电流的稳定性在整个智能车系统中起着非常重要的作用。
智能车的电池为Ni-Cd(镍镉)电池,该类型电池具有高效的利用率和稳定的性能,一直被作为各种航模、电动车等的供电设备。为了获得最高的性能和最长的寿命,该充电电池必须以正确的方法来使用。
对镍镉电池充电时,通常采用电池容量值的大约两倍来充电,当电池是1800mAh,那么用0.5到1.5安培来充电是安全的,而且充得比较饱满。通常电流高,电池的爆发力会强些,但未必如电流低时饱满。同时我们也必须注意充电电流不能过高,最好不要超过1.5A,当电流过高时,不仅不能提高电池性能,反而会损坏电池,严重时会导致电池起火、爆炸。根据经验,一般在0.5到1.5安培之间是效果较好。
电池充满电时,电压大约为8V。在电池压小于7V时,应注意及时充电,电池过放会对其造成不可逆转的损害,电压低于6V会对电池造成毁灭性伤害。
3.2.2 稳6V电源模块
由于舵机伺服器FUTABA S301的额定工作电压为6V,LM2596系列是德州仪器(TI)生产的3A电流输出降压开关型集成稳压芯片,它内含固定频率振荡器(150KHZ)和基准稳压器(1.23v),并具有完善的保护电路、电流限制、热关断电路等。利用该器件只需极少的外围器件便可构成高效稳压电路。电路的设计原理如图3.2所示。
图3.2 舵机供电电路原理图
3.2.3 稳5V电源模块
由于系统串口通信等地方需要5V电源,同时为了更好得获得稳定的3.3V电源给MCU提供稳定的电源,我们采用了Linear公司生产的LT1529来达到稳定5V的目的。电路原理图如下:
图3.3 稳5V电路原理图
3.2.4稳3.3V电源模块
由于单片机的额定电压为3.3V,摄像头供电3.3V,测速供电也为3.3V,因此,将电压稳定在3.3V并给各模块供电是必不可少的。电路的设计原理如图3.4所示。
图3.4 稳3.3V电路原理图
3.3 电机驱动模块
本智能车系统车模的电机型号较小,对电机驱动的输出电流的要求并不苛刻,因此本设计的驱动电路由2片BTS7960构成H桥。通过控制4个MOS管的导通和关断来实现正反转,并通过控制输入的PWM波的占空比来调节电机两端的平均电压,达到控制电机的转速的目的,具体电路图如图3.5所示。
图3.5 电机驱动原理图
3.4 串口通信模块
调车的过程中,需要实时的观察变量变化情况,通过下载线在Live Watch 窗口中观察变量很受局限,所以采用蓝牙无线通信模块,波特率为115200,传输速度更快,配合上位机观察超调量,有助于调试PID参数,同时,也可以通过蓝牙发送赛道信息,便于对赛道元素的分析,具体电路图如图3.6所示。
图3.6 串口通信原理图
3.5 霍尔测速模块
我们采用的霍尔测速模块,霍尔模块具有电路简单,测量精度高,体积小巧,安装简便的特点,电路的设计原理如图所示。
图3.7 霍尔测速电路原理图
3.6 灯塔信号检测模块
由于本届竞赛增加了灯塔检测系统,车辆起跑和停止都是由灯塔信号控制,所以我们自行设计了灯塔信号检测模块,根据红外灯塔的信号特征,我们采用了红外接收管系统来捕获灯塔信号,具体电路图如图3.8所示。
图3.6 灯塔信号检测模块原理图
第四章 图像信息处理
第四章 图像信息处理
智能车采集图像信息的底层处理算法是整个上层控制策略的基础,图像采集的稳定性、图像处理方法、路径识别的准确性都决定着上层控制策略能否发挥作用,只有准确的识别出路径信息,智能车才能实现高速稳定行驶。我们使用ov7725数字摄像头来进行图像处理和识别。
4.1 图像采集
4.1.1 图像数据输出简介
摄像头的主要工作原理是[8]:将摄像头的像素点从上到下,从左到右逐个输出,虽然部分芯片可以配置输出顺序,但是对于智能车来说,正常输出即可,有些摄像头将一帧图像分成奇偶两场,ov7725并没有这项配置。
4.1.2 摄像头工作时序
4.1.2.1 行中断时序
图4.1 行中断时序图
首先需要明确的是HREF和HSYNC均为行中断信号,它们共用一个管脚,由寄存器配置使用选择什么信号输出。然而,它们的时序还存在着一定的区别,HREF在上升沿就会马上输出图像数据,而HSYNC则需要等待一段时间再输出,如果行中断里需要处理事情再开始采集,则显然用HREF的上升沿是很容易来不及采集第一个像素。
PCLK是整个控制摄像头指令的时序,在上升沿时MCU会采集图像,下降沿时摄像头输出图像。
行消隐区:如果不按照时序来采集,便会采集到值为0的消隐区,即黑色。行与行之间,场与场之间,都是存在消隐区的。里面存放的均为无效数据。
4.1.2.2 场中断时序
图4.2 场中断时序图
场中断信号VSYNC来了,便可以开始采集每帧的数据,可以在程序里选择上升沿或者下降沿触发中断。场中断和行中断的时序关系必须处理好,否则将出现异常。
4.1.3 DMA简要介绍
DMA(Direct Memory Access,直接内存存取) 允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。
工作原理:DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能嵌入式系统算法和网络是很重要的。
在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤。
4.2 图像处理
由于图像处理是路径识别的基础,也是控制策略能否发挥作用的重要影响因素,因此,本文将对此部分进行详细介绍。
4.2.1 阈值的确定方法——硬件二值化处理
ov7725数字摄像头在硬件上做了二值化处理,所以阈值作为程序底层中一个十六进制的数值来体现,这里就不再赘述了。需要注意的是,如果想要获得效果明显清晰的图像,当环境改变时,阈值要做相应的调整来适应光线场地,这个是运行上层采线函数获得正确赛道信息的首要条件。
4.2.2 采集图像思路
图像采集的方案是不使用行中断信号,直接DMA模块计数来完成一场结束的判断。
1、需要采集图像时,开场中断
2、场中断来了,初始化 DMA 传输,并启动 DMA 传输
3、每个 PCLK 上升沿来了都触发 DMA 传输,把摄像头输出的值读取到内存数组里。当触发 n 次(n=图像像素数目)后就停止 DMA 传输。
4、DMA 停止传输时触发中断,中断里关闭场中断,图像采集完毕。
4.2.3图像处理思路
图像处理采用了赛道边沿提取的方法,基本思想如下:
1、逐行扫描原始图像,根据设定的阈值提取黑白跳变点;
2、赛道宽度有一个范围,在确定的赛道宽度范围内提取有效赛道边沿,这样可以滤除不在宽度范围内的干扰;
3、利用赛道的连续性,根据上一行白块的位置和边沿的位置来确定本行的边沿点;
4、在弯道的时候赛道有回拐的情况,所以提取本行边沿之前还要向前搜索回拐的边沿点;
5、在弯道行进过程中,保持系统搜索最远有效行,为未来进一步打角做出判断,尤其是在速度比较快的时候,获取较远赛道信息变的非常重要;
4.2.4图像校正
由于摄像头是固定好的,因此,在制作机械结构的开始,就应该考虑到摄像头的前瞻等因素;初次之外,考虑到摄像头镜头的问题,摄像头采集到的图像存在失真的现象,摄像头拍照时为获取较大的视角势必要加入广角,然而加入广角便不可避免的发生图像桶形畸变,即使抓拍的图像产生鱼眼状中间凸起的形变,而这必将影响下一步的图像处理操作,为了准确的还原原始图像则需要利用各种技术对图像桶形畸变进行校正。 我们利用了数字图像处理技术对对拍摄到的含有畸变的图像进行有效校正获得了一定的效果。
4.3小结
对于摄像头组别来说,摄像头采集的图像是整个环节中最重要的一环,因此,保证了图像的稳定,才能让车判断出正确的赛道,并且到达一定的速度。得到正确的图像之后,如何巧妙的处理图像数据也是让车提速的关键,在处理图像数据的时候,硬件二值化以及图像的校正是非常重要的。对于微处理器来说,摄像头采集的数据量是比较大的,因此,飞思卡尔微处理器的DMA通道,提供了合适的解决方案。
第五章 特殊赛道识别及处理
第五章 特殊赛道识别及处理
本届比赛赛道类型主要为“直角”、“单线”、“十字”、“小S”形弯道、“楔形”障碍、起跑灯塔,障碍较第九届有所改变,赛道较往届难度有显著提高。所以,经考虑,我队在正常循迹的基础上着重对人字、障碍、起跑线、十字、单线进行图像识别,并采取正确的行驶策略。
5.1 正常循迹
在正常的赛道上时,尽管有弯道等特点,但是赛道仍然有明显的双边特征,而且背景和赛道区别特征明显,这就为摄像头辨别赛道提供了简便可靠的依据。
在循迹上,我们采用了多行加权平均判断,通过对摄像头采集的每一帧画面上进行多行加权优化,提取出最优化路径的赛道特征。
根据往届比赛以及本届东北赛的经验,赛车能否以最短的时间完成比赛,与赛车的速度和路径都有着密切的关系,因此,如何使赛车以一个最合理、最高效的路径完成比赛是提高平均速度的关键。
对于赛车路径的优化,我们从两方面来完成:
1)增加视场的长度和宽度
根据我们的分析,当赛车采集到的图像能够覆盖一个比较完整的S弯道时,通过加权算法计算出来的中心就会处于视场中央附近,此时赛车会以一个比较好的路径快速通过S弯道;相反,如果视场无法覆盖一个完整的S弯道,赛车就会误处理为普通的单向弯道,这样赛车的速度就会大大减慢。因此,尽量增大视场的长度和宽度就很有必要了。
2)优化加权算法
对整场有效行的中心求加权平均值的算法,在低速情况下可以有效地优化赛车路径,但在赛车速度提高到一定程度之后由于过弯时的侧滑,甚至侧翻,路径不是很好。而由于图像分布不均,三分之二的行分布于车体前方40cm的范围内,求出的加权平均值受车体近处的图像影响较大,相当于摄像头的前瞻不足。因此整场图像求加权的算法对于高速情况下的路径优化效果不是很明显。
为了解决这个问题,我们对于参与加权计算的图像行数及权重进行了处理,减小了车体前部40cm范围内的图像参与加权的行数和权重,同时增大视场前部图像的权重。在经过长期调试之后,得到了一套比较合适的参数,能够有效优化高速情况下的赛车路径。
5.2 障碍识别及处理
5.2.1 障碍识别
针对障碍,最开始采用识别其本身的方法,因为障碍颜色为黑色,在白色赛道上出现一块黑色区域,此为障碍,虽然表面上没有什么问题,但实际上存在许多误判,特别是在转弯时,会将蓝色底的部分误判为障碍,最终不得不放弃此方案,尝试其他方法。结合车模本身循迹方法,经过观察发现,障碍有如下有效信息:
1、障碍存在的地方,赛道宽度会大幅度减少
2、障碍存在的地方,中线偏移很大,且边的斜率会较直道部分斜率小
基于以上3条特点,加上范围阈值的实际调试,障碍的识别成功,误判率很低。
图5.2 障碍示意图
5.2.2 障碍处理
我队的车在正常循迹时会沿着拟合好的中线行驶,也就是说,在PID参数保持不变时,中线的位置决定了车模的轨迹。基于以上事实,我队在识别障碍后,在中线的位置添加了向左或向右的偏移量(根据障碍的位置而定),并延时打角,如此车模便会顺利绕过障碍。
5.3 起跑线识别及处理
5.3.1 起跑线识别
因为比赛规定要求,摄像头组采用发车灯塔控制的方式,若车模无法识别灯塔或者完成比赛后未能在通过起跑线后停住,比赛则无法完成或者成绩加1秒,所以起跑线的识别变得尤为重要,直接决定车的档次。
结合车模本身循迹方法,经过观察发现,起跑灯塔有如下有效信息:
1、发射的是红外光+可见光的形式
2、灯塔信号中,在原有的40KHZ的调制信号的基础上,增加了占空比为50%的编码信号。
3、灯塔高度为10厘米
4、为避免对相邻赛道影响,会增加隔板进行遮挡。
基于以上4条特点,再加上组委会推荐的光电对管装置,起跑线识别成功,误判率很低。
图5.3 起跑线示意图
5.3.2 起跑线处理
根据规定,要求车模按照灯塔信号发车的要求,我们才用脉冲累加的方式,将传感器采集的脉冲信号进行脉冲累加,测量其单位时间的脉冲数是否灯塔发出信号的频率,进而识别灯塔信号。而且要求车模通过起跑线后停住,我队采用识别起跑线后,控制电机输出为零的方法,达到车体停住的效果。
5.4 十字识别及处理
5.4.1 十字识别
因为往届已经存在了十字路口,所以在算法识别上并无太多新意,十字的特点也特别明显、简单,就是在摄像头采集的图像中,存在多行全白,也可以说是没有黑边。
图5.4 十字示意图
5.4.2 十字处理
检测到十字,将中线设定为整幅图像的中间列,采取直走的方法。
5.5 直角拐弯
5.4.1 直角识别
不同于往届,本届竞赛中加了直角拐弯,从组委会下发的文件中可以看到直角具有以下信息。
1.在直角弯道两边距离一米处路面上有宽度为10厘米、长度等于路宽的黑色标识,用于检测直角标志位。
图5.4 直角示意图
5.4.2 直角处理
由于直角有明显的直角标志位,因此我们采用图像识别的方法,利用图像数据识别直角标志位,然后识别之后,到达直角的位置的时候实行一边方向打死的策略,实现了直角的平稳度过。
5.4 单中心线识别及处理
5.4.1 单中心线识别
在本届比赛中,增加了若干段以中心线为引导线的路段。中心引导线为宽度为25±5mm的黑线,在比赛中,车模必须在中心引导线段沿着中心线前进。从规则中可以看出以下信息:
1. 中心引导线为25±5mm的黑线;
2. 每段中心引导线长度不超过2米;
3. 中心引导线只会出现在直道或者弯道上,距离赛道中的十字路口、坡道、直角、路障有一米以上的距离。
所以在检测单中线的时候,我们采用扫描的方式,当两边赛道丢失时,进行扫描处理,当扫描到中心线时,即可识别成功。
图5.4 中心引导线示意图
5.4.2 单中心线处理
检测到单中心线的时候,我们采用将中心引导线作为车转向的唯一依据,进行相应的打角。经过测试,单中心线识别处理成功率挺高。
第七章 开发工具、制作、安装、调试过程
第六章 控制策略研究
6.1 PID控制
6.1.1 PID算法简介
PID控制即比例、积分、微分控制,该方法在工程实际中应用相当广泛。PID控制算法具有结构简单、工作可靠、便于调整、性能稳定等优点。当被控对象的性能、结构等一系列参数无法得知,而且建模等控制方法亦无从下手时,我们便可以应用PID控制技术,但是,系统控制器的结构和参数必须依靠经验和现场调试来确定。当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。图6.1为PID控制系统原理图。
图6.1 PID控制系统原理图
PID函数的一般形式为:U(s)=kp(1+1/(TI*s)+TD*s);其中kp为比例系数,TI为积分时间,TD为微分时间常数。
比例控制是一种简单实用的控制方式。该方法的输出与输入误差成比例关系。比例系数越大,调节作用亦越大,减少误差的过程则越迅速,但是比例系数如果过大,则系统的稳定性会大大下降。
对于积分控制,控制器的输出与系统的输入误差信号的积分成正比关系。积分项的引入是为了消除稳态误差,积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。
微分控制中,控制方法的输出与输入误差的变化率成正比关系。智能车控制系统由于存在有较大惯性,其变化总是落后于误差的变化自动控制系统,在克服误差的调节过程中可能会出现振荡,严重时会导致不稳定。为了充分解决此问题,我们需要提前抑制误差的变化作用,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。
6.1.2 PID参数整定
PID控制算法中PID参数的整定是控制系统设计的核心内容。该过程是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。
PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定。该方法需要依靠一定的数学模型,即通过一定的模型进行理论计算,最后确定控制器参数。但是,理论计算的方法所得到的数据常常是不能够直接运用到实际中的,其必须通过实际工程进行验证,并进行调整和进一步修改。二是工程经验整定。该方法主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。工程整定方法中的PID参数整定主要有临界比例法、衰减法、反应曲线法。三种方法各有其特点,每一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。此外,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。
进行 PID控制器参数的整定步骤一般如下:
1、预选择一个足够短的采样周期让系统工作;
2、仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;
3、在一定的控制度下通过公式计算得到PID控制器的参数;
4、根据实际运行情况对计算出的PID控制器的参数进行调整。
本系统的PID参数为通过上位机调试得来,具体调试方法为:先将PID参数设置为经典参数,然后通过上位机观察速度曲线,不断改变PID参数,直至观察速度曲线发现其加减速时间很短,超调量很少,则说明此时的PID参数已经基本比较合适,这样就确定出适合本系统的一组PID参数。
6.2 舵机PD控制
对于车体的转向控制,我队通过PD控制舵机的打角,实现弯道的过度,但是考虑到整个赛道的弯道曲率是有差异的,因此,我们选择用动态PD来控制舵机的打角,同时,根据赛道中心线来确定动态PD的范围,利用多次测量和用MATLAB拟合的方法,确定了控制舵机PD参数的函数关系,因此在过比较大的弯道的时候,车子也能有比较好的路径。
6.3 车模差速控制
由于本届采用的是C型车模,车模速度相对往届都比较高,但是,当速度快的时候,弯道如果仅仅依靠舵机打角是不够的,这时,制约速度进一步上升的主要问题就是车的机械结构,我们在多次跑赛道的时候发现,当车在达到一定速度的时候,车模在弯道打角会迟缓,因此会在弯道冲出赛道。
所以,我们注意到C车模是双电机驱动的结构,并且,没有自身的机械差速结构,所以我们采用了软件控制电机达到车速的目的。
传统汽车使用机械差速器来完成差速,机械差速器的基本运动规律是:无论转弯或直行,两侧驱动车轮的转速之和始终等于差速器壳转速的2倍。
常用的对称式锥齿轮差速器,其内摩擦力矩很小,实际上可以认为无论左右驱动轮转速是否相等,两边扭矩总是平均分配,这样的分配比例对于车辆在良好路面上直行或转弯时,其运行状态都是满意的。
在电动汽车中,由于使用两台电机直接驱动后轮,不用安装机械差速器,但是在转弯时面临着差速问题。因此如何解决电动汽车转弯时的差速问题,成为电动汽车发展的关键问题。目前较为流行的方案有两