王怡雯 張曉輝
關(guān)鍵詞:STM32F407ZGT6;送藥車;K210 攝像頭;圖像
中圖分類號:TP249 文獻標識碼:A
文章編號:1009-3044(2023)10-0025-04
0 引言
送藥車是醫(yī)院藥房藥品轉(zhuǎn)運的設(shè)備,適用于藥房和患者之間的藥品傳送?,F(xiàn)有的醫(yī)用送藥車大多采用手推車,容易造成藥品錯發(fā)、漏發(fā)的醫(yī)療糾紛,無法滿足“未來醫(yī)院”患者藥品調(diào)劑精細化、智能化管理的需求,給大數(shù)據(jù)時代的醫(yī)院工作帶來各種不方便。
國外公司的送藥機器人基本都是室外送藥機器人,對于室內(nèi)送藥機器人與國內(nèi)一樣有許多問題,很多問題都處于研究階段,對于室內(nèi)送藥機器人的商業(yè)化還有非常大的一段距離。在實際的運行過程中,發(fā)現(xiàn)了許多的因道路而產(chǎn)生的問題:①當(dāng)下雨天有人在地上鋪上毯子,醫(yī)院或藥房送藥時,送藥機器人對這一路段的通過能力大大降低,有失敗的風(fēng)險,并且行駛過程中穩(wěn)定性也下降不少。②多個小車協(xié)作運行過程中的相互避障及對路線實時規(guī)劃的問題,環(huán)境因素(人為或非人為)發(fā)生改變后小車的適應(yīng)性問題和學(xué)習(xí)能力等,都還需要改善。尤其近年來,疫情反復(fù)無常,為了盡量減少醫(yī)生、病人等人員之間的直接接觸機會,設(shè)計一種送藥智能車,能夠根據(jù)藥房、病房號進行自動識別,將藥品及其他檢測樣本進行準確投送。
1 送藥智能車的總體設(shè)計
送藥智能車控制系統(tǒng)原理框圖如圖1所示,主要包括核心控制器STM32F407ZGT6、HC-05 藍牙通信電路、K210攝像頭、TB6612驅(qū)動電路、TFT顯示屏、減速編碼電機、灰度傳感器、紅外光電感應(yīng)開關(guān)等。
系統(tǒng)工作時,利用紅外光電開關(guān)檢測藥品的放置,使用HC-05藍牙模塊實現(xiàn)無線數(shù)據(jù)交換,傳遞送藥智能車當(dāng)前位置和任務(wù)信息。核心控制器STM32F407ZGT6控制TB6612電動驅(qū)動模塊實現(xiàn)送藥車減速編碼電機的驅(qū)動,減速編碼電機和萬向輪驅(qū)動小車實現(xiàn)行進和轉(zhuǎn)向,使送藥車自動運行。利用灰度傳感器獲得灰度值,采用七路灰度傳感器高效區(qū)分不同灰度(顏色)的尋徑線,實現(xiàn)送藥智能車的尋徑功能。K210攝像頭進行圖像采集,并采用浮雕濾波算法進行預(yù)處理,實現(xiàn)圖像識別、顏色、物體識別、MNIST手寫數(shù)字識別等多種功能,從而實現(xiàn)對多個病房號碼識別功能[1]。
2 送藥車控制系統(tǒng)硬件電路設(shè)計
2.1 供電電路
供電電路采用2路LM2596S-ADJ為核心組成的DC-DC可調(diào)降壓電路,LM2596S-ADJ芯片內(nèi)部有開關(guān)頻率150KHz的固定頻率發(fā)生器,并具有頻率補償功能,轉(zhuǎn)換效率達95%以上。供電電路原理圖如圖2 所示:
LM2596S-ADJ芯片只需要4個外接元器件就可以工作,一路將電池輸出電壓穩(wěn)定在8V供送藥智能車驅(qū)動,另一路將電池電壓穩(wěn)定在5V供各模塊使用。
2.2 電機驅(qū)動電路
本系統(tǒng)送藥智能車使用TB6612 驅(qū)動電路,TB6612是一種可以同時獨立地控制兩臺直流電動機的新型驅(qū)動芯片。它的集成度非常高,且能輸出比較高的電流提供足夠的產(chǎn)能,在運行電動機的性能和能源消耗方面也具有優(yōu)勢。因此,它可以作為集成、小型電動機的控制系統(tǒng)中非常理想的電機驅(qū)動裝置。驅(qū)動電路原理圖如圖3所示:
2.3 主控板電路
主控板采用自主設(shè)計的集成各功能的PCB電路板,包括鍵盤、TFT顯示屏、電機接口、串口以及LED指示燈等,而且板載的1117芯片可將5V電壓轉(zhuǎn)降至3.3V 以供應(yīng)芯片運行。主控板電路如圖4 所示,按鍵、陀螺儀模塊電路如圖5所示,顯示屏、串口模塊電路如圖6所示。
3 送藥智能車的圖像處理
3.1 數(shù)字識別方法
送藥智能車駛向目標病房需要攝像頭對病房號碼的準確識別并且對號碼位置的精確判斷,前者可以使用目標分類達到很好的效果,但對目標數(shù)字位置識別涉及對圖片內(nèi)多個數(shù)字的處理,存在較大的難度。
YOLOv3采用的one stage目標檢測算法具有較高的運算速度,可以同時檢測多個目標,并對相應(yīng)的目標值進行標注,獲取目標的各種信息。能夠同時測量多種數(shù)據(jù),并對相應(yīng)的目標值加以標注,從而得到項目的所有特征??梢允紫壤锰卣魈崛?shù)字的輸入特征,從而獲取一定尺寸的特征圖形輸出。將圖像分為13×13的網(wǎng)格單元,然后假設(shè)真實框的一個對象的中心位置落在一個方格上,然后就可以根據(jù)這個方格來推測這個對象。如果一個對象中有一定數(shù)量的邊界框,在YOLOv3中有三個邊界框,然后通過邏輯回歸可以得到用來推測的回歸框[2]。
要檢測出目標數(shù)字在圖像中的位置,就得需要位置信息,也就是bounding box,如圖7中所示需要知道中心點的坐標,框的寬和高,也就是包含4個值:x,y,w,h,(x,y)代表box 的中心,(w,h)代表box 的寬和高。
3.2 預(yù)測框回歸
預(yù)測框回歸圖如圖8所示:
YOLOv3網(wǎng)絡(luò)最終需要通過回歸檢測得到這些信息,回歸思想是指先驗框(anchor box)到真實框(ground truth box)之間是一種回歸關(guān)系,先驗框是通過預(yù)先選定的一些框,來幫助本系統(tǒng)最終得到真實的框,在代碼中先驗框信息(寬和高)是固定在代碼中的,它包含了三個尺寸,有的大有的小,且橫縱比有一些區(qū)別,如圖通過YOLOv3網(wǎng)絡(luò)訓(xùn)練后會得到一種映射關(guān)系,先驗框會回歸到真實框,Anchor box 到Ground truth box之間可以通過中心點的坐標的偏移,以及框的寬和高的放縮來最終得到真實框[3]。
系統(tǒng)采用K210采集大量原始數(shù)據(jù),進行數(shù)據(jù)集標注,通過LabelImg工具進行數(shù)據(jù)集創(chuàng)建與標注,再通過Tensorflow框架訓(xùn)練YOLOv3模型,本系統(tǒng)將一千兩百張不同角度、不同明暗對比度、不同焦距的圖片傳入框架進行訓(xùn)練,最終得到滿意的YOLOv3模型,由圖9可以看出,經(jīng)過9次迭代損失率可以達到較低水平,大于9次迭代后損失率下降不再明顯。
浮雕濾波器是一種常用數(shù)字濾波器,能夠給圖像一種3D陰影的效果。只需要用中心這一邊的像素減去另一邊的像素。此時,像素值的正負是不確定的,本系統(tǒng)將小于0當(dāng)成陰影部分,將大于0當(dāng)成光影部分,然后對圖像的結(jié)果加上偏移。這時候,圖像大部分就變成灰色了。
將訓(xùn)練的模型YOLOv3.tflite文件轉(zhuǎn)化為YOLOv3.kmodel 文件,將其放在系統(tǒng)SD卡的根目錄下,通過K210程序調(diào)用攝像頭進行數(shù)字的實時識別。將識別的結(jié)果通過串口通信實時地發(fā)送給主控制器。
3.3 自動尋徑方法
本系統(tǒng)采用7路灰度傳感器,裝在送藥智能車車頭下方,用于尋徑和記錄送藥智能車所處位置?;叶葌鞲衅鞑捎霉饷舳O管,在識別到顏色變化時改變輸出信號。尋跡模塊的7個灰度傳感器檢測道路,根據(jù)灰度傳感器的返回的灰度值和邏輯電平信號,判斷送藥智能車相對道路中間所在的位置,調(diào)整送藥智能車兩個電機的速度從而改變運行軌跡,使送藥智能車始終沿著軌道行走。根據(jù)當(dāng)前傳感器的返回值,確定智能送藥車所在道路的位置,從而改變車輛的行駛方向的走向,讓車輛一直沿著道路中間的實線運行。送藥智能車的初始位置定在道路的中間,使用最中間的灰度傳感器壓線,送藥智能車將默認以直線方式前進,在前進一段距離后,因為摩擦力和軌道曲線變化及電機的區(qū)別等問題,送藥智能車將脫離軌道線而偏向另一方向,這時車輛就必須通過從灰度傳感器中得到的數(shù)據(jù)進行判別,以實時的方式選擇送藥車輛運行路線[4-5]。
若是七路灰度傳感器檢測不到道路,表明送藥智能車到達了門口區(qū)域,這時會自動原地轉(zhuǎn)向進行藥品裝卸。
根據(jù)道路情況,在程序內(nèi)部建立各個病房位置的絕對坐標系和相對于小車位置的相對坐標系,主控制器根據(jù)接收到灰度傳感器的數(shù)據(jù)和電機編碼器的值進行計算,得出送藥智能車此刻位于道路的位置,通過送藥智能車自身傳感器配以PID算法產(chǎn)生中斷對指令的執(zhí)行進行微調(diào),更好地完成任務(wù)。
4 送藥智能車的控制系統(tǒng)軟件設(shè)計
送藥智能車控制系統(tǒng)軟件主要包括主程序、圖像處理程序、數(shù)字識別程序、自動尋徑程序、雙車通信程序等,限于篇幅,在此僅介紹主程序。系統(tǒng)程序流程圖如圖10所示。
5 結(jié)束語
本次設(shè)計的醫(yī)用送藥智能車具有自主避障、自動循跡、藥房和病房的自動識別等功能,實現(xiàn)了藥房與病房之間藥品及其他檢測樣本的精準投送,減輕了醫(yī)護人員的勞動強度,提高了工作效率。