周宇洋,蔡宇豪,葉紅兵,武泱光,胡安正,黃河
(湖北文理學院 物理與電子工程學院,湖北襄陽,441053)
無人駕駛智能車是一種自動控制的機器人系統(tǒng)。它通常包含多種傳感器,能夠感知周圍環(huán)境,并規(guī)劃自己的路線。在本文中,設(shè)計者提出了一種新型的無接觸貨物配送智能貨物小車,它可以通過樹莓派輸入指定地點,來進行無接觸的物資運輸。這種小車設(shè)計與傳統(tǒng)模式有所不同,通過引入GPS、慣性測量單元和雷達模塊,并通過路徑規(guī)劃和濾波、PID 算法調(diào)節(jié)等處理方式,實現(xiàn)了高效的自動控制。
這款可按多個指定地點自主規(guī)劃路徑無人駕駛智能物流運輸車設(shè)計方案如圖1 所示。其控制系統(tǒng)以MM32F3277微處理器為主控芯片,利用GPS 定位模塊實現(xiàn)導航定位,使得運輸車能夠自動找到目標位置,再利用樹莓派會讀取來自GPS 模塊的數(shù)據(jù),解析出當前的經(jīng)度和緯度坐標樹莓派上的地圖軟件會將這些信息與預(yù)設(shè)的目標點進行比較處理,生成指令發(fā)送主控芯片MM32F3277,然后,再利用激光雷達感知電磁波測距原理、PID 算法等技術(shù)根據(jù)接收到的指令完成自主避障、自動導航和物流運輸任務(wù)。
圖1 系統(tǒng)總體方案框圖
圖2 IR2104 電機驅(qū)動圖
MM32F3277G9P 單片機工作頻率可達120MHz,512KB Flash,128KB SRAM,3 個12 位的 ADC、2 個 12位的DAC、2 個比較器,2 個16 位通用定時器、2 個32 位通用定時器、2 個16 位基本定時器和2 個16 位高級定時器,能夠很好地滿足自主避障、自動導航的需求。
我們采用 IR2104 設(shè)計了一個單路驅(qū)動,控制車模的電機工作,IR2104 是一款高性能的雙通道驅(qū)動芯片,可用于驅(qū)動半橋和全橋直流電機。該電路圖包含兩個 MOSFET 管(Q1 和 Q2),用于控制電機的正轉(zhuǎn)和反轉(zhuǎn)。電機的電源由航模電池提供。輸入信號由 IN 引腳接收,控制 MOSFET 管的開關(guān)狀態(tài)。通過控制 IN 引腳的高低電平來實現(xiàn)電機的正轉(zhuǎn)、反轉(zhuǎn)和停止當 IN 輸入為高電平時,MOSFET 管 Q1 開啟,Q2 關(guān)閉,電機正轉(zhuǎn);當 IN 輸入為低電平時,Q1 關(guān)閉,Q2開啟,電機反轉(zhuǎn);當 IN 輸入為高阻態(tài)時,Q1 和 Q2 都關(guān)閉,電機停止。此外,由于 MOSFET 管的特性,可以使用 PWM波形調(diào)節(jié)電機的轉(zhuǎn)速。
GPS 采用正點原子(ALIENTEK)生產(chǎn)的一款高性能GPS模塊,體積小巧,性能優(yōu)異,搜星能力強。模塊可通過串口進行各種參數(shù)設(shè)置,并可保存在內(nèi)部EEPROM,使用方便。同時模塊自帶可充電后備電池,后備電池可以維持半小時左右的GPS 星歷數(shù)據(jù)的保存,以支持溫啟動或熱啟動,從而實現(xiàn)快速定位[1]。GPS 模塊包括一個GPS 接收機和一個天線,它們用于接收來自衛(wèi)星的信號。GPS 接收機通過計算信號的時間差來確定自身的位置,其原理是利用了光的速度的常數(shù)性。天線的作用是將衛(wèi)星的信號轉(zhuǎn)換成電信號,傳遞給GPS 接收機。
車模部分選用四輪越野車模,如圖3所示,因為整車采用仿真車結(jié)構(gòu)的行星齒輪差速器設(shè)計,使整車的操控性更強,可以更好地應(yīng)對路面的突發(fā)狀況;全車四個輪胎的支架位置均配備由液壓減震彈簧組成的減震結(jié)構(gòu),使整車在坑洼不平的路面也可以保證穩(wěn)定的功率輸出,并且使車模平穩(wěn)運行。
圖3 越野車模圖
GPS 主要由衛(wèi)星星座(空間部分)、地面監(jiān)控系統(tǒng)(地面部分)、GPS 接收機(用戶設(shè)備部分)三大部分組成[2]。衛(wèi)星星座有24 顆衛(wèi)星,其中包括3 顆備用衛(wèi)星。工作衛(wèi)星分布在6 個軌道面內(nèi),軌道平均高度約為20200 千米,軌道傾角為55 度,衛(wèi)星運行周期為11 小時58 分。地面監(jiān)控系統(tǒng)是整個系統(tǒng)的中樞,主要由5 個監(jiān)測站、1 個主控站、3 個注入站組成。GPS 接收機是能夠接收、跟蹤、變換和測量GPS 信號的接收設(shè)備,由主機、天線和電源組成。
GPS 衛(wèi)星定位測量的基本原理是:利用 GPS 接收機在某一時刻同時接收 3顆(或3 顆以上)的GPS 衛(wèi)星信號,用戶利用這些信息測量出測站點至3 顆(或 3顆以上)GPS 衛(wèi)星的距離,并計算出該 時刻 GPS 衛(wèi)星的三維坐標,根據(jù)距離交會原理解算出測站點的三維坐標。然而,由于衛(wèi)星和接收機的時鐘誤差,因此,GPS 衛(wèi)星定位 測量應(yīng)至少對4 顆衛(wèi)星進行觀測來進行定位計算。如圖4 所示可確定四個距離觀測方程[3]。
圖4 對四個衛(wèi)星進行觀測
式中:i=1、2、3、4;C 為 GPS 信號的傳播速度;(Xi,Yi,Zi)為衛(wèi)星的軌道坐標;ti為各個衛(wèi)星的時鐘差;ρi為各個衛(wèi)星到測站點接收機天線的距離。
首先用戶在樹莓派的觸摸屏上輸入目標地點,樹莓派上的地圖軟件會將目標地點轉(zhuǎn)化為經(jīng)緯度信息,當GPS 模塊通電并正常工作時導航衛(wèi)星連續(xù)地發(fā)送自身的星歷參數(shù)和時間信息,模塊在接收到這些信息后,經(jīng)過樹莓派通過上一時刻接收到的經(jīng)緯度和下一時刻接收到的經(jīng)緯度運算處理計算求解出運輸車上GPS 模塊的空間位置并顯示在地圖軟件上,算法思路如下,第一個點的緯度latitude1,第一個點的經(jīng)度longitude1,第二個點的緯度latitude2,第二個點的經(jīng)度longitude2,將第一個點的緯度latistude1 轉(zhuǎn)化為弧度rad_latitude1,其他的同理轉(zhuǎn)化為rad_latitude2,rad_longitude1,rad_longitude2,運輸車行進距離和偏航角用C 語言代碼實現(xiàn)如下:
樹莓派通過分析運輸車的運動狀態(tài)推斷下一刻運輸車所處的位置,并將方向角發(fā)送給主控芯片MM32F3277,從而控制舵機打角,實現(xiàn)指定地點運輸。
在無接觸貨物配送智能貨物小車行駛過程中需要預(yù)設(shè)一個行駛速度上限、倒車速度上限以及靜止速度設(shè)定值,并將這一設(shè)定值與當前小車速度進行匹配.針對轉(zhuǎn)向舵機,需預(yù)先測出其打角至機械左右極限和機械零點對應(yīng)的PWM 波占空比,并將其與方向角的角度進行匹配,實現(xiàn)方向控制的功能.關(guān)于上述 PWM 波占空比的閉環(huán)控制算法,系統(tǒng)采取的是使用廣泛、技術(shù)成熟的PID 控制算法,算法流程圖如圖5 所示。算法的系統(tǒng)函數(shù)如下:
圖5 算法流程圖
圖6 樹莓派初始界面圖
其中,SV為速度設(shè)定值,PV為編碼器所采集到的速度當前值,KP和K1以及K為三個需要設(shè)定的系數(shù)。
樹莓派通過不斷地獲取GPS 經(jīng)緯度信息,將物流運輸車顯示在離線地圖上,樹莓派上選用的離線地圖導航軟件navit,它使用openstreetmaps 作為地圖源,在配置完gpsd 之后只要輸入命令sudo apt-get install navit 就可以下載地圖包了。下載完成后修改部分navit 的配置,把“zoom="256"”改為“zoom="8"”,即地圖的默認縮放級別。地圖比例尺越大,需要加載的數(shù)據(jù)就越多,運算起來越慢,navit 使用一個“地圖集”的概念,可以按地圖格式或者區(qū)域等建立不同的地圖集,每次只能啟用一個地圖集,但是每個地圖集里可以包括很多個不同的地圖文件,通過mapset標簽里的enabled 來打開或者關(guān)閉一個地圖集。這里我們關(guān)閉示例地圖集,打開openstreetmaps 格式地圖集,并指明地圖文件位置,就能將小車的定位顯示在地圖上了,如圖7 所示。
圖7 樹莓派物流運輸車于地圖上顯示
激光雷達物理原理是通過激光雷達的發(fā)射器發(fā)射出一束激光,激光光束遇到物體后,經(jīng)過漫反射,返回至激光接收器,雷達模塊根據(jù)發(fā)送和接收信號的時間間隔乘以光速的2 倍,即可計算出發(fā)射器與物體之間的距離,遠距離測量具有較高的精度[5]。
避障模塊采用的是激光雷達測距模塊,激光雷達測距模塊主要用于測量車子前方距離,單片機根據(jù)所測的距離判斷車子是否遇到了障礙從實現(xiàn)車子的轉(zhuǎn)向。當然智能貨物小車不能只實現(xiàn)正前方的避障而要實現(xiàn)多個方向的避障,激光雷達所測距的方向則根據(jù)激光雷達下面的舵機來實現(xiàn),舵機的控制通過發(fā)送可變寬度或脈沖寬度調(diào)制(PWM)的電脈沖來控制舵機,MM32F3277 控制器產(chǎn)生一個20ms 的脈沖信號,以0.5ms~2.5ms 的高電平來控制舵機的角度,可以使舵機旋轉(zhuǎn)180 度,從而判斷車子所在環(huán)境各個方向的障礙物,更好的實現(xiàn)避障。
利用物聯(lián)網(wǎng)和信息科技的無人駕駛技術(shù)研究和應(yīng)用涉及領(lǐng)域越來越廣泛,本項目主要聚焦的是在疫情影響下如何實現(xiàn)無接觸配送貨物問題。目前,已經(jīng)初步設(shè)計并完成了可按多個指定地點自主規(guī)劃路徑無人駕駛貨物配送智能車整車模型(如圖8 所示),并對相關(guān)物理原理進行了初步探討,起到拋磚引玉的作用,后續(xù)要投入實際應(yīng)用還有很多可研究開發(fā)工作要做,期待大家共同探究、研發(fā)出各種實用的無人駕駛智能車,給人們的生活帶來更多的便利。
圖8 貨物配送智能車實物模型