陸志祥 ,王春寶 ,韋建軍 ,孫正迪 ,陳曉嬌 ,段麗紅 ,劉銓權(quán) ,尚萬(wàn)峰
(1.廣東銘凱醫(yī)療機(jī)器人有限公司,廣東 深圳518110;2.深圳市老年醫(yī)學(xué)研究所,廣東 深圳518035;3.深圳大學(xué)第一附屬醫(yī)院,廣東 深圳518035;4.廣西科技大學(xué)機(jī)械與交通工程學(xué)院,廣西 柳州545006)
中風(fēng)是中老年常見的一種疾病,并發(fā)后遺癥往往給患者帶來(lái)不同程度的肢體癱瘓,嚴(yán)重者長(zhǎng)期臥床,生活不能自理并給家庭帶來(lái)了巨大的負(fù)擔(dān)[1]。中風(fēng)后如果治療得當(dāng)及時(shí),使身體各個(gè)主要關(guān)節(jié)能恢復(fù)運(yùn)動(dòng)功能,再加上患者能認(rèn)真配合做功能鍛煉,大部分人是完全可以重新生活自理的[2]。但傳統(tǒng)的下肢康復(fù)訓(xùn)練以治療師為主體來(lái)對(duì)患者實(shí)施一對(duì)一的服務(wù),由于且理療師數(shù)量不足導(dǎo)致傳統(tǒng)康復(fù)訓(xùn)練周期較長(zhǎng),影響患者康復(fù)進(jìn)程,并無(wú)法客觀定量評(píng)定患者狀態(tài)。故現(xiàn)階段使用機(jī)器人來(lái)代替?zhèn)鹘y(tǒng)理療師已經(jīng)成為一種發(fā)展趨勢(shì)且具有廣闊的應(yīng)用前景。
下肢是人體重要的支撐部分,為了解決因中風(fēng)而導(dǎo)致人體下肢運(yùn)動(dòng)能力下降的問題,同時(shí)減輕康復(fù)理療師的工作強(qiáng)度,研究并開發(fā)了一種適用下肢訓(xùn)練的雙臂扶持康復(fù)機(jī)器人,可幫助患者完成步行蹲起、重心轉(zhuǎn)移等訓(xùn)練,糾正人體步態(tài)。
本文主要針對(duì)機(jī)器人的兩個(gè)扶持機(jī)械臂進(jìn)行分析及仿真。
雙臂扶持康復(fù)機(jī)器人由三個(gè)主要部分組成,分別是絲杠升降機(jī)構(gòu)、康復(fù)機(jī)械臂以及步行機(jī)。在機(jī)器人設(shè)計(jì)之初就采用了仿生學(xué)原理,該機(jī)構(gòu)自由度較高且具有靈活的運(yùn)動(dòng)方式,可仿照理療師手技進(jìn)行訓(xùn)練提升患者康復(fù)效果。由于兩個(gè)機(jī)械臂結(jié)構(gòu)完全相同,故在本文中對(duì)僅對(duì)右臂進(jìn)行相關(guān)研究。
扶持機(jī)械臂包含肩、回轉(zhuǎn)、肘、腕四個(gè)轉(zhuǎn)動(dòng)關(guān)節(jié),分別連接肩部支撐機(jī)構(gòu)、大臂、回轉(zhuǎn)機(jī)構(gòu)、小臂以及末端抓取結(jié)構(gòu)五個(gè)部分。肩部支撐板上固定電機(jī),電機(jī)通過兩級(jí)齒輪及諧波減速器將動(dòng)力傳遞到大臂;大臂與回轉(zhuǎn)機(jī)構(gòu)之間由電機(jī)安裝板及H型諧波減速器連接,回轉(zhuǎn)電機(jī)提供動(dòng)力;回轉(zhuǎn)機(jī)構(gòu)通過肘部支撐板與小臂連接,使用一對(duì)錐齒輪及傳送帶結(jié)合減速器進(jìn)行傳動(dòng);腕部抓取結(jié)構(gòu)采用無(wú)動(dòng)力設(shè)計(jì)并由軸套及萬(wàn)向節(jié)與小臂相連?;颊呦轮ㄟ^腰帶固定于機(jī)器人腕部的腰帶安裝板上來(lái)完成康復(fù)訓(xùn)練(機(jī)器人模型見圖1)。
圖1 雙臂康復(fù)機(jī)器人模型
串聯(lián)機(jī)械臂可以看作由一系列的關(guān)節(jié)將各連桿連接起來(lái)的空間開鏈結(jié)構(gòu),在其兩端分別有固定基座以及末端執(zhí)行機(jī)構(gòu)。機(jī)器人運(yùn)動(dòng)學(xué)則用來(lái)表述末端與各關(guān)節(jié)位置的幾何關(guān)系,并由正運(yùn)動(dòng)學(xué)及逆運(yùn)動(dòng)學(xué)兩部分組成。
由上節(jié)可知,該機(jī)構(gòu)共有三個(gè)轉(zhuǎn)動(dòng)關(guān)節(jié),為了便于分析可將其簡(jiǎn)化為三根連桿,并視齒輪軸線為機(jī)構(gòu)旋轉(zhuǎn)軸線。
1995年Denavit和Hartenberg提出了一種機(jī)器人的通用描述方法,用連桿的參數(shù)描述機(jī)構(gòu)的運(yùn)動(dòng)關(guān)系,這種方法將正運(yùn)動(dòng)學(xué)計(jì)算問題簡(jiǎn)化為齊次變換矩陣的運(yùn)算問題,以矩陣來(lái)描述末端相對(duì)參考坐標(biāo)系的變換關(guān)系[3]。
在最初提出的D-H模型基礎(chǔ)上,此后共衍生了四種不同的修訂版本,在本論文中將使用Craig版本對(duì)運(yùn)動(dòng)學(xué)進(jìn)行分析。和原始模型不同的是,Craig版本將連桿坐標(biāo)系后置修改為前置,原點(diǎn)選擇位置的不同也導(dǎo)致連桿各參數(shù)以及矩陣變換順序的變化,但對(duì)于相同的基準(zhǔn)坐標(biāo)系及末端坐標(biāo)系來(lái)說(shuō)所得出的結(jié)果是一致的。
(1)建立連桿坐標(biāo)系
將該機(jī)械臂簡(jiǎn)化為三根連桿分別記大臂L1,回轉(zhuǎn)機(jī)構(gòu)L2,小臂L3,肩部支撐為基座記L0,抓取機(jī)構(gòu)固定于小臂末端記L4,三根連桿之間的相對(duì)轉(zhuǎn)動(dòng)角度分別記 θ1、θ2、θ3,即關(guān)節(jié)變量。基準(zhǔn)坐標(biāo)系原點(diǎn)取肩部支撐機(jī)構(gòu)前端,連桿L1坐標(biāo)系原點(diǎn)取肩關(guān)節(jié)1連桿L2、L3坐標(biāo)原點(diǎn)取肘關(guān)節(jié),L4坐標(biāo)原點(diǎn)取抓取機(jī)構(gòu)末端。坐標(biāo)系建立如圖2所示。
圖2 機(jī)械臂連桿坐標(biāo)系
(2)建立D-H參數(shù)表
結(jié)合上述連桿坐標(biāo)系及該機(jī)械臂的具體幾何參數(shù),建立所對(duì)應(yīng)的D-H參數(shù)表(見表1)。
表1 機(jī)械臂D-H參數(shù)表
其中:
αi—zi軸繞xi軸到zi+1軸的旋轉(zhuǎn)角度;
ai—zi軸沿xi軸到zi+1軸的移動(dòng)距離;
θi—xi-1軸繞zi軸到xi軸的旋轉(zhuǎn)角度;
di—xi-1軸沿zi軸到xi軸的移動(dòng)距離。
(3)運(yùn)動(dòng)學(xué)正解計(jì)算
在已知連桿各關(guān)節(jié)的運(yùn)動(dòng)參數(shù)的情況下來(lái)求末端相對(duì)基標(biāo)系的位姿就是正向運(yùn)動(dòng)學(xué)的求解過程。
由D-H矩陣變換的定義可知兩個(gè)相鄰連桿坐標(biāo)系的相對(duì)位置可由兩個(gè)旋轉(zhuǎn)和兩個(gè)平移變換來(lái)得到,公式如下:
其中 Cθ= cosθ,Sθ= sinθ。
得到相鄰連桿的變換關(guān)系之后便可以計(jì)算機(jī)械臂末端相對(duì)基座的位置關(guān)系表示坐標(biāo)系1相對(duì)基坐標(biāo)系0的齊次變換矩陣,表示坐標(biāo)系1相對(duì)坐標(biāo)系2的齊次變換矩陣,將各連桿對(duì)應(yīng)的矩陣依次右乘得到坐標(biāo)系4相對(duì)坐標(biāo)系0的變換矩陣:
已知該機(jī)構(gòu)各連桿具體長(zhǎng)度:l0=64 mm,l1=85.7 mm,l2=233.9 mm,l3=236 mm,l4=55.1 mm,將以上數(shù)值代入公式(1)(2)可得到機(jī)械臂的正向運(yùn)動(dòng)學(xué)方程如下:
其中:
(4)運(yùn)動(dòng)學(xué)逆解計(jì)算
當(dāng)給定機(jī)械臂末端相對(duì)基坐標(biāo)系的位置與姿態(tài)時(shí)求各關(guān)節(jié)的運(yùn)動(dòng)參數(shù)就是逆向運(yùn)動(dòng)學(xué)的求解過程,即在n,o,a,p四個(gè)矢量已知的情況下來(lái)求出各個(gè)關(guān)節(jié)變量 θ1,θ2,θ3的數(shù)值。
逆運(yùn)動(dòng)學(xué)的求解方法可分為數(shù)值解法和封閉解法兩類,介于該機(jī)構(gòu)自由度數(shù)目較少故在本文中使用封閉解法中的代數(shù)法來(lái)進(jìn)行求解。用連桿逆變換矩陣左乘公式(3),使得到的矩陣兩側(cè)含所求關(guān)節(jié)變量的對(duì)應(yīng)方程相等,便可以求出各θ的值,計(jì)算如下:
將上述表達(dá)式展開得到:
令矩陣方程(6)左右兩端元素(3,4)對(duì)應(yīng)相等可得:
將上述表達(dá)式展開得到:
令矩陣方程(9)兩端元素(1,3)和(3,3)分別對(duì)應(yīng)相等得:
令矩陣方程(9)兩端元素(2,4)對(duì)應(yīng)相等得:
機(jī)械臂的工作空間就是指在機(jī)構(gòu)正常運(yùn)動(dòng)過程中其末端可以到達(dá)的所有位置點(diǎn)所構(gòu)成一個(gè)集合,它是評(píng)價(jià)機(jī)器人工作能力優(yōu)劣的一個(gè)重要指標(biāo)。確定工作空間的方法主要有圖解法、數(shù)值法和解析法三大類,本文將使用數(shù)值方法中的蒙特卡洛法并借助Matlab編程來(lái)仿真該機(jī)械臂的工作空間。蒙特卡洛其實(shí)是通過對(duì)關(guān)節(jié)變量值的大量隨機(jī)采樣并經(jīng)過運(yùn)動(dòng)學(xué)正解來(lái)得到末端位于空間中的一系列點(diǎn)。機(jī)械得到該機(jī)械臂的工作空間如圖3。
由圖3可知,該機(jī)械臂的工作空間類似月牙形的一個(gè)半球體,雖然末端到達(dá)的區(qū)域有限但可以滿足進(jìn)行康復(fù)訓(xùn)練時(shí)所需的空間條件,即該機(jī)構(gòu)設(shè)計(jì)合理。
圖3 機(jī)械臂工作空間
Robotic Toolbox是MATLAB中的一個(gè)工具箱,主要用于機(jī)器人的仿真。通過編寫函數(shù)可對(duì)機(jī)器人進(jìn)行建模,軌跡規(guī)劃及控制,其可視化的仿真使抽象的機(jī)器人學(xué)變的更加直觀。本文將使用該工具箱對(duì)機(jī)械臂進(jìn)行建模、運(yùn)動(dòng)學(xué)仿真及五次多項(xiàng)式的軌跡規(guī)劃[4-8]。
在MATLAB中調(diào)用Link和SerialLink函數(shù)來(lái)完成機(jī)械臂的建模。
L=Link([theta D alpha A Sigma],'modified')
上式中theta表示關(guān)節(jié)變量,D表示偏置距離,alpha表示扭角,Sigma默認(rèn)為0表示旋轉(zhuǎn)關(guān)節(jié)、1表示平移關(guān)節(jié),modified表示使用修正的D-H模型。
函數(shù)編寫如下:
L1=Link([pi/2 0 pi/2-0.064],'modified');
L2=Link([0 0.3196-pi/2 0],'modified');
L3=Link([pi/2 0 pi/2 0],'modified');
L4=Link([0 0.0551 0 0.2336],'modified');
robot=SerialLink([L1,L2,L3,L4]);
robot.name='robot';
teach(robot);
利用plot()函數(shù)可將機(jī)械臂模型以圖片的形式顯示出來(lái),模型如圖4所示。
圖4 機(jī)械臂MATLAB模型
拖動(dòng)上圖左下角的q1、q2、q3三個(gè)滑塊可修改機(jī)械臂關(guān)節(jié)1、2、3的關(guān)節(jié)變量值來(lái)調(diào)整末端執(zhí)行器的位置,拖動(dòng)q4滑塊可調(diào)整末端的姿態(tài),通過Toolbox工具箱可直觀看到機(jī)械臂的位姿變化。
在MATLAB中可使用fkine函數(shù)來(lái)求運(yùn)動(dòng)學(xué)的正解,函數(shù)格式為T=robot.fkine(q),當(dāng)關(guān)節(jié)變量的角度指定為q時(shí)即可求出末端的變換矩陣T?,F(xiàn)給定機(jī)械臂各關(guān)節(jié)變量為q=[2*pi/3 pi/2 pi/2 0],運(yùn)行fkine函數(shù)可得到末端姿態(tài)的變換矩陣如下:
將關(guān)節(jié)變量q代入公式(1)得到結(jié)果與上式一致,證明機(jī)械臂正向運(yùn)動(dòng)學(xué)模型建立正確。
同樣在MATLAB中可使用ikine函數(shù)來(lái)求運(yùn)動(dòng)學(xué)的逆解,ikine函數(shù)格式為 Q=robot.ikine(T,qz,M),T為已知的末端姿態(tài)矩陣,qz=[2*pi/3 pi/2 pi/2 0]表示參考關(guān)節(jié)角度,當(dāng)機(jī)器人自由度小于6時(shí)引入向量M=[1 1 1 1 0 0]來(lái)限制關(guān)節(jié)自由度。運(yùn)行ikine函數(shù)得到所求的逆解Q=[2.0944 1.5707 1.5707 0],關(guān)節(jié)變量Q與q保持一致,表明ikine函數(shù)運(yùn)行無(wú)誤。將T帶入第二節(jié)的逆向運(yùn)動(dòng)學(xué)方程,可得到相同的一組數(shù)據(jù),驗(yàn)證了機(jī)械臂逆向運(yùn)動(dòng)學(xué)模型的正確性。
雙臂機(jī)器人在進(jìn)行康復(fù)訓(xùn)練時(shí)需協(xié)助患者完成蹲起或步行動(dòng)作,同時(shí)機(jī)械臂帶動(dòng)患者的髖關(guān)節(jié)部位運(yùn)動(dòng)一定軌跡。軌跡規(guī)劃可在關(guān)節(jié)空間和笛卡爾空間中進(jìn)行,本文選擇在關(guān)節(jié)空間中為機(jī)械臂規(guī)劃一段弧線,并為下節(jié)將進(jìn)行的動(dòng)力學(xué)仿真部分提供各關(guān)節(jié)所需驅(qū)動(dòng)函數(shù)。
在MATLAB中可調(diào)用jtraj函數(shù)來(lái)完成關(guān)節(jié)空間的軌跡規(guī)劃,jtraj函數(shù)格式為[q,qd,qdd]=jtraj(q1,q2,t),式中q表示由位置q1運(yùn)動(dòng)到q2的關(guān)節(jié)位移,qd表示關(guān)節(jié)角速度,qdd表示關(guān)節(jié)角加速度,t表示給定的時(shí)間向量長(zhǎng)度。程序編寫如下:
q1=[pi/2 0 pi/2 0];%初始位置
q2=[3*pi/4 pi/6 pi/3 0];%終止位置
t=[0:0.1:2];%仿真時(shí)間 2 s,采樣時(shí)間 0.1 s
[q,qd,qdd]=jtraj(q1,q2,t);
使用plot函數(shù)將各關(guān)節(jié)位移、角速度、角加速度的曲線導(dǎo)出,數(shù)據(jù)變化情況如圖5~圖7。由圖5可看出肩關(guān)節(jié)角度變化范圍為),由圖6可看出回轉(zhuǎn)關(guān)節(jié)角度變化范圍為),由圖7可看出肘關(guān)節(jié)角度變化范圍為,機(jī)械臂軌跡規(guī)劃正確。三個(gè)關(guān)節(jié)都是由加速減速兩個(gè)過程組成,其角速度、角加速度值在初始位置及終止位置為0,各曲線連續(xù)且變化平緩,說(shuō)明機(jī)械臂在運(yùn)動(dòng)過程中較為平穩(wěn),不會(huì)對(duì)患者產(chǎn)生沖擊,康復(fù)效果良好。末端軌跡如圖8(模型處于初始位置,紅色曲線即所規(guī)劃的軌跡)。
圖5 肩關(guān)節(jié)曲線
圖6 回轉(zhuǎn)關(guān)節(jié)曲線
圖7 肘關(guān)節(jié)曲線
圖8 機(jī)械臂末端軌跡
在SoildWorks軟件中將機(jī)械臂各部件另存為Parasolid格式并導(dǎo)入到Adams軟件之中,設(shè)置重力方向-Z并選擇分別各部件材料為steel或aluminum,定義部件之間的約束關(guān)系如表2。
表2 約束關(guān)系
最后給各關(guān)節(jié)添加摩擦系數(shù)并使用STEP函數(shù)來(lái)定義驅(qū)動(dòng),整體Adams仿真模型見圖9。
圖9 機(jī)械臂Adams模型
由上節(jié)可知,該機(jī)構(gòu)共有三個(gè)轉(zhuǎn)動(dòng)關(guān)節(jié),為了便于分析可將其簡(jiǎn)化為三根連桿,并視齒輪軸線為機(jī)構(gòu)旋轉(zhuǎn)軸線。
在上節(jié)運(yùn)動(dòng)學(xué)仿真部分規(guī)劃了機(jī)械臂的末端軌跡,將各關(guān)節(jié)隨時(shí)間變化的位移數(shù)據(jù)進(jìn)行五次多項(xiàng)式擬合并作為Adams模型的驅(qū)動(dòng)函數(shù):
設(shè)定仿真時(shí)間2 s,仿真步數(shù)500后在后處理模塊導(dǎo)出各關(guān)節(jié)力矩的曲線數(shù)據(jù)。
圖10~圖12分別對(duì)應(yīng)了機(jī)械臂三個(gè)關(guān)節(jié)的驅(qū)動(dòng)力矩。分析以上數(shù)據(jù)可知在機(jī)械臂的運(yùn)動(dòng)過程中肩關(guān)節(jié)所需的驅(qū)動(dòng)力矩最大,數(shù)值在85 N/m~120 N/m之間,回轉(zhuǎn)關(guān)節(jié)次之,數(shù)值在0 N/m~75 N/m之間,肘關(guān)節(jié)最小,數(shù)值在10 N/m~17 N/m之間。在動(dòng)力學(xué)仿真部分得到的關(guān)節(jié)驅(qū)動(dòng)扭矩可作為機(jī)械臂各關(guān)節(jié)驅(qū)動(dòng)電機(jī)的選型依據(jù)。
圖10 肩關(guān)節(jié)驅(qū)動(dòng)力矩
圖11 回轉(zhuǎn)關(guān)節(jié)驅(qū)動(dòng)力矩
圖12 肘關(guān)節(jié)驅(qū)動(dòng)力矩
(1)本論文研究了一種用于下肢的雙臂康復(fù)機(jī)器人并著重對(duì)其機(jī)械臂部分進(jìn)行討論,介紹了中風(fēng)患者康復(fù)問題及機(jī)器人的機(jī)構(gòu)設(shè)計(jì)。建立單個(gè)機(jī)械臂的D-H模型,計(jì)算運(yùn)動(dòng)學(xué)正解及逆解,得到末端姿態(tài)表達(dá)式。使用Robotics Toolbox工具箱對(duì)機(jī)械臂進(jìn)行仿真,驗(yàn)證了運(yùn)動(dòng)學(xué)模型的正確性?;诿商乜宸ɡL制出該機(jī)構(gòu)的工作空間,證明該機(jī)械臂可滿足康復(fù)訓(xùn)練的的空間需求,機(jī)構(gòu)設(shè)計(jì)合理。
(2)在關(guān)節(jié)空間對(duì)機(jī)械臂進(jìn)行軌跡規(guī)劃,輸出的各關(guān)節(jié)位移、角速度、角加速度的曲線平滑,表明機(jī)械臂在運(yùn)動(dòng)過程較為平穩(wěn)。使用Adams軟件對(duì)機(jī)械臂模型進(jìn)行動(dòng)力學(xué)仿真,導(dǎo)出各關(guān)節(jié)驅(qū)動(dòng)力矩曲線,將其數(shù)據(jù)作為關(guān)節(jié)驅(qū)動(dòng)電機(jī)的選型參考,并為進(jìn)一步的控制奠定基礎(chǔ)。