張印 葉春蘭 周經(jīng)欣 劉茂龍 王鴻翔 石寶金 儲(chǔ)德鋒
摘要:自動(dòng)巡航消毒機(jī)器人能夠適應(yīng)室內(nèi)外復(fù)雜環(huán)境,消毒全過(guò)程無(wú)人值守,節(jié)省醫(yī)護(hù)資源。文章基于視覺(jué)樹(shù)莓派智能車,在Linux操作系統(tǒng)下訓(xùn)練TensorFlow模型,進(jìn)行深度AI學(xué)習(xí),并開(kāi)發(fā)完成端手機(jī)App,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控、自動(dòng)消毒和自動(dòng)巡航三大功能。
關(guān)鍵詞:自動(dòng)巡航;消毒;深度AI學(xué)習(xí);遠(yuǎn)程監(jiān)控
中圖分類號(hào):TP391? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2023)34-0112-04
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)
0 引言
隨著時(shí)代的發(fā)展,大家對(duì)公共衛(wèi)生安全越來(lái)越重視。對(duì)于學(xué)校、醫(yī)院、商場(chǎng)等場(chǎng)景固定的場(chǎng)所,較之于傳統(tǒng)的消毒方式來(lái)說(shuō),機(jī)器人作業(yè)則具有更高的工作效率。特殊時(shí)期下,機(jī)器人自動(dòng)消毒不僅減輕了醫(yī)護(hù)人員的壓力而且還降低了醫(yī)護(hù)人員感染的風(fēng)險(xiǎn);另一方面,節(jié)省下來(lái)寶貴的醫(yī)護(hù)資源,更有利于社會(huì)的統(tǒng)籌安排、集中力量辦大事救急事。
當(dāng)前,機(jī)器人自動(dòng)消毒常用的殺菌手段主要有:霧化消毒過(guò)氧化氫、紫外線殺菌、激光超干殺菌、離子凈化消毒等。機(jī)器人自動(dòng)消毒可以用環(huán)境形式,準(zhǔn)確地認(rèn)準(zhǔn)需要消毒的地方,自動(dòng)進(jìn)行殺菌消毒。
1 系統(tǒng)整體設(shè)計(jì)
自動(dòng)巡航消毒機(jī)器人系統(tǒng)整體設(shè)計(jì)如圖1所示,系統(tǒng)由傳感器、遠(yuǎn)程監(jiān)控、樹(shù)莓派核心控制器、執(zhí)行模塊以及太陽(yáng)能供電五個(gè)部分組成。通過(guò)太陽(yáng)能為整個(gè)消毒機(jī)器人供電,各個(gè)傳感器實(shí)時(shí)實(shí)地檢測(cè)環(huán)境信息、機(jī)器人的自身狀態(tài),檢測(cè)好后將信息傳送到核心控制器,核心控制器將信息處理后,將執(zhí)行命令傳送給實(shí)施單元,實(shí)施單元負(fù)責(zé)機(jī)器人的消毒工作[1]。遠(yuǎn)程遙控模塊可以實(shí)現(xiàn)機(jī)器人和手機(jī)App之間的互傳,機(jī)器人可遠(yuǎn)程傳送信息到App,同時(shí)可以控制機(jī)器人的運(yùn)作。自動(dòng)巡航消毒機(jī)器人系統(tǒng)基于Linux OS和TensorFlow深度學(xué)習(xí)框架,基于 OS遠(yuǎn)程開(kāi)發(fā)監(jiān)控App,在這個(gè)基礎(chǔ)上完成機(jī)器的視覺(jué)、手機(jī)監(jiān)控和自動(dòng)巡航這3種功能。
2 傳感器設(shè)計(jì)
2.1 卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測(cè)
基于廣度的學(xué)習(xí)方法——卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN) 的基礎(chǔ),通過(guò)廣度學(xué)習(xí)獲得非線性基礎(chǔ)較高的語(yǔ)法,分類準(zhǔn)確度的提高,具體檢測(cè)流程如圖2所示。
2.1.1 卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建
按照實(shí)際要求,需要機(jī)器人對(duì)視野目標(biāo)進(jìn)行判斷,并在圖像中標(biāo)記大小與位置的信息。Faster R-CNN(Faster Regions with Convolutional Neural Network)檢測(cè)法在速度和精確度都有較明顯優(yōu)勢(shì)[1]。先提取目標(biāo)區(qū)域,再使用應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)對(duì)候選區(qū)域進(jìn)行分類,再通過(guò)非極大值抑制這個(gè)方法得出圖像中的目標(biāo)的類別與邊界。
本文使用VGG16作為基礎(chǔ)網(wǎng)絡(luò)對(duì)圖片特征信息進(jìn)行提取,將VGG16之后的3個(gè)連接層全部刪除,通過(guò)增加一個(gè)分組無(wú)線網(wǎng)在輸出特征圖后完成目標(biāo)區(qū)域和候選區(qū)域的生成工作。
將特征圖、目標(biāo)區(qū)域、候選區(qū)域傳送至池化層,網(wǎng)絡(luò)使用的是Faster R-CNN內(nèi)容。池化層ROI接收到VGG16提取的特征圖、目標(biāo)區(qū)域、候選區(qū)域后,將特征圖中對(duì)應(yīng)目標(biāo)區(qū)域和候選區(qū)域特征轉(zhuǎn)變?yōu)橄蛄亢烷L(zhǎng)度固定。網(wǎng)絡(luò)被分兩層即是Softmax分類層和邊界框回歸層,完成識(shí)別對(duì)象和修正邊界框的工作,細(xì)化精度去預(yù)測(cè)對(duì)象位置,具體網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
Faster R-CNN先確定目標(biāo)區(qū)域和候選區(qū)域,再對(duì)各個(gè)區(qū)域進(jìn)行識(shí)別,通過(guò)回歸算法來(lái)修正目標(biāo)邊界。RPN層為目標(biāo)區(qū)域和候選區(qū)域,損失函數(shù)為目標(biāo)概率損失疊加邊界框位置損失,其表達(dá)式為:
[L({P},{t})=1NclsiLcls(Pi,P*i)+λ1Nreg×iP*iLreg(ti,ti?)]
在上述方程中i是為RPN中的序列號(hào);Pi為錨框?qū)ο蟾怕?,?dāng)錨框有對(duì)象的時(shí)候,pi*為1,如果錨框沒(méi)有對(duì)象的時(shí)候pi*就為0;其中ti和ti*兩個(gè)分別是預(yù)測(cè)中的位置的預(yù)測(cè)參數(shù)和邊界回歸層的偏移坐標(biāo);Lcls和Lreg分別是各分類層面上的交叉熵的損失函數(shù)及各回歸層之上損失函數(shù)。
[Lreg=R(ti-t*i)][L({P},{t})]
上式中R(x)為絕對(duì)損失函數(shù)smoothL1,其表達(dá)式為:
[R(x)=][0.5x2,|x|≤1|x|≤1,|x|>1]
若錨框中有相對(duì)應(yīng)的對(duì)象,則回歸的損失是用pi*Lreg表明,平衡分類損失Ncls和預(yù)測(cè)損失Nreg,則對(duì)這兩個(gè)損失項(xiàng)進(jìn)行標(biāo)準(zhǔn)化。
[tx=(x-xa)wa,ty=(y-ya)hatw=lg(wwa),th=lg(h*ha)]
[t*x=(x*-xa)wa,t*y=(y*-ya)hatw=lg(wwa),t*h=lg(h*ha)]
表達(dá)式中:x、y和w、h分別作為區(qū)域框的坐標(biāo)及其尺寸;變量xa和x*作為錨框以及窗口回歸層區(qū)域框。由區(qū)域框與錨框的相對(duì)位置得出最終區(qū)域位置。
2.1.2 遷移學(xué)習(xí)
深度卷積神經(jīng)網(wǎng)絡(luò)有很多參數(shù),為了避免出現(xiàn)適應(yīng)現(xiàn)狀,可以通過(guò)增加訓(xùn)練數(shù)據(jù)集的范圍來(lái)進(jìn)行網(wǎng)絡(luò)訓(xùn)練。來(lái)實(shí)現(xiàn)深度卷積神經(jīng)網(wǎng)絡(luò)識(shí)別效果的要求,可用遷移學(xué)習(xí)訓(xùn)練方法,先在另外大規(guī)模數(shù)據(jù)集上訓(xùn)練,得到訓(xùn)練后的模型參數(shù),用初始化本網(wǎng)絡(luò)的參數(shù)值并再次訓(xùn)練,得到原參數(shù)的調(diào)優(yōu)值,反復(fù)迭代后得到更加優(yōu)化的網(wǎng)絡(luò)模型。訓(xùn)練期間,可實(shí)時(shí)觀測(cè)整個(gè)訓(xùn)練過(guò)程中損失函數(shù)的收斂情況。
2.2 滾動(dòng)窗口和人工勢(shì)場(chǎng)路徑規(guī)劃
利用機(jī)器人所裝配的電子監(jiān)控鏡頭取得部分信息,得到升級(jí)后的目標(biāo),在滑動(dòng)窗口內(nèi)規(guī)劃部分路徑并實(shí)現(xiàn)當(dāng)前方法,通過(guò)不間斷地移動(dòng)窗口,取得新的環(huán)境信息資源,從而實(shí)現(xiàn)了升級(jí)和融合反饋。并且使用算法簡(jiǎn)化了二維路徑使之為一維路徑,使用滑動(dòng)窗口全覆蓋地面搜索。當(dāng)前視野若無(wú)待消毒區(qū)域,機(jī)器人則由風(fēng)向傳感數(shù)據(jù)繼續(xù)待消毒區(qū)域作業(yè)。追蹤流程如圖4所示。
另外,若檢測(cè)到區(qū)域內(nèi)無(wú)障礙或者障礙物在安全距離外,機(jī)器人直接直線行進(jìn)至目標(biāo)點(diǎn);若檢測(cè)到路面有障礙,則躲避障礙。本文使用人工勢(shì)場(chǎng)算法VFF(Virtual Field Force),在尋找目標(biāo)的時(shí)候,機(jī)器人規(guī)避障礙,得到最易到達(dá)的路線:將機(jī)器人的實(shí)際環(huán)境變成人為創(chuàng)造場(chǎng)地,使得對(duì)象會(huì)對(duì)機(jī)器人形成一種引力作用;同樣的障礙物對(duì)機(jī)器人的作用相似于斥力場(chǎng)中的斥力,機(jī)器人運(yùn)動(dòng)軌跡由引力與斥力的合力控制。
[Uat(X)=12η(X-Xgoal)2]
[Uat(X)=12k(1p-1p0)2,p≤p00,p>p0]
引、斥力場(chǎng)的表達(dá)式,如下所示:
根據(jù)負(fù)梯度理論,產(chǎn)生的引、斥力分別為:
[Fat=-grad[Uat(X)]=η(X-Xgoal)]
[Fre=-grad[Ure(X)]=k(1p-1p0)]
表達(dá)式中:η、X分別為增加引力和運(yùn)動(dòng)體坐標(biāo);Xgoal為對(duì)象坐標(biāo)(矢量、大小為X-Xgoal、方向?yàn)檫\(yùn)動(dòng)實(shí)物指向兌現(xiàn)的方位);k、p、p0分別為斥力增益系數(shù)、移動(dòng)物體和障礙間的距離、障礙物的影響范圍(正常數(shù))。移動(dòng)物體運(yùn)動(dòng)所受合力及其大小為引、斥力的矢量求和:
[Fsum=Fre+Fat]
2.3 導(dǎo)航定位設(shè)計(jì)
ATGM3325D-5N方位導(dǎo)航模塊可支持北斗系統(tǒng)和GPS導(dǎo)航系統(tǒng)。運(yùn)作時(shí),定位模塊輸出數(shù)據(jù)由串行端口傳輸?shù)街饕刂菩酒?,并完成?jīng)緯度信息的剖析,作為機(jī)器人自動(dòng)巡航、路徑規(guī)劃以及自動(dòng)返航的基礎(chǔ);實(shí)時(shí)定位方向使用陀螺加速度計(jì)和地磁傳感器;中部集合成解算器,可以精準(zhǔn)地輸出環(huán)境下的模塊姿態(tài)。
2.4 避障模塊設(shè)計(jì)
探測(cè)功能使用HC-SR04傳感器實(shí)現(xiàn),通過(guò)舵機(jī)和超聲波實(shí)現(xiàn)避障[2]。舵機(jī)轉(zhuǎn)動(dòng)使得超聲波傳感器能夠?qū)崿F(xiàn)多方位的檢測(cè)。規(guī)避障礙采用了輸出口并使用TRIG進(jìn)行測(cè)量距離,同時(shí)要求至少10μs信號(hào)提供,電子線路模塊輸送40kHz的方形波號(hào),并且需要自動(dòng)進(jìn)行檢驗(yàn)來(lái)返回信號(hào),輸入輸出端口ECHO 輸出一個(gè)高電平信號(hào),所探機(jī)器人和物體的間距離為高電平持續(xù)的時(shí)長(zhǎng)與速度的乘積,超過(guò)最低接觸距離后,小車自動(dòng)后退,舵機(jī)轉(zhuǎn)動(dòng)進(jìn)行其他方位探測(cè)。
2.5 自動(dòng)巡航設(shè)計(jì)
自主導(dǎo)航的構(gòu)建方向主要使用了慣性雷達(dá)探測(cè)技術(shù),通過(guò)兩個(gè)不同的攝影角度,確定機(jī)器人的相對(duì)位置,設(shè)計(jì)工作環(huán)境的圖形并且記錄路線。行進(jìn)過(guò)程中,通過(guò)三維激光雷達(dá)完成精度小于1厘米的環(huán)境定位探索,相對(duì)于單獨(dú)使用視覺(jué)特征所構(gòu)建的地圖,其誤差小,優(yōu)化度高,避障更精確[3]。
3 遠(yuǎn)程監(jiān)控
手機(jī)與智能消毒機(jī)器人之間使用TCP/IP協(xié)議進(jìn)行Socket通信,機(jī)器人可將視頻信息傳送到手機(jī),App可通過(guò)指令完成對(duì)機(jī)器人的操作控制。一方面,通過(guò)手機(jī)App操控機(jī)器人時(shí),機(jī)器人為S端,App端為C端;另一方面,在通過(guò)手機(jī)App查看機(jī)器人所攝視頻時(shí),App端為S端,機(jī)器人則為C端[1]。
在idea軟件平臺(tái)上,使用機(jī)器人的思維流程來(lái)完成客戶端的代碼編寫。如圖5所示,測(cè)試接通機(jī)器端口2000號(hào)和相應(yīng)的IP地址,通過(guò)得到Socket所展示的IO流向機(jī)器人S端獲得信息(如機(jī)器人的返回?cái)?shù)據(jù))或者發(fā)送數(shù)據(jù),并且用Handler來(lái)輸出數(shù)據(jù)。輸入網(wǎng)址,進(jìn)行HTTP連接并驗(yàn)證后,可以查看視頻。
4 RPi核心控制器
Raspberry Pi(RPi) 基于Linux OS,多應(yīng)用于軟件編程、教育工業(yè),體積小巧且功能強(qiáng)大。本文主控中構(gòu)造消毒學(xué)習(xí)、控制、構(gòu)建地圖、連接無(wú)線網(wǎng)、上傳數(shù)據(jù)、缺水報(bào)警、報(bào)告統(tǒng)計(jì)等功能均基于RPi 4b。RPi 4b擁有4個(gè)核心CPU和多媒體控制功能強(qiáng)大。為了實(shí)現(xiàn)與外設(shè)數(shù)據(jù)的連接與傳輸,為RPi 4b引入了 USB 2.0 和 3.0 端口以及Type-C 充電端口[4]。
5 消毒執(zhí)行系統(tǒng)
通過(guò)內(nèi)置的配備藥劑噴頭與紫外線燈的可升降收縮桿,完成消毒機(jī)器人的高度調(diào)節(jié),完成對(duì)目標(biāo)物體表面的紫外線照射和消毒劑噴灑作業(yè)。組件內(nèi)層使用驅(qū)動(dòng)器,接通控制器的輸出口,設(shè)備驅(qū)動(dòng)程序電機(jī)的轉(zhuǎn)動(dòng),使得其能接收處理器的PWM信號(hào),完成對(duì)直流電機(jī)速度的調(diào)節(jié)。消毒劑可選取75%的酒精、H2O2溶液等[3]。如圖6所示。
6 太陽(yáng)能供電系統(tǒng)
太陽(yáng)能電池板能夠?qū)⑻?yáng)能源轉(zhuǎn)化為電能,用于負(fù)載或?qū)㈦娔艽鎯?chǔ)于鉛酸電池中。鉛酸電池運(yùn)行穩(wěn)定、循環(huán)度高,溫度不敏感等優(yōu)點(diǎn)。太陽(yáng)能控制能夠管理鉛酸電池的充放電,優(yōu)化使用效率、智能負(fù)載等[5]。
7 結(jié)束語(yǔ)
本文完成了RPi智能車之上采用ATGM3325D-5N定位導(dǎo)航模塊、HC-SR04 超聲波測(cè)距模塊并搭載舵機(jī),在Linux OS下訓(xùn)練TensorFlow模型并進(jìn)行深度AI學(xué)習(xí),具備消毒執(zhí)行系統(tǒng)、太陽(yáng)能控制系統(tǒng)及手機(jī)遠(yuǎn)程控制系統(tǒng)的自動(dòng)巡航消毒機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)。經(jīng)測(cè)試消毒機(jī)器人能夠利用機(jī)器視覺(jué)技術(shù)自動(dòng)識(shí)別目標(biāo)物體并進(jìn)行紫外線殺菌及噴灑消毒溶液,能夠獨(dú)立完成規(guī)劃巡航線路,適應(yīng)不同環(huán)境。
參考文獻(xiàn):
[1] 湯偉,高涵,劉思洋.基于樹(shù)莓派的小型水域智能垃圾清理機(jī)器人系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2019,19(34):239-247.
[2] 張錚,張江寧,薛竹村,等.循跡避障滅火功能智能小車設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2016,35(11):141-145,205.
[3] 沈家禮,蔣其友,楊環(huán),等.基于樹(shù)莓派的固定路線巡航消毒機(jī)器人設(shè)計(jì)[J].無(wú)線互聯(lián)科技,2021,18(23):57-58.
[4] 馮三槐,陶文華,張華峰,等.樹(shù)莓派自動(dòng)避障小車的消防應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2023,13(4):144-146,149.
[5] 曾升伍,向超,劉波.太陽(yáng)能供電系統(tǒng)設(shè)計(jì)與分析[J].中國(guó)新通信,2020,22(3):157.
【通聯(lián)編輯:謝媛媛】