《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 業(yè)界動態(tài) > SmartRIO基于CompactRIO的智能車快速原型開發(fā)平臺

SmartRIO基于CompactRIO的智能車快速原型開發(fā)平臺

2008-06-17
作者:李紅志

產(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ā)平臺是密不可分的。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。