陳超,周向?qū)W,黃睿,龍宇旗,張強(qiáng)群,許建明
(邵陽學(xué)院 信息科學(xué)與工程學(xué)院,湖南邵陽,422000)
隨著互聯(lián)網(wǎng)和電子商務(wù)的蓬勃發(fā)展,人們對于快速、高效的商品配送需求不斷增加。傳統(tǒng)的人工配送方式已經(jīng)無法滿足大規(guī)模、高頻次的配送需求。傳統(tǒng)的商品配送通常需依賴人工操作,但隨著勞動(dòng)力成本的上升和勞動(dòng)力供應(yīng)的短缺,傳統(tǒng)的人工配送方式面臨諸多挑戰(zhàn)。伴隨著計(jì)算機(jī)視覺技術(shù)的飛速進(jìn)步,特別是深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的應(yīng)用,機(jī)器在圖像識(shí)別、目標(biāo)檢測和場景理解等方面取得了顯著的突破。這為商品配送機(jī)器人提供了更準(zhǔn)確、高效地感知和決策能力。
嵌入式微控制器作為一種具有強(qiáng)大數(shù)據(jù)處理能力的微型計(jì)算機(jī)系統(tǒng),可實(shí)現(xiàn)高復(fù)雜度、實(shí)時(shí)性要求高的任務(wù)。在本設(shè)計(jì)中,以圖像處理模組獲取路徑信息,以嵌入式微控制器作為主要的邏輯控制單元,實(shí)現(xiàn)數(shù)據(jù)采集、分析、處理?;跈C(jī)器視覺技術(shù)的商品配送機(jī)器人可以提升商品配送效率,降低配送成本,提高配送準(zhǔn)確性,滿足電子商務(wù)快速發(fā)展的配送需求,解決人力成本上升和勞動(dòng)力短缺的問題,并利用機(jī)器視覺技術(shù)的快速發(fā)展提供更高效、準(zhǔn)確的商品配送方案。
本設(shè)計(jì)采用STM32F103 芯片作為主控制器,驅(qū)動(dòng)射頻感應(yīng)、超聲波模塊、電機(jī)編碼器、觸摸屏、數(shù)字舵機(jī)、語音播報(bào)等多個(gè)模塊,由射頻感應(yīng)模塊獲取機(jī)器人當(dāng)前位置,超聲波測距模塊和攝像頭完成障礙物檢測,電機(jī)編碼器獲取機(jī)器人當(dāng)前速度以便完成速度控制,圖像處理模組識(shí)別路線,采用觸摸屏完成智能交互,使用WiFi 模組作為機(jī)器人與手機(jī)軟件的溝通橋梁,數(shù)字舵機(jī)控制商品柜門的開關(guān),驅(qū)動(dòng)直流電機(jī)完成運(yùn)動(dòng)控制,語音播報(bào)模組完成語音提示。系統(tǒng)結(jié)構(gòu)框圖如圖1 所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
圖2 超聲波模塊通信時(shí)序圖
在本次設(shè)計(jì)中,微控制器需要驅(qū)動(dòng)的模塊有射頻感應(yīng)模塊、超聲波模塊、帶編碼器的直流電機(jī)、圖像識(shí)別模組、顯示屏、舵機(jī)等,使用到SPI、UART、I2C 等通訊協(xié)議,涉及通用輸入輸出端口、高級定時(shí)器、串行通信、外部中斷等多種外設(shè)。主控芯片需要與各模塊完成通信,讀取傳感器輸入的信號,并對數(shù)據(jù)進(jìn)行分析處理,再控制執(zhí)行機(jī)構(gòu)完成輸出。
STM32F103 微控制器是意法半導(dǎo)體推出的一款32 位ARM Cortex-M3 內(nèi)核的微控制器產(chǎn)品系列,廣泛應(yīng)用于各種嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備中。STM32F103 微控制器采用ARM Cortex-M3 處理器內(nèi)核,工作頻率可高達(dá)72MHz,具有較高的計(jì)算能力和執(zhí)行效率。其支持標(biāo)量乘法、硬件乘加指令,以及支持單周期乘法和32 位除法指令,提供了強(qiáng)大的運(yùn)算能力。STM32F103 微控制器具有靈活的存儲(chǔ)器配置,包括閃存(Flash)和隨機(jī)存儲(chǔ)器(SRAM)。閃存容量可達(dá)到64KB 至512KB,其中部分型號還支持雙閃存和擴(kuò)展閃存接口,滿足不同應(yīng)用的存儲(chǔ)需求。SRAM 容量一般在20KB 至64KB 之間。該系列微控制器配備了豐富的外設(shè)接口,包括通用輸入輸出端口(GPIO)、串行通信接口(USART、SPI、I2C 等)、模數(shù)轉(zhuǎn)換器(ADC)、定時(shí)器(TIM)、PWM 輸出、高級控制定時(shí)器(HRTIM)等。這些外設(shè)接口可用于連接和控制各種傳感器、執(zhí)行器和通信設(shè)備??傊?,STM32F103 系列芯片具有極強(qiáng)的數(shù)據(jù)處理能力,可輕松應(yīng)對高復(fù)雜應(yīng)用場景,非常適合作為本項(xiàng)目的主控芯片。
K210 機(jī)器視覺模組是一種基于RISC-V 架構(gòu)的嵌入式人工智能視覺處理模塊,其采用雙核64 位RISC-V 處理器,主頻高達(dá)400MHz,具備較高的計(jì)算性能和數(shù)據(jù)處理能力。內(nèi)置了豐富的硬件加速器,包括圖像傳感器接口、DMA 控制器、FFT 加速器等,可實(shí)現(xiàn)高效的圖像采集、數(shù)據(jù)傳輸和信號處理。芯片內(nèi)置了專用的神經(jīng)網(wǎng)絡(luò)處理單元KPU,支持快速高效地執(zhí)行卷積神經(jīng)網(wǎng)絡(luò)(CNN)等機(jī)器學(xué)習(xí)算法,實(shí)現(xiàn)實(shí)時(shí)圖像識(shí)別和分析。模組提供多種常用接口,如UART、SPI、I2C、GPIO 等,方便與其他設(shè)備進(jìn)行通信和連接。還支持主流的深度學(xué)習(xí)框架和算法,如TensorFlow Lite、Caffe 等,可以進(jìn)行圖像分類、物體檢測、語義分割等任務(wù)。
超聲波模塊是一種用于測距和探測障礙物的傳感器,利用超聲波技術(shù)工作。它由發(fā)射器和接收器組成,發(fā)射器發(fā)射通過電子脈沖激勵(lì)發(fā)射器產(chǎn)生的高頻聲波,接收器接收到由目標(biāo)物體反射回來的超聲波信號。通過測量超聲波信號發(fā)送和接收之間的時(shí)間差,就可以計(jì)算出目標(biāo)物體與傳感器之間的距離。在本設(shè)計(jì)中采用HC-SR04 超聲波測距模塊,它可提供2 ~400cm 的非接觸式距離感測功能,通過一階卡爾曼濾波器后可以得到更為準(zhǔn)確的結(jié)果。本項(xiàng)目使用超聲波測距模塊獲取配送機(jī)器人與障礙、行人等物體的距離。
電機(jī)霍爾編碼器是一種用于測量電機(jī)轉(zhuǎn)動(dòng)位置和速度的傳感器。它使用霍爾效應(yīng)原理,通過感應(yīng)電磁場的變化來確定電機(jī)軸的位置和運(yùn)動(dòng)狀態(tài)。電機(jī)霍爾編碼器通常由兩部分組成:一個(gè)固定的磁極和一個(gè)安裝在電機(jī)軸上的霍爾傳感器。磁極通常固定在電機(jī)底座或轉(zhuǎn)子上,而霍爾傳感器則位于與磁極相對的位置。當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí),磁極會(huì)經(jīng)過霍爾傳感器,改變傳感器所感應(yīng)到的磁場狀況?;魻杺鞲衅鲿?huì)根據(jù)這些磁場變化產(chǎn)生相應(yīng)的電壓信號,并將其轉(zhuǎn)換為數(shù)字脈沖信號。使用編碼器可以對電機(jī)位置和速度進(jìn)行準(zhǔn)確控制。
L298N 芯片是一種常用的電機(jī)驅(qū)動(dòng)芯片,內(nèi)部集成了雙全橋驅(qū)動(dòng)器,可以用于控制直流電機(jī)或步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。L298N 芯片具有兩個(gè)全橋驅(qū)動(dòng)通道,每個(gè)通道可控制一個(gè)直流電機(jī)或步進(jìn)電機(jī)。它可以接受來自微控制器或其他控制器的脈沖寬度調(diào)制(PWM)信號,并根據(jù)輸入信號控制電機(jī)的轉(zhuǎn)速、方向和制動(dòng)。芯片能夠提供最大2A 的電流輸出,并具有較低的輸出電壓降。通過使用外部散熱器,它可以保持較低的工作溫度。芯片的控制接口包括使能端口(ENA、ENB)和方向端口(IN1、IN2、IN3、IN4)。通過設(shè)置使能端口和方向端口的狀態(tài),可以實(shí)現(xiàn)對電機(jī)的控制和操作。其擁有工作電壓高、輸出電流大、驅(qū)動(dòng)能力強(qiáng)、發(fā)熱量低、抗干擾能力強(qiáng)等特點(diǎn)。
觸摸屏是一種用于輸入和控制的電子顯示技術(shù)。它可以將用戶的觸摸動(dòng)作轉(zhuǎn)換為電信號,以實(shí)現(xiàn)與設(shè)備、應(yīng)用程序或系統(tǒng)的交互。在本項(xiàng)目中采用電容式觸摸屏,其由玻璃面板和傳感電極組成,觸摸時(shí)會(huì)改變電容值,通過測量電容變化來確定觸摸的位置。電容式觸摸屏具有靈敏度高、透明性好、精度高、耐用性強(qiáng)、抗污染和易清潔等特點(diǎn)。在本項(xiàng)目中使用高清觸摸屏可為用戶提供直觀、便捷、交互性強(qiáng)的使用體驗(yàn),使用戶能夠通過簡單的觸摸操作來進(jìn)行輸入、瀏覽、導(dǎo)航和控制,大大提高了用戶的操作效率和便利性。
系統(tǒng)軟件執(zhí)行流程圖如圖3 所示。
圖3 軟件執(zhí)行流程圖
圖4 路徑識(shí)別軟件流程圖
圖5 PID 控制器結(jié)構(gòu)
圖6 姿態(tài)信息可視化顯示
先利用攝像頭進(jìn)行視頻采集,轉(zhuǎn)換成靜態(tài)幀信號,由K210 芯片對拍攝到的圖像進(jìn)行噪聲去除、圖像增強(qiáng)、邊緣檢測等預(yù)處理操作,提取路徑信息判斷路徑范圍,將提取到的特征與已知路徑模板特征進(jìn)行匹配,對有效目標(biāo)圖像進(jìn)行閾值分隔,設(shè)置左右畫面感興趣區(qū)域,之后對閾值分割后的有效圖像實(shí)行快速線性回歸算法,將過道路徑的特征線段與中線的誤差返回,由主控芯片的串級閉環(huán)控制算法自動(dòng)控制機(jī)器人的運(yùn)動(dòng)。
直流電機(jī)在電壓、電流、磁場、負(fù)載的影響下運(yùn)行是不穩(wěn)定的,為了實(shí)現(xiàn)對電機(jī)的精準(zhǔn)控制,就需要對電機(jī)完成閉環(huán)控制。PID 控制器是一種經(jīng)典的反饋控制算法,用于調(diào)節(jié)和控制系統(tǒng)中的過程變量。本設(shè)計(jì)采用串級PID 閉環(huán)控制算法實(shí)現(xiàn)對機(jī)器人的運(yùn)動(dòng)控制,它由兩個(gè)PID 控制器進(jìn)行級聯(lián)實(shí)現(xiàn)。內(nèi)環(huán)為速度環(huán),微控制器讀取電機(jī)編碼器數(shù)據(jù)來獲取機(jī)器人當(dāng)前速度,并將其作為速度環(huán)的當(dāng)前值,以當(dāng)前值與目標(biāo)值之差作為誤差值,在內(nèi)環(huán)PID 控制器的作用下,將自動(dòng)對速度進(jìn)行動(dòng)態(tài)調(diào)整,使速度誤差趨于零;外環(huán)為角度環(huán),圖像處理模組將識(shí)別當(dāng)前位置與目標(biāo)路徑角度偏差,將偏差值作為外環(huán)PID 控制器的輸入以實(shí)現(xiàn)對機(jī)器人的運(yùn)動(dòng)路線控制。
九軸加速度陀螺儀是一種集成了加速度計(jì)、陀螺儀和磁力計(jì)的傳感器,加速度計(jì)負(fù)責(zé)測量物體在三個(gè)軸向上的線性加速度。陀螺儀則用于測量物體繞著三個(gè)軸旋轉(zhuǎn)的角速度,磁力計(jì)來確定物體的朝向,它可以感知物體的轉(zhuǎn)動(dòng)或旋轉(zhuǎn)運(yùn)動(dòng),并提供關(guān)于旋轉(zhuǎn)速度和方向的數(shù)據(jù)。本項(xiàng)目采用MPU9250 九軸加速度陀螺儀,將加速度計(jì)、陀螺儀和磁力計(jì)的測量結(jié)果經(jīng)過卡爾曼濾波器后再進(jìn)行姿態(tài)融合,可以得到機(jī)器人在三維空間中的姿態(tài)角,通過獲取機(jī)器人當(dāng)前的姿態(tài)信息,以檢測機(jī)器人的運(yùn)動(dòng)姿態(tài)或跌倒?fàn)顩r的發(fā)生。
射頻感應(yīng)模組是一種集成了射頻通信功能的硬件設(shè)備,用于接收和發(fā)送射頻信號,在本設(shè)計(jì)中使用射頻識(shí)別技術(shù)感應(yīng)標(biāo)簽、卡片等標(biāo)記物來定位機(jī)器人的位置。本設(shè)計(jì)使用的射頻感應(yīng)模組(RC522),將其安裝在機(jī)器人底部,感應(yīng)區(qū)朝向地面,距地約3cm,并在地面放置提前寫入特定數(shù)據(jù)的IC 卡,這樣當(dāng)機(jī)器人感應(yīng)到不同的IC 卡時(shí),即可讀取數(shù)據(jù)來確定自己的位置。STM32將該位置數(shù)據(jù)通過ESP8266芯片發(fā)送至物聯(lián)網(wǎng)云平臺(tái),手機(jī)軟件通過MQTT 協(xié)議接收此數(shù)據(jù)并顯示。
采用ESP32 芯片獲取OV2640 攝像頭數(shù)據(jù)。使用適當(dāng)?shù)膸旌瘮?shù)初始化攝像頭模塊,并設(shè)置攝像頭的參數(shù)和分辨率。使用JPEG 庫函數(shù)對攝像頭捕獲到的圖像進(jìn)行壓縮編碼。將連續(xù)捕獲的圖像幀打包成視頻流。將壓縮編碼后的圖像數(shù)據(jù)通過WiFi 連接發(fā)送到目標(biāo)設(shè)備或服務(wù)器??梢允褂肊SP32 的TCP 或UDP 庫函數(shù)進(jìn)行網(wǎng)絡(luò)傳輸。將圖像數(shù)據(jù)分割為小的數(shù)據(jù)包,并逐個(gè)發(fā)送至物聯(lián)網(wǎng)云平臺(tái),在手機(jī)APP 上通過互聯(lián)網(wǎng)訪問該云平臺(tái)端口,對數(shù)據(jù)進(jìn)行相應(yīng)的解碼和處理,以還原圖像,即可實(shí)現(xiàn)在手機(jī)上獲得攝像頭的實(shí)時(shí)畫面。
該項(xiàng)目配備在線點(diǎn)單軟件與后臺(tái)控制軟件,為實(shí)現(xiàn)手機(jī)軟件與機(jī)器人之間的通信,本設(shè)計(jì)采用物聯(lián)網(wǎng)技術(shù)作為二者之間溝通的橋梁。三者之間通過物聯(lián)網(wǎng)云平臺(tái)完成數(shù)據(jù)互通。物聯(lián)網(wǎng)云平臺(tái)是一種用于管理、連接和處理物聯(lián)網(wǎng)設(shè)備和數(shù)據(jù)的云服務(wù)平臺(tái)。它提供了一系列功能和工具,用于實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備的集中管理、數(shù)據(jù)處理和應(yīng)用開發(fā)。MQTT 協(xié)議是物聯(lián)網(wǎng)通信的核心協(xié)議之一,具有設(shè)計(jì)簡單,低帶寬、低功耗和消息推送實(shí)時(shí)性強(qiáng)等特點(diǎn),本項(xiàng)目中三者通信均采用MQTT 協(xié)議,通信方案圖如圖7 所示。
圖7 物聯(lián)網(wǎng)通信方案
配送機(jī)器人完成初始化后,將自動(dòng)連接物聯(lián)網(wǎng)云平臺(tái)并訂閱指定主題,使用手機(jī)在在線點(diǎn)單APP 上完成點(diǎn)單后,軟件向物聯(lián)網(wǎng)云平臺(tái)發(fā)送攜帶商品信息、配送地址等信息的JSON 字符串。圖8 測試圖顯示配送機(jī)器人成功連接上物聯(lián)網(wǎng)云平臺(tái),并成功接收到手機(jī)端發(fā)送的攜帶訂單信息的JSON 字符串。
圖8 MQTT 協(xié)議測試
機(jī)器視覺模組經(jīng)過一系列處理后可識(shí)別路徑,并得到機(jī)器人與目標(biāo)路徑的角度偏差值,測試結(jié)果如圖9 所示。
圖9 識(shí)別路徑
本設(shè)計(jì)結(jié)合嵌入式、物聯(lián)網(wǎng)、機(jī)器視覺、人工智能等技術(shù),綜合了嵌入式微控制器、傳感器、顯示屏、視覺處理模組的使用,完成了基于機(jī)器視覺技術(shù)的商品配送機(jī)器人的設(shè)計(jì),使用STM32 微控制器驅(qū)動(dòng)各種硬件模塊,實(shí)現(xiàn)各種傳感器數(shù)據(jù)的讀取,和對數(shù)據(jù)進(jìn)行處理分析,使用K210 圖像識(shí)別處理模組完成了路徑檢測與角度誤差獲取,完成了手機(jī)端軟件與商品配送機(jī)器人之間的通信與控制。使用串級PID閉環(huán)控制算法對配送機(jī)器人進(jìn)行精準(zhǔn)的運(yùn)動(dòng)控制,通過物聯(lián)網(wǎng)云平臺(tái)完成了機(jī)器人前方畫面的實(shí)時(shí)圖像傳輸。本設(shè)計(jì)基于機(jī)器視覺技術(shù)實(shí)現(xiàn)了商品配送機(jī)器人的基本功能,可完成室內(nèi)商品配送任務(wù)。