陳超,周向學,黃睿,龍宇旗,張強群,許建明
(邵陽學院 信息科學與工程學院,湖南邵陽,422000)
隨著互聯網和電子商務的蓬勃發展,人們對于快速、高效的商品配送需求不斷增加。傳統的人工配送方式已經無法滿足大規模、高頻次的配送需求。傳統的商品配送通常需依賴人工操作,但隨著勞動力成本的上升和勞動力供應的短缺,傳統的人工配送方式面臨諸多挑戰。伴隨著計算機視覺技術的飛速進步,特別是深度學習和神經網絡的應用,機器在圖像識別、目標檢測和場景理解等方面取得了顯著的突破。這為商品配送機器人提供了更準確、高效地感知和決策能力。
嵌入式微控制器作為一種具有強大數據處理能力的微型計算機系統,可實現高復雜度、實時性要求高的任務。在本設計中,以圖像處理模組獲取路徑信息,以嵌入式微控制器作為主要的邏輯控制單元,實現數據采集、分析、處理。基于機器視覺技術的商品配送機器人可以提升商品配送效率,降低配送成本,提高配送準確性,滿足電子商務快速發展的配送需求,解決人力成本上升和勞動力短缺的問題,并利用機器視覺技術的快速發展提供更高效、準確的商品配送方案。
本設計采用STM32F103 芯片作為主控制器,驅動射頻感應、超聲波模塊、電機編碼器、觸摸屏、數字舵機、語音播報等多個模塊,由射頻感應模塊獲取機器人當前位置,超聲波測距模塊和攝像頭完成障礙物檢測,電機編碼器獲取機器人當前速度以便完成速度控制,圖像處理模組識別路線,采用觸摸屏完成智能交互,使用WiFi 模組作為機器人與手機軟件的溝通橋梁,數字舵機控制商品柜門的開關,驅動直流電機完成運動控制,語音播報模組完成語音提示。系統結構框圖如圖1 所示。

圖1 系統結構框圖

圖2 超聲波模塊通信時序圖
在本次設計中,微控制器需要驅動的模塊有射頻感應模塊、超聲波模塊、帶編碼器的直流電機、圖像識別模組、顯示屏、舵機等,使用到SPI、UART、I2C 等通訊協議,涉及通用輸入輸出端口、高級定時器、串行通信、外部中斷等多種外設。主控芯片需要與各模塊完成通信,讀取傳感器輸入的信號,并對數據進行分析處理,再控制執行機構完成輸出。
STM32F103 微控制器是意法半導體推出的一款32 位ARM Cortex-M3 內核的微控制器產品系列,廣泛應用于各種嵌入式系統和物聯網設備中。STM32F103 微控制器采用ARM Cortex-M3 處理器內核,工作頻率可高達72MHz,具有較高的計算能力和執行效率。其支持標量乘法、硬件乘加指令,以及支持單周期乘法和32 位除法指令,提供了強大的運算能力。STM32F103 微控制器具有靈活的存儲器配置,包括閃存(Flash)和隨機存儲器(SRAM)。閃存容量可達到64KB 至512KB,其中部分型號還支持雙閃存和擴展閃存接口,滿足不同應用的存儲需求。SRAM 容量一般在20KB 至64KB 之間。該系列微控制器配備了豐富的外設接口,包括通用輸入輸出端口(GPIO)、串行通信接口(USART、SPI、I2C 等)、模數轉換器(ADC)、定時器(TIM)、PWM 輸出、高級控制定時器(HRTIM)等。這些外設接口可用于連接和控制各種傳感器、執行器和通信設備。總之,STM32F103 系列芯片具有極強的數據處理能力,可輕松應對高復雜應用場景,非常適合作為本項目的主控芯片。
K210 機器視覺模組是一種基于RISC-V 架構的嵌入式人工智能視覺處理模塊,其采用雙核64 位RISC-V 處理器,主頻高達400MHz,具備較高的計算性能和數據處理能力。內置了豐富的硬件加速器,包括圖像傳感器接口、DMA 控制器、FFT 加速器等,可實現高效的圖像采集、數據傳輸和信號處理。芯片內置了專用的神經網絡處理單元KPU,支持快速高效地執行卷積神經網絡(CNN)等機器學習算法,實現實時圖像識別和分析。模組提供多種常用接口,如UART、SPI、I2C、GPIO 等,方便與其他設備進行通信和連接。還支持主流的深度學習框架和算法,如TensorFlow Lite、Caffe 等,可以進行圖像分類、物體檢測、語義分割等任務。
超聲波模塊是一種用于測距和探測障礙物的傳感器,利用超聲波技術工作。它由發射器和接收器組成,發射器發射通過電子脈沖激勵發射器產生的高頻聲波,接收器接收到由目標物體反射回來的超聲波信號。通過測量超聲波信號發送和接收之間的時間差,就可以計算出目標物體與傳感器之間的距離。在本設計中采用HC-SR04 超聲波測距模塊,它可提供2 ~400cm 的非接觸式距離感測功能,通過一階卡爾曼濾波器后可以得到更為準確的結果。本項目使用超聲波測距模塊獲取配送機器人與障礙、行人等物體的距離。
電機霍爾編碼器是一種用于測量電機轉動位置和速度的傳感器。它使用霍爾效應原理,通過感應電磁場的變化來確定電機軸的位置和運動狀態。電機霍爾編碼器通常由兩部分組成:一個固定的磁極和一個安裝在電機軸上的霍爾傳感器。磁極通常固定在電機底座或轉子上,而霍爾傳感器則位于與磁極相對的位置。當電機轉動時,磁極會經過霍爾傳感器,改變傳感器所感應到的磁場狀況。霍爾傳感器會根據這些磁場變化產生相應的電壓信號,并將其轉換為數字脈沖信號。使用編碼器可以對電機位置和速度進行準確控制。
L298N 芯片是一種常用的電機驅動芯片,內部集成了雙全橋驅動器,可以用于控制直流電機或步進電機的轉動。L298N 芯片具有兩個全橋驅動通道,每個通道可控制一個直流電機或步進電機。它可以接受來自微控制器或其他控制器的脈沖寬度調制(PWM)信號,并根據輸入信號控制電機的轉速、方向和制動。芯片能夠提供最大2A 的電流輸出,并具有較低的輸出電壓降。通過使用外部散熱器,它可以保持較低的工作溫度。芯片的控制接口包括使能端口(ENA、ENB)和方向端口(IN1、IN2、IN3、IN4)。通過設置使能端口和方向端口的狀態,可以實現對電機的控制和操作。其擁有工作電壓高、輸出電流大、驅動能力強、發熱量低、抗干擾能力強等特點。
觸摸屏是一種用于輸入和控制的電子顯示技術。它可以將用戶的觸摸動作轉換為電信號,以實現與設備、應用程序或系統的交互。在本項目中采用電容式觸摸屏,其由玻璃面板和傳感電極組成,觸摸時會改變電容值,通過測量電容變化來確定觸摸的位置。電容式觸摸屏具有靈敏度高、透明性好、精度高、耐用性強、抗污染和易清潔等特點。在本項目中使用高清觸摸屏可為用戶提供直觀、便捷、交互性強的使用體驗,使用戶能夠通過簡單的觸摸操作來進行輸入、瀏覽、導航和控制,大大提高了用戶的操作效率和便利性。
系統軟件執行流程圖如圖3 所示。

圖3 軟件執行流程圖

圖4 路徑識別軟件流程圖

圖5 PID 控制器結構

圖6 姿態信息可視化顯示
先利用攝像頭進行視頻采集,轉換成靜態幀信號,由K210 芯片對拍攝到的圖像進行噪聲去除、圖像增強、邊緣檢測等預處理操作,提取路徑信息判斷路徑范圍,將提取到的特征與已知路徑模板特征進行匹配,對有效目標圖像進行閾值分隔,設置左右畫面感興趣區域,之后對閾值分割后的有效圖像實行快速線性回歸算法,將過道路徑的特征線段與中線的誤差返回,由主控芯片的串級閉環控制算法自動控制機器人的運動。
直流電機在電壓、電流、磁場、負載的影響下運行是不穩定的,為了實現對電機的精準控制,就需要對電機完成閉環控制。PID 控制器是一種經典的反饋控制算法,用于調節和控制系統中的過程變量。本設計采用串級PID 閉環控制算法實現對機器人的運動控制,它由兩個PID 控制器進行級聯實現。內環為速度環,微控制器讀取電機編碼器數據來獲取機器人當前速度,并將其作為速度環的當前值,以當前值與目標值之差作為誤差值,在內環PID 控制器的作用下,將自動對速度進行動態調整,使速度誤差趨于零;外環為角度環,圖像處理模組將識別當前位置與目標路徑角度偏差,將偏差值作為外環PID 控制器的輸入以實現對機器人的運動路線控制。
九軸加速度陀螺儀是一種集成了加速度計、陀螺儀和磁力計的傳感器,加速度計負責測量物體在三個軸向上的線性加速度。陀螺儀則用于測量物體繞著三個軸旋轉的角速度,磁力計來確定物體的朝向,它可以感知物體的轉動或旋轉運動,并提供關于旋轉速度和方向的數據。本項目采用MPU9250 九軸加速度陀螺儀,將加速度計、陀螺儀和磁力計的測量結果經過卡爾曼濾波器后再進行姿態融合,可以得到機器人在三維空間中的姿態角,通過獲取機器人當前的姿態信息,以檢測機器人的運動姿態或跌倒狀況的發生。
射頻感應模組是一種集成了射頻通信功能的硬件設備,用于接收和發送射頻信號,在本設計中使用射頻識別技術感應標簽、卡片等標記物來定位機器人的位置。本設計使用的射頻感應模組(RC522),將其安裝在機器人底部,感應區朝向地面,距地約3cm,并在地面放置提前寫入特定數據的IC 卡,這樣當機器人感應到不同的IC 卡時,即可讀取數據來確定自己的位置。STM32將該位置數據通過ESP8266芯片發送至物聯網云平臺,手機軟件通過MQTT 協議接收此數據并顯示。
采用ESP32 芯片獲取OV2640 攝像頭數據。使用適當的庫函數初始化攝像頭模塊,并設置攝像頭的參數和分辨率。使用JPEG 庫函數對攝像頭捕獲到的圖像進行壓縮編碼。將連續捕獲的圖像幀打包成視頻流。將壓縮編碼后的圖像數據通過WiFi 連接發送到目標設備或服務器。可以使用ESP32 的TCP 或UDP 庫函數進行網絡傳輸。將圖像數據分割為小的數據包,并逐個發送至物聯網云平臺,在手機APP 上通過互聯網訪問該云平臺端口,對數據進行相應的解碼和處理,以還原圖像,即可實現在手機上獲得攝像頭的實時畫面。
該項目配備在線點單軟件與后臺控制軟件,為實現手機軟件與機器人之間的通信,本設計采用物聯網技術作為二者之間溝通的橋梁。三者之間通過物聯網云平臺完成數據互通。物聯網云平臺是一種用于管理、連接和處理物聯網設備和數據的云服務平臺。它提供了一系列功能和工具,用于實現物聯網設備的集中管理、數據處理和應用開發。MQTT 協議是物聯網通信的核心協議之一,具有設計簡單,低帶寬、低功耗和消息推送實時性強等特點,本項目中三者通信均采用MQTT 協議,通信方案圖如圖7 所示。

圖7 物聯網通信方案
配送機器人完成初始化后,將自動連接物聯網云平臺并訂閱指定主題,使用手機在在線點單APP 上完成點單后,軟件向物聯網云平臺發送攜帶商品信息、配送地址等信息的JSON 字符串。圖8 測試圖顯示配送機器人成功連接上物聯網云平臺,并成功接收到手機端發送的攜帶訂單信息的JSON 字符串。

圖8 MQTT 協議測試
機器視覺模組經過一系列處理后可識別路徑,并得到機器人與目標路徑的角度偏差值,測試結果如圖9 所示。

圖9 識別路徑
本設計結合嵌入式、物聯網、機器視覺、人工智能等技術,綜合了嵌入式微控制器、傳感器、顯示屏、視覺處理模組的使用,完成了基于機器視覺技術的商品配送機器人的設計,使用STM32 微控制器驅動各種硬件模塊,實現各種傳感器數據的讀取,和對數據進行處理分析,使用K210 圖像識別處理模組完成了路徑檢測與角度誤差獲取,完成了手機端軟件與商品配送機器人之間的通信與控制。使用串級PID閉環控制算法對配送機器人進行精準的運動控制,通過物聯網云平臺完成了機器人前方畫面的實時圖像傳輸。本設計基于機器視覺技術實現了商品配送機器人的基本功能,可完成室內商品配送任務。