智能车制作

标题: 走走停停的问题 [打印本页]

作者: 林夕22    时间: 2012-5-16 11:24
标题: 走走停停的问题
卓老师和很多高手都说走走停停是速度超调问题,可是我对于超调这个问题始终理解不太对。
大家如果有关于超调的见解请不吝赐教啊!

作者: etoah    时间: 2012-5-16 12:15
我的也是,开始还会倒退,加了积分优化,情况改善,但还是会减速
作者: newhand1991    时间: 2012-5-16 13:29
etoah 发表于 2012-5-16 12:15
我的也是,开始还会倒退,加了积分优化,情况改善,但还是会减速

积分优化??   怎么优化?
作者: 林夕22    时间: 2012-5-16 14:37
etoah 发表于 2012-5-16 12:15
我的也是,开始还会倒退,加了积分优化,情况改善,但还是会减速

对呀。积分优化是什么啊?
作者: tongyonghua123    时间: 2012-5-16 17:38
网楼主解释啊

作者: 林夕22    时间: 2012-5-16 21:29
tongyonghua123 发表于 2012-5-16 17:38
网楼主解释啊

我也向谁给解释一下啊!
作者: dich    时间: 2012-5-16 23:51
呵呵  我猜你是用的清华方案,清华方案里对速度的控制实际上转为了对车体角度的控制,好好理解下这个,然后你再想想你的车体结构,平衡什么的是不是适合这样的方案。
作者: 好哦阿斯兰    时间: 2012-5-17 00:06
呵呵  我猜你是用的清华方案,清华方案里对速度的控制实际上转为了对车体角度的控制,好好理解下这个,然后你再想想你的车体结构,平衡什么的是不是适合这样的方案。
有道理
作者: 好哦阿斯兰    时间: 2012-5-17 00:07
走走停停我有时也会遇到
作者: etoah    时间: 2012-5-17 16:16
林夕22 发表于 2012-5-16 21:29
我也向谁给解释一下啊!

积分分离:
当|e(k)|>c(c为设定值) 采用PD控制
当|e(k)|<c(c为设定值) 采用PID控制

很多专门介绍PID的资料都有介绍,我用的是纸质的书,就不好发上来了

来源:http://wiki.cnki.com.cn/HotWord/2051978.htm  知网空间

四、数字PID控制算法的改进      
字体 [大]   [中]   [小]

实际微分PID控制算法主要是改进了微分作用。由于数字计算机具有强大的处理能力,可以根据控制要求,实现各种更有效的控制算法,提高控制性能。本节讨论如何改进积分作用。
(一) 积分分离
在常规的PID控制中,当有较大的扰动或大幅度改变设定位时,由于有较大的偏差,以及系统固有的惯性和滞后,在积分项的作用下,往往会产生较大的超调和长时间的波动。特别对于温度、成分等变化缓慢的过程,这一现象更为严重。为此,可采用积分分离措施,当偏差e(n)较大时,取消积分作用;当偏差e(n)较小时,才使用积分作用。即
当|e(n)|>ε时,用PD或仅用P控制;

当|e(n)|<ε时,用PID控制。

积分分离值ε应根据具体对象及要求确定。为了实现积分分离,改造式(10.2-18),分为
ΔuPD(n)=ΔuP(n)+ΔuD(n)

(10.2-32)

ΔuI(n)=
e(n)

(10.2-33)

u(n)=u(n-1)+Δu(n)+ΔuI(n), |e(n)|<ε

(10.2-34a)

u(n)=u(n-1)+Δu(n), |e(n)|>ε

(10.2-34b)

(二) 抗积分饱和

若长时间存在偏差或偏差较大,计算出的控制量u(n)有可能超出D/A变换器所能表示的数值范围。例如 12位D/A变换器的数值范围为000H~0FFFH(H表示十六进制),它对应执行机构的两个极限位置,设u(n)=0FFFH,为调节阀全开;u(n)=000H,调节阀为全关。当执行机构已到极限位置,仍然不能消除偏差时,由于积分作用,控制计算所得的结果仍会继续增大或减小,而此时执行机构已无相应的动作,这就称为积分饱和。当出现积分饱和时,超调量增加,控制品质变坏。防止积分饱和的办法是对计算出的控制量u(n)限幅,并当出现积分饱和时,把积分作用切除掉。仍以12位D/A为例,
当u(n)<0时,取u(n)=0;

当u(n)>0FFFH时,取u(n)=0FFFH。

(三) 消除积分不灵敏区

由于字长限制,数字运算总有误差存在,以式(10.2-33)表示的积分增量为例,当运算字长较短,控制周期T较短,而积分时间TI又较长时,ΔuI(n)容易出现比最小位代表的数更小的数,它将作为机器“0”而舍弃,此时也就没有积分作用,这样的区间称为积分不灵敏区。
例如,某温度控制系统,温度量程为0~1275℃,A/D变换器为8位,采用8位定点运算。设KP=1,TI=10s,T=1s,e(n)=50℃,代入式(10.2-33),有
ΔuI(n)=
e(n)=
=1

如果偏差e(n)<50℃,则ΔuI(n)<1,计算机就作为“0”将此数丢掉,没有积分作用;只有当偏差e(n)>50℃时,才会有积分作用。控制系统存在残差。要消除积分不灵敏区,可采用的措施:

① 增加A/D变换器位数,这样可提高运算精度;
② 压缩量程,许多工业生产参数都有一定的允许范围,如上例,假定生产允许的工作温度范围为(800±10)℃。因此可将检测范围压缩到790~810℃。
③ 采用16位运算,或采用浮点运算。
④ 积分项ΔuI(n)<1时不是简单地舍弃,而是进行累计,当累计量大于1时作为积分量输出。


作者: etoah    时间: 2012-5-17 16:17
newhand1991 发表于 2012-5-16 13:29
积分优化??   怎么优化?

来源:知网空间


在常规的PID控制中,当有较大的扰动或大幅度改变设定位时,由于有较大的偏差,以及系统固有的惯性和滞后,在积分项的作用下,往往会产生较大的超调和长时间的波动。特别对于温度、成分等变化缓慢的过程,这一现象更为严重。为此,可采用积分分离措施,当偏差e(n)较大时,取消积分作用;当偏差e(n)较小时,才使用积分作用。即
当|e(n)|>ε时,用PD或仅用P控制;

当|e(n)|<ε时,用PID控制。

积分分离值ε应根据具体对象及要求确定。为了实现积分分离,改造式(10.2-18),分为
ΔuPD(n)=ΔuP(n)+ΔuD(n)

(10.2-32)

ΔuI(n)=
e(n)

(10.2-33)


u(n)=u(n-1)+Δu(n)+ΔuI(n), |e(n)|<ε

(10.2-34a)

u(n)=u(n-1)+Δu(n), |e(n)|>ε

(10.2-34b)

(二) 抗积分饱和

若长时间存在偏差或偏差较大,计算出的控制量u(n)有可能超出D/A变换器所能表示的数值范围。例如 12位D/A变换器的数值范围为000H~0FFFH(H表示十六进制),它对应执行机构的两个极限位置,设u(n)=0FFFH,为调节阀全开;u(n)=000H,调节阀为全关。当执行机构已到极限位置,仍然不能消除偏差时,由于积分作用,控制计算所得的结果仍会继续增大或减小,而此时执行机构已无相应的动作,这就称为积分饱和。当出现积分饱和时,超调量增加,控制品质变坏。防止积分饱和的办法是对计算出的控制量u(n)限幅,并当出现积分饱和时,把积分作用切除掉。仍以12位D/A为例,
当u(n)<0时,取u(n)=0;

当u(n)>0FFFH时,取u(n)=0FFFH。

(三) 消除积分不灵敏区

由于字长限制,数字运算总有误差存在,以式(10.2-33)表示的积分增量为例,当运算字长较短,控制周期T较短,而积分时间TI又较长时,ΔuI(n)容易出现比最小位代表的数更小的数,它将作为机器“0”而舍弃,此时也就没有积分作用,这样的区间称为积分不灵敏区。
例如,某温度控制系统,温度量程为0~1275℃,A/D变换器为8位,采用8位定点运算。设KP=1,TI=10s,T=1s,e(n)=50℃,代入式(10.2-33),有
ΔuI(n)=
e(n)=
=1

如果偏差e(n)<50℃,则ΔuI(n)<1,计算机就作为“0”将此数丢掉,没有积分作用;只有当偏差e(n)>50℃时,才会有积分作用。控制系统存在残差。要消除积分不灵敏区,可采用的措施:

① 增加A/D变换器位数,这样可提高运算精度;
② 压缩量程,许多工业生产参数都有一定的允许范围,如上例,假定生产允许的工作温度范围为(800±10)℃。因此可将检测范围压缩到790~810℃。
③ 采用16位运算,或采用浮点运算。
④ 积分项ΔuI(n)<1时不是简单地舍弃,而是进行累计,当累计量大于1时作为积分量输出。

作者: 林夕22    时间: 2012-5-18 09:51
dich 发表于 2012-5-16 23:51
呵呵  我猜你是用的清华方案,清华方案里对速度的控制实际上转为了对车体角度的控制,好好理解下这个,然后 ...

谢谢指教!
作者: 林夕22    时间: 2012-5-18 09:51
etoah 发表于 2012-5-17 16:17
来源:知网空间



作者: dich    时间: 2012-5-18 10:45
林夕22 发表于 2012-5-18 09:51
谢谢指教!

不客气,其实我这边速度也调的不是很好
作者: lixin815866    时间: 2012-5-19 12:19
走走停停是速度超调问题?怎么解决啊。。。。。。。。。。。。。
作者: 林夕22    时间: 2012-5-19 12:38
lixin815866 发表于 2012-5-19 12:19
走走停停是速度超调问题?怎么解决啊。。。。。。。。。。。。。

哦也想知道啊
作者: z12c34j56    时间: 2012-5-20 23:15
我们也是
作者: 蜗牛king    时间: 2012-5-22 16:29
我也是,速度控制就是不行
作者: 远方的笨蛋    时间: 2012-7-20 19:04
z12c34j56 发表于 2012-5-20 23:15
我们也是

解决了吗?求教

作者: 前行者cross    时间: 2012-8-2 12:07
大神!

作者: 郭文君    时间: 2012-8-2 13:43
楼上正解




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2