?
本文針對傳統仿真方法的不足,采用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 結束語
本文根據智能跟蹤控制系統研究的需要,開發出三維動畫仿真軟件。該軟件具有以下突出優點:采用數據導入的思想,使軟件擺脫數據來源復雜的限制,拓寬了該仿真軟件的使用范圍;設計視點幾何變換法等,實現仿真過程的實時可操作特性,從而提高了其作為仿真研究的價值;采用模塊化設計,結構緊湊合理,可重用性和擴展性較強。
評論
查看更多