雷榮華,陳 力
(福州大學 機械工程及自動化學院,福州 350116)
空間機器人是由航天器與機械臂組成的一類復雜多體系統(tǒng),它可以協(xié)助宇航員執(zhí)行高風險的出艙任務,在空間探索領域發(fā)揮著巨大作用[1-5]??臻g機器人的執(zhí)行器頻繁運行控制指令,極易發(fā)生部分失效故障,并對系統(tǒng)的姿軌控制性能造成極大影響。目前,關于空間機器人的容錯研究鮮見報道,而對于其他非線性系統(tǒng)的容錯控制研究也有待完善。
對于存在執(zhí)行器故障與輸出力矩受限的航天器,文獻[6]提出了一種基于速度估計的容錯控制器,該算法在確知執(zhí)行器有效因子最小值的條件下實現(xiàn)了高精度的姿態(tài)容錯控制。然而,對于實際的航天器,有效因子的最小值通常難以獲取,從而阻礙了該控制策略的工程應用。針對存在執(zhí)行器故障與參數(shù)不確定的航天器,文獻[7]設計的一種自適應滑模控制器可以對有效因子的下界進行自適應估計和補償,并實現(xiàn)了有限時間姿態(tài)跟蹤控制,但該算法需要實時獲取系統(tǒng)的角速度信號。文獻[8]提出了一種基于故障在線估計的自適應容錯控制算法,該算法具有無需獲取任何故障信息的優(yōu)點,但文中使用了六組神經(jīng)網(wǎng)絡函數(shù),導致計算量龐大。
值得一提的是,與單臂空間機器人相比,雙臂空間機器人具備更高的定位精度和承載能力[9-10],因此具有更廣闊的工程應用前景。但要實現(xiàn)雙臂與載體的協(xié)調(diào)運動會加大建模與控制算法設計的難度。
考慮到當前研究現(xiàn)狀,本文針對關節(jié)執(zhí)行器存在部分失效故障的雙臂空間機器人的控制問題,提出了一種基于狀態(tài)觀測器的分散神經(jīng)網(wǎng)絡容錯算法。根據(jù)分散原理直接將執(zhí)行器部分失效故障問題轉化為參數(shù)不確定非線性系統(tǒng)的自適應容錯控制問題。結合狀態(tài)觀測器得到了關節(jié)的角速度信號,從而無需實時測量和反饋關節(jié)的角速度信號;利用分散神經(jīng)網(wǎng)絡對系統(tǒng)的不確定項與交聯(lián)項進行估計,從而無需確知任何故障信息。最后通過數(shù)值仿真示例校驗了算法的有效性。
具有2n個關節(jié)的雙臂空間機器人系統(tǒng)的平面結構如圖1所示。該系統(tǒng)由載體(航天器)基座B0以及剛性臂桿Bi(i= 1 ,2,… ,2n)組成。載體B0可做平面轉動與移動,臂桿Bi只能做平面轉動。
圖1 漂浮基雙臂空間機器人系統(tǒng)Fig.1 Free-floating dual-arm space robot system
圖1中:XOY為系統(tǒng)的慣性坐標系,xi oi yi為各分體Bi(i= 0 ,1,…,2n)的局部坐標系;分體Bi(i= 0,1,…,2n)的質量和中心轉動慣量分別為mi和Ji;旋轉中心O0與O1的距離為l0,機械臂Bi(i= 1 ,2,… ,2n)沿yi軸的長度為li;θ0為載體姿態(tài)相對Y軸的轉角,θi(i= 1 ,2,…,2n)為相鄰兩連桿的相對轉角;ω0=為載體的姿態(tài)角速度,ωi=θ˙i(i= 1 ,2,…,2n)為機械臂Bi的轉動角速度。
對于自由漂浮的欠驅動(載體姿態(tài)不控)雙臂空間機器人,利用第二類拉格朗日法可推導出系統(tǒng)的動力學微分方程為
為了獲取系統(tǒng)完全能控形式的動力學模型,以便于后續(xù)控制策略的實施,可將式(1)表示為如下分塊矩陣的形式:
式(2)可進一步分解為
由于D(q)是正定的分塊矩陣,故子矩陣D11的逆矩陣存在,并將其左乘式(3),即可求得載體姿態(tài)角加速度將代入式(4)并整理可得如下完全能控形式的動力學方程:
將雙臂空間機器人系統(tǒng)的臂桿關節(jié)考慮為一個子系統(tǒng),并從系統(tǒng)動力學方程(5)中分離出局部變量,可以得到子系統(tǒng)的動力學微分方程為[8]:
對于關節(jié)執(zhí)行器存在部分失效故障的空間機器人,其執(zhí)行器的理想輸出與實際輸出之間存在比例性偏差(有效因子)。此時,子系統(tǒng)的動力學模型為
其中:ρi∈(0,1]為表征執(zhí)行器故障程度的有效因子,其值越小表示執(zhí)行器故障程度越高;ρi=1與ρi∈(0,1)分別表示執(zhí)行器正常運行和發(fā)生部分失效故障。
為了便于狀態(tài)觀測器的設計,不妨定義第i個子系統(tǒng)(i= 1 ,2,…,2n)的狀態(tài)變量為則式(8)可以表示為如下的狀態(tài)空間方程:
其中:
其中:Wif和Wig為理想神經(jīng)網(wǎng)絡的權值,和Φig(qri)為神經(jīng)網(wǎng)絡基函數(shù),εif和εig為逼近誤差,εi1與εi2為正常數(shù)。
定義神經(jīng)網(wǎng)絡的最小逼近誤差為
假設1 神經(jīng)網(wǎng)絡的最小逼近誤差wio有界且滿足
其中,ξio為正常數(shù)。
其中,k1i與k2i為正常數(shù)。
結合式(9)與(18)可得狀態(tài)識別誤差方程為
定理1對于狀態(tài)未知的故障子系統(tǒng)(8),在假設1成立的前提下,設計自適應更新律(20)與(21),則分散狀態(tài)觀測器(18)可漸進地識別子系統(tǒng)的真實狀態(tài)xij。
證明選擇正定的Lyapunov函數(shù)為
將V1對時間求導,可得:
再將式(20)與(21)代入式(24),得:
由此可知,只要不等式組(26)成立:
定義第i個子系統(tǒng)的位置及速度跟蹤誤差分別為誤差向量為,則整個閉環(huán)系統(tǒng)的誤差向量可表示為
假設 2 關節(jié)期望軌跡xid及其導數(shù)、有界且連續(xù)。
將式(9)變換為如下形式:
式中:
Fi為正常數(shù)。
由式(27),可得誤差動力學方程為
定義Pi為如下Riccati方程的解:
定義子系統(tǒng)的理想控制輸入為
由式(30)可知,控制輸入iτ*為變量riq、及ie的未知非線性函數(shù),故其理想神經(jīng)網(wǎng)絡逼近可表示為
式中:Wiτ與Φiτ分別為理想神經(jīng)網(wǎng)絡權值和基函數(shù);εiτ為估計誤差,且滿足 |ε′1i為正常數(shù)。
定義iτ*的RBF神經(jīng)網(wǎng)絡估計為
容錯控制器設計為
結合式(30)(33),誤差動力學方程(24)可重寫為
由式(31)與(32)可得神經(jīng)網(wǎng)絡估計誤差為
定義神經(jīng)網(wǎng)絡的最小逼近誤差為
假設3 逼近誤差iw滿足即
結合式(35)(36),則誤差動力學方程(34)可變換為
假設4 耦合交聯(lián)項hi(q,υ,˙)有界且滿足[11]
式中,dij為正常數(shù)。
式中,ηiτ與ηiδ為正常數(shù)。
值的注意的是,由于控制器(33)不含任何慣性參數(shù)項,因此它是一類無模型控制器。
定理 2對于雙臂空間機器人的故障子系統(tǒng)(8),考慮假設2至假設4,并設計參數(shù)更新律(39)與(40),則容錯控制器(33)可保證閉環(huán)系統(tǒng)的軌跡跟蹤誤差e1i滿足H∞收斂性能。
證明選擇正定的Lyapunov函數(shù)為
將式(41)對時間求導,可得:
將式(37)代入式(42),得:
將式(39)代入式(43),可得:
綜合式(44)與式(45),可得:
將式(40)代入式(46),得:
由Riccati方程式(29),可得:
設λmin(Q)為Q的最小特征值,則有:
對式(49)從t= 0 到t= T 求積分,可得:
為了驗證(33)所示的容錯控制器(Fault-Tolerant Controller,FTC)的有效性,對圖1所示的平面兩連桿( 2)n= 雙臂空間機器人系統(tǒng)進行數(shù)值仿真,并將仿真結果與文獻[12]提出的計算力矩控制器(Computed Torque Controller,CTC)的結果進行對比。
CTC算法的表達式為
其中:qrd為關節(jié)的期望軌跡,kv與kp為正常數(shù)。
雙臂空間機器人系統(tǒng)的慣性參數(shù)為:載體為m0= 4 0kg ,J0= 3 4kg·m2,l0=1 m;剛性臂B1與B3為m1=m3=3 kg,J1=J3=2 kg·m2,l1=l3=3m ;剛性臂B2與B4為m2=m4=2 kg,J2=J4=1.2 kg·m2,l2=l4=3 m。
狀態(tài)觀測器的增益為:ki1=18,ki2= 1 2,ηifo= 0 .0003,ηigo= 0 .0005。FTC算法的控制參數(shù)選取為Ki=[15,300]T,diag([80,80]),ηiτ=5,ηiδ= 2;CTC算法的控制參數(shù)為kv= 4 ,kp= 6 。RBF神經(jīng)網(wǎng)絡的基函數(shù)選擇為高斯函數(shù)x為神經(jīng)網(wǎng)絡的輸入變量,中心向量c均勻分布于[2,2]- ,寬度b= 2 ,隱含層節(jié)點數(shù)為5。
此時,雙臂空間機器人系統(tǒng)的關節(jié)執(zhí)行器正常工作,即有效因子ρi=1(i= 1 ,2,… ,4 )。仿真結果如圖2~4所示,其中,圖2為載體姿態(tài)角位移,圖3為關節(jié)軌跡跟蹤曲線,圖4為關節(jié)角速度觀測曲線。
由圖3可知,當系統(tǒng)的關節(jié)執(zhí)行器正常工作時,F(xiàn)TC算法與CTC算法均能在2 s內(nèi)保證關節(jié)連桿完成期望運動。由圖4可知,狀態(tài)觀測器可對實際關節(jié)角速度信號進行精確的識別。
圖2 載體姿態(tài)角位移Fig.2 Angular displacement of the base attitude
圖3 關節(jié)軌跡跟蹤曲線Fig.3 Trajectory tracking curves of the joints
圖4 關節(jié)角速度觀測曲線Fig.4 Angular velocity observation curves of the joints
假設雙臂空間機器人系統(tǒng)右臂(B1與B2)的關節(jié)執(zhí)行器在第 2 s直至仿真結束的時間段內(nèi)均處于部分失效的故障狀態(tài)(而在此之前正常工作),且有效因子為:ρ1=0.3,ρ2=0.5。與此類似,左臂(B3與B4)關節(jié)執(zhí)行器故障發(fā)生的起始時刻為第5 s,有效因子為ρ3=0.5,ρ4=0.6。仿真結果如圖5~7所示,其中,圖5為載體姿態(tài)角位移,圖6為關節(jié)角速度觀測曲線,圖7為關節(jié)軌跡跟蹤曲線。
圖6 關節(jié)角速度觀測曲線Fig.6 Angular velocity observation curves of the joints
圖5 載體姿態(tài)角位移Fig.5 Angular displacement of the base attitude
圖7 關節(jié)軌跡跟蹤曲線Fig.7 Trajectory tracking curves of the joints
由圖6可知,當系統(tǒng)的關節(jié)執(zhí)行器發(fā)生部分失效故障時,本文提出的FTC算法仍能在2 s內(nèi)控制關節(jié)連桿抵達指定軌跡,CTC算法由于無法對執(zhí)行器故障進行補償,因而關節(jié)連桿的跟蹤誤差無法收斂。由圖7可知,在執(zhí)行器故障的情況下,狀態(tài)觀測器仍然可對實際關節(jié)角速度信號進行準確的識別。由此表明了容錯控制器與狀態(tài)觀測器的有效性與可行性。
針對關節(jié)執(zhí)行器發(fā)生部分失效故障、慣性參數(shù)未知且角速度不可測的雙臂空間機器人,設計了一種基于狀態(tài)觀測器的容錯控制算法。利用狀態(tài)觀測器對關節(jié)子系統(tǒng)的實際狀態(tài)變量進行了識別,從而無需測量關節(jié)的角速度信號。采用RBF神經(jīng)網(wǎng)絡對子系統(tǒng)包含交聯(lián)項、慣性參數(shù)與執(zhí)行器故障在內(nèi)的所有不確定非線性項進行了估計。根據(jù)預測結果在線設計容錯控制器,實現(xiàn)了系統(tǒng)對關節(jié)執(zhí)行器部分失效故障的容錯控制。本文的控制策略同時解決了執(zhí)行器故障、慣性參數(shù)未知與角速度不可測問題,具備較大的工程應用潛力,可為空間機器人的實際容錯控制提供理論依據(jù)。