智能汽车设计基础—软件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
式中,
u(k) q0e(k) q1e((3k.151)) q2e(k 2)
q0
K;p 1
T Ti
Td T
;q1
Kp
。1
2Td T
q2
Kp
Td T
3.2.1 PID控制算法
由此可见,要利用 和u(k) 得u到(k 1),只需u要(k用) 到 , 和 e三(k个历1)史数e(k据。2在) 编u程(k过程1)中,这三个历史数据可以采用
与r(被t) 调量实测值 构y成(t的) 控制偏差信号 : e(t)
e(t) r((3t.)1) y(t)
其输出为该偏差信号的比例、积分、微分的线性组合, 也即PID控制律:
1t
de(t)
u(t)
KP
e(t)
(3.2)e(t)dt TI 0
TD
dt
式中, 为比K例P 系数; 为积分TI时间常数; 为微分T时D 间常
(2)比例积分控制器
为了消除在比例控制中存在的静差,可在比例控 制的基础上加上积分控制作用,构成比例积分PI控 制器,其控制规律为
u(t)
Kp
e(t )
1 Ti
t
0
e(t
)dt
u0
(3.4)
式中, 称为积分时间。图3.3所示为PI控制器对单
位阶跃输T入i 的阶跃响应。
3.2.1 PID控制算法
Kp。
3.2.1 PID控制算法
图3.2 比例控制器的阶跃响应
3.2.1 PID控制算法
比例控制器虽然简单快速,但对于具有自平衡 性(即系统阶跃响应终值为一有限值)的被控对象
存在静差。加大比例系数Kp虽然可以减小静差,但 当Kp过大时,动态性能会变差,会引起被控量振荡
,甚至导致闭环系统不稳定。
3.2.1 PID控制算法
3.2.1 PID控制算法
图3.3 PI控制器的阶跃响应
3.2.1 PID控制算法
显然,如果积分时间太大,则积分作用减弱,反之则 积分作用较强。增大,将使消除静差的过程变得缓慢,但可 以减小系统的超调量,提高稳定性。必须根据被控对象的特 性来选定,如对于管道压力、流量等滞后不大的对象,可以 选得小些,对温度、成分等滞后比较大的对象,可以选得大 些。
3.2.2 模糊控制算法
图3.7 模糊控制基本结构图
3.2.2 模糊控制算法
1.模糊控制器的输入变量与输出变量
Kp
e(k
1)
T Ti
k
1
(3e.(1j2) )
Td
[e(k
1)
e(k
j0
T
2)]
将式(3.11)与式(3.12)相减,可以得到第k个采样时刻控制
量的增量,即
u(k )
Kp
e(k )
e(k
1)
T Ti
e(k )
Td [e(k)
(T3.13)
2e(k
1)
e(k
2)]
Kp[e(k) e(k 1)] Kie(k) Kd[e(k) 2e(k 1) e(k 2)]
由微分部分的控制作用
ud K(3pT.6d)ded(tt)
可见,它对偏差的任何变化都会产生控制作用,以调整 系统的输出,阻止偏差的变化。偏差变化越快,控制量就越 大,反馈校正量就越大。故微分作用的加入将有助于减少超 调量,克服振荡,使系统趋于稳定。微分作用可以加快系统 的动作速度,减小调整时间,改善系统的动态性能。
e(t)dt
0
T(3e.(9j))
j0
de(t) e(k) e(k 1)
dt
T (3.10)
k 0, 1, 2, …
式中,T为采样周期;k为采样周期的序号(
);和分别
为第和第k个采样周期的偏差。
3.2.1 PID控制算法
将式(3.9)和式(3.10)代入式(3.8)可得相应的差分方程,即
u(k
图3.6 增量型算法流程图
3.2.2 模糊控制算法
模糊(Fuzzy)控制是用语言归纳操作人员的控制策略 ,运用语言变量和模糊集合理论形成控制算法的一种控 制。模糊控制的最重要特征是不需要建立被控对象精确 的数学模型,只要求把现场操作人员的经验和数据总结 成较完善的语言控制规则,从而能够对具有不确定性、 不精确性、噪声以及非线性、时变性、时滞等特征的控 制对象进行控制。模糊控制系统的鲁棒性强,尤其适用 于非线性、时变、滞后系统的控制。模糊控制的基本结 构如图3.7所示。
3.1 编程语言简介
在绝大多数场合,采用C语言编程即可完成预 期的目的,但是对实时时钟系统、要求执行效率高 的系统就不适合采用C语言编程,对这些特殊情况 进行编程时要结合汇编语言。汇编语言具有直接和 硬件打道、执行代码的效率高等特点,可以做到C 语言所不能做到的一些事情,例如对时钟要求很严 格时,使用汇编语言便成了唯一的选择。这种混合 编程的方法将C语言和汇编语言的优点结合起来, 已经成为目前单片机开发最流行的编程方法。关于 编程语言的详细介绍可参阅相关书籍。
Fra Baidu bibliotek
第3章 智能汽车设计基础—软件
1 3.1 编程语言简介 2 3.2 控制算法 3 思考题
3.1 编程语言简介
汇编语言是用符号指令书写程序的语言,是依赖于硬件 平台的语言,对于不同架构的CPU都会有相应的汇编指令。 汇编语言可以直接操作CPU内部的寄存器以及各种外围设备 ,对于单片机启动开始运行或者对于时序要求严格的I/O操 作必须采用汇编语言编写,在启动开始运行时汇编语言创建 系统的运行环境。
3.2.1 PID控制算法
2.数字PID控制算法
在连续生产过程控制系统中,通常采用如图3.1所示的 PID控制,其对应的传递函数表达式为
U (s) E(s)
Kp
(31.7)T1i s
Td s
对应的控制算法表达式为
u(t)
Kp
e(t
)
1 Ti
t 0
e(t)dt
Td
de(t)
dt
式中,
Kp
PID控制器的原理是根据系统的被调量实测值 与设定值之间的偏差,利用偏差的比例、积分、微 分三个环节的不同组合计算出对广义被控对象的控 制量。图3.1是常规PID控制系统的原理框图。
3.2.1 PID控制算法
图3.1 常规PID控制系统原理框图
3.2.1 PID控制算法
其中虚线框内的部分是PID控制器,其输入为设定值
1t
de(t)
u(t)
Kp
e(t
)
Ti
e(t)dt Td
0
dt
(3.5)
3.2.1 PID控制算法
式中,称为微分时间。理想的PID控制器对偏差阶跃变化的响 应如图3.4所示,它在偏差变化的瞬间处有一个冲激式的瞬态 响应,这就是由微分环节引起的。
图3.4 理想PID控制器的阶跃响应
3.2.1 PID控制算法
3.2.1 PID控制算法
图3.5 位置型算法流程图
3.2.1 PID控制算法
(1)位置型算法
模拟调节器的调节动作是连续的,任何瞬间的输出控制
量 u 都对应于执行机构(如调节阀)的位置。由式(3.11)可 知,数字控制器的输出控制量 也和u阀(k门) 位置相对应,故
称为位置型算式(简称位置式)。相应的算法流程图如图 3.5所示。
数字PID控制器的输出控制量通常都是通过D/A转换器输出的, 在D/A转换器中将数字信号转换成模拟信号(4~20 mA的电流信 号或0~5 V的电压信号),然后通过放大驱动装置作用于执行机构 ,信号作用的时间连续到下一个控制量到来之前。因此,D/A转换 器具有零阶保持器的功能。
3.2.1 PID控制算法
PI控制器对偏差的作用有两个部分:一个是按比例部分 的成分,另一个是带有累积的成分(即呈一定斜率变化的部 分),这就是积分控制部分的作用。只要偏差存在,积分将 起作用,将偏差累计,并对控制量产生影响,即偏差减小, 直至偏差为零,积分作用才会停止。因此,加入积分环节将 有助于消除系统的静差,改善系统的稳态性能。
第3章 智能汽车设计基础—软件
第3章 智能汽车设计基础—软件
在智能车系统的设计中,硬件是基础,没有一个好的硬 件平台,软件就无法运行。对于智能车系统来说,软件的核心 是控制算法。而完成这些任务的编程语言有汇编语言和C语言 。软件部分是整个智能车系统的灵魂,在硬件方面各参赛队之 间大同小异,真正体现各参赛队智能车的优势和最后决定比赛 成绩好坏的往往是软件部分,尤其是核心控制算法的设计。本 章首先简要介绍软件编程中使用的汇编语言和C语言各自的特 点,然后重点介绍核心控制算法的原理。
Kp
Ki
式中,K
为比例增益;
d
K为d 积 分Kp系Td数/ T,
为微分系数,
。
Ki KpT / Ti
;
3.2.1 PID控制算法
由于式(3.13)中对应于第k个采样时刻阀门位置的增量, 故称式(3.13)为增量型算式。由此,第k个采样时刻实际控
制量为
u(k) u(k 1(3).14)u(k)
为了编写程序方便,将式(3.13)改写为
数。
3.2.1 PID控制算法
根据被控对象动态特性和控制要求的不同,式 (3.2)中还可以只包含比例和积分的PI调节或者只包 含比例微分的PD调节。下面主要讨论PID控制的特 点及其对控制过程的影响、数字PID控制策略的实 现和改进,以及数字PID控制系统的设计和控制参 数的整定等问题。
3.2.1 PID控制算法
平移法保存,从而可以递推使用,占用的存储单元少,编程简单 ,运算速度快。增量型算法的程序流程图如图3.6所示。
增量型算法仅仅是在算法设计上的改进,其输出是相对于上次控 制输出量的增量形式,并没有改变位置型算法的本质,即它仍然反 映执行机构的位置开度。如果希望输出控制量的增量,则必须采用 具有保持位置功能的执行机构。
Ti (3.8)
为u比(t)例增益; 为e积(t)分时间常数;
为微Tyd分(t)时间
常数; 为控制量; 为被控量与设定值 的偏差。
3.2.1 PID控制算法
为了便于计算机实现PID算法,必须将式(3.3)改写为离散( 采样)式,这可以将积分运算用部分和近似代替,微分运算 用差分方程表示,即
t
k
3.2.1 PID控制算法
(3)比例积分微分控制器
积分调节作用的加入,虽然可以消除静差,但其代价是 降低系统的响应速度。为了加快控制过程,有必要在偏差出 现或变化的瞬间,不但要对偏差量做出反应(即比例控制作 用),而且要对偏差量的变化做出反应,或者说按偏差变化 的趋势进行控制,使偏差在萌芽状态被抑制。为了达到这一 控制目的,可以在PI控制器的基础上加入微分控制作用,即 构造比例积分微分控制器(PID控制器)。PID控制器的控 制规律为
)
Kp
e(k
)
T Ti
k (e3(.j1)1)Td
j0
T
[e(k
)
e(k
1)]
被控式对中象,时间为常u第(数kk)比个较采相样对时较刻小的,控那制么量这。种如近果似采是样合周理期的T,与
并与连续控制的效果接近。
以实模现拟式调(节3.1器0很)所难表实示现的理差想分的运微算分,故将,式d而e(3(t利.)1/1用d)t称计为算理机想可 微分数字PID控制器。基本的数字PID控制器一般具有以下 两种形式的算法。
1.PID控制规律的特点
(1)比例控制器
比例控制器是最简单的控制器,其控制规律为
u(t) (3.K3)pe(t) u0
式中,Kp为比例系数; 为u控0制量的初值,也就是在启动
控制系统时的控制量。图3.2所示是比例控制器对单位阶 跃输入的阶跃响应。
由图3.2可以看到,比例控制器对于偏差是及时反应的 ,偏差一旦产生,控制器立即产生控制作用使被控量朝着 减小偏差的方向变化,控制作用的强弱取决于比例系数
C语言的特点就是可以使程序员尽量少地对硬件进行操 作,具有很强的功能性、结构性和可移植性。由于C语言具 有语言简洁、紧凑,使用灵活、方便,运算符和数据类型丰 富,可以直接访问物理地址,进行位操作,能实现汇编语言 的大部分功能,可以直接对硬件进行操作,因此C语言既具 有高级语言的功能,又具有汇编语言的功能,对于编写与硬 件相关的应用程序而言具有明显的优势。
3.2 控制算法
1
3.2.1 PID控制算法
2
3.2.2 模糊控制算法
3
3.2.3 其它智能 控制算法
3.2.1 PID控制算法
PID(Proportional Integral Differential)控 制是比例、积分、微分控制的简称。在自动控制领 域中,PID控制是历史最久、生命力最强的基本控 制方式。
由图3.5可以看出,因为积分作用是对一段时间内偏差信 号的累加,因此,利用计算机实现位置型算法不是很方便, 不仅需要占用较多的存储单元,而且编程也不方便,因此可 以采用其改进式——增量型算法来实现。
3.2.1 PID控制算法
(2)增量型算法
根据式(3.6)不难得到第个采样周期的控制量,即
u(k
1)