《電子技術(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模塊??刂扑惴ㄔ贚abVIEW中實(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)行控制算法??刂扑惴榛跔顟B(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;郵箱:aet@chinaaet.com。