宋凱倫 喻 恒
(平頂山學(xué)院信息工程學(xué)院,河南 平頂山 467000)
隨著現(xiàn)在經(jīng)濟(jì)的發(fā)展,服務(wù)機(jī)器人也逐漸出現(xiàn)在我們的視野中,也發(fā)展到各個(gè)場所,如醫(yī)療場所、服務(wù)場所、生活場所、維護(hù)場所等[1]。當(dāng)前社會(huì)醫(yī)護(hù)人員的工作繁重,工作環(huán)境存在感染風(fēng)險(xiǎn),醫(yī)療服務(wù)機(jī)器人特別是易感染場所的服務(wù)機(jī)器人的研究可以很大程度上解決這個(gè)問題[2]。目前,我國智慧醫(yī)療服務(wù)機(jī)器人仍然處于發(fā)展階段,移動(dòng)醫(yī)療服務(wù)機(jī)器人主要針對的是機(jī)器人的移動(dòng)定位避障、手臂控制、零半徑轉(zhuǎn)彎、語言播報(bào)、身份識別等。愈來愈多的科研機(jī)構(gòu)和公司企業(yè)開始著手智慧醫(yī)療服務(wù)機(jī)器人的研究。
結(jié)合現(xiàn)在一些比較先進(jìn)的專業(yè)技術(shù),采用一些較為貼近生活化的設(shè)計(jì)理念,我們設(shè)計(jì)的智慧醫(yī)療服務(wù)機(jī)器人,運(yùn)用ROS機(jī)器人自主導(dǎo)航[3]、樹莓派的語音播報(bào)、二維碼(條形碼)的掃描、遠(yuǎn)程通信(控制)、舵機(jī)的控制、智慧醫(yī)療機(jī)器等技術(shù)。
該機(jī)器人為自主控制機(jī)器人,以樹莓派作為主控,結(jié)合ROS系統(tǒng)機(jī)器人、智慧醫(yī)療機(jī)實(shí)現(xiàn),具有模擬醫(yī)生護(hù)士查房、送藥、檢查病人各項(xiàng)體征等功能。實(shí)現(xiàn)了模擬醫(yī)生或者護(hù)士對病人進(jìn)行查房、簡單體征監(jiān)測等,該項(xiàng)目可以有效緩解醫(yī)護(hù)人員繁重的工作,也可降低易感染病房護(hù)理人員的工作風(fēng)險(xiǎn)。
ROS的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)也頗有特色,ROS運(yùn)行時(shí)是由多個(gè)松耦合的進(jìn)程組成,每個(gè)進(jìn)程ROS稱之為節(jié)點(diǎn)(Node),所有節(jié)點(diǎn)可以運(yùn)行在一個(gè)處理器上,也可以分布式運(yùn)行在多個(gè)處理器上。在實(shí)際使用時(shí),這種松耦合的結(jié)構(gòu)設(shè)計(jì)可以讓開發(fā)者根據(jù)機(jī)器人所需功能靈活添加各個(gè)功能模塊。
ROS的設(shè)計(jì)者考慮到各開發(fā)者使用的開發(fā)語言不同,因此ROS的開發(fā)語言獨(dú)立。除了官方提供的功能包之外,ROS還聚合了全世界開發(fā)者實(shí)現(xiàn)的大量開源功能包,如思嵐科技(SLAMTEC)就發(fā)布了針對其自主研發(fā)的激光雷達(dá)RPLIDAR的ROS功能包RPLIDAR_ROS。這些開源功能包與ROS一起構(gòu)成了強(qiáng)大的開源生態(tài)環(huán)境[4-5]。
移動(dòng)醫(yī)療機(jī)器人的整體設(shè)計(jì)[6-7]包括導(dǎo)航模塊、交互模塊和測量模塊三個(gè)部分,具體功能設(shè)計(jì)如圖1所示。
2.1.1 導(dǎo)航模塊
系統(tǒng)主要運(yùn)用ROS機(jī)器人來實(shí)現(xiàn)自主導(dǎo)航[8],自主導(dǎo)航中自動(dòng)避障是通過激光雷達(dá)來實(shí)現(xiàn)。激光雷達(dá)可以給附近的障礙物發(fā)出激光束,將反射回來的信號收集并通過RVIZ(ROS的3D可視化工具)顯示出來,得到障礙物的大致分布,從而實(shí)現(xiàn)自動(dòng)避障。在ROS機(jī)器人map_tools工具中來增加需要遍歷的航點(diǎn),ROS機(jī)器人通過激光雷達(dá)對這些航點(diǎn)進(jìn)行自主規(guī)劃路線,以此來到達(dá)指定航點(diǎn)。
2.1.2 交互模塊
交互模塊主要運(yùn)用的是樹莓派(微型電腦),樹莓派運(yùn)用的是Linux系統(tǒng),通過條碼掃描器掃描條碼得到藥物信息,以此來判斷床號,通過樹莓派的通信功能,給各個(gè)功能模塊發(fā)送命令,從而進(jìn)行語音播報(bào),同時(shí)對應(yīng)床號的舵機(jī)啟動(dòng),打開藥箱。病人取藥后可以進(jìn)行音視頻交流。
2.1.3 測量模塊
此模塊主要運(yùn)用智能醫(yī)療來進(jìn)行測量,基于安卓系統(tǒng),通過藍(lán)牙通信傳輸測量的心率、體溫、血壓等數(shù)據(jù)到手機(jī)App上,從而達(dá)到測量病人體征的目的。
圖1 移動(dòng)醫(yī)療機(jī)器人設(shè)計(jì)框圖
2.2.1 導(dǎo)航模塊
ROS機(jī)器人自動(dòng)導(dǎo)航程序中,首先編寫運(yùn)動(dòng)Node即設(shè)置運(yùn)動(dòng)時(shí)的速度,及自身的直徑。然后進(jìn)行SLAM建圖,通過激光雷達(dá)對現(xiàn)場的狀況進(jìn)行掃描,會(huì)自動(dòng)標(biāo)注出障礙點(diǎn)、靜態(tài)障礙物的輪廓等,可以實(shí)時(shí)建出一個(gè)可行性高的圖。接下來是Navigation導(dǎo)航,啟動(dòng)RVIZ,機(jī)器人模型會(huì)出現(xiàn)在之前建好的圖中,可以設(shè)置起始點(diǎn)及到達(dá)目標(biāo)行點(diǎn)后ROS機(jī)器人的朝向。在map tools工具中添加需要遍歷的航點(diǎn),輸入命令啟動(dòng)Rviz,在初始建好的圖中設(shè)置航點(diǎn),可以在航點(diǎn)后設(shè)置延時(shí),ROS機(jī)器人會(huì)根據(jù)設(shè)置好的航點(diǎn)自動(dòng)規(guī)劃路線,到達(dá)目標(biāo)航點(diǎn)會(huì)完成相應(yīng)的指令,并和樹莓派進(jìn)行通信把指令發(fā)送,進(jìn)而讓樹莓派進(jìn)行其他步驟,在行走過程中會(huì)自動(dòng)避障,到達(dá)最終目標(biāo)行點(diǎn)后會(huì)自動(dòng)停止。導(dǎo)航軟件設(shè)計(jì)流程如圖2所示。
2.2.2 交互模塊
樹莓派通過調(diào)用GPIO庫,藍(lán)牙庫等對舵機(jī)、病人體征檢測設(shè)備、USB攝像頭進(jìn)行控制。通過麥克風(fēng)提前錄音進(jìn)行語音播報(bào),定義語音1和語音2方便調(diào)用。在ROS機(jī)器人距離病人床頭的距離小于50 cm時(shí)打開攝像頭進(jìn)行條碼掃描。通過條碼內(nèi)容的比較判斷為幾號病床并進(jìn)行相應(yīng)的語音播報(bào)并打開對應(yīng)藥箱。然后通過藍(lán)牙模塊打開病人體征檢測設(shè)備對病人進(jìn)行心率血壓等體征檢測,同時(shí)接受ROS機(jī)器人發(fā)來的信號做出相對于的檢測。交互模塊程序流程設(shè)計(jì)如圖3所示。
圖2 導(dǎo)航模塊軟件設(shè)計(jì)流程
圖3 交互模塊程序流程設(shè)計(jì)
2.2.3 測量模塊
當(dāng)接收到樹莓派通過交互模塊正確識別病人后發(fā)出信號,檢測設(shè)備開始工作,并將監(jiān)測數(shù)據(jù)通過串口發(fā)回樹莓派。檢測設(shè)備分別有體溫、心率、血壓等基本測量模塊,測量設(shè)備采用已有常用的數(shù)字測量模塊,連接主控設(shè)備串口通信,程序主要使用簡單的串行通信即可。
在調(diào)試的過程中也分為三個(gè)模塊。測量模塊、導(dǎo)航模塊、交互模塊。由于每個(gè)模塊需要測試標(biāo)準(zhǔn)的不同,測試要求也不一樣,因此,對對應(yīng)不同的功能模塊設(shè)置不同的測試方法,使測試結(jié)果更具說服性和準(zhǔn)確性。
導(dǎo)航模塊主要是測試路徑是否能自主規(guī)劃路線和自動(dòng)避障及能否到達(dá)指定航點(diǎn);每次測試結(jié)束后記錄導(dǎo)航的準(zhǔn)確次數(shù)和不準(zhǔn)確次數(shù),進(jìn)行系統(tǒng)的計(jì)算分析實(shí)現(xiàn)對導(dǎo)航模塊的測試。
導(dǎo)航模塊的測試結(jié)果如表1所示。
表1 導(dǎo)航模塊測試結(jié)果
測試過程中失敗的原因?yàn)椋涸O(shè)置航點(diǎn)時(shí)鼠標(biāo)沒有固定好,導(dǎo)致航點(diǎn)有誤差。導(dǎo)航有效率大于95%,所以導(dǎo)航模塊基本能實(shí)現(xiàn)。
交互模塊主要是測試掃描條碼能否出來正確的數(shù)據(jù)并正確的語音播報(bào)打開相對應(yīng)的藥箱;每次測試結(jié)束后記錄能否正確語音播報(bào)及打開藥箱,進(jìn)行系統(tǒng)的計(jì)算分析實(shí)現(xiàn)對交互模塊的測試,交互模塊的測試結(jié)果如表2所示。
表2 交互模塊測試結(jié)果
測試結(jié)果正確識別語音并作出控制的有效率超98%,失敗的原因?yàn)榄h(huán)境噪聲干擾,這需要進(jìn)一步提高硬件抗噪能力,但是考慮到醫(yī)院環(huán)境的噪聲一般都比較小,因此,測試結(jié)果顯示系統(tǒng)可以有效地實(shí)現(xiàn)語音交互控制。
測量模塊主要是測試智能醫(yī)療能否準(zhǔn)確地測量出病人的心率、體溫、血壓?;谥腔坩t(yī)療小車的測試;每次測試結(jié)束后記錄能否準(zhǔn)確測量出病人的三項(xiàng)體征,進(jìn)行系統(tǒng)的計(jì)算分析實(shí)現(xiàn)對測量模塊的測試。測量模塊的測試結(jié)果如表3所示。
表3 測量模塊顯示結(jié)果
測試過程中失敗的原因?yàn)椋菏覂?nèi)溫度不穩(wěn)定,以及智慧醫(yī)療機(jī)器電壓不穩(wěn)定,測量有效率大于95%,所以測量模塊基本能實(shí)現(xiàn)。
本文根據(jù)移動(dòng)醫(yī)療服務(wù)機(jī)器人的特點(diǎn)涉及一種基于ROS系統(tǒng)移動(dòng)醫(yī)療服務(wù)機(jī)器人,該系統(tǒng)適用于醫(yī)院、病診所等室內(nèi)自主導(dǎo)航、語音交互、體征測量等功能。系統(tǒng)測算簡單,響應(yīng)快速、移動(dòng)準(zhǔn)確??梢酝ㄟ^顯示器實(shí)時(shí)觀察出機(jī)器人的當(dāng)前位置信息,可以根據(jù)規(guī)定好的下一個(gè)路徑坐標(biāo)進(jìn)行方位姿態(tài)和移動(dòng)動(dòng)作調(diào)整,實(shí)現(xiàn)機(jī)器人自主導(dǎo)航。同時(shí)可實(shí)現(xiàn)病床識別、人機(jī)語音交互以及簡單的查房體征檢測,可以有效減輕醫(yī)護(hù)人員的工作量,同時(shí)為感染病房的護(hù)理工作提供了一個(gè)安全有效的方案。