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

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

2008-06-17
作者:李紅志

產(chǎn)品:
院校產(chǎn)品, LabVIEW, CompactRIO

挑戰(zhàn):
所謂智能車" title="智能車">智能車是指在行駛過程中,車輛能夠自主識(shí)別路徑并自主控制轉(zhuǎn)向和車速,,從而完成自動(dòng)駕駛,。在智能車自動(dòng)駕駛控制算法" title="控制算法">控制算法的開發(fā)調(diào)試過程中,其挑戰(zhàn)在于選擇一個(gè)可以實(shí)現(xiàn)快速原型開發(fā)的軟硬件平臺(tái),。 在硬件方面,,在智能車的控制中,由于要檢測(cè)實(shí)時(shí)賽道信息,、當(dāng)前車速,、電池電壓并要實(shí)時(shí)控制智能車車速、方向等控制參量,,因此需要有豐富的I/O" title="I/O">I/O通道,,并且要求處理器能夠?qū)崿F(xiàn)高速的實(shí)時(shí)控制算法。另外由于本智能車競(jìng)賽中使用統(tǒng)一競(jìng)賽車模的體積受限(30cm×20cm×15cm),需要這個(gè)控制原型開發(fā)平臺(tái)能夠承載在智能車模之內(nèi),。在軟件方面,,要求開發(fā)軟件與硬件平臺(tái)能夠無縫的連接,內(nèi)含強(qiáng)大的數(shù)字信號(hào)處理以及控制的算法,,操作界面友好,,以便快速的開發(fā)調(diào)試。

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

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

智能車比賽

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

快速原形

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

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

?

?

?

圖1智能車的工作模式圖

?

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

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

平臺(tái)硬件構(gòu)成

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

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

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

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

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

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

?

?

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

?

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

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

用圖形化編程軟件LabVIEW編寫了車輛運(yùn)行控制算法,。控制算法為基于狀態(tài)的反饋控制,,流程如下圖所示:

?

?

圖3 智能車控制算法簡(jiǎn)圖

?

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

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

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

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

由于CompactRIO有較大的存儲(chǔ)空間,,可以對(duì)車輛運(yùn)行過程中所有參量進(jìn)行完全的保存,,在車輛停止后,可以用網(wǎng)線將所存儲(chǔ)的數(shù)據(jù)上傳到上位機(jī),,便于進(jìn)行分析,。通過同步分析整車狀態(tài)參數(shù)和控制信號(hào),可以對(duì)控制算法進(jìn)行分析,,從而有針對(duì)性地改進(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編寫了控制算法,,對(duì)智能車自動(dòng)控制算法進(jìn)行了設(shè)計(jì)和優(yōu)化,,極大提高智能車的開發(fā)效率。在2006年的全國(guó)大學(xué)生智能汽車邀請(qǐng)賽中,,我們團(tuán)隊(duì)在112支參賽隊(duì)中獲得全國(guó)第一名的好成績(jī),,2007年的此比賽中,我們?cè)谌珖?guó)300多支參賽隊(duì)中獲得第六名的好成績(jī),。這些成績(jī)的取得,,和我們采用了快速原形開發(fā)平臺(tái)是密不可分的。

本站內(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)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。