譚子怡,李超逸,佟金宇,薄佩玉,倪笑宇
(河北建筑工程學(xué)院,河北 張家口 075000)
消毒機(jī)器人作為機(jī)器人的一種,主要應(yīng)用于廚房的餐具消毒、醫(yī)院科室紫外線消毒、集裝箱等長期密閉空間消毒等大范圍繁重的工作中,極大減輕了人工的工作量[1]。本文主要研究一種共協(xié)式超聲波消毒定位機(jī)器人。機(jī)器人使用超聲波傳感器可以自動避障和規(guī)劃路線。機(jī)器人使用單片機(jī)和物聯(lián)網(wǎng)技術(shù)實現(xiàn)智能運輸、自動消毒和控制消毒的功能。
依據(jù)共協(xié)式超聲波消毒定位機(jī)器人的系統(tǒng)需實現(xiàn)的具體功能,系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
對于公共場所的無接觸式噴灑消毒,設(shè)計者需要考慮到避障和完整的區(qū)域規(guī)劃,防止撞擊到移動物以及防止被踩踏。對于消毒區(qū)域的規(guī)劃,設(shè)計者需要考慮噴灑區(qū)域不可重復(fù),以避免浪費以及遺漏消毒的范圍。系統(tǒng)設(shè)計使用紅外線傳感器、超聲波傳感器等組成循跡和避障模塊[2]。
控制系統(tǒng)主要有工控機(jī)、Android移動客戶端和機(jī)器的下層控制單元等。工控機(jī)和主控制器組成云端交互系統(tǒng),實現(xiàn)將機(jī)器采集的數(shù)據(jù)在更大的運行處理器上運行處理,降低機(jī)器搭載的處理器的工作負(fù)荷;實現(xiàn)無人操縱時的自動管理控制機(jī)器運行;實現(xiàn)將Android移動客戶端的人工遠(yuǎn)程控制進(jìn)行解析并發(fā)送給機(jī)器,以及將機(jī)器的實時狀態(tài)反饋給Android移動客戶端。Android移動客戶端使用自帶Spinner,TextView和toolbar等控件實現(xiàn)一些簡易的人機(jī)交互、輸入一些可實現(xiàn)的人為控制命令??刂破髂K和無線傳輸模塊組成的機(jī)器下層控制單元,實現(xiàn)將被控單元所采集的數(shù)據(jù)進(jìn)行轉(zhuǎn)換并傳輸給云端上層交互系統(tǒng)進(jìn)行處理;實現(xiàn)接受和處理云端上層交互系統(tǒng)所發(fā)來指令并發(fā)送給相應(yīng)的被控單元[3]。
控制器模塊選擇MCS-51單片機(jī)和3塊繼電器,模塊的系統(tǒng)性能可以滿足系統(tǒng)數(shù)據(jù)采集及時間精度的要求。驅(qū)動模塊由PWM調(diào)速、4個減速馬達(dá)和L293D芯片組成。電機(jī)采用634JSX31ZY蝸桿減速電機(jī)。尋跡模組包含一組紅外發(fā)射接收管、LM324尋跡模塊、滑動變阻器。無線傳輸模塊采用型號為E16-01-00的GPRS模塊,并使用HTTP通信協(xié)議進(jìn)行數(shù)據(jù)傳輸。消毒噴灑模塊由水箱、水泵、管道和噴嘴組成。
系統(tǒng)作業(yè)流程如圖2所示,云端系統(tǒng)根據(jù)錄入的需要消毒的場所的平面結(jié)構(gòu)等,來規(guī)劃消毒機(jī)器人預(yù)定的行進(jìn)路線,然后將指令下達(dá)給消毒機(jī)器人,消毒機(jī)器人開始作業(yè);在作業(yè)過程中,消毒機(jī)器人將遇到的循跡和避障過程交由云端控制器處理并做出正確行動;消毒機(jī)器人依據(jù)實際情況將作業(yè)過程和結(jié)果儲存并傳輸在云端,包括是否遇到死角等;系統(tǒng)檢驗報告單是否已儲存且可以正常調(diào)取后,消毒機(jī)器人開始清洗管路,防止設(shè)備被腐蝕。在完整工作過程中,Android端用戶可以檢測運行狀態(tài)以及下達(dá)新的需求給云端處理器,云端會重新規(guī)劃用戶要求路線,之后發(fā)送指令給消毒機(jī)器人,來完成新的需求。
圖2 系統(tǒng)工作流程
控制系統(tǒng)采取主從結(jié)構(gòu)設(shè)計,上下位機(jī)之間采用RS232串口連接,TCP協(xié)議通信,實現(xiàn)GPRS公網(wǎng)無線數(shù)據(jù)傳輸。安裝有GPRS的工控機(jī)為云端主控制器,負(fù)責(zé)人機(jī)交互,接收人工操作命令,并與下位機(jī)和安卓端實時通信;Android端則使用基于TCP協(xié)議傳輸層的HTTP協(xié)議;基于MCS-51單片機(jī)的主控制器為下位機(jī),負(fù)責(zé)數(shù)據(jù)采集和命令執(zhí)行。同時,采用在工控機(jī)掛載模擬量采集模塊的方式,彌補(bǔ)主控制器端口不夠的缺點。系統(tǒng)工作時上位機(jī)按照設(shè)定的時間間隔查詢下位機(jī)狀態(tài),人機(jī)交互操作命令則實時發(fā)送至下位機(jī)。
在系統(tǒng)的總體結(jié)構(gòu)上,上機(jī)位使用嵌入式工控機(jī),該機(jī)型可以錄入Win10系統(tǒng)以兼容MCGS通用版工控組態(tài)軟件,可大限度提升產(chǎn)品設(shè)計效率。
下機(jī)位主要包括控制模塊和驅(qū)動模塊??刂颇K主要選擇MCS-51系列單片機(jī)80C52。雖然該芯片系統(tǒng)性能滿足系統(tǒng)數(shù)據(jù)采集及時間精度的要求,但是板卡驅(qū)動力不足。故而,該設(shè)計增加了單獨了驅(qū)動電路板。
紅外傳感器和超聲波傳感器將采集的數(shù)據(jù)傳入單片機(jī),單片機(jī)將數(shù)據(jù)傳至型號為E16-01-00的GPRS模塊,并采用HTTP通信協(xié)議將數(shù)據(jù)傳輸至云端進(jìn)行解析。
軟件系統(tǒng)主要在單片機(jī)開發(fā)板、云端工控機(jī)上進(jìn)行編程。實現(xiàn)功能主要為,云端依據(jù)消毒區(qū)域的地形規(guī)劃路線,機(jī)器人在行進(jìn)過程中依靠超聲波傳感器檢測是否遇到路障,循跡模塊則需要實時檢測機(jī)器人行進(jìn)路線是否與最新規(guī)劃路線相符并及時做出調(diào)整,驅(qū)動模塊需要依據(jù)指令做到轉(zhuǎn)向、前進(jìn)、后退和停止。
在較為空曠且無人的場所,為了減少數(shù)據(jù)傳輸和解析時間成本,機(jī)器人可以在接收云端的路線規(guī)劃后,中斷與上機(jī)位云端之間的數(shù)據(jù)交互而獨立完成消毒作業(yè)。機(jī)器人只需要單片機(jī)完成初步線路接受、循跡模塊的循跡與及時調(diào)整、驅(qū)動模塊正確移動的糾偏以及消毒模塊正常消殺工作。
本文可以實現(xiàn)簡單的數(shù)據(jù)交互和機(jī)器人的避障循跡功能以及多機(jī)器分別操控的功能。筆者提出了利用云端解析運算大部分?jǐn)?shù)據(jù),利用云端所處的強(qiáng)運算能力和散熱來降低機(jī)器人制造中的控制器成本。移動Android客戶端不與機(jī)器人直接進(jìn)行數(shù)據(jù)交互,而是先通過云端使用HTTP協(xié)議的傳送方式,可以提高Android用戶的數(shù)據(jù)安全性且降低了數(shù)據(jù)傳輸成本。