哈爾濱工程大學智能科學與工程學院 黃新源 宋子涵
如今,人工智能正朝著低成本,多功能,高精度等方面發(fā)展,物聯(lián)網技術以及自動駕駛是國內外研究的熱點話題,目前正處在飛速發(fā)展的關鍵階段,且在信息技術飛速發(fā)展,多設備協(xié)同服務下具有廣闊的應用前景。而智能小車作為一種自動化技術的載體,在當今世界的應用也十分廣泛。例如在新冠疫情期間,為防止疫情大范圍傳播,可以使用一種感應互聯(lián)的運輸裝置,將各種物件自動送給所需要的顧客,減少人員接觸,這會對疫情防控帶來很大的幫助。
本文將介紹一種基于stm32單片機且具備多種傳感器感應、物聯(lián)網互聯(lián)等特點的智能運輸裝置。本裝置將搭載stm32f103rct6處理器和OpenMV攝像頭、ESP8266、DHT11溫濕度傳感器、超聲波等模塊,并且基于TCP協(xié)議進行手機終端-整車硬件的聯(lián)網消息交互,實現(xiàn)貨物的智能運輸。
此運輸裝置總體設計分為三大部分,分別為機械結構設計、硬件設計以及軟件設計。機械結構采用可擺式的懸掛底盤并配備麥克納姆輪;主要的硬件結構為stm32f103rct6單片機、OpenMV攝像頭模塊,超聲波測距模塊,ESP8266WiFi模塊,LM2596直流穩(wěn)壓模塊、雙通道直流有刷電機驅動器和MD36N行星減速編碼器電機;軟件設計主要為電機PID控制的程序設計、超聲波避障的程序設計和物聯(lián)網系統(tǒng)的軟件開發(fā)??傮w設計框圖如圖1所示。
圖1 總體設計框圖
此裝置的工作流程大致為:我們將需要運輸的物品放置在此裝置的載物區(qū),然后給系統(tǒng)上電。系統(tǒng)上電后通過WiFi模塊向遠程終端請求連接。操作者通過手機或電腦設備登錄終端,并且WiFi模塊進行配對。配對成功后操作者通過終端向系統(tǒng)發(fā)送工作指令,此裝置開始在相應工作指令下運輸物品。同時OpenMV進入圖像識別狀態(tài),此裝置的運動狀態(tài)會隨著OpenMV識別到的物體的不同而發(fā)生改變。在運輸的過程中,此裝置會將各傳感器采集的數值通過WiFi模塊上傳至手機或電腦終端。如果在運輸的過程中遇到障礙物,此裝置會優(yōu)先執(zhí)行避障功能。當OpenMV識別到相應的結束運輸標志或者終端向此裝置發(fā)出結束指令時,此裝置停止運動,結束運輸。
該輪主要由輪轂和圍繞輪轂的輥子組成,輪轂軸與輥子轉軸呈45°角。其中輥子是一種沒有動力的小滾子,各個小滾子的包絡線為圓柱面,所以該輪能夠連續(xù)地向前和左右滾動。此種運動方式能適應復雜的工作環(huán)境,克服了傳統(tǒng)輪胎轉彎需要較大空間的局限性。麥克納姆輪實物圖如圖2所示。
圖2 麥克納姆輪實物圖
由于在平面幾何中,三點確定一平面,所以一般的四輪小車只能在三個輪胎底部確定的平面內運動。如果地面不是絕對水平,這種結構會導致總有一只輪胎懸空,造成小車的運動受到干擾。擺式懸掛結構的底盤可以有效地解決這一問題。此擺式懸掛結構的底盤由兩塊鋁板和一個改裝后的聯(lián)軸器構成,每塊鋁板的兩側配有兩個麥克納姆輪。由于兩塊鋁板之間可以繞聯(lián)軸裝置轉動,當有一個輪胎懸空時,通過受力轉動此輪會馬上著地,故不會出現(xiàn)輪胎懸空的情況。這種擺式懸掛結構對室外一些環(huán)境復雜的地形會有較強的適應性。
HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度可達3mm,包括發(fā)射器、接收器與控制電路。通常來說,HC-SR04有四個引腳,分別是VCC、GND、trig和echo。在進行硬件連接時,VCC與電源穩(wěn)壓模塊的5v相連,GND與電源穩(wěn)壓模塊的負極相連,trig角與單片機上的一個gpio輸入口相連,echo角與單片機上的一個gpio輸出口相連。
此模塊的使用原理十分簡單。給此模塊上電后,通過單片機的gpio口給echo角一個20us的高電平信號,觸發(fā)此模塊發(fā)出超聲波,并且使此模塊的trig口開始輸出高電平。當此模塊接收到返回的超聲波后,trig口停止輸出高電平,開始輸出低電平。單片機可以通過定時器來測量接收到高電平的時間從而推算出被測量的物體與此模塊之間的距離。
被測量距離(d)=接收到高電平時間(t)*聲速(v)/2。超聲波模塊工作原理圖如圖3所示。
圖3 超聲波模塊工作原理圖
OpenMV是一個開源,成本低,卻功能十分強大的攝像頭模塊。OpenMV以STM32為主控電路板,集成了OV7725攝像頭芯片,內部已經裝載了大量機器視覺算法。使用者用簡單的micopython語法編程就能使用OpenMV的機器視覺功能,包括顏色與形狀辨別、人臉識別、邊緣檢測、目標跟蹤等。只需要幾行簡單的python代碼,使用者就可以將這些視覺功能移植到其他控制系統(tǒng)中所需要的位置。其移植過程具有開發(fā)周期小,成本低,操作簡單且效率較高的特點。
例如,此裝置就需要使用OpenMV進行目標識別。在運輸的過程中,我們會在中途各個關鍵點設置一系列圖標,不同的圖標對應這不同的運動狀態(tài)。例如,如果黃色圓形對應左轉,當OpenMV識別到黃色圓形時,就會向此裝置發(fā)出左轉的指令。OpenMV與32單片機之間使用串口通訊。
雙通道直流有刷電機驅動器每通道具有持續(xù)輸出7A大電流能力,可驅動最高135W的直流電機。此驅動器有兩個電機接口分別連在兩個直流電機的正負極上。此外,此驅動器還有十個控制端口,分別控制兩個電機的制動與旋轉方向。電機接口的強電與控制端口的弱電采用光耦隔離,故在使用時不得將電機端與控制端共地。為了更好的觀察與檢測電機的運動狀態(tài),此驅動器還配備了兩個雙色的指示燈。此驅動器的使用原理框圖如圖4所示。
圖4 雙通道直流有刷電機驅動原理框圖
軟件設計主要由超聲波避障程序、PID算法控制算法程序和物聯(lián)網系統(tǒng)開發(fā)幾個部分構成,總體軟件運行流程圖如圖5所示。
圖5 軟件總體運行流程圖
PID控制算法是控制系統(tǒng)中最為經典的控制算法,也是智能小車電機控制的設計核心,此運輸裝置采用的是速度控制中比較常用的PI控制。P是比例部分,可以成比例地反映系統(tǒng)的偏差信號;I為積分部分,主要用于消除靜差提高系統(tǒng)的無差度,且積分效果與積分時間呈負相關。此裝置的PI控制是一種閉環(huán)的線性控制,我們需要通過個編碼器測量出每個電機和車輪的轉速。將測量出的轉速與給定的轉速做對比并使用pi控制公式算出pwm波的占空比,通過單片機將pwm波輸出給驅動器。
超聲波測距模塊能對距離超聲波400cm范圍內的物體進行距離檢測。當檢測距離小于20cm時,我們認為此超聲波模塊前方存在障礙物。此裝置前部配備有三個并排放置的超聲波模塊,用于無縫檢測障礙物與裝置間的距離。超聲波1號放置在最左部,超聲波二號放置在中間,超聲波三號放置在最右部。我們可以根據三個超聲波模塊檢測到的情況來判斷前方障礙物相對于此運輸裝置的方位,然后自主規(guī)劃路徑進行避障。當障礙物位于此裝置的正前方或者右側時,此裝置選擇向左移動繞過此障礙物。當障礙物位于此裝置的右側時,此裝置選擇向右移動繞過此障礙物。只有當三個超聲波模塊的檢測距離都大于等于20cm時,我們認為一次避障完成。一次避障完成后,此裝置進入正常運輸工作模式,并開始下一次距離檢測。具體避障運動狀態(tài)邏輯表和避障子程序框圖如圖6和圖7所示。
圖6 避障運動狀態(tài)邏輯表
圖7 超聲波避障子程序框圖
ESP826是一款高性能低功耗的串口轉WiFi透傳模塊,通過簡單的AT指令編程能使此模塊連接到互聯(lián)網進行通訊。此裝置實現(xiàn)物聯(lián)網的方式是將ESP-8266WiFi模塊作為客戶端連接到已經開發(fā)好的云服務器平臺上。這樣操作者就可以通過云平臺與此裝置進行通訊,從而實現(xiàn)了此運輸裝置的物聯(lián)網。云服務器平臺的用戶界面以及云服務器平臺與WiFi模塊的通訊內容需要用戶自行設定?,F(xiàn)在常用的云平臺有TLink、機智云、阿里云、深智云等等......此裝置使用的云平臺是TLink。
本文從機械結構,硬件,軟件等三個方面介紹了一種感應互聯(lián)的智能運輸裝置。此裝置以麥克納姆輪、擺式懸掛底盤結構為機械支撐,搭載stm32單片機以及OpenMV、溫濕度傳感器和超聲波等傳感模塊實現(xiàn)對環(huán)境的感知,通過ESP8266模塊和TLink云服務器平臺進行物聯(lián)網系統(tǒng)開發(fā),最終能在特定的環(huán)境下實現(xiàn)對物品的智能運輸,具有一定的實際應用能力。