先赞再看!养成习惯!
PD控制
PD Control Law:
u = K P ( q d − q ) − K D q ˙ u = K_{P}(q_{d} - q) - K_{D}\dot{q} u=KP(qd−q)−KDq˙
上式中 p d p_{d} pd表示想要的目标角度
带上持续重力补偿的情况下:
u = K P ( q d − q ) − K D q ˙ − g ( q ) u = K_{P}(q_{d} - q) - K_{D}\dot{q} - g(q) u=KP(qd−q)−KDq˙−g(q)
带上近似重力补偿的情况下:
u = K P ( q d − q ) − K D q ˙ − g ^ ( q ) u = K_{P}(q_{d} - q) - K_{D}\dot{q} - \hat{g}(q) u=KP(qd−q)−KDq˙−g^(q)
PID控制
PID Control Law:
u = K P ( q d − q ( t ) ) + K I ∫ 0 t ( q d − q ( τ ) ) d τ − K D q ˙ ( t ) u = K_{P}(q_{d} - q(t)) + K_{I}\int_{0}^{t}(q_{d} - q(\tau))d\tau - K_{D}\dot{q}(t) u=KP(qd−q(t))+KI∫0t(qd−q(τ))dτ−KDq˙(t)
饱和PID Control Law:
u = K P ( q d − q ( t ) ) + K I ∫ 0 t Φ ( q d − q ( τ ) ) d τ − K D q ˙ ( t ) u = K_{P}(q_{d} - q(t)) + K_{I}\int_{0}^{t}\Phi(q_{d} - q(\tau))d\tau - K_{D}\dot{q}(t) u=KP(qd−q(t))+KI∫0tΦ(qd−q(τ))dτ−KDq˙(t)
Φ ( q d − q ) \Phi(q_{d} - q) Φ(qd−q) 是一个饱和型函数,
迭代学习
重力项 g ( q ) g(q) g(q) 梯度的有效界:
∣ ∣ ∂ g ( q ) ∂ q ∣ ∣ ≤ α (1) ||\frac{\partial g(q)}{\partial q}|| \leq \alpha \tag{1} ∣∣∂q∂g(q)∣∣≤α(1)
这个 α \alpha α 的作用在于,当 K P > α K_{P}> \alpha KP>α 时,在PD带持续的重力补偿的控制下机器人在位置 ( q d , 0 ) (q_{d}, 0) (qd,0) 时 为全局渐进稳定的。
迭代控制
u = γ K P ( q d − q ) − K D q ˙ + u i − 1 u = \gamma K_{P}(q_{d} - q) - K_{D}\dot{q} + u_{i-1} u=γKP(qd−q)−KDq˙+ui−1
其中:
u i = γ K P ( q d − q ) + u i − 1 u_{i} = \gamma K_{P}(q_{d} - q) + u_{i-1} ui=γKP(qd−q)+ui−1
其实 u i u_{i} ui 是实际的计算,分析上来说其实 u i u_{i} ui 相当于 g ( q i ) g(q_{i}) g(qi)
上面的迭代公式必须满足以下两个式子才能保证从任何初始值 q 0 q_{0} q0 收敛到 q d q_{d} qd
m i n ( K P ) > α (a) min(K_{P}) > \alpha \tag{a} min(KP)>α(a)
γ > 2 (b) \gamma > 2 \tag{b} γ>2(b)
上式,第一个式子 a 是为了保证使用公式 u u u 时的全局渐近稳定性,第二个式子 b 是为了保证迭代的收敛性,以达到下式的目的:
lim i → − ∞ ∣ ∣ u i ∣ ∣ = g ( q d ) \lim_{i \to -\infty} ||u_{i}||= g(q_{d}) i→−∞lim∣∣ui∣∣=g(qd)
原因是因为,设 e i = q d − q i e_{i} = q_{d} - q_{i} ei=qd−qi,那么公式 b 保证了有如下收缩映射的式子:
∣ ∣ e i ∣ ∣ < 1 γ − 1 ∣ ∣ e i + 1 ∣ ∣ (c) ||e_{i}||< \frac{1}{\gamma - 1}||e_{i+1||} \tag{c} ∣∣ei∣∣<γ−11∣∣ei+1∣∣(c)
进一步保证了对于任何初始状态都能有:
lim i → − ∞ ∣ ∣ e i ∣ ∣ = 0 \lim_{i \to -\infty}||e_{i}|| = 0 i→−∞lim∣∣ei∣∣=0
做个题吧
看不懂各种乱七八糟的公式?来让我们做个题练练手你就明白了
题目如下
解答
首先,单连杆钟摆的拉格朗日动力学方程如下,此处省略推理过程,具体推理方法请移步此处
u = ( I 0 + m d 2 ) θ ¨ + m g 0 d sin θ u = (I_{0} + md^{2})\ddot{\theta} + mg_{0}d\sin\theta u=(I0+md2)θ¨+mg0dsinθ
其中, I 0 = m L 2 12 I_{0} = \frac{mL^{2}}{12} I0=12mL2, d = L 2 d = \frac{L}{2} d=2L,但是这不重要,因为本题后面并不会用到这些东西。。。。
继续,由之前的公式(1)得到:
∣ ∣ ∂ g ( θ ) ∂ θ ∣ ∣ = ∣ m g 0 d cos θ ∣ ≤ m d g 0 = 98.1 = α ||\frac{\partial g(\theta)}{\partial \theta}|| = |mg_{0}d\cos\theta| \leq mdg_{0} = 98.1 = \alpha ∣∣∂θ∂g(θ)∣∣=∣mg0dcosθ∣≤mdg0=98.1=α
同时下式满足之前的公式(a)(b),即:
K P = 500 > 196.2 = 2 α K_{P} = 500 > 196.2 = 2\alpha KP=500>196.2=2α
继续得到:
K P = K p ′ β = 500 ⇒ K P ′ = 100 > 98.1 = α , 0 < β = 1 5 < 1 2 K_{P} = \frac{K_{p}'}{\beta} = 500 \Rightarrow K_{P}' = 100> 98.1 = \alpha , 0< \beta=\frac{1}{5}< \frac{1}{2} KP=βKp′=500⇒KP′=100>98.1=α,0<β=51<21
然后使用之前的公式(c)得:
∣ ∣ e i ∣ ∣ < β 1 − β ∣ ∣ e i + 1 ∣ ∣ ⇒ ∣ ∣ e i ∣ ∣ < 0.25 ∣ ∣ e i + 1 ∣ ∣ ||e_{i}||< \frac{\beta}{1 - \beta}||e_{i+1||} \space \Rightarrow \space ||e_{i}||< 0.25||e_{i+1||} ∣∣ei∣∣<1−ββ∣∣ei+1∣∣ ⇒ ∣∣ei∣∣<0.25∣∣ei+1∣∣
OK,到这里我们就得到了最重要的公式了,然后就是简单得代数进去计算了:
e 0 = θ d − 0 = π 3 = 1.0472 e_{0} = \theta_{d} - 0 = \frac{\pi}{3} = 1.0472 e0=θd−0=3π=1.0472
然后继续依次迭代往下算:
∣
e
1
∣
=
∣
θ
d
−
θ
1
∣
<
0.25
∣
e
0
∣
=
π
12
=
0.2618
|e_{1}| = |\theta_{d} - \theta_{1} | < 0.25|e_{0}| = \frac{\pi}{12} = 0.2618
∣e1∣=∣θd−θ1∣<0.25∣e0∣=12π=0.2618
∣
e
2
∣
=
∣
θ
d
−
θ
2
∣
<
0.25
∣
e
1
∣
=
π
48
=
0.0654
|e_{2}| = |\theta_{d} - \theta_{2} | < 0.25|e_{1}| = \frac{\pi}{48} = 0.0654
∣e2∣=∣θd−θ2∣<0.25∣e1∣=48π=0.0654
∣
e
3
∣
=
∣
θ
d
−
θ
3
∣
<
0.25
∣
e
2
∣
=
π
208
=
0.0164
|e_{3}| = |\theta_{d} - \theta_{3} | < 0.25|e_{2}| = \frac{\pi}{208} = 0.0164
∣e3∣=∣θd−θ3∣<0.25∣e2∣=208π=0.0164
∣
e
4
∣
=
∣
θ
d
−
θ
4
∣
<
0.25
∣
e
3
∣
=
π
832
=
0.0041
<
0.01
=
ε
|e_{4}| = |\theta_{d} - \theta_{4} | < 0.25|e_{3}| = \frac{\pi}{832} = 0.0041<0.01=\varepsilon
∣e4∣=∣θd−θ4∣<0.25∣e3∣=832π=0.0041<0.01=ε
所以存在 i m i n = 4 i_{min} = 4 imin=4 满足要求的条件!
哎,,,好难啊,,,前路漫漫~~