張寶琛, 惠建江, 張 琦, 劉正雄,*, 黃攀峰
(1. 西北工業大學航天學院, 陜西 西安 710072; 2. 北京跟蹤與通信技術研究所, 北京 100094;3. 中國航天空氣動力技術研究院, 北京 100074)
冗余機械臂是一種運動機動度大于末端位姿運動自由度的機械臂[1],相較于常見的非冗余機械臂,理論上存在無數組關節空間構型與末端位姿相對應。冗余機械臂具有工作空間自由靈活、避障能力強等特點。當周圍存在障礙時,可進行相應的構型調整,有良好的應用前景[2-3]。然而,冗余機械臂構型的靈活性也帶來了如何在避障過程中調整和確定機械臂構型的問題。
針對上述問題,有研究者提出通過啟發式算法進行機械臂構型的解算,例如:概率路標法(probabilistic road map, PRM)[4-5]、快速擴展隨機樹法(rapidly exploring random trees,RRT)[6-8]。這些算法在不引入視覺[9-10]、觸覺[11-14]等其他傳感器的情況下,只能進行結構化工作環境下的避障。而引入視覺、觸覺等傳感器,雖可對非結構化環境進行避障,但增加了機械臂的硬件成本[15]。同時,上述算法一方面解算效率不高,另一方面解算結果不穩定,使得冗余機械臂難以進行重復性的實施操作。
隨著人機交互技術的發展,也有學者將人機交互技術用于解決機械臂構型選擇、避障規劃的問題。人機交互作為一種實現用戶與計算機之間信息交換的方式[16],通過交互設備將人引入操作回路,充分發揮人的決策能力和操作能力,來解決冗余機械臂構型選擇問題、降低硬件成本,典型的交互設備包括:手控器[17]、虛擬現實[18-20]、外骨骼[21]等。但是,上述交互方式不論是對操作人員的編程能力,還是對設備的使用熟練程度,都有較高的要求[22]。此外,冗余機械臂構型選擇、避關節限位等基于冗余特性的交互功能并不能通過上述方式體現。
近些年,觸控交互方式逐漸受到人們的關注[23]。觸控交互方式操作簡單、學習成本低,符合人的自然操作習慣,可視化程度高,給人們帶來了更為直觀的視覺體驗[24]。但是,在通過觸控方式操作機械臂時,存在二維屏幕坐標到三維操作空間坐標的映射過程。升維時的維度缺失問題,使得映射到三維操作空間的坐標均在同一平面上,這就決定了如果通過觸控交互方式操作機械臂,至少需結合兩個以上的相機視角,才能完成機械臂末端在三維空間中的移動,以達到預期位置以及完成避障,這大大降低了操作效率。
為充分發揮人在回路的作用,提高人機交互的效率,降低冗余機械臂的運動操控難度,本文研究了一種面向冗余機械臂避障規劃的觸控交互技術,該技術在保證操作交互友好性的同時,可進行結構化、非結構化障礙的躲避。
本文以庫卡輕型機械臂KUKA iiwa為例,進行避障運動規劃的觸控交互研究。
世界坐標系:世界坐標系OwXwYwZw是用來提供其他坐標系基準的坐標系。在世界坐標系下,對象有相同的參考標準,擁有自己的絕對坐標。
屏幕坐標系:屏幕坐標系OsXsYs是為了表征觸控位置坐標而建立的二維坐標系。屏幕坐標系以仿真環境視口中心為坐標原點,以仿真視口寬度方向為X軸方向,以高度方向為Y軸方向。
基坐標系:基坐標系O0X0Y0Z0是用來描述機械臂模型的坐標系。在基坐標系下,機械臂各關節的位置和姿態均可以表示,建立D-H坐標系進行正逆運動學的解算。
裁剪坐標系:裁剪坐標系OtXtYtZt是針對仿真環境中模型相對于相機的投影來建立的,投影方式包括正交投影和透視投影[25]。裁剪坐標系是絕對坐標轉化為相機坐標系坐標的中介。
相機坐標系:操作人員通過虛擬相機來觀察仿真環境中的場景。當用仿真環境視口觀察對象時,對象以相機坐標系OcXcYcZc作為參考標準。
上述坐標系均為右手坐標系,如圖1所示。

圖1 坐標系示意圖Fig.1 Schematic diagram of coordinates
對于屏幕坐標系下的任一點Qs(xs,ys),其在裁剪坐標系下的坐標為
(1)
式中:nx和ny為相機近裁剪平面寬度與高度; width和height分別為屏幕寬度與高度。
在仿真物理引擎中,相機采用透視投影的方式。因此, 對于裁剪坐標系下的任一點Qt(xt,yt,zt),其在相機坐標系下的坐標為
(2)
式中:a為相機鏡頭寬高比;FOV為視場角;|n|、|f|分別為相機近裁剪平面深度與遠裁剪平面深度,f 對于相機坐標系下的任一點Qc(xc,yc,zc),其在基坐標系下的坐標Q0(x0,y0,z0)為 (3) 式中:Rc和Pc分別為相機坐標系相對基坐標系的旋轉矩陣與平移矩陣。 冗余機械臂的逆運動學解算方法主要可分為兩類:數值法和解析法。常用的數值法如引言中提到的PRM、RRT等,具有通用性好、但時間開銷較大等特點。而解析法主要有鎖定關節角[26]、臂型角[27-28]等方法,具有實時性強但通用性較差的特點。本文將實現實時的觸控交互、改變機械臂構型,故采用臂型角方法來進行逆運動學的解算。 作為冗余機械臂,KUKA iiwa機械臂的7個連桿關節兩兩垂直。連桿1~連桿3可視為一個3自由度的球關節,連桿4可視為一個單獨的旋轉關節[29],連桿5~連桿7也可視為一個3自由度的球關節,其簡化結構如圖2所示。 圖2 KUKA iiwa簡化圖Fig.2 Simplification of KUKA iiwa 圖3 臂型角示意圖Fig.3 Schematic diagram of arm-angle 設定一個臂型角,按文獻[28]中方法進行逆解,即可得到符合要求的逆解,取與上一時刻逆解向量差值2范數最小的一組逆解,作為逆解結果。 (4) 式中:θ∈R7×1為逆運動學結果;0T7∈R4×4表示機械臂末端相對于基座的位姿矩陣。 1.4.1 觸控移動機械臂末端實現原理 觸控移動機械臂末端的實現原理是,尋找觸控屏幕空間與機械臂運動空間的坐標映射關系,實時計算指尖觸控屏幕對應的機械臂末端坐標,使得機械臂末端跟隨觸控屏幕的指尖進行運動,如圖4所示。 圖4 觸控移動機械臂末端實現原理Fig.4 Implementation principle of manipulator motion bytouch interaction 1.4.2 改變機械臂構型實現原理 基于臂型角的逆運動學,以臂型角和末端位姿矩陣作為輸入條件。利用這一特性,通過拖動所設計軟件的進度條,設置期望的臂型角,角度范圍為0~2π rad。將進度條設置的臂型角和當前機械臂末端位姿作為逆解算法輸入,進行實時解算,由此改變機械臂構型,如圖5所示。 圖5 改變機械臂構型實現原理Fig.5 Implementation principle of manipulator configurationchanging by touch interaction 對比式(1)和式(2),由式中Qs(xs,ys)求得Qc(xc,yc,zc)的過程中,Qt(xt,yt,zt)的zt坐標是未知定值,因此將二維屏幕坐標映射到三維操作空間時,得到的基坐標系下坐標Q0(x0,y0,z0)均在同一平面γ上。|zt|即平面γ與裁剪坐標系原點的距離。針對坐標升維后均在同一平面、操作效率不高的問題,本文對機械臂末端的平面路徑進行柱面運動規劃。 下面闡述柱面運動規劃的具體過程。 步驟 1建立規劃坐標系。以結構化障礙的結構中心O作為規劃坐標系原點,y軸垂直于屏幕空間坐標映射到操作空間的平面,且指向該平面方向,z軸平行于基坐標系O0Z0方向,x軸方向由右手定則確定,如圖6所示。 圖6 避障運動規劃步驟1Fig.6 Step 1 of obstacle avoidance motion planning 步驟 2建立圓柱。以規劃坐標系的Oz軸為圓柱的旋轉軸,以障礙中心O與避障實驗開始時機械臂末端位置Qlast的歐氏距離作為圓柱半徑(見圖7),其表達式為 圖7 避障運動規劃步驟2Fig.7 Step 2 of obstacle avoidance motion planning r=|OQlast| (5) 步驟 3以障礙中心O為端點,向映射到平面γ的機械臂末端坐標Q0(x0,y0,z0)方向作射線,射線與圓柱面相交于Q1。為使規劃前后的z軸坐標一致,將Q1坐標變換為Q2(見圖8),計算過程如式(6)~式(9)所示。 圖8 避障運動規劃步驟3Fig.8 Step 3 of obstacle avoidance motion planning (6) (7) (8) (9) 步驟 4最后,將Q2坐標變換到基坐標系下: (10) 進行避障運動規劃后,操作人員只需在單視角下進行操作,即可實現機械臂末端繞結構化障礙進行圓柱面自動避障。 本文基于虛幻4(Unreal Engine 4)游戲開發引擎,開發觸控交互軟件。操作人員可通過觸控的方式進行UI交互,可實現移動機械臂末端、改變臂型角、改變視角等功能。 本文以KUKA iiwa R800機械臂作為對象,使用開發的觸控交互軟件進行躲避結構化障礙仿真實驗,以下簡稱實驗1。 3.2.1 實驗1設計 實驗內容為操作人員將移動機械臂末端移動到目標區域,同時躲避結構化障礙,如圖9所示。 圖9 實驗1示意圖Fig.9 Schematic diagram of Experiment 1 操作人員將采用本文規劃的柱面避障運動規劃方法(a組實驗)與平面結合多個視角的方法(b組實驗)進行對比實驗,測試兩種方法的操作效率及與障礙的碰撞頻率。兩組實驗的實驗流程如圖10和圖11所示。 圖10 實驗1 a組實驗流程Fig.10 Group a procedure of Experiment 1 圖11 實驗1 b組實驗流程Fig.11 Group b procedure of Experiment 1 3.2.2 實驗1結果及分析 實驗1中的兩組實驗分別進行了10次,實驗結果如表1所示。 表1 實驗1數據Table 1 Data of Experiment 1 兩組實驗均采用虛幻引擎里的定時器計時。a組實驗平均時長為1.88 s,機械臂均未與障礙α碰撞。b組實驗平均時長為11.39 s,實驗機械臂與障礙α碰撞2次。 通過分析對比實驗結果可以得出如下結論: (1) 與進行避障運動規劃前的平面躲避結構化障礙相比,柱面避障只需對單個相機視角進行操作,平均縮短操作時間83%,顯著提高了操作效率。 (2) 平面躲避結構化障礙在實驗中出現了2次機械臂與障礙碰撞的情況,而柱面規劃之后沒有出現碰撞,降低了操作員的出錯頻率。 (3) 觸控交互相較于PRM、RRT等算法避障,有效地降低了算法實現的時間開銷,具有更高效的人機交互效能。 實驗內容仍然為操作機械臂使末端移動到目標區域,同時躲避非結構化障礙,以下簡稱實驗2。 3.3.1 實驗2設計 圖12 實驗2示意Fig.12 Schematic diagram of Experiment 2 3.3.2 實驗2結果及分析 實驗2共進行了5次,機械臂末端均到達目標區域,且過程中未與非結構化障礙發生碰撞,實驗過程如圖13所示。 圖13 實驗2過程Fig.13 Process of Experiment 2 通過分析以上結果,驗證了通過觸控交互方式改變冗余機械臂構型,從而躲避非結構化障礙的方法切實可行,具有可操作性。 本文提出了一種面向冗余機械臂避障運動規劃的觸控交互方法。實驗證明,此種方法可快速地躲避結構化障礙,有效地躲避非結構化障礙,在發揮人的決策能力和操作能力的同時,提高了觸控交互的操作效率,降低了操作人員的出錯率,具有較高效的人機交互性。1.3 KUKA iiwa機械臂逆運動學



1.4 觸控交互實現原理


2 避障運動規劃




3 仿真驗證
3.1 仿真環境
3.2 躲避結構化障礙實驗





3.3 躲避非結構化障礙實驗



4 結 論