智能汽车设计基础—软.ppt_第1页
智能汽车设计基础—软.ppt_第2页
智能汽车设计基础—软.ppt_第3页
智能汽车设计基础—软.ppt_第4页
智能汽车设计基础—软.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

第3章智能汽车设计基础 软件 第3章智能汽车设计基础 软件 在智能车系统的设计中 硬件是基础 没有一个好的硬件平台 软件就无法运行 对于智能车系统来说 软件的核心是控制算法 而完成这些任务的编程语言有汇编语言和C语言 软件部分是整个智能车系统的灵魂 在硬件方面各参赛队之间大同小异 真正体现各参赛队智能车的优势和最后决定比赛成绩好坏的往往是软件部分 尤其是核心控制算法的设计 本章首先简要介绍软件编程中使用的汇编语言和C语言各自的特点 然后重点介绍核心控制算法的原理 第3章智能汽车设计基础 软件 3 1编程语言简介 汇编语言是用符号指令书写程序的语言 是依赖于硬件平台的语言 对于不同架构的CPU都会有相应的汇编指令 汇编语言可以直接操作CPU内部的寄存器以及各种外围设备 对于单片机启动开始运行或者对于时序要求严格的I O操作必须采用汇编语言编写 在启动开始运行时汇编语言创建系统的运行环境 C语言的特点就是可以使程序员尽量少地对硬件进行操作 具有很强的功能性 结构性和可移植性 由于C语言具有语言简洁 紧凑 使用灵活 方便 运算符和数据类型丰富 可以直接访问物理地址 进行位操作 能实现汇编语言的大部分功能 可以直接对硬件进行操作 因此C语言既具有高级语言的功能 又具有汇编语言的功能 对于编写与硬件相关的应用程序而言具有明显的优势 3 1编程语言简介 在绝大多数场合 采用C语言编程即可完成预期的目的 但是对实时时钟系统 要求执行效率高的系统就不适合采用C语言编程 对这些特殊情况进行编程时要结合汇编语言 汇编语言具有直接和硬件打道 执行代码的效率高等特点 可以做到C语言所不能做到的一些事情 例如对时钟要求很严格时 使用汇编语言便成了唯一的选择 这种混合编程的方法将C语言和汇编语言的优点结合起来 已经成为目前单片机开发最流行的编程方法 关于编程语言的详细介绍可参阅相关书籍 3 2控制算法 3 2 1PID控制算法 PID ProportionalIntegralDifferential 控制是比例 积分 微分控制的简称 在自动控制领域中 PID控制是历史最久 生命力最强的基本控制方式 PID控制器的原理是根据系统的被调量实测值与设定值之间的偏差 利用偏差的比例 积分 微分三个环节的不同组合计算出对广义被控对象的控制量 图3 1是常规PID控制系统的原理框图 3 2 1PID控制算法 图3 1常规PID控制系统原理框图 3 2 1PID控制算法 其中虚线框内的部分是PID控制器 其输入为设定值与被调量实测值构成的控制偏差信号 3 1 其输出为该偏差信号的比例 积分 微分的线性组合 也即PID控制律 3 2 式中 为比例系数 为积分时间常数 为微分时间常数 3 2 1PID控制算法 根据被控对象动态特性和控制要求的不同 式 3 2 中还可以只包含比例和积分的PI调节或者只包含比例微分的PD调节 下面主要讨论PID控制的特点及其对控制过程的影响 数字PID控制策略的实现和改进 以及数字PID控制系统的设计和控制参数的整定等问题 3 2 1PID控制算法 1 PID控制规律的特点 1 比例控制器比例控制器是最简单的控制器 其控制规律为 3 3 式中 Kp为比例系数 为控制量的初值 也就是在启动控制系统时的控制量 图3 2所示是比例控制器对单位阶跃输入的阶跃响应 由图3 2可以看到 比例控制器对于偏差是及时反应的 偏差一旦产生 控制器立即产生控制作用使被控量朝着减小偏差的方向变化 控制作用的强弱取决于比例系数Kp 3 2 1PID控制算法 图3 2比例控制器的阶跃响应 3 2 1PID控制算法 比例控制器虽然简单快速 但对于具有自平衡性 即系统阶跃响应终值为一有限值 的被控对象存在静差 加大比例系数Kp虽然可以减小静差 但当Kp过大时 动态性能会变差 会引起被控量振荡 甚至导致闭环系统不稳定 3 2 1PID控制算法 2 比例积分控制器为了消除在比例控制中存在的静差 可在比例控制的基础上加上积分控制作用 构成比例积分PI控制器 其控制规律为 3 4 式中 称为积分时间 图3 3所示为PI控制器对单位阶跃输入的阶跃响应 3 2 1PID控制算法 PI控制器对偏差的作用有两个部分 一个是按比例部分的成分 另一个是带有累积的成分 即呈一定斜率变化的部分 这就是积分控制部分的作用 只要偏差存在 积分将起作用 将偏差累计 并对控制量产生影响 即偏差减小 直至偏差为零 积分作用才会停止 因此 加入积分环节将有助于消除系统的静差 改善系统的稳态性能 3 2 1PID控制算法 图3 3PI控制器的阶跃响应 3 2 1PID控制算法 显然 如果积分时间太大 则积分作用减弱 反之则积分作用较强 增大 将使消除静差的过程变得缓慢 但可以减小系统的超调量 提高稳定性 必须根据被控对象的特性来选定 如对于管道压力 流量等滞后不大的对象 可以选得小些 对温度 成分等滞后比较大的对象 可以选得大些 3 2 1PID控制算法 3 比例积分微分控制器积分调节作用的加入 虽然可以消除静差 但其代价是降低系统的响应速度 为了加快控制过程 有必要在偏差出现或变化的瞬间 不但要对偏差量做出反应 即比例控制作用 而且要对偏差量的变化做出反应 或者说按偏差变化的趋势进行控制 使偏差在萌芽状态被抑制 为了达到这一控制目的 可以在PI控制器的基础上加入微分控制作用 即构造比例积分微分控制器 PID控制器 PID控制器的控制规律为 3 5 3 2 1PID控制算法 式中 称为微分时间 理想的PID控制器对偏差阶跃变化的响应如图3 4所示 它在偏差变化的瞬间处有一个冲激式的瞬态响应 这就是由微分环节引起的 图3 4理想PID控制器的阶跃响应 3 2 1PID控制算法 由微分部分的控制作用 3 6 可见 它对偏差的任何变化都会产生控制作用 以调整系统的输出 阻止偏差的变化 偏差变化越快 控制量就越大 反馈校正量就越大 故微分作用的加入将有助于减少超调量 克服振荡 使系统趋于稳定 微分作用可以加快系统的动作速度 减小调整时间 改善系统的动态性能 3 2 1PID控制算法 2 数字PID控制算法在连续生产过程控制系统中 通常采用如图3 1所示的PID控制 其对应的传递函数表达式为 3 7 对应的控制算法表达式为 3 8 式中 为比例增益 为积分时间常数 为微分时间常数 为控制量 为被控量与设定值的偏差 3 2 1PID控制算法 为了便于计算机实现PID算法 必须将式 3 3 改写为离散 采样 式 这可以将积分运算用部分和近似代替 微分运算用差分方程表示 即 3 9 3 10 式中 T为采样周期 k为采样周期的序号 和分别为第和第k个采样周期的偏差 3 2 1PID控制算法 将式 3 9 和式 3 10 代入式 3 8 可得相应的差分方程 即 3 11 式中 为第k个采样时刻的控制量 如果采样周期T与被控对象时间常数比较相对较小 那么这种近似是合理的 并与连续控制的效果接近 模拟调节器很难实现理想的微分 而利用计算机可以实现式 3 10 所表示的差分运算 故将式 3 11 称为理想微分数字PID控制器 基本的数字PID控制器一般具有以下两种形式的算法 3 2 1PID控制算法 图3 5位置型算法流程图 3 2 1PID控制算法 1 位置型算法模拟调节器的调节动作是连续的 任何瞬间的输出控制量u都对应于执行机构 如调节阀 的位置 由式 3 11 可知 数字控制器的输出控制量也和阀门位置相对应 故称为位置型算式 简称位置式 相应的算法流程图如图3 5所示 由图3 5可以看出 因为积分作用是对一段时间内偏差信号的累加 因此 利用计算机实现位置型算法不是很方便 不仅需要占用较多的存储单元 而且编程也不方便 因此可以采用其改进式 增量型算法来实现 2 增量型算法根据式 3 6 不难得到第个采样周期的控制量 即 3 12 将式 3 11 与式 3 12 相减 可以得到第k个采样时刻控制量的增量 即 3 13 式中 为比例增益 为积分系数 为微分系数 3 2 1PID控制算法 3 2 1PID控制算法 由于式 3 13 中对应于第k个采样时刻阀门位置的增量 故称式 3 13 为增量型算式 由此 第k个采样时刻实际控制量为 3 14 为了编写程序方便 将式 3 13 改写为 3 15 式中 3 2 1PID控制算法 由此可见 要利用和得到 只需要用到 和三个历史数据 在编程过程中 这三个历史数据可以采用平移法保存 从而可以递推使用 占用的存储单元少 编程简单 运算速度快 增量型算法的程序流程图如图3 6所示 增量型算法仅仅是在算法设计上的改进 其输出是相对于上次控制输出量的增量形式 并没有改变位置型算法的本质 即它仍然反映执行机构的位置开度 如果希望输出控制量的增量 则必须采用具有保持位置功能的执行机构 数字PID控制器的输出控制量通常都是通过D A转换器输出的 在D A转换器中将数字信号转换成模拟信号 4 20mA的电流信号或0 5V的电压信号 然后通过放大驱动装置作用于执行机构 信号作用的时间连续到下一个控制量到来之前 因此 D A转换器具有零阶保持器的功能 3 2 1PID控制算法 图3 6增量型算法流程图 3 2 2模糊控制算法 模糊 Fuzzy 控制是用语言归纳操作人员的控制策略 运用语言变量和模糊集合理论形成控制算法的一种控制 模糊控制的最重要特征是不需要建立被控对象精确的数学模型 只要求把现场操作人员的经验和数据总结成较完善的语言控制规则 从而能够对具有不确定性 不精确性 噪声以及非线性 时变性 时滞等特征的控制对象进行控制 模糊控制系统的鲁棒性强 尤其适用于非线性 时变 滞后系统的控制 模糊控制的基本结构如图3 7所示 3 2 2模糊控制算法 图3 7模糊控制基本结构图 3 2 2模糊控制算法 1 模糊控制器的输入变量与输出变量 1 模糊控制器的输入 输出变量模糊控制器是模仿人的一种控制 在对被控对象进行控制的过程中 一般根据设定值与被控量的偏差 偏差变化EC和偏差变化的速率ER进行决策 人对偏差最敏感 其次是偏差的变化 再次是偏差变化的速率 因此 模糊控制器的输入变量通常取 和EC或者 EC和ER 分别构成所谓一维 二维和三维模糊控制器 一维模糊控制器的动态性能不佳 通常用于一阶被控对象 二维模糊控制器的控制性能和控制复杂性都比较好 是目前广泛采用的一种形式 并且 一般选择增量算法作为模糊控制器的输出变量 3 2 2模糊控制算法 2 描述输入 输出变量的词汇在模糊控制中 输入 输出变量大小是以语言形式描述的 因此要选择描述这些变量的词汇 我们的日常语言中对各种事物和变量的描述 总是习惯于分为三个等级 例如 物体的大小分为大 中 小 运动的速度分为快 中 慢 年龄的大小分为老 中 青 实际应用中一般都选用 大 中 小 三个词汇来描述模糊控制器的输入 输出变量的状态 再加上正 负两个方向和零状态 共有7个词汇 即 负大 负中 负小 零 正小 正中 正大 一般用这些词的英文字头缩写 即 NB NM NS O PS PM PB 一般情况下 选择上述7个词汇比较合适 但也可以多选或少选 选择较多的词汇 可以精确描述变量 提高控制精度 但会使控制规则变得复杂 选择的词汇过少 则对变量的描述过于粗糙 导致控制器的性能变差 3 2 2模糊控制算法 3 变量的模糊量某个变量变化的实际范围称为该变量的基本论域 记偏差的基本论域为 偏差变化的基本论域为 模糊控制器的输出变量 系统的控制量 的基本论域为 显然 基本论域内的量是精确量 因而模糊控制器的输入和输出都是精确量 但是模糊控制算法需要模糊量 因此 输入的精确量 数字量 需要转换为模糊量 这个过程称为 模糊化 Fuzzification 另一方面 模糊算法所得到的模糊控制量需要转换为精确的控制量 这个过程称为 清晰化 或者 反模糊化 Defuzzification 比较实用的模糊化方法是将基本论域分为n个档次 即取变量的模糊子集论域为 3 2 2模糊控制算法 从基本论域到模糊子集论域的转换公式为 3 16 增加论域中的元素个数可以提高控制精度 但增大了计算量 而且模糊控制效果的改善并不明显 一般选择模糊论域中所含元素的个数为模糊语言词集总数的两倍以上 以确保各模糊集能较好地覆盖论域 避免出现失控现象 例如在选择上述7个词汇的情况下 可选择E和EC的论域均为选择模糊控制器的输出变量即系统的控制量U的论域为 3 2 2模糊控制算法 4 隶属度为了实现模糊化 要在上述离散化了的精确量与表示模糊语言的模糊量之间建立关系 即确定论域中的每个元素对各个模糊语言变量的隶属度 隶属度是描述某个确定量隶属于某个模糊语言变量的程度 例如 在上述和EC的论域中 6隶属于 正大 隶属度为1 0 5也隶属于 但隶属度要比 6差 可取为0 8 4隶属于的程度更小 隶属度可取为0 4 显然 6 0就不隶属于了 所以隶属度取为0 确定隶属度的值要根据实际问题的具体情况而定 实验研究结果表明 人进行控制活动时的模糊概念一般可以用正态型模糊变量描述 下面给出常用的确定模糊变量隶属度的赋值表 如表3 1 表3 2和表3 3所示 3 2 2模糊控制算法 2 建立模糊控制规则模糊控制是语言控制 因此要用语言归纳专家的手动控制策略 从而建立模糊控制规则表 手动控制策略一般都可以用条件语句加以描述 条件语句的基本类型为ifAorBandCorDthenU 3 2 2模糊控制算法 3 2 2模糊控制算法 3 2 2模糊控制算法 3 2 2模糊控制算法 下面介绍一种根据系统输出的误差及误差的变化趋势 消除误差的模糊控制规则 该规则用下述21条模糊条件语句来描述 1 ifE NBorNMandEC NBorNMthenU PB 2 ifE NBorNMandEC NSorOthenU PB 3 ifE NBorNMandEC PSthenU PM 4 ifE NBorNMandEC PMorPBthenU O 5 ifE NSandEC NBorNMthenU PM 6 ifE NSandEC NSorOthenU PM 7 ifE NSandEC PSthenU O 8 ifE NSandEC PMorPBthenU NS 9 ifE NOorPOandEC NBorNMthenU PM 10 ifE NOorPOandEC NSthenU PS 11 ifE NOorPOandEC OthenU O 3 2 2模糊控制算法 12 ifE NOorPOandEC PSthenU NS 13 ifE NOorPOandEC PMorPBthenU NM 14 ifE PSandEC NBorNMthenU PS 15 ifE PSandEC NSthenU O 16 ifE PSandEC OorPSthenU NM 17 ifE PSandEC PMorPBthenU NM 18 ifE PMorPBandEC NBorNMthenU O 19 ifE PMorPBandEC NSthenU NM 20 ifE PMorPBandEC OorPSthenU NB 21 ifE PMorPBandEC PMorPBthenU NB以上21条模糊条件语句可以归纳为模糊控制规则表3 4 3 2 2模糊控制算法 3 2 2模糊控制算法 3 模糊关系与模糊推理模糊控制规则实际上是一组多重条件语句 可以表示为从偏差论域到控制论域的模糊关系矩阵 通过偏差的模糊向量和偏差变化的模糊向量 与模糊关系矩阵的合成进行模糊推理 得到控制量的模糊向量 然后采用 反模糊化 方法将模糊控制向量转换为精确量 根据模糊集合和模糊关系理论 对于不同类型的模糊规则可用不同的模糊推理方法 下面仅介绍其中的对ifAthenB类型的模糊规则的推理 若已知输入为 则输出为 若现在已知输入为 则输出用合成规则求取 3 17 其中模糊关系定义为 3 2 2模糊控制算法 例如 已知当输入的模糊集合和输出的模糊集合分别为 3 18 3 19 这里采用模糊集合的Zadeh表示法 其中 表示模糊集合所对应的论域中的元素 而表示相应的隶属度 不表示分数的意思 3 2 2模糊控制算法 3 20 3 2 2模糊控制算法 则当输入 3 21 由下式求取 即 3 2 2模糊控制算法 则 3 22 在上述运算中 为取小运算 为取大运算 由于系统的控制规则库是由若干条规则组成的 因此对于每一条推理规则都可以得到一个相应的模糊关系 n条规则就有n个模糊关系 对于整个系统的全部控制规则所对应的模糊关系可对n个模糊关系 取 并 操作得到 即 3 23 3 2 2模糊控制算法 4 模糊控制向量的模糊判决由上述得到的控制量是一个模糊集合 需要采用 反模糊化 方法将模糊控制项转换为精确量 下面介绍两种简单实用的方法 1 最大隶属度法这种方法是在模糊控制向量中 取隶属度最大的控制量作为模糊控制器的输出 例如 当得到模糊控制向量为 3 24 由于控制量隶属于等级5的隶属度为最大 所以取控制量为这种方法的优点是简单易行 缺点是完全排除了其他隶属度较小的控制量的影响和作用 没有充分利用取得的信息 3 2 2模糊控制算法 2 加权平均判决法为了克服最大隶属度法的缺点 可以采用加权平均判决法 即 3 25 例如则 3 2 2模糊控制算法 5 模糊控制表模糊关系 模糊推理以及模糊判决的运算可以离线进行 最后得到模糊控制器输入量的量化等级 EC与输出量即系统控制量的量化等级之间的确定关系 这种关系通常称为 控制表 对应于前面介绍的21条控制规则的 控制表 如表3 5所列 模糊控制表可以离线求出 作为文件存储在计算机中 计算机实时控制时只要将A D转换得到的偏差和偏差变化ec进行量化 得到相应的等级E和EC 然后从文件中直接查询所需采取的控制策略 3 2 2模糊控制算法 3 2 2模糊控制算法 6 确定实际的控制量显然 实际的控制量应为从控制表中查到的量化等级乘以比例因子 设实际的控制量的变化范围为 a b 量化等级为 则实际的控制量应为若 则例如在上述二维模糊控制器中 当E和EC的量化等级分别为 3和 1时 由控制表查得 则模糊控制器输出的实际控制量应为 3 2 3其它智能控制算法 在智能车这样并不是很复杂的控制系统中 有一点需要铭记 简单的算法只要参数调整得好 效果会相当不错 相反 复杂的算法 其设计和参数整定则相对复杂 效果不一定比简单算法好 在智能车控制系统中 控制算法最普遍的就是上面讲到的PID和模糊控制算法 当然也有些参赛队用到其他的智能控制算法 如记忆算法 3 2 3其它智能控制算法 全国大学

温馨提示

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

评论

0/150

提交评论