神经网络自适应PID控制及其应用
神經網絡自適應PID控制及其應用
總結來自重慶大學宋永瑞教授2022暑期校園行學術會議
1. 研究背景
??目前人工智能的發展為很多領域里的研究提供了可延展性,提供了新的研究問題的思路,無人系統和人工智能正走向深度融合,無人系統里具有核心驅動作用的智能控制算法的研究成為了熱點問題。
人工智能的理論深度依賴人工神經網絡,而人工神經網絡又是人工智能的核心支撐,先進的控制系統實現了可靠的無人系統的底層支撐,當人工智能與無人系統深度融合時,可以使得實現一個可信、可靠、通用、普適的神經網絡驅動的控制系統變得具有很強的可行性,所以,智能無人系統的一個熱點就是聚焦于神經網絡驅動的控制系統功效性及可靠性的研究。
2. PID
2.1 PID控制器系統簡介
??PID算法是控制工程中的一種經典控制理論,其在控制系統中作用效果明顯,適用范圍廣,在目前的實際工程應用中仍然是一種影響力最大適用最多的控制系統。
??PID控制器中的P指的是Proportional,即比例,反映參數為比例因子,是對輸入到目標趨近速度影響最大的因子,其線性控制系統的驅動;I指的是Integral,即積分,反映參數為積分因子,是對于誤差的累計,從而根據之前的誤差來修正本次誤差的修正;D指的是Derivative,即微分,反映參數為微分系數,是對于抑制誤差的修正,防止過度修正和穩態誤差的形成。
2.2 PID對于人類智慧的類比
??PID控制器的系統中其實蘊含了“人類智能”,實際表現為人類社會的行事糾正約束準則在系統調節中的適用, P t e r m = K p e ( t ) P_{term}=K_pe(t) Pterm?=Kp?e(t)為比例部分的調節描述, K p K_p Kp?為比例系數,確定參數后,系統將會根據輸入與目標差值相關的誤差,進行按照比例系數線性調節系統,使得系統能夠快速的接近目標值,這部分的調節類似于人類的獎懲機制,當誤差大時,比例參數的作用就會大,系統變動大,當誤差小時,比例參數的作用相對會小,對系統的調整輸入量就會變小一些,當誤差為正值的時候,其修正量為正繼續修正,當誤差為負值時,系統的修正量就要為負值,適當拉回過度修正的表現值,當系統誤差為0時則比例部分不會做修正;當 I t e r m = K i ∫ 0 t e ( t ) d t I_{term}=K_i\int_0^te(t)dt Iterm?=Ki?∫0t?e(t)dt為積分部分的調節描述, K i K_i Ki?為積分系數,此部分將每次的誤差進行累計,在積分部分,此前系統的每一次誤差都對系統有貢獻,積分項蘊含了人類的記憶、經驗、總結的機制,對之前所修正的每一次輸入的誤差都進行了考量,從而防止了穩態誤差的出現,累加誤差的過程就是吸取經驗和教訓的過程; D t e r m = K d d e ( t ) d t D_{term}=\ K_d\frac{d_{e(t)}}{d_t} Dterm?=?Kd?dt?de(t)??為微分項部分的調節描述, K d K_d Kd?為微分系數,此部分將對誤差進行微分,以此來根據誤差的變化趨勢進行適當的修正,微分部分的蘊含了未來信息、預測機制,一定程度上可以防止過度修正情況的發生。
綜上所述,一個PID控制器就是一個人類獎懲+記憶(經驗)+預測(預判)運用在控制系統中的典范。
2.3 PID的當前存在的局限
這幾點體現在了靈活性、魯棒性、適應性和其他的表現上。
3. 基于神經網絡的自適應PID的設計
3.1 可信、可靠、可解釋的PID
??一個PID的作用描述架構圖如下所示。系統通過外部的感知得到輸入數據,通過確定系數 γ 1 \gamma_1 γ1?、 γ 2 \gamma_2 γ2?、 γ 3 \gamma_3 γ3?來得到獎懲、預測、經驗的分量,加權求和后形成輸出 u u u,而誤差 e e e的運作機制往往不是單純的計算輸入與目標的差值,而是使用一種加權的形式進行重映射,這樣做也更合理一些,將誤差 e e e映射輸出為z之后,利用確定好的比例系數、積分系數、微分系數,來對系統進行調節。
3.2 穩定性分析
??在控制原理中對于系統出錯的處理有個經典的理論, u a ( t ) = ρ ( t ) u + ε ( t ) u_a\left(t\right)=\rho\left(t\right)u+\varepsilon(t) ua?(t)=ρ(t)u+ε(t),其中 u = [ u 1 , … , u l ] ∈ R l u=[u_1,\ldots,u_l]∈Rl u=[u1?,…,ul?]∈Rl為設計的輸入, ε = [ ε 1 , … , ε l ] ∈ R l \varepsilon=[\varepsilon_1,\ldots,\varepsilon_l]∈Rl ε=[ε1?,…,εl?]∈Rl為不可控部分, ρ = d i a g { ρ j } ? R l × l , j = 1 , … , l \rho=diag\left\{\rho_j\right\}\epsilon R^{l\times l},j=1,\ldots,l ρ=diag{ρj?}?Rl×l,j=1,…,l,為健康指示,當 ρ i ( t ) \rho_i(t) ρi?(t)為1且 ε ( t ) \varepsilon(t) ε(t)為0時,系統處于正常的執行器;當 ρ i ( t ) \rho_i(t) ρi?(t)小于1且 ε ( t ) \varepsilon(t) ε(t)為0時,系統會損失一些有效性;當 ρ i ( t ) \rho_i(t) ρi?(t)小于1且 ε ( t ) \varepsilon(t) ε(t)為常量時,系統能夠在突發情況發生時進行適當的修正;當 ρ i ( t ) \rho_i(t) ρi?(t)小于1且 ε ( t ) \varepsilon(t) ε(t)為隨時間變化的量時,系統在突發故障發生時將會失去有效性。
??一般 ρ \rho ρ不為1的情況反應如下
??一般 ε \varepsilon ε不為0的信號反應如下
3.3 誤差濾波處理
??系統的實際誤差定義為 e i = x l ( i ? 1 ) ? y ? ( i ? 1 ) , i = 1 , … , n e_i={x_l}^{(i-1)}-y^{\ast\left(i-1\right)},i=1,\ldots,n ei?=xl?(i?1)?y?(i?1),i=1,…,n,對誤差進行加權求和,即引入濾波誤差 z ( t ) z(t) z(t), z ( t ) = λ n ? 2 e 1 + … + λ 1 e n ? 2 + e n ? 1 ? ( x , … , x ( n ? 2 ) ) , z ˙ ( t ) = λ n ? 2 e 2 + … + λ 1 e n ? 1 + e n ? ( x , x ˙ , … , x ( n ? 1 ) ) z\left(t\right)=\lambda_{n-2}e_1+\ldots+\lambda_1e_{n-2}+e_{n-1}\Leftarrow(x,\ldots,x^{(n-2)}),\dot{z}\left(t\right)=\lambda_{n-2}e_2+\ldots+\lambda_1e_{n-1}+e_n\Leftarrow(x,\dot{x},\ldots,x^{(n-1)}) z(t)=λn?2?e1?+…+λ1?en?2?+en?1??(x,…,x(n?2)),z˙(t)=λn?2?e2?+…+λ1?en?1?+en??(x,x˙,…,x(n?1)),兩者為導數關系,經過1991年Slotine和Li的論文驗證,當 z ( t ) , z ( t ) ∈ l ∞ z\left(t\right),z(t)∈l∞ z(t),z(t)∈l∞時, e 1 , … . , e n ∈ ? ∞ e_1,\ldots.,e_n\in\ell_\infty e1?,….,en?∈?∞?,也即濾波后的 z ( t ) z(t) z(t)最小時 e ( t ) e(t) e(t)也最小,所以誤差的問題研究濾波后的誤差更具有代表性和可行性。
由于我們的目標是設計一個自適應的容錯的PID控制器來獲得 z ( t ) z(t) z(t)和 z ˙ ( t ) \dot{z}(t) z˙(t),使其確保所有的閉環系統的信號達到邊界,生成最小的殘差集。將系統中所有的不可控因素都添加進來,得到了 z ¨ ( t ) \ddot{z}(t) z¨(t),如下所示
??其第一部分為不確定項,第二部分為未知的生成輸入,第三部分為已知項,通過標準化誤差z函數,獲得以下公式如下
??所討論的系統應當分為兩類,一類是方系統,一類是非線性的非方系統,方系統指的是輸入個數與輸出個數相同的系統,反之,非方系統指的就是輸入與輸出不同的系統,一般方系統的分析較為標準,解決方法靈活,對于控制系數矩陣,其正定性決定了控制系統的走向,正定矩陣代表著系統要朝增強的方向輸出信號,負定則代表著系統要朝著反向進行輸出信號。
引入一般化的誤差 e ( t ) e(t) e(t),即 z ( t ) = λ n ? 2 e 1 + … + λ 1 e n ? 2 + e n ? 1 ? ( x , … , x ( n ? 2 ) ) z\left(t\right)=\lambda_{n-2}e_1+\ldots+\lambda_1e_{n-2}+e_{n-1}\Leftarrow(x,\ldots,x^{(n-2)}) z(t)=λn?2?e1?+…+λ1?en?2?+en?1??(x,…,x(n?2)),對其進行再次濾波,可得到
E = 2 γ z + γ 2 ∫ 0 t z ( ? ) d τ + d z d t E=2\gamma z+\gamma^2\int_{0}^{t}z\left(\bullet\right)d\tau+\frac{dz}{dt} E=2γz+γ2∫0t?z(?)dτ+dtdz?
??那么整個建模的設計思路就是通過 E E E反映了 z z z,而 z z z反映了 e e e,將E最小化是我們的目標。
設 L L L為所有不確定因素的綜合,不確定因素包括系統的抖動、故障、人為因素、環境因素等等,而對于不確定因素的處理是整個系統設計最困難的部分,目前的處理方法有三種:
3.4 控制器的設計
??經過引入濾波后的誤差,可以進行PID控制器的設計,PID的建模設計如下:
u = ( k p + Δ k p ( ? ) ) z + ( k l + Δ k l ( ? ) ) ∫ 0 t z d τ + ( k D + Δ k D ( ? ) ) d z d t u=\left(k_p+\Delta k_p\left(\bullet\right)\right)z+\left(k_l+\Delta k_l\left(\bullet\right)\right)\int_{0}^{t}zd\tau+{(k}_D+\Delta k_D\left(\bullet\right))\frac{dz}{dt} u=(kp?+Δkp?(?))z+(kl?+Δkl?(?))∫0t?zdτ+(kD?+ΔkD?(?))dtdz?
??這樣設計之后,原本的PID的參數由Kp(比例系數)、Ki(積分系數)、Kd(微分系數)三個變為了 k p k_p kp?、 Δ k p Δkp Δkp?、 k l kl kl、 Δ k l Δkl Δkl?、 k D kD kD、 Δ k D ΔkD ΔkD?六個參數,三個常量參數 k p k_p kp?、 k l kl kl、 k D kD kD以及三個隨時間變化的參數 Δ k p ( ? ) \Delta k_p\left(\bullet\right) Δkp?(?)、 Δ k l Δkl Δkl?、 Δ k D ΔkD ΔkD?,但是經過實際的推演,其約束如下:
k p = ( α + β ) k D k l = α β k D k D = ? Δ k p ( ? ) = ( α + β ) Δ k D ( ? ) Δ k l ( ? ) = α β Δ k D ( ? ) Δ k D ( ? ) = a ^ φ 2 ( ? ) k_p=\left(\alpha+\beta\right)k_D k_l=\alpha\beta k_D k_D=? \Delta k_p\left(\bullet\right)=(\alpha+\beta)\Delta k_D\left(\bullet\right) \Delta k_l\left(\bullet\right)=\alpha\beta\Delta k_D\left(\bullet\right) \Delta k_D\left(\bullet\right)=\hat{a}\varphi^2(\bullet) kp?=(α+β)kD?kl?=αβkD?kD?=?Δkp?(?)=(α+β)ΔkD?(?)Δkl?(?)=αβΔkD?(?)ΔkD?(?)=a^φ2(?)
??上面約束中的 a l p h a > 0 alpha>0 alpha>0和 β > 0 β>0 β>0和自適應的參數a的更新準則在后面會給出, φ \varphi φ是與神經網絡中的激活函數有關的函數量,且將這幾個參數作為已知量看待,通過對于上面的約束的觀察,發現其實只要確定了 k D k_D kD?,其他參數全部可以通過約束關系確定下來,所以,通過引入誤差的濾波函數,控制器的建模參數其實簡化了很多,控制系統變得更加的可靠。
對于一般化誤差 E = 2 γ z + γ 2 ∫ 0 t z ( ? ) d τ + d z d t E=2\gamma z+\gamma^2\int_{0}^{t}z\left(\bullet\right)d\tau+\frac{dz}{dt} E=2γz+γ2∫0t?z(?)dτ+dtdz?的可解釋性問題,考慮設 y ( t ) = ∫ 0 t z d t y\left(t\right)=\int_{0}^{t}zdt y(t)=∫0t?zdt,那么 E E E可以轉換為 E = ( α + β ) y ˙ + α β y + y ¨ E=\left(\alpha+\beta\right)\dot{y}+\alpha\beta y+\ddot{y} E=(α+β)y˙?+αβy+y¨?,將 E E E通過拉普拉斯變換,轉換成 E ( s ) = ( s + α ) ( s + β ) Y ( s ) E\left(s\right)=\left(s+\alpha\right)\left(s+\beta\right)Y\left(s\right) E(s)=(s+α)(s+β)Y(s),便于進行因式分解,將本式進行等價轉換,得到 Y ( s ) = 1 ( s + α ) ( s + β ) E ( s ) Y\left(s\right)=\frac{1}{\left(s+\alpha\right)\left(s+\beta\right)}E\left(s\right) Y(s)=(s+α)(s+β)1?E(s),這在控制系統中屬于非常穩定的濾波器,其有兩個極點,位于實軸的兩側,一個 α \alpha α一個 β \beta β,這樣得到極值保證了 E E E最小,就可以保證 z z z最小,從而保證了 e e e(誤差)最小。
3.5 對于方系統與非方系統的應用
??對于方系統的PID控制數學建模考慮加入可控的參數在神經網絡中,根據上面章節的推論,可以得到方系統PID控制的數學模型:
u = ( k p + Δ k p ( ? ) ) Λ z + ( k l + Δ k l ) Λ ∫ 0 t z ( ? ) d τ + ( k D + Δ k D ) Δ d z d t u=\left(k_p+\Delta k_p\left(\bullet\right)\right)\Lambda z+\left(k_l+\Delta k_l\right)\Lambda\int_{0}^{t}z\left(\bullet\right)d\tau+\left(k_D+\Delta k_D\right)\Delta\frac{dz}{dt} u=(kp?+Δkp?(?))Λz+(kl?+Δkl?)Λ∫0t?z(?)dτ+(kD?+ΔkD?)Δdtdz?
??可見此處模型只是將上節推論的公式的各項添加了一個參數矩陣 Λ \Lambda Λ,在方系統中, Λ \Lambda Λ是一個單位矩陣,其約束與上節相同:
k p = ( α + β ) k D k l = α β k D k D = ? Δ k p ( ? ) = ( α + β ) Δ k D ( ? ) Δ k l ( ? ) = α β Δ k D ( ? ) Δ k D ( ? ) = a ^ φ 2 ( ? ) k_p=\left(\alpha+\beta\right)k_D k_l=\alpha\beta k_D k_D=? \Delta k_p\left(\bullet\right)=(\alpha+\beta)\Delta k_D\left(\bullet\right) \Delta k_l\left(\bullet\right)=\alpha\beta\Delta k_D\left(\bullet\right) \Delta k_D\left(\bullet\right)=\hat{a}\varphi^2(\bullet) kp?=(α+β)kD?kl?=αβkD?kD?=?Δkp?(?)=(α+β)ΔkD?(?)Δkl?(?)=αβΔkD?(?)ΔkD?(?)=a^φ2(?)
??在對自適應參數 a ^ \hat{a} a^在神經網絡的更新策略中,遵循以下原則:
a ^ ˙ = ? σ 0 a ^ + σ 1 φ 2 ( ? ) ∣ ∣ E ∣ ∣ 2 \dot{\hat{a}}=-\sigma_0\hat{a}+\sigma_1\varphi^2(\bullet){||E||}^2 a^˙=?σ0?a^+σ1?φ2(?)∣∣E∣∣2
??其中, σ 0 \sigma_0 σ0?與 σ 1 \sigma_1 σ1?為正數參數。經過下列引理證明,其具有可行性。
??對于非方系統的PID控制器設計模型,由于其輸入信號與輸出信號不同,所以其矩陣并非方陣,非方系統的矩陣設為 B ( ? ) = B 0 ( ? ) M ( ? ) B\left(\bullet\right)=B_0(\bullet)M(\bullet) B(?)=B0?(?)M(?),其中 B 0 ( ? ) ∈ R m × l B_0(\bullet)\in R^{m\times l} B0?(?)∈Rm×l為行滿秩的有界矩陣, M ( ? ) ∈ R l × l M(\bullet)\in R^{l\times l} M(?)∈Rl×l為嚴格正定或者負定的矩陣,關于非方系統的PID設計數學模型基本與方系統相同。
u = ( k p + Δ k p ( ? ) ) Λ z + ( k l + Δ k l ) Λ ∫ 0 t z ( ? ) d τ + ( k D + Δ k D ) Δ d z d t u=\left(k_p+\Delta k_p\left(\bullet\right)\right)\Lambda z+\left(k_l+\Delta k_l\right)\Lambda\int_{0}^{t}z\left(\bullet\right)d\tau+\left(k_D+\Delta k_D\right)\Delta\frac{dz}{dt} u=(kp?+Δkp?(?))Λz+(kl?+Δkl?)Λ∫0t?z(?)dτ+(kD?+ΔkD?)Δdtdz?
??對于 Λ \Lambda Λ,其與方系統中的單位陣不同,在非方系統的數學模型中, Λ = B 0 T ∣ ∣ B 0 ∣ ∣ \Lambda=\frac{B_0^T}{||B_0||} Λ=∣∣B0?∣∣B0T??,其余約束與方系統相同,分別為:
k p = ( α + β ) k D k l = α β k D k D = ? Δ k p ( ? ) = ( α + β ) Δ k D ( ? ) Δ k l ( ? ) = α β Δ k D ( ? ) Δ k D ( ? ) = a ^ φ 2 ( ? ) k_p=\left(\alpha+\beta\right)k_D k_l=\alpha\beta k_D k_D=? \Delta k_p\left(\bullet\right)=(\alpha+\beta)\Delta k_D\left(\bullet\right) \Delta k_l\left(\bullet\right)=\alpha\beta\Delta k_D\left(\bullet\right) \Delta k_D\left(\bullet\right)=\hat{a}\varphi^2(\bullet) kp?=(α+β)kD?kl?=αβkD?kD?=?Δkp?(?)=(α+β)ΔkD?(?)Δkl?(?)=αβΔkD?(?)ΔkD?(?)=a^φ2(?)
??自適應參數的更新過程仍然遵循 a ^ ˙ = ? σ 0 a ^ + σ 1 φ 2 ( ? ) ∣ ∣ E ∣ ∣ 2 \dot{\hat{a}}=-\sigma_0\hat{a}+\sigma_1\varphi^2(\bullet){||E||}^2 a^˙=?σ0?a^+σ1?φ2(?)∣∣E∣∣2,經過以下圖示引理可以證明其在MIMO系統中的可行性:
4. 總體設計
4.1 參數更新總體設計
??神經網絡自適應的PID控制器的參數更新設計框圖如下圖所示,將濾波后的誤差 e e e映射成為 z 1 z_1 z1?,通過乘積形式的 γ 2 \gamma^2 γ2參數 α β \alpha\beta αβ( α \alpha α與 β \beta β為拉普拉斯變換再因式分解后的極點)和和形式的 γ \gamma γ參數 α + β \alpha+\beta α+β以及隨時間變化的 d ( ? ) d(\bullet) d(?),將PID的比例部分、積分部分、微分部分進行等價變換、因式分解和加權求和的形式得到一般化的誤差 E E E,將 E E E與神經網絡中的激活函數的運算乘參數 σ 1 \sigma_1 σ1?,將累積的舊的 a ^ \hat{a} a^乘 ? σ 0 -\sigma_0 ?σ0?,將兩部分求和去更新自適應參數 a ^ \hat{a} a^,最終的更新學習訓練的過程并不是通過設置比例系數、積分系數、微分系數來逼近良好的結果,而是有單一的自適應參數 a ^ \hat{a} a^。
4.2 系統總體設計
??從參數更新的角度去分析系統設計的框圖,這一部分也是設計最核心、最重要的,本節是從總體設計的角度來分析總體設計的框圖,總體設計框圖如下圖所示,系統輸入通過誤差濾波生成濾波后的誤差,通過恒定的比例系數部分 k p k_p kp?和隨時間變化的比例系數 Δ k p \Delta k_p Δkp?進行加權求和,從而生成比例部分的設計,恒定比例系數部分 k p k_p kp?包括了 α + β \alpha+\beta α+β決定的 k D k_D kD?,隨時間變化部分的部分包含了 α + β \alpha+\beta α+β決定的自適應的環節,細節已經在上面的系統設計中闡釋,不再贅述;通過恒定的積分系數部分 k l k_l kl?和隨時間變化的積分系數 Δ k l \Delta k_l Δkl?進行加權求和,從而生成積分部分的設計,恒定積分系數部分 k l k_l kl?包括了 α β \alpha\beta αβ決定的 k D k_D kD?,隨時間變化部分的部分包含了 α β \alpha\beta αβ決定的自適應的環節;通過恒定的微分系數部分 k D k_D kD?和隨時間變化的比例系數 Δ k D \Delta k_D ΔkD?進行加權求和,從而生成微分部分的設計,恒定微分系數部分 k D k_D kD?,隨時間變化部分的部分屬于自適應的環節;綜上三個部分的設計,將輸出信號給予執行器,在實際的閉環系統工作中得到反饋信號,將反饋信號再次作為輸入計算誤差輸入誤差濾波器,反復迭代,直到結果收斂到滿意的程度。
5. 應用與擴展
5.1 機器人機械臂方面的應用
??在機器人的關節空間當中,關節空間是典型的方系統,而末端執行結構(抓取結構)的任務空間是非方系統,其n關節嚴格物理連接的機器人操作器的數學建模如下圖所示:
??在方系統的關節空間軌跡中,執行器的建模如下圖所示:
??設定 y = x 1 = q ∈ R n , z = e 1 = x 1 ? y ? = q ? q ? y=x_1=q\in R^n,z=e_1=x_1-y^\ast=q-q^\ast y=x1?=q∈Rn,z=e1?=x1??y?=q?q?用于表征關節空間的角度誤差,那么多關節機器人PID控制器的數學建模如下:
u = ( k p + Δ k p ( ? ) ) Λ z + ( k l + Δ k l ) Λ ∫ 0 t z ( ? ) d τ + ( k D + Δ k D ) Δ d z d t u=\left(k_p+\Delta k_p\left(\bullet\right)\right)\Lambda z+\left(k_l+\Delta k_l\right)\Lambda\int_{0}^{t}z\left(\bullet\right)d\tau+\left(k_D+\Delta k_D\right)\Delta\frac{dz}{dt} u=(kp?+Δkp?(?))Λz+(kl?+Δkl?)Λ∫0t?z(?)dτ+(kD?+ΔkD?)Δdtdz?
??約束與第三章的設計中所述一致,由于關節空間中是方系統,所以 Λ \Lambda Λ為單位陣,在自適應參數的更新原則 a ^ ˙ = ? σ 0 a ^ + σ 1 φ 2 ( ? ) ∣ ∣ E ∣ ∣ 2 \dot{\hat{a}}=-\sigma_0\hat{a}+\sigma_1\varphi^2(\bullet){||E||}^2 a^˙=?σ0?a^+σ1?φ2(?)∣∣E∣∣2 中, φ 2 ( ? ) \varphi^2(\bullet) φ2(?)是NN逼近或者說重構的核心函數。
??在任務空間的非方系統中,設定三維笛卡爾坐標系空間下的 X ∈ R 3 X\in R^3 X∈R3,動態映射 X ? = ε ( q ) X^\ast=\varepsilon(q) X?=ε(q),設定 y ? = X ? ∈ R 3 , y = x 1 = X , z = e = X ? X ? y^\ast=X^\ast\in R^3,y=x_1=X,z=e=X-X^\ast y?=X?∈R3,y=x1?=X,z=e=X?X?(也即末端操作空間的位置誤差),誤差濾波函數如下:
z 1 ¨ = J ( ? ) q ¨ ? y ? ¨ = B ( ? ) u + F ( ? ) \ddot{z_1}=J\left(\bullet\right)\ddot{q}-\ddot{y^\ast}=B\left(\bullet\right)u+F(\bullet) z1?¨?=J(?)q¨??y?¨?=B(?)u+F(?)
??其約束 J ( ? ) = ? ε ( q ) ? q ∈ R 3 × n J\left(\bullet\right)=\frac{\partial\varepsilon(q)}{\partial q}\in R^{3\times n} J(?)=?q?ε(q)?∈R3×n為雅可比矩陣,同時F與B滿足下圖的要求:
??多關節機器人任務空間PID控制器的數學建模如下:
u = ( k p + Δ k p ( ? ) ) Λ z + ( k l + Δ k l ) Λ ∫ 0 t z ( ? ) d τ + ( k D + δ k D ) Δ d z d t u=\left(k_p+\Delta k_p\left(\bullet\right)\right)\Lambda z+\left(k_l+\Delta k_l\right)\Lambda\int_{0}^{t}z\left(\bullet\right)d\tau+\left(k_D+\delta k_D\right)\Delta\frac{dz}{dt} u=(kp?+Δkp?(?))Λz+(kl?+Δkl?)Λ∫0t?z(?)dτ+(kD?+δkD?)Δdtdz?
??其約束不再贅述,其誤差 z = e = X ? X ? z=e=X-X^\ast z=e=X?X?(末端操作空間位置誤差),由于是非方系統,那么 Λ = J T ∣ ∣ J ∣ ∣ \Lambda=\frac{J^T}{||J||} Λ=∣∣J∣∣JT?,在自適應參數的更新原則 a ^ ˙ = ? σ 0 a ^ + σ 1 φ 2 ( ? ) ∣ ∣ E ∣ ∣ 2 \dot{\hat{a}}=-\sigma_0\hat{a}+\sigma_1\varphi^2(\bullet){||E||}^2 a^˙=?σ0?a^+σ1?φ2(?)∣∣E∣∣2中, φ 2 ( ? ) \varphi^2(\bullet) φ2(?)是NN逼近或者說重構的核心函數。
6. 總結
??神經網絡自適應的PID具有極強的現實意義,因為PID作為影響力和應用面極大的經典控制算法,對于其優化能夠帶來工業界、控制工程領域的極大便利,在實際的應用場景中,對于PID的使用,往往通過手動調參的方式去實驗,在一些損失影響不大的系統中,往往耗費時間,在損失影響較大的系統中,往往會造成一些不可估量的成本耗費,而引入神經網絡自適應的PID能夠完成無需人工試錯的環節,節省大量的人力和資源成本;同時,經典控制理論與人工智能神經網絡的結合,將會給控制工程帶來很強擴展性,能夠實現PID控制算法的參數關聯自動調整-解析算法,通過自動編程的方式實現實時自適應調整;由于PID控制系統有了自適應的參數,其容錯率將大大提高,魯棒性也大大提高;通過學術前輩的工作,將神經網絡自適應的PID的數學建模建立出來,優化參數量,通過神經網絡的方式去逼近,易于實現且使得成本可控,當然在神經網絡的調優上,仍然需要做一些工作,目前關于PID的學術論文在LTI系統和UNS系統兩個領域里近年來出現了很多可行性高的新思維的碰撞,在可解釋性、自適應性和容錯性上也各不相同,足以證明PID在控制領域的重要地位,也足以證明PID和神經網絡結合的必要性和可擴展性。
總結
以上是生活随笔為你收集整理的神经网络自适应PID控制及其应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3.6.3 获取分区的读取偏移量
- 下一篇: uniapp 开发小程序使用iconfo