




文档简介
1、 第一届“飞思卡尔”杯全国大学生 智能汽车邀请赛 技技 术术 报报 告告 学 校: 浙江大学 队伍名称: 飞 豹 参赛队员: 陈波 凌王翔 金星 带队教师: 胡赤鹰老师 关于技术报告和研究论文使用授权的说明 本人完全了解第一届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、 使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组 委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方 案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组 委会出版论文集中。 参赛队员签名: 带队教师签名: 日 期: II 目录 第一章 引言. 1 第二章 硬件部分 . 3
2、 2.1 机械结构 . 3 2.1.1 原赛车机械改动说明. 3 2.1.2 加装机械部件说明 . 3 2.1.3 安装说明 . 4 2.2 电路设计 . 5 2.2.1 系统电源模块 . 5 2.2.2 电机驱动控制模块 . 6 2.2.2.1 直流电机驱动控制电路. 6 2.2.2.2 舵机驱动控制电路. 7 2.2.3 传感器检测模块 . 8 2.2.3.1 路径检测模块布局及相应电路设计. 8 2.2.3.2 测速模块电路 . 10 2.2.4 人机交互模块设计 . 10 2.2.4.1 按键接口电路 . 10 2.2.4.2 LCD显示模块电路.11 2.2.4.3 无线通讯模块设计
3、.11 2.2.4.4 LED彩灯报警显示. 12 第三章 软件部分 . 13 3.1 软件设计 . 13 3.1.1 软件总体设计 . 13 3.1.2 软件各功能模块设计. 15 3.1.2.1 直流电机控制模块. 15 3.1.2.2 舵机控制模块 . 16 3.1.2.3 人机交互模块 . 17 3.1.2.4 信号采集与处理模块. 18 3.1.2.5 测速模块 . 21 3.1.2.6 控制算法模块. 22 3.2 控制算法 . 23 3.2.1 控制策略 . 24 3.2.2 控制算法 . 25 3.2.2.1 模糊控制算法. 25 3.2.2.2 PID控制算法. 28 3.2
4、.3 异常处理模块 . 28 3.2.3.1 弯道识别 . 28 3.2.3.2 速度限制 . 29 第四章 开发制作与调试 . 31 第五章 参数说明 . 33 第六章 结论.I 参考文献.III 附录A 主要机械部件尺寸图 .IV 附录B 系统程序源代码 .VI III 第一章 引言 智能汽车系统是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体 的综合系统,涉及传感器技术、信息融合技术、微电子技术、计算机技术、自 动控制技术、人工智能技术、网络技术、通信技术等。近十年来,随着智能运 输系统(E-T)研究的兴起,对于智能汽车及其相关技术的研究引起了广泛关注。 在这一背景下,旨在提高大学
5、生自主创新能力,提升高校相关学科领域学术水 平,提高汽车企业的自主创新能力的智能模型汽车的比赛也相继召开。教育部 为了加强大学生实践、创新能力和团队精神的培养,委托高等学校自动化专业 教学指导分委员会主办每年一度的全国大学生智能汽车竞赛。该竞赛是以迅猛 发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计 算机、机械等多个学科交叉的科技创意性比赛。 “飞豹”智能赛车由浙江大学信息学院控制系开发。该赛车以Freescale公司 的16位MC9S12DG128B单片机为核心,采用光电传感器阵列感知路径信息,以 PID控制和模糊控制相结合的控制算法并辅之以异常处理算法作为控制策略,同
6、 时在比赛规则允许的条件下对赛车模型进行了合理改装和调整。 整个系统的硬件电路主要包括系统电源模块、单片机模块、传感器信号检测 模块、电机驱动控制模块、人机交互模块等五个部分。单片机模块直接采用了 清华大学提供的MC9S12DG128B开发板。 传感器信号检测模块由路径检测和速度检测两部分组成。 路径检测部分由10 个光电传感器“一”字按一定间距排列而成,在其外围安装了轻质铝合金罩以 减少外界光线的干扰。单片机通过10个10位的A/D转换口读取光电传感器检测 值,然后进行数字滤波处理,保证了控制器输入值的可靠性。速度检测由安装 于赛车后轮的霍尔元件通过输出脉冲信号进入单片机ECT模块, 然后经
7、过计算得 到赛车速度值。 人机交互模块使系统具有友好的人机界面,可通过按键,无线通讯的方式改 变参数,并通过LCD观察系统状态参数,避免了对单片机的重复编程擦写,有 效提高了调试的效率。 系统软件主要由主程序模块、功能子程序模块和中断处理模块等组成。系统 通过在主程序内循环调用信号检测、信号处理、路径计算和赛车控制等功能子 1 第一节全国大学生智能汽车邀请赛技术报告 程序,实现不断检测路径信息并作出相应调节动作,完成路径自动识别和自动 行驶;通过PH口中断,调用中断函数来控制汽车运行状态和修改相关参数,实 现人机交互; 本系统采用单闭环, 双控制器的控制策略, 其中双控制器为模糊控制器和PID
8、 控制器,分别控制赛车的速度和舵机转角,另外有一个异常情况处理模块来处 理赛车可能出现的异常情况,改进控制策略对某些赛道情况的控制效果。模糊 控制器采用MC9S12DG128B内置的专用模糊控制指令编写而成,PID控制采用经典 的增量式算法,运行效率高,鲁棒性较好。 本系统的设计充分利用了MC9S12DG128B单片机丰富的硬件资源和强大的 处理能力,在实际测试中表现出了良好的性能。 2 第二章 硬件部分 2.1 机械结构 2.1.1 原赛车机械改动说明 为满足系统需要,对组委会提供的赛车作了如下改动: 1) 按赛车机械安装图示,正确安装赛车转向舵机及转向杆。 2) 按赛车机械安装图示,正确安
9、装赛车橡皮轮胎。 3) 按赛车机械安装图示,拧紧了赛车后部紧固螺丝,增加直流电机减速齿 轮与后轮的咬合力,从而改进赛车加速,减速特性。 4) 在距赛车前端 80mm 的左右对称中心轴上开了一个直径为 3mm 小孔, 装上 高 54mm 的黑色立柱,并用长螺丝固定。该立柱与车身尾部自带的两个立 杆一起用来固定主系统板(主系统板见下一节介绍) 。 5) 在赛车前部原安装缓冲器处安装高为 2cm 的塑料安装支柱,用于固定横 梁和加装信号检测板(横梁与信号检测板见下一节介绍) 。 6) 将在赛车尾部用于固定直流驱动电机两个平头螺丝换成普通螺丝,并加 装测速板。 7) 在轮轴上用胶水固定 4 个小型磁钢
10、,磁钢均匀排布。 经改装的赛车满足系统控制需要,且安装简单,牢固可靠,并完全符合第 一届“飞思卡尔”杯全国大学生智能车邀请赛比赛细则-2006-03-04对智能竞 赛车模改动的规定要求。 2.1.2 加装机械部件说明 为满足系统检测和控制的要求,设计制作了以下主要机械部件:主系统板、 测速板、挡光罩、信号检测板、信号检测板横梁;同时添加了主系统板安装支 架、信号板安装支柱等用来安装固定。 主要机械部件尺寸图如附录 A 所示。 材料说明: 3 第一节全国大学生智能汽车邀请赛技术报告 1) 主系统板、信号检测板和测速板均为双层印刷电路板; 2) 挡光罩由轻质铝合金加工而成,内层贴有黑色黏胶纸,安装
11、后其开口部 分亦用黏胶纸相连; 3) 信号检测板固定横梁为铝合金材料。 2.1.3 安装说明 1、安装信号检测板 1) 先安装信号检测板安装支柱,用平头螺丝固定于赛车前部,然后信号检 测板横梁,并用螺丝与弹簧垫片加以固定。 2) 将挡光罩套在信号检测板上并有螺丝固定,用黑色黏胶纸连接挡光罩缺 口。 3) 把装有挡光罩的信号检测板固定在横梁上,其中与赛车距离可根据需要 作调整。 2、安装测速板 把霍尔元件朝下,将测速板安装于赛车后部支架(具体位置建实物图) 。 3、安装主系统板 安装完测速板后,将主系统板的固定孔与安装立柱对准安装,并用螺丝 和弹簧垫圈固定。 安装完后整体实物图如图 2.1 所示
12、。 图 2.1 赛车实物图 4 第二章 硬件部分 2.2 电路设计 赛车硬件电路作为系统实现其一系列控制功能的基础, 其设计的好坏直接关 系到最终系统能否正常稳定的运行。通过分析,得到系统各主要功能模块电路 及其与微处理器之间的逻辑关系,系统整体硬件设计框图如图 2.2 所示。 图 2.2 系统总体硬件设计框图 图 2.2 中,光电路径检测电路,霍尔元件测速电路属于传感器检测模块,通 过它们,系统能够即时获取外界及自身运动状态信息。 电机驱动控制模块包含直流电机驱动控制电路和舵机驱动控制电路。 作为系 统控制算法的执行机构,电机能否被很好的驱动和控制,这直接关系系统能否 正常运行。 人机交互模
13、块由按键参数设定电路,无线通讯电路,LCD 显示电路,LED 彩 灯报警显示电路组成。对于赛车系统来说,没有这些模块它同样能够正常运行, 但是加入该系统调试模块却能够极大方便系统参数调试,提高调试效率,在及 时了解赛车运行状况的同时也能够在一定程度上充分利用 MC9S12DG128B 单片机 丰富的资源。基于以上考虑,在系统硬件设计中加入了人机交互模块。 2.2.1 系统电源模块 5 第一节全国大学生智能汽车邀请赛技术报告 电源模块的主要功能是将电池所提供的电压转换为+5V,从而为系统供电。 考虑到在实际运行过程当中小车可能作频繁的加速,减速动作使得电池两端的 电压会有较大的波动,因此为了确保
14、系统能够正常工作,避免单片机意外重启, 这里选用了 LM2575 作为电源模块的电压转化芯片。 LM2575 拥有较大的输入转换 电压区间(7V40V) ,较高的输出电压精度(3的误差) ,以及较少的外围 辅助电路。电源转换模块电路原理图如图 2.3 所示。 图 2.3 电源转换原理图 为了消除来自电源的干扰,在输入端分别接入了电容值为 1000uF 的电解电 容和 0.1uF 的瓷片电容,同时为了降低输出电压存在的纹波,减少由电源引入 电路的噪声,在输出端分别加接了两级 L-C 滤波电路,分别滤去高频与低频成 分。 由于 LM2575 在正常情况下能够输出 1A 的电流,因此该电源模块还具有
15、较 强的驱动负载能力的特点。 2.2.2 电机驱动控制模块 2.2.2.1 直流电机驱动控制电路 由于单片机管脚输出电流较小,远远小于电机工作时流过电机的电流,所 以需要设计电机驱动电路来拖动电机。这里所采用的是由 Motorola 公司生产的 驱动芯片 MC33886。它内部集成了一个 H 桥电路,能够通过 5A 电流,并且外部 输入控制信号 PWM 波的频率可以高达 10kHz,从而大大提高了电机得控制频率。 因此只需根据需要为 MC33886 加上恰当的外围电路即可完成驱动电路的设计, 电路如图2.4 所示。 6 第二章 硬件部分 图 2.4 电机驱动电路 采用单片机 PWM 输出通道
16、PP1 口输出控制信号来控制驱动芯片内部 H 桥电 路的导通和关断,通过改变加在电机两端的平均电压从而实现电机调速的目的。 I/O口PK0 PK2则可以利用其输出高低电平的组合来实现控制电机正反转或者 是制动功能。此外 MC33886 还设置了芯片工作异常报警输出口,将其与 PK3 口 相连,就可以及时获取驱动电路工作情况并对异常报警作出相应处理。 2.2.2.2 舵机驱动控制电路 舵机的控制主要指的是对其转角的控制,而要实现这一控制功能,只需通 过改变输入舵机控制端子的 PWM 波占空比即可实现, 而不需要改变施加在舵机 两端的电压大小。因此相对于直流电机,舵机的驱动显得要简单。将电池的输
17、出电压直接接到舵机电压输入端即可实现对舵机的驱动。同时由于单片机有专 用的 PWM 输出 I/O 口,因此舵机的控制可以采取直接接 PWM 输出口的方法。 图 2.5 舵机驱动控制电路 通过图 2.5 所示连接,再通过软件适当设置,可实现对舵机的驱动控制。值 的注意的一点是对于输入舵机的 PWM 波,其周期和高电平时间均有一定的限制, 通过软件调整时需要确保输入舵机的控制信号能够满足周期在 20ms 左右,高电 平时间在 1.2ms1.7ms 之间变化以对应舵机向左和向右的最大机械转角。 7 第一节全国大学生智能汽车邀请赛技术报告 2.2.3 传感器检测模块 传感器检测模块作为小车获取外界环境
18、变化及自身状态信息的窗口,是整 个系统能够正常工作的前提和基础,其设计的好坏直接关系到控制算法的有效 性以及系统运行的稳定性。根据实际需要,引入了光电检测模块以及速度检测 模块。 2.2.3.1 路径检测模块布局及相应电路设计 路径检测模块是智能车系统的关键模块之一,路径识别方案的好坏,直接 关系到赛车最终性能的优劣。本设计中赛车采用光电传感器阵列检测黑色导引 线,实现路径自动识别功能。 所谓光电传感器阵列寻迹方案,即通过由红外发光、接收二极管组成的光 电传感器阵列来识别黑色赛道。由于黑白两色对红外管线的反射率不同,在一 定电压下红外接收管两端流过电流值将随其所处位置下方的赛道颜色变化而改 变
19、,由此赛车便能从赛道上分辨出黑色跑道。该寻迹方案具有简单,响应速度 快,系统处理量小等优点。 模块设计所选用的光电器件为以 PD333 作为红外接收发管, IR333 作为红外 发射管的分立式红外对管。二者均为 EVERLIGHT 公司所生产,其中: IR333主要特点有: 1) 高辐射强度 2) 峰值发射波长p=940nm 3) 发射角度 40 度 4) 高可靠性 PD333 主要特点有: 1) 电流与关照强度之间线性度高 2) 对外界光照变化响应时间短 3) 高影像灵敏度 4) 结电容小 为了克服光电传感器阵列易受外界环境干扰,空间分辨率低等缺陷,在机 8 第二章 硬件部分 械设计中引入挡
20、光照并依据控制需要合理设计光电传感器的排布,从而使得路 径检测模块能够为系统提供准确,可靠的路径信息。 光电传感器具体排布方案为选用 11 个红外发射管和 10 个红外接收管,间 隔排列成一条直线组成光电阵列,每个二极管之间的间隔均为 10mm(具体排列 位置见附录 A 图 信号检测板机械图) 。当信号检测板处于一定高度时,红外发 射管放射出的红外线恰好能完全覆盖传感器下部的跑道,此时信号板下方的道 路信号能被接收管完全反映出来。先使用处于黑线上方的传感器来识别路径, 再使用其两侧的传感器进行二次识别。这种方式可以达到较高的水平分辨率, 并且具有较高的线性度。具体传感器排布情况如图 2.6 所
21、示。 红外接收管红外发射管 黑线 0123456789 图2.6 传感器排布图 当黑色导引线处于上图 2.6 所示位置时,系统将先判别出 4 号接收管更加 接近黑线,然后根据 3、5 号接收管的数据计算出黑线中轴线所处的位置在 4.35 左右。 图 2.7 表示一对红外对管检测电路原理图。 图 2.7 红外对管检测电路 图 2.7 所示的红外检测电路将电阻 R2 两端的电压值通过接口电路输入单片 机 A/D 口作为后续信号处理算法的输入信号。 9 第一节全国大学生智能汽车邀请赛技术报告 2.2.3.2 测速模块电路 赛车运行过程中的速度信息的检测对于赛车的控制同样有着重要的作用。 考虑到实际应
22、用情况并结合单片机 ECT 模块的输入捕捉功能, 采用霍尔元件 U18 在磁钢不同极性下集电极输出高低电平的变化,通过测算高电平或者是低电平 所持续的时间来得到小车的运动速度。 图 2.8 速度检测电路 由于U18为集电极输出, 因此在经过电阻的上拉之后其输出电平Sout完全与TTL 电平相兼容,因此可以直接输入单片机的 I/O 模块。 2.2.4 人机交互模块设计 人机交互模块提供了在线观察,修改系统运行参数的有效手段。通过该模 块,可以不再为了修改某些参数而反复擦写单片机 FLASH ROM 中的程序,并 且这种在线观察和修改参数的手段在很多时候显得犹为方便,有效。 2.2.4.1 按键接
23、口电路 设计按键接口电路的目的就在于为修改程序的某些参数提供方便,便于调 试。但对于按键电路,需要解决的最大问题在于如何防抖。由于所采用的单片 机按键输入口 PORTH 本身在其 I/O 端口设置了数字滤波器,即倘若一个脉冲的 高电平或者是低电平的持续时间小于 4 个总线周期,那么该脉冲将会被忽略, 单片机不会产生中断。鉴于该种数字滤波器已经在一定程度上减轻了按键抖动 所带来的影响,因此在按键电路设计中,只是在按键的输出端加接滤波电容, 以此来尽可能的消除按键抖动所造成的影响。图 2.9 为按键电路原理图。 10 第二章 硬件部分 C0 S0 +5V R0 PH Port MCU 图 2.9
24、按键模块电路 2.2.4.2 LCD 显示模块电路 为了能够便于观察监视单片机运行时内部某些重要参数,同时为了能够充分 利用单片机丰富的 I/O 资源,我们采用并口通讯方式建立 LCD 液晶屏与微处理 器的连接。如图 2.10 所示。 图 2.10 LCD 液晶显示电路 在使用过程中发现 LCD 显示需要占用较大的系统资源,因此在赛车运行过 程中并不进行 LCD 显示。 2.2.4.3 无线通讯模块设计 引入这一模块的原因完全出于控制系统参数调试的需要。 某些系统参数 (如 PID 参数)需要在调试过程中作频繁调整以期能够得到一组较为理想的参数,这 时采用无线通讯模块就可以实现在赛车运行过程中
25、在线调整某些重要参数,从 而能够更加直观,迅速的观察到赛车在不同参数设置下的运行情况,极大方便 11 第一节全国大学生智能汽车邀请赛技术报告 了对于某些参数的整定。而在比赛过程中则将该无线模块取下,避免违反规则。 在小车上所加的是无线接收模块,主要由 PT2272 解码芯片构成。其可以接 受来自由 PT2262 编码芯片构成的发射模块的信号。利用单片机 PH 口能够由边 沿触发产生中断的特点,则可以由软件实现信号识别并作出相应响应。 由于已有较为成熟的以 PT2272 为解码器的接收模块,因此只要设计系统主 电路与接收模块接口电路将信号引入单片机即可,电路如图 2.11 所示。 图 2.11
26、无线接收模块接口电路 图 2.11 接口电路中,发光管 D0 主要起到指示灯的作用,只有在接收成功的 情况下该指示灯才会亮。在操作过程中,接收模块将所收到的信号译码并在对 应的 A11A8 口产生电跳变,从而触发单片机中断,根据中断标志位在得到 了通道号便完成了一次通讯。只要在软件中作相应处理,并可以利用这种无线 通讯方式修改系统参数。 2.2.4.4 LED 彩灯报警显示 LED 彩灯显示的主要目的在于指示赛车的某些动作, 以使我们能够在赛车动 态运行中了解控制功能是否正常,并且当赛车进入某种异常情况时,彩灯能够 提供报警指示功能,据此并可判断赛车在特殊情况下能否作出相应动作,从而 为调整异
27、常处理算法提供依据。 图 2.11 表示 LED 彩灯显示电路原理图。 图 2.12 LED 彩灯显示 12 第三章 软件部分 3.1 软件设计 本系统软件设计中遵循下面的规则: 1) 采用模块程序设计。模块程序设计是把一个较长的完整的程序,分成若 干个小的功能程序模块,在分别进行设计、编程、调试之后,最终装配 在一起,链接成一个完整的程序。模块化程序设计便于程序移植和修改。 2) 外部设备和外部事件采用中断方式与CPU联络,这样,既便于系统模块 化,也可提高程序效率。 3) 经过调试修改后的程序进行规范化。规范化的程序便于交流、借鉴,也 为今后系统功能的进一步扩充打下基础。 4) 系统的软件
28、设计充分考虑到软件抗干扰措施。如数字滤波,程序跑飞的 软件陷阱,软件的容错设计等. 3.1.1 软件总体设计 本控制系统软件主要功能为通过采集信息并自动识别黑色导引线, 控制直流 电机和转向舵机使赛车沿跑道自动行驶,同时增加人机友好交互界面以此根据 不同需要调整方案和参数,提高系统的鲁棒性。为实现以上功能所需芯片资源 如表3.1,表3.2所示。 13 第一节全国大学生智能汽车邀请赛技术报告 表 3.1 系统资源分配 系统 I/O 资源占用表 编号 单片机接口 备注 控制信号 PK0-PK3、 PWM1 1 电机驱动控制 模块 (MC33886) 软件监视 PB0 驱动芯片工作异常时 报警 2
29、舵机控制模块 控制信号 PWM3 数据 PA0-PA7 3 LCD 显示模块 控制信号 PK4、 PK5、 PK7 软件监视 PB1 4 无线接收模块 数据 PH4-PH7 与按键共用一个中断 矢量地址 软件监视 PB1 5 按键模块 数据 PH0-PH3 与无线接收模块共用 一个中断矢量地址 6 路径检测模块 PAD0-PAD9 10 位 A/D 7 速度检测模块 PT0 Input Capture 表 3.2 中断源分配表 系统中断源分配表 编号 中断名称 中断源 优先级功能 1 按键中断 Port H 高 按键和无线接收 2 输入捕捉中断 Enhanced Capture Timer c
30、hannel 7 高 速度检测 3 测速模块定时 器中断 Enhanced Capture Timer overflow 高 速度检测 4 系统主定时器 中断 Modulus Down Counter overflow 低 主程序周期循环 系统软件主要由主程序模块、功能子程序模块和中断处理模块等组成。系统 通过在主程序内循环调用信号检测、信号处理、路经计算和赛车控制等功能子 程序,实现不断检测路径信息并做出相应动作完成自动识别路径和自动行驶; 通过PH口中断,调用中断函数来控制汽车运行状态和修改相关参数,实现人机 交互;通过输入捕捉中断实现速度检测。系统程序总体流程如图3.1所示。 14 第三
31、章 软件部分 图 3.1 控制系统整体程序流程图 3.1.2 软件各功能模块设计 3.1.2.1 直流电机控制模块 本部分介绍直流电机的控制程序,其中包括:直流电机初始化子程序,直流 电机起动子程序,直流电机停止子程序,直流电机调速子程序;系统通过在主 程序里调用这些子程序实现对直流电机的起停控制和速度控制。 直流电机初始化子程序执行初始化相应控制端口的功能, 其使MC33886控制 端IN1置1, D1置1, /D2置0; 初始化单片机PWM模块, 设定PWM波频率为10kHz, 同时设置PWM的极性使其起始电平为高电平。 直流电机启动子程序和电机停止子程序通过控制PWM模块运行或停止的方
32、式以实现对电机起动和停止的控制。 15 第一节全国大学生智能汽车邀请赛技术报告 直流电机速度控制子程序通过设置某一周期下PWM波的高电平时间,产生 占空比从0100%变化的PWM波来改变电机两端的平均电压,从而控制电机转 速,进而控制汽车行驶速度。图3.2表示了直流电机驱动控制模块的程序流程。 端口 初始化 初始化 PWM模块 设定速度启动停止后退 Speed=? 控制器输出 图 3.2 直流电机控制模块程序流程图 3.1.2.2 舵机控制模块 本部分为系统提供舵机控制功能,包括舵机初始化子程序,舵机停止控制子 程序,舵机转向角度控制子程序;系统通过在主程序里调用这些子程序实现对 舵机的控制。
33、 舵机初始化子程序实现初始化单片机PWM模块的相应通道,使得该通道输 出PWM波频率为520Hz,同时设置PWM极性即起始电平为高电平; 舵机停止控制子程序用来停止舵机动作,并恢复其到初始状态,具体实现方 法为设定通道输出PWM波的高电平时间为1.47ms, 并延时一段时间后关闭PWM 输出。 舵机转向角度控制子程序实现设定PWM调制波的脉宽,使其高电平宽度从 1.21ms 1.47ms1.73ms可调,所对应舵机转向角度为-380 38。 图3.3表示了舵机控制模块的工作过程。 16 第三章 软件部分 图 3.3 舵机转角控制模块程序流程图 3.1.2.3 人机交互模块 人机交互模块主要包括
34、按键子程序、 无线接收子程序和LCD显示子程序三部 分,主要完成系统启停控制,系统参数设定及显示等功能。其中按键子程序与 无线接收子程序均使用中断完成相应动作,二者的执行方式和功能设定均相同, 下面以按键子程序为例说明其运行过程。 按键子程序采用外部中断方式执行相应动作, 此种方法可以节省系统时间开 支,因为在系统运行大部分时间里是没有按键动作的;为防止按键抖动造成系 统误动作,加入抖动判断,如果是抖动就抛弃这次操作;其中包括:按键识别 子程序和按键功能子程序两部分。 LCD显示子程序为LCD显示模块提供驱动和系统与LCD的接口;其中包括: LCD初始化子程序,LCD写命令子程序,LCD写数据
35、子程序,LCD光标定位子 程序和LCD写字符串子程序等。 LCD模块在需要时通过接插件即用,由按键1初始化LCD,并显示相关信息; 通过按键4进入系统菜单;在系统菜单级别上,可以通过按键2和按键3进行浏览 菜单,通过按键4可以选择菜单并激活该选项;如果菜单内容为改变系统状态, 如系统启停等,系统将给出提示信息后执行相关操作;如果菜单内容为可修改 参数,该参数就被置于可修改状态,光标将置于可修改参数的第一位,此时按 键2可以移动光标选择要修改的位,按键3修改参数,按键4确认并保存修改,然 后退出激活状态;在激活状态下按键1动作,就会重新初始化LCD,并显示欢迎 信息,所需修改的参数将不被保存既修
36、改无效。其具体操作流程如图4.5所示。 17 第一节全国大学生智能汽车邀请赛技术报告 图 3.4 LCD 菜单显示操作流程图 3.1.2.4 信号采集与处理模块 此部分包括初始化子程序,数据采集子程序、数据处理子程序和路径识别子 程序,通过外界信息的采集和处理,来完成路径识别的功能。 初始化子程序主要完成A/D转换操作相关寄存器的初始化操作,包括设置 ATD模块转换精度为10位、转换频率为1136kHz、以及结果寄存器存储方式为右 存储等。 数据采集子程序的主要作用为启动A/D转换,并在A/D转换完成后正确读取 相应结果寄存器的内容。为了减少A/D转换结果误差对系统判断造成的不利影 响,在该子
37、程序中还添加了针对A/D转换结果的软件滤波功能,具体实现为:连 续采集2次信号并将信号A/D转换结果取平均值来作为本轮信号检测结果。 图3.5表示初始化和数据采集子程序的执行流程。 18 第三章 软件部分 图 3.5 数据信号采集程序流程图 数据处理子程序将基于极限条件下 (将光电传感器置于全黑和全白两种环境 下)得到的A/D转换最大值MaxSensordatai(i=0,1,9)与最小值 MinSensordatai,在将以该最大值和最小值为端点的区间化分为100个子区间 后,计算出由数据采集子程序得到的检测结果Sensordatai在区间中所处的子区 间Sensori,很显然该子区间值即对
38、应0100的某一值,因此通过此种离散化方 法所得到的结果并可作为后续计算和控制算法的输入数据。 路径识别子程序是根据前面的数据离散化结果通过排序算法得到10个传感 器检测结果的最大值Sensormaxsub与次大值以及其所对应的传感器序号 maxsub(从右至左09) ,再将10个传感器检测得到的离散值相加并利用该值来 判断此时赛车是否处于全黑isBlack1或全白isWhite1的情况。若否再将前面 求得的最大检测值所对应的传感器序号maxsub与次大值对应的传感器序号代入 算式得到此时传感器阵列相对于黑线的位置ef,即赛车相对于黑线的位置。 图3.6和图3.7分别表示的是数据处理子程序对检
39、测信号的离散化流程以及路 径识别子程序计算赛车所处位置的流程。 19 第一节全国大学生智能汽车邀请赛技术报告 Sensordatai= MaxSensordatai ? Sensori=计算 出的区间号 i=9 ? Sensori=0Sensori=100 i+=1 i=0 Sensor09 Y N Y N Y N 信号输入 Sensordata09 图 3.6 检测信号的离散化流程 20 第三章 软件部分 图 3.7 车相对跑道所处位置计算流程 3.1.2.5 测速模块 测速模块实现赛车的速度检测,通过中断实现,包括测速初始化子程序、 IC(Input Capture)中断子程序,主定时器溢
40、出子程序三部分。 测速初始化子程序将增强定时器模块的TC7口设置为输入捕捉功能,同时对 定时器的时钟信号预分频128,并且开启IC中断和定时器中断。 IC中断处理子程序用于读取相关寄存器的值,并计算得到速度值。随后将 timeCount置0。通过将timeCount和tooSlow标志为作关联判断,从而为控制决策 提供关于速度的信息。 主定时器溢出中断处理子程序: 该子程序的主要功能为当计数器发生溢出中 断时将变量timeCount的值加1,当timeCount变量的值到达某一值时并置位 tooSlow。图3.8给出了速度模块工作流程图。 21 第一节全国大学生智能汽车邀请赛技术报告 图 3.
41、8 输入捕捉测速模块工作流程图 3.1.2.6 控制算法模块 本部分的主要功能是根据处理过的不同信息作出决策, 控制舵机转向角度和 行驶速度,使其按规定要求行驶;本控制算法主要由两部分组成: 一是防积分饱和的实际微分PID控制器,用来控制汽车转向角度。该控制器 在实际应用中已能满足控制要求,并且响应较快,精度较高。 二是模糊控制器,用来控制赛车行驶速度。这里通过使用MC9S12DG128B 芯片自带的8位模糊推理语句实现模糊推理,所以算法效率较高;但由于其按查 表方式推理,隶属函数和推理规则均按数组变量形式存储,因此RAM资源占用 较多;考虑到隶属函数和推理规则在确定后如能满足要求便不作改变,
42、故将其 存储在ROM内,这样既节省系统宝贵的RAM资源,又提高了系统稳定性。 PID控制器和模糊控制器控制转角和电机转速的过程为首先根据变量isBlack 和isWhite的值判断此时是否处于全黑或全白的情况。如果isBlack1,则将结合 BlackCount变量的值观察接下来的500次检测是否依然为全黑。倘若处于正常范 22 第三章 软件部分 围内,即传感器阵相对于黑线的位置ef在一定范围之内,则将其输入控制器并得 到舵机转角Angle和速度值Speed, 以此不断循环从而控制赛车的转角和运行速度 使得赛车能够正常沿赛道运行。 图3.9所示为控制器控制舵机转角和速度的程序流程图: 图 3.
43、9 控制器控制舵机转角和速度程序流程图 3.2 控制算法 控制算法是一个控制系统的核心, 其设计的好坏直接关系到系统能否以一种 较好的状态稳定运行。赛车的控制算法既要有良好的鲁棒性,又要有很好的实 时性。本着简洁,高效地原则,本系统采用了图 3.10 所示的控制系统。 23 第一节全国大学生智能汽车邀请赛技术报告 模 糊 控 制 器 控 制 对 象 PID 控 制 器 s 1/s 传 感 器 阵 速 度 控 制 器 舵 机 预 期 位 置 输 出 位 置 o x x 实 际 位 置 e e If E=NB and EC=NM then V=S; 则对应于每一条规则的隶属度计算公式为: ( )(
44、 )( ) EEC Zxy= (公式1) 由此,可以求得V在不同的偏差和偏差变化率下的所有模糊语言值的隶属 度,事实上,对于一个特定的输入量,它最多只能模糊化为二个模糊量,即它 对应只有两个模糊量的隶属度不为0,其余都为0。这样根据和 EEC的值,可以 求得V的值为: 4 () 1 4 () 1 mZZ V jVV j j V mZ V jV j = = = (公式2) 其中, ()(1,2,3,4) VjV Zj= 是当前输入值E和EC对应的隶属度 ( ),( ) EEC xy 求得的V隶属度。 Vj Z 为V所取的各模糊语言值的论域中心元素值。 27 第一节全国大学生智能汽车邀请赛技术报告
45、 最终的输出控制量。 vVKv= 3.2.2.2 PID 控制算法 PID是一种线性控制器,采用输出量和参考输入的误差及其微分,积分的线 性组合来产生控制信号。PID控制具有控制结构简单,参数个数少且容易整定, 不必求出被控对象的精确模型就可整定参数的特点,在控制系统中应用极为广 泛。 连续PID控制规律描述如下: 0 ( ) ( )( )( ) t pid de t u tK e tKe t dtK dt =+ (公式 3) 考虑到PID控制器的被控对象舵机具有积分环节的性质,为了避免引起系统 振荡,在PID控制器的设计中,积分作用较弱,同时还要注意防积分饱和问题。 因此对于舵机的控制采用经典的离散防积分饱和实际微分PID控制: 012 ( )( )(1) ( )(1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车租赁协议范本2025年
- 科技咨询服务合同(2025版)
- 施工合同范例2025年
- 民间个人普通汽车租赁合同2025年
- 全新捐赠三方协议(2025版)
- 石子供货合同(2025版)
- 上饶卫生学校二期建设项目(2025版)
- 全新股份转让协议2025年
- 砂石料供应简单合同范本(2025版)
- 汽车质押借款合同2025年
- 自动驾驶车辆的事故责任归属法律问题研究
- 银行客户黑名单管理办法
- 安全应急培训课件
- 餐饮废水排放管理办法
- 2025年信息技术基础知识考试试题及答案
- 作风负面清单管理办法
- 小儿充血性心力衰竭护理
- 2025至2030中国西餐厅行业发展分析及发展趋势分析与未来投资战略咨询研究报告
- 2025医德医风培训
- 社保基金监督培训课件
- 国库科培训课件
评论
0/150
提交评论