吳風(fēng)浪
(西安交通大學(xué), 醫(yī)學(xué)院第一附屬醫(yī)院, 陜西, 西安 710000)
隨著物聯(lián)網(wǎng)的發(fā)展,傳統(tǒng)行業(yè)也到處可以看到物聯(lián)網(wǎng)的身影[1-2]。由于近些年來醫(yī)療改革以及相關(guān)經(jīng)濟的原因,迫使醫(yī)院急需進行結(jié)構(gòu)優(yōu)化和降低成本。因此,醫(yī)院需要提高患者吞吐量,提高操作性能,減少冗余環(huán)節(jié),削減不必要的人力資源。在醫(yī)院內(nèi)的各種復(fù)雜流程中,空間感知服務(wù)有助于提高護理質(zhì)量和降低成本[3-5]。目前通過引入物聯(lián)網(wǎng),搭建相關(guān)的物聯(lián)網(wǎng)平臺,可以實現(xiàn)對醫(yī)院中的床位,病人,藥品以及設(shè)備,進行實時跟蹤,管理以及邏輯分析。從而提高了流程利用率和員工生產(chǎn)效率,提高了物流的透明度,減少了庫存和過度購買,減少了搜索時間,并確保正確的患者可以使用正確的流程[6-8]。
但醫(yī)院特殊的環(huán)境和運行條件對物聯(lián)網(wǎng)平臺系統(tǒng)的發(fā)展提出了很高的要求。這是因為醫(yī)院是非常敏感的工作場所,因此必須確保部署的系統(tǒng)不會對關(guān)鍵醫(yī)療設(shè)備或特殊治療指定區(qū)域造成干擾,然而目前現(xiàn)有的應(yīng)用情況對于醫(yī)院內(nèi)部的設(shè)備或人員的位置跟蹤精確度較差,并且系統(tǒng)缺乏穩(wěn)定性[9]。為了解決以上問題,本文利用無源被動的RFID技術(shù)[10-13],提出了一種對醫(yī)院內(nèi)中移動物體的位置和方向定位和跟蹤的方法,實現(xiàn)了對醫(yī)療器械,設(shè)備的實時定位和管理。
圖1顯示了一個典型的醫(yī)院環(huán)境。從圖可知,這個環(huán)境包括病房、醫(yī)療設(shè)備存儲室、IT室和管理人員,他們控制個人、患者和設(shè)備的工作流程。
圖1 醫(yī)院內(nèi)部環(huán)境示意圖
當(dāng)有病人因事故被送到醫(yī)院時,需要對病人進行急救,因此就需要輪椅,氧氣面罩,心臟泵等專業(yè)設(shè)備,同時也需要空置的病床。設(shè)備管理人員需要根據(jù)設(shè)備管理系統(tǒng)快速檢查所需設(shè)備的位置和可用性。使用設(shè)備管理系統(tǒng),管理員可以通過系統(tǒng)查詢,并在瞬間獲得該設(shè)備的位置和狀態(tài)。同樣的情況也適用于輪椅和床位。如圖1所示,空閑床位共有3張,輪椅1輛,2個心臟泵和1個監(jiān)測裝置。
在提出的方法中,要求將RFID標(biāo)簽集成到放置移動對象的網(wǎng)格中的地板中,如圖2所示,地板由尺寸相等的N×M塊板組成,使得N,M≥1。在每個地板上,RFID標(biāo)簽貼在位置(X,Y)上,使得X,Y≥1。每個標(biāo)記都放置在特定地板內(nèi)固定預(yù)設(shè)位置上。
圖2 以病床為例,可擴展RFID地板部署示意圖
在圖2中,坐標(biāo)X和Y對應(yīng)于地板的行和列。標(biāo)記存儲了分別表示板中水平行和垂直列的整數(shù)值x和y。該標(biāo)記還存儲水平行變量m和垂直列變量n,它們對應(yīng)于板在房間尺寸中的位置。必須指出的是,每個地板上的RFID標(biāo)簽的分布不必相同。然而,重要的是,如圖2所示,存儲在每個標(biāo)簽中的位置信息參考與網(wǎng)格設(shè)計相關(guān)的變量x和y。在該設(shè)計中,如果需要更改標(biāo)簽分布(例如,地板中的RFID標(biāo)簽較少),則可以通過按需跳過行或列來完成操作,但不更改RFID標(biāo)簽在地板中的位置。通過這樣做,可以避免更改每個RFID中存儲的數(shù)據(jù)。此外,還可以控制不同樓層分區(qū)上RFID標(biāo)簽的密度,以達到所需的分辨率,并分別控制特定的樓層面積,以滿足特定的應(yīng)用需求。另外還可以擴展RFID地板,以覆蓋任意大空間。
在設(shè)置中,需要預(yù)先在所有移動對象上安裝RFID閱讀器。RFID閱讀器組件通過串行接口連接到嵌入式計算機,通過串行接口根據(jù)存儲的標(biāo)簽信息計算位置和方向信息。由于讀卡器和轉(zhuǎn)發(fā)器之間的距離必須很小,所以將閱讀器安裝在移動物體下面。
標(biāo)簽的排列方式是1個閱讀器只能覆蓋一個標(biāo)簽。其主要原因是定位結(jié)果的預(yù)期分辨率和可靠性。雖然理論上每個對象有1個讀卡器就足以讀取1個RFID標(biāo)簽來計算其位置,但至少有2個閱讀器需要檢測2個RFID標(biāo)簽來計算其方向。為了更準(zhǔn)確地測量方位,2個閱讀器并不總是足夠的,因為它們不一定與標(biāo)簽匹配。例如,如果標(biāo)記的分布非常稀疏,那么在未標(biāo)記區(qū)域中獲取閱讀器的概率很高,因此它不會接收定位數(shù)據(jù)。在每個對象上使用更多的閱讀器可以提高系統(tǒng)的魯棒性和測量精度。
總體測量步驟如下。
(1) 掃描。應(yīng)答器以同步方式讀出標(biāo)簽。標(biāo)簽的ID和坐標(biāo)M、N、X和Y的值是有時間戳的,并作為數(shù)據(jù)元組
(2) 測量。軟件模塊根據(jù)數(shù)據(jù)元組M、N、X、Y、RFID標(biāo)簽的ID和時間戳計算對象的位置。此信息從靠近特定讀卡器的RFID標(biāo)簽中掃描。
系統(tǒng)組成及通信:系統(tǒng)組成模塊如圖3所示。它們之間的相互通信是:當(dāng)數(shù)據(jù)被掃描時,嵌入式計算機將測量到的信息轉(zhuǎn)換成高級的“情境事件”并發(fā)送給軟件模塊。軟件模塊由情境管理代理和存儲移動對象移動歷史的數(shù)據(jù)庫組成。在這種設(shè)置中,嵌入式計算機是使用知識查詢標(biāo)記語言(knowledge query markup language, KQML)的代理通信模塊的一部分,KQML提供了一種基于純文本的TCP/IP代理通信機制來與系統(tǒng)中的實體交互。
圖3 RFID系統(tǒng)組成模塊
另一種方法是使用無線串行適配器(如藍牙、ZigBee或WiFi)將RFID閱讀器輸出發(fā)送到遠程計算機。每個RFID閱讀器都需要連接到一個無線串行適配器,該適配器與房間中的遠程計算機配對。雖然這種方法只需操作無線串行設(shè)備就可以節(jié)省移動設(shè)備的能耗,但它會產(chǎn)生信號干擾,特別是當(dāng)室內(nèi)有兩個或三個以上的移動對象時。也就是說,12個無線串行適配器將使用同一臺遠程計算機在同一個房間中運行,很可能相互干擾。
在獲取了相應(yīng)數(shù)據(jù)以后,為了計算特定讀取器掃描的標(biāo)簽的位置,可以通過式(1)、式(2)計算得到其位置:
(1)
(2)
注意m、n、x和y都是大于0的數(shù)字。表1描述了式(1)、式(2)中的符號。
表1 符號釋義
對于可以掃描標(biāo)簽的情況,P的x和y分量的值是不確定的。上述方程表明,用2個位置點可以確定物體的位置和方向。然而,為了提高系統(tǒng)的魯棒性,在此使用了4個閱讀器。如果1個或2個閱讀器出現(xiàn)故障,系統(tǒng)仍然可以有效地計算出移動對象的位置和方向。
移動物體的位置由中心點p0確定,如圖4所示。從移動物體的高度可以很容易地計算出三維位置的z分量。移動對象的方向僅圍繞z軸(偏移)變化。通過建立n個識別閱讀器位置的矢量平均值來計算中心點p0,具體如式(3)。
圖4 已安裝的RFID閱讀器的移動物體的尺寸示意圖
(3)
其中,i={1,…,n}使得1≤n≤4,P0是移動對象的中間點,Ri表示從閱讀器接收的向量(點)。然而,如果移動對象的大小和尺寸是已知的,則如圖4所示,可以通過使用對象的長度或其對角線僅使用兩點來計算位置。為了說明這一點,考慮以下情況R1和R3已知,則可使用式(4)計算移動對象的位置:
(4)
如果R2和R4已知,則位置為直線R2R4的中心點,該中心點使用式(5)計算:
(5)
有了這個新的單位向量,可以通過將它乘以物體一半的邊并將其添加到Px中來獲得物體的位置。使用R1和R3,可以利用公式(6)計算P0:
(6)
在這里Φ=90°。使用R1和R3時,必須使用A而不是B,旋轉(zhuǎn)角度Φ將為-90°。對于圖4所示的示例,B的長度為55 cm,A的長度為49 cm。方向被視為從移動對象到對象的邊界框的用戶定義側(cè)的中心的標(biāo)準(zhǔn)化正交向量。(R1-R2)或(R3-R4)之間的單位向量是移動對象的方向o,具體可以通過式(7)計算得到
(7)
示例:考慮圖2所示的布局,并假設(shè)檢測到閱讀器R1,R2和R3(標(biāo)記為紅色),并且從這些閱讀器收集的數(shù)據(jù)如下:
R1讀數(shù)為 (m,n,x,y)=(1,3,4,1)
R2讀數(shù)為 (m,n,x,y)=(1,1,3,4)
R3讀數(shù)為 (m,n,x,y)=(2,1,4,3)。
應(yīng)用公式(1)和(2),我們得到R1
然后,對于R1P1=(49.25 cm,122.75 cm)。類似地,閱讀器R2和R3的位置將計算出來,并在下面顯示。對于R2,P2=(34.25 cm,38.75 cm),對于R3,P2=(109.25 cm,26.75 cm)。應(yīng)用式(3),得到
圖3中的物體的方向是根據(jù)從閱讀器R1和R2根據(jù)式(7)的讀數(shù)計算的,如下所示:
上面例子顯示了如何根據(jù)地板本身的坐標(biāo)計算移動對象的位置和方向。但是,如果地板的布局方式與集成地板的房間不共享同一坐標(biāo),則必須將位置矢量轉(zhuǎn)換為與房間坐標(biāo)對齊,以獲得最終位置和方向。在這種情況下,需要考慮兩個附加向量才能映射到房間的坐標(biāo)系。一個向量指向局部坐標(biāo)系的原點,而另一個向量則是N軸的單位方向向量,如圖2所示。另一種方法是排列RFID地磚,使其與房間的確切尺寸一致。在這種配置中,可以直接根據(jù)房間坐標(biāo)讀出絕對位置,而不是根據(jù)板塊的局部坐標(biāo)。
如圖5所示,使用一個金屬支架來模擬一張病床,并配備了RFID閱讀器。對于地板,我們使用商用地毯板,面積為2.88 m2,分為兩排四列。每塊的尺寸為60 cm×60 cm。在每個標(biāo)牌的背面,貼上了20個RFID標(biāo)簽。標(biāo)簽被分為五行四列,每個尺寸為8.5 cm×5.5 cm,標(biāo)簽之間的距離為2-10 cm。
圖5 實驗設(shè)置,左邊中間為標(biāo)簽部署,右邊為模擬病床
表2顯示了隨機選取的10個點的位置,進行P0點的靜態(tài)測量的結(jié)果。從表中可以看到,平均誤差為12.875 cm。其中7個點的誤差在15 cm以下,說明在大部分位置,提出的方法具有較好的精度。
表2 靜態(tài)測量結(jié)果對比
在第二輪測試中,重點進行了移動測試,移動物體經(jīng)過10個位置。實驗結(jié)果如圖6所示。
圖6 路線結(jié)果對比圖
在10個位置中的8個,我們可以找到3個輪子。在另外2個位置,我們可以找到2個輪子。相對于參考點的平均誤差為6.38 cm,標(biāo)準(zhǔn)偏差為4.39 cm。歐氏定位誤差測量點與參考點在10個位置上的差的絕對值分別為9.02 cm,5.75 cm,6.54 cm,7.02 cm,8.51 cm,4.44 cm,16.24 cm,3.83 cm,0.60 cm和1.84 cm。結(jié)果表明,使用四個閱讀器時,測量誤差在0.60~16.24 cm之間,平均誤差為6.37 cm。
在圖7中,展示了方位角的測量。平均定向誤差為0.21rad(12.17°),標(biāo)準(zhǔn)偏差為0.18rad(9.52°)。10個試驗位置的測量角度和參考角度之間的差異為0.18、0.01、0.19、0.14、0.35、0.19、0.57、0.12、0.001和0.38rad。結(jié)果表明,該方法定位精度高。
圖7 方位角測量結(jié)果對比
在整個實驗過程中,注意到由于標(biāo)簽的平行排列和標(biāo)簽的低傳輸范圍(約8 cm),有時很難檢測和讀出標(biāo)簽。尤其是當(dāng)車輪在非聚集區(qū)域(即兩行之間)移動時。為了避免這種情況,可以重新排列標(biāo)簽位置,使用棋盤布局,然后進行廣泛的基準(zhǔn)測試。
基于醫(yī)院的需求和物聯(lián)網(wǎng)的發(fā)展,本文提出了一個基于物聯(lián)網(wǎng)醫(yī)療設(shè)備管理系統(tǒng),致力于簡化設(shè)備管理和調(diào)用流程,縮短時間。該方法主要是基于被動式無源RFID標(biāo)簽,通果部署標(biāo)簽在地板上,以及在設(shè)備上安放數(shù)個閱讀器,實現(xiàn)對醫(yī)療設(shè)備的位置定位。與現(xiàn)有的方法相比,該方法具有計算過程簡單,易部署等特點。其次,提出的方法中的平均誤差、精度和精度不受環(huán)境幾何和大小、移動對象的數(shù)量和分布等參數(shù)的影響,也不受信號傳播問題(如反射或吸收)的影響。誤差較小。