本發明屬于軌跡跟蹤控制領域,尤其涉及一種具有初態學習的機械臂分數階迭代學習控制方法及系統。
背景技術:
隨著科學技術發展,機器人已經廣泛應用到航天、醫療和軍事,甚至日常生活及娛樂教育等各個領域。制造機器人初期的目的是把它當作一種自動化裝置,服務于制造業。隨著理論和技術的日益成熟,人們對機器人提出了越來越多的要求。
機器人系統是一個典型的高度非線性、強耦合的動力學系統,其高精度控制問題一直是工業自動化領域研究的熱點。目前,機器人機械臂的精確控制方法有:變結構控制、滑模控制、魯棒控制和學習控制等;然而前幾種控制方法均為有模型控制,機械臂實際運行過程中存在的摩擦、高頻特性、載荷變化以及其它不確定干擾因素勢必會對控制品質造成影響。受人類智能行為啟發,學習控制以非常簡單的方式和需要較少的先驗知識處理不確定程度相當高的動態系統,因此得到了廣泛的研究和應用。
軌跡跟蹤學習控制方法可以實現對期望軌跡的完全跟蹤,然而現有的方法均要求系統滿足嚴格重置條件,即每次迭代時的系統初態與期望軌跡初態保持一致,在實際跟蹤控制嘗試時,因為重復定位精度的限制,機器人初態容易產生初始定位誤差。因為機器人控制系統的輸出軌跡關于初值具有連續依賴性,初始定位誤差的累加會導致跟蹤軌跡與期望軌跡誤差大,降低了跟蹤的準確性。
技術實現要素:
為了解決現有技術的缺點,本發明的第一目的是提供一種具有初態學習的機械臂分數階迭代學習控制方法。
本發明的一種具有初態學習的機械臂分數階迭代學習控制方法,包括:
步驟1:建立機械臂系統的動力學模型,預設機械臂系統的期望運動軌跡;
步驟2:初始化機械臂系統的狀態量的初態以及系統輸入,根據機械臂系統的動力學模型,求取機械臂系統的實際運動軌跡;
步驟3:計算并判斷實際運動軌跡與期望運動軌跡兩者的跟蹤誤差是否為零,若跟蹤誤差為零,則實際運動軌跡與期望運動軌跡重合,結束;否則,進入下一步;
步驟4:根據跟蹤誤差的初態及設定的初態學習增益來修正機械臂系統的狀態量的初態,根據跟蹤誤差以及設定的輸入學習增益和分數階數來修正機械臂系統的系統輸入,進而求取機械臂系統的實際運動軌跡,返回步驟3。
進一步地,在所述步驟4中,利用具有初態學習的閉環分數階Dα型迭代學習控制算法來修正機械臂系統的狀態量的初態以及系統輸入,其中,α∈(0,1)為分數階的階數。
進一步地,在步驟1中,建立機械臂系統的動力學模型之前,確定機械臂系統的自由度,根據拉格朗日-歐拉法,得到相應自由度的機械臂系統的動力學模型。
本發明利用分數階迭代學習控制機械臂系統,不需要機械臂系統的精確描述,能夠根據以前操作數據,自動地調節不理想的輸入信號來控制機械臂系統,從而使得機械臂系統的性能得以提高;而且本發明在控制效果上具有更快的收斂速度和更好的魯棒性,最終使得機械臂快速準確地實現跟蹤任務。
本發明的控制方法利用了初態學習律有效地解決了迭代學習控制要求初態嚴格重復的局限性,即不需要每次跟蹤學習過程中系統的初態狀態和期望跟蹤軌跡的初始狀態都相等,使得控制方法更適用于實際系統控制環境。
本發明的第二目的是提供一種機械臂控制系統。
本發明的機械臂控制系統,包括:
控制器,其應用如上述所述的具有初態學習的機械臂分數階迭代學習控制方法來控制機械臂驅動機構運動;
所述機械臂驅動機構與機械臂系統相連,機械臂驅動機構用于在控制器的控制下來驅動機械臂系統運動。
進一步地,所述機械臂驅動機構為驅動電機。
進一步地,所述機械臂系統包括機械臂,所述機械臂與關節相連,所述機械臂與機械臂驅動機構相連,在控制器的作用下繞關節運動。
進一步地,所述機械臂系統為n自由度機械臂系統,其中,n為正整數。
本發明的該機械臂控制系統利用分數階迭代學習控制機械臂系統,不需要機械臂系統的精確描述,能夠根據以前操作數據,自動地調節不理想的輸入信號來控制機械臂系統,從而使得機械臂系統的性能得以提高;而且本發明在控制效果上具有更快的收斂速度和更好的魯棒性,最終使得機械臂快速準確地實現跟蹤任務。
本發明的第三目的是提供一種機器人。
本發明的機器人,包括機器人本體以及機械臂系統,所述機械臂系統與如上述所述的機械臂控制系統相連。
本發明的機器人利用分數階迭代學習控制機械臂系統,不需要機械臂系統的精確描述,能夠根據以前操作數據,自動地調節不理想的輸入信號來控制機械臂系統,從而使得機械臂系統的性能得以提高;而且本發明在控制效果上具有更快的收斂速度和更好的魯棒性,最終使得機械臂快速準確地實現跟蹤任務。
本發明的有益效果為:
(1)本發明利用分數階迭代學習控制機械臂系統,不需要機械臂系統的精確描述,能夠根據以前操作數據,自動地調節不理想的輸入信號來控制機械臂系統,從而使得機械臂系統的性能得以提高;而且本發明在控制效果上具有更快的收斂速度和更好的魯棒性,最終使得機械臂快速準確地實現跟蹤任務。
(2)本發明的控制方法利用了初態學習律有效地解決了迭代學習控制要求初態嚴格重復的局限性,即不需要每次跟蹤學習過程中系統的初態狀態和期望跟蹤軌跡的初始狀態都相等,使得控制方法更適用于實際系統控制環境。
附圖說明
圖1是本發明的具有初態學習的機械臂系統分數階迭代學習控制原理圖;
圖2是本發明的具有初態學習的機械臂系統分數階迭代學習控制方法流程圖;
圖3是兩關節機械臂示意圖;
圖4是隨著迭代次數的增加,機械臂各關節跟蹤誤差曲線圖;
圖5(a)是迭代30次時的機械臂的第一關節跟蹤結果;
圖5(b)是迭代30次時的機械臂的第二關節跟蹤結果。
具體實施方式
下面結合附圖與實施例對本發明做進一步說明:
實施例1
如圖1和圖2所示,本發明的具有初態學習的機械臂分數階迭代學習控制方法,包括:
步驟1:建立機械臂系統的動力學模型,預設機械臂系統的期望運動軌跡;
步驟2:初始化機械臂系統的狀態量的初態以及系統輸入,根據機械臂系統的動力學模型,求取機械臂系統的實際運動軌跡;
步驟3:計算并判斷實際運動軌跡與期望運動軌跡兩者的跟蹤誤差是否為零,若跟蹤誤差為零,則實際運動軌跡與期望運動軌跡重合,結束;否則,進入下一步;
步驟4:根據跟蹤誤差的初態及設定的初態學習增益來修正機械臂系統的狀態量的初態,根據跟蹤誤差以及設定的輸入學習增益和分數階數來修正機械臂系統的系統輸入,進而求取機械臂系統的實際運動軌跡,返回步驟3。
在步驟4中,利用具有初態學習的閉環分數階Dα型迭代學習控制算法來修正機械臂系統的狀態量的初態以及系統輸入,其中,α∈(0,1)為分數階的階數。
在步驟1中,建立機械臂系統的動力學模型之前,確定機械臂系統的自由度,根據拉格朗日-歐拉法,得到相應自由度的機械臂系統的動力學模型。
本實施例以包含n個剛性連桿和n個旋轉關節的機械臂系統為例,n為正整數:
由拉格朗日-歐拉法得,到該n自由度的機械臂系統的動力學模型為:
式中:θ,分別表示機械臂關節位置、速度和加速度向量;τ表示作用在關節上的廣義力矩向量;D(θ)∈Rn×n為慣性矩陣;表示非線性哥氏力和向心力矢量;g(θ)∈Rn為重力項。
設機械臂系統(1)在有限時間區間[0,T]上重復運行以實現期望運動θd(t)的跟蹤,則第k次迭代運行系統(1)的動力學方程可表示為:
對系統(1)考慮如下反饋-前饋控制方法:
其中:用于消除重力項;位置反饋增益kρ和速度反饋增益kv是常量矩陣;選取合適的反饋增益時,機械臂通常僅能跟蹤期望運動軌跡的附近;k為下標,表示第k次運行系統,也就是迭代次數,且k正整數;含有下標d的參數表示期望軌跡的相應參數。因此,增加采用學習方法的輸入項uk以減少系統的響應與期望運動間存在的偏差。
將式(3)代入式(2)有:
化簡整理,得到:
其中,xk(t)=θk(t)-θd(t);
R(t)=D(θd);
g1(t)=-R-1(t)h(t);
其中,n1,n2,n3分別是關于的高階項;下標k表示第k次迭代,含有下標d的參數表示期望軌跡的相應參數;R(t)總是正定的。
為實現機械臂對期望軌跡的跟蹤,定義系統輸出為如下形式:
其中:In表示n*n的單位矩陣,n是機械臂自由度數。
其中,本發明的具有初態學習的閉環分數階Dα型迭代學習控制算法為:
其中:α∈(0,1)為分數階的階數;ek(t)=yd(t)-yk(t)表示第k次迭代機械臂系統的跟蹤誤差;yd(t)表示期望軌跡;yk(t)表示第k次迭代運行時機械臂系統的輸出軌跡;L和η是待定的初態學習增益和輸入學習增益;ek(0)表示第k次迭代運行時機械臂系統的跟蹤誤差的初態;xk(0)為第k次迭代運行時機械臂系統的狀態量的初態;xk+1(0)為第k+1次迭代運行時機械臂系統的狀態量的初態;uk(t)為第k次迭代運行時機械臂系統的系統輸入;uk+1(t)為第k+1次迭代運行時機械臂系統的系統輸入。
仿真驗證:
如圖3所示,二自由度旋轉關節機械臂進行仿真實驗該機械臂以平面運動為例,因此忽略重力項,對應系統(1)的系數矩陣分別為:
其中,
mi,liIi分別表示第i個連桿的質量,長度和轉動慣量;i=1,2。
仿真時取:m1=m2=4kg,l1=2m,l2=1m,I1=I2=1kg·m2,
τ=[τ1,τ2,τ3]T=[21,4,2]T。
機械臂期望的運動軌跡θ1和θ2分別選為時間區間[0,1]s上的q1,d(t)=sint和q2,d(t)=cos t,設系統的初始誤差為xk(0)=θk-θd=[0.1,0.1]T。根據算法收斂條件,分別選取學習控制算法中的學習增益為η=20;α=0.95;L=0.95。從圖中可以看到隨著迭代次數的增加,機械臂不斷趨向于期望軌跡。圖4是位置跟蹤誤差,圖5(a)和圖5(b)分別是第一關節和第二關節迭代第30次的跟蹤效果圖,從圖中可以看出,本發明提出的機械臂軌跡跟蹤控制方法具有較好的控制性能。
實施例2
本發明還提供了一種機械臂控制系統,該機械臂控制系統包括:控制器,其應用如圖2所示的具有初態學習的機械臂分數階迭代學習控制方法來控制機械臂驅動機構運動;
機械臂驅動機構與機械臂系統相連,機械臂驅動機構用于在控制器的控制下來驅動機械臂系統運動。
其中,機械臂驅動機構為驅動電機。
機械臂系統包括機械臂,所述機械臂與關節相連,所述機械臂與機械臂驅動機構相連,在控制器的作用下繞關節運動。
機械臂系統為n自由度機械臂系統,其中,n為正整數。
本實施例的該機械臂控制系統利用分數階迭代學習控制機械臂系統,不需要機械臂系統的精確描述,能夠根據以前操作數據,自動地調節不理想的輸入信號來控制機械臂系統,從而使得機械臂系統的性能得以提高;而且本發明在控制效果上具有更快的收斂速度和更好的魯棒性,最終使得機械臂快速準確地實現跟蹤任務。
實施例3
本發明還提供了一種機器人,該機器人包括機器人本體以及機械臂系統,所述機械臂系統與如實施例2所示的機械臂控制系統相連。
機器人本體以及機械臂系統均是現有結構,此處將不再累述。
本實施例的該機器人利用分數階迭代學習控制機械臂系統,不需要機械臂系統的精確描述,能夠根據以前操作數據,自動地調節不理想的輸入信號來控制機械臂系統,從而使得機械臂系統的性能得以提高;而且本發明在控制效果上具有更快的收斂速度和更好的魯棒性,最終使得機械臂快速準確地實現跟蹤任務。
上述雖然結合附圖對本發明的具體實施方式進行了描述,但并非對本發明保護范圍的限制,所屬領域技術人員應該明白,在本發明的技術方案的基礎上,本領域技術人員不需要付出創造性勞動即可做出的各種修改或變形仍在本發明的保護范圍以內。