馬春城,郭循釗
(1.中交第一公路勘察設計研究院有限公司 隧道軌道分院,陜西 西安 710051;2.研華科技西安分公司 陜西 西安 710075)
全國大學生智能車競賽是當今教育部的五大競賽之一,其基本要求是智能車能在不同的賽道上快速而流暢的行駛[1]。先進的智能尋跡車既能快速穿越直道,彎道時也能保持較高的速度。而制約其快速的因素主要有對路徑信息的檢測精度低、舵機控制的平穩性差、電機控制的靈活性不高,而識別道路的光電傳感器、舵機、電機由于其物理特性本身的限制,平穩性、靈活性有一定極限,必須用軟件控制算法來彌補硬件上的不足,針對上述問題,本文提出了較為有效的解決方案。
智能車的控制軟件系統主要有3個算法,其程序總流程如圖1所示。
首先,通過傳感器獲得智能車的路徑信息,本文采用光電傳感器來完成對路徑中心引導線(黑線)的識別,其檢測的精確度和準確性直接關系到智能車的靈活性和穩定性,關系到智能車的行駛速度。但是對一般的光電傳感器路徑識別方法,獲得的路徑信息是間隔布設傳感器位置的離散值,它丟掉了路徑檢測中的大量信息。因此,研究智能車的連續化路徑識別有很重要的意義。
其次,通過檢測到的路徑信息,來控制舵機的轉向,使智能車在賽道上高速行駛的過程中能準確無誤地沿著黑線行駛,在直道上時能穩定行駛,避免智能車走蛇形彎;在轉彎時能快速轉彎。這要求其轉向控制有較高的響應速度和低的超調量,直道上時給小的控制系數,在轉彎時給大的控制系數,PID控制算法具有較高的響應速度,低的超調量和低的穩態誤差,但是舵機控制要求較高的響應速度,而PID算法引入了積分環節,而對穩態誤差的要求不大,因此對舵機轉角的控制采取非線性的位置式PD控制算法。
最后,采用基于反饋控制的PID控制算法對車速控制,使其根據實時速度信息,在轉彎時提前控制舵機和電機,做到進入彎道時適量減速,駛出彎道時提前加速。

圖1 軟件流程圖Fig.1 Flow chart
智能車的控制策略與算法,是影響智能車動態運行性能的重要因素之一,對于實現其運行過程中的穩定快速有重要作用[2]。控制的目標就是將賽道黑線平滑地保持在智能車中央,從而達到很好的控制效果[3]。行駛的控制需要完成兩部分的工作:舵機控制和直流電機控制。
PID是一種有效而簡單的控制器,能夠在保證基本不影響系統穩定精度的前提下提高系統的相對穩定性,很好地改善系統的動態性能[4]。常規PID控制器系統原理框圖如圖2所示。

圖2 PID控制系統框圖Fig.2 Diagram of PID control system

式中 e(t)=r(t)-y(t);Kp為比例系數;Ti為積分時間常數;Td為微分時間常數。設Ki=Kp/Ti,Kd=Kp/Td可得:

Kp、Ki、Kd分別稱為比例系數、積分系數、微分系數。
對智能車進行方向控制,就是利用傳感器獲取出黑線位置信息,然后通過一定的控制策略,使智能車能夠實時跟蹤黑線走向,自動控制舵機帶動前輪轉向,完成尋線行駛[5]。智能車在行駛的過程中是一個參數不定的系統。一輛具有智能化的賽車必須能夠根據賽道的特征將參數調整到最佳,以實現最優控制。
調整舵機的原則是:智能車處于直道時,使舵機居中擺正位置,智能車處彎道的曲率越大,則舵機的擺角也越大。舵機的反應速度比較慢,這就需要用軟件來彌補硬件的不足。這里的基本要求是速度足夠慢的時候,舵機是可以反應過來的。智能車在行進的過程中要不斷調整舵機的轉向,在路徑波動強度較低的時候,不能改變太大的轉向,尤其在高速行駛的時候,會使智能車走蛇形線。為了避免這個問題,彎道行駛中要加上柔性控制,車身中心越是靠近黑線,舵機角度改變的比例就越小,這樣就得到了基本的轉彎角度。如果把當前的控制數據當成前面控制數據處理動作反饋回來的信號,經比較發現如果沒有達到或超過預想的效果,轉彎角度就增加或減小,這樣就形成了加速處理輸出(D)和回轉角度輸出(P),然后再送進柔性處理程序,結合當前路徑信息就可以得到更加合理的轉角輸出。其過程如圖3所示。

圖3 轉向控制策略的工作原理Fig.3 The working principle of the turning control strategy
轉向控制系統中最重要的部分是舵機,它是一個位置隨動系統。在智能車上,舵機的輸出轉角通過連桿傳動控制前輪轉向。另外,智能車也可以利用它進行機械剎閘制動、位置傳感器主動掃描等操作。
舵機的轉向是由PWM(Pulse Width Modulation脈沖寬度調制)技術來進行實時控制的。控制信號是周期在20 ms左右的脈沖信號,脈沖信號的寬度決定舵機輸出舵盤的角度。脈沖寬度與轉角成線性關系,其計算公式為:

α為舵機轉角,單位是°,l為脈沖寬度,單位是ms。
為了使智能車能夠在賽道上快速、平穩、安全地行駛,除了控制舵機轉向以外,還需要對車速進行控制,使小車在直道上能盡快加速并盡量避免在遇到彎道時因車速過快而產生過沖現象。對車速的控制是通過控制驅動電機轉速來實現的。但車速實際上受多種因素影響,如電機電壓、電機傳動摩擦力、賽道的附著率等[6],因此如果只是開環控制電機轉速,那么就不能靈活的根據小車的實時速度進行精確調整,降低了小車的應變能力;而加入車速檢測,對小車速度實施閉環反饋控制,形成閉環,就能夠最大限度的消除以上因素的影響,使小車的運行更加精確[7]。
在比賽中,智能車需要通過直道、彎道和S彎等各種復雜賽段,為保證智能車快速穩定的完成比賽,必須對智能車車速進行精確控制。智能車在通過直道時,應迅速加速,而在進入彎道時,則應根據彎道曲率變化合理減速。由于智能車在不同賽段車速不同,因此首先應該在不同的賽段設置不同的給定車速,入彎時,為了過彎時智能車能夠不明顯的左右擺動并采用較好的姿態通過彎路,令車速與偏差成線性關系,偏差越大速度設定值越小。具體的車速計算公式如下式給出:

其中,Setted_speed為給定車速;high_speed為直道上經測試給出的預設高速;e黑線與車體中心線的偏差;P為比例系數,當偏差越大時降速就越多。
該連續化路徑識別算法主要是建立在對光電傳感器特性的深入研究的基礎上。經試驗測試證明,紅外光電傳感器特性并不是只輸出高低電平(白區高電壓,黑線低電壓),其電壓大小與傳感器距離黑色路徑標記線的水平距離有定量關系:離黑線越近,電壓越低,離黑線越遠,則電壓越高,(具體的對應關系與光電管型號以及離地高度有關),如圖4所示[8]。因此,只要掌握了傳感器電壓—偏移距離特性關系,就可以根據傳感器電壓上的值確定各傳感器與黑色標記線的距離,進而獲得車身中心相對黑線的位置,得到連續分布的路徑信息。

圖4 歸一化后的傳感器電壓-偏移距離特性曲線Fig.4 Feature curve after normalization
連續路徑識別算法分為調試階段的光電傳感器特性測定和智能車行駛過程中控制決策周期時的路徑識別兩個部分。流程圖如圖5所示。

圖5 連續路徑識別算法流程圖Fig.5 Flow chart of continuous path recognition algorithm
令 e(k)表示離散化的當前采樣時刻的誤差值,e(k-1)、e(k-2)分別表示前一個和前兩個采樣時刻的誤差值,Δe(k)=e(k)-e(k-1)。 舵機的控制規律為:
P為比例參數,e(k)為水平偏差量,是PD控制器的P部分,直接反應了智能車偏離黑線的程度,D為微分參數,Δe(k)為水平偏差的速度,是PD控制器的D部分,有了水平偏差速度,系統對智能車狀態的掌握就更加精確了。由PID控制規律可知,比例系數越大,轉彎幅度也就越大,智能車擺動也就越大,越趨于不穩定,但智能車在急轉彎處的轉角更有效。比例系數小,智能車越穩定,沒有抖動,但急轉彎的過沖過大,會使智能車沖出賽道。所以在控制上要加上非線性處理,智能車在直道上時給小的控制系數,使之穩定,避免智能車走蛇形彎;在轉彎時給大的控制系數使之快速轉彎。這樣就實現了系統在小偏差時緩慢的調節,也可以保證當遇到彎道產生大偏差時舵機能迅速動作。

對于智能車速度的控制采用了基于反饋控制的PID控制算法,實際的控制過程中,由于傳感器是按一定間隔周期獲取位置信息的,因此必須將連續PID控制離散化,這樣得到的就是數字PID控制算法。其控制規律為[9]:

e(k)為某時刻智能車給定速度和實際速度的偏差:

Setted_speed是該賽段程序給定車速,Current_speed是測速傳感器測量得到的當前車速。根據上述分析,我們在智能車的車速控制中采用了PID控制方式。
比例控制為:

積分控制為:

微分控制為:

T為速度采樣周期,為了減小誤差,通過3個采樣時間跨度的微分平均值實現:

上述比例系數Kp、積分系數Ki、微分系數Kd[10],需要通過不斷的反復實驗得到最優值。
文中從控制策略及算法的角度討論了如何提高智能車的運行性能。路徑識別采用連續化算法可以使控制更加精確,效果更加明顯,保證了智能車在運行過程中的流暢性與穩定性。在進行轉向和速度控制時,控制策略采用了優化的PID算法,這種算法簡單而有效[11],在進行轉向控制時為了增加系統的穩定性,加進了非線性處理的控制部分,防止了智能車在直道行駛時過程中的抖動現象,另外在轉彎時更加迅速,保證了智能車能夠以較快的速度穩定行駛。
[1]卓晴,黃開勝,邵貝貝,等.學做智能車—挑戰“飛思卡爾”杯[M].北京:北京航空航天出版社,2007.
[2]陳無畏.自動引導車跟蹤控制策略的仿真研究[J].中國科學技術大學學報,2003,26(3):154-161.CHEN Wu-wei. Simulation study on tracking control strategy of automatic guided vehicle[J].Journal of University of Science and Technology of China,2003,26(3):154-161.
[3]韓毅,甄娜,張偉方.基于瑞薩單片機的智能模型車設計與實現[J].計算機工程,2011,37(10):243-245.HAN Yi,ZHEN Na,ZHANG Wei-fang.Design and implementation of intelligent model car based on renesas single chip microcomputer[J].Computer Engineering,2011 ,37(10):243-245.
[4]郭偉,王偉.PID型廣義預測控制在過熱溫控中的應用[J].計算機工程,2009,35(11):251-253.GUO Wei,WANG Wei.Application of PID-type generalized predictive control in superheated temperature control system[J].Computer Engineering,2009,35(11):251-253.
[5]許宏科,馬春城,郭循釗 ,等.基于光電傳感器的智能尋跡車的設計與實現[C].2010全球科學工程大會,2011,40-41:8-14.
[6]吳建平,殷戰國,曹思榕,等.紅外反射式傳感器在自主式尋跡小車導航中的應用[J].中國測試技術,2004,30(6):21-23.WU Jian-ping,YIN Zhan-guo,CAO Si-rong,et al.Usage of the reflected infrared sensor in automatic guiding car[J].China Measurement Technology,2004,30(6):21-23.
[7]韓毅,楊天.基于HCS 12單片機的智能尋跡模型車的設計與實現[J].計算機工程與設計,2008,29(18):4735-4738.HAN Yi,YANG Tian.Design and implementation of intelligent-searching track car model based on HCSl2 SCM[J].Computer Engineering and Design,2008,29(18):4735-4738.
[8]許宏科,郭循釗 ,馬春城,等.光電型智能尋跡車的連續化路徑檢測方法[C].第八屆全球智能控制與自動化大會,2010:5279-5282.
[9]李以農,鄭 玲,譙艷娟.汽車縱向動力學系統的模糊PID控制[J].中國機械工程,2006,17(1):99-103.LI Yi-nong,ZHENG Ling,QIAO Yan-juan. Fuzzy-PID control method on vehicle longitudinal dynamics system[J].China Mechanical Engineering,2006,17(1):99-103.
[10]周云端,何志勇,趙瑞國.基于遺傳算法的加速度控制PID參數自整定研究[J].火箭推進,2012(4):68-71.ZHOU Yun-duan,HE Zhi-yong,ZHAO Rui-guo.Study on genetic algorithm based auto-tuning of acceleration control PID parameters[J].Journal of Rocket Propulsion,2012(4):68-71.
[11]王坤.基于SVPWM的STATCOM設計及實現[J].陜西電力,2011(1):11-15.WANG Kun.SVPWM based design and realization of STATCOM[J].Shaanxi Electric Power,2011(1):11-15.