第三届全国大学生“飞思卡尔”杯智能汽车竞赛之技术报告_第1页
第三届全国大学生“飞思卡尔”杯智能汽车竞赛之技术报告_第2页
第三届全国大学生“飞思卡尔”杯智能汽车竞赛之技术报告_第3页
第三届全国大学生“飞思卡尔”杯智能汽车竞赛之技术报告_第4页
第三届全国大学生“飞思卡尔”杯智能汽车竞赛之技术报告_第5页
已阅读5页,还剩88页未读 继续免费阅读

第三届全国大学生“飞思卡尔”杯智能汽车竞赛之技术报告.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I 第三届全国大学生“飞思卡尔”杯 智能汽车竞赛 技技 术术 报报 告告 学 校: 北京科技大学 队伍名称: 北京科技大学 CCD 一队 参赛队员: 张 鹏 徐 怡 任 亚 楠 带队教师: 刘 立 马 飞 II 关于技术报告和研究论文使用授权的说明 本人完全了解第三届全国大学生“飞思卡尔”杯智能汽车竞赛关保留、使 用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委 会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、 技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会 出版论文集中。 参赛队员签名: 带队教师签名: 日 期: III 摘要 本智能车系统设计以 MC9S12DG128 微控制器为核心, 通过一个 CMOS 摄 像头检测模型车的运动位置和运动方向,使用比较器对图像进行二值化处理, 用光电编码器检测模型车的速度并使用PID控制算法调节驱动电机的转速和舵 机的方向,完成对模型车运动速度和运动方向的闭环控制。为了提高智能车的 行驶速度和可靠性,对比了各种方案的优缺点,使用 Labview 仿真平台进行了 大量底层和上层测试。实验结果表明,系统设计方案可行。 关键词:MC9S12DG128,CMOS 摄像头,PID,无线通讯 IV ABSTRACT In this paper we will demonstrate a smart car system based on the micro-controller unit MC9S12DG128.The micro-controller use a CMOS image sensor to obtain lane image information, then adjusts the model cars moving position and direction. An inferred sensor measure the cars moving speed. We use PID control method to adjust, the rotate speed of driving electromotor and direction of steering electromotor.So,we complete the closed-loop control to the speed and direction. In order to increase the speed and the reliability of the car, the advantage and disadvantage of the different schemes are compared, and a great number of the bottom layer and the upper layer tests are carried on combined with the Labview simulation platform.The result of tests indicates that the design scheme of system is available. KEYWORDS: MC9S12DG128,CMOS image sensor,PID V 目 录 摘要摘要.III ABSTRACT .IV 引言引言.VII 第一章第一章 系统设计制作的思路以及实现的技术方案系统设计制作的思路以及实现的技术方案.1 1.1 系统分析.1 1.2 整车布局.1 1.3 系统设计结构图.1 第二章第二章 机械系统设计与实现机械系统设计与实现.3 2.1 车体机械建模.3 2.2 舵机安装结构的调整.4 2.3 摄像头支架的设计安装.4 2.4 前轮倾角的调整.5 2.5 底盘高度的调整.5 2.6 齿轮传动机构及后轮差速的调整.5 第三章第三章 硬件电路系统设计与实现硬件电路系统设计与实现.6 3.1 硬件电路设计方案.6 3.2 硬件电路的实现.6 3.2.1 以 S12 为核心的单片机最小系统.6 3.2.2 主板.8 3.2.3 电机驱动电路.13 3.2.4 摄像头.13 3.2.5 速度传感器.14 3.2.6 加速度传感器.15 第四章第四章 软件系统设计与实现软件系统设计与实现.17 4.1 舵机转向和速度调节的 PID 控制算法.17 4.1.1 经典 PID 控制算法.17 4.1.2 经典 PID 算法在本智能车上的应用.19 4.2 有一定抗干扰和抗反光能力的黑线提取算法.22 第五章第五章 系统联调系统联调.29 5.1 开发工具.29 5.2 调试过程.29 5.2.1 串口通信.31 5.2.2 图像显示.34 VI 5.3 无线通信实时检测模块.36 5.3.1 无线模拟影音发射接收机.36 5.3.2 数字无线收发模块(嵌入式无线 Modem WAP200B).38 第六章第六章 模型车的主要技术参数模型车的主要技术参数.44 第七章第七章 总结总结.45 参考文献参考文献.46 附件附件 A 元件列表元件列表.1 附件 A-1 主板元件列表.1 附件 A-2 最小系统元件列表.3 附件 A-3 电机驱动电路元件列表.3 附件附件 B 源程序源程序 .5 Main.c.5 模块化程序列表.6 Schedule.h.6 Schedule.c.12 VII 引言 这份技术报告中,我们小组通过对整体方案、电路、算法、调试、车辆参 数的介绍,详尽地阐述了我们的思想和创意,具体表现在电路的创新设计,以 及算法方面的独特想法,而对单片机具体参数的调试也让我们付出了艰辛的劳 动。这份报告凝聚着我们的心血和智慧,是我们共同努力后的成果。 在准备比赛的过程中,我们小组成员涉猎控制、模式识别、传感技术、汽 车电子、电气、计算机、机械等多个学科,这次磨练对我们的知识融合和实践 动手能力的培养有极大的推动作用。 1 第一章 系统设计制作的思路以及实现的技术方案 1.1 系统分析 智能车的总体工作模式为:CMOS传感器拍摄赛道图像并以PAL制式信号输 出到信号处理模块进行二值化处理并进行视频同步信号分离,二值化后的数据 和同步信号同时输入到S12控制核心,进行进一步处理以获得图像信息;通过光 电编码器来检测车速,并采用S12的输入捕捉功能进行脉冲计数计算速度和路 程;舵机转向采用PD控制;电机转速控制采用PID控制,通过PWM控制驱动电 路,调整电机的功率;而车速的目标值由默认值、运行安全监控和基于路径记 忆的优化策略综合控制。 1.2 整车布局 今年赛车的整车布局本着轻量化而设计,具有以下特点: ? 架高舵机并直立安装,以提高舵机响应速度 ? 主板低位放置,降低赛车重心 ? 采用强度高、质量轻的材料制作摄像头支架 ? 摄像头后置于电机前方,减少赛车前方盲区 1.3 系统设计结构图 按照预先的设计,我们设计了整个系统的结构图。系统力求简单高效,在 满足比赛要求的情况下,使硬件结构最简单,减少因硬件而出现的问题。 2 图 1.1 智能车系统结构图 3 第二章 机械系统设计与实现 为了使车能够更稳定的高速运行,在比赛备战之初,我们就对这个车进行 了系统的分析。今年的车模精度不是很高,因此尽量在规则允许范围内改造车 模,提高车模整体精度是很必要的。另外,我们在实际调试中发现,前轮的束 角和主销倾角对车的高速运行下的稳定性影响很大。高速运行下舵机的转动速 度对车转向的灵活程度也起到了根本性的作用。所以,在整车的机械结构方面 我们进行了三方面改进:转向机构改进、前轮束角调整、底盘高度调整。 2.1 车体机械建模 此次比赛选用的赛车车模采用1/10的Matiz仿真车模。赛车机械结构只使用 竞赛提供车模的底盘部分及转向和驱动部分。控制采用前轮转向,后轮驱动方 案。具体车模数据如下: 车长: 316mm 车宽: 172mm 如图 2.1 所示: 图 2.1 车体机械图 4 2.2 舵机安装结构的调整 我们在实际调试中发现,若加长舵机柄,可以增大车行进中的车轮转向速 度。这样虽然在舵机转速不变的情况下加快了车轮的转角速度,但是给舵机转 向增大了负荷。在实际调试中,出现过舵机里面齿轮被损坏的情况。 从而我们想到另一种改进方法即改进舵机的安装结构,并自制了轻巧的舵 机安装支架。如图2.2所示: 图2.2 舵机构架(正视图、侧视图) 2.3 摄像头支架的设计安装 为了降低整车重心,需要严格控制CMOS摄像头的安装位置和重量,我们自 行设计了轻巧的铝合金夹持组件并采用了碳纤维管作为安装CMOS的主桅, 这样 可以获得最大的刚度质量比,整套装置具有很高的定位精度和刚度,使摄像头 便于拆卸和维修,具有赛场快速保障能力。 图2.3 摄像头构架 图2.4 摄像头支架 5 2.4 前轮倾角的调整 我们在调试中发现:由于前轮轴和车轮之间的间隙较大,对车高速转向时 的重心影响较大,会引起高速转向时车的转向不足。而且这里又是规则中严禁 改动的部分,所以为了尽可能降低转向舵机负载,我们对前轮的安装角度,即 前轮定位进行了调整。 前轮定位的作用是保障汽车直线行驶的稳定性、转向轻便和减少轮胎的磨 损。前轮是转向轮,它的安装位置由主销内倾、主销后倾、前轮外倾和前轮前 束等4个因素决定,反映了转向轮、主销和前轴等三者在车架上的位置关系。 在实际调试中,我们发现适当增大内倾角的确可以增大转弯时车轮和地面 的接触面积,从而增大车轮和地面的摩擦程度,使车转向更灵活,减小因摩擦 不够而引起的转向不足的情况。 2.5 底盘高度的调整 底盘适当降低,在可以过坡道的情况下,尽量降低底盘,从整体上降低车 的重心,使车在转弯时可以更加稳定、快速。 2.6 齿轮传动机构及后轮差速的调整 车模后轮采用RS-380SH-4045电机驱动,由竞赛主办方提供。电机轴与后轮 轴之间的传动比为 9:38(电机轴齿轮齿数为18,后轮轴传动轮齿数为76) 。 齿轮传动机构对车模的驱动能力有很大的影响。齿轮传动部分安装不恰当, 会增大电机驱动后轮的负载;齿轮配合间隙过松则容易打坏齿轮,过紧则会增 加传动阻力。所以我们在电机安装过程中尽量使得传动齿轮轴保持平行,传动 部分轻松、流畅,不存在卡壳或迟滞现象。 差速机构的作用是在车模转弯的时候,降低后轮与地面之间的滑动;并且 还可以保证在轮胎抱死的情况下不会损害到电机。差速器的调整中要注意滚珠 轮盘间的间隙,过松过紧都会使差速器性能降低,转弯时阻力小的车轮会打滑, 从而影响车模的过弯性能。好的差速机构,在电机不转的情况下,右轮向前转 过的角度与左轮向后转过的角度之间误差很小,不会有迟滞或者过转动情况发 生。 6 第三章 硬件电路系统设计与实现 3.1 硬件电路设计方案 从最初进行硬件电路设计时我们就定了系统的设计目标:可靠、高效、简 洁,在整个系统设计过程中严格按照规范进行。 可靠性是系统设计的第一要求,我们对电路设计的所有环节都进行了电磁 兼容性设计,做好各部分的接地、屏蔽、滤波等工作,将高速数字电路与模拟 电路分开,使本系统工作的可靠性达到了设计要求。 高效是指本系统的性能要足够强劲。我们主要是从以下两个方面实现的: 1、采用运算放大器制作的比较器实现了图像二值化的高速转换,大大提高 了图像采集的分辨率; 2、使用了由分立元件制作的直流电动机可逆双极型桥式驱动器,该驱动器 的额定工作电流可以轻易达到100A以上, 大大提高了电动机的工作转矩和转速。 简洁是指在满足了可靠、高效的要求后,为了尽量减轻整车重量,降低车 体重心位置,应使电路设计尽量简洁,尽量减少元器件使用数量,缩小电路板 面积,使电路部分重量轻,易于安装。我们在对电路进行详细、彻底地分析后, 对电路进行了大量简化,并合理设计元件排列和电路走线,使本系统硬件电路 部分轻量化指标都达到了设计要求。 3.2 硬件电路的实现 整个智能车控制系统是由三部分组成的:S12为核心的最小系统板、主板、 电机驱动电路板。最小系统板可以插在主板上组成信号采集、处理和电机控制 单元。为了减小电机驱动电路带来的电磁干扰,我们把控制单元部分和电机驱 动部分分开,做成了两块电路板。 3.2.1 以 S12 为核心的单片机最小系统 单片机最小系统板使用MC9S12DG128单片机,112引脚封装,为减少电路 板空间,板上仅将本系统所用到的引脚引出,包括两路PWM接口,一路计数器 接口,一路外部中断接口,17路普通IO接口。其他部分还包括电源滤波电路、 时钟电路、复位电路、串行通讯接口、BDM接口。 7 图3.1 单片机最小系统板电路原理图 为提高系统工作稳定性,我们使用有源晶体振荡器为单片机提供时钟。为 简化电路, 我们取消了复位按键和串行通讯接口电路中的TTL电平与RS-232电平 转换电路。单片机最小系统板电路原理图如图3.1。 单片机引脚规划如下: PORTA0-1:按键 PORTA2-3:跳线 PORTA4-7:LED测试灯 PE2:奇偶场信号 IRQ:行同步脉冲输入信号。 PT0:光电编码器脉冲输入信号。 PWM7:舵机角度控制信号输出。 PWM1:电机速度控制信号输出。 PS4-7:SPI通讯信号 8 3.2.2 主板 主板上装有组成本系统的主要电路,它包括如下部件:电源稳压电路、视 频同步分离电路、比较器转换电路、摄像头接口、舵机接口、电机驱动器接口、 编码器接口、键盘接口、监控模块接口、电源接口、单片机最小系统板插座、 跳线、指示灯、按键、开关等。 1)电源稳压电路 本系统中电源稳压电路有两路,一路为+5V稳压电路,另一路为+3.3V稳压 电路。为整个智能模型车自动控制系统中除后轮驱动电机,转向舵机外的所有 设备供电。 其中+3.3V稳压电路为加速度传感器供电,使用串联稳压芯片AS1117。 电路原理图如图3.2所示: 图3.2 AS1117电源稳压电路 由于整个系统中+5V电路功耗较小,为了降低电源纹波,我们首先使用串联 型稳压电路,另外,后轮驱动电机工作时,电池电压压降较大,为提高系统工 作稳定性,必须使用低压降电源稳压芯片,常用的低压降串联稳压芯片主要有L M2940、LM1117等等。LM2940虽然压降比LM1117更低,但是纹波电压较大。 相比之下,1117的性能更好一些,具有输出电压恒定、压降较低的优点,但是其 线性调整工作方式在工作中会造成较大的热损失,导致电源利用率不高,工作 效率低下。 为了提高电源的利用率,我们进一步选择DC/DC电源稳压电路。DC/DC是 9 开关型稳压电路,它的优点是电路结构简单,对电源的高频干扰有较强的抑制 作用、效率高,输入电压的范围宽,输出电压,电流的纹波值较小。 DC/DC电源稳压电路原理图如图3.3所示: . 图3.3 DC-DC电源稳压电路 但是DC/DC也存在一些缺点,如体积大,成本较高,纹波电压相对理论值 较大,并且工作压降要求在1.0V以上,不便于电池电源的使用,因此我们又探索 了新的稳压芯片TPS7350。 TPS7350是微功耗低压差线性电源芯片,具有完善的保护电路,包括过流、 过压、电压反接保护。使用这个芯片只需要极少的外围元件就能构成高效稳压 电路。与前两种稳压器件相比,TPS7350具有更低的工作压降和更小的静态工作 电流,可以使电池获得相对更长的使用时间。由于热损失小,因此无需专门考 虑散热问题。 TPS7350电源稳压电路原理图如图3.4所示: 10 图 3.4 TPS7350 电源稳压电路 2)视频同步分离电路 我们的智能模型车自动控制系统中使用黑白全电视信号格式CMOS摄像头 采集赛道信息。摄像头视频信号中除了包含图像信号之外,还包括了行同步信 号、行消隐信号、场同步信号、场消隐信号以及槽脉冲信号、前均衡脉冲、后 均衡脉冲等。因此,若要对视频信号进行采集,就必须通过视频同步分离电路 准确地把握各种信号间的逻辑关系。我们使用了LM1881芯片对黑白全电视信号 进行视频同步分离,得到行同步、场同步信号,具体原理不再赘述。视频同步 分离电路原理图3.5所示: 图 3.5 视频同步分离电路 3)二值化图像处理电路 由于摄像头输出的黑白全电视信号为PAL制式模拟信号, 所以必须经过相应 的图像处理模块进行相应转换之后才能由单片机进行处理。解决方案有以下四 种: 11 1、使用单片机内部A/D转换。 S12单片机具有A/D转换器的功能,但是速度较慢。实际使用发现,在将单 片机超频并且降低A/D转换质量之后,每行图像仍只能采集78个点,使得图像分 辨率不高,赛道检测信息量不足。远远达不到我们的期望值,故放弃。 2、使用外部A/D转换器 为此,我们尝试使用TLC5510芯片制作了外部A/D转换器。TLC5510是美国 德州仪器(TI) 公司生产的8位高速A/D转换器,它可提供最大20Msps的采样率。 使用外部A/D转换器电路后,我们每行图像最多可以采集274个点,大大提高了 赛道检测的信息量并提高了信息处理的灵活度。 但我们在使用中发现用A/D转换 处理后的图像分辨率低,处理速度慢以至于使得单片机的内部资源得不到最充 分的利用。外部AD的电路图如图3.6所示: 3、使用模拟电路对PAL信号进行转化 对PAL信号进行硬件二值化是为了降低单片机的计算负荷, 通过调节阈值而 将灰度图像转换成黑白图像,这样就不需要用AD转换就可以采集图像了。其最 明显的优点在于普通IO的操作速度要比AD快,使提高分辨率成为可能。由于通 过模拟电路实现二值化的硬件比较容易实现,所以这个方案最快进入了测试阶 段并取得满意效果,所以最后采用了此技术路线而放弃了其它方案的研究。 在对硬件二值化的研究中,我们也从数字比较器以及模拟比较器几个方向 进行了试探性研究,从图像的稳定性及清晰性等方面进行筛选,最终决定采用 图 3.6 外部 AD 电路图 12 模拟电路搭建而成的比较器对图像进行二值化处理。这个模块经过不断设计、 改良,一共经历了三个版本。分别如图3.7、图3.8、图3.9所示: 图 3.7 第一代固定参考电压比较器电路 图 3.8 第二代可变参考电压比较器电路 图 3.9 第三代边沿检测比较器电路 13 3.2.3 电机驱动电路 电机驱动板为一个由分立元件制作的直流电动机可逆双极型桥式驱动器, 其功率元件由四支N沟道功率MOSFET管组成,额定工作电流可以轻易达到100 A以上,大大提高了电动机的工作转矩和转速。该驱动器主要由以下部分组成: PWM信号输入接口、逻辑换向电路、死区控制电路、电源电路、上桥臂功率M OSFET管栅极驱动电压泵升电路、功率MOSFET管栅极驱动电路、桥式功率驱 动电路、缓冲保护电路等。 电机驱动板电路原理图如图3.10所示。 图 3.10 电机驱动板电路 3.2.4 摄像头 在选择摄像头时,我们参照上届比赛的经验和前两届比赛各参赛队的摄像 头选择,对目前可选的各种摄像头进行了比较和实验。 目前市面上常见的摄像头主要有CMOS和CCD两种, 上届比赛我们采用的是 CMOS摄像头。CCD摄像头具有对比度高、动态特性好的优点,但需要工作在1 2V电压下,对于整个系统来说过于耗电,且图像稳定性不高;CMOS摄像头体 14 积小,耗电量小,图像稳定性较高。因此,经过实验论证之后我们决定采用CM OS摄像头。 对于CMOS摄像头又分数字和模拟两种。在华北区预赛中,我们看到有不少 队采用了数字摄像头的方案,本着严谨的态度,我们在预赛之后选用了OV7620 进行实验,对数字摄像头的可行性进行论证。实验之后,得出结论:数字摄像 头OV7620可以直接输出8路数字图像信号, 使主板硬件电路的简化成为可能, 且 能够达到60帧/S的帧速率,但需要对其内部寄存器进行适当设置,且受环境影响 较大,适应性较差。因此,最终我们采用了CMOS模拟图像传感器方案。 最终采用的SS2000A-2/B-2摄像头具体参数如下: 摄像头参数:320线; 照度:0.5LUX 0.01LUX; 输出制式:PAL制式标准视频信号; 镜头及视角:3.6mm 92; 供电电压/消耗功率:9V 100mA; 3.2.5 速度传感器 由于我们在华北预赛中考虑到智能车在实际速度控制中对反应车速的控制 信号波形要求不是太高,因此在满足比赛要求的基础上尽量简化电路,使用自 制的光电编码器来测速。我们使用线切割在直径为30mm的圆盘周围加工出100 个细缝,使用红外光电对射管作为采集码盘脉冲可鉴向的传感器。速度传感器 实物图如图3.11所示: 图 3.11 光电编码器电路 15 在预赛之后,我们感觉到虽然自制的码盘精度够用,价格也比较低,但是容易 受到外部光线和灰尘的影响, 会影响测速的精度。 因此改用了欧姆龙的小码盘。 码盘内部使用发光二极管等电子元件组成的检测装置检测输出脉冲信号,通过 计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。最后还是根 据不同车的需要进行了选择。 3.2.6 加速度传感器 由于决赛的赛道增加了坡道, 而赛车在通过坡道时由于车体上仰, 摄像头 有一定时间无法扫描到赛道,这段时间内很难对舵机做出正确的控制,因此在 高速通过坡道时很有可能会出现跌落坡道的危险;同时,如果通过坡道速度过 快,赛车会飞离赛道,当赛车再次回到赛道时产生的剧烈震动会对赛车状态产 生极大影响。综合两方面因素,赛车通过坡道时,应当适当减速。 为了准确识别坡道,我们采用了加速度传感器 MMA7620Q。电路如图 3.12 所示。 图 3.12 加速度传感器电路 MMA7620 芯片能够以模拟信号方式输出 X、Y、Z 三个方向上的加速度,可 通过拨码开关选择合适的量程。在赛车通过坡道时,会在 Z 方向上产生一个比 较明显的加速度信号,通过检测这个信号就可以比较准确地识别坡道,从而在 16 通过坡道时适当减速,确保赛车能够安全平稳地通过。 17 第四章 软件系统设计与实现 高效稳定的软件程序是智能车平稳快速寻线的基础。本智能车采用CMOS 摄像头作为寻线传感器,图像采集处理就成了整个软件的核心内容。在智能车 的转向和速度控制方面,我们使用了鲁棒性很好的经典PID控制算法,配合使用 理论计算和实际参数补偿的办法,使在寻线中的智能车达到了稳定快速的效果。 4.1 舵机转向和速度调节的 PID 控制算法 4.1.1 经典 PID 控制算法 PID控制是工程实际中应用最为广泛的调节器控制规律。问世至今70多年 来,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要 技术之一。单位反馈的PID控制原理框图如图4.1: 图 4.1 单位反馈的 PID 控制原理图 单位反馈e代表理想输入与实际输出的误差,这个误差信号被送到控制器, 控制器算出误差信号的积分值和微分值,并将它们与原误差信号进行线性组合, 得到输出量u。 dt de kedtkeku dip += 其中, p k 、 i k 、 d k 分别称为比例系数、积分系数、微分系数。u接着被 送到了执行机构,这样就获得了新的输出信号u,这个新的输出信号被再次送到 感应器以发现新的误差信号,这个过程就这样周而复始地进行。 PID各个参数作用基本介绍: 增大微分项系数可以加快动态系统响应,但容易引起震荡。一般增大比例 系数能够减小上升时间,但不能消除稳态误差。增大积分系数能够消除稳态误 差,但会使瞬时响应变差。增大微分系数能够增强系统的稳定特性,减小超调, 18 并且改善瞬时响应。 对连续系统中的积分项和微分项在计算机上的实现,是将上式转换成差分 方程,由此实现数字PID调节器。 位置式PID控制算法 用矩形数值积分代替上式中的积分项,对导数项用后向差分逼近,得到数 字PID控制器的基本算式(位置算式) : ) 1 ( 1 1 = += n k nn dk i npn T ee TTe T eku 其中T是采样时间, p k、 i T、 d T为三个待调参数,我们在实际代码实现算法 时,处理成以下形式: PreU = Kp * error + Ki * Integral + Kd * derror 增量式PID控制算法 对位置式加以变换,可以得到PID算法的另一种实现形式(增量式) : )2( 1 )( 2111 += nnn d n i nnpnnn eee T T e T eekuuu 我们在实际代码实现时,处理成PreU += (Kp * d_error + Ki * error + Kd*dd_error) 的形式。 这种算法用来控制步进电机特别方便,对直流电机也可以采用,其实如果 对控制有更高的要求或者干扰因素较多,我们可以对PID算法做各种改进,比如 用梯形法做数值积分以提高精度,将差分改成一阶数字滤波等等,在实际调车 的过程中,我们确实遇到过由于自制码盘采样得到的脉冲上升下降沿不够陡, 使得速度采样出现不稳定和失真,但由于这些附加处理比较耗费代码的运行时 间,出于代码效率和实际效果的比较,我们没有采用这些改进的方案,另外可 以考虑加反向器来整波形得到较为理想的方波。 运用PID控制的关键是调整三个比例系数,即参数整定。PID整定的方法有 两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算 确定控制器参数。由于智能车整个系统是机电高耦合的分布参数系统,并且要 19 考虑赛道具体环境,要建立精确的智能车运动控制数学模型有一定难度,而且 我们对车身机械结构经常进行不断修正,模型参数变化较频繁,可操作性不强; 二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且 方法简单,我们采用了这种方法,同时,我们先后实验了几种动态改变PID参数 的控制方法。 4.1.2 经典 PID 算法在本智能车上的应用 (1)速度的控制 我们对速度的控制采用了增量式PID算法,我们在速度控制中采取的基本策 略是弯道降速,直道提速,经过反复实验,将图象经过算法处理后得到的黑线 位置和对应的速度PID参照速度处理成二次曲线的关系。在实际测试中,发现小 车直道和弯道相互过渡时加减速比较灵敏,与舵机转向控制配合较好。 图 4.2 黑线位置和给定速度的二次函数曲线 具体在程序中的代码如下: sPID.vi_Ref = g_HighestSpeed - (59 - g_Control) * (59 - g_Control) * (g _HighestSpeed- g_LowestSpeed)/ 3481;(g_HighestSpeed为最高速,g_LowestS peed为最低速) 但是,存在的局限一方面是车在弯道进直道后的加速和直道入弯道的速度 控制并达不到最好的控制效果,弯道入直道减速不够快速,直道入弯道加速得 20 时机也不够及时。我们做了进一步的改进,根据入弯时黑线位置的特点动态改 变二次曲线中最高点(直道的最高速度)和最低点(弯道的最低速度)的大小, 使得控制效果更合理。 另一方面是没有考虑到实际比赛中长直道急速冲刺的情况,赛前在程序中 人为设定直线速度不够灵活合理,所以在程序中根据赛道状态动态提高直线速 度g_HighestSpeed,使得我们可以在长直道的赛场充分发挥车的潜能。 (2)舵机的控制 我们对舵机的控制采用了位置式PID算法,根据往届的资料和自己的测试, 将图象经过算法处理后得到的黑线位置和对应的舵机PID参照角度处理成一次 线性关系。 开始在较低速(2m/s以下)试验时,在偏离黑线很少的某个范围,将Kp直 接置零,在偏离黑线较少的某个范围,将Kp值减小为原来的一半,在偏离较大 的其他情况,则保持Kp原来的大小。取得的实际效果在弯道较多、直道较短的 赛道上,车子转弯流畅,直道也能基本保持直线加速,车身左右抖动较小。但 在提高车速至高速(2.5m/s以上)时,发现车身在跑直道特别是是长直道时,车 身左右震荡比较严重,究其原因,硬件上,我们认为首先是轮轴本身的松动并 且转向机构左右转向性能可能存在不对称性,设计有待改进,软件上,则是自 身编写的PID舵机控制还不够精细,动态适应能力不够,在从弯道进直道的过程 中,由于小车循黑线本质上是一个随动系统,积分项在弯道累积的偏差错误地 加在直道的跟踪上,造成在进入直道时转向不够准确,跑直道时虽然能跟踪黑 线,但是转向调整往往超调,导致车身在直道上左右震荡,这种震荡严重影响 了车的整体表现,同时,我们对S弯的控制也过于简单,没有特别的处理,导致 车在跑S弯的时候, 跑得太规矩,几乎完全沿黑线走,没有明显的直冲S弯的效 果,原因是在前瞻有限的情况下,在采集到的图象中S弯入弯和普通弯道是一样 的,导致小车开始转向,由于中间一直检测到弯道,小车会沿S弯道左右震荡, 同时相应会减速,经过反复调试PID参数,我们发现光调整PID参数很难使车在 跑S弯和长直道时都选择跑最佳路径,并且不影响车拐普通弯。这就要求我们要 智能地识别出当前赛道是哪种类型,我们没有选择赛道记忆等方法来判断当前 赛道是哪种类型,而是采取在不降低远处黑线分辨率的情况下,尽量让摄象头 看得更远的方法。最后,在CPU超频的条件下,每行图象采集到了120个点,成 21 功地增大了CMOS摄象头采集图象的分辨率, 在透视问题影响远处黑线分辨率的 制约下,使采集到的最远处每行黑线宽度达到了23个点,并且视场长度(视场 最远处和最近处的距离)达到1.4m,最远前瞻达到1.6m,足以覆盖赛道中的各 种赛道类型,使得我们在程序中并没有加入了对S弯、长直道以及大弯进行可靠 识别的算法,仅仅根据黑线位置动态改变PID参数,得到了较好的控制效果,经 过我们反复测试,选择的PID调节策略是: 1、将积分项系数置零,我们发现相比稳定性和精确性,舵机在这种动态随 动系统对动态响应性能要求更高。更重要的是,在Ki置零的情况下,我们通过 合理调节Kp参数,发现车能在直线高速行驶时仍能保持车身非常稳定,没有震 荡,基本没有必要使用Ki参数; 2、微分项系数Kd则使用定值,原因是舵机在一般赛道中都需要较好的动态 响应能力; 图 4.3 黑线位置和动态 Kp 值的二次函数曲线 3对Kp,我们使用了二次函数的曲线,Kp随黑线的偏离位置二次函数关系 增大,具体在程序中的代码如下: loca_Kp = (loca_error * loca_error)*2)/3 + 900。 local_error是黑线位置与 中心值的偏差。 我们选择最后测试了一些PID参数,得到了较为理想的转向控制效果。 22 4.2 有一定抗干扰和抗反光能力的黑线提取算法 (1)原始图像特点: 在单片机采集出图像信号后需要对其进行处理以提取赛道信息,同时,由 于杂点、交叉线、起始线的影响、光线、赛道连接处以及赛道以外图像的干扰, 图像的效果会大打折扣,因此,在软件上必须排除干扰因素,对有效赛道进行 识别,并提供尽可能多的信息供决策使用。 我们在图像信号处理中提取的赛道信息主要包括: (1) 赛道中心位置 (2) 赛道宽度 (3) 赛道曲率 (4) 赛道变化幅度 (6) 赛道形式判别 由于摄像头自身特性,图像会产生梯形式变形,这使得摄像头看到的的信 息不真实。所以我们利用赛道进行测量,创建函数还原出了真实赛道信息 原始 图像是一个将模拟图像经模拟电路转换得到的二位数据矩阵,矩阵的每一个元 素对应一个像素点的阈值,图像的第一行对应最远处,大约150cm图像的最底部 一行对应最近处,大约20cm。远处的图像小,近处的图像大,黑线为梯形状。 预赛之后在调试中我们发现,视场底部距离车体最前部越远,在通过半径 较小的270弯道时越容易丢失黑线,在这种情况下,对十字交叉道的处理变得 比较困难。针对这个问题,队员们讨论之后,决定将摄像头后置于电机前方附 近,即将整个视场向后平移,使视场底部到车体最前部的距离在35cm之间。采 用这个方案之后,赛车在通过小半径弯道时基本上不会丢失黑线,在这个基础 上我们就比较好的解决了赛车通过十字交叉道容易出错的问题。 最终摄像头采集到的各种情况下的赛道情况如图4.4图4.7所示: 23 图 4.4 十字交叉道 图 4.5 弯道 图 4.6 S 弯 图 4.7 起点 24 (2)黑线提取算法的基本思想: a) 直接利用原始图像逐行扫描,根据设定的阈值提取黑白跳变点; b) 黑线宽度有一个范围

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论