王固兵,徐秀林,劉吉永,胡秀枋,丁瑞豐
上海理工大學醫(yī)療器械與食品學院,上海200093
隨著生活節(jié)奏的加快,電腦以及智能手機的廣泛應用,頸椎及脊柱的發(fā)病率逐年增加[1]。研究顯示,30 歲以下的脊柱疾病發(fā)病率呈快速增長的趨勢,脊柱疾病不再只是中老年人的常見病,而是越來越趨于年輕化[2-3]。兒童青少年中最常見的脊柱畸形在10~16歲年齡段的發(fā)病率高達2%~3%,女生占80%[4-5]。脊柱具有支持軀干、保護內臟、保護脊髓和進行運動的功能。因此,對脊柱的康復治療非常迫切。
脊柱康復的傳統(tǒng)方法是牽引和手術治療等[6-8]。研究顯示,爬行運動對于脊柱疾病的康復有著良好的效果[9-10]。此前,已有爬行訓練器開始走向市場,但大多數的爬行訓練器功能低下,只能實現單一的主動爬行運動,無法實現被動的運動并對運動進行定量的評估分析[11-12]。雖然也有些被動訓練裝置,但大多數是采用固定電機速度和距離的方式,不能針對不同病情的病人提供定制化的服務[13-16]。
針對現有設備的不足,本研究研制了一款脊柱康復訓練儀。訓練時,設備床體由電機升起,患者雙手放在扶手上,雙腳放在腳踏板上;根據患者的體型調節(jié)腹部的前后和上下位置;最后,把患者膝部放在膝關節(jié)墊子上合適的位置,進行主動或者被動訓練。主動訓練時,由患者拉動訓練把手進行同步和交替運動;被動訓練時,由手部驅動電機帶動手和下肢進行同步和交替運動,矯正訓練由安裝在尾部的步進電機帶動患者進行側彎訓練。
本研究研制的脊柱康復訓練儀如圖1所示,其整體結構設計方案是由脊柱康復訓練儀的前部驅動電機通過連桿與錐齒輪的作用,最終將作用力輸出到上肢的腕關節(jié)、肘關節(jié)以及肩關節(jié)。同時,膝墊通過傳送帶和前部電機相連,對膝關節(jié)施加作用力。因此,通過前部的驅動電機可以完成運動所需的肩關節(jié)、肘關節(jié)、胯關節(jié)和膝關節(jié)的屈伸運動。為符合人因工程學要求,該裝置腹部高度可調節(jié)范圍為15~25 cm,把手移動范圍為80~160 cm,肩關節(jié)活動角度范圍為45°~135°,肘關節(jié)屈伸角度范圍為0°~90°。
圖1 脊柱康復訓練儀Fig.1 Spine rehabilitation training instrument
本研究針對該設備的運動要求,采用Denavit-Hartenberg(D-H)法對爬行訓練儀進行運動學建模,得到其正逆運動學方程。使用MATLAB建模軟件進行建模,并讓其在預設康復運動軌跡下進行運動學仿真實驗,對使用D-H 法求解的運動學結果進行驗證。
脊柱康復訓練儀可以通過前部驅動電機的帶動實現平面內線性運動,從而實現上肢和下肢在平面內的運動訓練需求。采用D-H法對爬行運動建模時,首先把肢體每一個部分設為一個桿件并為其指定一個本地的參考坐標系,然后為每個關節(jié)建立一個z軸和x軸[17-19]。得到脊柱康復訓練儀的桿件坐標系后,根據一系列相鄰坐標系之間的變換,從腹部保護裝置的基座開始,直至變換到訓練儀把手。這種變換關系可由4個齊次變換矩陣來描述,此關系式表示為:
把式(1)中的展開得:
肩關節(jié)內收外展、肩關節(jié)屈伸以及肘關節(jié)屈伸角度值分別為:
由式(3)和式(4)可知,當已知各關節(jié)運動角度時,可以對手部腕關節(jié)的位置進行求解。運用MATLAB 可以求得裝置把手在基坐標軸上相對時間的軌跡如圖3所示。
在已知手臂末端運動軌跡時,可求解出關節(jié)θ1、θ2、θ3的大小。相對于基坐標系x0y0z0,手臂執(zhí)行末端坐標系x4y4z4是由x0y0繞z0旋轉φ得到的,由此可以得到式(5)。
圖2 上肢Denavit-Hartenberg矩陣坐標系Fig.2 Upper-limb Denavit-Hartenberg matrix coordinate system
表1 4種Denavit-Hartenberg變量在上肢部分的表示Tab.1 Representations of 4 Denavit-Hartenberg variables in the upper limbs
所以末端相對于基坐標的位姿矩陣為:
由T4=04T可得:
所以由式(7)解得:
圖3 運動學模型末端軌跡Fig.3 Trajectories of kinematic model ends
式(8)中
聯合式(10)和(11),可得:
由式(12)可計算出脊柱康復訓練儀在任何期望位置時的關節(jié)角度值。
使用D-H矩陣算出正解與逆解后,利用MATLAB進行模擬與仿真。模型的建立是MATLAB模擬的關鍵,使用MATLAB中的Robotics Toolbox工具箱可實現脊柱爬行模型的建立。該模型是使用D-H法模擬連桿和關節(jié)的數據矩陣實現建立的??梢酝ㄟ^構建桿件間關系實現脊柱康復訓練儀運動軌跡的規(guī)劃,模擬人體真實爬行運動狀態(tài)。在Robotics Toolbox中使用D-H方法求得參數L= Link([α,Α,θ,D]),其中的α,Α,θ,D與D-H矩陣的α,Α,θ,D一一對應。利用工具箱中的Link函數創(chuàng)建機械結構的各連桿[20];α代表了連桿之間的扭轉角,以π為單位;A代表桿與桿之間的距離;θ代表連桿之間的夾角,以π為單位;D代表桿的長度。
其中各關節(jié)的數值是根據我國人體標準選定,代碼如下:
L(1)=Link([0 50 0 0])
L(2)=Link([0 0 45 π/2])
L(3)=Link([0 19 85 0])
L(4)=Link([0 0 25.3 0])
L(5)=Link([0 0 0 0]) //六個桿的建模
L(1)代表訓練儀床體到腹部保護托架部分,設置高度為50 cm;L(2)代表腹部到肩關節(jié)部分長度,設置為45 cm,與腹部保護托架呈π/2 的角度,即與地面水平;L(3)代表肩寬,設置為19.85 cm,為正常的一半;L(4)代表手臂的大臂,長為33.3 cm;L(5)代表手臂的小臂,長25.3 cm;L(6)是手部位置的一個坐標系,無實際長度。
運用SerialLink語句將之前所建立的桿連接成首尾相接的狀態(tài)。具體如下:
aibot=SerialLink(L,’name’,’aibot’);//建立aibot
qa=[0 0 π/2 π/7 π/6 0];//設置初始位置的角度
qb=[0 0 π/2 π/8 0 0];//設置末端位置的角度
t=[0:0.1:2];//時間函數
[q1,qd1,qdd1]=jtraj(qa,qb,t);//關節(jié)軌跡規(guī)劃
T=fkine(aibot,q);//運動學正解軌跡
qa=[0 0 π/2 π/7 π/6 0]表示一個六參數矩陣,和6個桿一一對應,并且給每個桿賦予一個規(guī)定的夾角。t=[0:0.1:2]代表一個時間向量,2 s內,以0.1 s為一個采樣間隔。[q1,qd1,qdd1]=jtraj(qa,qb,t)是關節(jié)的空間規(guī)劃表述形式,將軌跡的位移、速度以及加速度表達出來[21]。通過仿真可得預設三維脊柱康復運動軌跡的始末位置,如圖4所示。根據脊柱康復訓練儀手柄末端的px、py、pz的位置大小和式(12),得到各時刻θ1、θ2、θ3的大小,將求出的θ1、θ2、θ3與運動仿真中的測量得到的各關節(jié)角度進行比較,結果如圖5所示。
圖4 仿真運動軌跡始末位置Fig.4 Simulation motion track beginning and end positions
從圖5可以看出,θ1的運動范圍為55°~135°,θ2的運動范圍為30°~90°,θ3的運動范圍為22.5°~25.0°,θ1、θ2、θ3的運動范圍滿足表1中各關節(jié)對應的活動范圍。由圖5可以看出,通過逆運動學方程計算的θ1、θ2、θ3與仿真直接得到的各關節(jié)角度基本相同,且計算得到的角度值與測量得到的角度值最大誤差不超過3°。
圖5 計算得到的關節(jié)角度與測量得到的運動軌跡的比較Fig.5 Comparison of the calculated joint angles and the measured motion trajectories
本研究設計的爬行訓練模型為脊柱疾病患者進行康復訓練提供了運動算法的依據,所設計的脊柱康復訓練儀可以有效地對脊柱進行訓練,達到康復的效果。通過D-H 法建立了關節(jié)坐標系,求解出運動學模型,得到了訓練需要的位置方程。在建立的MATLAB 模型中對關節(jié)輸入位置信號,得到末端運動軌跡,對比所建立數學模型求出的軌跡和物理模型軌跡,驗證了運動學正解的正確性,并對裝置進行逆運動學計算,對求得的角度進行仿真驗證。該研究結果可以為制定個性化脊柱康復訓練方案提供科學的參考依據,建立的爬行模型也可以為脊柱疾病的康復訓練提供理論支持。