技術頻道

      智能跟蹤控制系統的動畫仿真設計

      1 引言

        在軍事、交通、網絡通信、機器人領域中,軌跡跟蹤被廣泛應用于移動或運載工具自動跟蹤、衛星軌道調整、飛行物攔截、智能機器人、機組編隊控制等。由于這些裝備結構復雜價格昂貴,在研究設計的過程中,要盡量減少實物實驗。用仿真實驗的方法來研究軌跡跟蹤控制問題,可以大大減少實物實驗失敗帶來的損失,節省大量的資源、資金和時間。傳統的仿真實驗方法是利用matlab軟件,其優點是建模簡易,數值計算簡便,仿真曲線精確,但具有一定的局限。例如,對來源于各種復雜現場的數據進行仿真較復雜;仿真結果一般只能得到二維或三維的靜態曲線;不能根據觀察需要對仿真過程進行有效的控制。因此本文針對傳統仿真方法的不足,采用opengl圖形系統結合vc++軟件開發平臺設計出智能跟蹤控制系統三維動畫仿真軟件。在該軟件的設計方案中,提出自動導入的方法使其能直接導入來自各種現場的數據,克服數據來源復雜的難題;提出幾何變換法實現視點調整功能,使仿真過程具有多角度可視性;利用程序的延時技術實現仿真速度的可控性,提高了軟件對仿真對象進行觀察研究的能力。

      2 仿真軟件總體框架

        智能跟蹤控制系統三維動畫仿真軟件的基本任務是提供仿真數據的導入功能,智能體軌跡跟蹤過程的精確重演,提供仿真過程的交互功能。通過數據導入功能,不論是來自于實物實驗還是仿真實驗的數據都能較容易地被該仿真軟件使用。仿真運行時要能生成三維動畫圖像,精確模仿智能體軌跡跟蹤過程。仿真過程中要能夠對視點和速度進行調整,以便于從各個方向和不同的距離觀察,以及快放和慢放軌跡跟蹤過程,進一步方便對仿真結果進行分析和處理。

        軌跡跟蹤控制系統可能只涉及到一個智能體,也可能涉及到若干個智能體,各個智能體在跟蹤過程中可能組成編隊并擔任著不同的職能,不同類型的智能體以及不同的跟蹤任務其跟蹤控制方法也不同[3]。但跟蹤原理基本一致,即智能體根據預設的或者捕捉到的目標軌跡,經過計算產生控制信號輸入,使其發出跟蹤行動,產生跟蹤軌跡。

        為了便于整體開發和擴展應用,根據軌跡跟蹤過程的特點和研究需求,將軟件按照實現的功能進行模塊化設計,并通過操作界面來控制其功能的實現。圖1所示為該仿真軟件的框架結構。



      圖1 仿真軟件框架示意圖

        該仿真軟件主要設計有導入模塊、重演模塊、控制模塊三大功能模塊,以及提供用戶界面的界面模塊。其中界面模塊用vc++[4]開發,為用戶提供可實現各項功能的操作界面。導入模塊可將復雜數據源的數據導入到指定存儲器中;重演模塊將數據生成軌跡跟蹤過程的三維動畫;控制模塊實現用戶交互功能,可以在仿真過程中通過它調整仿真速度和視點位置。

      3 智能跟蹤控制系統建模

        根據軌跡跟蹤基本原理建立智能軌跡跟蹤控制系統模型。

        設定目標軌跡為:

        s0(t)=[s0(t),s0(t),s0(t)]t,

        智能跟蹤控制系統為:

        (1)其中t為時間參數,x(t)=[x1(t),x2(t),x3(t)]t為系統的狀態向量,u(t)=[u1(t),u2(t),u3(t)]t為系統的輸入向量,f(t)=[f1(t),f2(t),f3(t)]t為系統的控制信號輸入向量,ai,i=1,2,3為系統狀態的常數系數矩陣,bi,i=1,2,3為系統輸入的常數系數矩陣。

        設計控制信號輸入f(t)使系統(1)有一個特解為s0(t)這時:

        (2)由于系統(1)漸近穩定,因而系統(1)的任意解都趨向于s0(t)。

        利用matlab\simulink工具箱[5]可將數學模型轉換為計算機仿真模型。圖2為系統(1)第一個變量的仿真模型。input controller為系統的控制器模塊,其功能是將采集的目標狀態s0通過函數計算得到系統的控制信號f1輸出。



      圖2 系統(1)第一個變量的仿真模型

      4 三維動畫仿真軟件設計

        4.1 導入功能設計


        研究軌跡跟蹤系統需要采集和處理大量的系統狀態數據,而數據的來源方式具有多樣性,可以是系統仿真數據,也可以是若干智能體設備的運行數據。導入模塊的功能是將這些外部數據以規則的方式存貯在仿真軟件指定的存儲器中。圖3為該仿真軟件的數據流圖。

        當仿真對象發生變化時,只要在存儲器中導入新的跟蹤系統狀態數據,無需改變任何程序代碼,就可以進行新系統的仿真。導入功能將數據的供給與動畫實現程序獨立開來,使整個仿真軟件不受數據來源情況復雜的限制。



      圖3 仿真軟件數據流圖

        4.2 opengl動畫開發設計

        opengl圖形系統是行業領域中最為廣泛接納的2d/3d圖形api[6],其跨平臺性和優越的三維動畫特性可以滿足仿真軟件的需求。基于第2節對程序各個功能模塊進行的需求和能力分析,設計開發了軌跡跟蹤動畫實現代碼。該模塊只向指定存儲器讀取軌跡跟蹤行為的數據,并且留有控制指令接口,實現了動畫核心程序的重用和可擴展。程序流程如圖4所示。



      圖4 opengl三維動畫程序流程圖

        將第3節建立的智能跟蹤控制系統模型分別運用matlab和三維動畫仿真軟件進行仿真,仿真結果分別如圖5,圖6所示。



      圖5 matlab仿真結果

      圖6 三維動畫仿真結果

        圖5是matlab仿真結果,我們只能觀察到跟蹤過程完成后的情況,其中sys1、sys2、sys3的點線分別表示智能跟蹤系統一、系統二、系統三的軌跡。圖6是三維動畫仿真結果,如圖6所示,目標為紅色,其運動軌跡為紅色橢圓,顏色分別為橙色、綠色、藍色的智能體從不同空間位置出發,以各自的路徑和速度進入目標軌跡,然后沿著目標軌跡跟蹤目標。從圖6(b)中可以看到綠色智能體跟蹤速度最快,進入目標軌跡后幾乎與目標重合。對比兩種軟件的仿真效果,三維動畫仿真能更加直觀地表現出智能體跟蹤運動過程。

      4.3 仿真過程控制

        在對跟蹤控制問題的研究過程中,為了改進智能體模型或者控制器性能,需要詳細觀察智能體某個階段的運動軌跡形態。為了達到此要求,設計開發過程控制模塊,實現對仿真過程的實時控制。該模塊主要設計了兩種鍵盤控制功能,即速度調整和視點調整。

        速度調整是在創建系統形體的間隙設置額外的延遲時間來調控仿真速度。設計在f1~f6按鍵響應程序中分別設置六個檔次的速度。

        視點調整是設計用幾何變換法來改變視點的位置。該方法的設計原理如圖7所示。



      圖7 幾何變換設計原理圖

        圖7中,o為軌跡中心;ρ為由o指向視點的矢量;視點坐標(x,y)為矢量ρ分別在x軸和y軸上的投影值;圓環面l為xoy平面上的視點調整區域,由ρ的模最大值和最小值來界定;上、下方向鍵分別用于調整ρ變大、變小;左、右方向鍵用于調整視點在l內以o為圓心ρ為半徑的圓環上分別向左、向右移動。基于該幾何變換法的設計,在仿真運行過程中,通過控制模塊向軟件發出指令,就能夠實現視點360°全方位移動和觀察距離的調整。圖8為經過視點調整后看到的仿真圖像。



      圖8 軌跡交接放大圖

        從圖8中能夠觀察到各條跟蹤軌跡接近目標軌跡前的形態以及接近的位置,進而判斷各系統模型或跟蹤控制器的優劣,為改進它們的參數提供了實驗依據。

      5 結束語

        本文根據智能跟蹤控制系統研究的需要,開發出三維動畫仿真軟件。該軟件具有以下突出優點:采用數據導入的思想,使軟件擺脫數據來源復雜的限制,拓寬了該仿真軟件的使用范圍;設計視點幾何變換法等,實現仿真過程的實時可操作特性,從而提高了其作為仿真研究的價值;采用模塊化設計,結構緊湊合理,可重用性和擴展性較強。實驗表明該軟件視覺表現力強,性能穩定,為智能跟蹤控制系統的研究提供了一個良好的仿真工具,其設計思想和方法對其他仿真軟件的設計也有參考價值。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 精品国产免费一区二区| 亚洲国产一区二区三区在线观看| 国产精品美女一区二区三区| 波多野结衣AV无码久久一区| 欧洲精品免费一区二区三区| 国产在线乱子伦一区二区| 国产色情一区二区三区在线播放 | 国产精品久久久久一区二区三区| 亚洲国产成人一区二区三区| 久久免费视频一区| 无码精品人妻一区二区三区免费| 亚洲丰满熟女一区二区哦| 3D动漫精品啪啪一区二区下载| 少妇无码一区二区三区| 国产亚洲福利精品一区| 国产亚洲福利精品一区| 亚洲av无码一区二区三区乱子伦 | 精品亚洲A∨无码一区二区三区 | 一区二区三区免费视频播放器| 日韩免费一区二区三区| 无码中文人妻在线一区二区三区| 亚洲综合色一区二区三区| 亚洲熟妇成人精品一区| 国产精品无码一区二区三区毛片 | 国产乱码伦精品一区二区三区麻豆| 国产伦精品一区二区三区四区| 福利一区在线视频| 亚洲爆乳精品无码一区二区| 精品国产一区二区三区四区| 亚洲国产欧美日韩精品一区二区三区 | 久久久久久人妻一区精品| 日韩精品一区二区三区大桥未久| 日本亚洲成高清一区二区三区| 无码精品人妻一区二区三区漫画 | 国产福利电影一区二区三区久久老子无码午夜伦不 | 任你躁国产自任一区二区三区| 中文字幕久久亚洲一区 | 国产伦精品一区二区三区女| 日本国产一区二区三区在线观看| 国产成人高清亚洲一区久久| 亚洲AV无码一区二三区|