《電子技術(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)在于選擇一個(gè)可以實(shí)現(xiàn)快速原型開發(fā)的軟硬件平臺,。 在硬件方面,,在智能車的控制中,,由于要檢測實(shí)時(shí)賽道信息,、當(dāng)前車速、電池電壓并要實(shí)時(shí)控制智能車車速,、方向等控制參量,,因此需要有豐富的I/O" title="I/O">I/O通道,并且要求處理器能夠?qū)崿F(xiàn)高速的實(shí)時(shí)控制算法,。另外由于本智能車競賽中使用統(tǒng)一競賽車模的體積受限(30cm×20cm×15cm),需要這個(gè)控制原型開發(fā)平臺能夠承載在智能車模之內(nèi),。在軟件方面,要求開發(fā)軟件與硬件平臺能夠無縫的連接,,內(nèi)含強(qiáng)大的數(shù)字信號處理以及控制的算法,,操作界面友好,以便快速的開發(fā)調(diào)試,。

解決方案:
整個(gè)快速原型開發(fā)平臺采用NI公司CompactRIO加LabVIEW實(shí)現(xiàn),。CompactRIO為帶有FPGA功能的高實(shí)時(shí)性嵌入式系統(tǒng),并可同時(shí)配置多塊功能豐富的I/O模塊,??刂扑惴ㄔ贚abVIEW中實(shí)現(xiàn),并可下載在CompactRIO運(yùn)行,。

“通過CompactRIO,,可以方便高效地對智能車使用的傳感器、驅(qū)動電路等硬件設(shè)備進(jìn)行測試,,也可以通過LabVIEW開發(fā)控制算法下載到CompactRIO中進(jìn)行實(shí)車調(diào)試,。”

智能車比賽

受教育部高等教育司委托,,高等學(xué)校自動化專業(yè)教學(xué)指導(dǎo)委員會負(fù)責(zé)主辦全國大學(xué)生智能車競賽,。該項(xiàng)比賽已列入教育部主辦的全國五大競賽之一,于2006年舉辦了第一屆比賽,。參賽選手使用大賽組委會統(tǒng)一提供的競賽車模,,采用飛思卡爾16位微控制器MC9S12DG128 作為核心控制單元,自主構(gòu)思控制方案及系統(tǒng)設(shè)計(jì),,包括傳感器信號采集處理,、控制算法、電機(jī)驅(qū)動,、轉(zhuǎn)向舵機(jī)控制等,。比賽中智能車需要自主識別白色地板上的黑色路徑并自主控制轉(zhuǎn)向和驅(qū)動,從而完成沿線自動駕駛,。參賽隊(duì)伍之名次由賽車現(xiàn)場成功完成賽道比賽時(shí)間為主,。

快速原形

比賽中要求采用Freescale的S12系列單片機(jī),在用單片機(jī)開發(fā)嵌入式系統(tǒng)時(shí),,存在效率低,,成本高以及開發(fā)周期長等缺點(diǎn),,為此我們決定采用快速原型的開發(fā)方法,以一輛樣車為載體,,將智能車原有的控制核心替換為NI公司的CompactRIO,并通過各種I/O模塊進(jìn)行路徑探測傳感器,、車速傳感器的信號采集以及驅(qū)動電機(jī),、轉(zhuǎn)向舵機(jī)的運(yùn)動控制。用LabVIEW編寫車輛運(yùn)行控制算法,,將控制算法下載到CompactRIO中進(jìn)行原型試驗(yàn),,取得最優(yōu)結(jié)果后再移植到S12芯片中。

智能車的工作模式如圖所示:紅外光電傳感器探測賽道信息,,轉(zhuǎn)速傳感器檢測當(dāng)前車速,,電池電壓監(jiān)測電路監(jiān)測電池電壓,并將這些信息輸入控制器進(jìn)行處理,。通過控制算法來對車輛當(dāng)前狀態(tài)進(jìn)行判斷,,并輸出控制信號" title="控制信號">控制信號實(shí)現(xiàn)對舵機(jī)轉(zhuǎn)向和電機(jī)加減速的控制,從而完成車輛的沿線自動駕駛,。

?

?

?

圖1智能車的工作模式圖

?

(圖解)傳感器檢測量為賽道信息,、當(dāng)前車速和電池電壓,控制器對這些信息輸入進(jìn)行處理,,輸出控制信號控制轉(zhuǎn)向和驅(qū)動,,從而實(shí)現(xiàn)車輛的沿線自動駕駛。

用CompactRIO作為控制器搭建的嵌入式系統(tǒng)來實(shí)現(xiàn)智能車的快速原形,。CompactRIO的4個(gè)I/O模塊用于采集智能車傳感器信號以及控制驅(qū)動電機(jī),、轉(zhuǎn)向舵機(jī)等執(zhí)行器。此外,,還配有控制開關(guān)單元來進(jìn)行人機(jī)交互,,數(shù)碼管實(shí)時(shí)顯示賽車信息,并可在試驗(yàn)結(jié)束后將所需要的數(shù)據(jù)通過網(wǎng)線傳到上位機(jī)" title="上位機(jī)">上位機(jī)中,,從而可以對控制算法進(jìn)行分析,,優(yōu)化控制策略。

平臺硬件構(gòu)成

本平臺的硬件部分主要由5部分組成,,分別為:模型車底盤,、紅外光電路經(jīng)探測傳感器、光電碼盤電機(jī)轉(zhuǎn)速傳感器,、電機(jī)驅(qū)動及供電母板,、CompactRIO嵌入式控制器。

其中,,所采用的智能車底盤是奧奇1/10全數(shù)字比例電動遙控后驅(qū)模型賽車的底盤,,紅外光電路經(jīng)探測傳感器采用了15對紅外發(fā)光接收管,,采用紅外光電管是為了減小可見光的影響,提高系統(tǒng)魯棒性,。

為精確控制智能車的運(yùn)動,,需要檢測車輛的運(yùn)動速度。轉(zhuǎn)速傳感器用來檢測車速,。受車模機(jī)械結(jié)構(gòu)的限制,,須采用體積小、重量輕的速度傳感器,,本車采用的是對射型光電傳感器方案,。在電機(jī)輸出軸上加一齒盤,電機(jī)輸出軸的轉(zhuǎn)動帶動齒盤的轉(zhuǎn)動,。將對射光偶發(fā)光和接受管放在碼盤兩側(cè),,碼盤轉(zhuǎn)動時(shí),由于碼盤上的齒經(jīng)過發(fā)光管發(fā)出的光線時(shí),,會阻礙光線傳播,。所以接收管兩端的電阻會有很大的變化,這樣,,在電路中,,采樣電阻兩端的電壓就會有很大的變化。用處理器采集電壓脈沖單位時(shí)間內(nèi)的個(gè)數(shù),,就會獲得電機(jī)轉(zhuǎn)速,,從而獲得車速。

CompactRIO嵌入式控制器

實(shí)時(shí)嵌入式控制器采用CompactRIO-9004,,而4個(gè)I/O模塊槽采用NI-9205,、NI-9263、NI-9421以及NI-9472,,分別控制模擬量輸入輸出以及數(shù)字量輸入輸出,,其具體功能如下:

CompactRIO-9004:控制器,主要通過TCP/IP協(xié)議與上位機(jī)進(jìn)行通訊,,從而將控制程序進(jìn)行編譯或下載,,在實(shí)時(shí)系統(tǒng)中運(yùn)行。此外,,還可以通過網(wǎng)線或串口線將試驗(yàn)過程中一些數(shù)據(jù)上傳到上位機(jī)中,,進(jìn)行分析和處理。

NI-9205:32路模擬量輸入,,其中15路作為光電傳感器的信號輸入,,1路作為車速傳感器輸入。

NI-9263:4路模擬量輸出,,1路作為驅(qū)動電機(jī)PWM控制信號,,1路作為舵機(jī)PWM控制信號,。

NI-9421:8路數(shù)字量輸入,作為各個(gè)控制開關(guān)量的檢測,。

NI-9472:8路數(shù)字量輸出,,作為數(shù)碼管顯示控制信號。

?

?

圖2 cRIO潛入式系統(tǒng)組成圖

?

(圖解)由cRIO所搭建的嵌入式系統(tǒng)的組成,,包括模擬量的輸入輸出和數(shù)字量的輸入輸出,。

車輛運(yùn)行控制算法

用圖形化編程軟件LabVIEW編寫了車輛運(yùn)行控制算法??刂扑惴榛跔顟B(tài)的反饋控制,流程如下圖所示:

?

?

圖3 智能車控制算法簡圖

?

(圖解)初始化之后是一個(gè)基于狀態(tài)的反饋控制,,控制算法通過對傳感器信號進(jìn)行處理,,控制執(zhí)行器動作,不斷減小實(shí)際狀態(tài)和名義狀態(tài)之間的誤差,。

首先是相關(guān)參數(shù)的初始化,,然后通過輸入端口采集道路信息和車速信息,根據(jù)控制策略得出車輛運(yùn)動的名義狀態(tài)和實(shí)際狀態(tài),,比較名義狀態(tài)和實(shí)際狀態(tài)的差,,通過PID調(diào)節(jié)減小這個(gè)差值,然后通過輸出端口給出控制信號對驅(qū)動電機(jī)和轉(zhuǎn)向舵機(jī)進(jìn)行控制,,從而實(shí)現(xiàn)車輛行駛過程中的閉環(huán)控制,。

為充分發(fā)揮控制器性能,控制算法中部分程序運(yùn)行在FPGA上,,部分程序運(yùn)行在CompactRIO上,。比如對傳感器信號的讀取、電機(jī)和舵機(jī)的輸出控制都是在FPGA上完成的,。而PID調(diào)節(jié),、控制策略得到的名義狀態(tài)就是在CompactRIO上運(yùn)行的。

實(shí)驗(yàn)數(shù)據(jù)保存與分析

由于CompactRIO有較大的存儲空間,,可以對車輛運(yùn)行過程中所有參量進(jìn)行完全的保存,,在車輛停止后,可以用網(wǎng)線將所存儲的數(shù)據(jù)上傳到上位機(jī),,便于進(jìn)行分析,。通過同步分析整車狀態(tài)參數(shù)和控制信號,可以對控制算法進(jìn)行分析,,從而有針對性地改進(jìn)控制算法,,在最短的時(shí)間內(nèi)實(shí)現(xiàn)控制算法的優(yōu)化。最后再將優(yōu)化之后的控制算法移植到單片機(jī)中,,實(shí)現(xiàn)實(shí)車的開發(fā),。

?

?

圖4 數(shù)據(jù)分析界面

?

(圖解)實(shí)驗(yàn)結(jié)束后,,將實(shí)驗(yàn)數(shù)據(jù)上傳到上位機(jī),用調(diào)試軟件的數(shù)據(jù)分析模塊可以精細(xì)觀察任何時(shí)刻的目標(biāo)參量和實(shí)際狀態(tài)參量,,這樣就為優(yōu)化控制算法提供了便利,。如上圖中,上兩幅波形圖中的紅色曲線為目標(biāo)參量,,黃色曲線為實(shí)際參量,。并且可以通過設(shè)定時(shí)間軸的坐標(biāo)起始點(diǎn)和終止點(diǎn)來詳細(xì)觀察很短的時(shí)間段內(nèi)的參量變化情況。

結(jié)論

??? 我們采用了NI公司 CompactRIO作為控制核心搭建了嵌入式控制系統(tǒng),,實(shí)現(xiàn)了智能車的快速原形,。用LabVIEW編寫了控制算法,對智能車自動控制算法進(jìn)行了設(shè)計(jì)和優(yōu)化,,極大提高智能車的開發(fā)效率,。在2006年的全國大學(xué)生智能汽車邀請賽中,我們團(tuán)隊(duì)在112支參賽隊(duì)中獲得全國第一名的好成績,,2007年的此比賽中,,我們在全國300多支參賽隊(duì)中獲得第六名的好成績。這些成績的取得,,和我們采用了快速原形開發(fā)平臺是密不可分的,。

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