作者:周斌 蔣荻南 李立國 職務:碩士研究生 |
||||||||||||||||
引言 2006年8月,清華大學將舉辦第一屆"飛思卡爾"杯全國大學生悄艸笛肴?。全?0多所著名高校將參加此項賽事,目前正在積極準備之中。 我們知道,按照傳統(tǒng)的開發(fā)思想,主要分為制造賽道,硬件布置、控制算法,通過實車的調試再進行相應的修改,如此循環(huán),如圖1所示。這種模式具有成本高,開發(fā)周期長以及試驗無法重現(xiàn)和歸檔等缺陷。
如果換一種思路,采用虛擬開發(fā)模式,先進行虛擬仿真,得到優(yōu)化的硬件布置和控制算法后,再進行實車開發(fā),這樣將大大提高效率和降低成本,見圖2。正是在這樣的構想下,我們開發(fā)了Plastid智能仿真軟件。值得一提的是,在韓國4屆大賽中,還沒有類似軟件出現(xiàn),因此它具有一定的獨創(chuàng)性。
V型開發(fā)模式 軟件的開發(fā)流程,分為開發(fā)平臺、仿真內核、操作界面以及匹配標定,由于有"匹配標定"這一個環(huán)節(jié),因此我們采取軟硬件同步開發(fā)的V型開發(fā)模式,如圖3所示。
我們采用LabVIEW作為軟件的開發(fā)平臺,是因為圖形化編程環(huán)境LabVIEW,滿足建立靈活的可擴展式測試測量和控制應用系統(tǒng)的要求,同時滿足以最小成本最快速地開發(fā)系統(tǒng)的需求。LabVIEW支持多任務,同時對外設有C語言接口。選用LabVIEW開發(fā)還可以提高程序的可靠性。 內核算法涉及汽車專業(yè)知識,如圖4所示,在每個計算周期中,系統(tǒng)首先計算出傳感器輸出和賽車車速,輸入智能車控制算法中,通過匹配標定單元可得出加速度和前輪轉角,在剛體的運動模型算法中得出下一計算周期的車速和賽車坐標。 利用LabVIEW簡單易用的GUI控件,可以完全按使用者的需求進行界面的設計。Plastid系統(tǒng)的使用界面做到了美觀、大方,簡明且操作方便,符合人機工程學。 如圖3所示,軟件開發(fā)的最后環(huán)節(jié)為匹配標定過程。通過大量的實車試驗,我們得到驅動電機Map圖,轉向性能,加減速性能以及舵機轉向性能等實車參數(shù),并將其補充進內核算法中的匹配標定單元(圖4)中,從而完善了Plastid。
系統(tǒng)構架 圖5是整個仿真系統(tǒng)的構架圖,主要分為基本模型層、控制算法層、通訊層以及仿真環(huán)境層。
基本模型層包括賽車模型與賽道模型,使用者可根據(jù)實際情況設定模型參數(shù),它為整個系統(tǒng)提供了底層的驅動,仿真結果都是在這兩個模型的基礎上計算得來的。 一個具有高級控制策略的智能車應該在不同的賽道上都具有穩(wěn)定的發(fā)揮。在Plastid中很容易解決避免制作很多實際賽道困難,如圖6所示,我們可以用點、弧、手繪等方式方便地設計出各種賽道進行仿真使用設計出不同的賽道,并將其保存成文件,在仿真時將其調用即可。
賽車也是整個仿真的基礎模型之一。如圖7所示,在賽車參數(shù)面板中,左邊可以任意設置賽車的幾何參數(shù),右邊傳感器布置區(qū)支持各種傳感器布置方式的設定。試駕功能可以在設計階段對賽車的運動和傳感器性能進行測試,提高了開發(fā)效率。
控制算法層為使用者提供了3種不同的仿真方案:SubVI、C結點以及單片機在線仿真。使用者可選擇其中一個方案輸入或移植自己的控制算法。 通訊層只用于單片機的在線仿真,使用CAN模塊,可以使單片機與仿真系統(tǒng)進行即時的數(shù)據(jù)交流,從而實現(xiàn)動態(tài)仿真。 首先,最接近于LabVIEW編程環(huán)境的即為SubVI方案。此方案對于熟悉LabVIEW G語言編程方法的使用者來說非常簡單,但將單片機的控制算法轉換為子VI的程序需要一個過程。 其次,C結點方案則更適合于采用C語言編程的使用者們,其程序直接用C語言編寫,用Visual Studio IDE將其編譯為dll文件,系統(tǒng)在仿真時會自動調用該dll,從而實現(xiàn)與SubVI一樣的控制和反饋。 最后,利用CAN或串口模塊,系統(tǒng)可以直接與單片機進行直接通訊,并實現(xiàn)在線仿真。單片機方面只需要在其CAN接口或串口即時地傳送其控制量,而Plastid則通過模塊得到這些量,并傳送反饋量給單片機。 動態(tài)仿真環(huán)境層基于賽車、賽道模型以及控制算法所輸出的控制信號(電機控制、轉向控制及車速信號等),計算出車的行走路線,并即時地將數(shù)據(jù)傳回控制算法層(其計算周期可調)。 在比賽仿真界面中,通過調用控制算法、賽道、賽車,可以在仿真內核上進行仿真運算(對應調用各個文件)。如圖8,界面上實時顯示車速、前輪轉角等參量的變化。仿真后,可以將仿真過程保存,以供回放時調用。
憑借LabVIEW軟件的優(yōu)勢,系統(tǒng)可以方便地將仿真過程中的各種變量記錄下來,特別是一些實際試驗時無法測量的量,保存于文件中。在回放模式中,用戶可以調用這些文件,對其仿真結果進行后期分析和處理,從而可以更準確地發(fā)現(xiàn)問題,指導賽車設置和控制算法的優(yōu)化。 成果 通過測試和對比,Plastid智能車仿真平臺可以有效地仿真出賽車的實際行駛路線以及直道波動、彎道超調、彎道回轉以及交替彎道等現(xiàn)象,具有相當高的仿真精度。 此外,基于LabVIEW的本仿真平臺還作為本次智能車大賽的官方軟件,與賽車一起配套發(fā)布,給其他參賽者們提供了幫助和服務。我們給參賽隊提供多次現(xiàn)場培訓以及網(wǎng)上在線答疑,使他們能夠迅速掌握軟件的使用。憑借出色的創(chuàng)意和較高的實用性,Plastid仿真平臺在今年清華大學第二屆NI杯虛擬儀器設計大賽中獲得第一名和最佳創(chuàng)新獎。在清華大學第二十三屆"挑戰(zhàn)杯"學生課外學術科技作品競賽中獲得了一等獎的殊榮。 綜上所述,本仿真平臺是在LabVIEW圖形化編程環(huán)境下開發(fā)完成的,并將做不斷的優(yōu)化和改進,為廣大參賽隊伍更好地完成開發(fā)任務而服務。 |