学做智能车第三章_第1页
学做智能车第三章_第2页
学做智能车第三章_第3页
学做智能车第三章_第4页
学做智能车第三章_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章智能汽车的设计基础软件。在智能汽车系统的设计中,硬件是基础,没有一个好的硬件平台,软件就无法运行。对于智能汽车系统,软件的核心是控制算法。完成这些任务的编程语言是汇编语言和C语言。软件部分是整个智能车系统的灵魂,参与团队在硬件方面有很多相似之处。通常是软件部分,尤其是核心控制算法的设计,真正体现了每个参赛队的智能车的优势,并最终决定了比赛的性能。本章首先简要介绍了汇编语言和C语言在软件编程中的特点,然后重点介绍了核心控制算法的原理。第3章,智能汽车的设计基础软件,3.1编程语言介绍。汇编语言是一种用符号指令编写程序的语言,依赖于硬件平台。不同体系结构的中央处理器将有相应的汇编指令。汇编语

2、言可以直接操作中央处理器和各种外围设备内部的寄存器。对于具有严格时序要求的输入/输出操作,必须用汇编语言编写。启动和运行时,汇编语言创建系统的运行环境。C语言的特点是可以让程序员尽可能少的操作硬件,并且具有很强的功能性、结构性和可移植性。c语言具有语言简洁紧凑、使用灵活方便、运算符和数据类型丰富、直接访问物理地址、位操作、实现汇编语言的大部分功能以及在硬件上直接操作等优点。因此,C语言兼具高级语言和汇编语言的功能,对于编写硬件相关的应用程序具有明显的优势。3.1编程语言简介,在大多数情况下,C语言编程可以达到预期的目的,但是对于实时时钟系统和要求高执行效率的系统,C语言编程是不合适的,在编程这

3、些特殊情况时应该结合汇编语言。汇编语言具有与硬件直接通信和执行代码效率高的特点,可以做一些C语言做不到的事情。例如,当时钟要求很严格时,使用汇编语言就成了唯一的选择。这种混合编程方法结合了C语言和汇编语言的优点,已成为单片机开发中最流行的编程方法。关于编程语言的详细介绍,请参考相关书籍。3.2控制算法,3.2.1 PID控制算法,PID(比例积分微分)控制是比例、积分和微分控制的简称。在自动控制领域,PID控制是历史最长、生命力最强的基本控制模式。PID控制器的原理是根据系统调节量的测量值与设定值之间的偏差来计算广义被控对象的控制量。图3.1是常规PID控制系统的原理框图。3.2.1 PID控

4、制算法,图3.1常规PID控制系统原理框图,3.2.1 PID控制算法,其中虚线框部分为PID控制器,其输入为由设定值和调节量测量值组成的控制偏差信号:(3.1)其输出为偏差信号的比例、积分和微分的线性组合,即PID控制律:(3.2),其中为积分时间常数;是一个微分时间常数。3.2.1、PID控制算法,根据被控对象的不同动态特性和控制要求,公式(3.2)也可以只包含比例积分PI调节或只包含比例微分PD调节。主要讨论了PID控制的特点及其对控制过程的影响,数字PID控制策略的实现和改进,数字PID控制系统的设计和控制参数的整定。3.2.1 PID控制算法,1。比例控制器比例控制器是最简单的控制器

5、,其控制律为(3.3),其中Kp为比例系数;是控制量的初始值,即启动控制系统时的控制量。图3.2显示了比例控制器的阶跃响应从图3.2可以看出,比例控制器对时间偏差作出响应。一旦出现偏差,控制器立即产生控制动作,使受控变量向减小偏差的方向变化,控制动作的强度取决于比例系数Kp。3.2.1比例积分微分控制算法,图3.2比例控制器的阶跃响应,3.2.1比例积分微分控制算法,虽然比例控制器简单快速,但具有自平衡的被控对象存在静态误差(即系统阶跃响应的最终值是一个有限值)。虽然增加比例系数Kp可以减小静态误差,但当Kp过大时,动态性能会变差,导致被控变量振荡,甚至导致闭环系统不稳定。3.2.1 PID控

6、制算法,(2)比例积分控制器为了消除比例控制中的静态误差,比例积分PI控制器可以在比例控制的基础上增加积分控制,其控制规律为(3.4),称为积分时间。图3.3显示了PI控制器对单位阶跃输入的阶跃响应。3.2.1 PID控制算法中,PI控制器对偏差有两个部分:一个是比例分量,另一个是具有累加性的分量(即具有一定斜率变化的部分),这是积分控制部分的功能。只要偏差存在,积分就会起作用,累积偏差并影响控制量,即偏差会减小,积分会停止,直到偏差为零。因此,增加积分环节有助于消除系统的静态误差,提高系统的稳态性能。3.2.1 PID控制算法,图3.3 PI控制器的阶跃响应,3.2.1 PID控制算法,显然

7、,如果积分时间太长,积分功能会减弱,否则,积分功能会增强。增加会减慢消除静态误差的过程,但可以减少系统的超调量,提高稳定性。必须根据受控对象的特性进行选择。例如,管道压力和流量等滞后小的对象可以选择得较小,温度和成分等滞后大的对象可以选择得较大。3.2.1 PID控制算法,(3)比例积分微分控制器积分调节功能的加入可以消除静态误差,但其代价是降低系统的响应速度。为了加快控制过程,不仅要对偏差(即比例控制)作出反应,还要对偏差的变化作出反应,或根据偏差变化的趋势进行控制,以便将偏差抑制在萌芽状态。为了实现这一控制目标,可以在PI控制器中加入微分控制,即构造比例积分微分控制器(PID控制器)。PI

8、D控制器的控制律为(3.5),PID控制算法为3.2.1,称为微分时间。理想的PID控制器对偏差阶跃变化的响应如图3.4所示。它在由差动连接引起的偏差变化时具有脉冲瞬态响应。图3.4理想PID控制器的阶跃响应,3.2.1 PID控制算法,从微分部分(3.6)的控制功能可以看出,可以控制偏差的任何变化来调节系统的输出,防止偏差的变化。偏差变化越快,控制量越大,反馈校正量越大。因此,微分作用的加入将有助于减少超调,克服振荡,使系统趋于稳定。差动动作可以加快系统的动作,缩短调整时间,提高系统的动态性能。3.2.1 PID控制算法2。数字PID控制算法在连续生产过程控制系统中,通常采用图3.1所示的P

9、ID控制,其相应的传递函数表达式为(3.7)。相应的控制算法表达式为(3.8),即比例增益;是积分时间常数;是一个微分时间常数;是控制量;控制量与设定值的偏差。3.2.1 PID控制算法,为了用计算机实现PID算法,公式(3.3)必须重写为离散(采样)公式,它可以用偏和近似代替积分运算,用差分方程代替微分运算,即在公式(3.9) (3.10)中,t为3.2.1 PID控制算法,将公式(3.9)和公式(3.10)代入公式(3.8)得到相应的差分方程,即公式(3.11)为第k次采样时的控制量。如果采样周期t与被控对象的时间常数相比相对较小,那么这种近似是合理的,并且接近于连续控制的效果。模拟调节器

10、很难实现理想的微分,但公式(3.10)表示的微分运算可以通过计算机实现,所以公式(3.11)称为理想微分数字PID控制器。基本的数字PID控制器一般有以下两种形式的算法。3.2.1 PID控制算法,图3.5位置算法流程图,3.2.1 PID控制算法,(1)位置算法模拟调节器的调节动作是连续的,并且输出控制量u在任何时刻对应于执行器(如调节阀)的位置。从公式(3.11)中可以看出,数字控制器的输出控制量也与阀门位置相对应,故称之为位置公式(简称位置公式)。相应的算法流程图如图3.5所示。从图3.5可以看出,由于积分是一段时间内偏差信号的累积,用计算机实现基于位置的算法不太方便,不仅需要占用更多的

11、存储单元,而且编程也不方便,所以可以通过改进的增量算法来实现。(2)增量算法可以很容易地根据公式(3.6)得到第一个采样周期的控制量,即(3.12)从公式(3.12)中减去公式(3.11)可以得到第k个采样时间的控制量的增量,即公式(3.13)中的比例增益;是积分系数;是微分系数。3.2.1 PID控制算法,3.2.1 PID控制算法,由于公式(3.13)中阀门位置在第k次采样时的增量,故称增量公式。因此,第k次采样时的实际控制量为(3.14)。为了编程方便,公式(3.13)被改写成公式(3.15)。3.2.1、PID控制算法,由此可知,要使用和获取,只需要使用,和三个历史数据。在编程过程中,

12、这三个历史数据可以通过翻译的方法保存,可以递归使用,占用存储单元少,编程简单,计算速度快。增量算法的程序流程如图3.6所示。增量算法只是算法设计的一种改进,它的输出是相对于最后一个控制输出的增量形式,这并没有改变位置算法的本质,也就是说,它仍然反映了执行器的位置开度。如果要输出控制量的增量,必须使用具有保持位置功能的致动器。数字PID控制器的输出控制量通常由数模转换器输出,将数字信号转换成模拟信号(4 20 mA电流信号或0 5 V电压信号),然后通过放大驱动装置施加到执行器上,信号施加的时间持续到下一个控制量到来。因此,数模转换器具有零阶保持器的功能。3.2.1 PID控制算法,图3.6增量

13、算法流程图,3.2.2模糊控制算法,模糊控制是一种用语言总结操作员控制策略的控制,并利用语言变量和模糊集合论形成控制算法。模糊控制最重要的特点是不需要建立被控对象的精确数学模型,只需要将现场操作人员的经验和数据总结成完善的语言控制规则,就可以控制具有不确定性、不精确性、噪声、非线性、时变性和时延的被控对象。模糊控制系统具有鲁棒性,尤其适用于非线性、时变和时滞系统。模糊控制的基本结构如图3.7所示。3.2.2模糊控制算法,图3.7模糊控制的基本结构图,3.2.2模糊控制算法,1。模糊控制器的输入变量和输出变量(1)模糊控制器的输入变量和输出变量模糊控制器是一种模仿人类的控制。在控制被控对象的过程

14、中,通常根据设定值与被控量之间的偏差、偏差变化率和偏差变化率来进行决策。人们对偏差最敏感,其次是陈因此,模糊控制器的输入变量通常取、和、和或、和,分别构成所谓的一维、二维和三维模糊控制器。一维模糊控制器动态性能差,通常用于一阶被控对象。二维模糊控制器具有良好的控制性能和控制复杂性,目前应用广泛。此外,增量算法通常被选为模糊控制器的输出变量。3.2.2模糊控制算法,(2)描述输入和输出变量的词在模糊控制中,输入和输出变量的大小是以语言形式描述的,所以我们应该选择描述这些变量的词。我们日常语言中对各种事物和变量的描述总是习惯于被分成三个层次,例如,物体的大小分为大、中、小;运动的速度分为快、中、慢

15、;年龄分为老年、中年和青年。在实际应用中,通常用“大、中、小”三个字来描述模糊控制器的输入输出变量的状态,加上正负方向和零状态。有七个单词,即负大、负中、负小、零、正小、中、正,通常用英语前缀缩写,即nb,nm,ns,选择更多的词可以准确描述变量,提高控制精度,但会使控制规则复杂化;如果选择的词太少,变量的描述就会太粗糙,导致控制器的性能很差。3.2.2模糊控制算法,(3)变量的模糊量变量变化的实际范围称为变量的基本范围。记录偏差的基本范围是,偏差变化的基本范围是,而模糊控制器输出变量(系统控制量)的基本范围是。显然,基本宇宙中的量是精确的量,所以模糊控制器的输入和输出是精确的量,但是模糊控制

16、算法需要模糊量。因此,输入的精确量(数字量)需要转换成模糊量,这叫做“模糊化”;另一方面,通过模糊算法获得的模糊控制量需要转换成精确的控制量,这被称为“澄清”或“去模糊化”。实用的模糊化方法是将基本论域划分为N级,即把变量的模糊子集论域作为3.2.2模糊控制算法,基本论域到模糊子集论域的转换公式为(3.16)。增加论域中元素的数量可以提高控制精度,但会增加计算复杂度,而且模糊控制效果的改善不明显。一般来说,模糊论域中的元素数量是模糊语言词集总数的两倍以上,以保证每个模糊集能够很好地覆盖论域,避免失控现象。例如,在选择上述七个词的情况下,可以选择E和EC的论域作为模糊控制器的输出变量,即系统控制量U的论域为3.2.2模糊控制算法。(4)

温馨提示

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

评论

0/150

提交评论