基于電磁四輪小車的距離積分算法
基金項目:無錫學(xué)院優(yōu)秀本科畢業(yè)論文(設(shè)計)支持計劃,項目編號BSZC2023039
本文引用地址:http://butianyuan.cn/article/202308/449337.htm0 引言
智能車輛技術(shù)的實現(xiàn)主要依靠車內(nèi)以計算機系統(tǒng)為主的智能駕駛儀來實現(xiàn)無人駕駛,涵蓋智能控制、模式識別等學(xué)科前沿?zé)狳c的研究領(lǐng)域,其研究與應(yīng)用具有巨大的理論和現(xiàn)實意義[1]。智能車輛的研究體現(xiàn)了車輛工程、人工智能、自動控制、計算機等多個學(xué)科領(lǐng)域理論技術(shù)的交叉和綜合,是未來汽車發(fā)展的趨勢[2]。智能小車是智能車輛的微縮模型,具有自動尋跡、尋光、避障等功能[3]。
通過采用先進的電磁感應(yīng)傳感器技術(shù),智能循跡小車控制系統(tǒng)可以實現(xiàn)精準的轉(zhuǎn)向,并且可以通過閉環(huán)控制實現(xiàn)自動跟蹤,以確保車輛沿著預(yù)先設(shè)定的路線行駛。本文將深入探討智能循跡小車的硬件、軟件以及控制算法,以期望更好地實現(xiàn)其功能。這個硬件系統(tǒng)由四個部分組成:LQBLEV3M 藍牙模塊、STC16F128K單片機模塊、電機驅(qū)動模塊和電感檢測模塊。通過使用電感來檢測路面的電磁狀態(tài),并將測量數(shù)據(jù)傳輸?shù)絊TC16F128K單片機,從而實現(xiàn)小車的自動循跡和無線遙控等多種功能。
目前主要的智能車控制算法有,PID 控制[4]、MPC模型預(yù)測[5]、LQR 控制[6]等。本文所研究的距離積分算法相較于上述循跡方法實現(xiàn)更加簡單方便,也能夠依靠智能車的實時狀態(tài)進行人工的調(diào)控,其實驗數(shù)據(jù)的有效范圍主要依靠編碼器讀取實現(xiàn),有一定的魯棒性。
1 硬件系統(tǒng)設(shè)計
電磁智能小車系統(tǒng)分為五大模塊:主控制器模塊、電源模塊、電磁傳感器模塊、舵機驅(qū)動模塊、電機驅(qū)動模塊,整個系統(tǒng)的設(shè)計框圖如圖1所示。
圖1 系統(tǒng)框圖
1.1 電源模塊
電源模塊是硬件設(shè)計中的重要組成部分,它主要是對7.4 V、3 000 mA 蓄電池進行電壓調(diào)節(jié)。由于各模塊需要的工作電壓和電流不盡相同,所以在實際中我們設(shè)計了多種穩(wěn)壓電路,用來滿足各模塊的實際工作電壓需要。其中7.4 V 電壓給驅(qū)動電路供電,3.3 V 電壓給運放、編碼器、藍牙、OLED、電機驅(qū)動使能端等供電,5 V電壓給舵機供電。
1.2 電機驅(qū)動模塊
驅(qū)動電路的主要作用是給小車的驅(qū)動電機提供控制和動力,本文采用兩片 BTN7971 組成一個 H 全橋電動機驅(qū)動電路,電路圖如圖 2 所示。我們可以改變從主控芯片輸入到 BTN7971 的PWM 的占空比來控制電動機的供電電壓的大小,從而實現(xiàn)了對轉(zhuǎn)速的控制。
圖2 驅(qū)動電路圖
1.3 電磁檢測模塊
電磁檢測模塊的主要作用是通過小車前瞻上的電感檢測賽道上電磁的強弱。將電磁轉(zhuǎn)換為數(shù)字信號再通過軟件算法來實現(xiàn)小車在電磁線上的循跡。
圖3 電感排布方式
1.4 編碼器測速模塊
本文采用的是LQ512線編碼器。這款3相Mini增量式旋轉(zhuǎn)編碼器具有高精度的旋轉(zhuǎn)特性, 可以通過3V~5V 的寬電壓輸出旋轉(zhuǎn)方向和脈沖,從而實現(xiàn)高精度的編碼功能。該編碼器有6 個引腳,分別對應(yīng)為:
1)電源地;
2)3.3 V~5 V寬電壓;
3)步進脈沖;
4)旋轉(zhuǎn)方向;
5)機械零位;
6)懸空。
圖4 為輸出信號時序圖,圖5 為編碼器各引腳輸入輸出圖。
圖4 輸出信號時序圖
圖5 編碼器各引腳輸入輸出
2 軟件部分設(shè)計方案
2.1 距離積分控制算法
2.1.1 測量并計算單位路程的脈沖數(shù)(pulse/m)
下面給出兩種測量方法。
編碼器距離積分是一種用于測量旋轉(zhuǎn)軸的位置和速度的方法,它通過計算編碼器輸出的脈沖數(shù)來換算成實際距離。不同類型的編碼器有不同的脈沖數(shù)和換算公式,需要根據(jù)編碼器的參數(shù)和電機的特性來確定。一般來說,可以通過以下步驟來實現(xiàn)編碼器距離積分:
1)以正常速度將車推出大于1 m 的距離,然后測量出實際距離以及編碼器脈沖積分
2)根據(jù)單位距離的脈沖數(shù)= 實際距離 / 脈沖積分從而計算出單位距離的脈沖數(shù)
3)開電機并記錄開始時間和開始時的脈沖積分
4)在每個采樣周期內(nèi)讀取當(dāng)前時間和當(dāng)前時的脈沖積分
5)根據(jù)當(dāng)前時的脈沖積分減去開始時的脈沖積分,再乘以單位距離的脈沖數(shù),得到當(dāng)前時刻行駛過的總路程
圖6 預(yù)圓環(huán)判斷
2.1.2 距離積分在智能車循跡中的直接應(yīng)用
在環(huán)島處我們可以清晰看出在入環(huán)區(qū)電磁強度大于其他地方,因為會有四根電磁線經(jīng)過入環(huán)區(qū)。直接循跡通過強制打角入環(huán)成功率低且容易在路肩處發(fā)生碰撞。但經(jīng)過距離積分的處理,入環(huán)率會大大提高,入環(huán)會顯得更加絲滑。
1)判斷預(yù)圓環(huán)及第1 段距離積分判斷預(yù)圓環(huán)然后開始通過編碼器去計路程,當(dāng)路程達到一個定值之后就通過舵機固定打角,執(zhí)行入環(huán)程序。(注:在編碼器計路程的過程中,為了防止高速情況下因為電感值的變化過大導(dǎo)致舵機小幅度的擺動進而導(dǎo)致車身姿態(tài)不穩(wěn),可以在這過程中讓差比和的誤差手動置零,讓舵機保持在中值狀態(tài)。)
圖7 第一段距離積分
2)環(huán)島內(nèi)2段距離積分
環(huán)島內(nèi)當(dāng)執(zhí)行入環(huán)程序之時,在圓環(huán)里不能一直保持固定打角,所以在入環(huán)之后,開啟積分標志位,同時工字電感引導(dǎo)入環(huán),當(dāng)距離積分數(shù)值大于閾值,則代表入環(huán)程序結(jié)束,執(zhí)行環(huán)內(nèi)尋跡。這里環(huán)內(nèi)尋跡切換到第2個和5個電感尋跡,因為第一個電感已經(jīng)在賽道之外了,無法計算出正確的差比和值。
圖8 第二段距離積分
3)出環(huán)島第3段距離積分
給定一個電感閾值,其值略小于入環(huán)閾值,在識別到后實現(xiàn)出環(huán),由于在接下來相當(dāng)一段長距離內(nèi)電感出環(huán)采集值的波動不會太大且會和入環(huán)閾值重合,為了程序進入入環(huán)程序,在識別到出環(huán)閾值后,編碼器走一段距離積分,直到小車完全走出圓環(huán)再切到正常循跡。直到遠離圓環(huán),最后把圓環(huán)標志位、距離積分執(zhí)行標志位數(shù)值置零,等待下一次圓環(huán)。
圖9 第三段距離積分
通過多次在賽道上實驗,本文將小車使用距離積分入環(huán)和強制打角入環(huán)進行了對比。每個算法實驗百次,以成功出環(huán)入環(huán)為標準,記實驗數(shù)成功一次。具體實驗數(shù)據(jù)如下:
圖10 實驗數(shù)據(jù)對比圖
實驗過程中發(fā)現(xiàn)以強制打角進行圓環(huán)處理,小車在出環(huán)處容易再次識別入環(huán)程序,導(dǎo)致小車難以走出圓環(huán)以至于不能完成整個賽道的循跡。而距離積分的使用則大大提高了出圓環(huán)的成功率,使小車的完賽率大大提高。
同時小車在出庫時,程序里面運用距離積分可以屏蔽小車在啟停點的檢測,防止多次檢測影響入庫,而且在小車入庫時,距離積分與延時的同時使用能夠讓小車入庫更加穩(wěn)定。
系統(tǒng)軟件采用C 語言編寫,通過 KEIL 編譯。C 語言被廣泛應(yīng)用于各種領(lǐng)域,其語言結(jié)構(gòu)緊湊,語言規(guī)范,編碼流暢,具有高效率、高精度、高穩(wěn)定性、高兼容性等優(yōu)點,并具有良好的可擴展性,可實現(xiàn)匯編語言的各種任務(wù),還支持快速、高效的編碼,支持 KEIL 編譯,支持快速、高效的編輯。因此可以減少程序員對硬件的操作,功能性和可移植性很強。
圖11 圓環(huán)距離積分控制流程圖
3 結(jié)束語
本文介紹了距離積分在四輪電磁小車中的應(yīng)用,通過距離積分的應(yīng)用,電磁小車實現(xiàn)了穩(wěn)定的出庫及環(huán)島的優(yōu)化處理,在實際的應(yīng)用中,電磁小車行進速率較之前未使用距離積分時有了明顯提升。
參考文獻:
[1] 張琨,崔勝民,王劍鋒.基于自適應(yīng)RBF網(wǎng)絡(luò)補償?shù)闹悄苘囕v循跡控制[J].控制與決策,2014,29(4): 627-631.
[2] 劉源,張文斌,劉雪揚,等.電磁導(dǎo)航智能車檢測和控制系統(tǒng)的研究[J].傳感器與微系統(tǒng),2012,31(4):63-66.
[3] 程志江,李劍波.基于模糊控制的智能小車控制系統(tǒng)開發(fā)[J].計算機應(yīng)用,2008,28(S2):350-353.
[4] 何文威.基于卡爾曼濾波器和PID控制的逆變器研究與設(shè)計[D].廣州:華南理工大學(xué),2013.
[5] 李國勇.智能預(yù)測控制及其Matlab實現(xiàn)[M].北京:電子工業(yè)出版社,2010:255-268.
[6] 徐明澤,劉清河.基于LQR和PID的智能車軌跡跟蹤控制算法設(shè)計與仿真[J].太原理工大學(xué)學(xué)報,2022,53(5):877-885.
(本文來源于《電子產(chǎn)品世界》雜志2023年7月期)
評論