兩輪自平衡智能車系統(tǒng)設(shè)計
摘要:針對智能汽車競賽中的電磁組參賽要求,提出了兩輪自平衡智能車系統(tǒng)的設(shè)計方案。主控芯片采用飛思卡爾公司的MC9S12XS128,選用加速度傳感器檢測車模的傾角,陀螺儀檢測車模的角加速度;通過控制兩個電機的加減速實現(xiàn)車模的自平衡控制。闡述了卡爾曼濾波法在陀螺儀和加速度傳感器信號融合方面的應(yīng)用,提出了針對閉環(huán)速度控制的PI算法。實驗表明:該處理方法實現(xiàn)簡單,能夠準確、快速地實現(xiàn)車模的自平衡控制。
關(guān)鍵詞:自平衡;智能車;卡爾曼濾波;PI算法
引言
兩輪自平衡智能車控制技術(shù)在諸如航空、航海、安保等許多領(lǐng)域有著廣泛的應(yīng)用,各種類型的傾角傳感器和數(shù)據(jù)處理方法應(yīng)運而生。隨著現(xiàn)代科技的發(fā)展,對于自平衡的響應(yīng)速度和精確度提出了更高的要求,以此為背景,第七屆全國大學生智能車競賽電磁組參賽要求設(shè)計的智能車為兩輪直立行走的自平衡循跡智能車。
針對該問題,本文選用MMA7260加速度傳感器和NEC-03陀螺儀共同檢測車模的角度信息,通過卡爾曼濾波器得到車模準確的實時角度信息,以在主控芯片MC9S12XS128中實現(xiàn)的PI控制算法和兩個直流電機為智能車的控制核心,實現(xiàn)了兩輪智能車的自平衡控制。該系統(tǒng)的優(yōu)點是適應(yīng)性強、響應(yīng)迅速并有很強的抗干擾能力。
1 設(shè)計原理
控制直立車模平衡的直觀經(jīng)驗來自于人們?nèi)粘I罱?jīng)驗。一般人通過簡單練習就可以讓一個直木棒在手指尖上保持直立。這需要兩個條件:一個是托著木棒的手掌可以移動;另一個是眼睛可以觀察到木棒的傾斜角度和傾斜趨勢(角度和角速度)。通過手掌移動抵消木棒的傾斜角度和趨勢,從而保持木棒的直立。這兩個條件缺一不可,實際上就是控制中的負反饋機制。
車模的平衡控制也是通過負反饋來實現(xiàn)的,與上面保持木棒直立比較相對簡單。因為車模有兩個輪子著地,車體只會在輪子滾動的方向上發(fā)生傾斜??刂戚喿愚D(zhuǎn)動,抵消在一個維度上傾斜的趨勢便可以保持車體平衡了,如圖1所示。
由圖1可知,為了保持車模的直立自平衡狀態(tài),需要滿足以下兩個條件:
①能夠準確測量車模的傾角和角加速度的大小,以得到車模的狀態(tài)和趨勢;
②可以控制車輪的速度和加速度,使車模保持直立狀態(tài)。
2 自平衡智能車系統(tǒng)結(jié)構(gòu)
自平衡智能車系統(tǒng)主要包括主控模塊、角度信息采集模塊、電機驅(qū)動模塊和電源模塊等,自平衡智能車系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
主控模塊選用Freescale公司16位主控芯片Mc9S12XS128具有高精度高采樣頻率的內(nèi)部A/D轉(zhuǎn)換器,同時具有內(nèi)部定時器模塊和輸入捕捉功能,能夠很好地實現(xiàn)對車模電機的測速;對車模角度信息的處理,主控芯片的時鐘頻率最高可達80 MHz,可以迅速響應(yīng)車模角度的變化,控制車模的自平衡。
3 自平衡智能車硬件設(shè)計
控制車模自平衡所需的位置信息(即角度和角速度信息),可以通過加速度傳感器和陀螺儀獲得;由于主控模塊I/O口驅(qū)動能力有限,智能車需要使用全橋驅(qū)動來驅(qū)動電機;為了實現(xiàn)對車速精準的閉環(huán)控制,需要測速模塊。
3.1 加速度傳感器
加速度傳感器可以測量由地球引力作用或者物體運動所產(chǎn)生的加速度。自平衡智能車系統(tǒng)所采用的是Freescale系列的加速度傳感器MMA7260。該系列的傳感器采用了半導體表面微機械加工和集成電路技術(shù),體積小、重量輕。MMA7260是一款三軸低g半導體加速度計,可以同時輸出3個方向上的加速度模擬信號,同時電路實現(xiàn)簡單,角度輸出精度高。
3.2 陀螺儀
自平衡智能車系統(tǒng)的角速度傳感器采用的是陀螺儀,陀螺儀可以用來測量物體的旋轉(zhuǎn)角速度。根據(jù)精度需要選用了村田公司出品的ENC-03系列的加速度傳感器。它利用了旋轉(zhuǎn)坐標系中的物體會受到科里奧利力的原理,在器件中利用壓電陶瓷做成振動單元。當旋轉(zhuǎn)器件時會改變振動頻率從而反映出物體旋轉(zhuǎn)的角速度。
3.3 電機驅(qū)動
自平衡智能車系統(tǒng)選用了電機驅(qū)動芯片BTS7960作為電機驅(qū)動。該芯片在工作時,阻抗典型值為16 mΩ(IOUT=9 A,Ti=25℃),可提供的最大驅(qū)動電流為43 A。當芯片過熱時可自動關(guān)閉或鎖定;在過電流的情況下,開關(guān)模式可限制電流,可降低功耗;欠壓時會自動關(guān)閉,過壓時會鎖定。驅(qū)動電路圖如圖3所示。
3.4 測速模塊
本系統(tǒng)采用固定在電機輸出軸上的光碼盤以及相互配合的光電對管器件實現(xiàn)對車輪的測速,如圖4所示。
由于智能車所采用的主控芯片MC9S12XS128只有一個脈沖累加器端口,故需要采用數(shù)據(jù)選擇器控制其在同一時間只測量一個電機的速度而在下一時刻測量另一輪子的速度。同時,程序根據(jù)選通信號和測得的速度分別計算兩輪的速度,以便給出精準的控制信號,使車模保持良好的直立狀態(tài),以及完成加減速和轉(zhuǎn)向。
4 車模信息采集與處理
4.1 位置信息的處理
自平衡智能車位置信息主要是通過加速度傳感器和陀螺儀獲得的。加速度傳感器MMA7260是一款三軸低g半導體加速度計,可以同時輸出3個方向上的加速度模擬信號。通過軟硬件設(shè)置可以使得MMA7260各軸信號最大輸出靈敏度為800 mV/g,這個信號無需再進行放大,可以直接送到單片機進行A/D轉(zhuǎn)換。
實際應(yīng)用中,只需要測量其中一個方向上的加速度值,就可以計算出車模傾角,比如使用Z軸方向上的加速度信號。車模直立時,固定加速度器在Z軸水平方向,此時輸出信號為零偏電壓信號。當車模發(fā)生傾斜時,重力加速度g便會在Z軸方向形成加速度分量,從而引起該軸輸出電壓變化。變化的規(guī)律為:
△u=k·g·sinθ≈k·g·θ (1)
式中,g為重力加速度,θ為車模傾角,k為加速度傳感器靈敏度系數(shù)。當傾角θ比較小的時候,輸出電壓的變化可以近似與傾角成正比。
理論上只需要加速度傳感器就可以獲得車模的傾角,再對此信號進行微分便可以獲得傾角速度。但在實際車模運行過程中,由于車模本身的擺動所產(chǎn)生的加速度會產(chǎn)生很大的干擾信號,它疊加在上述測量信號上,使得輸出信號無法準確反映車模的傾角。
下面分析一下運動所產(chǎn)生的干擾信號。加速度傳感器安裝在車模上,距離車軸高度為h。車模轉(zhuǎn)動具有角加速度α,運動加速度a。那么,在加速度傳感器Z軸上出現(xiàn)由于車模運動引起的加速度為h·α+a,如圖5所示。為了減小運動引起的干擾,加速度傳感器安裝的高度越低越好,但是無法徹底消除車模運動的影響。
車模運動產(chǎn)生的加速度使得輸出電壓在實際傾角電壓附近波動,這些波動噪聲可以通過數(shù)據(jù)平滑濾波將其濾除。但是,平滑濾波一方面會使得信號無法實時反映車模傾角變化,從而減緩對于車模車輪的控制,另一方面也會將車模角速度變化信息濾掉。上述兩方面的濾波效果使得車模無法保持平衡,因此,對于車模直立控制所需要的傾角信息需要通過另外一種器件獲得,那就是角速度傳感器——陀螺儀。
由于陀螺儀輸出的是車模的角速度,將角速度信號進行積分便可以得到車模的傾角,且不會受到車體運動的影響,因此,該信號中噪聲很小。此外,車模的角度又是通過對角速度積分得到,可進一步平滑信號,從而使得角度信號更加穩(wěn)定。因此,車??刂扑枰慕嵌群徒撬俣瓤梢允褂猛勇輧x所得到的信號。由于這個角度信號是通過積分獲得的,如果角速度信號存在微小的偏差和漂移,經(jīng)過積分運算之后,變化會形成積累誤差。這個誤差會隨著時間延長逐步增加,最終導致電路飽和,無法形成正確的角度信號。
為了消除這個累積誤差,所采用的方法是通過上面的加速度傳感器獲得的角度信息對此進行校正,通過對比積分所得到的角度與重力加速度所得到的角度,使用它們之間的偏差來改變陀螺儀的輸出,從而使積分的角度逐步跟蹤到加速度傳感器所得到的角度。
利用加速度計所獲得的角度信息θg與陀螺儀積分后的角度θ進行比較,將比較的誤差信號經(jīng)過1/Tg比例放大,再與陀螺儀輸出的角速度信號疊加之后進行積分。對于加速度計給定的角度θg,經(jīng)過比例、積分環(huán)節(jié)之后產(chǎn)生的角度θ必然最終等于θg。
為了避免輸出角度θ跟蹤時間過長,可以采取以下兩個方面的措施:
①仔細調(diào)整陀螺儀的放大電路,使得它的零點偏置盡量接近于設(shè)定值,并且穩(wěn)定。
②在控制電路和程序運行的開始,盡量保持車模處于直立狀態(tài),這樣一開始就能使輸出角度θ與θg相等,此后,加速度計的輸出只是消除積分的偏移,輸出角度不會出現(xiàn)太大的偏差。
卡爾曼濾波模型如圖6所示,以陀螺儀測量的角速度作為預測值的控制量,加速度傳感器測量的角度作為觀測值。公式如下,Z(k)為k時刻加速度積分得到的角度,U(k)為k時刻的角速度,X(k|k)為k時刻經(jīng)卡爾曼濾波后的角度,X(k|k-1)為系統(tǒng)利用k-1時刻的狀態(tài)得到的k時刻的預測值,Kg(k)為k時刻的卡爾曼增益。
由于自平衡智能車系統(tǒng)為單輸入單輸出系統(tǒng),因此令A、B、H、K不為矩陣,且值都為1。自平衡智能車系統(tǒng)卡爾曼濾波參數(shù)有3個,P是卡爾曼系統(tǒng)參數(shù)A的協(xié)方差,P的初值P(0)的設(shè)定需要根據(jù)系統(tǒng)效果來調(diào)試確定,初值一般在1附近。Q是預測值Z(k)的協(xié)方差,R是測量值U(k)的協(xié)方差。對Q和R的設(shè)定原則是,Q/(Q+R)的值就是卡爾曼增益的收斂值。例如其值為0.2,那么卡爾曼濾波后的增益會向0.2收斂,即如果預測角度值是5°,角度測量值是10°,那么最優(yōu)化角度為:5+0.2*(10-5)=6°。因此,卡爾曼增益越小,說明預測值越可靠,最優(yōu)化角度越接近預測值;相反,卡爾曼增益越大,說明測量值越可靠,最優(yōu)化角度越接近測量值。P/(Q+R)反映收斂的快慢程度,該值設(shè)定越小,收斂越快,該值越大,收斂越慢。由于卡爾曼增益收斂總的來說是很快的,因此該值的設(shè)置影響較小。
卡爾曼濾波后的波形圖7所示,包括加速度計輸出的信號、陀螺儀輸出的信號和卡爾曼濾波后的波形。實驗表明,卡爾曼濾波可以很好地還原信號,并可以克服加速度計及陀螺儀的溫漂,能夠準確地提供車模的角度信息。
4.2 速度信息的處理
本系統(tǒng)的處理方法是根據(jù)光電碼盤的脈沖信息,通過單片機的輸入捕捉功能實現(xiàn)測速。速度閉環(huán)控制方面,采用的則是增量型的PID控制算法。所需公式為:
Kp——起比例調(diào)節(jié)作用,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用以減少偏差。
Ki——使系統(tǒng)消除穩(wěn)態(tài)誤差,提高誤差度,積分調(diào)節(jié)的引入會使系統(tǒng)穩(wěn)定性下降,動態(tài)響應(yīng)變慢。
Kd——反映了系統(tǒng)偏差信號的變化速率,可以預見偏差的變化趨勢,能提前對偏差進行控制。
針對車模的電機,結(jié)合實際的調(diào)試經(jīng)驗,本車模的電機調(diào)速采用的方案是PI控制,將對目標速度和當前速度再次進行PI運算,得到電機控制信息并交給外部設(shè)備控制模塊處理,以達到控制速度的目的。
4.3 軟件設(shè)計
系統(tǒng)中主要利用主控芯片的A/D轉(zhuǎn)換模塊讀取陀螺儀和加速度傳感器的值,從而通過卡爾曼濾波得到車模的角度信息。由于控制目標是保持車模直立,因此,以直立時車模的角度為控制目標,以所測量的車模角度信息為當前反饋,通過PID控制算法,計算出需要給出的電機速度,通過電機閉環(huán)控制使車模產(chǎn)生相應(yīng)的運動狀態(tài)以保持車模的直立平衡狀態(tài)。車模的系統(tǒng)流程圖如圖8所示。
結(jié)語
實驗結(jié)果表明,本系統(tǒng)方法簡單實用,可以很好地實現(xiàn)預期的功能,即實現(xiàn)小車的動態(tài)自平衡,采用該自平衡方法的磁導航智能車在第七屆“飛思卡爾”杯全國大學生智能車比賽中取得了非常優(yōu)異的成績。該方法卡爾曼濾波的應(yīng)用上,公式(2)~(6)可以進一步簡化,同時也可以通過優(yōu)化各個參數(shù)更好地實現(xiàn)車模自平衡,進一步提高車模的穩(wěn)定性。
評論