夏冬陽(yáng),劉浩宇,莊逸,闞孟菲,丁思吉,丁皓
1. 上海理工大學(xué) 醫(yī)療器械與食品學(xué)院(上海, 200093)
2. 上海健康醫(yī)學(xué)院 醫(yī)療器械學(xué)院(上海, 201318)
護(hù)理床在老年護(hù)理中起著至關(guān)重要的作用,隨著各種新興科學(xué)技術(shù)的發(fā)展,許多先進(jìn)技術(shù)被應(yīng)用到護(hù)理床中,使得護(hù)理床越來(lái)越智能化。如美國(guó)醫(yī)療科技公司史賽克最新研發(fā)的完全無(wú)線的護(hù)理床Procity可以無(wú)縫連接護(hù)士呼叫系統(tǒng);河北工業(yè)大學(xué)李濤[7]設(shè)計(jì)了一款家庭護(hù)理床的遠(yuǎn)程監(jiān)控系統(tǒng),可實(shí)時(shí)監(jiān)測(cè)病人的心率、血氧等生理參數(shù),開(kāi)發(fā)了遠(yuǎn)程監(jiān)控程序,對(duì)于智慧醫(yī)院的建設(shè)有重要意義。但目前醫(yī)院與家庭使用的護(hù)理床僅具有簡(jiǎn)單的機(jī)械結(jié)構(gòu)設(shè)計(jì),功能欠缺,靈活性不足,考慮到老年人在護(hù)理過(guò)程中對(duì)于不同床姿狀態(tài)與床體轉(zhuǎn)移等的需求[8],我們?cè)O(shè)計(jì)了一種自主導(dǎo)航的多功能護(hù)理床控制系統(tǒng),醫(yī)護(hù)人員或患者家屬可以通過(guò)手機(jī)APP控制護(hù)理床實(shí)現(xiàn)起背、抬腿、翻身、輪椅式等不同的床姿調(diào)節(jié),終端控制工作人員可以在APP上指定護(hù)理床移動(dòng)的目的地,護(hù)理床便會(huì)通過(guò)自主定位與導(dǎo)航實(shí)現(xiàn)路徑規(guī)劃,并自主移動(dòng)到目的地。這種設(shè)計(jì)很大程度上改善了長(zhǎng)期臥床老年人的護(hù)理質(zhì)量,也減輕醫(yī)院醫(yī)生與護(hù)士的工作負(fù)擔(dān),提升了護(hù)理床設(shè)計(jì)的人性化與智能化。
考慮到患者對(duì)不同的床姿模式實(shí)際的使用需求,設(shè)計(jì)的床姿調(diào)節(jié)模式有起背模式、翻身模式、抬腿模式、曲小腿模式以及輪椅式。整塊床板被分割成9塊單獨(dú)的床板,通過(guò)不同床板的結(jié)合來(lái)實(shí)現(xiàn)各種不同的床姿調(diào)節(jié)功能,各床板間采用柔性鉸鏈連接,具體床板的劃分以及尺寸設(shè)計(jì)如圖1所示[9]。
圖1 床板劃分及尺寸設(shè)計(jì)(單位:mm)Fig.1 Bed board division and size design (unit: mm)
床板的劃分采用模塊化的設(shè)計(jì)手段,通過(guò)不同床板的組合結(jié)合成固定的模塊以實(shí)現(xiàn)特定的床姿調(diào)節(jié)功能,各功能模塊組成板塊與角度調(diào)節(jié)范圍,如表1所示。
表1 床姿調(diào)節(jié)功能及參數(shù)Tab. 1 Bed board division and size design (unit: mm)
自主導(dǎo)航的多功能護(hù)理床控制系統(tǒng)原理為:以基于阿克曼轉(zhuǎn)向原理的護(hù)理床床體為主體,通過(guò)連接藍(lán)牙的手機(jī)來(lái)控制電機(jī)伸縮實(shí)現(xiàn)床板角度的變化并結(jié)合不同的床板實(shí)現(xiàn)起背、翻身、抬腿等床姿調(diào)節(jié)的功能,將激光雷達(dá)、里程計(jì)和慣性測(cè)量單元結(jié)合為參數(shù)測(cè)量系統(tǒng),激光雷達(dá)用于構(gòu)建柵格地圖,慣性測(cè)量單元用于輸出當(dāng)前模塊的運(yùn)動(dòng)數(shù)據(jù),里程計(jì)將激光雷達(dá)數(shù)據(jù)和慣性測(cè)量單元測(cè)量數(shù)據(jù)結(jié)合起來(lái),采用自適應(yīng)蒙特卡洛定位算法得到當(dāng)前位置,在遠(yuǎn)程控制導(dǎo)航APP終端選擇目標(biāo)位置并結(jié)合路徑規(guī)劃實(shí)現(xiàn)自主導(dǎo)航。護(hù)理床控制系統(tǒng)工作原理流程圖,如圖2所示。
圖2 護(hù)理床控制系統(tǒng)工作原理流程圖Fig.2 Flow chart of working principle of nursing bed control system
自主導(dǎo)航的多功能護(hù)理床控制系統(tǒng)硬件部分由主控模塊、床姿調(diào)節(jié)模塊、參數(shù)測(cè)量模塊、床體移動(dòng)模塊、無(wú)線傳輸模塊、遠(yuǎn)程操作模塊以及電源模塊等組成??刂葡到y(tǒng)總體方案結(jié)構(gòu)框圖,如圖3所示。
圖3 系統(tǒng)總體方案結(jié)構(gòu)框圖Fig.3 Block diagram of the overall system scheme
主控模塊包括樹(shù)莓派控制器和Arduino控制板[10],它們是整個(gè)控制系統(tǒng)的核心,用于控制其他模塊以及對(duì)數(shù)據(jù)的處理。本控制系統(tǒng)中樹(shù)莓派控制器用于接收參數(shù)測(cè)量模塊測(cè)得的各種數(shù)據(jù),并發(fā)送給上位機(jī)進(jìn)行處理。本控制系統(tǒng)中,Arduino開(kāi)發(fā)板用于驅(qū)動(dòng)各種電機(jī)以及負(fù)責(zé)與藍(lán)牙模塊的通信。
多功能護(hù)理床床姿調(diào)節(jié)模塊由手機(jī)APP發(fā)送執(zhí)行命令,通過(guò)HC-05藍(lán)牙模塊連接Arduino mega 2560控制板,Arduino控制板通過(guò)12路HLE繼電器開(kāi)關(guān)控制板控制電路分別對(duì)6個(gè)推桿電機(jī)進(jìn)行控制。在每塊床板后安裝的GY-25角度測(cè)量傳感器將測(cè)得的床板角度值發(fā)送給Arduino mega 2560控制板,最后通過(guò)藍(lán)牙模塊實(shí)時(shí)顯示在手機(jī)APP上,床姿調(diào)節(jié)模塊結(jié)構(gòu)框圖,如圖4所示。
圖4 床姿調(diào)節(jié)模塊結(jié)構(gòu)框圖Fig.4 Block diagram of bed posture adjustment module
床體移動(dòng)模塊采用前輪轉(zhuǎn)向,后輪驅(qū)動(dòng)的阿克曼運(yùn)動(dòng)學(xué)模型設(shè)計(jì)[11]。前輪轉(zhuǎn)向舵機(jī)采用SRC-04B數(shù)字舵機(jī)模塊,包括轉(zhuǎn)向舵機(jī)和數(shù)字舵機(jī)驅(qū)動(dòng)板,后輪驅(qū)動(dòng)電機(jī)采用BLD-300B無(wú)刷電機(jī)驅(qū)動(dòng)模塊,包括直流無(wú)刷行星減速電機(jī)和無(wú)刷電機(jī)驅(qū)動(dòng)器,電機(jī)自帶的編碼器用于反饋轉(zhuǎn)速數(shù)據(jù)和里程計(jì)。
激光雷達(dá)、里程計(jì)、慣性測(cè)量單元是控制系統(tǒng)中實(shí)現(xiàn)地圖構(gòu)建與定位導(dǎo)航功能的重要組成部分,將三者結(jié)合起來(lái)可以更好地提高護(hù)理床的定位精度和魯棒性[12]。激光雷達(dá)Delta-3A通過(guò)發(fā)射與采集激光信號(hào),通過(guò)內(nèi)部處理器快速計(jì)算出外部物體與雷達(dá)的距離,JY-901慣性測(cè)量單元是采用MPU9250芯片,利用動(dòng)態(tài)卡爾曼濾波算法解決積分運(yùn)算產(chǎn)生的誤差,對(duì)于角速度的測(cè)量更為精準(zhǔn),里程計(jì)將激光雷達(dá)與慣性測(cè)量單元所測(cè)得的數(shù)據(jù)結(jié)合起來(lái),測(cè)得的數(shù)據(jù)通過(guò)串口輸出至樹(shù)莓派[13]。
本控制系統(tǒng)開(kāi)發(fā)了兩款A(yù)PP,一款是用于患者或家屬自主調(diào)節(jié)床姿的APP,在床姿調(diào)節(jié)功能界面,用戶可以拖動(dòng)滑塊來(lái)實(shí)現(xiàn)起背、翻身、曲腿等功能的調(diào)節(jié),通過(guò)記憶按鈕自動(dòng)調(diào)節(jié)到上次調(diào)節(jié)的角度,可以通過(guò)一鍵還原按鈕將角度都?xì)w零,也可以一鍵選擇主治醫(yī)師根據(jù)患者不同的病情量身制定的角度數(shù)據(jù)。另一款是由控制中心操控的遠(yuǎn)程控制導(dǎo)航終端APP,APP通過(guò)WIFI局域網(wǎng)與樹(shù)莓派控制器連接,可以輸送床體自主移動(dòng)到病房、手術(shù)室、影像室等,在床體移動(dòng)功能界面,當(dāng)前的床體位置信息自動(dòng)顯示在屏幕上,通過(guò)列表下拉框選擇目標(biāo)位置,按下執(zhí)行后床體就會(huì)安全移動(dòng)到目的位置,在地圖上可以實(shí)時(shí)觀察到護(hù)理床的位置。
Gmapping算法是廣泛應(yīng)用于機(jī)器人定位導(dǎo)航的一種基于改進(jìn)RBPF(rao-blackwellized particle filter)粒子濾波的2D激光SLAM算法[14],RBPF粒子濾波算法提出先進(jìn)行定位再進(jìn)行環(huán)境地圖構(gòu)建,解決了SLAM算法定位和建圖無(wú)法同時(shí)進(jìn)行的問(wèn)題,Gmapping又針對(duì)RBPF算法所用的粒子數(shù)目多和頻繁執(zhí)行重采樣而造成的內(nèi)存消耗大、計(jì)算量大以及粒子退化帶來(lái)的問(wèn)題提出了改進(jìn)提議分布和選擇性重采樣兩點(diǎn)改進(jìn)方案。
改進(jìn)提議分布通過(guò)結(jié)合里程計(jì)數(shù)據(jù)和最近一次的激光測(cè)量數(shù)據(jù)來(lái)獲取更加接近目標(biāo)分布的粒子,改進(jìn)提議分布公式為:
式中:P為條件聯(lián)合概率; x表示機(jī)器人位姿,m表示柵格地圖,z為雷達(dá)觀測(cè)數(shù)據(jù),u為里程計(jì)數(shù)據(jù)。
選擇性重采樣通過(guò)設(shè)定一個(gè)閾值來(lái)減少重采樣的次數(shù),當(dāng)粒子權(quán)重w變化大于設(shè)定的閾值時(shí)就會(huì)執(zhí)行重采樣,在一定程度上減輕了粒子退化,閾值的設(shè)定公式為:
Gmapping算法適合構(gòu)建小場(chǎng)景地圖,場(chǎng)景越大,粒子數(shù)目越多,需要的內(nèi)存和計(jì)算量也就越大。因此,醫(yī)院、養(yǎng)老院等室內(nèi)的工作環(huán)境較適合采用Gmapping算法來(lái)實(shí)現(xiàn)地圖構(gòu)建。Gmapping算法工作流程圖,如圖5所示。
圖5 Gmapping算法工作流程圖Fig.5 Gmapping algorithm work flow chart
4.3.1 AMCL定位
自適應(yīng)蒙特卡洛定位(odaptive Monte Carlo localization,AMCL)算法[15]采用粒子濾波算法來(lái)追蹤已掃描地圖中的移動(dòng)機(jī)器人位姿,相比蒙特卡洛(Monte Carlo localization,MCL)定位算法,AMCL的自適應(yīng)性體現(xiàn)在實(shí)際應(yīng)用中對(duì)粒子的數(shù)量進(jìn)行了較好的控制,解決了粒子集中和機(jī)器人綁架問(wèn)題。由于實(shí)際使用中里程計(jì)存在里程漂移的誤差,因此AMCL先通過(guò)里程計(jì)數(shù)據(jù)對(duì)機(jī)器人位置進(jìn)行初步的估計(jì),再通過(guò)測(cè)量模型得到機(jī)器人在地圖上的定位,AMCL定位示意圖,如圖6所示。
圖6 AMCL定位示意圖Fig.6 AMCL positioning diagram
4.3.2 路徑規(guī)劃
局部規(guī)劃采用move_base導(dǎo)航包中的TEB(Timed-Elastic-Band)局部規(guī)劃器[16],可以很好地處理基于阿克曼模型移動(dòng)小車(chē)的運(yùn)動(dòng)學(xué)約束,TEB將時(shí)間信息融入位姿軌跡模型中,定義機(jī)器人第i個(gè)位姿狀態(tài)為:
式中:x、y為機(jī)器人坐標(biāo)值,θ為當(dāng)前時(shí)間機(jī)器人的方向角。
將位姿狀態(tài)點(diǎn)Si與兩個(gè)狀態(tài)點(diǎn)的時(shí)間間隔 Ti結(jié)合得:
通過(guò)加權(quán)多目標(biāo)優(yōu)化的方法來(lái)獲取最佳的路徑點(diǎn),即最優(yōu)的位姿和時(shí)間間隔:
式中:C*表示位姿和時(shí)間間隔序列的最優(yōu)結(jié)果,γk是權(quán)重系數(shù),f(C)函數(shù)為考慮各種約束下的目標(biāo)函數(shù)之和。
在move_base導(dǎo)航包中提供了兩個(gè)全局規(guī)劃路徑算法:迪杰斯特拉(Dijkstra)算法和A*算法,A*算法雖然計(jì)算速度快,但是只能夠得到局部最優(yōu)解,Dijkstra算法搜索范圍大并且可以得到全局最優(yōu)解,因此采用Dijkstra算法[17-18]。
Dijkstra算法首先創(chuàng)建一個(gè)用于保存源點(diǎn)s到各個(gè)頂點(diǎn)最短距離的數(shù)組dis和一個(gè)用于保存最短路徑頂點(diǎn)的集合T,初始時(shí)集合T只有頂點(diǎn)s。
STEP1:源點(diǎn)s的dis[s]被設(shè)置為0;
STEP2:對(duì)于源點(diǎn)s能直接到達(dá)的頂點(diǎn)m1,m2,m3,dis[m]設(shè)置為w1(s,m1),w2(s,m2),w3(s,m3);
STEP3:對(duì)于源點(diǎn)s不能直接達(dá)到的邊dis[m]設(shè)置為無(wú)窮大;
STEP4:從dis[m]數(shù)組中選擇最小值的頂點(diǎn)c加入集合T中,此頂點(diǎn)到源點(diǎn)s即為最短路徑;
STEP5:對(duì)于頂點(diǎn)c重復(fù)步驟二、三、四,又能夠得出新的頂點(diǎn),對(duì)這些新的頂點(diǎn)再重復(fù)上述步驟,直到集合T包含了所有的頂點(diǎn)為止。
為驗(yàn)證床姿調(diào)節(jié)的精確度,用高精度角度測(cè)量?jī)x測(cè)量真實(shí)的床板角度并與設(shè)定的床板角度對(duì)比,分析其誤差大小。表2為床板角度對(duì)比的結(jié)果,數(shù)據(jù)顯示實(shí)際角度與設(shè)定角度相差較小,對(duì)于患者的使用體驗(yàn)影響較小,更不會(huì)危及患者的生命安全。
表2 床板調(diào)節(jié)對(duì)比結(jié)果(°)Tab. 2 Comparison result of bed board adjustment
在實(shí)驗(yàn)室模擬環(huán)境下啟動(dòng)護(hù)理床控制系統(tǒng),通過(guò)遠(yuǎn)程控制終端APP控制移動(dòng)小車(chē)環(huán)繞實(shí)驗(yàn)室采集地圖信息生成環(huán)境地圖,地圖構(gòu)建完成后,通過(guò)遠(yuǎn)程控制終端APP選擇導(dǎo)航目的地,執(zhí)行操作后,在APP主界面觀察到護(hù)理床生成局部代價(jià)地圖并開(kāi)始移動(dòng),最終結(jié)果表明護(hù)理床在移動(dòng)過(guò)程中可以避開(kāi)障礙物并到達(dá)目的地。
設(shè)計(jì)了一種自主導(dǎo)航的多功能護(hù)理床控制系統(tǒng),主要完成了以下工作內(nèi)容:
(1)對(duì)護(hù)理床床板進(jìn)行了功能模塊化的設(shè)計(jì),完成了控制系統(tǒng)硬件部分的選型以及電路設(shè)計(jì)。
(2)設(shè)計(jì)了兩款手機(jī)APP,一款用于實(shí)現(xiàn)床姿調(diào)節(jié),另一款用于實(shí)現(xiàn)環(huán)境地圖構(gòu)建、床體定位、路徑規(guī)劃以及自主導(dǎo)航。
(3)對(duì)床姿調(diào)節(jié)和自主移動(dòng)兩大功能進(jìn)行了實(shí)驗(yàn),驗(yàn)證了控制系統(tǒng)的可行性和可靠性。
該研究將移動(dòng)機(jī)器人路徑規(guī)劃技術(shù)與電動(dòng)護(hù)理床相結(jié)合,解決了護(hù)理床移動(dòng)費(fèi)時(shí)費(fèi)力的問(wèn)題,有較好的應(yīng)用前景。但目前自主導(dǎo)航功能只有終端控制工作人員才能操作,病人無(wú)法自主操控,未來(lái)可以將自主導(dǎo)航功能開(kāi)放給患者,可以更加方便患者的日常需求;遠(yuǎn)程控制導(dǎo)航終端APP只能控制單一床體移動(dòng),對(duì)于多床體的導(dǎo)航控制以及多床體的調(diào)度算法沒(méi)有進(jìn)一步研究,未來(lái)可以針對(duì)這兩方面進(jìn)行下一步的深入研究。