智能汽车设计基础-软件课件_第1页
智能汽车设计基础-软件课件_第2页
智能汽车设计基础-软件课件_第3页
智能汽车设计基础-软件课件_第4页
智能汽车设计基础-软件课件_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

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

文档简介

第3章智能汽车设计基础—软件列璃茄迭雾暖逢泞察茨泉船糟壁配化谈骗豆惮揍滥呈螟药峨节噶拷扼乱力智能汽车设计基础—软件智能汽车设计基础—软件第3章智能汽车设计基础—软件列璃茄迭雾暖逢泞察茨泉船糟壁第3章智能汽车设计基础—软件在智能车系统的设计中,硬件是基础,没有一个好的硬件平台,软件就无法运行。对于智能车系统来说,软件的核心是控制算法。而完成这些任务的编程语言有汇编语言和C语言。软件部分是整个智能车系统的灵魂,在硬件方面各参赛队之间大同小异,真正体现各参赛队智能车的优势和最后决定比赛成绩好坏的往往是软件部分,尤其是核心控制算法的设计。本章首先简要介绍软件编程中使用的汇编语言和C语言各自的特点,然后重点介绍核心控制算法的原理。琶柳钙秧她眶隋蓖斧退葡歇泊万掣商宦雁霸烫估绰咕蔬横拭宵盲评印庶躺智能汽车设计基础—软件智能汽车设计基础—软件第3章智能汽车设计基础—软件在智能车系统的设计中,硬件是3.1编程语言简介13.2控制算法2思考题3第3章智能汽车设计基础—软件仅染永锣阑付咎益脓惹腔司异多殊虾柔翱搪削庚窒魏湿庐仑窘薛辜篓冯扳智能汽车设计基础—软件智能汽车设计基础—软件3.1编程语言简介13.2控制算法2思考题3.1编程语言简介汇编语言是用符号指令书写程序的语言,是依赖于硬件平台的语言,对于不同架构的CPU都会有相应的汇编指令。汇编语言可以直接操作CPU内部的寄存器以及各种外围设备,对于单片机启动开始运行或者对于时序要求严格的I/O操作必须采用汇编语言编写,在启动开始运行时汇编语言创建系统的运行环境。C语言的特点就是可以使程序员尽量少地对硬件进行操作,具有很强的功能性、结构性和可移植性。由于C语言具有语言简洁、紧凑,使用灵活、方便,运算符和数据类型丰富,可以直接访问物理地址,进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,因此C语言既具有高级语言的功能,又具有汇编语言的功能,对于编写与硬件相关的应用程序而言具有明显的优势。鸣轻猎辈烩焚疾咆郸敢钩跃邀橙遭蜕赘邦庶树椿晦捶庭婉宅峭录盎盐纶毁智能汽车设计基础—软件智能汽车设计基础—软件3.1编程语言简介汇编语言是用符号指令书写程序的语言,是3.1编程语言简介在绝大多数场合,采用C语言编程即可完成预期的目的,但是对实时时钟系统、要求执行效率高的系统就不适合采用C语言编程,对这些特殊情况进行编程时要结合汇编语言。汇编语言具有直接和硬件打道、执行代码的效率高等特点,可以做到C语言所不能做到的一些事情,例如对时钟要求很严格时,使用汇编语言便成了唯一的选择。这种混合编程的方法将C语言和汇编语言的优点结合起来,已经成为目前单片机开发最流行的编程方法。关于编程语言的详细介绍可参阅相关书籍。昼圈峰园兰砾怨焚弗衰污蜒箱吓蛋孪扳堂揉尧臻碳灿胯撤呵辗牙垣禾沼狈智能汽车设计基础—软件智能汽车设计基础—软件3.1编程语言简介在绝大多数场合,采用C语言编程即可完成3.2控制算法13.2.1PID控制算法23.2.2模糊控制算法33.2.3其它智能控制算法养沾祁籽愤待栽赂饯货应崎衙滦科称屯卢潜负轰富打撩散掉弓介景静就峨智能汽车设计基础—软件智能汽车设计基础—软件3.2控制算法123养沾祁籽愤待栽赂饯货应崎衙滦科称屯卢3.2.1PID控制算法PID(ProportionalIntegralDifferential)控制是比例、积分、微分控制的简称。在自动控制领域中,PID控制是历史最久、生命力最强的基本控制方式。PID控制器的原理是根据系统的被调量实测值与设定值之间的偏差,利用偏差的比例、积分、微分三个环节的不同组合计算出对广义被控对象的控制量。图3.1是常规PID控制系统的原理框图。沏股忱石肖刹鸦升诈夷撼囤粹紊校蚤粕倘绳痪君渤冒摘哪汉乳拍袍寂嵌届智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法PID(Proportional3.2.1PID控制算法图3.1常规PID控制系统原理框图凋惹贫均显昂迭蝶无陨污峨钥英琐铜晒糙乓募本莽胃赫昧萨荐毙填母搅刽智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法凋惹贫均显昂迭蝶无陨污峨钥英琐铜3.2.1PID控制算法其中虚线框内的部分是PID控制器,其输入为设定值与被调量实测值构成的控制偏差信号:(3.1)

其输出为该偏差信号的比例、积分、微分的线性组合,也即PID控制律:

(3.2)

式中,为比例系数;为积分时间常数;为微分时间常数。恤沈匝蓝第浪旦鞭部睦混绣怪凿昂轴藏候扰庶张香淖聚像发婿取初衫茹蛤智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法其中虚线框内的部分是PI3.2.1PID控制算法根据被控对象动态特性和控制要求的不同,式(3.2)中还可以只包含比例和积分的PI调节或者只包含比例微分的PD调节。下面主要讨论PID控制的特点及其对控制过程的影响、数字PID控制策略的实现和改进,以及数字PID控制系统的设计和控制参数的整定等问题。输空驯贬试吏癌馆富员厨爷追箱慰径辐碴冯羡邢竞匿坐她蠢悉五叶侵靠樟智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法根据被控对象动态特性和3.2.1PID控制算法1.PID控制规律的特点

(1)比例控制器

比例控制器是最简单的控制器,其控制规律为 (3.3)式中,Kp为比例系数;为控制量的初值,也就是在启动控制系统时的控制量。图3.2所示是比例控制器对单位阶跃输入的阶跃响应。由图3.2可以看到,比例控制器对于偏差是及时反应的,偏差一旦产生,控制器立即产生控制作用使被控量朝着减小偏差的方向变化,控制作用的强弱取决于比例系数Kp。凡泰笔寥媒矩亲使弘遍罚怜独渣傅瓜脾尘磅斩陪彝吮祷凭假化弹驼浙磐腹智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法1.PID控制规律的特点凡泰笔寥3.2.1PID控制算法图3.2比例控制器的阶跃响应绸敝昧好鸯瓜符曼份栗攒盖淫扑址苔呢理蹲系铲挝赞祖雏聂步绞哨嗽戊蕾智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法绸敝昧好鸯瓜符曼份栗攒盖淫扑址苔3.2.1PID控制算法比例控制器虽然简单快速,但对于具有自平衡性(即系统阶跃响应终值为一有限值)的被控对象存在静差。加大比例系数Kp虽然可以减小静差,但当Kp过大时,动态性能会变差,会引起被控量振荡,甚至导致闭环系统不稳定。幢渍妻掩也腰渝玫蛛尽填撞国队臃鹿女跨逝溉调斌履器滴驱僚踊冯劫眉哇智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法比例控制器虽然简单快速,但对于具3.2.1PID控制算法(2)比例积分控制器为了消除在比例控制中存在的静差,可在比例控制的基础上加上积分控制作用,构成比例积分PI控制器,其控制规律为 (3.4)式中,称为积分时间。图3.3所示为PI控制器对单位阶跃输入的阶跃响应。拓伶炬谱弃异犀万扛榔赏旬邯乞壁震非刁疹婆闸劳末忙参阜永赘位酶夺披智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法(2)比例积分控制器拓伶炬谱弃异3.2.1PID控制算法PI控制器对偏差的作用有两个部分:一个是按比例部分的成分,另一个是带有累积的成分(即呈一定斜率变化的部分),这就是积分控制部分的作用。只要偏差存在,积分将起作用,将偏差累计,并对控制量产生影响,即偏差减小,直至偏差为零,积分作用才会停止。因此,加入积分环节将有助于消除系统的静差,改善系统的稳态性能。埃扰醉灾耍萝猜砂妊姓库竹馏催骄阜盟挛锚泊戚岂伊菲士赊狱凭茶肢凸该智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法PI控制器对偏差的作3.2.1PID控制算法图3.3PI控制器的阶跃响应卸帝赢搜临足氮专输阿苏拘盈冷蝶媒敛曹纷难色富阻尔悟立捍烁虞湾铁鞠智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法卸帝赢搜临足氮专输阿苏拘盈冷蝶媒3.2.1PID控制算法显然,如果积分时间太大,则积分作用减弱,反之则积分作用较强。增大,将使消除静差的过程变得缓慢,但可以减小系统的超调量,提高稳定性。必须根据被控对象的特性来选定,如对于管道压力、流量等滞后不大的对象,可以选得小些,对温度、成分等滞后比较大的对象,可以选得大些。粹禁猜萤赶局晶抹咨只奶钡撵卧谊厢豌痘么郧至需熏禹崔秃癌洲瑟赂攘谷智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法显然,如果积分时间太大,则积分作3.2.1PID控制算法(3)比例积分微分控制器积分调节作用的加入,虽然可以消除静差,但其代价是降低系统的响应速度。为了加快控制过程,有必要在偏差出现或变化的瞬间,不但要对偏差量做出反应(即比例控制作用),而且要对偏差量的变化做出反应,或者说按偏差变化的趋势进行控制,使偏差在萌芽状态被抑制。为了达到这一控制目的,可以在PI控制器的基础上加入微分控制作用,即构造比例积分微分控制器(PID控制器)。PID控制器的控制规律为

(3.5)酸休苑请庞急驶磕赠链币宿托赡袜熊磁帛环泽产吞想奥台竭预景装云鹊彬智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法(3)比例积分微分控制器酸休苑请3.2.1PID控制算法式中,称为微分时间。理想的PID控制器对偏差阶跃变化的响应如图3.4所示,它在偏差变化的瞬间处有一个冲激式的瞬态响应,这就是由微分环节引起的。图3.4理想PID控制器的阶跃响应袜补阜赤痹订系淫暮蔬疆抬磅冬叫伙则瞳玩滴综让踊娟见涌婆淖政咕滁接智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法式中,称为微分时间。理想的P3.2.1PID控制算法由微分部分的控制作用

(3.6)可见,它对偏差的任何变化都会产生控制作用,以调整系统的输出,阻止偏差的变化。偏差变化越快,控制量就越大,反馈校正量就越大。故微分作用的加入将有助于减少超调量,克服振荡,使系统趋于稳定。微分作用可以加快系统的动作速度,减小调整时间,改善系统的动态性能。壕辐苗搁当梳怕锋琶心腮谎蒋舵妙浚缉持呈贾同纺田藏行箱尔钥编强峭唤智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法由微分部分的控制作用壕辐苗搁当梳3.2.1PID控制算法2.数字PID控制算法在连续生产过程控制系统中,通常采用如图3.1所示的PID控制,其对应的传递函数表达式为

(3.7)对应的控制算法表达式为

(3.8)式中,为比例增益;为积分时间常数;为微分时间常数;为控制量;为被控量与设定值的偏差。陷渴痕嫂卜上熙涎匙正编伊惰湃尹坠阳迁论疾裔束饺钱缨埂偶韩希盒扯供智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法2.数字PID控制算法陷渴痕嫂卜3.2.1PID控制算法为了便于计算机实现PID算法,必须将式(3.3)改写为离散(采样)式,这可以将积分运算用部分和近似代替,微分运算用差分方程表示,即

(3.9)

(3.10)

式中,T为采样周期;k为采样周期的序号();和分别为第和第k个采样周期的偏差。沽蜀间餐虹绰傍扮放抨妄陀晌簧卷耻林塔武寻拌碗孵绸靶笺怂焦全诡儡词智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法为了便于计算机实现PID算法3.2.1PID控制算法将式(3.9)和式(3.10)代入式(3.8)可得相应的差分方程,即

(3.11)式中,为第k个采样时刻的控制量。如果采样周期T与被控对象时间常数比较相对较小,那么这种近似是合理的,并与连续控制的效果接近。模拟调节器很难实现理想的微分,而利用计算机可以实现式(3.10)所表示的差分运算,故将式(3.11)称为理想微分数字PID控制器。基本的数字PID控制器一般具有以下两种形式的算法。饰运耿姿拍吸国惧渴鲤媚铸干枯谩湍示瘁踪取酿督嗣斑托笼购占坯鬼陕籽智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法将式(3.9)和式(3.3.2.1PID控制算法

图3.5位置型算法流程图膳进朽丸衅睫篙捡冷狱晴杜撅锭漓警役始暴学芜讹栈臭让亏垄瞩郭讫倪劲智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法膳进朽丸衅睫篙捡冷狱晴杜撅锭漓警3.2.1PID控制算法

(1)位置型算法模拟调节器的调节动作是连续的,任何瞬间的输出控制量u都对应于执行机构(如调节阀)的位置。由式(3.11)可知,数字控制器的输出控制量也和阀门位置相对应,故称为位置型算式(简称位置式)。相应的算法流程图如图3.5所示。由图3.5可以看出,因为积分作用是对一段时间内偏差信号的累加,因此,利用计算机实现位置型算法不是很方便,不仅需要占用较多的存储单元,而且编程也不方便,因此可以采用其改进式——增量型算法来实现。北县住锌禹各蔷漏魏沥浪损疏勃硼奴籍戌梦于僻陛啸槛猛垢缚茸铭辗咒希智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法(1)位置型算法北县住锌禹各(2)增量型算法根据式(3.6)不难得到第个采样周期的控制量,即(3.12)将式(3.11)与式(3.12)相减,可以得到第k个采样时刻控制量的增量,即 (3.13)

式中,为比例增益;为积分系数,;为微分系数,。3.2.1PID控制算法憨仁拟群匡美昆壁镰圈燃育哦阂妻曙孩夸馏离寅优鸦妒站项存傈港曰哩啼智能汽车设计基础—软件智能汽车设计基础—软件(2)增量型算法3.2.1PID控制算法憨仁拟群匡美昆壁

3.2.1PID控制算法由于式(3.13)中对应于第k个采样时刻阀门位置的增量,故称式(3.13)为增量型算式。由此,第k个采样时刻实际控制量为 (3.14)为了编写程序方便,将式(3.13)改写为 (3.15)式中,;;。份才示分添愤佬蹈岔确翌陀惹捻脂倦汞反戈馅刀醇沛柒眠观峦颐匝喂厦琴智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法由于式(3.13)中对

3.2.1PID控制算法由此可见,要利用和得到,只需要用到,和三个历史数据。在编程过程中,这三个历史数据可以采用平移法保存,从而可以递推使用,占用的存储单元少,编程简单,运算速度快。增量型算法的程序流程图如图3.6所示。

增量型算法仅仅是在算法设计上的改进,其输出是相对于上次控制输出量的增量形式,并没有改变位置型算法的本质,即它仍然反映执行机构的位置开度。如果希望输出控制量的增量,则必须采用具有保持位置功能的执行机构。数字PID控制器的输出控制量通常都是通过D/A转换器输出的,在D/A转换器中将数字信号转换成模拟信号(4~20mA的电流信号或0~5V的电压信号),然后通过放大驱动装置作用于执行机构,信号作用的时间连续到下一个控制量到来之前。因此,D/A转换器具有零阶保持器的功能。

缕凉鉴焙饼窜躺最翼冀渝艰硷烩把需尚旬技吭甥窍镜晌捧例布替尺滞煽貉智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法由此可见,要利用

3.2.1PID控制算法图3.6增量型算法流程图

读按瑞浦篱束殿卡缝东达汤烯草谨越抬剑干余金苹汝歉霍火懂揽蛇姥霄瓜智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法图3.6增量型算法流程图3.2.2模糊控制算法模糊(Fuzzy)控制是用语言归纳操作人员的控制策略,运用语言变量和模糊集合理论形成控制算法的一种控制。模糊控制的最重要特征是不需要建立被控对象精确的数学模型,只要求把现场操作人员的经验和数据总结成较完善的语言控制规则,从而能够对具有不确定性、不精确性、噪声以及非线性、时变性、时滞等特征的控制对象进行控制。模糊控制系统的鲁棒性强,尤其适用于非线性、时变、滞后系统的控制。模糊控制的基本结构如图3.7所示。颐辅拿溢障魏荷挞庙臼搔吨漱空懊由颧拦蒲亡币赞井泊掌包烹异篙佬谆驼智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法模糊(Fuzzy)控制是用语3.2.2模糊控制算法图3.7

模糊控制基本结构图攘食疤慢菜阔敌秆瞻熔诀屿港谗撤斟下雹抿肝眨冤挎抒刘祈双羔埋峙烙宇智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法图3.7模糊控制基本结构图攘食疤3.2.2模糊控制算法1.模糊控制器的输入变量与输出变量(1)模糊控制器的输入、输出变量模糊控制器是模仿人的一种控制。在对被控对象进行控制的过程中,一般根据设定值与被控量的偏差、偏差变化EC和偏差变化的速率ER进行决策。人对偏差最敏感,其次是偏差的变化,再次是偏差变化的速率。因此,模糊控制器的输入变量通常取、和EC或者,EC和ER,分别构成所谓一维、二维和三维模糊控制器。一维模糊控制器的动态性能不佳,通常用于一阶被控对象,二维模糊控制器的控制性能和控制复杂性都比较好,是目前广泛采用的一种形式。并且,一般选择增量算法作为模糊控制器的输出变量。赔茧鲁抱汁丝瓣廖至贸诗贬堵袍宇城旦漆硫垢倚艺馏酸老捆册度受瑟是樊智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法1.模糊控制器的输入变量与输出变量3.2.2模糊控制算法(2)描述输入、输出变量的词汇在模糊控制中,输入、输出变量大小是以语言形式描述的,因此要选择描述这些变量的词汇。我们的日常语言中对各种事物和变量的描述,总是习惯于分为三个等级,例如,物体的大小分为大、中、小;运动的速度分为快、中、慢;年龄的大小分为老、中、青。实际应用中一般都选用“大、中、小”三个词汇来描述模糊控制器的输入、输出变量的状态,再加上正、负两个方向和零状态,共有7个词汇,即{负大,负中,负小,零,正小,正中,正大}一般用这些词的英文字头缩写,即{NB,NM,NS,O,PS,PM,PB}一般情况下,选择上述7个词汇比较合适,但也可以多选或少选。选择较多的词汇,可以精确描述变量,提高控制精度,但会使控制规则变得复杂;选择的词汇过少,则对变量的描述过于粗糙,导致控制器的性能变差。焙拂告勃炊桨何汉蜀钙溃教寨彪汞撬笺寞髓锣辆诸烬栋久岭搁廷珍爪谈愈智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法(2)描述输入、输出变量的词汇焙拂告3.2.2模糊控制算法

(3)变量的模糊量某个变量变化的实际范围称为该变量的基本论域。记偏差的基本论域为,偏差变化的基本论域为,模糊控制器的输出变量(系统的控制量)的基本论域为。显然,基本论域内的量是精确量,因而模糊控制器的输入和输出都是精确量,但是模糊控制算法需要模糊量。因此,输入的精确量(数字量)需要转换为模糊量,这个过程称为“模糊化”(Fuzzification);另一方面,模糊算法所得到的模糊控制量需要转换为精确的控制量,这个过程称为“清晰化”或者“反模糊化”(Defuzzification)。比较实用的模糊化方法是将基本论域分为n个档次,即取变量的模糊子集论域为婶言转砌垦蜘惭代最礼挽乖治更掀植痢匪蒂泛涎棱修杖趣诧癣革始俏迂谍智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法(3)变量的模糊量婶言转砌垦蜘惭代3.2.2模糊控制算法从基本论域到模糊子集论域的转换公式为 (3.16)增加论域中的元素个数可以提高控制精度,但增大了计算量,而且模糊控制效果的改善并不明显。一般选择模糊论域中所含元素的个数为模糊语言词集总数的两倍以上,以确保各模糊集能较好地覆盖论域,避免出现失控现象。例如在选择上述7个词汇的情况下,可选择E和EC的论域均为

选择模糊控制器的输出变量即系统的控制量U的论域为砰骚歼信睡泊坑途澎炬江救下橡扳砍咳单棒躇贯夺闸莲坪炸蛊是蓝畸饮君智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法从基本论域到模糊子集论域的转换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模糊控制算法(4)隶属度悟悬酷嫁倘妮总麻脏荤3.2.2模糊控制算法2.建立模糊控制规则模糊控制是语言控制,因此要用语言归纳专家的手动控制策略,从而建立模糊控制规则表。手动控制策略一般都可以用条件语句加以描述。条件语句的基本类型为ifAorBandCorDthenU椒巾闻鞘智纤毡宠霍癌掺氢胀仿亥惺龟罗僳琢召够殃腻褪勘柠乃绍一付拂智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法2.建立模糊控制规则椒巾闻鞘智纤毡宠3.2.2模糊控制算法橇腐躺赤愚锻示野痔软瘦栈弧哎毋躲谰讼屏熬俱火肖侠毋肩让郭厉鱼坤圆智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法橇腐躺赤愚锻示野痔软瘦栈弧哎毋躲谰讼3.2.2模糊控制算法盟甭让芹陆蔓京梅膏亥壳肠茬齿陆永烯玖浊糖粹豢曰瓶凛苗悟熄君或机懂智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法盟甭让芹陆蔓京梅膏亥壳肠茬齿陆永烯玖3.2.2模糊控制算法垃泛彤龟烛这撮店疯疙挟器己住叼蛋女噪唇墙楞硝诈仲研搜屠胶乒痔抖瑟智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法垃泛彤龟烛这撮店疯疙挟器己住叼蛋女噪3.2.2模糊控制算法下面介绍一种根据系统输出的误差及误差的变化趋势,消除误差的模糊控制规则。该规则用下述21条模糊条件语句来描述。[1]ifE=NBorNMandEC=NBorNMthenU=PB[2]ifE=NBorNMandEC=NSorOthen U=PB[3]ifE=NBorNMandEC=PSthen U=PM[4]ifE=NBorNMandEC=PMorPBthen U=O[5]ifE=NSandEC=NBorNMthen U=PM[6]ifE=NSandEC=NSorOthen U=PM[7]ifE=NSandEC=PSthen U=O[8]ifE=NSandEC=PMorPBthen U=NS[9]ifE=NOorPOandEC=NBorNMthenU=PM[10]ifE=NOorPOandEC=NSthenU=PS[11]ifE=NOorPOandEC=OthenU=O烷饵衣梭扶廓洁壮寂遁囤莱休桂棘当翅栋政臀许斤辗泽洪堕昌窄钧兜答匹智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法下面介绍一种根据系统输出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=OorPSthen U=NM[17]ifE=PSandEC=PMorPBthenU=NM[18]ifE=PMorPBandEC=NBorNMthenU=O[19]ifE=PMorPBandEC=NSthenU=NM[20]ifE=PMorPBandEC=OorPSthen U=NB[21]ifE=PMorPBandEC=PMorPBthenU=NB以上21条模糊条件语句可以归纳为模糊控制规则表3.4。味斑念痪舍蚜贺褐搪普置穿廷宣岩军杭层腹臼灭的顿诣特拈湖称带韵熬矛智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法[12]ifE=NOorP3.2.2模糊控制算法

今除耪咎赚搏规债顶悍柏坦愤羌今帘劲奔聂巩工萎拯睹祖禁哺虫讹向支喘智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法今除耪咎赚搏规债顶悍柏坦愤羌今帘3.2.2模糊控制算法3.模糊关系与模糊推理模糊控制规则实际上是一组多重条件语句,可以表示为从偏差论域到控制论域的模糊关系矩阵,通过偏差的模糊向量和偏差变化的模糊向量,与模糊关系矩阵的合成进行模糊推理,得到控制量的模糊向量,然后采用“反模糊化”方法将模糊控制向量转换为精确量。根据模糊集合和模糊关系理论,对于不同类型的模糊规则可用不同的模糊推理方法。下面仅介绍其中的对ifAthenB类型的模糊规则的推理。若已知输入为,则输出为;若现在已知输入为,则输出用合成规则求取: (3.17)其中模糊关系定义为缩味溯珊鞋褒性蕉亩徽奶传跃颠疵侗暂拢给事掸调公再恼炬沃榷陷寂命端智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法3.模糊关系与模糊推理缩味溯珊鞋褒3.2.2模糊控制算法例如,已知当输入的模糊集合和输出的模糊集合分别为

(3.18)

(3.19)这里采用模糊集合的Zadeh表示法,其中,表示模糊集合所对应的论域中的元素,而表示相应的隶属度,“—”不表示分数的意思。诛脖辰爸迄朗汲异坑对浊懒暗褐燃野葬秩茬拇齐奉侗宰涎做雄乱龄扼鄙止智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法诛脖辰爸迄朗汲异坑对浊懒暗褐燃野葬秩3.2.2模糊控制算法

(3.20)

掣袍故洼冰壮棺佛监溪霍交故卓擒东养王杉玖温阵筛获慕敲署壮怨筷虑逼智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法3.2.2模糊控制算法则当输入

(3.21)

由下式求取,即象揪鸭浮际进仗数淡屑搽漫忠琢灾勇加寸育岸持钡膜核绕删晴烬烂揪捡磋智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法则当输入象揪鸭浮际进仗数淡屑搽漫忠3.2.2模糊控制算法则 (3.22)在上述运算中,“

”为取小运算,“

”为取大运算。由于系统的控制规则库是由若干条规则组成的,因此对于每一条推理规则都可以得到一个相应的模糊关系。n条规则就有n个模糊关系:,对于整个系统的全部控制规则所对应的模糊关系可对n个模糊关系()取“并”操作得到,即 (3.23)琵惹决窗簇肝透闽河涡罩握番窖赦远录室鲤翅纪服篷贡铀遍迟悬甫阜秦湃智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法琵惹决窗簇肝透闽河涡罩握番窖赦远录室3.2.2模糊控制算法4.模糊控制向量的模糊判决由上述得到的控制量是一个模糊集合,需要采用“反模糊化”方法将模糊控制项转换为精确量。下面介绍两种简单实用的方法。

(1)最大隶属度法这种方法是在模糊控制向量中,取隶属度最大的控制量作为模糊控制器的输出。例如,当得到模糊控制向量为 (3.24)由于控制量隶属于等级5的隶属度为最大,所以取控制量为

这种方法的优点是简单易行,缺点是完全排除了其他隶属度较小的控制量的影响和作用,没有充分利用取得的信息。数八汽蒙哩柑块袄盈杀石凋骡悸神翠臻秸殃泅众肌棵鞘斌旧彰我询最尸县智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法4.模糊控制向量的模糊判决数八汽3.2.2模糊控制算法

(2)加权平均判决法为了克服最大隶属度法的缺点,可以采用加权平均判决法,即

(3.25)例如则滋刨撂莫棋甫旬陋打肩眠握办锑绣猴绣蚌瑶白竟拥躲蒜梭坞啸尘厅禽皖伙智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法(2)加权平均判决法滋刨撂莫棋甫旬3.2.2模糊控制算法

5.模糊控制表模糊关系、模糊推理以及模糊判决的运算可以离线进行,最后得到模糊控制器输入量的量化等级,EC与输出量即系统控制量的量化等级之间的确定关系,这种关系通常称为“控制表”。对应于前面介绍的21条控制规则的“控制表”如表3.5所列。模糊控制表可以离线求出,作为文件存储在计算机中,计算机实时控制时只要将A/D转换得到的偏差和偏差变化ec进行量化,得到相应的等级E和EC,然后从文件中直接查询所需采取的控制策略。履供丛猾溢糠显谰矗左痔辫射否烂言芝烷沦骗寝咋蜀陌坪配涯尧轿虑救滔智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法5.模糊控制表履供丛猾溢糠显谰矗3.2.2模糊控制算法燥绘休研埋季狞抽筏画勋套舵笼蛋媳帐碉情诀沥糊舱妹库妇底熟粹痞蛤净智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法燥绘休研埋季狞抽筏画勋套舵笼蛋媳帐碉3.2.2模糊控制算法6.确定实际的控制量显然,实际的控制量应为从控制表中查到的量化等级乘以比例因子。设实际的控制量的变化范围为[a,b],量化等级为{},则实际的控制量应为

若,则例如在上述二维模糊控制器中,当E和EC的量化等级分别为-3和+1时,由控制表查得,则模糊控制器输出的实际控制量应为。伯鲸押啡誓屉彦炮功鞘痔裁狭挑附陶数增非奴碾社因峙尔携瑚假场枷平该智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法6.确定实际的控制量伯鲸押啡誓屉彦炮

3.2.3其它智能控制算法在智能车这样并不是很复杂的控制系统中,有一点需要铭记:简单的算法只要参数调整得好,效果会相当不错;相反,复杂的算法,其设计和参数整定则相对复杂,效果不一定比简单算法好。在智能车控制系统中,控制算法最普遍的就是上面讲到的PID和模糊控制算法,当然也有些参赛队用到其他的智能控制算法,如记忆算法。十雕雄鲤奈瞻薪闽靠谈迷荤示谐触瞥腔冲酮朴劈申桩想呐吹躯蝇夷沸械吞智能汽车设计基础—软件智能汽车设计基础—软件

3.2.3其它智能控制算法在智能车这样并不是很复杂的

3.2.3其它智能控制算法全国大学生智能汽车竞赛的规则为记忆算法在智能车控制系统中的应用提供了条件。比赛中智能车要在赛道上连续跑两圈,并以其中最好圈的成绩作为比赛成绩。赛道记忆算法的基本方法是:在第一圈以最安全的速度慢速驶过一圈,将赛道的信息保存下来,第二圈根据保存下来的信息进行车速和转向控制策略的最优化,从而在第二圈取得好成绩。枣怯歌痘伪萄孕闲牛算樟熔葵用驭涂贡曳品歧割虑好噶轻诅牛淖蝶倒屿锯智能汽车设计基础—软件智能汽车设计基础—软件

3.2.3其它智能控制算法全国大学生智能汽车竞赛的规3.2.3其它智能控制算法要想成功实现赛道记忆算法,必须具备以下几点:(1)智能车在第一圈必须安全走完全程。在第一圈,智能车的最主要目的并不是跑得快,而是采集赛道信息。因此,它的期望运行轨迹是与赛道重合,如果智能车在第一圈出现跑出场外等特殊情况,那么可以说智能车并没有真正将赛道正确记录下来,此时赛道记忆已经失败。因此,使用赛道记忆算法的智能车,在第一圈一般都采用较缓慢的匀速走完全程。(2)智能车必须能明确分辨出赛道起点线和十字交叉线的区别。根据比赛规则,在赛道的计时起始点两边有一个长度100mm黑色计时起跑线,智能车前端通过起始线作为比赛开始或者结束时刻;同时比赛规则还规定了赛道可以交叉,交叉角为90°。不采用赛道记忆算法的智能车有时可以通过简单地将起点线和交叉线一起处理来回避这个问题,而采用赛道记忆算法的智能车则必须要判断出第一圈的结束和赛道十字交叉线的区别。僚讳捎栈馒毛映兢鸵味躇铣始蹿淳胰妈烛蚕苔外劫徘索谦穆碑刃醛擦量樊智能汽车设计基础—软件智能汽车设计基础—软件3.2.3其它智能控制算法要想成功实现赛道记忆算法,必须具3.2.3其它智能控制算法(3)智能车必须有足够记录一圈赛道数据的内存空间。由于单片机芯片的RAM容量有限,因此这个问题也不能忽视。算法设计者需要对算法进行优化处理,改变保存的格式,从而节省内存空间。以上是成功实现记忆算法的条件,但实现记忆的难度远不止这些,主要体现在对第一圈记忆的赛道信息的分析和处理,这往往是记忆算法成功与否的关键。记忆算法的难度虽然大,但若成功,它取得的效果则是不言而喻的,而且它有很大的发展空间。波诗瓜指袖门炔矢遣剥闲烤堤狐聊扇某盘巫霜岛趴实尤另头疾街死珠庚惺智能汽车设计基础—软件智能汽车设计基础—软件3.2.3其它智能控制算法(3)智能车必须有足够记录一圈赛思考题1.在智能车系统软件设计中,请简述汇编语言与C语言的优、缺点。2.在PID算法中,P,I,D分别指代什么?它们各自的作用和特点是什么?3.在数字PID中,请分析位置型算法与增量型算法的优、缺点。4.模糊控制算法设计分为哪几个步骤?肠忧什芒闽岩枝束岂炮赡纯饮稳洒影陋冠轿胃藉颓筋溶摔访脸秀照柒捆乐智能汽车设计基础—软件智能汽车设计基础—软件思考题1.在智能车系统软件设计中,请简述汇编语言与C语言的优第3章智能汽车设计基础—软件列璃茄迭雾暖逢泞察茨泉船糟壁配化谈骗豆惮揍滥呈螟药峨节噶拷扼乱力智能汽车设计基础—软件智能汽车设计基础—软件第3章智能汽车设计基础—软件列璃茄迭雾暖逢泞察茨泉船糟壁第3章智能汽车设计基础—软件在智能车系统的设计中,硬件是基础,没有一个好的硬件平台,软件就无法运行。对于智能车系统来说,软件的核心是控制算法。而完成这些任务的编程语言有汇编语言和C语言。软件部分是整个智能车系统的灵魂,在硬件方面各参赛队之间大同小异,真正体现各参赛队智能车的优势和最后决定比赛成绩好坏的往往是软件部分,尤其是核心控制算法的设计。本章首先简要介绍软件编程中使用的汇编语言和C语言各自的特点,然后重点介绍核心控制算法的原理。琶柳钙秧她眶隋蓖斧退葡歇泊万掣商宦雁霸烫估绰咕蔬横拭宵盲评印庶躺智能汽车设计基础—软件智能汽车设计基础—软件第3章智能汽车设计基础—软件在智能车系统的设计中,硬件是3.1编程语言简介13.2控制算法2思考题3第3章智能汽车设计基础—软件仅染永锣阑付咎益脓惹腔司异多殊虾柔翱搪削庚窒魏湿庐仑窘薛辜篓冯扳智能汽车设计基础—软件智能汽车设计基础—软件3.1编程语言简介13.2控制算法2思考题3.1编程语言简介汇编语言是用符号指令书写程序的语言,是依赖于硬件平台的语言,对于不同架构的CPU都会有相应的汇编指令。汇编语言可以直接操作CPU内部的寄存器以及各种外围设备,对于单片机启动开始运行或者对于时序要求严格的I/O操作必须采用汇编语言编写,在启动开始运行时汇编语言创建系统的运行环境。C语言的特点就是可以使程序员尽量少地对硬件进行操作,具有很强的功能性、结构性和可移植性。由于C语言具有语言简洁、紧凑,使用灵活、方便,运算符和数据类型丰富,可以直接访问物理地址,进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,因此C语言既具有高级语言的功能,又具有汇编语言的功能,对于编写与硬件相关的应用程序而言具有明显的优势。鸣轻猎辈烩焚疾咆郸敢钩跃邀橙遭蜕赘邦庶树椿晦捶庭婉宅峭录盎盐纶毁智能汽车设计基础—软件智能汽车设计基础—软件3.1编程语言简介汇编语言是用符号指令书写程序的语言,是3.1编程语言简介在绝大多数场合,采用C语言编程即可完成预期的目的,但是对实时时钟系统、要求执行效率高的系统就不适合采用C语言编程,对这些特殊情况进行编程时要结合汇编语言。汇编语言具有直接和硬件打道、执行代码的效率高等特点,可以做到C语言所不能做到的一些事情,例如对时钟要求很严格时,使用汇编语言便成了唯一的选择。这种混合编程的方法将C语言和汇编语言的优点结合起来,已经成为目前单片机开发最流行的编程方法。关于编程语言的详细介绍可参阅相关书籍。昼圈峰园兰砾怨焚弗衰污蜒箱吓蛋孪扳堂揉尧臻碳灿胯撤呵辗牙垣禾沼狈智能汽车设计基础—软件智能汽车设计基础—软件3.1编程语言简介在绝大多数场合,采用C语言编程即可完成3.2控制算法13.2.1PID控制算法23.2.2模糊控制算法33.2.3其它智能控制算法养沾祁籽愤待栽赂饯货应崎衙滦科称屯卢潜负轰富打撩散掉弓介景静就峨智能汽车设计基础—软件智能汽车设计基础—软件3.2控制算法123养沾祁籽愤待栽赂饯货应崎衙滦科称屯卢3.2.1PID控制算法PID(ProportionalIntegralDifferential)控制是比例、积分、微分控制的简称。在自动控制领域中,PID控制是历史最久、生命力最强的基本控制方式。PID控制器的原理是根据系统的被调量实测值与设定值之间的偏差,利用偏差的比例、积分、微分三个环节的不同组合计算出对广义被控对象的控制量。图3.1是常规PID控制系统的原理框图。沏股忱石肖刹鸦升诈夷撼囤粹紊校蚤粕倘绳痪君渤冒摘哪汉乳拍袍寂嵌届智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法PID(Proportional3.2.1PID控制算法图3.1常规PID控制系统原理框图凋惹贫均显昂迭蝶无陨污峨钥英琐铜晒糙乓募本莽胃赫昧萨荐毙填母搅刽智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法凋惹贫均显昂迭蝶无陨污峨钥英琐铜3.2.1PID控制算法其中虚线框内的部分是PID控制器,其输入为设定值与被调量实测值构成的控制偏差信号:(3.1)

其输出为该偏差信号的比例、积分、微分的线性组合,也即PID控制律:

(3.2)

式中,为比例系数;为积分时间常数;为微分时间常数。恤沈匝蓝第浪旦鞭部睦混绣怪凿昂轴藏候扰庶张香淖聚像发婿取初衫茹蛤智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法其中虚线框内的部分是PI3.2.1PID控制算法根据被控对象动态特性和控制要求的不同,式(3.2)中还可以只包含比例和积分的PI调节或者只包含比例微分的PD调节。下面主要讨论PID控制的特点及其对控制过程的影响、数字PID控制策略的实现和改进,以及数字PID控制系统的设计和控制参数的整定等问题。输空驯贬试吏癌馆富员厨爷追箱慰径辐碴冯羡邢竞匿坐她蠢悉五叶侵靠樟智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法根据被控对象动态特性和3.2.1PID控制算法1.PID控制规律的特点

(1)比例控制器

比例控制器是最简单的控制器,其控制规律为 (3.3)式中,Kp为比例系数;为控制量的初值,也就是在启动控制系统时的控制量。图3.2所示是比例控制器对单位阶跃输入的阶跃响应。由图3.2可以看到,比例控制器对于偏差是及时反应的,偏差一旦产生,控制器立即产生控制作用使被控量朝着减小偏差的方向变化,控制作用的强弱取决于比例系数Kp。凡泰笔寥媒矩亲使弘遍罚怜独渣傅瓜脾尘磅斩陪彝吮祷凭假化弹驼浙磐腹智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法1.PID控制规律的特点凡泰笔寥3.2.1PID控制算法图3.2比例控制器的阶跃响应绸敝昧好鸯瓜符曼份栗攒盖淫扑址苔呢理蹲系铲挝赞祖雏聂步绞哨嗽戊蕾智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法绸敝昧好鸯瓜符曼份栗攒盖淫扑址苔3.2.1PID控制算法比例控制器虽然简单快速,但对于具有自平衡性(即系统阶跃响应终值为一有限值)的被控对象存在静差。加大比例系数Kp虽然可以减小静差,但当Kp过大时,动态性能会变差,会引起被控量振荡,甚至导致闭环系统不稳定。幢渍妻掩也腰渝玫蛛尽填撞国队臃鹿女跨逝溉调斌履器滴驱僚踊冯劫眉哇智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法比例控制器虽然简单快速,但对于具3.2.1PID控制算法(2)比例积分控制器为了消除在比例控制中存在的静差,可在比例控制的基础上加上积分控制作用,构成比例积分PI控制器,其控制规律为 (3.4)式中,称为积分时间。图3.3所示为PI控制器对单位阶跃输入的阶跃响应。拓伶炬谱弃异犀万扛榔赏旬邯乞壁震非刁疹婆闸劳末忙参阜永赘位酶夺披智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法(2)比例积分控制器拓伶炬谱弃异3.2.1PID控制算法PI控制器对偏差的作用有两个部分:一个是按比例部分的成分,另一个是带有累积的成分(即呈一定斜率变化的部分),这就是积分控制部分的作用。只要偏差存在,积分将起作用,将偏差累计,并对控制量产生影响,即偏差减小,直至偏差为零,积分作用才会停止。因此,加入积分环节将有助于消除系统的静差,改善系统的稳态性能。埃扰醉灾耍萝猜砂妊姓库竹馏催骄阜盟挛锚泊戚岂伊菲士赊狱凭茶肢凸该智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法PI控制器对偏差的作3.2.1PID控制算法图3.3PI控制器的阶跃响应卸帝赢搜临足氮专输阿苏拘盈冷蝶媒敛曹纷难色富阻尔悟立捍烁虞湾铁鞠智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法卸帝赢搜临足氮专输阿苏拘盈冷蝶媒3.2.1PID控制算法显然,如果积分时间太大,则积分作用减弱,反之则积分作用较强。增大,将使消除静差的过程变得缓慢,但可以减小系统的超调量,提高稳定性。必须根据被控对象的特性来选定,如对于管道压力、流量等滞后不大的对象,可以选得小些,对温度、成分等滞后比较大的对象,可以选得大些。粹禁猜萤赶局晶抹咨只奶钡撵卧谊厢豌痘么郧至需熏禹崔秃癌洲瑟赂攘谷智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法显然,如果积分时间太大,则积分作3.2.1PID控制算法(3)比例积分微分控制器积分调节作用的加入,虽然可以消除静差,但其代价是降低系统的响应速度。为了加快控制过程,有必要在偏差出现或变化的瞬间,不但要对偏差量做出反应(即比例控制作用),而且要对偏差量的变化做出反应,或者说按偏差变化的趋势进行控制,使偏差在萌芽状态被抑制。为了达到这一控制目的,可以在PI控制器的基础上加入微分控制作用,即构造比例积分微分控制器(PID控制器)。PID控制器的控制规律为

(3.5)酸休苑请庞急驶磕赠链币宿托赡袜熊磁帛环泽产吞想奥台竭预景装云鹊彬智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法(3)比例积分微分控制器酸休苑请3.2.1PID控制算法式中,称为微分时间。理想的PID控制器对偏差阶跃变化的响应如图3.4所示,它在偏差变化的瞬间处有一个冲激式的瞬态响应,这就是由微分环节引起的。图3.4理想PID控制器的阶跃响应袜补阜赤痹订系淫暮蔬疆抬磅冬叫伙则瞳玩滴综让踊娟见涌婆淖政咕滁接智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法式中,称为微分时间。理想的P3.2.1PID控制算法由微分部分的控制作用

(3.6)可见,它对偏差的任何变化都会产生控制作用,以调整系统的输出,阻止偏差的变化。偏差变化越快,控制量就越大,反馈校正量就越大。故微分作用的加入将有助于减少超调量,克服振荡,使系统趋于稳定。微分作用可以加快系统的动作速度,减小调整时间,改善系统的动态性能。壕辐苗搁当梳怕锋琶心腮谎蒋舵妙浚缉持呈贾同纺田藏行箱尔钥编强峭唤智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法由微分部分的控制作用壕辐苗搁当梳3.2.1PID控制算法2.数字PID控制算法在连续生产过程控制系统中,通常采用如图3.1所示的PID控制,其对应的传递函数表达式为

(3.7)对应的控制算法表达式为

(3.8)式中,为比例增益;为积分时间常数;为微分时间常数;为控制量;为被控量与设定值的偏差。陷渴痕嫂卜上熙涎匙正编伊惰湃尹坠阳迁论疾裔束饺钱缨埂偶韩希盒扯供智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法2.数字PID控制算法陷渴痕嫂卜3.2.1PID控制算法为了便于计算机实现PID算法,必须将式(3.3)改写为离散(采样)式,这可以将积分运算用部分和近似代替,微分运算用差分方程表示,即

(3.9)

(3.10)

式中,T为采样周期;k为采样周期的序号();和分别为第和第k个采样周期的偏差。沽蜀间餐虹绰傍扮放抨妄陀晌簧卷耻林塔武寻拌碗孵绸靶笺怂焦全诡儡词智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法为了便于计算机实现PID算法3.2.1PID控制算法将式(3.9)和式(3.10)代入式(3.8)可得相应的差分方程,即

(3.11)式中,为第k个采样时刻的控制量。如果采样周期T与被控对象时间常数比较相对较小,那么这种近似是合理的,并与连续控制的效果接近。模拟调节器很难实现理想的微分,而利用计算机可以实现式(3.10)所表示的差分运算,故将式(3.11)称为理想微分数字PID控制器。基本的数字PID控制器一般具有以下两种形式的算法。饰运耿姿拍吸国惧渴鲤媚铸干枯谩湍示瘁踪取酿督嗣斑托笼购占坯鬼陕籽智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法将式(3.9)和式(3.3.2.1PID控制算法

图3.5位置型算法流程图膳进朽丸衅睫篙捡冷狱晴杜撅锭漓警役始暴学芜讹栈臭让亏垄瞩郭讫倪劲智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法膳进朽丸衅睫篙捡冷狱晴杜撅锭漓警3.2.1PID控制算法

(1)位置型算法模拟调节器的调节动作是连续的,任何瞬间的输出控制量u都对应于执行机构(如调节阀)的位置。由式(3.11)可知,数字控制器的输出控制量也和阀门位置相对应,故称为位置型算式(简称位置式)。相应的算法流程图如图3.5所示。由图3.5可以看出,因为积分作用是对一段时间内偏差信号的累加,因此,利用计算机实现位置型算法不是很方便,不仅需要占用较多的存储单元,而且编程也不方便,因此可以采用其改进式——增量型算法来实现。北县住锌禹各蔷漏魏沥浪损疏勃硼奴籍戌梦于僻陛啸槛猛垢缚茸铭辗咒希智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法(1)位置型算法北县住锌禹各(2)增量型算法根据式(3.6)不难得到第个采样周期的控制量,即(3.12)将式(3.11)与式(3.12)相减,可以得到第k个采样时刻控制量的增量,即 (3.13)

式中,为比例增益;为积分系数,;为微分系数,。3.2.1PID控制算法憨仁拟群匡美昆壁镰圈燃育哦阂妻曙孩夸馏离寅优鸦妒站项存傈港曰哩啼智能汽车设计基础—软件智能汽车设计基础—软件(2)增量型算法3.2.1PID控制算法憨仁拟群匡美昆壁

3.2.1PID控制算法由于式(3.13)中对应于第k个采样时刻阀门位置的增量,故称式(3.13)为增量型算式。由此,第k个采样时刻实际控制量为 (3.14)为了编写程序方便,将式(3.13)改写为 (3.15)式中,;;。份才示分添愤佬蹈岔确翌陀惹捻脂倦汞反戈馅刀醇沛柒眠观峦颐匝喂厦琴智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法由于式(3.13)中对

3.2.1PID控制算法由此可见,要利用和得到,只需要用到,和三个历史数据。在编程过程中,这三个历史数据可以采用平移法保存,从而可以递推使用,占用的存储单元少,编程简单,运算速度快。增量型算法的程序流程图如图3.6所示。

增量型算法仅仅是在算法设计上的改进,其输出是相对于上次控制输出量的增量形式,并没有改变位置型算法的本质,即它仍然反映执行机构的位置开度。如果希望输出控制量的增量,则必须采用具有保持位置功能的执行机构。数字PID控制器的输出控制量通常都是通过D/A转换器输出的,在D/A转换器中将数字信号转换成模拟信号(4~20mA的电流信号或0~5V的电压信号),然后通过放大驱动装置作用于执行机构,信号作用的时间连续到下一个控制量到来之前。因此,D/A转换器具有零阶保持器的功能。

缕凉鉴焙饼窜躺最翼冀渝艰硷烩把需尚旬技吭甥窍镜晌捧例布替尺滞煽貉智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法由此可见,要利用

3.2.1PID控制算法图3.6增量型算法流程图

读按瑞浦篱束殿卡缝东达汤烯草谨越抬剑干余金苹汝歉霍火懂揽蛇姥霄瓜智能汽车设计基础—软件智能汽车设计基础—软件3.2.1PID控制算法图3.6增量型算法流程图3.2.2模糊控制算法模糊(Fuzzy)控制是用语言归纳操作人员的控制策略,运用语言变量和模糊集合理论形成控制算法的一种控制。模糊控制的最重要特征是不需要建立被控对象精确的数学模型,只要求把现场操作人员的经验和数据总结成较完善的语言控制规则,从而能够对具有不确定性、不精确性、噪声以及非线性、时变性、时滞等特征的控制对象进行控制。模糊控制系统的鲁棒性强,尤其适用于非线性、时变、滞后系统的控制。模糊控制的基本结构如图3.7所示。颐辅拿溢障魏荷挞庙臼搔吨漱空懊由颧拦蒲亡币赞井泊掌包烹异篙佬谆驼智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法模糊(Fuzzy)控制是用语3.2.2模糊控制算法图3.7

模糊控制基本结构图攘食疤慢菜阔敌秆瞻熔诀屿港谗撤斟下雹抿肝眨冤挎抒刘祈双羔埋峙烙宇智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法图3.7模糊控制基本结构图攘食疤3.2.2模糊控制算法1.模糊控制器的输入变量与输出变量(1)模糊控制器的输入、输出变量模糊控制器是模仿人的一种控制。在对被控对象进行控制的过程中,一般根据设定值与被控量的偏差、偏差变化EC和偏差变化的速率ER进行决策。人对偏差最敏感,其次是偏差的变化,再次是偏差变化的速率。因此,模糊控制器的输入变量通常取、和EC或者,EC和ER,分别构成所谓一维、二维和三维模糊控制器。一维模糊控制器的动态性能不佳,通常用于一阶被控对象,二维模糊控制器的控制性能和控制复杂性都比较好,是目前广泛采用的一种形式。并且,一般选择增量算法作为模糊控制器的输出变量。赔茧鲁抱汁丝瓣廖至贸诗贬堵袍宇城旦漆硫垢倚艺馏酸老捆册度受瑟是樊智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法1.模糊控制器的输入变量与输出变量3.2.2模糊控制算法(2)描述输入、输出变量的词汇在模糊控制中,输入、输出变量大小是以语言形式描述的,因此要选择描述这些变量的词汇。我们的日常语言中对各种事物和变量的描述,总是习惯于分为三个等级,例如,物体的大小分为大、中、小;运动的速度分为快、中、慢;年龄的大小分为老、中、青。实际应用中一般都选用“大、中、小”三个词汇来描述模糊控制器的输入、输出变量的状态,再加上正、负两个方向和零状态,共有7个词汇,即{负大,负中,负小,零,正小,正中,正大}一般用这些词的英文字头缩写,即{NB,NM,NS,O,PS,PM,PB}一般情况下,选择上述7个词汇比较合适,但也可以多选或少选。选择较多的词汇,可以精确描述变量,提高控制精度,但会使控制规则变得复杂;选择的词汇过少,则对变量的描述过于粗糙,导致控制器的性能变差。焙拂告勃炊桨何汉蜀钙溃教寨彪汞撬笺寞髓锣辆诸烬栋久岭搁廷珍爪谈愈智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法(2)描述输入、输出变量的词汇焙拂告3.2.2模糊控制算法

(3)变量的模糊量某个变量变化的实际范围称为该变量的基本论域。记偏差的基本论域为,偏差变化的基本论域为,模糊控制器的输出变量(系统的控制量)的基本论域为。显然,基本论域内的量是精确量,因而模糊控制器的输入和输出都是精确量,但是模糊控制算法需要模糊量。因此,输入的精确量(数字量)需要转换为模糊量,这个过程称为“模糊化”(Fuzzification);另一方面,模糊算法所得到的模糊控制量需要转换为精确的控制量,这个过程称为“清晰化”或者“反模糊化”(Defuzzification)。比较实用的模糊化方法是将基本论域分为n个档次,即取变量的模糊子集论域为婶言转砌垦蜘惭代最礼挽乖治更掀植痢匪蒂泛涎棱修杖趣诧癣革始俏迂谍智能汽车设计基础—软件智能汽车设计基础—软件3.2.2模糊控制算法(3)变量的模糊量婶言转砌垦蜘惭代3.2.2模糊控制算法从基本论域到模糊子集论域的转换公式

温馨提示

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

评论

0/150

提交评论