范海心 朱海龍 程松仁 陶應(yīng)誠
摘要:本項目選用32位高速微處理器MK66FX,采用麥克納姆輪全向車模,為其設(shè)計了以單片機(jī)為核心的主板和電機(jī)驅(qū)動等硬件電路,再通過軟件編程使其運(yùn)行。在電機(jī)上安裝編碼器測速,以此進(jìn)行閉環(huán)控制。循跡的功能由 OpenMV 模塊來實現(xiàn)。經(jīng)過了圖像識別和路徑擬合,接下來使用 PID 算法控制輪子差速。如果有陽光直射,通過在攝像頭上增加濾光片,并對圖像進(jìn)行濾波處理。
關(guān)鍵詞:麥克納姆輪;單片機(jī);OpenMV;圖像識別
21世紀(jì)是信息化和自動化的世紀(jì),人們的生活在方方面面都得到了極大的便利。隨著攝像頭和處理器性能的提高、圖像處理算法的進(jìn)步,機(jī)器視覺在很多領(lǐng)域已經(jīng)超過人眼識別的效率和準(zhǔn)確率。以圖像處理為核心設(shè)計的智能小車,正是無人駕駛汽車的初步實現(xiàn)。本文主要介紹智能小車的研究與設(shè)計,分為硬件設(shè)計和軟件編程進(jìn)行闡述。
1.? 設(shè)計目標(biāo)和研究方向
設(shè)計一輛能夠自動尋找目標(biāo),對其快速定位繼而移動到附近的車模, 并在追尋目標(biāo)過程中避開前方障礙。為了完成此目標(biāo),一是選取合適的車模、傳感器、處理器;二是完成硬件電路的設(shè)計、制作和焊接;三是硬件的安裝和機(jī)械結(jié)構(gòu)的調(diào)整;四是對軟件的編程,以實現(xiàn)和優(yōu)化功能。
2.? 系統(tǒng)層面方案設(shè)計
追尋目標(biāo)和避開障礙的任務(wù),對車模的加減速和靈活特性有著很高的要求,因此選取基于麥克納姆輪,可以實現(xiàn)前行、橫移、斜行、旋轉(zhuǎn)及其組合等運(yùn)動方式的全方位式移動車模:北京科宇公司出品的 H 車模,材質(zhì)堅固,尺寸為25*20*16.9cm,小巧而輕便,非常適合用于此項目的開發(fā)設(shè)計。
由于需要對速度進(jìn)行精確控制,高精度的速度測量和盡可能短的控制周期,傳統(tǒng)流行的8位單片機(jī)的計算能力和主頻難以滿足。經(jīng)過對價格、開發(fā)成本、性能的綜合考慮,我們采用恩智浦公司的32位單片機(jī)MK66FX 為核心微處理器。該單片機(jī)的主頻最高可達(dá)200Mhz;144腳的封裝,IO 資源豐富;使用 C 語言編程,官方配備各個模塊的庫函數(shù),開發(fā)效率高。
圖像處理采用 OpenMV 模塊,該模塊使用 MicroPython 編程,可以完成識別目標(biāo)的任務(wù)后通過串口發(fā)送結(jié)果到單片機(jī),攝像頭和單片機(jī)各司其職,接口變量簡潔清晰,做到了設(shè)計上的高內(nèi)聚,低耦合。需要避開的障礙各種各樣,統(tǒng)一使用攝像頭識別幾乎是不可能完成的,因此使用紅外測距模塊,安裝在車模前方,以距離判斷是否有障礙。
綜上,該系統(tǒng)由三個部分組成:檢測采集系統(tǒng)、信號處理系統(tǒng)和控制系統(tǒng)。檢測系統(tǒng)系統(tǒng)包括:攝像頭和紅外測距儀對外界信息的采集、編碼器對輪子轉(zhuǎn)速的采集。信號處理部分采用是恩智浦公司的 MK66FX 作為主控芯片,對取得的信號進(jìn)行快速處理??刂葡到y(tǒng)是通過主控芯片輸出的信號來控制電機(jī)的轉(zhuǎn)速,四個麥克納姆輪差速,速度融合實現(xiàn)全向移動。
3.? 電路硬件設(shè)計
3.1???? 電源管理
電池使用2S 航模電池,電池電壓直接通過驅(qū)動模塊給電機(jī)供電;3.3V電壓是保證 K66芯片以及編碼器等外設(shè)的供電需求,應(yīng)用線性穩(wěn)壓芯片代替開關(guān)電源芯片,電路供電更加穩(wěn)定,AD 采集更加準(zhǔn)確,我們運(yùn)用了 TPS7333線性穩(wěn)壓芯片,效果比較穩(wěn)定。5V 電壓是保證 OpenMV 和測距模塊的供電需求。采用兩塊 TPS7350線性穩(wěn)壓芯片進(jìn)行穩(wěn)壓。
3.2???? 外設(shè)選取
為了減少車輛負(fù)載,測速模塊采用體積較小的512線 mini 編碼器;在調(diào)試時必要的會需要對行進(jìn)時實時數(shù)據(jù)進(jìn)行監(jiān)測,運(yùn)用藍(lán)牙模塊可以很方便的實現(xiàn);OLED 屏幕對菜單顯示,配合五向按鍵可以方便調(diào)節(jié)參數(shù)。實際設(shè)計中我們使用了三個 GP2D12紅外傳測距感器,用來判斷車前進(jìn)方向是否有障礙物。
3.3???? 主板設(shè)計
主板以 MK66FX 核心板為中心,引出需要用到的引腳,設(shè)計各個外設(shè)需要的接口電路,再放置前文提到的電源管理芯片,為單片機(jī)和外圍器件供電。
3.4???? 驅(qū)動板設(shè)計
雙路 BTN7971b 組建全橋電機(jī)控制電路,最大電流可達(dá)70A,很好地滿足要求。并利用74ls244邏輯緩沖芯片將 PWM 波與單片機(jī)隔離,有效保護(hù)單片機(jī)。由于車模有四個電機(jī),需要8個 BTN7971b 芯片來搭建驅(qū)動板。
3.5???? 機(jī)械結(jié)構(gòu)和安裝
H 型車模預(yù)留有電池的安裝槽,且貼合了降低重心、貼近地盤的要求。H 型車模共四個電機(jī),因為電路板體積的限制,我們設(shè)計了兩塊驅(qū)動板以驅(qū)動電機(jī),分別靠近電機(jī)安裝在車模的頭部和尾部,至于主板直接安裝在電池上方。驅(qū)動板和主板都使用 M3銅柱和螺母固定。為了更好地固定編碼器,我們制作了支架,將其固定在電機(jī)的車輪側(cè)邊。
攝像頭越高,視野越寬廣,利于處理;然而,攝像頭越高,會導(dǎo)致攝像頭車模行駛時的抖動,影響控制精度,不利于車模行駛。經(jīng)過各種嘗試,把攝像頭安裝在20厘米處,實際效果較好。
4.? 軟件編程實現(xiàn)效果
4.1???? 底層代碼
商家在出售核心板時贈送芯片的模塊使用例程和庫函數(shù),大大方便了我們的開發(fā)和使用。首先閱讀和調(diào)試?yán)?,學(xué)會使用庫函數(shù),將控制的引腳對應(yīng)到自己設(shè)計制作的主板上的實際引腳測試功能。測試完所有的所需功能后,為了使代碼的邏輯更加清晰,可讀性和可維護(hù)性更強(qiáng),將庫函數(shù)進(jìn)行二次封裝,實現(xiàn)高度集成的函數(shù)。
4.2???? PID 控制
每個電機(jī)的實際性能不同,每個輪子的實際阻力也不同,若簡單的采用開環(huán)控制,給所有電機(jī)相同的占空比,就會出現(xiàn)實際速度不同的情況,即目標(biāo)速度和設(shè)定速度有差異;再加上麥克納姆輪的特性,速度不正確,方向也不會正確,所以需要通過閉環(huán)動態(tài)控制,使輪子可以實時達(dá)到設(shè)定的轉(zhuǎn)速。電機(jī)控制一般采用PID 算法,單片機(jī)這種離散系統(tǒng)適用的 PID 算法有增量式PID 和位置式 PID。由于增量式 PID 相對于位置式PID 有明顯的優(yōu)勢,所以我們選擇增量式 PID 作為速度控制算法,用編碼器獲取速度作為反饋量,每5ms 實現(xiàn)一次閉環(huán)控制。
4.3???? 圖像處理
我們采用 OpenMV 來采集場地中的目標(biāo)信息,兼顧圖像質(zhì)量和芯片處理速度,設(shè)置圖像分辨率為彩色 QVGA,采集到的圖像大小為320*240,幀率約為30。攝像頭采集的圖像可能受各種因素影響,要通過調(diào)節(jié)曝光時間、像素時鐘等方式獲得最佳圖像。利用 OpenMV 的彩色識別算法,通過細(xì)調(diào)LAB 閾值來捕獲目標(biāo)發(fā)出的紅光,提取所捕獲到的紅色色塊的中心坐標(biāo)和色塊大小發(fā)送給單片機(jī)。
4.4???? 路徑規(guī)劃
中心坐標(biāo)即目標(biāo)的坐標(biāo)來確定小車前進(jìn)方向,色塊大小即小車距離目標(biāo)的距離大小的反映。為了避免撞到目標(biāo),距離遠(yuǎn)時速度較快,距離近時速度較慢,并在抵達(dá)目標(biāo)后停下,尋找下一個目標(biāo)。如果在追尋目標(biāo)的過程中遇到障礙物,先橫移避開障礙物,直到檢測不到障礙物后返回原先路徑。
5.? 結(jié)語
本文從整體、硬件、軟件方面介紹了車模的設(shè)計和制作方案。硬件方面,我們綜合考慮車模的需求設(shè)計了穩(wěn)定可靠的電路和較為完善的機(jī)械結(jié)構(gòu)。軟件方面我們力求優(yōu)美的行駛路徑,多次優(yōu)化識別算法和避障策略,不斷地調(diào)試和修改參數(shù),最終讓車??梢暂^好的完成任務(wù)。
參考文獻(xiàn):
[1] 張禹,朱光召.基于麥克納姆輪的全方位移動平臺技術(shù)研究[J]. 現(xiàn)代制造技術(shù)與裝備,2017(2).
[2] 吳強(qiáng),韓震宇,李程.基于增量式 PID 算法的無刷直流電機(jī) PWM 調(diào)速研究[J]. 機(jī)電工程技術(shù),2013(03):63-65.
[3] 許莉,王敏,溫月.基于 Lab 顏色空間的運(yùn)動目標(biāo)檢測[J]. 華中科技大學(xué)學(xué)報(自然科學(xué)版),2013(s1).
創(chuàng)新訓(xùn)練項目:基于高速微處理器及智能攝像頭控制的循跡機(jī)器人設(shè)計與實現(xiàn)(編號:201910378204)