劉群坡,劉廣輝,王海星
(河南理工大學(xué)電氣工程與自動(dòng)化學(xué)院,河南焦作 454002)
脈搏診斷理論已貫穿于中醫(yī)學(xué)的生理、病理、診斷、治療各方面,在中醫(yī)整體理論中占有重要地位[1]。利用串聯(lián)機(jī)械臂的高靈活性、高安全性特點(diǎn)進(jìn)行脈搏診斷是中醫(yī)脈診現(xiàn)代化發(fā)展趨勢(shì)。在脈搏診斷過程中,人的手臂發(fā)生輕微轉(zhuǎn)動(dòng)或者輕微平移會(huì)造成脈搏點(diǎn)位置發(fā)生變化,對(duì)脈搏診斷造成很大干擾。針對(duì)該問題,本文基于V-REP(Virtual Robot Experimentation Platform)機(jī)器人仿真軟件對(duì)機(jī)器臂末端傳感器跟隨脈搏點(diǎn)運(yùn)動(dòng)進(jìn)行控制仿真研究[2-3]。當(dāng)脈搏位置發(fā)生變化時(shí)機(jī)器人能夠控制末端脈搏傳感器的中心點(diǎn),時(shí)刻保持接觸脈搏點(diǎn),使傳感器獲取到真實(shí)的脈搏信息,提升診脈質(zhì)量。模擬場(chǎng)景如圖1 所示。
針對(duì)機(jī)器臂末端跟蹤控制的研究較多。如Chen 等[4]在改進(jìn)自抗擾控制基礎(chǔ)上提出一種用于控制六自由度串行機(jī)器人的高精度軌跡跟蹤策略,改進(jìn)基于循環(huán)混合四元數(shù)曲線的姿態(tài)軌跡規(guī)劃算法,利用運(yùn)動(dòng)學(xué)方程和速度逆雅可比矩陣,將位置和姿態(tài)軌跡轉(zhuǎn)化為關(guān)節(jié)軌跡,利用上述轉(zhuǎn)換環(huán)節(jié)作為自抗擾控制的預(yù)處理環(huán)節(jié)代替典型自抗擾控制的跟蹤微分器,消除跟蹤延遲影響,通過仿真驗(yàn)證了結(jié)果;潘立等[5]針對(duì)具有參數(shù)不確定性和外界干擾的六自由度工業(yè)裝配機(jī)器人,提出一種自適應(yīng)魯棒滑模跟蹤控制器,實(shí)現(xiàn)了嚴(yán)格的軌跡跟蹤、精確的參數(shù)估計(jì)和對(duì)外界干擾的魯棒性。隨著視覺圖像處理技術(shù)的發(fā)展,利用圖像處理技術(shù)進(jìn)行指尖跟蹤成為一種新的研究方向,Wei 等[6]提出一種新的基于圖像處理的指尖跟蹤算法,實(shí)驗(yàn)結(jié)果表明,改進(jìn)的指尖跟蹤算法能有效提高跟蹤精度。
Fig.1 V-REP simulation scenario圖1 V-REP 仿真場(chǎng)景
以上方法僅關(guān)注了跟蹤算法理論,并未結(jié)合實(shí)際應(yīng)用進(jìn)一步體現(xiàn)算法優(yōu)勢(shì)。本文針對(duì)基于五自由度機(jī)器臂的脈搏診斷應(yīng)用,更偏向?qū)嶋H應(yīng)用場(chǎng)景,在具有物理引擎的機(jī)器人仿真環(huán)境中采用最貼合實(shí)際的壓力反饋策略,對(duì)機(jī)器人的末端跟隨控制進(jìn)行研究。診脈過程中患者的手臂發(fā)生輕微晃動(dòng)會(huì)造成脈診誤差,為減少這類誤差發(fā)生,需要控制機(jī)器臂帶動(dòng)末端傳感器跟隨脈搏點(diǎn)移動(dòng),保持傳感器中心與脈搏點(diǎn)時(shí)刻保持接觸,以此獲取更可靠的脈搏數(shù)據(jù)[7-9]。
本文基于脈搏傳感器的壓力值反饋調(diào)整機(jī)器人的跟隨運(yùn)動(dòng)策略,通過分析手臂在旋轉(zhuǎn)和平移動(dòng)作時(shí)的脈搏傳感器陣列力的數(shù)據(jù),針對(duì)力的變化機(jī)器人做出對(duì)應(yīng)動(dòng)作,進(jìn)而實(shí)現(xiàn)脈搏傳感器跟隨脈搏點(diǎn)運(yùn)動(dòng)。
本文以五自由度機(jī)器臂為研究對(duì)象,其結(jié)構(gòu)如圖2 所示,5 個(gè)關(guān)節(jié)全部為旋轉(zhuǎn)關(guān)節(jié)。
Fig.2 Robotic arm structure圖2 機(jī)器臂結(jié)構(gòu)
機(jī)器臂的正運(yùn)動(dòng)學(xué)相對(duì)逆運(yùn)動(dòng)學(xué)求解較為簡(jiǎn)單,通過對(duì)每相鄰連桿的齊次變換矩陣進(jìn)行運(yùn)算,可以求出末端坐標(biāo)系在基礎(chǔ)坐標(biāo)系下的齊次變換矩陣,通過齊次變換矩陣便可得出由關(guān)節(jié)角到末端姿態(tài)的函數(shù)關(guān)系[10-11]。
針對(duì)圖2 所示的機(jī)器人坐標(biāo)系建立D-H 參數(shù)表[12],如表1 所示。
Table 1 D-H parameter表1 D-H 參數(shù)
根據(jù)機(jī)械臂的運(yùn)動(dòng)學(xué)模型以及相鄰連桿坐標(biāo)系間的位姿關(guān)系,建立相鄰連桿坐標(biāo)系間的變換矩陣如下:
其 中,cijn(i=1,2…,5,j=1,2…,5,n=1,2…,5)代 表cos(θi+θj+θn),sij(ni=1,2…,5,j=1,2…,5,n=1,2…,5)代表sin(θi+θj+θn)。
通過公式(8)可以求得在關(guān)節(jié)角已知的情況下末端相對(duì)基坐標(biāo)系的姿態(tài),即正向運(yùn)動(dòng)學(xué)。關(guān)于逆運(yùn)動(dòng)學(xué),本文采用V-REP 仿真求解器,故不需要逆運(yùn)動(dòng)學(xué)理論分析。
通過V-REP 中的Denavit-Hartenberg 工具可以查看模型各個(gè)關(guān)節(jié)的D-H 參數(shù),如圖3 所示。圖3 為五自由度機(jī)器人在初始姿態(tài)的各個(gè)關(guān)節(jié)間的參數(shù),該參數(shù)結(jié)構(gòu)與建立的D-H 表一致[13],表明在仿真中建立的模型正確性,同時(shí)在仿真中給出具體參數(shù)值。
Fig.3 D-H display tool圖3 D-H 顯示工具
在V-REP 仿真中,不需要針對(duì)逆運(yùn)動(dòng)學(xué)求解問題進(jìn)行復(fù)雜的數(shù)理分析,只需要在軟件中對(duì)五自由度機(jī)器臂的逆運(yùn)動(dòng)學(xué)求解器進(jìn)行設(shè)置。將機(jī)器臂結(jié)構(gòu)中的首尾關(guān)節(jié)進(jìn)行關(guān)聯(lián)并建立IK_Group,對(duì)逆運(yùn)動(dòng)求解器的求解參數(shù)進(jìn)行設(shè)置。圖4 為具體的參數(shù)設(shè)置。該求解器可通過迭代法求得滿足要求的近似逆運(yùn)動(dòng)學(xué)數(shù)值解,解決了不規(guī)則結(jié)構(gòu)的機(jī)器臂逆運(yùn)動(dòng)學(xué)求解問題。
Fig.4 Inverse kinematics solver setup圖4 逆運(yùn)動(dòng)學(xué)求解器設(shè)置
本文采用的脈搏壓力傳感器陣列是由25 個(gè)微型壓力傳感器構(gòu)成[14-15],其結(jié)構(gòu)如圖5 所示。每一個(gè)微型壓力傳感器點(diǎn)都可獲取脈搏跳動(dòng)時(shí)反彈的壓力數(shù)值。將該傳感器裝配至機(jī)器人末端,用于獲取脈搏的跳動(dòng)數(shù)據(jù)[16-18]。
圖5 中,fij代表第i行第j列的微型壓力傳感器。
Fig.5 Pulse pressure sensor array圖5 脈診壓力傳感器陣列
在V-REP 仿真環(huán)境中,為模擬人體脈搏的“寸”、“關(guān)”、“尺”3 個(gè)脈搏點(diǎn)位[19],通過采用微型跳動(dòng)關(guān)節(jié)模擬具有與人體脈搏動(dòng)態(tài)特性相似的脈沖模型,其結(jié)構(gòu)如圖6 所示。根據(jù)一般成年人的脈搏尺寸將該脈搏跳動(dòng)模型寬度設(shè)置為3.6×3.6 mm2。
Fig.6 Pulse model圖6 脈搏模型
本實(shí)驗(yàn)主要根據(jù)壓力傳感器數(shù)據(jù)判斷當(dāng)前傳感器陣列與目標(biāo)脈搏點(diǎn)的相對(duì)位置關(guān)系,進(jìn)而控制機(jī)器臂末端運(yùn)動(dòng)朝向,最終實(shí)現(xiàn)傳感器陣列的中心點(diǎn)對(duì)準(zhǔn)脈搏點(diǎn)。仿真中主要控制策略如圖7 所示[20]。
Fig.7 Control strategy圖7 控制策略
(1)當(dāng)傳感器陣列的中心點(diǎn)位置與脈搏點(diǎn)接觸時(shí),傳感器陣列中的部分標(biāo)志性數(shù)據(jù)如圖8 所示。其中f33 表示傳感器陣列中心點(diǎn)的微型壓力傳感器數(shù)據(jù),f33 壓力數(shù)值是相對(duì)最大值,f32、f34、f23、f43 相對(duì)f33 數(shù)值偏小并接近相等,此時(shí)傳感器陣列數(shù)據(jù)作為判斷傳感器陣列中心點(diǎn)是否與脈搏點(diǎn)接觸的依據(jù)。
Fig.8 Sensor facing the pulse point圖8 傳感器正對(duì)脈搏點(diǎn)
(2)當(dāng)傳感器陣列的中心點(diǎn)位置與脈搏點(diǎn)位置不垂直時(shí),傳感器陣列中心相對(duì)脈搏點(diǎn)可能存在偏上、偏下、偏左、偏右等情況。本文只列舉傳感器陣列中心相對(duì)脈搏點(diǎn)偏上時(shí)的數(shù)據(jù),如圖9 所示。其中f43 表示傳感器陣列第4行第3 列的微型壓力傳感器數(shù)據(jù),f43 壓力數(shù)值是相對(duì)最大值,f23 與f33 相對(duì)f43 數(shù)值偏小,且f32 與f34 兩點(diǎn)的數(shù)據(jù)最小,表明此時(shí)傳感器陣列中心點(diǎn)相對(duì)脈搏位置偏上。數(shù)據(jù)出現(xiàn)此情況需要控制機(jī)器臂末端朝相對(duì)脈搏點(diǎn)下方運(yùn)動(dòng),直至傳感器陣列的數(shù)據(jù)出現(xiàn)圖8 中傳感器中心正對(duì)脈搏點(diǎn)的情況。
Fig.9 Up position of sensor relative to pulse圖9 傳感器相對(duì)脈搏位置偏上
(1)手臂靜止不動(dòng)。在動(dòng)態(tài)調(diào)整過程中,機(jī)器臂的各個(gè)關(guān)節(jié)角度變化以及傳感器的波形數(shù)據(jù)變換如圖10 所示,其中第3 個(gè)圖表示手臂的平移距離和旋轉(zhuǎn)角度數(shù)據(jù)變化為0。在7.8s 前由于傳感器未接觸脈搏點(diǎn),所以傳感器數(shù)據(jù)為0;在7.8s 開始接觸,此時(shí)傳感器獲得數(shù)據(jù),但傳感器中心點(diǎn)未對(duì)準(zhǔn)脈搏點(diǎn),傳感器數(shù)據(jù)不穩(wěn)定;在7.8~9.2s 內(nèi)通過調(diào)整機(jī)器人姿態(tài),直至傳感器陣列中心與脈搏點(diǎn)接觸;9.2s 后機(jī)器臂不再運(yùn)動(dòng),此時(shí)傳感器數(shù)據(jù)波形達(dá)到與圖8 數(shù)據(jù)相似,表明傳感器中心正對(duì)脈搏點(diǎn)。
(2)手臂輕微旋轉(zhuǎn)。動(dòng)態(tài)調(diào)整過程如圖11 所示,其中第三個(gè)圖顯示手臂在30s 至36.8s 順時(shí)針方向旋轉(zhuǎn)7.7°,通過圖中的傳感器數(shù)據(jù)變化可以看出在旋轉(zhuǎn)的過程中脈搏傳感器的波形一直保持與圖8 數(shù)據(jù)形同,表明在手臂旋轉(zhuǎn)的過程中傳感器陣列的中心一直跟隨脈搏點(diǎn)在運(yùn)動(dòng)。
Fig.10 When the arm is still圖10 手臂靜止
Fig.11 Slight rotation of the arm圖11 手臂輕微旋轉(zhuǎn)
Fig.12 Slight translation of the arm圖12 手臂輕微平移
(3)手臂輕微平移。動(dòng)態(tài)調(diào)整過程如圖12 所示,在15s輕微移動(dòng)1.44cm,在22.5s 朝反方向移動(dòng)2.94cm,由于平移對(duì)傳感器數(shù)據(jù)的采集影響較大,傳感器數(shù)據(jù)的波動(dòng)較為明顯,通過傳感器數(shù)據(jù)可以看出平移后的18~22s 間,傳感器數(shù)據(jù)保持與圖8 數(shù)據(jù)相似,表明手臂平移運(yùn)動(dòng)發(fā)生后,機(jī)器臂通過運(yùn)動(dòng)調(diào)整使傳感器的中心與脈搏點(diǎn)相接觸,實(shí)現(xiàn)手臂發(fā)生平移時(shí)的跟隨運(yùn)動(dòng)。
為削弱脈搏診斷過程中手臂輕微晃動(dòng)對(duì)脈搏數(shù)據(jù)采集的影響,提出一種用于脈搏診斷的力反饋式脈搏點(diǎn)位置跟隨控制策略。在V-REP 機(jī)器人仿真軟件中搭建仿真環(huán)境,驗(yàn)證該策略可以控制脈搏傳感器陣列中心跟隨脈搏點(diǎn)運(yùn)動(dòng),確保了脈搏采集數(shù)據(jù)的準(zhǔn)確性。但本文研究?jī)?nèi)容僅在仿真中實(shí)現(xiàn),有一定局限性。后續(xù)的硬件實(shí)驗(yàn)可參照本文的理論依據(jù),為將來實(shí)現(xiàn)脈搏信息采集并利用大數(shù)據(jù)分析脈搏與疾病的關(guān)系提供參考。