欒曉燕,王金武,△,富靈杰,戴尅戎,曹嵐
(1.上海交通大學(xué)生物醫(yī)學(xué)工程學(xué)院,上海 200030;2.上海骨科內(nèi)植物重點實驗室,上海交通大學(xué)醫(yī)學(xué)院附屬第九人民醫(yī)院,上海 200011)
隨著中國老齡化問題的加重,中風(fēng)患者逐年增加。由中風(fēng)引起的上肢運動功能障礙患者,在康復(fù)期間如果沒有接受及時有效的康復(fù)訓(xùn)練,會造成關(guān)節(jié)攣縮,產(chǎn)生無法恢復(fù)的運動功能損害[1]。本研究設(shè)計了一款上肢康復(fù)機器人,具有肩關(guān)節(jié)的屈/伸,外展/內(nèi)收以及肘關(guān)節(jié)的屈/伸三個自由度??祻?fù)機器人不同于工業(yè)機器人,追求的不是高精度控制和快速響應(yīng),而是安全地完成規(guī)定的康復(fù)運動[2],因此,需要預(yù)先對機器人進行運動學(xué)分析和運動軌跡規(guī)劃仿真,為后續(xù)康復(fù)機器人的控制提供依據(jù)[3]。
本研究設(shè)計的上肢康復(fù)機器人機械結(jié)構(gòu)見圖1,所有的零件均是在UG10.0中設(shè)計裝配獲得,大小臂托盤用來承載和固定患者的大小臂,使上肢隨著托盤的運動而運動,并且大臂托盤的長度可以調(diào)節(jié),以適應(yīng)不同患者的臂長??祻?fù)機器人輔助患者訓(xùn)練時,患者采取坐姿,為適應(yīng)不同坐姿身高的患者,利用電機驅(qū)動絲桿螺母調(diào)節(jié)基座高度??祻?fù)機器人具有肩關(guān)節(jié)屈/伸,外展/內(nèi)收以及肘關(guān)節(jié)屈/伸三個轉(zhuǎn)動副,轉(zhuǎn)動副的軸線與人體對應(yīng)關(guān)節(jié)的轉(zhuǎn)動中心重合,三個轉(zhuǎn)動副的轉(zhuǎn)動依靠電機驅(qū)動完成。
圖1 上肢康復(fù)機器人機械結(jié)構(gòu)圖
機器人連桿關(guān)系的研究通常采用D-H法。D-H坐標系因為坐標原點設(shè)置的不同分為前置D-H坐標系和后置D-H坐標系,有研究表明這兩種坐標系是等價的[4]。本研究采用后置D-H坐標系法,建立的機器人各連桿D-H坐標系見圖2。
圖2 上肢康復(fù)機器人各連桿D-H坐標系
為了使設(shè)計的上肢康復(fù)機器人適合大多數(shù)人使用,機器人的連桿長度參照GB10000-88中國健康成年人身體尺寸文件,選擇超過95%人群的平均尺寸[1]。因此L1=80 mm,L2=338 mm,L3=258 mm。關(guān)節(jié)變量q=[θ1θ2θ3],其中θ1,θ2,θ3分別代表肩關(guān)節(jié)外展/內(nèi)收,肩關(guān)節(jié)屈/伸和肘關(guān)節(jié)屈/伸的角度。
兩相鄰連桿間的關(guān)系用四個參數(shù)表示,分別是關(guān)節(jié)角θ,連桿偏置d,連桿長度a以及扭角α[5]。本研究設(shè)計的三自由上肢康復(fù)機器人的連桿參數(shù)見表1。
表1 上肢康復(fù)機器人的連桿參數(shù)
康復(fù)機器人的運動學(xué)分析是研究機器人末端位姿與關(guān)節(jié)角之間的關(guān)系,分為正向運動學(xué)分析和逆向運動學(xué)分析[1]。
相鄰連桿i-1和連桿i的位姿關(guān)系可以通過相鄰連桿坐標系之間的齊次坐標變換矩陣表示[5]。此關(guān)系式為:
M(i-1)i=Rot(z,θi)Trans(0,0,di)Trans(ai,0,0)Rot(x,αi)
(1)
根據(jù)表1中的數(shù)據(jù),分別可以獲得M01,M12,M23。因此機器人末端坐標系相對于基座坐標系的位姿矩陣M03,即運動學(xué)方程為:
nx=cθ1×cθ2×cθ3-cθ1×sθ2×sθ3
ny=sθ1×cθ2×cθ3-sθ1×sθ2×sθ3
nz=sθ2×cθ3+cθ2×sθ3
ox=-cθ1×cθ2×sθ3-cθ1×cθ3×sθ2
oy=-cθ2×sθ1×sθ3-cθ3×sθ1×sθ2
oz=-sθ2×sθ3+cθ2×cθ3
(2)
ax=sθ1
ay=-cθ1
az=0
px=L1×cθ1+L2×cθ1×cθ2+L3×cθ1×c(θ2+θ3)
py=L1×sθ1+L2×cθ2×sθ1+L3×sθ1×c(θ2+θ3)
pz=L2×sθ2+L3×s(θ2+θ3)
根據(jù)位姿矩陣的定義,機器人末端的姿態(tài)和坐標分別為:
(3)
由式(2)可知,正向運動學(xué)分析公式明確,計算簡單。但逆向運動學(xué)分析隨著機器人自由度的增加,會出現(xiàn)多組逆解的情況[6],需要根據(jù)特定情況選擇最優(yōu)解。
利用matlab機器人工具箱Robotics Tool中的Link和SerialLink函數(shù),建立機器人運動學(xué)模型。根據(jù)表1中的上肢康復(fù)機器人的連桿參數(shù),確定函數(shù)的輸入,具體Matlab程序如下,并將機器人模型命名為My Robot。
L(1)=Link([0,0,0.080,pi/2])
L(2)=Link([0,0,0.338,0])
L(3)=Link([0,0,0.258,0])
r=SerialLink(L,′name′, ′My Robot′);
康復(fù)機器人的工作空間是指機器人末端所能到達的所有空間的集合[7]。正常情況下,人體上肢肩關(guān)節(jié)和肘關(guān)節(jié)的運動范圍見表2。
表2 人體肩關(guān)節(jié)和肘關(guān)節(jié)正常運動范圍
利用康復(fù)機器人進行輔助康復(fù)訓(xùn)練必須保證安全性,所以康復(fù)機器人關(guān)節(jié)的運動范圍一定要限制在人體關(guān)節(jié)正?;顒臃秶畠?nèi)[8]。本研究設(shè)定的三自由度上肢康復(fù)機器人的關(guān)節(jié)運動范圍見表3。
表3 肢康復(fù)機器人肩關(guān)節(jié)和肘關(guān)節(jié)運動范圍
根據(jù)表3,利用matlab編程,可以獲得機器人的工作空間,見圖3。后續(xù)所有的軌跡規(guī)劃均需要控制在康復(fù)機器人工作空間內(nèi)。
康復(fù)機器人的運動軌跡規(guī)劃分為關(guān)節(jié)空間軌跡規(guī)劃和笛卡爾空間軌跡規(guī)劃兩種[7]。關(guān)節(jié)空間軌跡規(guī)劃具有規(guī)劃簡單,但無法直觀顯示機器人末端軌跡的特點。笛卡爾空間軌跡規(guī)劃具有末端軌跡直觀,但易出現(xiàn)特殊關(guān)節(jié)運動的特點[9]。
圖3 機器人工作空間
根據(jù)所設(shè)計的三自由度上肢康復(fù)機器人,設(shè)定起始和終止?fàn)顟B(tài)的關(guān)節(jié)變量分別為q0=[0 0 0]、q1=[pi/6pi/6 2*pi/3]。利用matlab機器人工具箱Robitcs Tool中的軌跡規(guī)劃函數(shù)jtraj,獲得規(guī)劃軌跡見圖4。
圖4 關(guān)節(jié)空間運動軌跡圖
三個旋轉(zhuǎn)關(guān)節(jié)隨著時間變化的角位移、角速度和角加速度曲線見圖5。發(fā)現(xiàn)關(guān)節(jié)角位移連續(xù)且角速度和加速度曲線光滑,證明仿真過程中機器人運動平穩(wěn),無太大波動。
利用運動正解函數(shù)fkine,解得在關(guān)節(jié)變量為q0=[0 0 0]、q1=[pi/6pi/6 2*pi/3]時機器人末端位姿分別為t1=transl(0.6760,0,0)、t2=transl(0.1293,0.0746,0.2980),并以t1,t2作為始末狀態(tài)進行軌跡規(guī)劃。利用軌跡規(guī)劃函數(shù)ctraj,獲得規(guī)劃軌跡見圖6。
圖5 關(guān)節(jié)空間軌跡規(guī)劃中角位移,角速度和角加速度曲線
圖6 笛卡爾空間軌跡圖
三個旋轉(zhuǎn)關(guān)節(jié)的角位移、角速度和角加速度隨著時間變化的曲線見圖7。發(fā)現(xiàn)笛卡爾空間軌跡規(guī)劃的角速度和角加速度曲線轉(zhuǎn)折點多,不夠平滑,說明在此規(guī)劃條件下,控制系統(tǒng)驅(qū)動電機會出現(xiàn)擾動和磨損。
圖7 笛卡爾空間軌跡規(guī)劃中角位移,角速度和角加速度曲線
針對中風(fēng)后患者上肢功能的恢復(fù)需要,本研究設(shè)計了一款三自由度上肢康復(fù)機器人。不僅建立了D-H坐標系,將機器人的機械結(jié)構(gòu)抽象為可以計算的數(shù)學(xué)模型,獲得了運動學(xué)方程,還利用了matlab進行機器人運動軌跡規(guī)劃的仿真,驗證了康復(fù)機器人結(jié)構(gòu)的合理性和運動學(xué)方程的正確性,為后續(xù)實際的電機驅(qū)動控制提供參考。