• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      無(wú)人機(jī)全數(shù)字仿真的Flightgear三維顯示

      2018-09-10 18:06:40錢偉
      無(wú)人機(jī) 2018年12期
      關(guān)鍵詞:通訊動(dòng)力學(xué)飛機(jī)

      錢偉

      本文介紹了無(wú)人機(jī)三維顯示需求,介紹了Flightgear軟件的功能和使用特點(diǎn),建立了無(wú)人機(jī)數(shù)字仿真模型,并基于仿真模型和Flightgear軟件,采用udp網(wǎng)絡(luò)通訊協(xié)議建立了二者之間的連接,將無(wú)人機(jī)仿真數(shù)據(jù)實(shí)時(shí)傳輸?shù)紽lightgear軟件,驅(qū)動(dòng)Flightgear中無(wú)人機(jī)模型、場(chǎng)景模型等的實(shí)時(shí)運(yùn)行,完成無(wú)人機(jī)的三維實(shí)時(shí)顯示工作。

      無(wú)人機(jī)在試飛之前需要對(duì)各個(gè)系統(tǒng)部件進(jìn)行大量的測(cè)試和仿真,以檢測(cè)系統(tǒng)的控制部分的極性、邏輯、量值等等,但是有時(shí)實(shí)驗(yàn)室測(cè)試并不直觀,容易使人忽略重要的細(xì)節(jié)。例如,某型無(wú)人機(jī)在地面測(cè)試時(shí)一切正常,但在起飛后全自主飛行過程中,發(fā)生了一加自主飛行功能就向北飛的現(xiàn)象。發(fā)生這一現(xiàn)象的原因是程序員在設(shè)計(jì)航路時(shí),將無(wú)人機(jī)所用磁航向傳感器的單位弄錯(cuò),弧度當(dāng)成了角度。最終雖然依靠人工手動(dòng)將其控制返航,依然表明了傳統(tǒng)的測(cè)試存在盲區(qū)。如果能加入仿真的實(shí)時(shí)顯示功能,將無(wú)人機(jī)沿著航路模擬飛行的經(jīng)緯度高度、速度、姿態(tài)角、實(shí)時(shí)舵面值等,以以無(wú)人機(jī)三維運(yùn)動(dòng)的形式直觀地反映出來(lái),可使系統(tǒng)測(cè)試人員直接看到無(wú)人機(jī)能否完成航路、是否存在問題。Flightgear軟件是一款開源飛行軟件,內(nèi)部集成了多款飛機(jī)模型數(shù)據(jù),具有良好的人機(jī)界面,容易進(jìn)行二次開發(fā),并可接收外部傳送過來(lái)的飛行動(dòng)力學(xué)數(shù)據(jù)進(jìn)行飛行,是無(wú)人機(jī)全數(shù)字仿真和地面測(cè)試階段三維顯示的較好選擇。

      無(wú)人機(jī)三維顯示需求

      目前我們的無(wú)人機(jī)無(wú)論是進(jìn)行實(shí)驗(yàn)室仿真或外場(chǎng)飛行試驗(yàn),一般都能拿到較為準(zhǔn)確、實(shí)時(shí)性也較強(qiáng)的遙測(cè)數(shù)據(jù),這些數(shù)據(jù)包括無(wú)人機(jī)系統(tǒng)飛行的各種信息,如GPS經(jīng)緯度、高度等定位信息;無(wú)人機(jī)俯仰角、滾轉(zhuǎn)角等姿態(tài)角信息;三軸加速度信息、舵面控制量及反饋量信息等等。按照以往經(jīng)驗(yàn),有了這些信息,如需對(duì)無(wú)人機(jī)的飛行性能進(jìn)行分析,可以對(duì)各路信息分別匯總,繪出曲線,即能較直觀地看出參數(shù)的數(shù)值走向和有無(wú)異常等。有時(shí)也需要視頻信息,以記錄那些測(cè)試數(shù)據(jù)測(cè)試不到的細(xì)節(jié),則要另外增加價(jià)格昂貴的高清長(zhǎng)焦攝像機(jī),但攝像機(jī)也存在無(wú)法拍到或拍攝不清晰的問題,且有時(shí)從成百上千幀視頻圖像中也難以找到有用線索。

      Flightgear軟件介紹

      自從David于1997年發(fā)布了Flightgear軟件第一個(gè)跨平臺(tái)版本之后,從最初比較粗糙的空氣動(dòng)力學(xué)模型開始,逐漸增加了更多的特性如環(huán)境特性、跑道特性、場(chǎng)景特效、屏幕顯示、儀表臺(tái)、導(dǎo)航塔臺(tái)系統(tǒng)和網(wǎng)絡(luò)互聯(lián)以及串口互聯(lián)等,也支持多機(jī)編隊(duì)飛行和多人空中對(duì)戰(zhàn)模式,更突出的是,此軟件為開源軟件,用戶可以自行定義通訊協(xié)議、飛機(jī)模型、顯示模式等,可以添加自己繪制的飛機(jī)模型進(jìn)行飛行,動(dòng)力學(xué)模型可采用系統(tǒng)自帶也可自己編寫,并通過matlab-simulink軟件或者其他仿真軟件與Flightgear進(jìn)行實(shí)時(shí)交互,驅(qū)動(dòng)飛機(jī)模型的飛行。該軟件具有跨平臺(tái)、多場(chǎng)景、開放性等特點(diǎn),擴(kuò)展性特別強(qiáng),且對(duì)計(jì)算機(jī)和顯卡的要求不高,一般計(jì)算機(jī)的集成顯卡即可滿足要求。Flightgear軟件部分特點(diǎn)如下:

      飛行動(dòng)力學(xué)模型

      Flightgear在3個(gè)主要的飛行動(dòng)力學(xué)模型之間選擇,可以添加新的動(dòng)力學(xué)模型,甚至接入外部“專有的”飛行動(dòng)力學(xué)模型:

      JSBSim:JSBSim是一個(gè)開源飛行動(dòng)力學(xué)模型(FDM)軟件庫(kù),用于對(duì)飛行器的飛行動(dòng)力學(xué)進(jìn)行建模,用C + +編寫。JSBSim可以在獨(dú)立模式下批處理運(yùn)行,飛機(jī)模型以XML文件配置,其中包括飛機(jī)的質(zhì)量平衡、空氣動(dòng)力學(xué)、飛行控制屬性、大氣模型等。

      YASim:YASim模型使用飛機(jī)的幾何形狀來(lái)生成基礎(chǔ)飛行特性,可快速構(gòu)建飛機(jī)行為,無(wú)需所有傳統(tǒng)的氣動(dòng)試驗(yàn)數(shù)據(jù),是一種粗略的近似,在得到接近現(xiàn)實(shí)的結(jié)果之前,需要進(jìn)行很多調(diào)整。如果飛機(jī)有可靠的飛行數(shù)據(jù),例如風(fēng)洞數(shù)據(jù),或者希望最終生成逼真的模擬,那么JSBSim是更好的方法。但是如果缺乏這樣的數(shù)據(jù),又知道飛機(jī)的幾何形狀,并且能夠像真正的飛行員那樣訪問相同的飛行特性和極限,那么YASim提供了一種解決方案,這對(duì)于大多數(shù)仿真需求來(lái)說(shuō)已經(jīng)足夠了。

      UIUC:這個(gè)飛行動(dòng)態(tài)模型是基于 LaRCsim,最初是美國(guó)國(guó)家宇航局寫的。通過使用飛行器配置文件來(lái)擴(kuò)充代碼。.UIUC使用查表法來(lái)檢索飛機(jī)部件的氣動(dòng)力和力矩系數(shù),然后用這些系數(shù)來(lái)計(jì)算力和力矩作用在飛機(jī)上的總和。

      全面而精確的地景風(fēng)景數(shù)據(jù)庫(kù)

      數(shù)據(jù)庫(kù)包含超過20,000個(gè)真實(shí)地景的世界機(jī)場(chǎng)。具有和現(xiàn)實(shí)相同的跑道、跑道標(biāo)志、位置和進(jìn)近燈光。也適用于較大的機(jī)場(chǎng)滑行道(在適當(dāng)?shù)臅r(shí)候甚至包括綠色中線燈)和傾斜跑道。定向機(jī)場(chǎng)照明能成功地改變強(qiáng)度及操作者相對(duì)方向變化。

      準(zhǔn)確和全面的天空模型

      Flightgear軟件可以實(shí)現(xiàn)精確的時(shí)間跟蹤,并基于當(dāng)前時(shí)間正確的放置太陽(yáng)、月亮相對(duì)于當(dāng)前地球坐標(biāo)的位置。例如當(dāng)前時(shí)間和地點(diǎn)是黎明的成都,那么太陽(yáng)、月亮、星星和行星等在天空中都遵循正確的相對(duì)位置。這個(gè)建??紤]季節(jié)性影響,使用24小時(shí)制,甚至在北極圈以北,也放置太陽(yáng)與月球的正確位置,給人以身臨其境的感覺。

      靈活和開放的飛機(jī)建模系統(tǒng)

      Flightgear具有模擬各種飛行器的能力??梢阅M飛行1903年萊特飛行器、“撲翼”飛行器、飛艇、波音747和空客A320飛機(jī),以及各種軍用飛機(jī)等,F(xiàn)lightgear具有模擬幾乎一切飛機(jī)的能力。Flightgear的飛行環(huán)境也很完備,飛機(jī)設(shè)計(jì)師可以打造逼真、具有完美動(dòng)態(tài)效果、完全互動(dòng)的3D駕駛艙。Flightgear還可以準(zhǔn)確模擬許多儀器和系統(tǒng)故障,例如Gps故障、大氣傳感器故障等。如果設(shè)置故障,則飛機(jī)會(huì)根據(jù)故障進(jìn)行相應(yīng)的動(dòng)作。

      低廉的硬件要求

      Flightgear著眼現(xiàn)實(shí)仿真等方面的研究,但是軟件本身對(duì)電腦硬件的需求并不強(qiáng)。如果你的電腦配置非常好,你會(huì)的到更加好的視覺效果,但是如果你的電腦配置一般,雖然視覺效果不會(huì)特別好,但是你同樣可以得到一個(gè)非常流暢的飛行感受。

      內(nèi)部特征

      Flightgear允許用戶和飛機(jī)設(shè)計(jì)師通過內(nèi)部和外部訪問機(jī)制獲取大量的內(nèi)部狀態(tài)變量。這些狀態(tài)變量被組織成一個(gè)方便的層次“屬性”樹。使用屬性樹可以監(jiān)視Flightgear內(nèi)部任何狀態(tài)變量。可以從外部腳本遠(yuǎn)程控制Flightgear的運(yùn)行??梢詢H通過編輯一個(gè)少數(shù)人可讀的配置文件來(lái)創(chuàng)建模型動(dòng)畫、音效、動(dòng)畫工具和網(wǎng)絡(luò)協(xié)議等任何能想到的情況。這是一個(gè)功能強(qiáng)大的系統(tǒng),使Flightgear更加靈活、可配置、適應(yīng)性更強(qiáng)。

      通訊

      通用輸入/輸出選項(xiàng)允許用戶自己定義輸入輸出協(xié)議文件,選擇采用串口或網(wǎng)絡(luò)客戶端。如果所有實(shí)例正在運(yùn)行在同一幀率,可以得到非常好的互相之間的緊密同步顯示。可以使用FlightGear在局域網(wǎng)進(jìn)行多機(jī)聯(lián)網(wǎng)通訊,練習(xí)編隊(duì)飛行或?qū)?zhàn)仿真等。

      無(wú)人機(jī)全數(shù)字仿真環(huán)境與Udp通訊

      無(wú)人機(jī)全數(shù)字仿真

      依據(jù)無(wú)人機(jī)風(fēng)洞數(shù)據(jù)建立了無(wú)人機(jī)的數(shù)學(xué)模型,基于4階龍格庫(kù)塔方法對(duì)建立的無(wú)人機(jī)12階微分方程進(jìn)行解算,基于vsc++2010建立仿真和控制界面,基于Udp實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸,實(shí)現(xiàn)無(wú)人機(jī)仿真模型與Flightgear軟件的數(shù)據(jù)發(fā)送。無(wú)人機(jī)仿真原理如圖1所示,曲線顯示界面如圖2所示,三維顯示界面如圖3所示。

      Udp通訊傳輸

      Udp通訊屬于tcp/ip通訊協(xié)議的一種,支持大數(shù)據(jù)量的傳輸,比較適合對(duì)實(shí)時(shí)性要求不高強(qiáng)、對(duì)數(shù)據(jù)準(zhǔn)確性要求不高但數(shù)據(jù)量很大的場(chǎng)合。我們的全數(shù)字仿真系統(tǒng)所用的三維顯示對(duì)實(shí)時(shí)性要求并不特別強(qiáng),但是數(shù)據(jù)量較大,因此采用Udp協(xié)議進(jìn)行通訊傳輸。通信模塊分為客戶端和服務(wù)器端,客戶端和服務(wù)器端可以部署于同一臺(tái)機(jī)器,也可以部署到不同的機(jī)器上。在網(wǎng)絡(luò)中進(jìn)行通信至少需要一對(duì)套接字,其中之一運(yùn)行于客戶端,稱之為Clientsocket;另一個(gè)運(yùn)行于服務(wù)器端,稱之為Serversocket。由于本機(jī)只向Flightgear傳送數(shù)據(jù),不接收其發(fā)回的數(shù)據(jù),因此僅編寫客戶端程序即可。

      Udp客戶端程序在vc++2010中的設(shè)計(jì)流程為:

      (1) 調(diào)用socket()方法創(chuàng)建一個(gè)數(shù)據(jù)報(bào)套接字(SOCK_DGRAM);

      (2) 獲取無(wú)人機(jī)的飛行數(shù)據(jù),按照數(shù)據(jù)結(jié)構(gòu)進(jìn)行編組;

      (3) 數(shù)據(jù)發(fā)送至服務(wù)器;

      (4) 停止仿真時(shí)關(guān)閉數(shù)據(jù)報(bào)。

      基于仿真系統(tǒng)的udp傳輸

      軟件部分發(fā)送代碼如下:

      Socket初始化:

      voidctrlDlg::ToFlightgear()

      { //SOCKET初始化

      WORD wVersionRequested;

      WSADATA wsaData;

      int err;

      wVersionRequested = MAKEWORD( 1, 1 );

      err = WSAStartup( wVersionRequested, &wsaData );

      if ( err != 0 ) {

      return; }

      if ( LOBYTE( wsaData.wVersion ) != 1 ||

      HIBYTE(wsaData.wVersion ) != 1 ) {

      WSACleanup( );

      return; }

      SOCKET sockClient=socket (AF_INET,SOCK_DGRAM,0);

      SOCKADDR_IN addrSrv;

      addrSrv.sin_addr.S_un.S_addr=inet_addr("192.168.1.255");//

      addrSrv.sin_family=AF_INET;

      addrSrv.sin_port=htons (5500);

      數(shù)據(jù)編組:

      FGNetDatafgbuf;

      fgbuf.version=FG_NET_FDM_VERSION; // increment when data values change

      fgbuf.padding=0; // padding

      // Positions

      fgbuf.longitude=show_y[num_showxy-1]/57.3; // geodetic (radians)

      fgbuf.latitude=show_x[num_showxy-1]/57.3; // geodetic (radians)

      fgbuf.altitude=-h; // above sea level (meters)

      //fgbuf.altitude=300.0; // above sea level (meters)

      fgbuf.agl=-h; // above ground level (meters)

      fgbuf.phi=(float)phi; // roll (radians)

      fgbuf.theta=(float)theta; // pitch (radians)

      fgbuf.psi=(float)psi; // yaw or true heading (radians)

      ...}

      數(shù)據(jù)發(fā)送:

      sendto(sockClient,(char*)(&fgbuf),length,0,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

      關(guān)閉socket:

      closesocket(sockClient);

      WSACleanup();

      數(shù)據(jù)回放的三維顯示

      從上面的介紹可以看出,F(xiàn)lightgear軟件可以通過Udp進(jìn)行數(shù)據(jù)驅(qū)動(dòng)。對(duì)于仿真時(shí)保存的數(shù)據(jù)或?qū)嶋H飛行過程生成的遙測(cè)數(shù)據(jù),只要按照相關(guān)的通訊協(xié)議和相應(yīng)的時(shí)間間隔傳輸?shù)紽lightgear,同樣可以驅(qū)動(dòng)Flightgear軟件中飛機(jī)的三維顯示,這里不再詳細(xì)介紹。

      Flightgear軟件的通訊接口設(shè)置

      Flightgear軟件設(shè)置

      通訊接口采用Udp協(xié)議,在Flightgear軟件上的設(shè)置如圖4所示。

      其中,flightmodel界面的動(dòng)力學(xué)模型設(shè)置為external,意為采用外部傳過來(lái)的模型,而不采用軟件自帶的動(dòng)力學(xué)模型;

      傳輸協(xié)議界面,首先點(diǎn)擊new,新建傳輸協(xié)議,然后依次將Protocol設(shè)置為nativefdm,Medium設(shè)置為socket,Direction設(shè)置為in,Hz取5,端口選擇5500,選擇UDP模式。按上述步驟設(shè)置完成后,F(xiàn)lightgear軟件就準(zhǔn)備就緒。點(diǎn)擊run按鈕進(jìn)入運(yùn)行界面,等待外部信息的傳入。

      接口協(xié)議

      Udp協(xié)議需要按照一定的數(shù)據(jù)格式進(jìn)行傳輸,共28個(gè)變量,408個(gè)字節(jié)長(zhǎng)度。典型的傳輸變量見表1。這些變量能夠滿足三維顯示的需求。如需對(duì)飛機(jī)座艙進(jìn)行數(shù)據(jù)顯示,還可以將東向、北向、天向速度、加速度以及三軸角速度等進(jìn)行傳輸。由于我們的仿真為無(wú)人機(jī)仿真,不需要座艙顯示,因此速度信息并未傳輸。為了直觀,加入了舵面的顯示,當(dāng)無(wú)人機(jī)進(jìn)行左右轉(zhuǎn)彎或者爬升以及下滑時(shí),可以清晰地看到舵面的動(dòng)作。

      結(jié)論

      以往的影像數(shù)據(jù)多來(lái)自于攝像機(jī),雖然攝像機(jī)足夠高清,但當(dāng)飛機(jī)飛行速度增加時(shí),無(wú)法顯示滿足要求的高清影像,當(dāng)需要觀看動(dòng)態(tài)實(shí)況時(shí),由于缺少相應(yīng)手段,只能對(duì)遙測(cè)數(shù)據(jù)逐個(gè)分析,不便于形成整體概念。相比以往外場(chǎng)飛行或飛行后缺少相應(yīng)的三維影像的情況,仿真和回放數(shù)據(jù)能提供接近真實(shí)狀態(tài)的實(shí)時(shí)影像。因此,從某種程度上來(lái)說(shuō),本文提供了一種額外的視景手段,通過三維實(shí)時(shí)軟件,可以直觀地看到飛機(jī)運(yùn)行時(shí)的狀態(tài)。

      猜你喜歡
      通訊動(dòng)力學(xué)飛機(jī)
      《茶葉通訊》簡(jiǎn)介
      茶葉通訊(2022年2期)2022-11-15 08:53:56
      《茶葉通訊》簡(jiǎn)介
      茶葉通訊(2022年3期)2022-11-11 08:43:50
      通訊報(bào)道
      小天體環(huán)的軌道動(dòng)力學(xué)
      飛機(jī)失蹤
      “拼座飛機(jī)”迎風(fēng)飛揚(yáng)
      乘坐飛機(jī)
      通訊簡(jiǎn)史
      神奇飛機(jī)變變變
      基于隨機(jī)-動(dòng)力學(xué)模型的非均勻推移質(zhì)擴(kuò)散
      栖霞市| 宜君县| 乐山市| 车险| 鄂州市| 霍林郭勒市| 怀安县| 仙桃市| 荃湾区| 顺义区| 南漳县| 石林| 昌图县| 德格县| 崇文区| 嘉义市| 庄河市| 湖口县| 高州市| 开江县| 古浪县| 广平县| 萝北县| 含山县| 武宁县| 贵定县| 商洛市| 安塞县| 富源县| 重庆市| 若尔盖县| 壤塘县| 新蔡县| 象山县| 肇东市| 湘乡市| 泸定县| 周至县| 西盟| 沁源县| 马尔康县|