a****l 发帖数: 8211 | 1 似乎理论上是比较高级的,不过最后出来的control law的形式怎么看上去就和pid是一
样的三大块?或者说是应该可以用这个方法设计特别的control law?有谁了解的说说看? | i*****7 发帖数: 92 | 2 我尝试解答一下:
Sliding mode control(SMC)的基本思路是选择控制力u = -M*sign(s) 使得 s_dot = -
M*sign(s),which ensures s -> 0。你说的3块可能是定义式 s = a1*e_dot + a2*e +
a3* integral(e),但是s的意思是sliding surface, 不是 the control force in
PID control. SMC设计出来的控制力u是不连续函数,而PID的u是连续函数。 | a****l 发帖数: 8211 | 3 sign()函数只有-1,0,1三个值,莫非u=-M*sign(s)只有M,0,-M三个值?
-
+
【在 i*****7 的大作中提到】 : 我尝试解答一下: : Sliding mode control(SMC)的基本思路是选择控制力u = -M*sign(s) 使得 s_dot = - : M*sign(s),which ensures s -> 0。你说的3块可能是定义式 s = a1*e_dot + a2*e + : a3* integral(e),但是s的意思是sliding surface, 不是 the control force in : PID control. SMC设计出来的控制力u是不连续函数,而PID的u是连续函数。
| f*****e 发帖数: 2992 | 4 我补充一个比较形象的:
一个物体在空气中是一个动力方程,在水中又是一个动力方程。如何让她只在界面运动
。也适用于碰撞。
-
+
【在 i*****7 的大作中提到】 : 我尝试解答一下: : Sliding mode control(SMC)的基本思路是选择控制力u = -M*sign(s) 使得 s_dot = - : M*sign(s),which ensures s -> 0。你说的3块可能是定义式 s = a1*e_dot + a2*e + : a3* integral(e),但是s的意思是sliding surface, 不是 the control force in : PID control. SMC设计出来的控制力u是不连续函数,而PID的u是连续函数。
| i*****7 发帖数: 92 | 5 是的,这个是SMC的基本方式,主要应用是在涉及到on/off switch的model.更常用的
SMC是:用
函数M(x)代替M。
PS:实际上,sign()函数只有-1和1,但是在computer simulation当中,需要定
义sign(0)=0,尽管sign(0)没有实际物理意义。
【在 a****l 的大作中提到】 : sign()函数只有-1,0,1三个值,莫非u=-M*sign(s)只有M,0,-M三个值? : : - : +
| a****l 发帖数: 8211 | 6 你说的u = -M*sign(s)应该只是理想状态下,只有当switching的速度趋向于无限的时候
才能实现稳定的控制,实际的系统都必然有一个延时,switching也只有一定的速度,结果
必然导致系统在稳定位置两头不停摆动,这也是很形象的.
也就是说,对于一个实际的系统,我们需要采用一个比较复杂的u的control law,然后一
个比较常用的control law看上去的形式也就是u=f(x)+g(x_dot)+h(s(x,x_dot)),这样
的control law可以证明是能逼近和稳定的,但是仔细一看这不就是一个类似pid的(x,x_
dot,x_int)的三大块吗?当然最后的integral部分形式很不一样,这也体现了smc在稳态
的动作和pid差别最大.
我的问题就是,除了这种类似pid的control law,还有没有别的在实际系统中常用的不同
形式的control law?有没有谁根据系统的特性凭空想一个control law,然后又能证明该
law是能逼近和稳定的?
【在 i*****7 的大作中提到】 : 是的,这个是SMC的基本方式,主要应用是在涉及到on/off switch的model.更常用的 : SMC是:用 : 函数M(x)代替M。 : PS:实际上,sign()函数只有-1和1,但是在computer simulation当中,需要定 : 义sign(0)=0,尽管sign(0)没有实际物理意义。
| i*****7 发帖数: 92 | 7 你说的“不停摆动“(chattering)可以通过使用M(x)代替M来降低。SMC中的u的常见
形式是:
u=f(x)+k1*e_dot+k2*e+M(t)*sign(s)
其中k1*e_dot和k2*e分别类似于PID中的D和P部分,这也是2种控制方法的共同点之一。
但是,M(t)*sign(s)是PID没有的,这个M(t)*sign(s)用于suppress system
uncertainty(比如disturbance)。所以SMC能够解决未知(或部分未知)系统的控制问题。而
PID多用于已知系统。
其他类型的control law 我不是特别了解。求大牛们指点。
x_
【在 a****l 的大作中提到】 : 你说的u = -M*sign(s)应该只是理想状态下,只有当switching的速度趋向于无限的时候 : 才能实现稳定的控制,实际的系统都必然有一个延时,switching也只有一定的速度,结果 : 必然导致系统在稳定位置两头不停摆动,这也是很形象的. : 也就是说,对于一个实际的系统,我们需要采用一个比较复杂的u的control law,然后一 : 个比较常用的control law看上去的形式也就是u=f(x)+g(x_dot)+h(s(x,x_dot)),这样 : 的control law可以证明是能逼近和稳定的,但是仔细一看这不就是一个类似pid的(x,x_ : dot,x_int)的三大块吗?当然最后的integral部分形式很不一样,这也体现了smc在稳态 : 的动作和pid差别最大. : 我的问题就是,除了这种类似pid的control law,还有没有别的在实际系统中常用的不同 : 形式的control law?有没有谁根据系统的特性凭空想一个control law,然后又能证明该
| i*****t 发帖数: 24265 | 8 模糊滑膜自适应控制,国内10多年就有了,但是有没有实际应用就不晓得了 | a****l 发帖数: 8211 | 9 我研究了一下,如果通过sat函数可以把非线性的变为连续的控制,然后可以加上积分来
改善静差,可是这样一来control law彻底的变成pid了,感觉是走了一个大圈子又绕回原
点了.
问题。而
【在 i*****7 的大作中提到】 : 你说的“不停摆动“(chattering)可以通过使用M(x)代替M来降低。SMC中的u的常见 : 形式是: : u=f(x)+k1*e_dot+k2*e+M(t)*sign(s) : 其中k1*e_dot和k2*e分别类似于PID中的D和P部分,这也是2种控制方法的共同点之一。 : 但是,M(t)*sign(s)是PID没有的,这个M(t)*sign(s)用于suppress system : uncertainty(比如disturbance)。所以SMC能够解决未知(或部分未知)系统的控制问题。而 : PID多用于已知系统。 : 其他类型的control law 我不是特别了解。求大牛们指点。 : : x_
|
|