產(chǎn)品:
院校產(chǎn)品, LabVIEW, CompactRIO
挑戰(zhàn):
所謂智能車" title="智能車">智能車是指在行駛過程中,車輛能夠自主識別路徑并自主控制轉(zhuǎn)向和車速,從而完成自動駕駛。在智能車自動駕駛控制算法" title="控制算法">控制算法的開發(fā)調(diào)試過程中,其挑戰(zhàn)在于選擇一個可以實現(xiàn)快速原型開發(fā)的軟硬件平臺。 在硬件方面,在智能車的控制中,由于要檢測實時賽道信息、當(dāng)前車速、電池電壓并要實時控制智能車車速、方向等控制參量,因此需要有豐富的I/O" title="I/O">I/O通道,并且要求處理器能夠?qū)崿F(xiàn)高速的實時控制算法。另外由于本智能車競賽中使用統(tǒng)一競賽車模的體積受限(30cm×20cm×15cm),需要這個控制原型開發(fā)平臺能夠承載在智能車模之內(nèi)。在軟件方面,要求開發(fā)軟件與硬件平臺能夠無縫的連接,內(nèi)含強大的數(shù)字信號處理以及控制的算法,操作界面友好,以便快速的開發(fā)調(diào)試。
解決方案:
整個快速原型開發(fā)平臺采用NI公司CompactRIO加LabVIEW實現(xiàn)。CompactRIO為帶有FPGA功能的高實時性嵌入式系統(tǒng),并可同時配置多塊功能豐富的I/O模塊。控制算法在LabVIEW中實現(xiàn),并可下載在CompactRIO運行。
“通過CompactRIO,可以方便高效地對智能車使用的傳感器、驅(qū)動電路等硬件設(shè)備進行測試,也可以通過LabVIEW開發(fā)控制算法下載到CompactRIO中進行實車調(diào)試?!?/STRONG>
智能車比賽
受教育部高等教育司委托,高等學(xué)校自動化專業(yè)教學(xué)指導(dǎo)委員會負(fù)責(zé)主辦全國大學(xué)生智能車競賽。該項比賽已列入教育部主辦的全國五大競賽之一,于2006年舉辦了第一屆比賽。參賽選手使用大賽組委會統(tǒng)一提供的競賽車模,采用飛思卡爾16位微控制器MC9S12DG128 作為核心控制單元,自主構(gòu)思控制方案及系統(tǒng)設(shè)計,包括傳感器信號采集處理、控制算法、電機驅(qū)動、轉(zhuǎn)向舵機控制等。比賽中智能車需要自主識別白色地板上的黑色路徑并自主控制轉(zhuǎn)向和驅(qū)動,從而完成沿線自動駕駛。參賽隊伍之名次由賽車現(xiàn)場成功完成賽道比賽時間為主。
快速原形
比賽中要求采用Freescale的S12系列單片機,在用單片機開發(fā)嵌入式系統(tǒng)時,存在效率低,成本高以及開發(fā)周期長等缺點,為此我們決定采用快速原型的開發(fā)方法,以一輛樣車為載體,將智能車原有的控制核心替換為NI公司的CompactRIO,并通過各種I/O模塊進行路徑探測傳感器、車速傳感器的信號采集以及驅(qū)動電機、轉(zhuǎn)向舵機的運動控制。用LabVIEW編寫車輛運行控制算法,將控制算法下載到CompactRIO中進行原型試驗,取得最優(yōu)結(jié)果后再移植到S12芯片中。
智能車的工作模式如圖所示:紅外光電傳感器探測賽道信息,轉(zhuǎn)速傳感器檢測當(dāng)前車速,電池電壓監(jiān)測電路監(jiān)測電池電壓,并將這些信息輸入控制器進行處理。通過控制算法來對車輛當(dāng)前狀態(tài)進行判斷,并輸出控制信號" title="控制信號">控制信號實現(xiàn)對舵機轉(zhuǎn)向和電機加減速的控制,從而完成車輛的沿線自動駕駛。
?
?
?
圖1智能車的工作模式圖
?
(圖解)傳感器檢測量為賽道信息、當(dāng)前車速和電池電壓,控制器對這些信息輸入進行處理,輸出控制信號控制轉(zhuǎn)向和驅(qū)動,從而實現(xiàn)車輛的沿線自動駕駛。
用CompactRIO作為控制器搭建的嵌入式系統(tǒng)來實現(xiàn)智能車的快速原形。CompactRIO的4個I/O模塊用于采集智能車傳感器信號以及控制驅(qū)動電機、轉(zhuǎn)向舵機等執(zhí)行器。此外,還配有控制開關(guān)單元來進行人機交互,數(shù)碼管實時顯示賽車信息,并可在試驗結(jié)束后將所需要的數(shù)據(jù)通過網(wǎng)線傳到上位機" title="上位機">上位機中,從而可以對控制算法進行分析,優(yōu)化控制策略。
平臺硬件構(gòu)成
本平臺的硬件部分主要由5部分組成,分別為:模型車底盤、紅外光電路經(jīng)探測傳感器、光電碼盤電機轉(zhuǎn)速傳感器、電機驅(qū)動及供電母板、CompactRIO嵌入式控制器。
其中,所采用的智能車底盤是奧奇1/10全數(shù)字比例電動遙控后驅(qū)模型賽車的底盤,紅外光電路經(jīng)探測傳感器采用了15對紅外發(fā)光接收管,采用紅外光電管是為了減小可見光的影響,提高系統(tǒng)魯棒性。
為精確控制智能車的運動,需要檢測車輛的運動速度。轉(zhuǎn)速傳感器用來檢測車速。受車模機械結(jié)構(gòu)的限制,須采用體積小、重量輕的速度傳感器,本車采用的是對射型光電傳感器方案。在電機輸出軸上加一齒盤,電機輸出軸的轉(zhuǎn)動帶動齒盤的轉(zhuǎn)動。將對射光偶發(fā)光和接受管放在碼盤兩側(cè),碼盤轉(zhuǎn)動時,由于碼盤上的齒經(jīng)過發(fā)光管發(fā)出的光線時,會阻礙光線傳播。所以接收管兩端的電阻會有很大的變化,這樣,在電路中,采樣電阻兩端的電壓就會有很大的變化。用處理器采集電壓脈沖單位時間內(nèi)的個數(shù),就會獲得電機轉(zhuǎn)速,從而獲得車速。
CompactRIO嵌入式控制器
實時嵌入式控制器采用CompactRIO-9004,而4個I/O模塊槽采用NI-9205、NI-9263、NI-9421以及NI-9472,分別控制模擬量輸入輸出以及數(shù)字量輸入輸出,其具體功能如下:
CompactRIO-9004:控制器,主要通過TCP/IP協(xié)議與上位機進行通訊,從而將控制程序進行編譯或下載,在實時系統(tǒng)中運行。此外,還可以通過網(wǎng)線或串口線將試驗過程中一些數(shù)據(jù)上傳到上位機中,進行分析和處理。
NI-9205:32路模擬量輸入,其中15路作為光電傳感器的信號輸入,1路作為車速傳感器輸入。
NI-9263:4路模擬量輸出,1路作為驅(qū)動電機PWM控制信號,1路作為舵機PWM控制信號。
NI-9421:8路數(shù)字量輸入,作為各個控制開關(guān)量的檢測。
NI-9472:8路數(shù)字量輸出,作為數(shù)碼管顯示控制信號。
?
?
圖2 cRIO潛入式系統(tǒng)組成圖
?
(圖解)由cRIO所搭建的嵌入式系統(tǒng)的組成,包括模擬量的輸入輸出和數(shù)字量的輸入輸出。
車輛運行控制算法
用圖形化編程軟件LabVIEW編寫了車輛運行控制算法??刂扑惴榛跔顟B(tài)的反饋控制,流程如下圖所示:
?
?
圖3 智能車控制算法簡圖
?
(圖解)初始化之后是一個基于狀態(tài)的反饋控制,控制算法通過對傳感器信號進行處理,控制執(zhí)行器動作,不斷減小實際狀態(tài)和名義狀態(tài)之間的誤差。
首先是相關(guān)參數(shù)的初始化,然后通過輸入端口采集道路信息和車速信息,根據(jù)控制策略得出車輛運動的名義狀態(tài)和實際狀態(tài),比較名義狀態(tài)和實際狀態(tài)的差,通過PID調(diào)節(jié)減小這個差值,然后通過輸出端口給出控制信號對驅(qū)動電機和轉(zhuǎn)向舵機進行控制,從而實現(xiàn)車輛行駛過程中的閉環(huán)控制。
為充分發(fā)揮控制器性能,控制算法中部分程序運行在FPGA上,部分程序運行在CompactRIO上。比如對傳感器信號的讀取、電機和舵機的輸出控制都是在FPGA上完成的。而PID調(diào)節(jié)、控制策略得到的名義狀態(tài)就是在CompactRIO上運行的。
實驗數(shù)據(jù)保存與分析
由于CompactRIO有較大的存儲空間,可以對車輛運行過程中所有參量進行完全的保存,在車輛停止后,可以用網(wǎng)線將所存儲的數(shù)據(jù)上傳到上位機,便于進行分析。通過同步分析整車狀態(tài)參數(shù)和控制信號,可以對控制算法進行分析,從而有針對性地改進控制算法,在最短的時間內(nèi)實現(xiàn)控制算法的優(yōu)化。最后再將優(yōu)化之后的控制算法移植到單片機中,實現(xiàn)實車的開發(fā)。
?
?
圖4 數(shù)據(jù)分析界面
?
(圖解)實驗結(jié)束后,將實驗數(shù)據(jù)上傳到上位機,用調(diào)試軟件的數(shù)據(jù)分析模塊可以精細(xì)觀察任何時刻的目標(biāo)參量和實際狀態(tài)參量,這樣就為優(yōu)化控制算法提供了便利。如上圖中,上兩幅波形圖中的紅色曲線為目標(biāo)參量,黃色曲線為實際參量。并且可以通過設(shè)定時間軸的坐標(biāo)起始點和終止點來詳細(xì)觀察很短的時間段內(nèi)的參量變化情況。
結(jié)論
??? 我們采用了NI公司 CompactRIO作為控制核心搭建了嵌入式控制系統(tǒng),實現(xiàn)了智能車的快速原形。用LabVIEW編寫了控制算法,對智能車自動控制算法進行了設(shè)計和優(yōu)化,極大提高智能車的開發(fā)效率。在2006年的全國大學(xué)生智能汽車邀請賽中,我們團隊在112支參賽隊中獲得全國第一名的好成績,2007年的此比賽中,我們在全國300多支參賽隊中獲得第六名的好成績。這些成績的取得,和我們采用了快速原形開發(fā)平臺是密不可分的。