何啟嘉,王啟明,雷 政
(1.中國科學院國家天文臺,北京 100101;2.中國科學院大學天文與空間科學學院,北京 101408;3.中國科學院FAST重點實驗室,北京 100101)
500 m口徑球面射電望遠鏡(five-hundred-meter aperture spherical radio telescope, FAST)被譽為“中國天眼”,是世界上口徑最大、靈敏度最高的單口徑球面射電望遠鏡[1]。在望遠鏡主動反射面系統中,2 225臺液壓促動器(簡稱“促動器”)通過聯合驅動實現4 450塊望遠鏡反射面變形,是世界罕見的在野外臺站大規模應用的設備群[2]。FAST促動器液壓缸合計重70.1 kg,其中,缸體重34.6 kg,活塞桿重12.2 kg,傳統人力轉運裝配較為困難。針對FAST促動器油缸裝配時間慢、效率低的問題,提出研究一種FAST促動器油缸裝配機器人。FAST促動器缸體裝配機器人的設計目的是為了將之前拆解下來清洗的耳環、壓蓋、導向套、活塞桿(含活塞)、缸筒(含法蘭)、缸底、鑄造缸底、位移傳感器進行重新裝配。
裝配順序如下:缸筒(含法蘭)—活塞桿(含活塞)—導向套—壓蓋—缸底—位移傳感器—鑄造缸底—耳環。為了更加方便地研究油缸裝配機器人的軌跡規劃問題,必須先進行機器人運動學研究。由于機器人的笛卡爾空間和關節空間的映射并非一對一,其逆運動學求解往往不能得到封閉解,因此運動學,尤其是逆運動學也成為了研究機器人的重點問題之一。傳統逆運動學求解方法主要有幾何法、解析法、數值法等[3]。
傳統方法在應用過程中仍存在不足:幾何法是一種基本的平面機械臂求解方法,是解析法在二維空間的特例,很難有實用價值;解析法必須滿足Pieper準則(實際中因為存在誤差常不能滿足準則)才能有封閉解,且不能在算法中處理奇異情況、避障約束和動態環境下的機械臂問題;數值法則聚焦迭代求解機器人雅克比矩陣來間接求解機器人逆運動學,存在不能保證100%的求解率、在奇異點附近算法穩定性不高等問題。
基于解析法和數值法的缺點,研究人員嘗試采用智能算法求解特定機器人的逆運動學問題。常見的智能算法有遺傳算法、粒子群算法等。例如,文獻[4]采用實數編碼方式的遺傳算法以較小的誤差產生最優角位移,實現了一種快速的逆運動學求解過程;文獻[5]研究了一種雙向粒子群算法改進了移動機械手逆運動學的求解方法;文獻[6]采用全局、局部遺傳算法改善了機械臂運動出現奇異點的情況,有效減少了奇異點個數和誤差。
由于不同問題下的算法各有其優劣性,算法比較也成為研究熱點。Mustafa等[7]采用多種啟發式算法求解了同一個取放問題的逆運動學方程,為研究某特定問題找到了最優算法;Issa等[8]分別采取類電磁算法和遺傳算法求解四連桿平面機械臂的逆運動學問題,從收斂速度和計算精度方面進行比較,剖析了兩種算法的優缺點。
取長補短,融會貫通的混合算法則是研究者新的方向。例如Khaleel[9]采用遺傳算法優化神經網絡權值,用遺傳算法混合神經網絡法解決了一種冗余機械臂的逆運動學問題,Huang等[10]采用混合Taguchi DNA 的群體智能算法研究了六自由度機械臂逆運動學,并將其與遺傳算法、蟻群算法進行了對比。
標準傳統算法也存在著一些缺陷,算法的革新也一直是研究的重點。Saleh等[11]通過設計一種自適應小生境的遺傳算法解決了多解模塊化機器人逆運動學問題。Zhou等[12]在不影響末端執行器精度的情況下,利用序列變異遺傳算法訓練極值學習機,減少了機械臂逆運動學的計算時間。
以FAST促動器油缸裝配機器人為研究對象,在分析機器人運動特性的基礎上,采用Denavit-Hartenberg(D-H)法建立機器人的運動學模型;采用矩陣逆乘的解析法和基于自適應的多種群遺傳算法求解運動學逆解問題,并據此評估改進遺傳算法在收斂、精度和穩定性等方面的特性。
促動器自動化裝配操作機器人是一個具有5個旋轉關節、1個移動關節的機器人。定義機器人的初始位姿,建立基坐標系和各關節的關節坐標系。令x0、y0、z0分別為基坐標系的三個坐標軸,依次建立關節1~6的關節坐標系,x6、y6、z6代表末端執行器的坐標系,如圖1所示。

d表示相鄰關節之間的連桿長度;a表示相鄰關節的連桿偏移量
建立關節坐標系之后,根據相鄰關節坐標系確定關節的D-H參數,機器人的關節運動約束與參數如表1所示。

表1 D-H參數表
逆運動學是一種已知末端執行器位姿來求出各關節角的研究。雖然實際中機器人因為存在誤差基本不能滿足Pieper準則,但研究者仍然會運用解析法來取得各關節的理想封閉解應用在后續研究中。
下面采用矩陣求逆的逆運動學解析法求得部分關節的封閉解。將正運動學方程的兩邊分別乘以(0T1)-1,可得
(1)
式(1)中:1T2表示機器人關節2相對于關節1的坐標變換矩陣;px、py、px表示末端執行器位移矢量的x、y、z軸分量,以此類推。
展開式(1)左邊,可得
(2)
式(2)中:θ7=θ2+θ3-θ5;C7代表cosθ7;S7代表sinθ7,以此類推。
展開式(1)右邊,可得
(3)
觀察式(2)與式(3),對比第2行第4列的元素,得出含有θ1的一元一次方程組為
pyC1-pxS1=0
(4)
在實際應用中,機器人在抓取物體運送的過程中不會經過基坐標系z軸所在的直線上,因此px、py不會同時為0,式(4)不可能為恒等式,因此可得
θ1=atan2(py,px)
(5)
沒有采用arcsin或者arccos函數作為最終結果,因為arcsin∈(-π/2,π/2),arccos∈(0,π),既不能遍歷所有區間也不能確定方向,還需要再添加一步幾何建模來確定。
因此求關節角的解析法將不會使用arcsin或arccos函數,而是使用四象限反正切函數atan2。四象限反正切函數無需確定方向以及正負號,目前已被納入各運動控制底層函數并廣泛運用于編程軟件中。
觀察式(2)與式(3),對比第1行第3列和第3行第3列的元素,得出含有θ1和θ7的二元一次方程組為
(6)
則有
θ7=atan2(r13C1+r23S1,r33)
(7)
觀察式(2)與式(3),對比第2行第1列和第2行第2列的元素,得出含有θ6的二元一次方程組為
(8)
解得
θ6=atan2(r11S1-r21C1,r12S1-r22C1)
(9)
觀察式(2)與式(3),對比第1行第4列和第3行第4列的元素,得出含有θ2,θ3,d4的二元一次方程組
(10)
2個方程無法求解3個未知數,證明了本課題研究的機器人逆運動學方程不存在有限個解析解。下面將θ3、d4用θ2表示。
由式(10)可得
θ3=atan2(pxC1+pyS1-a2C2+d6S7-a1,
pz+a2S2+d6C7)-θ2
(11)
(12)
θ5=θ2+θ3-θ7
(13)
至此,解析法證明了該類型的機器人沒有有限個封閉解,因此考慮通過遺傳算法求出剩余關節的數值解。解析法幫助摸透了機器人的構型特征,也減少了之后遺傳算法的自變量個數,提高了遺傳算法的計算速度。
值得注意的是,以θ2為單變量的目標函數去設計遺傳算法并不可行,因為無法考慮其余θ3、d4、θ5的取值范圍,導致算出的θ3、d4、θ5數值大概率超出實際可取范圍。因此,選擇將實際逆運動學求解問題轉換成一種多元多峰函數求最小值問題。
遺傳算法在設計時主要有五個步驟:構造目標函數、構造適應度函數、選擇編碼和解碼方式、選擇遺傳算子、初始參數配置[13]。針對實際工況設計自適應的交叉、變異算子改進遺傳過程中的交叉、變異過程;設計多種群并聯型的種群結構,改善了遺傳算法初期過早收斂、后期最優解附近擺動的問題,提高了算法精度。
機器人逆運動學研究中常常需要根據障礙物位置、路徑規劃要求,能耗最低原則和關節運動角度范圍來選取最合適的那一組逆解。
重點關注機器人作業過程中的能耗問題和精度問題,通過構造適當的遺傳算法目標函數,使得機器人末端的實際位姿與期望值差距減小的同時,六個關節相對于基狀態所運動的幅度也盡量小。
目標函數的第一部分遵循能耗最低原則,要求θ3、θ5的實際轉角和d4的實際位移相對于初始狀態最小。同時,大臂的運動角度尤其要少。因此建立目標函數

(14)

由于θ、d的單位不同,在疊加兩者時還需要進行歸一化,ωr、ωp表示歸一化系數,其值為
(15)
(16)
式中:θmax、θmin表示角度范圍的上限和下限;pmax表示移動關節的最大工作距離。
目標函數的第二部分遵循精度最高原則,要求實際機器人末端位姿和期望位姿的誤差最小。位置誤差用歐式空間距離來表示,即
(17)
式(17)中:px、py、pz表示通過遺傳算法逆運動學計算出的笛卡爾坐標,px0、py0、pz0表示期望笛卡爾坐標,ΔP表示位置誤差。
姿態誤差用關節空間的俯仰、翻滾、偏航三角度差的絕對值來表示
ΔR=|rx-rx0|+|ry-ry0|+|rz-rz0|
(18)
式(18)中:rx、ry、rz表示遺傳算法下的姿態;rx0、ry0、rz0表示期望姿態;ΔR表示姿態誤差。
由于姿態和位置方程單位不同,精度函數也需要進行歸一化操作,歸一化系數同上,形成了精度最高思想下的數學表達式,即
f(p,r)=min(ωpΔP+ωrΔR)
(19)
在分別建立能量與精度函數后,設定一種衡量二者權重的參數α,其表達式為
α=1/2e-f(p,r)+β, 0≤β≤0.5
(20)
式(20)中:β為一需要具體實驗后決定的常數。在算法設計完成后分別取β=1/4,2/5,1/2進行了測試,結果表明當取β=2/5時,算法精度可達10-7~10-8,最符合要求。
因此,總目標函數得以確定,即
f(p,r,θ,d)=αf(p,r)+(1-α)f(θ,d)
(21)
顯然,當遺傳算法進入迭代初期,f(p,r)較大,α接近2/5,(1-α)接近3/5,此時遺傳算法會優先考慮能耗問題;當算法進入迭代后期,f(p,r)減小,α接近3/5,(1-α)接近2/5,遺傳算法會著重考慮精度問題。
傳統遺傳算法(simple genetic algorithm,SGA)存在初期過早收斂、后期最優解附近擺動、容易陷入極值求不出最值等問題[14]。針對實際工況,提出自適應多種群的改進遺傳算法(adaptive multiple population genetic algorithm,AMPGA)。AMPGA具有如下優點。
(1)AMPGA 在保持初始種群獨立化、多樣化的同時,也保留了移民算子這條交換少數優質個體的橋梁,實現各種群間的定期信息交換。同時在每一代設置人工選擇算子,擇優放入獨立精華種群加以保存利用。這項改進使得算法陷入極值而非最值區域時更易跳出。
(2)AMPGA摒棄傳統遺傳算法設定固定最大遺傳代數的方法,選擇設定一個個體可連續保持最優的最大遺傳代數的參數。若某個體連續多代已保持最優,則結束遺傳算法。這種根據遺傳算法搜索情況自適應改變算法結束代數的方式在保持搜索精度的同時靈活地提高了搜索效率。
(3)AMPGA通過動態調整交叉算子(Pc)和變異算子(Pm)的值可自適應的平衡搜索和隨機、效率和精度之間的關系,在每一代、每一個子種群、每一個個體中都實時評估其適應度。出于保護高適應度個體的考慮,給予其較低的Pc、Pm值;出于亟需改變低適應度值個體的考慮,給予其較高的Pc、Pm。其具體實現方式為
(22)
(23)
式中:k1、k2、k3、k4為給定常數;fmax為種群適應度最大值;fm為需要交叉的兩個個體中適應度更大的值;f為需要變異的個體適應度值;favg為種群適應度平均值。
選用k1=k3=1,k2=k4=0.5,當個體的適應度值小于均值時,直接選擇較大的固定交叉概率1和固定變異概率0.5;當個體的適應度高于均值時,其交叉和變異概率由進化代數和個體優劣程度決定。算法處于進化前期,fmax、favg相差較大,種群多樣性較好,此時pc、pm較小。隨著種群總體向最優值靠攏,種群個體趨同時,fmax-favg變小,pc、pm隨之變大。同時,個體越優秀,其適應度值與最大適應度值的間距越小,fmax-f越小,pc、pm越小,反之同理。
顯然,采用多種群并行進化和自適應的改進交叉、變異算子可以兼顧算法的收斂能力和尋優能力,提高了算法的效率。AMPGA的結構流程如圖2所示。

圖2 遺傳算法結構流程
具體研究的機器人D-H參數為:連桿長a1=0.55 m,a2=1.35 m,連桿偏距d6=0.22 m。給定5個關節具體值為θ1=π/4、θ2=π/6、θ3=3π/4、θ5=2π/3、θ6=π/3,d4=1.2 m。求出末端執行器位姿矩陣為
(24)
在MATLAB機器人工具箱中輸入機器人關節空間矩陣,利用函數T=fkine(r,q)求出操作空間位姿陣。將三軸建立笛卡爾坐標系,得出的正運動學機器人仿真模型如圖3所示。

圖3 正運動學機器人仿真模型
再將矩陣[式(24)]代入AMPGA中,求得一組逆解θ2=0.891 94 rad,θ3=1.570 8 rad,d4=1.006 6 m,θ5=1.677 3 rad。再將其代入已驗證的正運動模型中,得出其末端執行器位姿矩陣與式(24)完全相同。測其位置精度與姿態精度,可得數量級均處于10-7~10-8。這驗證了兼顧解析法和自適應多種群遺傳算法的機器人逆運動學模型的正確性。
衡量一個算法性能是否優越的重要指標是其求解精度和求解速度。圖4為SGA和AMPGA的進化過程對比圖。多次進行進化對比實驗可得,AMPGA進化速度總更快,所求得的目標函數值更小且總能求得最值而不陷入極值。顯然,AMPGA算法性能更優越。

圖4 進化曲線對比
表2給出使用AMPGA所得到的歐拉角、期望歐拉角及其誤差。表3給出使用AMPGA所得到的笛卡爾坐標值、期望笛卡爾坐標值及其誤差。
由表2、表3可得,10-7的誤差數量級已經溢出定位精度的極限,因為采用了靈活的算法截止條件,AMPGA 的通用性很好,可以稍加改進以適用于定位要求不太高的工況。

表2 AMPGA所得末端姿態與期望姿態比較

表3 AMPGA所得末端位置與期望位置比較
圖5給出了進化過程中三個方向的位置誤差變化規律。在迭代至100次左右時,位置誤差的數值已在10-2數量級。遇到精度需求比較粗糙的工況時,可靈活變更算法截止條件,適當縮小迭代次數,提高迭代速度。

圖5 位置誤差變化規律圖
算法的穩定性也是衡量一個算法是否優異的重要因素。為驗證機器人作業軌跡的穩定性,將機器人作業起點和終點的期望位姿矩陣代入AMPGA中,求得兩組機器人關節空間。
分別將兩組值作為起點和終點進行油缸裝配機器人末端執行器軌跡規劃,得出六關節的角度(位移)、速度、加速度變化曲線,如圖6所示。觀察曲線可知,運用AMPGA方法的機器人關節速度與加速度無突變且過渡平滑,機器人運行平穩、連續,這再次證明了AMPGA可以有效處理機器人逆運動學問題。

圖6 AMPGA六關節位移、速度、加速度變化曲線
研究了一種FAST促動器油缸裝配機器人的運動學問題,主要成果如下。
(1)創造性地采用解析法和數值法相結合的方式建立機器人運動學模型,用解析法求解出有限關節的解析解,減少了遺傳算法自變量的個數,從源頭提高逆運動學算法的求解速度。
(2)將剩余關節的逆運動學求解問題轉化為一種多元多峰函數優化問題,在充分考慮機器人能量最低、精度最高原則的基礎上構造適當的目標函數,設定動態權重在算法全周期過程中平衡能量與精度的關系。
(3)針對一般遺傳算法在求解機器人逆運動學過程中的缺陷,設計一種改進的自適應多種群遺傳算法并進行仿真實驗。結果證明,AMPGA可有效在加快收斂速度的同時避免局部收斂,且運算精度非常高。