康榮杰,王 聰,耿仕能,楊鋮浩,
(1. 天津大學(xué)機構(gòu)理論與裝備設(shè)計教育部重點實驗室,天津 300350;2. 天津工業(yè)大學(xué)機械工程學(xué)院,天津 300387)
隨著機器人學(xué)與仿生技術(shù)的快速發(fā)展,連續(xù)型機器人得到了越來越多的關(guān)注.連續(xù)型機器人采用與章魚觸角、象鼻等生物器官類似的結(jié)構(gòu),不具有剛性連桿,可以柔順地改變自身形狀以適應(yīng)環(huán)境.由于連續(xù)型機器人這種獨特的自身結(jié)構(gòu)優(yōu)勢,目前已經(jīng)廣泛應(yīng)用于醫(yī)療手術(shù)、空間操作、探測救援等領(lǐng)域[1].
目前,國內(nèi)外有很多機構(gòu)和學(xué)者針對連續(xù)型機器人的設(shè)計、建模、控制等方面展開了研究.其中,采用絲驅(qū)動與氣壓驅(qū)動作為連續(xù)型機器人控制輸入的研究較多[2].文獻[3-4]提出了Air-OCTOR以及OctArm等一系列連續(xù)型機器人,并對傳統(tǒng)剛性機器人的D-H建模法進行改進,使其適用于連續(xù)型機器人的運動學(xué)分析.文獻[5]開發(fā)了一種新型絲驅(qū)動連續(xù)型機器人,可以通過利用置于關(guān)節(jié)內(nèi)的相變合金的熱機械性來實現(xiàn)變剛度的效果.文獻[6]提出了一種帶有約束的絲驅(qū)動柔性機器人,通過主動控制彎曲關(guān)節(jié)的長度和曲率,可以實現(xiàn)增大工作空間等功能.Festo和BUAA合作開發(fā)了一種仿章魚觸手軟體抓持器,其由柔軟的硅膠結(jié)構(gòu)組成,通過氣壓驅(qū)動可以實現(xiàn)連續(xù)靈活的大幅度柔順變形[7].文獻[8-10]也對絲驅(qū)動、氣壓驅(qū)動、混合驅(qū)動等多種類型連續(xù)型機器人展開了詳細的研究,并基于運動學(xué)建模,進行了卡爾曼濾波控制、工作空間分析等相關(guān)工作.此外,隨著智能材料與 3D打印技術(shù)的快速發(fā)展,一些學(xué)者開始將形狀記憶合金等新型驅(qū)動形式應(yīng)用于連續(xù)型機器人的控制中[2].文獻[11]設(shè)計了一種采用 SMA 彈簧驅(qū)動的微創(chuàng)手術(shù)機器人,可以通過控制每個關(guān)節(jié)的彈簧伸縮實現(xiàn)不同程度的靈活彎曲.上述研究都提到了連續(xù)型機器人在操作靈活性方面存在優(yōu)勢,并在運動學(xué)模型、控制等方面做了深入的分析,但是卻很少有針對連續(xù)型機器人運動靈活性開展的相關(guān)研究.
目前,對機器人運動靈活性進行分析常采用以下兩類指標(biāo):一是基于服務(wù)區(qū)、服務(wù)球等指標(biāo)[12]考察機器人末端在工作空間中的特定位置下所有姿態(tài)的集合;二是基于雅可比矩陣條件數(shù)、奇異值等指標(biāo)[13]對機器人末端沿工作空間內(nèi)任意方向的運動能力進行考察.Wu等[14]在Badescu等[12]對多關(guān)節(jié)剛性機械臂靈活性的研究基礎(chǔ)上,基于服務(wù)區(qū)的概念,對連續(xù)型機器人的靈活性展開了分析.Gravagne等[15]將連續(xù)型機器人看成一種特殊的串聯(lián)機器人,對其靈活性進行了運動學(xué)與力學(xué)可操作度方面的探究,但是該靈活性分析僅局限于平面內(nèi).Khadem 等[16]基于雅可比矩陣,提出了一系列的可操作度指標(biāo),對同心管連續(xù)型機器人展開了靈活性分析.然而,以上設(shè)計并沒有將連續(xù)型機器人的靈活性與結(jié)構(gòu)設(shè)計相結(jié)合,而用靈活性來指導(dǎo)結(jié)構(gòu)設(shè)計是連續(xù)型機器人研究的重點之一.由于目前針對連續(xù)型機器人的建模與控制主要基于速度雅可比矩陣展開,且雅可比矩陣的性能直接影響機器人的操作性能,因此本文基于運動學(xué)模型與雅可比矩陣分析連續(xù)型機器人的靈活性.
本文對連續(xù)型機器人的靈活性進行了詳細的分析,將靈活性與機器人的關(guān)節(jié)長度設(shè)計相結(jié)合,引入優(yōu)化算法,利用靈活性來指導(dǎo)關(guān)節(jié)長度的分配,并揭示了基于雅可比矩陣條件數(shù)的靈活性指標(biāo)與操作靈敏度的關(guān)聯(lián)關(guān)系,為連續(xù)型機器人的結(jié)構(gòu)設(shè)計與控制提供有力的支撐.
圖 1所示為連續(xù)型機器人樣機三維圖.機器人本體分為 2個關(guān)節(jié),靠近驅(qū)動箱的關(guān)節(jié)定義為關(guān)節(jié)1.每一個關(guān)節(jié)由中央脊椎絲、驅(qū)動絲和連接盤 3部分組成,3根驅(qū)動絲間隔 120°布置,穿過連接盤上的過孔并與關(guān)節(jié)末端連接盤相固聯(lián).關(guān)節(jié) 2的 3根驅(qū)動絲穿過關(guān)節(jié)1中連接盤的過孔,并與關(guān)節(jié)1中的驅(qū)動絲間隔 60°分布.其中,中央脊椎絲與驅(qū)動絲均為既可承受推力又可承受拉力的超彈鎳鈦合金絲,連接盤為3D樹脂打印材料.由于中央脊椎絲起支撐固定作用,且整體的長度不發(fā)生改變,因此通過控制關(guān)節(jié)中驅(qū)動絲長度的變化,就可以實現(xiàn)機器人不同構(gòu)型的彎曲.另外,機器人采用模塊化設(shè)計,通過調(diào)整每一關(guān)節(jié)連接盤的間距與數(shù)量,便可以實現(xiàn)關(guān)節(jié)長度的靈活改變.
圖1 連續(xù)型機器人樣機Fig.1 Prototype of a continuum robot
假設(shè)連續(xù)型機器人運動時各個關(guān)節(jié)均為等曲率彎曲[17],且每一關(guān)節(jié)都由均勻分布的3根絲驅(qū)動.在關(guān)節(jié) i (i = 1 ,2,… ,n )的初始連接盤與末端連接盤上分別建立該關(guān)節(jié)的基座坐標(biāo)系 Oib( xib, yib, zib)與末端坐標(biāo)系 Oie( xie, yie, zie),如圖 2(以關(guān)節(jié) 1為例)所示.其中,規(guī)定關(guān)節(jié)1的基座坐標(biāo)系為整個機器人的基座坐標(biāo)系.則可通過以下 3個空間來描述機器人的運動學(xué)模型:驅(qū)動空間 Q = [ li,j]T(i = 1 ,2,… ,n; j =1,2,3)用于 反 映 驅(qū) 動 絲 長 度 變 化 ;構(gòu) 型 空 間 Ψ =[θi,δi]T(i = 1 ,2,… ,n )用于描述連續(xù)型機器人彎曲形狀;工作空間 P =[x,y,z]T用于描述機器人末端點位置.其中,定義 Li(i = 1 ,2)為第 i個關(guān)節(jié)中央脊椎絲的長度,li,j(i = 1,2,… ,n; j =1,2,3)為第 i個關(guān)節(jié)中第 j根驅(qū)動絲的長度.θi( i = 1 ,2,… ,n )為第 i個關(guān)節(jié)的彎曲圓心角,即第i個關(guān)節(jié)彎曲后末端連接盤與初始連接盤所形成的夾角.δi(i = 1 ,2,… ,n )為第i個關(guān)節(jié)的彎曲方向角,即第i個關(guān)節(jié)最大彎曲所在平面與該關(guān)節(jié)基座坐標(biāo)系中xibzib平面的夾角.
圖2 關(guān)節(jié)1的建模參數(shù)Fig.2 Modeling parameters of joint 1
基于上述運動學(xué)建模相關(guān)假設(shè)和定義,僅僅考慮每個關(guān)節(jié)自身,連續(xù)型機器人第i個關(guān)節(jié)驅(qū)動空間Q、構(gòu)型空間Ψ和工作空間P之間的關(guān)系可以表示為
式中:α=120°,為第i個關(guān)節(jié)3根驅(qū)動絲之間的分布角度;Pie與Pib分別為第 i個關(guān)節(jié)末端坐標(biāo)系和基座坐標(biāo)系的位置坐標(biāo).
將單關(guān)節(jié)運動學(xué)模型中驅(qū)動空間Q、構(gòu)型空間Ψ與工作空間 P之間的關(guān)系拓展到多關(guān)節(jié),便可以得到多關(guān)節(jié)之間的運動學(xué)模型.但是,要注意的是,考慮多關(guān)節(jié)驅(qū)動空間Q與構(gòu)型空間Ψ之間的關(guān)系時,由于第 i (i ≥ 2 )個關(guān)節(jié)的驅(qū)動絲要穿過第 1至第i-1個關(guān)節(jié),因此需要考慮運動學(xué)的耦合問題;且考慮多關(guān)節(jié)構(gòu)型空間 Ψ與工作空間 P之間的關(guān)系時,由于第i (i≥2)個關(guān)節(jié)的基座坐標(biāo)系Oib與第i-1個關(guān)節(jié)的末端坐標(biāo)系 O(i-1)e并不重合,因此需要考慮兩坐標(biāo)系之間存在的旋轉(zhuǎn)角度.故綜合考慮上述因素,連續(xù)型機器人第i (i≥2)個關(guān)節(jié)驅(qū)動空間 Q、構(gòu)型空間Ψ、工作空間P之間的關(guān)系可以表示為
式中:i= 1,2,… ,n; j =1,2,3;r為驅(qū)動絲所在的分布圓半徑,在本文中取 r = 1 5mm ;β為第i (i≥2)個關(guān)節(jié)與第i-1個關(guān)節(jié)驅(qū)動絲之間的夾角,故β= 2 π /(3i),如圖3所示.
圖3 兩關(guān)節(jié)連續(xù)型機器人驅(qū)動絲分布情況示意Fig.3 Distribution of driving cables in a two-joint continuum robot
速度雅可比矩陣反映了連續(xù)型機器人關(guān)節(jié)驅(qū)動空間 Q、構(gòu)型空間 Ψ、工作空間 P之間的速度關(guān)系,是后續(xù)對機器人進行靈活性分析、運動學(xué)仿真與控制的基礎(chǔ).設(shè)JΨQ和JΨP分別為構(gòu)型空間到驅(qū)動空間和工作空間的速度雅可比矩陣,則有
結(jié)合式(3)、(5)、(6),可以得到構(gòu)型空間Ψ到工作空間 P之間的明確數(shù)學(xué)表達式,給定構(gòu)型空間 Ψ與驅(qū)動空間 Q中的各個參數(shù)范圍:θ1,θ2∈ [ 0 ,0.5π],δ1,δ2∈ [ 0 , 2π],L1=L2= 4 00mm ,可以得到兩關(guān)節(jié)連續(xù)型機器人的整體工作空間分布,如圖4所示.
圖4 兩關(guān)節(jié)連續(xù)型機器人工作空間示意Fig.4 Workspace of a two-joint continuum robot
目前,常用雅可比矩陣的條件數(shù)、奇異值、可操作度等來衡量機器人的運動靈活性.而在這些指標(biāo)中,由Salisbury等[18]在1982年提出的條件數(shù)是最為通用的,即
通常取條件數(shù)的倒數(shù) k = 1 /c(J)作為衡量機器人靈活性的條件數(shù)指標(biāo),其反映了機器人末端點在工作空間內(nèi)沿各個方向運動能力的均一性.當(dāng)機器人以某一種構(gòu)型到達工作空間中的任意一點時,該點的 k值越接近1,則該點的靈活性越好;反之,該點的k值越接近 0,則該點的靈活性越差;當(dāng)k=0時說明該點為機器人構(gòu)型中的奇異位置.
可以發(fā)現(xiàn),當(dāng)機器人的總長在一定范圍內(nèi)時,采用不同關(guān)節(jié)長度分配,對應(yīng)的工作空間中靈活性分布也存在較大的差異,如圖5所示.
圖5 關(guān)節(jié)長度對工作空間中靈活性分布的影響Fig.5 Effect of joint length on the distribution of dexterity in the workspace
從上述分析中可以發(fā)現(xiàn),機器人的條件數(shù)指標(biāo) k只能反映工作空間中某一點的靈活性,為一個局部指標(biāo).然而在操作機器人時,通常希望其在整個工作空間內(nèi)的靈活性更好,因此,Gosselin等[19]基于條件數(shù)指標(biāo)k,定義了全域靈活性指標(biāo)η,即
圖6 關(guān)節(jié)長度分配對全域靈活性指標(biāo)η的影響Fig.6 Effect of joint length on global dexterity index η
η越接近于 1,表明機器人在整個工作空間內(nèi)的整體靈活性越好.
如圖6所示,可以看出關(guān)節(jié)長度分配對連續(xù)型機器人整體靈活性的影響.
對于連續(xù)型機器人的結(jié)構(gòu)設(shè)計來講,一個重要的指標(biāo)就是提升其在整個工作空間內(nèi)的靈活性,因此,接下來將選用全域靈活性指標(biāo) η來指導(dǎo)連續(xù)型機器人的關(guān)節(jié)長度設(shè)計.
為了得到使得全域靈活性指標(biāo) η最大的連續(xù)型機器人最佳關(guān)節(jié)長度分配,建立目標(biāo)函數(shù)
式中:a為每一關(guān)節(jié)長度的最小值;b為總關(guān)節(jié)長度的最大值.a(chǎn),b的具體數(shù)值均可由實際情況來進行選?。谶@里,為了保證機器人的關(guān)節(jié)長度比例協(xié)調(diào),且總長不至于過長,取 a=200mm,b=1000mm,同時,為了便于機器人關(guān)節(jié)長度的設(shè)計,關(guān)節(jié)長度都取為10mm的倍數(shù).
粒子群算法[20]是近年來發(fā)展起來的一種仿生優(yōu)化算法,其流程如圖 7所示.與遺傳算法相似,其也是從隨機解出發(fā),通過追隨當(dāng)前搜索到的最優(yōu)值來尋找全局最優(yōu)解,并利用適應(yīng)度來評價解的品質(zhì).這種算法具有精度高、收斂快、操作簡單等優(yōu)點,廣泛應(yīng)用于學(xué)術(shù)與工程領(lǐng)域.
圖7 粒子群算法流程Fig.7 Flowchart of the PSO algorithm
在本文中,引入粒子群算法來尋找使得全域靈活性指標(biāo)η最大的最優(yōu)關(guān)節(jié)長度L1與L2的值.機器人中其余結(jié)構(gòu)參數(shù)的大小與范圍與第 1節(jié)中描述相同.基于兩關(guān)節(jié)連續(xù)型機器人的運動學(xué)模型(式(5)和(6))與雅可比矩陣的表達式(式(7)和(8)),在關(guān)節(jié)長度 L1與 L2構(gòu)成的二維解空間中初始化一群隨機粒子,在每一次迭代中,粒子通過在解空間中不斷追隨當(dāng)前最優(yōu)粒子的位置與速度,計算適應(yīng)度,逐漸逼近最優(yōu)解.重復(fù)進行多次迭代,最終確定使得全域靈活性指標(biāo)η最大的關(guān)節(jié)長度L1與L2的值.
在 MATLAB中,根據(jù)式(11)中所示的目標(biāo)函數(shù)、邊界條件、優(yōu)化變量以及上述算法流程編寫 PSO程序,設(shè)定隨機粒子種群大小M=40,迭代次數(shù)T= 2 0,學(xué)習(xí)因子 C1=C2= 1 .5,慣性權(quán)重ω=0.7.運行 PSO程序,針對 F這個目標(biāo)函數(shù),可以得到粒子群算法進化曲線以及優(yōu)化后的關(guān)節(jié)長度與 F的關(guān)系曲線,如圖8所示.
圖8 全域靈活性指標(biāo)η的PSO進化曲線Fig.8 PSO evolution curve of η
圖8和表1表明了當(dāng)機器人兩關(guān)節(jié)長度為L1=520mm、L2=360mm時,機器人的全域靈活性指標(biāo)η取得最大值 0.1190,也就是說機器人的整體靈活性最好.相比于傳統(tǒng)的兩關(guān)節(jié)長度相等的分配,優(yōu)化后結(jié)果可以使機器人的整體靈活性提升10.29%.
表1 關(guān)節(jié)長度分配變化對η值的影響Tab.1 Effect of varying joint length on the value of η
從第 3節(jié)的分析來看,可以通過調(diào)整機器人的關(guān)節(jié)長度分配來提升機器人在工作空間內(nèi)的靈活性.接下來,將采用使得全域靈活性指標(biāo) η最大的關(guān)節(jié)長度分配 L1=520mm,L2=360mm 來設(shè)計連續(xù)型機器人,并對機器人的靈活性進行驗證.由于基于雅可比矩陣條件數(shù)計算得到的機器人靈活性是一個抽象的概念,不能直觀地進行實驗驗證,因此筆者提出利用可測量的靈敏度指標(biāo) S來間接反映機器人的靈活性,
式中 S表示機器人在某一狀態(tài)下構(gòu)型空間的單位擾動ΔΨ所引起的工作空間中末端位置變化ΔP的大?。@然,S值越大,表明機器人對輸入量變化的響應(yīng)越靈敏,機器人越靈活.
為了方便進行仿真與實驗驗證,先繪制出關(guān)節(jié)長度分別為 L1=520mm、L2=360mm 的兩關(guān)節(jié)連續(xù)型機器人的工作空間截面以及末端位置點所對應(yīng)的條件數(shù)指標(biāo)k的大小,并在工作空間截面內(nèi)選擇靈活性不同的兩點 P1=[144.40,0,853.78]T與 P2=[439.41,0,639.42]T來分析機器人的靈敏度,從而驗證可以用靈敏度來反映靈活性,如圖 9所示.其中,P1和P2所對應(yīng)的構(gòu)型分別為Ψ1=[5°,0°, 30°, - 60°]T和Ψ2=[30°, 0°, 70°,- 60°]T;P1和P2所對應(yīng)的條件數(shù)指標(biāo)k分別為 k1= 0 .0565和k2= 0 .1507.
圖9 工作空間中靈活性分布(L1=520mm,L2=360mm)Fig.9 Distribution of dexterity in the workspace(L1=520mm,L2=360mm)
為了比較機器人在 P1、P2靈活性不同的兩點處的靈敏度分布情況,在 MATLAB 中,以Ψ1、Ψ2中當(dāng)前的各個角度為圓心,在單位圓中隨機找尋新的構(gòu)型空間輸入、,保證ΔΨ中各個角度的變化量滿足式(13),從而可以得到新的末端位置、,便可以求得對應(yīng)的ΔΨ與ΔP的大?。?/p>
重復(fù)進行上述步驟,而后利用式(12)便可得到機器人在 P1與 P2兩點處的靈敏度分布情況.此外,為了便于看出靈活性大小與靈敏度分布的關(guān)系,在繪制靈敏度分布圖時,將 P1和 P2都移至坐標(biāo)原點,如圖10所示.
圖10 P1與P2兩點靈敏度分布情況仿真示意Fig.10 Distribution of sensitivities at P1 and P2 in simulation
表2 靈敏度仿真結(jié)果Tab.2 Results for simulated sensitivity
綜合對比圖10與表2,可以發(fā)現(xiàn)靈活性好的點,其沿各個方向的靈敏度大小分布較為均勻,而靈活性差的點,其沿各個方向的靈敏度大小分布差異較大.
圖 11為驗證靈敏度與靈活性的實驗裝置,包括連續(xù)型機器人物理樣機以及用于測量工作空間中末端位置的3D電磁追蹤系統(tǒng)(誤差小于0.5mm).
圖11 實驗平臺Fig.11 Experimental platform
為盡量減小由于測量誤差所帶來的影響,在進行P1與 P2兩點靈敏度實驗時,各選取靈敏度分布截面中(圖 10(c)、(d)所示)的最外側(cè)輪廓 30個點所對應(yīng)的構(gòu)型空間作為實驗中的輸入,并用 3D電磁追蹤系統(tǒng)來測量該輸入下對應(yīng)的機器人末端位置,從而得到末端位置變化ΔP的大小.
同時,為了驗證按照 L1=520mm、L2=360mm的關(guān)節(jié)長度分配設(shè)計機器人時,其擁有更好的靈活性,改變采用模塊化設(shè)計的機器人關(guān)節(jié)長度,在總長維持一定的情況下,讓關(guān)節(jié)長度分配變?yōu)?L1=440mm,L2=440mm,將 P1與 P2兩點對應(yīng)的構(gòu)型Ψ1與 Ψ2作為該長度分配下的輸入,得到 P3與 P4兩點,并按照上述仿真與實驗步驟,對 P3與 P4兩點進行靈敏度實驗.
而后,利用式(12)便可得到實驗狀態(tài)下關(guān)節(jié)長度分配為 L1=520mm、L2=360mm 時機器人在 P1與P2兩點處的靈敏度分布與大小的對比情況,以及關(guān)節(jié)長度分配為 L1=440mm、L2=440mm 時機器人在P3與 P4兩點處的靈敏度分布與大小的對比情況,如圖12、圖13與表3所示.
綜合對比圖 10、圖 12、圖 13、表 2與表 3,可以發(fā)現(xiàn)實驗與仿真結(jié)果差別不大,且對于相同構(gòu)型輸入,優(yōu)化后得到的關(guān)節(jié)長度分配 L1=520mm、L2=360mm使得機器人的靈敏度沿各個反向分布更為均勻. 因此可以通過直觀的靈敏度指標(biāo)來驗證機器人的靈活性,靈活性高的點,其各向靈敏度分布較為均勻.
圖12 P1與 P2兩點靈敏度分布情況實驗示意(L1=520mm,L2=360mm)Fig.12 Distribution of sensitivities at P1 and P2 in experiment(L1=520mm,L2=360mm)
圖13 P3與 P4兩點靈敏度分布情況實驗示意(L1=440mm,L2=440mm)Fig.13 Distribution of sensitivities at P3 and P4 in experiment(L1=440mm,L2=440mm)
表3 靈敏度實驗結(jié)果Tab.3 Experimental results for sensitivity
本文基于雅可比矩陣的條件數(shù)對連續(xù)型機器人的靈活性進行了詳細討論,而后在全域靈活性指標(biāo)的引導(dǎo)下,通過粒子群算法得到了機器人的最優(yōu)關(guān)節(jié)長度分配,并用于指導(dǎo)樣機設(shè)計.在仿真與實驗中,引入新指標(biāo)靈敏度,直觀地反映了靈活性的大小,發(fā)現(xiàn)根據(jù)雅可比條件數(shù)計算得到的靈活性較高的點其各向靈敏度分布亦較為均勻.本文的工作對于今后利用靈活性指導(dǎo)連續(xù)型機器人結(jié)構(gòu)設(shè)計,以及直觀驗證機器人靈活性提供了一種新思路.