李一帆,蔣恒新,梁進,羅騰涵,王露
(重慶交通大學,重慶,400074)
醫療服務機器人技術是集醫學、生物力學、機械學、機械力學、材料學、計算機圖形學、計算機視覺、數學分析、機器人等諸多學科為一體的新型交叉研究領域,具有重要的研究價值,在軍用和民用中有著廣泛的應用前景,是目前機器人領域的研究熱點之一[1]。目前,在我國醫療機器人市場中,康復機器人占比最大,約為41%;手術機器人占比相差不大,分別為 17%、16%[2]。醫療服務機器人主要包括醫療問診、醫院物流、影像定位等類型[3]。疫情以來,各種智能機器人在醫院診療體系中發揮所長。物流機器人不僅分擔了不同時段的配送藥品任務,減少患者等待用藥的時間,還降低了因人工配送產生交叉感染的風險,最大限度的保護了醫患的健康和安全。基于醫療服務機器人的板塊尚未普及,未來市場發展潛力巨大,本文擬設計一種實現醫療物資配送,降低人工成本的智慧醫療服務機器人,以此來提高醫院日常運營和服務效率,讓醫護人員將精力集中在為患者提供診療服務上,讓老百姓體驗到更加智能、高效、舒暢的就醫體驗。
如圖1所示,本設計是以樹莓派4B為主控制器,STM32F103為從控制器的智慧醫療服務機器人。該機器人通過從控制模塊將電機編碼器與加速度傳感器模塊采集的數據融合后得到里程計數據,接著主控制模塊綜合里程計、慣性導航和激光雷達采集的數據,利用激光SLAM技術進行實時建圖,建圖完畢后保存地圖。上位機遠程確定行走目標點后,主控制器進行全局路徑規劃,之后利用激光雷達和慣性導航實時采集的數據通過局部路徑規劃算法前往目標點,完成自主避障導航。監測模塊實時獲取前方圖像信息并傳輸至通信模塊,通信模塊將實時采集到的圖像和機器人的姿態信息傳輸至上位機,以便實時觀察機器人的運行狀態(若有突發狀況,相關人員可及時前往查看),從而保持高效的工作狀態。驅動模塊可驅動機器人行走(如遇突發情況可緊急制動)。機器人內部放藥區采用升降放置平臺,在用戶取藥的時,可通過掃描病人二維碼的方式打開該病人的藥物放置倉,以確保藥品的精確送達。顯示模塊顯示當前機器人的姿態與藥品等相關信息,方便相關人員查看。通過ADC數模轉換模塊可用于檢測電池模塊剩余電壓,根據功率計算剩余運行時間,以便低電量時即使充電避免影響正常使用。過充過放保護模塊用于控制充電速度,防止電源在長時間使用后,因多次過充和過放導致電池壽命下降。穩壓模塊用于保證裝置各個部分供電穩定,能夠正常穩定運行。

圖1 系統硬件原理圖
本設計使用的加速度傳感器模塊采用高性能的微處理器和先進的動力學解算與卡爾曼動態濾波算法,能夠快速求解出裝置當前的實時運動姿態;采用數學積分及運動估算,解算出高精度旋轉角度,避免出現大幅度誤差;內部集成了姿態解算器,能夠在動態環境下精確輸出裝置當前姿態,穩定度極高。從控制器通過串口獲取該模塊檢測到的偏航角與角加速度,利用這些數據與輪式編碼器的數據解算出里程計數據,為建圖提供精確的數據基礎。
本設計采用思嵐RPLIDAR-AIM8激光雷達,可對周圍環境進行360度全方位掃描測距,從而獲得周圍環境的輪廓圖。內置了9自由度慣性導航系統,可在高低起伏、存在傾角的手持建圖模式下正常工作,保證很好的建圖數據質量。無論是室內復雜環境,還是室外強光直射環境,出色的展現出其面對室內外復雜場景地圖構建和定位的能力。該模塊通過USB與主控制器相連,主控制器通過USB不斷獲取雷達深度信息,并將其與里程計信息相結合完成建圖與導航工作。
本裝置顯示模塊采用LCD顯示屏,通過顯示模塊可以查看機器人運動、電池剩余電量、已放置藥品數量和藥品是否被取走等信息,方便醫護人員和患者的使用,提高運行效率。該LCD顯示屏通過常規HDMI線與樹莓派進行通信,樹莓派將相關數據處理后顯示在屏幕上反饋給用戶。
里程計是反映機器人每時每刻坐標姿態變化的信息,是機器人建圖導航不可或缺的數據之一。里程計信息則需要機器人底盤的運動學模型與相關傳感器測量的數據相結合解算出。本設計采用的是兩輪差分底盤,由于正常機器人運動時有x,y,z三軸自由度,而驅動差分底盤則只需要左右輪的速度便可以,所以該底盤是一個欠驅動系統。對于該底盤來說,機器人每時每刻運動時的軌跡都可以看成是一個圓弧,當機器人原地旋轉時軌跡是一個半徑為零的圓弧,當直線行走時軌跡是一個半徑趨近于無窮大的圓弧。由于該底盤的機器人無法進行平移運動且運動軌跡是一個圓弧,所以運動學模型主要是運動的線速度與角速度。根據圓弧運動中線速度、角速度和運動半徑之間的關系,我們便可以推算出底盤的線速度與角速度公式:

本設計采用Gmappinng建圖方法對醫院室內進行建圖,該方法集成了Rao-Blackwellized粒子濾波算法。gmapping功能包訂閱機器人的深度信息、IMU信息和里程計信息,同時完成一些必要參數的配置,即可創建并輸出基于概率的二維柵格地圖。在獲取雷達和里程計信息后,樹莓派有必要知道各坐標系之間的坐標變換,在ROS中稱為tf變換。其中必須的tf變換為

圖2 建圖狀態圖
ROS中的自主導航是基于move_base這個導航關鍵功能包。自主導航較之建圖多了定位手段,amcl功能包采用蒙特卡羅定位方法,用大量粒子來估計機器人位姿,粒子最密集處為amcl估算機器人在地圖坐標系的位姿信息。
在導航過程中,move_base提供全局路徑規劃和本地實時規劃,全局路徑規劃采用Dijkstra算法規劃全局最優路徑。本地實時規劃采用適合于機器人底盤形狀的Dynamic Window Approaches算法,搜索躲避和行進的多條路徑,綜合各評價標準選取最優路徑。該規劃提供多種接口,如goal:發布任務目標;cancel:請求取消任務;status:通知客戶端當前的狀態等。機器人在加入自主導航功能后,便有了基本的完成送藥的能力。
本設計通過OPENCV完成對二維碼的檢測與識別,首先創建一個QRCodeDetector類的對象,然后調用dete ctAndDecode()函數完成對二維碼的檢測與識別。該函數首先獲取攝像頭圖像并檢測是否有二維碼存在,當檢測到二維碼存在后,便開始搜索二維碼的位置探測圖形,即QR二維碼中三個頂點處的“回”字區域,以此確定二維碼在圖像中的位置,然后對其進行解碼獲取字符信息并返回。樹莓派獲取二維碼字符信息后,確定用戶身份信息是否正確,如正確便開啟艙門,使用戶完成取藥。
系統開始后,首先將上位機和下位機初始化,下位機通過通信模塊接受上位機的遠程控制指令,控制電機驅動機器人圍繞所在空間行走,期間下位機不斷獲取來自激光雷達、輪式編碼器與加速度傳感器模塊采集的數據,并利用Gmapping功能包進行實時建圖并保存地圖,同時將數據傳送至上位機使其顯示實時建圖過程。當需要配送藥品時,醫護人員首先將藥品放置升降平臺上,然后通過上位機遠程確定配送目標點,之后下位機利用建立好的地形圖進行全局路徑規劃并開始配送。配送期間下位機不斷接收來自各個傳感器采集的數據并進行局部路徑規劃,通過局部路徑規劃與全局路徑規劃實現機器人的自主避障導航,并控制機器人前往配送地點。抵達配送點后,取藥人員可通過掃描患者二維碼認證身份信息,機器人確認取藥人員身份信息后,打開艙門升起升降放置平臺,同時顯示模塊顯示藥品相關信息,方便取藥。在行進過程中,下位機不斷傳輸攝像頭采集的圖像和機器人運行姿態等信息至上位機,上位機接收數據后顯示攝像頭圖像與機器人姿態等信息以便工作人員查看。當工作人員通過攝像頭圖像確定出現異常情況時,可及時通知相關人員前往現場處理。在藥品全部被取出后,機器人返回起點,完成一個工作任務。升降放置平臺升起和降落狀態如圖3和圖4所示。

圖3 升降裝置升起示意圖

圖4 升降裝置降落示意圖
本設計是基于激光SLAM技術的智慧醫療服務機器人,通過將激光雷達,慣性導航模塊,加速度傳感器模塊和輪式編碼器模塊采集的數據進行融合,并利用激光SLAM技術進行實時建圖并保存。在接收到遠程發送的目的地信息后,機器人進行路徑規劃并通過自主避障導航算法前往目的地,實現藥品的送達。針對目前疫情期間在醫護人員配送藥品時容易產生交叉感染的情況,本設計很好的實現了藥品的無接觸配送,降低了醫患人員發生交叉感染的概率,并且不會影響醫院的正常運行,提高了醫院的日常運行與服務效率。這種能夠實現藥品無接觸配送,節約時間與人力的智慧醫療服務機器人,不僅滿足了如今疫情期間降低感染率的需求,也符合如今醫療服務機器人的作業環境一般在醫院、家庭及非特定的多種場合,具有移動性與導航、識別及規避能力,以及智能化的人機交互界面;在需要人工控制的情況下,還要具備遠程控制能力[4]的特點,具有廣闊的市場前景。