新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于虛擬儀器技術的智能車仿真系統

        基于虛擬儀器技術的智能車仿真系統

        ——
        作者:周斌,蔣荻南,黃開勝 時間:2007-01-26 來源:《EDN電子設計技術》 收藏

        1. 賽道與賽車環境模擬

        本文引用地址:http://www.104case.com/article/20595.htm

        系統對賽道與賽車分別建立了模型,使用者可以按照指示方便地自行設計賽道以及賽車,將賽道設計成各種各樣的直路、彎路、坡路,將賽車設計成各種尺寸、形狀,從而使得系統的適用性更廣泛。另一方面,本軟件更適用于沒有條件制作試驗賽道的參賽隊伍,他們可以在該系統中檢測控制算法。

        2. 控制算法的仿真驗證

        系統可提供三種不同的控制算法仿真的方案:子vi(subvi)算法仿真、c結點算法仿真以及單片機在線仿真。使用者可以選擇其中最適合自己的仿真方法,對自己的控制算法在系統的環境中進行驗證。

        3. 路徑識別的方案分析

        系統提供了采用光感電路來識別路徑的模型,使用者可以按照自己的想法設定傳感器的個數、排列的位置,在plastid上反復作仿真試驗,從而定性得出哪種光感電路的排列效果較好。由于實地試驗時要更換傳感器排列較為耗時,因此本系統給予了此種定性分析一個極其方便的試驗平臺。

        4. 離線/在線仿真相結合

        系統不僅可以離線仿真,還可以通過can通訊與單片機系統相連,對系統進行虛擬賽道環境的在線仿真。

        使用者通過該仿真系統可以反復對原始設計方案進行研究,得到近似最優方案后,再進行實車設計和實際賽道試驗,從而減少了開發的費用和時間成本,大大提高智能車開發效率。

        2 基本構架

        圖1是整個仿真系統的構架圖,主要分為基本模型層、控制算法層、通訊層以及仿真環境層。

        基本模型層包括賽車模型與賽道模型,使用者可根據實際情況設定模型參數,它為整個系統提供了底層的驅動,仿真結果都是在這兩個模型的基礎上計算的。


        圖1 仿真系統構架圖

        控制算法層為使用者提供了3種不同的仿真方案:subvi、c結點以及單片機在線仿真,具體在后文將會詳述。使用者可選擇其中一個方案輸入或移植自己的控制算法。

        通訊層只用于單片機的在線仿真,使用can模塊,可以使單片機與仿真系統進行即時的數據交流,從而實現動態仿真。

        動態仿真環境基于賽車、賽道模型以及控制算法所輸出的控制信號(電機控制、轉向控制及車速信號等),計算出車的行走路線,并即時地將數據傳回控制算法層(其計算周期可調)。

        憑借軟件仿真的優勢,在仿真過程中,系統可以方便地將各種變量記錄下來,特別是一些實際試驗時無法測量的量(如賽車相對于賽道中心線的偏移量、前向角、加速度等),并保存于文件中。在回放模式中,用戶可以調用這些文件,對其仿真結果進行后期分析和處理,繼而改進自己的賽車設置以及控制算法。

        3 賽道、賽車、路徑識別模型

        我們知道,一個具有高級控制策略的智能車應該在不同的賽道上都具有穩定的發揮,為了驗證這一點,就必須在不同的賽道上做試驗。然而,由于各方面的限制,我們不可能為賽車制作無數的賽道進行測試。但這個問題卻可在plastid中輕易地得到解決:我們可以設計出不同的賽道,并將其保存成文件,在仿真時將其調用即可。

        圖2是plastid的賽道設計界面,用戶可以使用“點”來精確設定賽道曲線的下一點位置,使用“弧”則可以以圓心坐標、角度來繪制想要得到的弧線,更可以直接采用“手繪”用鼠標在屏幕上繪制賽道或從數據文件中導入曲線。其操作界面友好,修改方便,且易于上手和操作。圖2中的賽道即根據韓國漢陽大學2004年智能車大賽采用的賽道設計而成。


        圖2 賽道設計界面

        為了仿真方便,我們將賽車簡化為一個四輪剛體模型,除了一些基本的尺寸參數之外,在前輪轉向系統,根據賽車的實際情況,我們用“轉向速度”與“最大轉向角”兩個參數來模擬。

        對于路徑識別系統,plstid給予使用者至多8個的光感傳感器的坐標設定,使用者可以任意地安排傳感器的個數和相對于車的排列坐標(將傳感器安排成一條直線,或者弧線等方案),從而達到自己想要的識別效果。

        對于加速的模擬,目前系統暫時以直接加速度為控制量,在對實車進行測試和分析后,將構建相應的模型。

        圖3即賽車設計的操作界面,左邊為賽車的基本參數,右邊為傳感器坐標設定、試驗賽道生成以及傳感器值的即時顯示(試駕時用)。

        使用者除了可以設定賽車參數外,還可以對所設定好的賽車進行“試駕”,當場檢驗所設計參數的優劣,并可將賽車信息保存于文件,供仿真時調入使用。


        圖3 賽車參數設定界面

        4 控制算法仿真

        plastid針對不同的使用者提供了三種不同的控制算法仿真方案:子vi(subvi)、c結點以及單片機的在線仿真。

        首先,最接近于labview編程環境的即為subvi方案。用戶將自己的控制算法,移植為labview的subvi,plastid在仿真時即時地給該subvi輸入變量(車速、傳感器值等),subvi通過計算得出控制量并輸送給plastid仿真循環。subvi方案對于熟悉labview g語言編程方法的使用者來說非常簡單,但它的缺點是移植性較差,由于c語言和g語言的差別較大,因此將單片機的控制算法轉換為子vi的程序需要一定的工作量。

        其次,c結點方案則更適合于采用c語言編程的使用者們,其原理與subvi方案類似,但是其程序則可直接用c語言編寫,用visual studio ide將其編譯為dll文件,系統在仿真時會自動調用該dll,從而實現與subvi一樣的控制和反饋。對于本方案,使用者可以將其單片機的程序進行適當的修改后即可使用,因此移植性較高。

        最后,利用can模塊,系統可以直接與單片機進行直接通訊,并實現在線仿真。單片機方面只需要在其can接口即時地傳送其控制量(這在程序中很容易添加相應程序),而plastid則通過can模塊得到這些量,并傳送反饋量給單片機。在這一方案,單片機的程序修改不大,但需要有can模塊等硬件支持。

        圖4為系統動態仿真的界面,使用者在加載完賽道與賽車文件后,即可進行動態的仿真。其中仿真周期表示系統每一次計算的時間,可以根據單片機的運算周期進行設定,但值得一提的是,在仿真過程中,其真實的仿真周期會根據計算機的性能等因素而不同,但其仿真的結果可以保證確實根據該仿真周期計算而得,從而保證其仿真的可靠性。


        圖4 動態仿真界面

        5 不足與改進

        由于plastid仿真系統還未與實車的仿真進行過深入比較,且開發周期也較短,因此必然留有一些不足之處。

        該系統目前還只能用于采用光感傳感器路徑識別方案的智能車,對于ccd攝像頭技術還不支持。

        其次,在仿真過程中,系統只是根據汽車的運動學模型(將車簡化為一四輪剛體來處理)進行計算,并未考慮其側滑以及路面摩擦力的影響。這將使其仿真結果與實際結果有一定差距,我們將在后續工作中根據實車的情況,不斷進行實車試驗和對比,從而提高其仿真真實度,使其能盡可能地模擬出實際的情況。

        最后,計算速度也是系統必須面臨的一大問題。對此,我們將優化代碼,并裁剪不必要的程序,從而提高系統的仿真速度。

        綜上所述,本系統主要針對本次智能車大賽而開發,將在這一屆邀請賽過程中進行不斷的優化和改進,爭取為廣大參賽隊伍更好地完成開發任務而服務。

        霍爾傳感器相關文章:霍爾傳感器工作原理


        電度表相關文章:電度表原理


        霍爾傳感器相關文章:霍爾傳感器原理


        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临泉县| 甘南县| 濮阳市| 南康市| 宣化县| 鄂州市| 乐山市| 云南省| 项城市| 万载县| 齐齐哈尔市| 屏边| 两当县| 托克逊县| 和政县| 阜南县| 同心县| 双峰县| 积石山| 衡东县| 离岛区| 凌源市| 固始县| 嘉禾县| 花莲市| 万荣县| 万年县| 桂阳县| 黎平县| 马尔康县| 昭觉县| 滦南县| 栾城县| 溧阳市| 汾西县| 西和县| 施甸县| 嘉祥县| 武平县| 文安县| 苍梧县|