黃定翠

摘 要隨著科技的發展和汽車工業的進步,智能汽車的研究興起了一股熱潮,與之相對應的模型研究智能循跡小車也不斷的在更新,無論是各大高校還是企業公司對循跡小車的研究一直在進行著。而算法的研究是其中最主要的核心,它幾乎決定了小車的控制的好壞,好的算法將會使得小車的循跡變得十分的精確和可靠。
【關鍵詞】循跡小車 智能汽車 算法
1 引言
近些年來,在各大高校對循跡小車的研究一直在進行著,同時也會有一些關于循跡小車的比賽,例如飛思卡爾智能車競賽,有時候電子設計大賽也會有涉及到循跡小車。一般循跡小車有傳感器用于對外界賽道的采集,賽道都是有一定的特征,比如通有交變電流的漆包線作為引導線的賽道,LC傳感器可以采集賽道的磁場,通過磁場的強弱和分布規律來判斷小車的相對位置。為了達到轉彎的靈活性,本設計前輪采用舵機來控制轉彎打角的角度,利用PD算法將小車的相對位置轉換成控制量。后輪使用直流電機,輔以PID算法,以達到小車的高速及其穩定行駛。
2 設計
我們以STM32作為主控芯片,使用LCD1000和電感線圈組成的傳感器對鋪有鋁膜的賽道進行信息采集。因為我們賽道中存在的坡道,所以還使用了MPU6050陀螺儀來完成坡道的識別,編碼器對速度進行采集,如圖1所示。
3 傳感器的原理分析與布局
3.1 原理
本傳感器是利用了電容三點震蕩的原理,利用LDC1000和電感線圈構成電容式三點震蕩,震蕩后產生正弦波,并且隨著電感線圈靠近鋁膜磁場不同,由此得出的正弦波的頻率也是不一樣的,利用這個特點可以分辨出線圈和鋁膜的相對位置。得出的正弦波進行比較器整形后得出方波,送到主控芯片進行計數。
3.2 傳感器的布局
傳感器的布局是十分重要的,而且也有講究,布局的不一樣所使用會影響到算法,所以在在傳感器的排布上面一定得和軟件算法想結合。本設計上采用了3個傳感器兩個旁邊一個中間。前瞻的選定:一般的設計前瞻的選擇有三種第一是:30cm以內,這個前瞻的長度在低速的時候對賽道的采集比較穩定,但是速度比較快的時候就有可能不穩定,特別是過彎的時候不能及時的檢測到彎道信息,從而使得速度不能及時的減下來,小車容易沖出賽道;第二種是30-50cm:這時候采集的賽道信息也比較穩定,彎道檢測比較及時。第三種:大于50cm,這時候前瞻比較長,雖然彎道能及時檢測到,但是這會有其他的負面影響就是直道的時候車身的晃動十分的厲害,過彎內切的厲害特別是s彎道很容易出意外。綜合考慮,我們采用了40cm的前瞻,這樣既不會因為太短不能及時減速,也不會因為太長造成其他的不穩定。
4 賽道識別與分析
賽道元素有直道,大S彎,小S彎,還有棒棒彎,十字路口,連續彎道等,通過傳感器傳回來的信息來判斷小車目前所處的位置和賽道類型,并以此來設定不同的目標值,從而達到小車最穩定和最快速的行進。直道:左右兩傳感器的值幾乎一樣,它們的差值很小,這時候可以給比較快的速度;大S彎(左右):有一邊的傳感器的值很小,而另一邊的比較大,中間傳感器的也是比較小:小S彎是比較難以區分的,只能給一個比較慢的速度的。十字當成直道來行進。
5 算法研究
5.1 位置式PD算法
比例(P)控制既輸出與輸入誤差信號成比例關系,當僅有比例控制時系統輸出存在穩態誤差。微分調節就是偏差值的變化率。當輸入偏差值線性變化,則調節器輸出側疊加一個恒定的調節量。因為我們這個小車系統會有時間的滯后,所以要用到這個參數,但是一般的系統不需要調節微分參數。但是對有較大慣性或滯后的被控對象,比例+微分(PD)控制器能改善系統在調節過程中的動態特性。為此本設計的使用PD來控制舵機的打角:
PWM(舵機打角)=kp(sensor1-sensor2)+kd(last_error)
kp為比例系數,kd為積分系數,這兩個的值需要大量的實驗才能調出一個比較合適的值。
5.2 增量式PID
考慮到速度控制通道的時間滯后比較小,因為采用PID控制方案,并引入“棒棒控制”,即入彎減速,過彎時中俗,出彎后加速。
5.3 策略
首先在舵機控制上,如果只是單單的位置式PD算法,這對速度的提升十分的困難。為此,筆者在PD算法的基礎上加上了一些策略,第一是鎖值處理:當電機過彎時(彎道比較大),如果僅僅使用PD算法,小車抖動的很厲害,主要是因為它剛回到直道又偏離直道使得舵機在不停的來回打角從而導致車身的晃動,影響速度。但是當我們識別到過彎,直接給定一個指定值和一定的速度,小車就可以直接轉過去。補差處理:直道上因為其他的干擾也偶爾造成小車對賽道的誤判,進入假鎖狀態。這時候使用補差的算法可以減小這種情況。直流電機:速度控制處理“棒棒控制”,預先設定值,直道最大速度,入彎減速,過彎中速,出彎加速。
6 結束語
本設計中的智能循跡小車能快速的行駛,且能識別坡道并且穩定通過。在各種彎道中能以較合適的速度通過。在算法和策略上面也比較完善,總體上小車的適應性比較強。但是,本設計也有不足的地方,比如傳感器檢測的高度難以提高,大概只有2-3cm,因為檢測高度而導致其他的負面影響,比如在直道上因為車神的抖動使得傳感器采集值突變,誤判為彎道,筆者能想到的解決方案就是本次值和上次值的對比,如果變化太大,則判為檢測誤差,但是效果不是很理想,所以本設計還存在可改進的方面。
參考文獻
[1]吳祥.基于電磁導航智能車的控制研究及實現[D].安徽:安徽工程大學,2016.
作者單位
西南民族大學 四川省成都市 610041