999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenGL的翼身調(diào)姿對接仿真系統(tǒng)開發(fā)①

2017-05-17 10:00:22沈建新南京航空航天大學(xué)機電學(xué)院南京210016
計算機系統(tǒng)應(yīng)用 2017年4期

徐 源, 沈建新(南京航空航天大學(xué) 機電學(xué)院, 南京 210016)

基于OpenGL的翼身調(diào)姿對接仿真系統(tǒng)開發(fā)①

徐 源, 沈建新
(南京航空航天大學(xué) 機電學(xué)院, 南京 210016)

針對一種由三軸定位器構(gòu)成的飛機翼身調(diào)姿對接系統(tǒng), 闡述其調(diào)姿對接流程, 通過機身、機翼軌跡規(guī)劃及其相應(yīng)的定位器運動學(xué)逆解, 實現(xiàn)其調(diào)姿算法. 采用面向?qū)ο蠹夹g(shù), 在Visual Studio 2010環(huán)境下利用OpenGL(Open Graphic Library)圖形庫函數(shù)開發(fā)翼身調(diào)姿對接仿真軟件, 結(jié)合定位器運動學(xué)方程和翼身軌跡規(guī)劃實現(xiàn)整個模型在軟件界面中的動態(tài)仿真, 仿真結(jié)果能夠直觀反映機身或機翼位姿及其動態(tài)過程, 驗證了翼身調(diào)姿對接算法的正確性.

軌跡規(guī)劃; 運動學(xué)逆解; OpenGL; 運動學(xué)仿真

飛機翼身調(diào)姿對接是飛機總裝的重要組成部分,傳統(tǒng)的裝配方式是利用固定工裝型架定位和人工對接裝配相結(jié)合的方法, 但其裝配效率低、人工操作困難等缺點已難以適應(yīng)現(xiàn)代飛機裝配的要求. 不斷提高飛機裝配柔性化、數(shù)字化、自動化的水平已成為飛機裝配技術(shù)發(fā)展的必然趨勢[1,2].

在飛機裝配的前期準備中, 運動仿真發(fā)揮著至關(guān)重要的作用. 三維環(huán)境中, 借助三維數(shù)字化模型, 采用三維裝配指令規(guī)劃方法, 即可實現(xiàn)裝配仿真. 提前模擬翼身調(diào)姿對接過程, 能夠及時發(fā)現(xiàn)運動中可能出現(xiàn)的問題, 為優(yōu)化調(diào)姿對接運動軌跡、指導(dǎo)工作人員操作提供平臺[3-5].

對于飛機翼身調(diào)姿對接仿真, 目前通常采用兩種方法, ①使用UG、Pro/E、SolidWorks、CATIA等三維軟件進行三維建模和運動仿真. 但其只能實現(xiàn)簡單的機構(gòu)仿真, 難以實現(xiàn)調(diào)姿對接過程中飛機部件在不同姿態(tài)下的調(diào)整, 也無法按照相應(yīng)的軌跡規(guī)劃進行仿真.②對上述三維軟件進行二次開發(fā), 雖然三維數(shù)據(jù)是統(tǒng)一的, 不需要進行模型的轉(zhuǎn)換, 但必須依賴原有軟件的功能, 不能獨立運行[6-9].

OpenGL是一種強大的圖形編程接口, 具有很好的三維建模能力, 不存在上述問題的限制[10]. 因此為了更直觀的模擬飛機翼身調(diào)姿對接現(xiàn)場, 通過嵌入正逆運動學(xué)、軌跡規(guī)劃等算法, 開發(fā)基于OpenGL和MFC的翼身調(diào)姿對接虛擬仿真實驗平臺. 運用計算機圖形學(xué)和虛擬現(xiàn)實技術(shù), 將整個平臺的三維數(shù)據(jù)及調(diào)姿對接數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的場景和運動, 最終實現(xiàn)飛機翼身調(diào)姿對接三維可視化仿真.

1 仿真系統(tǒng)框架概述

1.1 基于MFC的OpenGL應(yīng)用程序框架

OpenGL是一個跨編程語言的三維圖形軟件庫,具有較好的兼容性, 可在不同平臺的操作系統(tǒng)間進行移植[11]. 其本質(zhì)為底層圖形庫, 并不提供大量的實體圖元, 因此無法直接建立場景. 但是通過編寫的轉(zhuǎn)換讀取程序, 可將Pro/E、CATIA等軟件設(shè)計的模型轉(zhuǎn)換為OpenGL可繪制的頂點數(shù)組, 從而實現(xiàn)三維模型的讀取和顯示. 翼身調(diào)姿對接仿真軟件是在Windows系統(tǒng)下開發(fā)的, 但只通過OpenGL并不能實現(xiàn)可視化的界面管理. MFC是微軟基礎(chǔ)類庫, 以C++類的方式封裝了Windows API, 其中包含很多Windows控件和組件的封裝類[12]. 借助MFC圖形用戶界面的應(yīng)用程序框架, 可以快速完成仿真系統(tǒng)界面的設(shè)計, 提高仿真軟件開發(fā)的效率.

1.2 調(diào)姿對接系統(tǒng)流程

翼身調(diào)姿對接包括四個階段, 分別是: ①機身調(diào)姿; ②左機翼調(diào)姿; ③右機翼調(diào)姿; ④翼身對合. 機身調(diào)姿是通過獲取機身初始位姿和目標位姿實現(xiàn)機身軌跡的解算, 根據(jù)解算結(jié)果逆解出定位器各軸的驅(qū)動量,最終完成機身調(diào)姿. 左機翼調(diào)姿和右機翼調(diào)姿與機身調(diào)姿類似, 通過軌跡解算和逆解定位器各軸驅(qū)動量,實現(xiàn)機翼調(diào)姿. 翼身對合則是在完成機身和機翼調(diào)姿后, 機身固定不動, 機翼沿著對接方向平移, 從而實現(xiàn)機翼與機身的對合.

無論在哪一個階段, 都可以將調(diào)姿對接過程抽象為剛體位姿的調(diào)整問題, 即利用調(diào)姿對接算法, 最終實現(xiàn)機身或機翼從初始位置到目標位置的調(diào)整. 整個調(diào)整過程的系統(tǒng)圖如圖1所示.

圖1 翼身調(diào)姿對接系統(tǒng)圖

2 翼身調(diào)姿對接算法

2.1 定位器運動學(xué)逆解

機身與機翼調(diào)姿機構(gòu)類似, 均由三個三軸定位器及其相應(yīng)部件組成, 三個三軸定位器的基座固定在地面上, 機身、機翼則通過吸附在其表面的工藝接頭與定位器鉸接相連, 機身或機翼為調(diào)姿對接運動平臺.調(diào)姿機構(gòu)的運動學(xué)結(jié)構(gòu)簡圖如圖2所示. 其中Ni( i=1,2,3) 為第i個定位器, 三個定位器采用3-2-1自由度的方式安排[13], 即N1為三驅(qū)動定位器, N2為兩驅(qū)動定位器, N3為一驅(qū)動定位器.

由于三軸定位器接頭處固接在機身或機翼上, 其工藝接頭在機身或機翼局部坐標系下的位置固定, 定位器的6個驅(qū)動量為工藝接頭在全局坐標系下的變化值. 為了獲得機身、機翼局局部坐標系中工藝接頭在全局坐標系下的坐標, 可以通過坐標系原點之間的平移變換和坐標系軸的旋轉(zhuǎn)變換來實現(xiàn).

圖2 調(diào)姿平臺運動學(xué)結(jié)構(gòu)簡圖

設(shè)Om為全局坐標系, On為機身或機翼局部坐標系, 局部坐標系可由測量調(diào)姿基準點來確定[14],為第i個定位器的工藝接頭在全局坐標系下的坐標值,為第i個定位器工藝接頭在機身機翼局部坐標系下的坐標值,P為兩坐標系原點的差值.

對于平移變換, 只需要加上坐標系原點間的差值即可; 對于旋轉(zhuǎn)變換, 按照旋轉(zhuǎn)軸旋轉(zhuǎn)先后順序的不同, 可以分為繞X-Y-Z、X-Z-Y、Y-X-Z、Y-Z-X、Z-X-Y、Z-Y-X六種方式, 并且每次旋轉(zhuǎn)都是繞轉(zhuǎn)動后的新的軸進行變換, 每個旋轉(zhuǎn)矩陣從左往右乘, 相乘的順序與轉(zhuǎn)動的次序相同[15]. 六種方式對變化結(jié)果并無影響,只是在旋轉(zhuǎn)矩陣的公式上有所不同. 這里采用Z-Y-X歐拉角的順序來描述調(diào)姿部件的旋轉(zhuǎn)變換.

假設(shè)mO和nO重合, 首先將nO繞nz旋轉(zhuǎn)α角度,再繞ny旋轉(zhuǎn)β角度, 最后繞nx旋轉(zhuǎn)γ角度, 可得mO.

即得出旋轉(zhuǎn)變化矩陣為:

式子中c表示cos, s表示sin. 則工藝接頭球心處在全局坐標系下的坐標為:

第i個三軸定位器在x,y,z方向的位移表達式為:

其中eix=(1 0 0)T, eiy=(0 1 0)T, eiz=(001)T,通過上述確定調(diào)姿位姿后, 即可求出各個驅(qū)動位移的理論表達式.

2.2 五次多項式軌跡規(guī)劃

軌跡規(guī)劃主要是利用多項式、拋物線、樣條線以及不同曲線結(jié)合進行規(guī)劃. 在實際工程中, 常采用三次多項式進行軌跡規(guī)劃[16], 能夠得到光滑的位移和速度曲線, 但并不能得到較光滑的加速度曲線. 對于機身、機翼體積質(zhì)量較大的物體, 調(diào)姿過程應(yīng)注重其運動的平穩(wěn)性, 三次多項式并不能滿足其平穩(wěn)性的要求.通過增加多項式次數(shù)可以提高運動軌跡的平穩(wěn)性, 能夠得到光滑的加速度曲線, 因此采用五次多項式的方法對翼身調(diào)姿對接進行軌跡規(guī)劃.

由上一節(jié)坐標系變換可知, 對于機身或機翼空間位姿描述, 可由6個參數(shù)決定, 對應(yīng)的是機身、機翼局部坐標系相對于用于全局坐標系的3個平移量和3個旋轉(zhuǎn)量p( x, y, z,γ, β ,α) , 通過完成6個參數(shù)的變化,即可實現(xiàn)翼身調(diào)姿對接每個階段的調(diào)整.

對于上述6個位姿參數(shù), 每個參數(shù)的變化均按照五次多項式樣條進行擬合, 五次多項式函數(shù)中共有6個未知數(shù), 對其分別進行一階導(dǎo)、二階導(dǎo)的求解, 可得到機身和機翼調(diào)姿過程中速度、加速度關(guān)于時間t的函數(shù):

以任意一個位姿參數(shù)為例. 初始位姿時間和目標位姿時間為0、T, 對應(yīng)的角變化或位移為l0和lT, 這些值均已知, 且滿足條件:

對于多項式的起點和終點, 還需滿足二階連續(xù)的要求, 即起點和終點的速度及加速度要滿足條件:

在實際的工程實踐中, 調(diào)姿對接的初始速度和到達目標位姿的終止速度都應(yīng)為0. 另外, 為了使得調(diào)姿運動光滑連續(xù), 還應(yīng)滿足每個階段的初始加速度和到達目標位姿的終止加速度為0. 將式(7)、(8)中的六個條件代入公式(4)、(5)、(6), 聯(lián)立即可以解出五次多項式的六個系數(shù), 得出軌跡方程為:

3 仿真系統(tǒng)軟件設(shè)計

3.1 軟件設(shè)計步驟

首先利用Visual Studio 2010 中MFC模塊建立單文檔應(yīng)用程序, 并加載OpenGL庫中相應(yīng)的.dll文件、.lib文件和.h文件, 完成工程項目的基本設(shè)置[17].

其次利用OpenGL庫函數(shù)完成三維圖形應(yīng)用環(huán)境的初始化. 通過調(diào)用MFC中Picture類, 加載相應(yīng)控件,實現(xiàn)可視化界面的顯示.

在OpenGL中完成機身、機翼和定位器模型的繪制較為復(fù)雜, 可以利用三維軟件CATIA設(shè)計相關(guān)的模型, 再轉(zhuǎn)換為OBJ 3D模型文件格式. 通過編寫函數(shù)glmReadOBJ()和LoadModelsFromFiles()實現(xiàn)OBJ格式模型的讀入和顯示. 由于定位器接頭相對于機身或者機翼的位置固定, 在程序中通過添加幾何約束關(guān)系來實現(xiàn)各個部件有規(guī)律的運動.

為了實現(xiàn)翼身對接仿真各個角度及各個位置的觀察, 通過在仿真軟件中添加Button按鈕和鼠標響應(yīng),實現(xiàn)可視化仿真中調(diào)姿對接環(huán)境的平移和旋轉(zhuǎn).

3.2 雙緩沖技術(shù)

為了能夠連續(xù)動態(tài)的顯示整個翼身調(diào)姿對接過程,整個Picture繪圖控件會不斷的通過清除背景和重新繪制而刷新, 但這會造成仿真界面的閃爍, 利用雙緩沖技術(shù)可以解決這一問題.

建立SwapBuffers()雙緩沖區(qū)(前臺緩沖區(qū)和后臺緩沖區(qū))[18], 前臺緩沖區(qū)用來顯示, 后臺緩沖區(qū)則在內(nèi)存中, 每當調(diào)姿對接出現(xiàn)變化時, 先將幾何圖形的變換操作在后臺緩沖區(qū)進行, 再將進行的結(jié)果復(fù)制到前臺緩沖區(qū)屏幕上, 完成顯示. 讓使用者看到的是每一幀的調(diào)姿對接場景, 而不是調(diào)姿對接場景的繪制過程,從而避免刷新而導(dǎo)致畫面閃爍的問題.

3.3 軟件界面效果

仿真軟件包含四個階段的調(diào)姿對接部分, 每個階段還包含數(shù)據(jù)的存儲和導(dǎo)入. 部分仿真軟件效果圖如圖3所示.

圖3 調(diào)姿仿真軟件界面效果圖

3.4 軌跡分析

由于機身調(diào)姿與機翼調(diào)姿類似, 軌跡分析以右機翼調(diào)姿和翼身對合為例, 假設(shè)對應(yīng)的右機翼的初始位姿為(-540,1350,-200,, 目標位姿為(-500,1300,-50,0,0,0). 調(diào)姿時間共25s, 其中右機翼旋轉(zhuǎn)調(diào)姿時間為10s, 右機翼位置調(diào)整時間為5s, 翼身對合時間為10s, 且每次調(diào)姿過程都利用五次多項式進行插值計算, 則可獲得右機翼上一點的運動軌跡如圖4所示. 此軌跡是一條光滑連續(xù)的空間曲線, 滿足平穩(wěn)性的要求. 同時根據(jù)上述定位器驅(qū)動軸逆解, 求出相應(yīng)的驅(qū)動量, 如圖5所示. 從位移圖中可以看出,在0~15s的時間內(nèi), (a)~(f)為右機翼的調(diào)姿與位置調(diào)整;在15~25s時間, (a)為翼身對合調(diào)整, 其余(b)~(f)驅(qū)動位移量位未發(fā)生變化. 結(jié)果表明, 六個驅(qū)動軸接頭處的節(jié)點位移軌跡是連續(xù)的, 且運動位移量均在各軸的行程范圍之內(nèi).

圖4 飛機部件上一點軌跡圖

圖5 定位器驅(qū)動軸位移軌跡曲線

4 結(jié)論

仿真系統(tǒng)成功的利用MFC和OpenGL建立應(yīng)用程序框架, 并借助三軸定位器模型和飛機部件模型搭建了翼身調(diào)姿對接仿真系統(tǒng), 采用五次多項式的軌跡規(guī)劃方法實現(xiàn)翼身調(diào)姿對接的平穩(wěn)運動. 三維仿真系統(tǒng)能夠?qū)崟r動態(tài)顯示調(diào)姿對接的運動狀況, 運行可靠,從結(jié)果看仿真達到了預(yù)期效果, 為實際翼身調(diào)姿對接提供指導(dǎo)依據(jù).

1 鄒冀華,劉志存,范玉青,等.大型飛機部件數(shù)字化對接裝配技術(shù)研究.計算機集成制造系統(tǒng),2007,13(7):1367–1373.

2 王仲奇,楊元.飛機裝配的數(shù)字化與智能化.航空制造技術(shù),2016,(5):36–41.

3 王瑞利,丁慶增.基于OpenGL的3-RSS/S并聯(lián)機器人動態(tài)仿真.精密制造與自動化,2015,(3):37–39.

4 劉春,張洪瑞,史紅祥等.裝配仿真技術(shù)及其在飛機裝配中的應(yīng)用.航空制造技術(shù),2015,485(15):10–13.

5 李惠,張林鍹,肖田元,等.基于仿真控制的飛機大部件對接原型系統(tǒng)研究.航空制造技術(shù),2013,(22):90–94.

6 陳琳,戴駿,馮俊杰,等.基于OpenGL的多機器人仿真環(huán)境.組合機床與自動化加工技術(shù),2014,(9):10–13.

7 謝瑩瑩,鮑凱,馬曉光,等.基于DELMIA二次開發(fā)的轉(zhuǎn)向架三維裝配仿真系統(tǒng)的開發(fā).機械制造,2015,53(4):55–57.

8 屈力剛,苑俊超,白金蘭,等.前機身裝配平臺定位單元離線軌跡生成.機床與液壓,2014,(22):33–35,49.

9 付兵,胡飛飛,等.基于OpenGL的多機器人仿真實驗平臺研究及實現(xiàn).組合機床與自動化加工技術(shù),2016,(1): 20–23.

10閆林林,徐方,賈凱,等.Delta機器人運動控制及圖形軌跡的動態(tài)仿真.計算機工程與設(shè)計,2015,(8):2196–2200.

11 Richhard S. Wright, Lipchak B, Haemel N. 張琪,付飛,譯.OpenGL 超級寶典.北京:人民郵電出版社,2010.

12 祁若龍,周維佳,劉金國等.VC平臺下機器人虛擬運動控制及3D運動仿真的有效實現(xiàn)方法.機器人,2013,35(5): 594–599.

13 黃翔,李瀧杲,陳磊,等.民用飛機大部件數(shù)字化對接關(guān)鍵技術(shù).航空制造技術(shù),2010,(3):54–56.

14 董一巍,李曉琳,趙奇,等.大型飛機研制中的若干數(shù)字化智能裝配技術(shù).航空制造技術(shù),2016,(1):58–63.

15 姬金祖,束長勇,黃沛霖等.歐拉角在飛行航跡仿真中的應(yīng)用.南京航空航天大學(xué)學(xué)報,2014,46(2):218–224.

16 樂英,岳艷波.六自由度機器人運動學(xué)仿真及軌跡規(guī)劃.組合機床與自動化加工技術(shù),2016,4:89–92.

17 和克智,任鵬剛,許秦蓉,等.OpenGL編程技術(shù)詳解.北京:化學(xué)工業(yè)出版社,2010.

18 葉舸,田兆鋒,閆楚良等.基于OpenGL的飛機飛行實測數(shù)據(jù)可視化研究.航空學(xué)報,2011,32(6):1050–1057.

Development of Wing-Fuselage Adjustment-Docking Simulation System Based on OpenGL

XU Yuan, SHENG Jian-Xin
(College of Mechanical and Electrical Engineering, Nanjing University of Aeronautics & Astronautics, Nanjing 210016, China)

For a kind of system of aircraft wing-fuselage adjustment-docking which is composed of 3-axis positioners, this paper introduces the process of adjustment-docking, achieves adjustment-docking algorithm by planning trajectory of the wing-fuselage and solving the equation of inverse kinematic. The simulation software of wing-fuselage adjustment-docking is developed by using of object oriented technology and OpenGL library in environment of Visual Studio 2010. The dynamic simulation of the whole models in the software interface is accomplished by combining the kinematic equation of the positioner and the trajectory planning of the wing-fuselage. Results of simulation can be used to display the position and dynamic process of the wing and fuselage. It proves the correctness of adjustment-docking algorithm.

trajectory planning; inverse kinematic; OpenGL; kinematics simulation

航空科學(xué)基金(2013ZE52067)

2016-07-24;收到修改稿時間:2016-08-29

10.15888/j.cnki.csa.005702

主站蜘蛛池模板: 久草视频精品| 久久久久亚洲精品成人网| 一本视频精品中文字幕| 亚洲精品成人片在线播放| 国产无码精品在线播放| 天天干天天色综合网| 午夜国产精品视频| 老司机久久99久久精品播放 | 国产精品第一区在线观看| 午夜天堂视频| 国产精品精品视频| av在线人妻熟妇| 精品久久香蕉国产线看观看gif| 欧美国产日韩另类| 亚洲热线99精品视频| 午夜国产精品视频黄| 中文国产成人久久精品小说| 久久夜色精品| 国产精品高清国产三级囯产AV| 国产亚洲现在一区二区中文| 国产va在线观看免费| 尤物视频一区| 91年精品国产福利线观看久久 | 欧美精品成人| 日日拍夜夜嗷嗷叫国产| 国产亚洲高清视频| 久久人妻xunleige无码| 国产又色又爽又黄| 无码AV日韩一二三区| 中文字幕乱码二三区免费| 欧美有码在线| 中文字幕无码中文字幕有码在线| 国产精品第一区在线观看| 一区二区三区高清视频国产女人| 无码一区二区三区视频在线播放| 日韩在线播放中文字幕| 午夜视频免费一区二区在线看| 国产成年女人特黄特色毛片免 | 久久精品午夜视频| 日本三级欧美三级| 欧美一区二区三区欧美日韩亚洲 | 国产精品久久久久久久伊一| 911亚洲精品| 71pao成人国产永久免费视频 | 在线观看无码av免费不卡网站 | 欧洲高清无码在线| 伊人色婷婷| 国产va欧美va在线观看| 高清欧美性猛交XXXX黑人猛交 | 色噜噜综合网| 欧美日本激情| 全色黄大色大片免费久久老太| 青青草综合网| 亚洲成人在线免费观看| 国产在线观看第二页| 亚洲无码高清一区| 亚洲第一区精品日韩在线播放| 精品综合久久久久久97| 免费全部高H视频无码无遮掩| 亚洲成肉网| 国产精品午夜福利麻豆| 亚洲精品不卡午夜精品| 亚洲国产中文在线二区三区免| 2022精品国偷自产免费观看| 亚洲精品国产综合99久久夜夜嗨| 亚洲动漫h| 久操线在视频在线观看| 2020最新国产精品视频| 亚洲a级在线观看| 白浆视频在线观看| 中文精品久久久久国产网址| 999国内精品久久免费视频| 亚洲精品黄| 国产亚洲成AⅤ人片在线观看| 国产91丝袜| 婷婷色中文网| 久久综合亚洲鲁鲁九月天| 国产欧美日韩精品综合在线| 久久久久人妻一区精品| 国产一区二区精品高清在线观看| 欧美高清三区| 色综合网址|