劉 闖 何俊培 趙智遠(yuǎn) 趙 亮 賀 帥
1.中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,長春130033 2.中國科學(xué)院大學(xué),北京100049
連續(xù)型機(jī)械臂不具有傳統(tǒng)意義上的關(guān)節(jié)形式和剛性的連桿,通過柔性機(jī)械臂的彈性變形產(chǎn)生沿長度方向的連續(xù)彎曲運(yùn)動(dòng),是一種新興的仿生機(jī)械臂[1-2]。目前關(guān)于連續(xù)型機(jī)械臂的建模方法主要圍繞剛性梁理論[3-4]和分段常曲率方法展開[5-6]。Marchese A D等人建立了一個(gè)簡化的分段常曲率連續(xù)型機(jī)械臂模型,通過非線性約束優(yōu)化算法得到連續(xù)型機(jī)械臂的正逆運(yùn)動(dòng)學(xué)方程,并采用視覺反饋、PI和PID級聯(lián)控制實(shí)現(xiàn)連續(xù)型機(jī)械臂曲率閉環(huán)控制,實(shí)現(xiàn)機(jī)械臂末端"點(diǎn)到點(diǎn)"的路徑跟蹤[7];Polygerinos P等人根據(jù)鐵木辛柯理論建立FEA驅(qū)動(dòng)連續(xù)型機(jī)械臂的正逆運(yùn)動(dòng)學(xué)模型[8];Renda F等人運(yùn)用Cosserat粱理論建立了肌腱驅(qū)動(dòng)的連續(xù)型機(jī)械臂運(yùn)動(dòng)學(xué)模型,根據(jù)Kelvin-Voight線性黏彈性本構(gòu)方程建立Cosserat應(yīng)變模型,建立連續(xù)型章魚臂在水下環(huán)境中的動(dòng)力學(xué)模型,最終提出一種基于離散化Cosserat理論的分段恒應(yīng)變方法并建立了連續(xù)型機(jī)械臂的運(yùn)動(dòng)學(xué)模型[9-11]。Camarillo D B等人根據(jù)Kelvin 模型和Cosserat梁理論[12],將應(yīng)變矢量、曲率矢量補(bǔ)充到線驅(qū)動(dòng)連續(xù)型機(jī)械臂的動(dòng)力學(xué)模型當(dāng)中,采用FPG傳感網(wǎng)絡(luò)檢測機(jī)械臂形狀[13],并基于視覺反饋建立連續(xù)型機(jī)械臂的自適應(yīng)控制系統(tǒng)[14]。Hao Y等人采用試驗(yàn)的方式建立氣腔伸長量和氣壓之間的映射關(guān)系,在忽略氣腔徑向膨脹的基礎(chǔ)上建立開環(huán)運(yùn)動(dòng)學(xué)模型,并用視覺反饋方式進(jìn)行驗(yàn)證,結(jié)果表明該模型在低壓情況下是有效的[15];Terryn S等人基于歐拉彈性理論建立非線性桿模型,并分析氣動(dòng)連續(xù)型機(jī)械臂的運(yùn)動(dòng),精確捕捉到機(jī)械臂形變的本構(gòu)關(guān)系,即曲率和彎矩成正比,再根據(jù)非線性桿模型建立一個(gè)五參數(shù)的本構(gòu)關(guān)系,采用有限元模型研究該本構(gòu)關(guān)系對連續(xù)型機(jī)械臂的影響[16]。本文根據(jù)設(shè)計(jì)的線驅(qū)動(dòng)連續(xù)型機(jī)械臂,對單關(guān)節(jié)段和三關(guān)節(jié)段的正逆運(yùn)動(dòng)學(xué)求解問題進(jìn)行了詳細(xì)分析。
連續(xù)型機(jī)械臂不具有傳統(tǒng)意義的關(guān)節(jié)形式,而是通過柔性本體的彈性變形產(chǎn)生連續(xù)彎曲運(yùn)動(dòng),以適應(yīng)狹小空間環(huán)境的作業(yè)任務(wù)。為了保證機(jī)械臂快速進(jìn)入狹小作業(yè)空間環(huán)境并躲避環(huán)境障礙物,要求機(jī)械臂在任意方向都有良好的運(yùn)動(dòng)能力;為了適應(yīng)復(fù)雜危險(xiǎn)的空間作業(yè)環(huán)境,要求機(jī)械臂可以實(shí)現(xiàn)遠(yuǎn)程操控及人機(jī)實(shí)時(shí)交互;為了快速高效完成作業(yè)任務(wù),要求機(jī)械臂能輕松自如地改變自身形狀;為了滿足數(shù)據(jù)采集及探測的需要,機(jī)械臂應(yīng)配備不同類型的傳感器,以便將獲取的信息融合,順利完成作業(yè)任務(wù)?;诖耍O(shè)計(jì)了如圖1的線驅(qū)動(dòng)連續(xù)型機(jī)械臂的機(jī)械系統(tǒng)。
圖1 機(jī)械臂實(shí)物樣機(jī)
自然界的章魚觸手具有非常靈活的彎曲特性,章魚觸手的截?cái)嗝娼M織如圖2所示。章魚觸手運(yùn)動(dòng)時(shí),根據(jù)觸手體積不變的原理,當(dāng)觸手的橫肌伸長時(shí),縱肌收縮,此時(shí)章魚觸手收縮。章魚觸手的彎曲運(yùn)動(dòng)由被橫機(jī)分開的兩對縱肌的長度變化進(jìn)行控制,當(dāng)觸手的上部縱肌伸長而下部縱肌收縮時(shí),章魚觸手向下彎曲,當(dāng)觸手的下部縱肌伸長而上部縱肌收縮時(shí),章魚觸手向上彎曲。同理,當(dāng)章魚觸手的右部縱肌伸長、左部縱肌收縮時(shí),章魚觸手向左彎曲,當(dāng)章魚觸手的左部縱肌伸長、右部縱肌收縮時(shí),章魚觸手向右彎曲。仿造章魚觸手的運(yùn)動(dòng)機(jī)理和結(jié)構(gòu)特征,設(shè)計(jì)了此款用于狹小作業(yè)空間環(huán)境的線驅(qū)動(dòng)連續(xù)型機(jī)械臂。
圖2 章魚觸手橫斷面組織結(jié)構(gòu)
機(jī)械臂系統(tǒng)由機(jī)械臂臂體和驅(qū)動(dòng)機(jī)構(gòu)組成。機(jī)械臂臂體由3個(gè)關(guān)節(jié)段組成,包括柔性支柱、支撐圓盤和驅(qū)動(dòng)線。柔性支柱直徑為10mm,由彈性聚合物材料制造而成,用來提供彎曲運(yùn)動(dòng)剛度和保持機(jī)械臂整體形狀。每個(gè)關(guān)節(jié)段結(jié)構(gòu)如圖3所示,包含16個(gè)鋁制的支撐圓盤,支撐圓盤在柔性支柱上等間距布置。每個(gè)關(guān)節(jié)段的運(yùn)動(dòng)由超彈性NiTi合金絲驅(qū)動(dòng)線控制,驅(qū)動(dòng)線從圓盤上均布的孔中通過。
圖3 單關(guān)節(jié)段結(jié)構(gòu)圖
該機(jī)械臂每個(gè)關(guān)節(jié)段有2個(gè)自由度,采用四線驅(qū)動(dòng),4條驅(qū)動(dòng)線沿圓周方向間隔90°布置。間隔180°的兩條驅(qū)動(dòng)線為一組,每組控制一個(gè)自由度方向上的運(yùn)動(dòng)。伺服電機(jī)沿圓周方向均布,每個(gè)關(guān)節(jié)段配置2個(gè)伺服電機(jī)用于控制2個(gè)自由度,3個(gè)關(guān)節(jié)段共需要配置6個(gè)伺服電機(jī)。控制第1關(guān)節(jié)段的驅(qū)動(dòng)線起始端與伺服電機(jī)固連,依次穿過第1關(guān)節(jié)段的各個(gè)支撐圓盤,再與該關(guān)節(jié)段的末端支撐圓盤固連。同理,控制第2、3關(guān)節(jié)段運(yùn)動(dòng)的驅(qū)動(dòng)線末端分別與第2、3關(guān)節(jié)段的末端支撐圓盤固連。固連方式如圖4所示。
圖4 驅(qū)動(dòng)線固結(jié)方式
驅(qū)動(dòng)結(jié)構(gòu)包括伺服電機(jī)、高低速級減速器和驅(qū)動(dòng)線張緊機(jī)構(gòu),主要功能是為機(jī)械臂提供驅(qū)動(dòng)力,控制機(jī)械臂的運(yùn)動(dòng),機(jī)械臂結(jié)構(gòu)參數(shù)見表1。
按照各組成部件的結(jié)構(gòu)參數(shù)進(jìn)行實(shí)物加工,購置所需的伺服電機(jī)等元器件,然后進(jìn)行機(jī)械臂的裝配與調(diào)試,最后得到了線驅(qū)動(dòng)連續(xù)型機(jī)械臂的實(shí)物樣機(jī)。
表1 機(jī)械臂參數(shù)
線驅(qū)動(dòng)連續(xù)型機(jī)械臂不具有任何剛性關(guān)節(jié)和連桿。通過驅(qū)動(dòng)空間中的驅(qū)動(dòng)線驅(qū)動(dòng)控制關(guān)節(jié)空間中整段機(jī)械臂的彎曲運(yùn)動(dòng)來實(shí)現(xiàn)操作空間中機(jī)械臂末端的位姿變化。因此,對于線驅(qū)動(dòng)的連續(xù)型機(jī)械臂的運(yùn)動(dòng)學(xué)分析不僅包括關(guān)節(jié)空間與操作空間之間映射關(guān)系的分析,而且包括驅(qū)動(dòng)空間與關(guān)節(jié)空間之間映射關(guān)系的分析,如圖5所示。
圖5 線驅(qū)動(dòng)連續(xù)型機(jī)械臂運(yùn)動(dòng)學(xué)描述空間
在線驅(qū)動(dòng)連續(xù)型機(jī)械臂第1關(guān)節(jié)段的基座圓盤中心點(diǎn)o0處建立基坐標(biāo)系o0x0y0z0,在第1關(guān)節(jié)段的末端圓盤中心點(diǎn)o1處建立末端坐標(biāo)系o1x1y1z1。為運(yùn)動(dòng)學(xué)分析方便,將單關(guān)節(jié)段的彎曲運(yùn)動(dòng)分解為關(guān)節(jié)段自身的彎曲自由度和以基坐標(biāo)系z0軸為旋轉(zhuǎn)軸的旋轉(zhuǎn)自由度,分別用θ1和φ1表示兩個(gè)自由度,建立單關(guān)節(jié)段運(yùn)動(dòng)學(xué)模型如圖6所示。
圖6 單關(guān)節(jié)段運(yùn)動(dòng)學(xué)模型
本文分析的機(jī)械臂共有3個(gè)關(guān)節(jié)段,采用上面的建模方法,機(jī)械臂的三關(guān)節(jié)運(yùn)動(dòng)學(xué)模型如圖7所示。
2.2.1 單關(guān)節(jié)段正向運(yùn)動(dòng)學(xué)分析
通過驅(qū)動(dòng)空間中各驅(qū)動(dòng)線長度的變化量Δli(i=1,…,4)可以求得關(guān)節(jié)空間中的關(guān)節(jié)變量θ1和φ1,二者的關(guān)系由式(1)和(2)確定。
圖7 三關(guān)節(jié)段運(yùn)動(dòng)學(xué)模型
(1)
(2)
當(dāng)已知關(guān)節(jié)空間中的關(guān)節(jié)變量θ1和φ1,為求解機(jī)械臂操作空間中的末端位姿,需要采用基坐標(biāo)系o0x0y0z0至末端坐標(biāo)系o1x1y1z1的齊次變換矩陣T表示關(guān)節(jié)空間至操作空間的運(yùn)動(dòng)學(xué)映射關(guān)系。其中T矩陣如式(3)所示。
(3)
式中c代表cos,s代表sin,l表示機(jī)械臂單關(guān)節(jié)段的長度。
用Matlab進(jìn)行正向運(yùn)動(dòng)學(xué)仿真,在驅(qū)動(dòng)空間分別輸入4組不同的驅(qū)動(dòng)線長度變化量,控制機(jī)械臂在空間中到達(dá)不同的位置,相應(yīng)數(shù)據(jù)見表2。
表2 單關(guān)節(jié)段彎曲運(yùn)動(dòng)數(shù)據(jù)
仿真得到的機(jī)械臂單關(guān)節(jié)段空間彎曲效果如圖8所示。由圖可知通過改變驅(qū)動(dòng)線長度可使機(jī)械臂沿任意圓周方向彎曲。
圖8 單關(guān)節(jié)段運(yùn)動(dòng)學(xué)仿真圖
2.2.2 三關(guān)節(jié)段正向運(yùn)動(dòng)學(xué)分析
已知驅(qū)動(dòng)線長度的變化量Δlji,可先根據(jù)式(1)和(2)求出θ1和φ1,然后根據(jù)式(4)求出θ2、φ2和θ3、φ3。
(4)
同理,當(dāng)已知各關(guān)節(jié)段的關(guān)節(jié)變量θj和φj,可通過齊次變換矩陣0T3求解機(jī)械臂末端在操作空間中的位姿。根據(jù)機(jī)器人運(yùn)動(dòng)學(xué)分析中的“鏈?zhǔn)椒▌t”,有0T3=0T1·1T2·2T3,其中j-1Tj的表達(dá)式為:
(5)
用Matlab進(jìn)行正向運(yùn)動(dòng)學(xué)仿真,在驅(qū)動(dòng)空間分別輸入4組不同的驅(qū)動(dòng)線長度變化量,控制機(jī)械臂在空間中到達(dá)不同的位置,相應(yīng)數(shù)據(jù)見表3。
仿真得到的機(jī)械臂三關(guān)節(jié)段空間彎曲效果如圖9所示。由圖可知通過改變驅(qū)動(dòng)線長度可使機(jī)械臂沿任意方向彎曲。
圖9 三關(guān)節(jié)段運(yùn)動(dòng)學(xué)仿真圖
2.3.1 單關(guān)節(jié)段逆向運(yùn)動(dòng)學(xué)分析
若已知機(jī)械臂在操作空間的末端位姿,即已知齊次變換矩陣0T1,其中0T1的表達(dá)式為:
(6)
根據(jù)式(7)和(8)可以求出對應(yīng)的關(guān)節(jié)變量φ1、θ1。
θ1=arccos(az)
(7)
(8)
當(dāng)已知φ1、θ1時(shí),根據(jù)單關(guān)節(jié)段驅(qū)動(dòng)線的幾何關(guān)系,如圖10所示,可以推導(dǎo)出各個(gè)驅(qū)動(dòng)線的長度變化量,見式(9)。
(9)
圖10 單關(guān)節(jié)段驅(qū)動(dòng)線幾何關(guān)系
2.3.2 三關(guān)節(jié)段逆向運(yùn)動(dòng)學(xué)分析
已知機(jī)械臂末端位置信息,根據(jù)公式(10)求解各關(guān)節(jié)段的關(guān)節(jié)變量θj(j=1,2,3)和φj(j=1,2,3)。
(10)
機(jī)械臂各關(guān)節(jié)段單獨(dú)運(yùn)動(dòng)時(shí)驅(qū)動(dòng)線長度變化量為式(11)。
(11)
對于線驅(qū)動(dòng)的連續(xù)型串聯(lián)機(jī)械臂,各關(guān)節(jié)段的運(yùn)動(dòng)學(xué)之間存在耦合影響[16],所以必須對各關(guān)節(jié)段之間的運(yùn)動(dòng)學(xué)解耦,解耦后各關(guān)節(jié)段驅(qū)動(dòng)線長度變化量為式(12)。
(12)
為了使求逆解時(shí)效率更高,采用迭代速度較快的牛頓—拉夫遜法。求解流程圖如圖11所示。
圖11 牛頓—拉夫遜法求解流程
為了驗(yàn)證該方法的有效性,隨機(jī)選取3個(gè)末端位姿并對其求逆解,求得的關(guān)節(jié)向量及所需時(shí)間如表4所示。
對設(shè)計(jì)的線驅(qū)動(dòng)連續(xù)型機(jī)械臂的單段關(guān)節(jié)和三段關(guān)節(jié)分別進(jìn)行了正逆運(yùn)動(dòng)學(xué)分析。并在多關(guān)節(jié)段之間的運(yùn)動(dòng)學(xué)耦合關(guān)系的基礎(chǔ)上分析了多關(guān)節(jié)段的逆運(yùn)動(dòng)學(xué)問題,提出了求取逆運(yùn)動(dòng)學(xué)解的數(shù)值算法。最后在MATLAB環(huán)境中分別對連續(xù)型機(jī)械臂單關(guān)節(jié)段和多關(guān)節(jié)段的正逆運(yùn)動(dòng)學(xué)算法進(jìn)行了仿真驗(yàn)證,實(shí)驗(yàn)結(jié)果驗(yàn)證了所提算法的可行性和有效性。
表4 三關(guān)節(jié)段逆運(yùn)動(dòng)學(xué)求解數(shù)據(jù)