朱大昌,崔翱東,杜寶林,盤意華
(廣州大學機械與電氣工程學院,廣東廣州 510006)
目前,機械臂控制往往采用單通道獨立控制方 式, 由于各關節(jié)運動協(xié)同性的缺失, 導致機械臂末端受力不均衡, 關節(jié)磨損加劇, 從而降低了機械臂的整體性能。
為解決機械臂多關節(jié)的同步控制問題,KOREN提出了交叉耦合控制方法,通過共享各關節(jié)位置傳感信息,產(chǎn)生相應控制信號,構建同步誤差模型, 以實現(xiàn)多關節(jié)的同步控制。交叉耦合控制方法在多自由度機器人控制系統(tǒng)中得到較為廣泛的應用。 一般情況下,研究者將同步誤差定義為關節(jié)變量誤差之差, 在滿足同步誤差收斂的同時, 計算簡單、 易于實現(xiàn),并應用于多關節(jié)機械臂同步控制器設計。
多自由度機械臂是一種典型的非線性、強耦合系統(tǒng),以上同步誤差定義方式難以滿足其對于復雜軌跡跟蹤性能的要求。針對這一問題,文獻[6]中采用操作空間輪廓誤差在關節(jié)空間的映射值來表征機械臂各關節(jié)之間的同步性能, 提出輪廓誤差同步(Contour Error Synchronization,CES)控制器,提高了機械臂各關節(jié)同步性能,有效降低末端輪廓誤差, 取得了良好的效果。然而, 目前輪廓誤差同步控制大多采用傳統(tǒng)PID算法,難以滿足多自由度機械臂對快速性和精確性的要求,而機械臂控制中廣泛應用的計算力矩控制算法(CTC)則對機械臂模型精度有較高的要求。
模型預測控制(Model Predictive Control,MPC)是一種對模型精度要求不高、在線計算方便、可以直接處理系統(tǒng)輸入輸出或狀態(tài)約束、控制綜合質(zhì)量好的新型控制算法。相對于CTC,MPC對模型精度要求低,有著更好的控制效果。近年來,模型預測控制在機器人控制領域得到了廣泛的發(fā)展。
本文作者提出了一種機械臂輪廓誤差同步預測控制策略。首先利用輪廓誤差轉(zhuǎn)換矩陣求解操作空間的輪廓誤差,并利用機械臂雅可比矩陣將操作空間輪廓誤差映射到關節(jié)空間;再根據(jù)各個關節(jié)的跟蹤誤差和操作空間輪廓誤差在關節(jié)空間的映射值重新定義了關節(jié)空間耦合誤差,各關節(jié)的耦合誤差包含了自身的信息和其他所有關節(jié)的信息,提高了各關節(jié)的協(xié)調(diào)性;最后利用耦合誤差的離散化模型設計了輪廓誤差同步預測控制器。為解決常規(guī)預測控制器不能保證系統(tǒng)穩(wěn)定的問題,進一步提出了雙模同步預測控制。試驗結果表明:所設計的控制器能在保證跟蹤誤差收斂的同時有效減小輪廓誤差并提高各關節(jié)之間的協(xié)調(diào)性,使得控制力矩相比常規(guī)預測控制更為柔和。
采用拉格朗日能量法,自由度機械臂的動力學方程表示為
(1)
機械臂的動力學方程(1)難以直接用于MPC控制器的設計。采用泰勒展開法,機械臂動力學方程線性化、離散化處理過程如下:
(2)
式中:
()=()
記采樣周期為,當前時刻為,由泰勒展開式可以得到+1時刻的狀態(tài)為
(3)
進一步地,可以將式(3)寫成更簡潔的形式:
(+1)=()+()+
(4)
(+1)=(+1)-(+1)=()+()+-(+1)
(5)
為了計算各個軸的同步誤差,需首先計算機械臂操作空間的輪廓誤差,再將操作空間的輪廓誤差映射到關節(jié)空間,最后將操作空間輪廓誤差在關節(jié)空間的映射值作為各個軸的同步誤差。操作空間輪廓誤差定義為末端實際位置與期望軌跡輪廓最近點的差值。為了減小計算量,用輪廓最近點的估計值代替實際值,輪廓最近點估計值定義為實際位置到期望位置切線的垂足,具體如圖1所示。
圖1 操作空間輪廓誤差
=·
(6)
式中:為輪廓誤差轉(zhuǎn)換矩陣:
通過式(6)可以由操作空間的軌跡跟蹤誤差得到操作空間的輪廓誤差。實際應用中機械臂操作空間的軌跡跟蹤誤差難以直接測量得到,可以利用雅可比矩陣將關節(jié)空間的位置跟蹤誤差映射到操作空間:
=·
(7)
式中:∈×表示機械臂的雅可比矩陣,表示笛卡爾空間自由度數(shù)。
設操作空間輪廓誤差在關節(jié)空間的映射值為∈×1,此映射值可以通過雅可比矩陣的逆矩陣求解得到:
=·
(8)
式中:表示雅可比矩陣的逆矩陣。聯(lián)立式(6)(7)(8)可以得到:
=···
(9)
通過式(9)可以得到操作空間輪廓誤差在關節(jié)空間的映射值。文中將定義為關節(jié)空間同步誤差,進行了同步控制器的設計。
為了同時考慮關節(jié)空間的跟蹤誤差和同步誤差,需定義關節(jié)空間的耦合誤差。常見耦合誤差的定義方式為
=+λ
(10)
式中:∈×1為關節(jié)耦合誤差;∈×1為關節(jié)跟蹤誤差;∈×1為關節(jié)同步誤差;為耦合系數(shù),耦合系數(shù)越大,關節(jié)同步性能越好。
=-
(11)
式中:表示關節(jié)空間的耦合誤差;為當前實際狀態(tài)。可通過下式求解:
(12)
式中:、分別為關節(jié)目標修正位置和速度;為只考慮同步誤差時的關節(jié)目標修正位置;為耦合系數(shù)??梢钥闯?span id="j5i0abt0b" class="emphasis_italic">始終位于和之間,耦合系數(shù)越大,越接近,同步性能越好。通過式(11)定義的耦合誤差包含了關節(jié)的位置、速度跟蹤誤差信息和位置同步誤差信息,所起到的效果與式(10)近似,且推導出的離散化表達式更為簡單,便于預測控制器的設計。
根據(jù)式(4)(11),可以得到耦合誤差的離散化表達式為
(+1)=()+()+-
(13)
再將式(11)代入式(13),可以將式(13)改寫成如下形式:
(+1)=()+()+-(+)
(14)
定義系統(tǒng)時刻綜合性能指標為
(15)
參照文獻[10],記
根據(jù)式(4)可以得到:
=++
式中:
所以,式(15)等價于:
(16)
式中:
=-(+)(+-)
(17)
由于預測控制采用了滾動優(yōu)化的控制策略,在時刻,只取中的第一項()作用到機械臂上,在+1時刻,則重新求解并取第一項(+1)作用到機械臂上。
上一小節(jié)設計的預測控制器容易求解得到控制力矩的解析表達式,但難以保證系統(tǒng)的穩(wěn)定性。文獻[11]總結了預測控制穩(wěn)定性設計的三大要素即終端集、終端代價函數(shù)和局部控制率,并概括了保證預測控制穩(wěn)定性的基本途徑。作者提出了一種雙模預測控制器,重新定義了系統(tǒng)的性能指標函數(shù),并給出了三大要素的表達式,通過在有限時域內(nèi)將系統(tǒng)狀態(tài)驅(qū)動到終端集內(nèi),之后再切換到局部控制率,將系統(tǒng)狀態(tài)穩(wěn)定在終端集內(nèi),保證了系統(tǒng)的穩(wěn)定性。
帶有終端集約束和終端代價函數(shù)的雙模預測控制,時刻的優(yōu)化問題表示為
(18)
在控制時域內(nèi),通過求解優(yōu)化問題式(18)將(+|)控制到終端集內(nèi),然后通過局部控制率鎮(zhèn)定系統(tǒng)。下面設計局部控制率:
首先,利用輸入變換,設
(19)
式中:表示機械臂實際輸入力矩。
(+1)=()+()
然后設計局部控制率:
()=(|)
式中:∈×2。
在局部控制率的作用下,將式(21)代入式(20)得到:
(+1)=(+)()
(22)
機械臂的實際輸入力矩可以通過求解式(19)(21)得到。
對于終端集和局部控制率,要求所構造的和要使(++1|)落在終端集內(nèi),即要求:
由于
所以,所設計的控制器必須滿足需滿足條件1:
(+)(+)-≤0
(23)
首先假設條件1滿足。設時刻最優(yōu)性能指標為(),()和()分別是最優(yōu)解和最優(yōu)狀態(tài)軌跡。設+1時刻的一個可行解為
(+1)=(+1|+1),…,(+|+1),
(++1|+1)
注意到(+1)僅為可行解而并非最優(yōu)解,所以由此可行解得到的(+1)滿足:(+1)≥(+1),式中(+1)表示+1時刻的最優(yōu)性能指標。
+1時刻的性能指標函數(shù)表示為
(++1|+1)=(+)(+|)
所以:
又由于:
所以:
故而,若滿足條件2:
+(+)(+)-≤0
則可證得:
()≥(+1)≥(+1)
(25)
式(25)表示綜合性能指標是不斷收斂的,穩(wěn)定性得以證明。由于條件2覆蓋條件1,所以只需滿足條件2即可證明控制器穩(wěn)定。
另外,為了求解和,可以將式(24)改寫成LMI形式:記=,=,式(24)可改寫為
--(+)(+)>0
再將上式進一步改寫成LMI形式:
(26)
通過求解此LMI可以得到和。
所以,機械臂的雙模預測控制算法的步驟為
步驟1,獲取當前機械臂的狀態(tài)。
步驟2,根據(jù)LMI表達式(26)求解得到和,從而得到具體的優(yōu)化問題表達式。
步驟3,求解優(yōu)化問題(18)并得到最優(yōu)控制序列。
步驟4,將最優(yōu)控制序列的第一個控制率施加給機械臂。
步驟5,返回步驟1進行下一時刻的流程。
以二自由度機械臂為對象,將本文作者設計的輪廓誤差同步預測控制器(CES-MPC),與傳統(tǒng)的預測控制器(MPC)以及計算力矩控制器(CTC)進行了對比。
CTC控制算法的表達式為
預測控制算法的表達式為
二自由度機械臂實驗平臺如圖2所示,實際實驗中的關節(jié)輸出力矩約束為=-=5 N·m,=-=0.5 N·m。實驗結果如圖3—圖5所示。
圖2 二自由度機械臂實驗平臺
圖3 末端直線軌跡 圖4 關節(jié)1輸出力矩
圖5 關節(jié)2輸出力矩
為了更好地分析實驗結果,將實驗中3種算法下末端軌跡的跟蹤誤差和輪廓誤差值進行了對比,末端軌跡誤差比較見表1。
表1 末端軌跡輪廓誤差比較
通過對比3種算法的實驗結果可以看出:在末端存在初始誤差的情況下,所設計的CES-MPC算法相比CTC算法和MPC算法,能更加有效地減小末端輪廓誤差,且相比常規(guī)MPC算法,關節(jié)輸出力矩波動較小,有著良好的控制效果。
為了提高機械臂末端軌跡精度和輪廓精度,并增強各軸之間的協(xié)調(diào)性,在基于操作空間輪廓誤差模型的機械臂輪廓誤差同步控制的基礎上,引入了預測控制策略,提出了一種基于預測控制的機械臂輪廓誤差同步控制。為了保證控制系統(tǒng)的穩(wěn)定性,進一步引入了雙模預測控制的概念。二自由度機械臂實驗的實驗結果表明:本文作者設計的控制器在保證機械臂末端跟蹤精度的同時,能顯著提高末端輪廓精度,并且增強了各軸之間的協(xié)調(diào)性,使各關節(jié)的輸出力矩更為柔和,在末端軌跡存在初始誤差的情況下仍然有良好的控制效果。