王 凌,張 印,謝雨鑫,蒲 偉
(四川大學 空天科學與工程學院,四川 成都 610065)
軟體機械臂相比于傳統的剛性超冗余機械臂,具有剛度小、質量輕、柔性化等特點,靈活性和環(huán)境適應能力更強[1]。在深海探測、醫(yī)療手術、航空航天、工業(yè)生產等領域應用潛力巨大[2-4]。
近年來,國內外研究者圍繞軟體臂的設計、建模、控制和避障開展了諸多研究。例如,Shafti 等[5]提出了一種新的卡爾曼濾波算法,將姿態(tài)估計和避障相結合,實現了多段連續(xù)體機械臂的避障運動。Xiao 等提出了一種在不確定環(huán)境中抓取目標物體的在線運動規(guī)劃算法,并將此算法運用在研制的平面連續(xù)體機器人上。Ataka 等[6]提出了一種基于多段連續(xù)機械臂的實時路徑規(guī)劃算法,并在研制的單節(jié)連續(xù)機器人上進行了實驗驗證。
但是由于軟體臂具有無限自由度,不同構型間切換時在運動學上存在耦合。比如,從正運動學來看,當求解柔性臂正向運動學時,柔性臂每段的參考坐標系會隨之改變。反之,從逆運動學來看,當已知坐標點反求柔性臂關節(jié)參數信息時,前一段柔性臂會跟隨后一段進行一系列的運動。這種運動學上的耦合關系是軟體機械臂在復雜環(huán)境下避障面臨的巨大挑戰(zhàn)。因為機械臂要繞過狹窄非結構化障礙物,要求柔性臂有良好的柔順性。提出一種分段順序建模和控制的方法,在構建運動學模型時,我們將軟體臂本體的一大段視為若干小段,然后從根部到前端順序驅動控制每一小段變形。利用這種仿藤蔓生長原理,實現軟體機械臂在復雜的環(huán)境中軌跡規(guī)劃。
主要貢獻如下:
(1)提出了一種順序控制方法,通過順序控制軟體機械臂的運動來避免運動學耦合。
(2)建立了軟體機械臂的正逆運動學模型,并在仿真環(huán)境中驗證了模型的正確性。
(3)構建了改進型快速探索隨機樹路徑規(guī)劃算法,提高路徑規(guī)劃算法的成功率、減少算法耗時。
受大自然中藤蔓植物生長過程的啟發(fā),提出了一種軟體機械臂的順序控制思想。這種控制思想的優(yōu)點是在避障時,柔性臂能夠仿藤蔓生長的過程,按照順序生長運動。避免柔性機械臂每段之間存在耦合的問題,在非結構化復雜環(huán)境中能更好地完成避障任務。每段軟體臂不僅有彎曲和偏轉方向的自由度,并且有一個伸長方向的自由度,如圖1 所示。
圖1 為軟體臂的順序控制思想:每段軟體臂依次進行運動,當第一段運動時其余兩段將收縮在第一段的裝置內,當第一段完成運動后,其余兩段再依次運動。
圖1 順序控制思想示意圖
建立軟體機械臂的運動學模型是對實現在復雜環(huán)境中避障的重要前提。由于軟體機械臂相比于傳統的剛性機械臂沒有自由度和關節(jié)等概念,針對傳統剛性機械臂的建模方法不能直接應用。為此,有研究人員分別利用分段常曲率方法[7-8]、Cosserat 桿理論對軟體機械臂進行運動學建模分析。采用分段常曲率方法對軟體機械臂進行運動學分析。引入關節(jié)空間變量(θ,φ),兩個參數分別對應每一段柔性機械臂的彎曲角和偏轉角,k表示每段柔性臂彎曲曲率。機械臂的每一段由三個氣動驅動器所驅動i為驅動器的編號。在運動學模型中如圖2(b)所示,正運動學關系為驅動空間到關節(jié)空間的映射和關節(jié)空間到工作空間的映射。逆運動學關系為工作空間到關節(jié)空間的映射和關節(jié)空間到驅動空間的映射。
圖2(a)軟體臂在空間中的參數,其中θ為軟體臂的彎曲角度,φ為軟體臂在空間中繞Z軸的偏轉角度,r為曲率半徑,軟體機械臂驅動器長度、彎曲角度、偏轉角度示意圖l0i表示每一段軟體臂的三個驅動腔體的長度,d為中心點O到氣腔表面距離。(b)為運動學映射關系。
圖2 軟體臂參數信息
從機械臂的兩種狀態(tài)來分析其運動學關系。初始狀態(tài)時,整個軟體機械臂收縮在一起,我們認為此時臂每段的長度為零。伸長狀態(tài)時,每段軟體臂依次先伸長再進行彎曲,伸長量為l,彎曲角度為θ。本研究中,整個軟體機械臂由三段組成,每段的運動學建模思路完全相同,為說明運動學的分析方法,下面以單段軟體臂為例進行詳細的正運動學分析。軟體機械臂單段的簡化幾何模型如圖2(a)所示,θ表示軟體臂的彎曲角度,l表示軟體臂的長度,φ表示在空間中軟體臂與Z軸的偏轉角度。
軟體機械臂關節(jié)空間到工作空間的映射關系可由齊次變換矩陣T表示,T表示基座坐標系至末端坐標系的變換。代表從上一個基坐標系原點到下一段坐標系原點的平移。此變換方式為先繞Z軸旋轉φ,再繞Y軸旋轉θ,最后再繞Z旋轉-φ。設定彎曲角θ,θ?(0,π),設定偏轉角度φ,φ?(0,2π),li為軟體臂各段的長度,i?(1,2,3)。根據分段常曲率模型,可求得齊次變換矩陣為:
根據單段軟體臂分析方法可求得三段式軟體機械臂關節(jié)空間至工作空間的映射關系。由基座標系O0至第三段末端坐標系O3的齊次變換矩陣表示?;鶚讼档阶钅┒俗鴺讼悼梢杂苫鶚讼? 到第一段末端1 的齊次變換矩陣;坐標系1 到坐標系2 的齊次變換矩陣;坐標系2 到坐標系3 的齊次變換矩陣三部分相乘得到,其中:
如圖2(c)所示,軟體臂的第一段的驅動空間與關節(jié)空間的映射關系如式(6)-(8)所示:
驅動器長度與彎曲角、偏轉角之間的關系為:
為建立起機械臂從工作空間到關節(jié)空間的映射,需要構建軟體臂的逆運動學模型。通過求解齊次變換矩陣中非線性方程組實現工作空間到關節(jié)空間的映射,但具有一定挑戰(zhàn)性。為了提高求解可靠性,降低求解難度,在求解逆運動學方程時設定約束條件來簡化求解逆運動學方程難度,從而避免在求解逆運動學過程中可能會產生奇異解甚至無解的情況。假設在求解軟體臂逆運動學參數時,每段長度固定不變,只用考慮彎曲和偏轉兩個變量。約束條件和求解如公式10-13。
為驗證運動學模型的正確性,在Matlab 仿真環(huán)境中設定了系列目標點位置,然后讓機械臂每段處于已伸長完成的狀態(tài),從初始位置(0,0,0)運動到指定目標點位置(123,259.4,421)。通過逆運動學求解各段彎曲角為(0.63rad,0.63rad,0.63rad),各段偏轉角為(0.45rad,3.58rad,0.45rad)。利用逆運動學求解軟體臂運動到目標點仿真,結果見圖3(a),圖中顯示軟體臂成功運動到指定點。運動到指定點所運動過程中各段驅動器長度的變化量,如圖3(b)所示,從圖能夠發(fā)現各驅動器的長度變化量之間是解耦合關系。
圖3 逆運動學模型驗證
快速探索隨機樹算法(Rapidly Exploring Random Trees,RRT)是一種基于隨機采樣的路徑規(guī)劃算法。該算法的工作原理是在空間中從起點向終點進行采樣,將滿足要求的采樣點依次連接形成一條像樹枝的路徑。RRT 算法在無人機、智能車避障領域中有著廣泛的應用。傳統的RRT 算法在空間中隨機采樣,存在采樣數據點過多、隨機性較大和整體算法耗時長等問題。針對這些問題,提出了一種RRT 算法的優(yōu)化方法。
因為RRT 算法在空間中尋找采樣點完全隨機,所以在尋找路徑時會存在耗時較高和導向性不穩(wěn)定等缺點。因此,在采樣時利用一種基于概率的采樣方法。假設關系如下:
如式(14)所示,設定概率Pt,按照概率均勻隨機分布,在采樣前獲得一個概率值P,如果P小于Pt,則采樣點為目標點,路徑則向目標點方向生長。如果大于Pt,將空間中隨機產生的點作為采樣點。
RRT 算法在生成節(jié)點時存在一定隨機性,生成的最終路徑不連續(xù)。此外,起點距離終點太遠容易導致路徑規(guī)劃失敗。因此,為提高算法的成功率,將路徑找尋任務分為若干子任務。首先,在尋找路徑時,對整條路徑信息進行預先細分。然后,在仿真環(huán)境中依次設置“分段終點”。最后,RRT 算法在尋找路徑時將根據預先設置的“分段終點”依次到達目標點位。這種方法能夠有效地提高路徑尋找的成功率,漸少生成路徑的隨機性。
仿真使用的計算機軟硬件配置為:IntelR CoreTM i5 6300HQ,內存(RAM)16GB,顯卡為Nvidia GeForce GTX 960M,MATLAB 使用版本為2016b。
在本次仿真實驗中,設置搜索步長為6,最高迭代次數為7000,實驗空間環(huán)境設置為[800,800,1000]路徑規(guī)劃的起點設置為[0,0,0],目標終點設置為[500,.600,150],實驗中的分段終點為[400,320,100],[420,410,250]。路徑規(guī)劃實驗,如圖4 所示。其中長方體表示障礙物,在復雜環(huán)境中生成的路徑如圖4 所示,由圖可見該路徑成功避開障礙物。
圖4 路徑尋找實驗
為驗證軟體臂自生長工作模式的避障效果,進行了軟體臂在非結構化復雜環(huán)境中的避障實驗。為模擬軟體臂在工作時需要穿越狹小空間的情況在仿真環(huán)境中設置長方體障礙物布局如圖4 所示。為了保證機械臂能夠成功避開障礙物,到達目標點位,首先將上一章節(jié)提前規(guī)劃完成的路徑信息進行分段,確定軟體臂段數。其次,利用2.2 節(jié)所提出的自生長模式逆運動學,使每一段運動到指定位置。通過每一段的生長運動使機械臂到達終點。如圖5 所示,根據起點距離終點的長度信息,在實驗中只需要軟體臂前面兩大段。表1 為避障實驗中各段的關節(jié)信息。這種工作模式的優(yōu)點在于可根據任務要求決定使用具體的軟體臂段數,每一段之間獨立控制不存在耦合情況。
圖5 自生長工作模式下避障實驗
表1 避障實驗中各段參數信息
針對軟體機械臂提出一種順序建模和控制方法,使機械臂能夠模仿藤蔓生長的過程,每段先伸長后彎曲,避免機械臂運動學上的強耦合,從而實現在非結構化環(huán)境中避障。具體地,利用改進型RRT 算法在非結構化障礙物空間中尋找一條路。軟體機械臂將按照此路徑,分段順序運動進而實現避障。在仿真環(huán)境中實現了運動學分析及避障算法的驗證。
由于軟體臂在伸長過程中是采取的先伸長后彎曲的控制策略,在今后的工作中我們希望能夠在伸長的同時實現彎曲,使得整個軟體機械臂運動地更加柔順,在未來的工作里我們將搭建實物軟體臂來進行仿真和實驗的相互驗證。