版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十三届“恩智浦”杯全国大学生智能汽车竞赛技术报告学校:杭州电子科技大学队伍名称:杭电竞速一队参赛队员:徐泽斌陈炫舒雨健带队教师:陈龙陈关于技术报告和研究论文使用授权的说明本人完全了解第 13 届“恩智浦”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和恩智浦半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论中。 参赛队员签名: 徐泽斌 陈炫 舒雨健 带队教师签名:陈龙、陈日期:2018 年 8 月 14 日第十三届全国大学生智能汽车邀请赛技术报告摘要本文介
2、绍了杭州电子科技大学的队员们在准备此次比赛中的成果。本次比赛采用大赛组委会提供的 1:16 仿真车模,硬件平台采用 MK66FX1M0VLQ18 单片机的 K66 环境,软件平台为 Keil 开发环境。 文中介绍了本次我们的智能车控制系统软硬件结构和开发流程,整个智能车涉及车模机械调整,传感器选择,信号处理电路设计,控制算法优化等许多方面。整辆车的工作原理是先将小车的控制周期中提取出相应的时间片,相应的时间片作为一次控制周期,用来控制速度和转向,由数字 CMOS 摄像头采集赛道信息至主板,并直接传递给单片机 IO 口,再由单片机读取信号进行分析处理,运用我们自己的软件程序对赛道信息进行提取并选
3、择最佳路径,通过对电机的精确控制从而实现小车在赛道上精彩漂亮的飞驰! 为了进一步提高小车在运行时的稳定性和速度,我们组在软件方面使用了多套方案进行比较。更新了 SD 卡技术实时存储赛道信息。硬件上为了稳定的考虑,采用了以前比较稳定的方案,但是在电源部分做了调整,使得整车的电源裕度更大,硬件鲁棒性更强。为更好的分析调车数据,我们继承并且改进上届的上位机,用 C#软件编写了新的上位机程序来进行车模调试,很大程度上提高了调车效率。在进行大量的实践之后,表明我们的系统设计方案完全是可行的。 关键字:恩智浦智能车,MK66FX1M0VLQ18,CMOS 摄像头,PID 控制,存储器,C#上位机 Abst
4、ractThis article describes the results of the members of Hangzhou University of Electronic Science and Technology in preparing for the competition. Thiscompetition adopts the 1:16 simulation model provided by the organizing committee of the competition. The hardware platform adopts the K66 environme
5、nt of MK66FX1M0VLQ18 single-chip microcomputer, and the software platform is the Keil development environment.This paper introduces the software and hardware structure and development process of our smart car control system. The whole smart car involves many aspects such as car model mechanical adju
6、stment, sensor selection, signal processing circuit design, and control algorithm optimization. The whole car works by first extracting the corresponding time slice from the control cycle of the car. The corresponding time slice is used as a control cycle to control the speed and steering. The digit
7、al CMOS camera collects the track information to the main board and directly It is passed to the IO port of the MCU, and then the MCU reads the signal for analysis and processing. Using our own software program to extract the track information and select the best path, through the precise control of
8、 the motor, the car can be wonderfully flying on the track. !In order to further improve the stability and speed of the car during operation, our group used several sets of software to compare. Updated SD card technology to store track information in real time. For the sake of stability on the hardw
9、are, the previous stable solution was adopted, but the power supply was adjusted to make the power supply margin of the whole vehicle larger and the hardware robust. In order to better analyze the shunting data, we inherited and improved the previous host computer, and used C# software to write a ne
10、w PC program to debug the car model, which greatly improved the shunting efficiency. After a lot of practice, it shows that our system design is completely feasible.Keywords: NXP Smart Car, MK66FX1M0VLQ18, CMOS camera, PID control, memory, C# host computer第十三届全国大学生智能汽车邀请赛技术报告目录摘要4 第一章系统整体设计1 1.1 系统概
11、述1 1.2 整车姿态2 第二章机械系统设计与实现4 2.1 前轮定位4 2.2 车模重心5 2.3 车模底盘高度5 2.4 伺服器(舵机)安装5 2.5 速度传感器(编码器)安装6 2.6 摄像头固定7 2.7 电池的固定7 2.8 电感的固定7 2.9 陀螺仪固定7 第三章硬件系统设计及实现8 3.1 硬件电路整体架构框图8 3.2 单片机外围电路设计8 3.3 总钻风摄像头的电路模块设计9 3.4 电源部分电路设计10 3.5 电机驱动电路的设计12 3.6 小车调试模块13 3.7 主板板级设计13 3.8 后置驱动板设计14 3.9 硬件电路部分总结15 第四章软件系统设计及实现16
12、 4.1. 软件控制程序的整体思路16 4.2 灰度图像处理思路16 4.3 基本循迹扫线思路17 4.4 赛道中线的拟合18 4.5 十字识别与赛道中心线修补19 4.6 赛道类型的分离20 4.7 伺服器(舵机)转向打角控制策略21 4.8 电机转向差速控制策略22 第五章 智能车调试说明23 5.1 上位机调试软件的设计23 5.2 SD 卡存储模块24 5.3 现场调试24 第六章 车模技术参数说明25 6.1 车模主要技术参数25 6.2. 电路中芯片的种类及数量25 第七章 总结27 第八章 致谢28 第九章 参考文献29 附录:30 A FTM 输入捕捉(编码器读取)源代码:30
13、 B UWB 测距模块读取代码39 C NRF24L01 驱动代码40 D 舵机初始化及控制46 E 电机初始化及控制46 第一章系统整体设计1.1 系统概述光电(摄像头)智能车系统的总体工作模式为:CMOS 图像传感器拍摄赛道,输出 8 位灰度信号及行场像素中断,主控制器检测各中断信号进行图像采集,同时使用伺服器和电机对于车模姿态和行进进行控制,并通过速度传感器、角速度传感器等不同传感器获取车模姿态,进行闭环控制。 双车会车组智能车更增加了无线通信模块、测距模块对于两车姿态进行协同处理,完成比赛要求。 图 1.1 系统框图 系统框图如上图(1.1)所示,该系统总共包括 8 个子系统:电源模块
14、、主控制器模块、赛道采集模块、姿态传感器模块、伺服器(舵机)控制模块、电机控制模块、双车交互模块、调试模块。 1、主控制器模块 使用NXP公司的MK66FX1M0VLQ18单片机作为智能车系统的主控制器,该单片机主频可以达到180MHz,通过超频处理之后可以达到220MHz 的主频;并且有UART0-UART4共5个UART串口模块、FTM0-FTM3共4个FTM定时器模块等多种功能,充分满足智能车设计需要。2、赛道采集模块 使用逐飞科技提供的MT9V032(总钻风)摄像头作为光电传感器进行赛道图像采集,该摄像头通过一块51单片机与主控制器进行通信,进而配置摄像头的相关信息,通过使用场中断触发
15、主控制器开始图像采集、像素中断控制采集速度。该摄像头相较于我们之前使用的模拟面阵CCD摄像头有着对于光线的需求较小,适应性更强的特点,满足比赛要求10cm高度摄像头进行赛道信息采集的需要。 3、姿态传感器模块 姿态传感器分为速度传感器和角速度传感器,其中速度传感器使用龙邱科技提供的mini512线编码器,用于对于电机进行闭环控制;而角速度传感器用于实时掌握车模的姿态,能够有效地控制车模与地面的状态,更有效地实施闭环控制。 4、伺服器(舵机)控制模块 调试模块双车交互模块电机控制模块伺服器(舵机) 控制模块姿态传感器模块赛道采集模块主控制器模块电源模块第十三届全国大学生智能汽车邀请赛技术报告使用
16、比赛规定的Futaba S3010舵机进行车模转向控制。5、电机控制模块 使用比赛规定的RN-380电机进行车模的速度控制。 6、双车交互模块 双车交互模块分为双车通信模块和双车测距模块两种: (1) 双车通信模块 使用NRF24L01模块进行双车通信,该模块是由NORDIC生产的工作在2.4GHz2.5GHz的ISM 频段的单片无线收发器芯片,主控制器通过GPIO口模拟SPI协议与之通信. (2) 双车测距模块 使用DWM1000芯片,计算双车在超宽带领域的通信时间计算两车的距离,为了简化设计,我们采购了熊大UWB的成品模块直接用于智能车的测距中。 7、调试模块 调试模块由OLED屏幕、组合
17、按键、无线透传串口、有线串口、SD卡组成。 其中,OLED屏幕是我们自行设计并制作的0.96英寸单色屏幕,满足图像参数显示的需要; 组合按键分为上、下、左、右、保存、确定共6个按键,满足对于参数的微调需要; 无线透传串口使用HC-05模块,可以在智能车运行中实时传输控制参数和赛道信息; 有线串口使用CH340芯片,可以高速的向电脑传输赛道信息和控制数据,有效的重现赛道,了解智能车实际运行情况; SD卡使用16GBTF卡,并通过sdmmc协议与之通信,实时储存赛道信息, 有效复现车模运行过程。 1.2 整车姿态图 1.2 整车布局2第十三届全国大学生智能汽车邀请赛技术报告1) 舵机位置在前,立式
18、安装,既保证响应速度又大多数符合阿克曼转角原理; 2) 电池用扎带固定在后方,平衡重心; 3) CMOS摄像头通过碳杆、金属支架和AB胶固定在舵机与主板中间,有效的采集赛道信息; 4)UWB测距模块使用L型金属支架固定在主板和电池之间(车模中心),使测得的距离更加精准,有效的运用于控制中; 5) 所有传感线都缩短到合适长度,更适应信号的传递,也为了整洁美观,使智能车不仅仅是一辆车模,更是成为一件“艺术品”; 6) 运用 OLED 屏幕、组合按键进行参数调整。 7) 两个水平电感,两个八字电感,一个中间电感,充分利用电磁前瞻,更好地进行电磁赛道识别。 8) 陀螺仪安装在车模中心的板子上,以此最好
19、地检测整辆车的抖动情况,并及时给出一定的反馈。 3第十三届全国大学生智能汽车邀请赛技术报告第二章机械系统设计与实现2.1 前轮定位前轮定位对赛车的速度有很大的影响,虽然车模比较小,但是前轮定位作用还是不容忽视的。轮定位的内容有:主销后倾、主销内倾、前轮前束。 2.1.1 主销后倾转向轮(前轮)围绕主销进行旋转,前轴的轴荷通过主销传给转向轮,具备这两点的就叫做主销。主销向后倾斜,主销轴线与地面垂直线在赛车纵向平面内的夹角称为主销后倾。如图所示: 图2.1.1 前轮重心在主销的轴线上,由于主销向后倾斜使前轮的重心不在车轮与地面的接触点上,于是产生了离心力,主销后倾形成的离心力,可以保证汽车直线行驶
20、的稳定性,还可以帮助车轮自动回正。 2.1.2 主销内倾主销在横向平面内向内倾斜,主销轴线与地面垂直线在赛车横向断面内的夹角称为主销内倾角。主销内倾角也有使轮胎自动回正的作用,当汽车转向轮在外力作用下发生偏转时,由于主销内倾,则车轮连同整个汽车的前部将被抬起一定高度,在外力消失后,车轮就会在重力作用下力图恢复到原来的中间位置。但主销内倾角不宜过大,否则在转弯时轮胎将与赛道间产生较大的滑动, 从而会增加轮胎与路面间的摩擦阻力,使转向变得沉重,同时会加速轮胎的磨损。经过反复的试验,我们大约主销内倾了 3。 2.1.3 前轮前束通过车轮中心的汽车横向平面与车轮平面的交线与地面垂线之间的夹角, 的重力
21、使车轮向内倾斜的趋势,减少赛车机件的磨损与负重。前轮前束是前轮前端向内倾斜的程度,当两轮的前端距离小后端距离大时为内八字,前端距离大后端距离小为外八字。由于前轮外倾使滚动时类似与圆锥滚动,从而导 4第十三届全国大学生智能汽车邀请赛技术报告致两侧车轮向外滚开。但由于拉杆的作用使车轮不可能向外滚开,车轮会出现边滚变向内划的现象,从而增加了轮胎的形变,同时由于 C1 型车模的轮胎是空心材质,可以与地面进行有效的贴合,同时由于 S3010 舵机的响应速度较快,使用内八字有助于车模在直道行进的过程中更加贴合中线。 2.2 车模重心我们可以通过在车模 4 个轮胎下面放置电子秤可以有效的测得车模 4 个与地
22、面贴合的点的具体重量,即可分析出车模的重心位置。 车体重心的位置对赛车加减速性能、转向性能和稳定性都有较大的影响。重心调整主要包括重心高度和前后位置的调整。理论上,车体重心越低稳定性越好,重心低有利于赛车在高速转弯的贴地性,可以有效防止发生侧翻,因此在车体底盘高度、舵机安装、电路板的安装等上尽量使重心放低。 根据车辆运动学理论,车身重心前移,大部分重量压在前轮,转向负荷增大,会增加转向,对模型车的制动性能和操纵稳定性有益,但降低转向的灵敏度,同时降低后轮的抓地力;重心后移,会减少转向,但增大转向灵敏度,后轮抓地力也会增加。但综合起来看,重心应靠近后轴一点。 2.3 车模底盘高度由于在今年的比赛
23、在往年存在坡道的基础上增加了颠簸路段,对于车模底盘调节有了更大的要求,C1 模型车可以通过在舵机支架和前轮固定架下方增加垫片来降低底盘高度。 通过我们的尝试,将底盘高度降低 6mm 左右可以有效地处理坡道和颠簸路段等元素。 图 2.32.4 伺服器(舵机)安装5第十三届全国大学生智能汽车邀请赛技术报告舵机有立式和卧式两种安装方案(立式:转轴处于水平方向;卧式:转轴处于竖直方向)。 2.4.1 舵机立式安装优缺点舵机立式安装方式的优点: (1) 转向响应速度快,转向角较为符合阿克曼转向原理,它由舵机臂竖直平面的运动转化为拉杆水平方向的运动,减少了在同一平面上运动的死区; (2) 方便安装舵机臂,
24、有利于调节赛车转向的中值。舵机立式安装方式的缺点: (1) 不好安装固定; (2) 安装后较高,占用竖直方向的空间,会挡到摄像头 (3) 重心较高。 2.4.2 舵机卧式安装优缺点舵机卧式安装方式的优点: (1) 转向响应速度较快; (2) 高度较低; (3) 重心低。 舵机卧式安装方式的缺点: 转向角部分符合阿克曼转向原理(转角小时),舵机臂和拉杆都在水平平面内运动,当舵机臂长度与转角臂长度相等时会导致内、外侧轮不符合阿克曼转角。 经过仿真分析后得出舵机立式安装方式较好,立式安装方式的转角较符合阿克曼转角,并且历届很多强队都是用立式安装。 2.5 速度传感器(编码器)安装编码器是用来对车速进
25、行测算的仪器,目前很多学校使用的是通过光电编码的编码器,其精度较高、安装较为方便,但体积有点大。光电编码器的安装精度较高,要求编码器轴与赛车后轴同轴,且编码盘必须与赛车的中心线共线。我们是直接装在车上,利用齿轮与差速器上的大齿轮相咬合。这种安装方法方便快捷,更能较准确的测出电机的转速。 6第十三届全国大学生智能汽车邀请赛技术报告图 2.52.6 摄像头固定对于整个车来说,摄像头的安装影响到整个车采集信息的准确性。在摄像头安装过程中,我们在简洁,保证强度的基础上,严格控制摄像头的安装位置和增量。整套装置具有很高的定位精度和刚度,同时将摄像头连同支架使用金属底座使用 4 颗螺丝固定在底盘上,使摄像
26、头便于调节、拆卸和维修,具有赛场快速保障能力。 2.7 电池的固定由于电池可以影响重心的位置,而且固定在板子上,要求是要易于拆卸, 因此,我们采用魔术带固定,及时车子需要很大的向心力,也可以保持稳定, 而且易于拆卸。 此外我们采用锂电池,并在两边各加 50g 配重,增加整车重量,并提高车的续航能力。 2.8 电感的固定电感部分我们采用了两个水平电感,两个八字电感以及一个中间电感,以此检测更多的赛道元素,优化电磁路径,并消除电磁部分由于段前瞻造成的抖动。 7第十三届全国大学生智能汽车邀请赛技术报告 2.9 陀螺仪固定为解决电磁抖动问题,我们特意为车模加装了陀螺仪和加速度计模块,并安装在车模中心,
27、以此检测车模在运行过程中的抖动,并将检测值作为反馈带入计算,以此消除车模在运行过程中的抖动。 第三章硬件系统设计及实现3.1 硬件电路整体架构框图我们的智能车硬件系统主要包括以下模块:电源管理模块、电机驱动模块、测速模块、无线收发模块、调试模块、定位测距模块及 MK66FX1M0VLQ18 最小系统。 舵机电源管理模块 调试模块无线模块总钻风摄像头图 3.1硬件电路整体框架图3.2 单片机外围电路设计8测距模块 电感 MK66FX1M0VLQ18 电机驱动 电机 测速传感器 第十三届全国大学生智能汽车邀请赛技术报告为了更好的配合程序,结合自己智能车的使用情况,我们自己设计了单片机外围,外围电路
28、包括单片机时钟与复位电路,串口及供电电路,并且集成到主板上,以下是 MCU 部分的原理图和 PCB 图。 图 3.2.1 MK66 最小系统原理图 图 3.2.2 MK66 最小系统 PCB 3.3 总钻风摄像头的电路模块设计总装风摄像头是一款基于 MT9V032 芯片设计的传感器模块,适合在高速情况下采集图像的全局快门摄像头。具有高动态性能、自动曝光、曝光时间随时可调等优点。集合内部 AD 摄像头采集模块与视频信号处理模块,极大地简洁使用该摄像头硬件电路的设计。以下是总装风摄像头与 MCU 接口设计与电源模块设计。 9第十三届全国大学生智能汽车邀请赛技术报告图 3.3 总装风摄像头使用电路
29、3.4 电源部分电路设计电源管理部分框图 10第十三届全国大学生智能汽车邀请赛技术报告TPS7333 3.3V总装风摄像头SY81335VUWB、无线模块、陀螺仪 电源管理模块SY8133 6V舵机TPS7333 3.3V最小系统MAX889-5V 电感TPS55340 12V驱动整辆小车都是用2000mAh的镍铬电池提供,但是各种元器件所需的电压不同,这就需要我们用不同的电源芯片来生成不同的电压。 图 4.4.1 5V 电源11第十三届全国大学生智能汽车邀请赛技术报告图 4.4.2 6V 电源图 4.4.3 3.3V 电源图 4.4.4 12V 电源3.5 电机驱动电路的设计电机驱动电路的作
30、用指通过控制电机的旋转角度和运转速度,以此来实现对占空比的控制,来达到对电速控制的方式。电机驱动电路既可以通过继12第十三届全国大学生智能汽车邀请赛技术报告电器或功率晶体管控制,也可利用可控硅或功率型 MOS 场效应管进行驱动。我们此次使用的是 IR2104 和 MOS 管组合的经典驱动电路。 3.6 小车调试模块为使软件上参数调节方便,且兼顾硬件上的简洁与美观,我们特意将这部分设计在主板上,我们使用OLED显示模块。OLED体积上小,分辨率高,功耗低。调试中,这个模块对参数的调试带来了极大的方便,可以减少烧录程序的次数而提高调试效 率。 图3.6 调试电路模块 3.7 主板板级设计由于需要高
31、速处理 CCD 的模拟信号,PCB 的设计影响信号的完整性,所以需要合理的设计元器件的布局及走线,阻抗匹配。 特别注意模拟信号与高速数字信号、电感,晶振之间的布局。尽可能缩短高频元器件之间的连接,设法减少他们的分布参数及和相互间的电磁干扰。易受干扰的元器件不能相互离的太近,输入和输出应尽量远离。 一些元器件或导线有可能有较高的电位差,应加大他们的距离,以免放电引起意外短路。高电压的元器件应尽量放在手触及不到的地方。对与电位器、可调电感线圈、可变电容器、微动开关等可调元器件的布局应考虑整块扳子的结构要求。一些经常用到的开关,在结构允许的情况下,应放置到手容易接触 13第十三届全国大学生智能汽车邀
32、请赛技术报告到的地方。元器件的布局要均衡,疏密有度,不能头重脚轻。一个电路板的成功,要注重内在质量,还要兼顾整体的美观。设计的 PCB 如下图所示。 图3.7 主板PCB 设计 3.8 电磁检波模块我们采用AD8674,INA129搭建电磁检波模块,先用INA129进行一级放大,再用AD8674进行二级放大 3.9 后置驱动板设计综合考虑驱动性能、车身重心、维修难易等因素,我们选择将驱动板后置,架在电机上方。在驱动板上可以留出足够的布线空间来保证驱动的性能, 将车身重心后移以提高小车的灵活性。同时,主控板与驱动板的分离极大的降低了维修的难度。 图 2.8 驱动 PCB 设计 14第十三届全国大
33、学生智能汽车邀请赛技术报告3.10 硬件电路部分总结功能正确这是印制板设计最基本、最重要的要求,准确实现电原理图的连接关系, 避免出现“短路”和“断路”这两个简单而致命的错误。 可靠是 PCB 设计中较高一层的要求。连接正确的电路板不一定可靠性好, 例如板材选择不合理,板厚及安装固定不正确,元器件布局布线不当等都可能导致 PCB 不能可靠地工作,早期失效甚至根本不能正确工作。 有些问题虽然发生在后期制作中,但却是 PCB 设计中带来的。而每一个造成困难的原因都源于设计者的失误。没有绝对合理的设计,只有不断合理化的过程。它需要设计者的责任心和严谨的作风,以及实践中不断总结、提高的经验。 15第四
34、章软件系统设计及实现4.1. 软件控制程序的整体思路软件编写的目的,是控制车模在既定规则前提下,以最快的速度,跑完整个赛道。不论上哪种方案,软件的总体框架总是相似的,我们追求的就是稳定至上,兼顾速度。软件上大类分为图像采集、图像处理识别黑线,电感采集, 电磁控制,速度控制以及速度反馈。但是双车组有别于普通的摄像头组,不仅要通过图像实现双车之间的识别,还需要在行驶的过程中能自主的识别会车区虚线这一元素,相对于普通单车组,双车会车组就对软件代码的鲁棒性、稳定性提出了更为严苛的要求。 4.2 灰度图像处理思路通过 MT9V032 摄像头传输回来的图像是 188*120 大小的灰度图像,而处理图像的第
35、一步就是如何处理灰度图像,主要有以下两种思路: 4.2.1 二值化图像通过给定一个阈值,将每个像素点与之进行比较,从而确定出来这个像素点是黑或白,之后的图像处理就使用这个二值化后的数组进行处理。 这种方法在图像处理的过程中仅仅有黑白两种元素,可以使图像处理更加简单。但由于摄像头高度较低,在实际的运行中当小车运行到不同的区域中的由于光线不均匀使得设定的单一阈值不同。 4.2.2 灰度图像处理在处理灰度图像中,我们尝试了使用罗伯特算子将图像进行卷积运算,运算之后的图像在黑白跳变处会呈现一个很明显的高值。 这种方法虽然在处理的过程中比较复杂,但是在对于虚线会车区、颠簸路段等元素的识别上更加容易。 图
36、 4.2.2.1 原灰度图像第十三届全国大学生智能汽车邀请赛技术报告图 4.2.2.2 罗伯特算子卷积图像4.2.3 动态阈值二值化处理通过之前的尝试,我们在上位机仿真的过程中发现,使用最大协方差阈值法能够有效的计算出一幅图像的最佳阈值,实现对于图像前景与背景的分离。这样使用动态阈值二值化之后的图像能够像普通二值化图像一样处理,但在颠簸等黑白跳变不大的元素让需要借助灰度图像进行处理。 4.3 基本循迹扫线思路4.3.1 中心扫线中心扫线是指每行图像的起始扫线都是从上一行图像的中线位置开始的,从白点向左向右扫到黑点及寻找到所需要的边界线,进而拟合出赛道中心线。优点:对于环境光线依赖比较小,如由于
37、光线不均匀造成的反光仅仅会影响反光存在的几行,而不会对整幅图像之后的边界线提取造成干扰; 缺点:比较消耗时序,需要遍历图像中大多数像素点才能够找到赛道的边界线,同时由于环岛等特殊元素的存在,使我们寻找的边界线与环岛的特征点有一定的差距,不利于元素的识别。 4.3.2 边缘扫线边缘扫线是指每行图像的起始扫线根据左右边界线分别根据上一行左右边界线开始的,根据上一行的边界线在这行中同样位置的像素点黑白确定向左向右扫线,并找到黑白的切换点作为实际的赛道边界线。 优点:能够较少的利用时序,同时克服赛道中间白同时可以较好的寻找环岛等元素的特征点; 域中产生的噪点,缺点:若外界光线不均匀造成部分行的扫线错误
38、,将一直影响之后整幅图像的扫线,同时不利于提取(斜入)十字等元素的特征。 4.3.2 根据不同的赛道元素类型,指定每行的扫线起始点“根据不同的赛道元素类型,指定每行的扫线起始点”是指在每行扫线的过程中,同时对元素类型进行区分,根据先前确定下来的赛道元素类型明确扫线的方向及起始点。 如在正常扫线可以将下一行的扫线起点指定为本行的左右边线,在十字的判断中可以将扫线的起点通过十字前拐点下的直线斜率确定,方便寻找十字远17第十三届全国大学生智能汽车邀请赛技术报告处的跳变点,而环岛扫线可以通过环岛阶段确定需要扫到的特征点进而确定扫线方向与扫线起始。 由此看来,这种方式的扫线可以最大限度的简化程序执行流程
39、,同时我们可以在扫线的应用“搜索”中“剪枝”的思想。 如在扫线的过程中判断是否已经扫到了赛道外,如果已经扫出赛道即停止扫线,体现了“可行性剪枝思想”;在对十字和环岛的判断中,可以根据之前图像找到的特征点具置寻找这场图像的特征点,体现了“记忆化搜索思想”。 4.4 赛道中线的拟合因为是双边的黑线赛道,所以我们在正确提取黑线信息的基础上,外加赛道中心拟合函数模块,其具体思想有以下几种。 4.4.1 已知左右线求边线在已知左右线的基础上的处理最为简单,仅仅取每行左右线的中心位置即可得到近似的赛道中心线。 4.4.2 一边丢线的中线拟合如果一侧的边线丢失,我们在最初的基础上使用最近一行能够找到的赛道宽
40、度作为之后丢线区域的赛道宽度,之后的丢线区域就将已知边线平移该宽度的一半作为近似的赛道中心线。 4.4.3 丢线不严重区域的中线拟合如果在丢线过程中全部按照 4.4.2 节中的思路进行拟合中心线,会导致在一些连续变向的弯道中有超调的问题,导致路径不太流畅。我们首先将正常直道的赛道宽度保存在一个数组中,之后再丢线不严重的区域寻找丢线边线的恢复行,计算恢复行的宽度相较正常直道赛道宽度的比值,再丢线区域按照这个比值,平移已知边线,拟合出需要的赛道中心线。 下图为上位机上的处理效果图。 图4.4.3.1 原图像 18第十三届全国大学生智能汽车邀请赛技术报告 图4.4.3.2 左右边线和赛道中心线 4.
41、5 十字识别与赛道中心线修补十字元素是智能车光电组别近几年已知存在的赛道元素,我们创新了十字识别的思路,针对 20cm 高度摄像头图像进行一些调整。我们将十字分为斜入十字、十字、中入十字三种情况。 4.5.1 斜入十字图 4.5.1 斜入十字图像 以上图举例具体说明斜入十字的识别思想: 1)在右边界线过程中计算每两行边界线的差值,寻找边界线向外的跳变点并记录; 从这个跳变点开始向上的扫线起始点就改为通过这个点下面一段线的斜率延伸上去; 向上几行判断这个跳变点上下直线的斜率夹角,满足直角的范围; 之后的扫线继续按照之前的斜率延伸上去,直到寻找到黑色像素点,即跳出了十字,便可确定下来斜入十字远端的
42、行数; 在补线的过程中确定斜入十字起始点和终点的位置,将赛道中心线改为这两个点相连接即可完成斜入十字的补线操作。 2)3)4)5)4.5.2十字图 4.5.2 十字图像 以上图举例具体说明十字的识别思想: 19第十三届全国大学生智能汽车邀请赛技术报告1)在左右边界线依次寻找边界线向外的跳变点,并且跳变点的上一行的边线在接近图像外边缘的位置,即边界线呈现近似垂直于镜头上前方向丢线, 记录下来左右边线出现这种情况的行; 在之后的扫线过程中,先确定出现边线在左右边界线附近同时丢线,再确定赛道宽度恢复正常直道情况的行; 2)3)最后通过寻找边界线的恢复行产生十字的结束行,将中心线与起始行的中心线相连,
43、即得出十字的赛道中心线。 4.5.3 中入十字图 4.5.3 中入十字图像 以上图举例具体说明中入十字的识别思想: 1)首先的识别前提条件在于前面存在十字或者斜入十字的情况,图像的显著特征在于图像下方有很大的左右边界线同时丢线的区域,当丢线达到一定的条件的时候可以确定这是中入十字; 之后寻找边界线向内收缩并且赛道宽度恢复到正常直道范围的行数,确定出十字的结束行; 由于 10cm 高度摄像头前瞻较短,不利与分析出十字之后赛道中心线的前进方向,我们直接将出中入十字行的中心线竖直地拉下来作为赛道的中心 线。 2)3)4.6 赛道类型的分离4.6.1 直道计算算法赛道分离主要是将直道和弯道分离开,其关
44、键在于将直道识别出来。 我们逐行处理赛道的中心线,连接每行赛道的中心线和第一行赛道的中心线,并计算这行以下图像拟合出来的赛道中心线与这行直线举例的差值,如果差别很大,就跳出这个循环,而这行就作为图像的直道有效行,可以认为第 1 行到这行是直道。 4.6.2 直道弯道分离思路计算第 1 行中心线到之前计算出来的直道有效行的斜率,与直道有效行数一起参与直道弯道分离的协同计算。 其中,直道有效行非常高且直线较直的作为“长直道”,直道有效行较高且直线较直的作为“短直道”,直道有效行不高(仍存在一段直道)且斜率较小的作为“弯 ”,其他基本作为“弯道”。 20第十三届全国大学生智能汽车邀请赛技术报告按照上
45、述完成对于赛道元素的分离,根据元素的不同采用不同的控制策略。 4.7 伺服器(舵机)转向打角控制策略4.7.1 舵机整体控制思路舵机通过一个由 FTM 灵活定时器模块输出的 PWM 波控制,通过各种参数的对比之后,我们确定使用 50Hz 的 PWM 波能够使舵机响应最快同时使舵机工作稳定。 在每个控制周期中,每当图像处理完成,我们根据不同的赛道类型和速度传感器返回的实际转速综合分析得出最佳的舵机打角行,计算这一行的中线偏离差值,带入到舵机位置式 PD 的计算中,在舵机中值的基础上经过舵机上下限的限幅计算得到实际的舵机值。 4.7.2 舵机PD计算式舵机控制采用位置是 PID,经过尝试我们认为
46、I 项(积分项)不适用与舵机的控制中,便将 PID 简化为舵机的 PD 控制,控制公式如下: AngleChange = servoP * error + servoD * dError;4.7.3 动态打角行的选取由于车模不是处于匀速的运动中,不能够通过固定的打角行来计算偏差。我们采用根据编码器的速度返回值计算出来当前打角行的高度,其策略是速度越快打角行越高,目的是使不同的速度下小车的路径相近,达到小车整体的闭环控制。 4.7.4 不同元素的舵机PD 选取当车模行进到不同赛道元素的时候,如果同样的舵机 PD 会造成在直道上抖动和弯道上的转向不连续的问题,由此我们根据不同的赛道类型选取了不同的
47、舵机控制 PD,使得能够在直道跑的直,在弯道流畅,同时在 S 型弯道能够基本沿着中线行进。 其中不同元素的 PD 选取有以下的规律:直道 PD 小,弯道 PD 大,S 型弯道 P 小 D 略大。 4.7.5 电磁舵机PD控制表达式电磁舵机控制我们依旧采用位置式 PID,经过尝试我们认为 I 项(积分项)不适用与舵机的控制中,便将 PID 简化为舵机的 PD 控制,此外我们加入了陀螺仪控制,以此解决了 C 车电磁短前瞻下车模控制抖动问题。控制公式如下: AngleChange = servoP * error + servoD * dError + lg_z*Groy_z;4.7.5 电磁舵机P
48、D模糊控制21第十三届全国大学生智能汽车邀请赛技术报告电磁舵机控制由于前瞻限制,为达到更好的转向效果,我们编写了模糊算法,采取PD模糊控制。综合考虑之后,我们选取了偏差和偏差的偏差进行二阶模糊,最后调出的P项模糊表参考下表: FuzzyStruct C_Induct_P_Fuzzy = Fuzzy_Rank7, 0, 0, 30,60,80,90,110,130,170, /e 0,2,4,6,8,10,14, /ec 0,0.05,0.1,0.2,0.3,0.45,0.55, /P /error 0, 1, 2, 3, 4, 5, 6 / d_error 1, 2, 3, 4, 5, 6,
49、6 , / 0 1, 2, 3, 4, 5, 6, 6 , / 1 0, 1, 2, 3, 4, 5, 6 , / 2 0, 1, 2, 3, 4, 5, 6 , / 3 0, 1, 2, 3, 4, 5, 6 , / 4 0, 0, 1, 2, 3, 4, 5 , / 5 0, 0, 0, 1, 1, 2, 3 , / 6 ; 4.8 电机转向差速控制策略4.8.1 不同元素的速度控制策略通过对智能车的调试我们发现,在直道使用较高的转速,在弯道使用稍慢一些的转速能够很流畅的跑完整个赛道,其中在直道(长直道、短直道)的加速能够非常关键的决定车模的整体速度,而弯道的速度能够提升车模的稳定性。 针
50、对直道入弯的过程我们采取了特定的减速策略,即先根据车模当前速度给出减速场数,当减速场数较高的时候设定速度较低,当减速场数较少的时候设定速度较高,并随着减速场数的减少设定速度逐渐接近弯道速度使车模能够流畅的进入弯道,避免出现“猛加猛减”的情况。 22第十三届全国大学生智能汽车邀请赛技术报告4.8.2 C1 型车模的差速策略C1 型车模有两个电机驱动,这两个电机可以通过主动差速来辅助车模的转向,在调试中我们发现,根据舵机打角来控制电机的差速,把舵机打角的角度分为若干个区间,在每个区间中,转向的内侧电机给不同比例的差速,外侧电机直接给出弯道速度,能够很好的使电机和舵机协同工作,减少因为电机推动导致过
51、弯的不流畅。 4.8.3 C1 型车模的电机 PI 控制C1 型车模电机使用增量式 PID 控制,其中 I 项能够加快电机响应,P 项能够减少稳态误差,控制公式如下:MotorL_Out += MotorL_Ki * MotorL_Error2; MotorL_Out += MotorL_Kp * (MotorL_Error2 - MotorL_Error1);其中 MotorL_Out 作为加在电机输出占空比上的增量,针对不同元素,我们给出不同的 PI,规律大概是“直道 PI 大,弯道 PI 小”,能够使车模长直道加速更快,弯道更顺畅。 第五章 智能车调试说明前面几章一直是在为系统制定方案以
52、及方案的细化。但整个系统的完善主要还是在系统的现场调试。在细分的每个模块中,大部分都涉及有众多参数, 对这些参数的确定就需要软硬件联合调试。而这过程就需要一整套开发调试环境和工具。包括程序源代码的编辑以编译环境,参数调节与设定工具。 5.1 上位机调试软件的设计上位机在工业控制当中又被称为 HMI,就是一台计算机,它的作用是监控现场设备的运行状态,当现场设备出现问题在上位机上就能显示出各设备之间的状态(如正常、报警、故障等)。 上位机的概念属于计算机集散控制系统的概念。在计算机集散控制系统 中, 计算机分为各个级别,与现场设备发生直接关系的计算机属于下位机,用来控制下位机,或给下位机下达新任务
53、的计算机是下位机的“上位机”。若集散控制系统较大,计算机的级别可能不止两级,此时上位机还可能有级别更高的上位机对其进行控制或指派任务。我们的上位机是完全自主开发的,图 5.1 是上位机软件界面。 23第十三届全国大学生智能汽车邀请赛技术报告图 5.1 上位机5.2 SD 卡存储模块因为摄像头车模所需处理的信息量非常大,在调试过程中往往需要存储这些信息以供研究分析,而 K66 的存储空间远不能满足我们的要求。所以我们设计了外部 SD 卡来存储海量信息,这让我们在图像处理上有很多的发挥空间。通过 SD 卡,我们存下了我们需要的图像信息和处理之后的信息,然后通过串口发送给上位机,这样我们就可以方便地
54、分析出图像上的各种问题, 以便在程序上作出修改。 仿真模式:由于图像处理越来越复杂,对于图像仿真越来越重要,PC 仿真模式可以将单片机代码导入,更加直观看到图像处理结果。 本地模式:小车的实际图像反馈对于调车非常重要,利用 SD 卡将小车行进中的图像以及处理信息保存,上传到上位机,以便常看。 调试模式:为了提高调试效率,特别为上位机做了在线调试系统,信息一目了然。 5.3 现场调试在完成基本程序之后,做的最多的工作就是调试,调试是一持续性的工作。之前说过,我们为调试的方便,特别制作了按键加液晶模块。写程序的时候,自己想好的一些参数在静态测试的时候可能很好,但是当车在赛道上跑的时候,情况就不一样了。所以,车模必须在赛道上多跑以发现问题进而解决问题。 车模主板上的 OLED 和按键就为这种现场调试提供了很好地硬件平台,在修改某个参数的时候就无需跑去电脑边上下载了,非常的方便。 24第六章车模技术参数说明6.1车模主要技术参数 表 6.1 车模部分主要技术.参数 6.2. 电路中芯片的种类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店实习总结报告模板(12篇)
- 销售部门个人工作总结示例
- 人脉保密协议书
- 销售人员实习工作总结5篇
- 儿童教育爱心基金管理办法
- 智能医疗基站租赁合作协议
- 科研实验电源供应租用协议
- 桥梁建设现场管理准则
- 城市排水商品混凝土施工协议
- 员工解雇成本分析
- 施工现场消防安全验收表(总平面布置)
- 小学数学教师家长会ppt
- 君子自强不息课件
- 2022人教版高二英语新教材选择性必修全四册课文原文及翻译(英汉对照)
- WDZANYJY23低压电力电缆技术规格书
- 抗高血压药物基因检测课件
- 医院管理医院应急调配机制
- (公开课)文言文断句-完整版课件
- 小学生性教育调查问卷
- 医院感染管理质量持续改进反馈表
- 旅游行政管理第二章旅游行政管理体制课件
评论
0/150
提交评论