機械裝備虛擬現(xiàn)實設(shè)計及實例分析 課件 第5章 裝備運動仿真關(guān)鍵技術(shù)_第1頁
機械裝備虛擬現(xiàn)實設(shè)計及實例分析 課件 第5章 裝備運動仿真關(guān)鍵技術(shù)_第2頁
機械裝備虛擬現(xiàn)實設(shè)計及實例分析 課件 第5章 裝備運動仿真關(guān)鍵技術(shù)_第3頁
機械裝備虛擬現(xiàn)實設(shè)計及實例分析 課件 第5章 裝備運動仿真關(guān)鍵技術(shù)_第4頁
機械裝備虛擬現(xiàn)實設(shè)計及實例分析 課件 第5章 裝備運動仿真關(guān)鍵技術(shù)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第五章裝備運動仿真關(guān)鍵技術(shù)戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造目錄CONTENTS5.1 運動仿真總體思路5.2 父子關(guān)系5.3 液壓支架運動仿真5.4 采煤機運動仿真5.5 刮板輸送機運動仿真5.1運動仿真總體思路戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1虛擬現(xiàn)實環(huán)境中默認不具備物理意義上的運動約束,要想實現(xiàn)運動仿真首先就要對裝備模型進行姿態(tài)解析。根據(jù)其工作運動原理,分析并揭示其運動過程中的不同部件之間角度、長度等一系列參數(shù)變化的規(guī)律。以此運動解析為基礎(chǔ),再編寫控制腳本。父子關(guān)系構(gòu)建姿態(tài)解析編寫腳本目錄CONTENTS5.1 運動仿真總體思路5.2父子關(guān)系5.2.1 父子關(guān)系的功能5.2.2 父子關(guān)系的構(gòu)建方法5.2.3 父子關(guān)系的脫離5.3 液壓支架運動仿真5.4 采煤機運動仿真5.5 刮板輸送機運動仿真5.2父子關(guān)系戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1 Unity3d中、父子關(guān)系是層級(Hierarehy)視圖中的基本組織結(jié)構(gòu)。它是指一個對象附屬于另一個對象,而且一個父物體可以附帶多個子物體。

父子關(guān)系在Unity3d中的作用主要體現(xiàn)在變換繼承、層級組織、局部坐標系、批量操作等方面。合理利用父子關(guān)系可以使得機械裝備的虛擬仿真更加結(jié)構(gòu)化、易于管理和高效。5.2.1父子關(guān)系的功能5.2.1父子關(guān)系的功能戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1(1)繼承性

在父子關(guān)系中,子對象會繼承父對象的變換(Transform)屬性,包括移動、旋轉(zhuǎn)和縮放。5.2父子關(guān)系5.2.1父子關(guān)系的功能戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1(2)局部獨立性

子對象的移動和旋轉(zhuǎn)僅僅是相對于其父對象的局部坐標系。(3)層級性。

可以對多個物體進行批量化管理和操作。5.2父子關(guān)系戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1Transform.Position(全局)和Transform.localPosition(局部)全局坐標系全局坐標系是Unity場景的絕對坐標系統(tǒng),所有對象都基于這個坐標系統(tǒng)進行放置。在全局坐標系中,(0,0,0)點是整個場景的中心點,也叫做“世界原點”。全局坐標系中的軸始終是固定的,X軸向右,Y軸向上,Z軸向前(默認情況下)。如果你獲取物體的transform.Position,你獲得的是該物體相對于全局坐標系的絕對位置局部坐標系局部坐標系是相對于某個對象自身的坐標系統(tǒng)。每個物體在Unity中都有自己的局部坐標系。局部坐標系的(0,0,0)點是物體的中心點,或者說是物體的“本地原點”。局部坐標系的軸是相對物體的方向,它會隨著物體的旋轉(zhuǎn)而改變方向。如果你操作物體的transform.localPosition,是在更改它在局部坐標系中的位置。5.2.1父子關(guān)系的功能5.2父子關(guān)系5.2.2父子關(guān)系的構(gòu)建戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1A.transform.SetParent(B)

//將B設(shè)置為A的父物體(1)編輯器構(gòu)建:在Hierarchy層級視圖中,鼠標左鍵長按物體A,拖動至B松開鼠標,則使B成為A的父物體。(2)代碼實現(xiàn):聲明變量,并在Start函數(shù)中調(diào)用方法實現(xiàn)父子關(guān)系的初次綁定。5.2父子關(guān)系5.2.2父子關(guān)系的構(gòu)建戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1(1)編輯器構(gòu)建:在Hierarchy層級視圖中,鼠標左鍵長按物體A,拖動至B松開鼠標,則使B成為A的父物體。(2)代碼實現(xiàn):聲明變量,并在Start函數(shù)中調(diào)用方法實現(xiàn)父子關(guān)系的初次綁定。5.2父子關(guān)系5.2.3父子關(guān)系的脫離戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1(1)編輯器脫離:在Hierarchy層級視圖中,鼠標左鍵長按物體B層級下的物體A,長按拖動其脫離物體B的子層級,實現(xiàn)父子關(guān)系的斷開。(2)代碼實現(xiàn):聲明變量,調(diào)用特定方法實現(xiàn)父子關(guān)系的脫離。A.transform.SetParent(null)

//將A的父物體設(shè)為空B.DetachChildren();//解除B的所有子物體5.2父子關(guān)系5.2.3父子關(guān)系的脫離戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1(1)編輯器脫離:在Hierarchy層級視圖中,鼠標左鍵長按物體B層級下的物體A,長按拖動其脫離物體B的子層級,實現(xiàn)父子關(guān)系的斷開。(2)代碼實現(xiàn):聲明變量,調(diào)用特定方法實現(xiàn)父子關(guān)系的脫離。5.2父子關(guān)系目錄CONTENTS5.1 運動仿真總體思路5.2父子關(guān)系5.3 液壓支架運動仿真5.3.1 液壓支架父子關(guān)系構(gòu)建5.3.2 液壓支架姿態(tài)解析5.3.3 液壓支架腳本邏輯5.4 采煤機運動仿真5.5 刮板輸送機運動仿真5.3液壓支架運動仿真戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1虛擬現(xiàn)實環(huán)境中默認不具備物理意義上的運動約束,要想實現(xiàn)運動仿真首先就要對裝備模型進行姿態(tài)解析。根據(jù)其工作運動原理,分析并揭示其運動過程中的不同部件之間角度、長度等一系列參數(shù)變化的規(guī)律。以此運動解析為基礎(chǔ),再編寫控制腳本。父子關(guān)系構(gòu)建姿態(tài)解析編寫腳本戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3.1液壓支架父子關(guān)系構(gòu)建5.3液壓支架運動仿真后連桿前連桿掩護梁護幫板底座頂梁伸縮梁前立柱后立柱戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3液壓支架運動仿真5.3.1液壓支架父子關(guān)系構(gòu)建底座部分父子關(guān)系連桿部分父子關(guān)系立柱部分父子關(guān)系戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3液壓支架運動仿真5.3.1液壓支架父子關(guān)系構(gòu)建實現(xiàn)方式:①通過從Hierarchy窗口直接長按物體拖動到另一物體上實現(xiàn);②通過腳本編寫C#代碼,調(diào)用Unity引擎中的構(gòu)建父子關(guān)系的特定方法實現(xiàn)創(chuàng)建腳本各部件Transform的聲明//聲明底座publicTransformdizuo;//聲明前連桿一脈publicTransformxiaozhou_qianliangan;publicTransformqianliangan;//聲明后連桿一脈publicTransformxiaozhou_houliangan;publicTransformhouliangan;publicTransformxiaozhou_yanhuliang;publicTransformYanHuLiang;publicTransformyanhuliang_CeHu;publicTransformxiaozhou_qianlianganshang;publicTransformxiaozhou_dingliang;publicTransformDingLiang;publicTransformxiaozhou_houlizhushang;publicTransformxiaozhou_qianlizhushang;……5.3.1液壓支架父子關(guān)系構(gòu)建戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3液壓支架運動仿真publicTransformdizuo;//定義底座transform組件變量publicTransformxiaozhou—houlianganxia;//定義后連桿銷軸transform組件變量publicTransformxiaozhou—qianlianganxia;//定義前連桿銷軸transform組件變量Xiaozhou-qianlianganxia=dizuo.transform.GetChild(0).transform;//前連桿銷軸作為液壓支架底座的第一個子物體Xiaozhou-houlianganxia=dizuo.transform.GetChild(1).transform;//后連桿銷軸作為液壓支架底座的第二個子物體構(gòu)建父子關(guān)系的語句戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造1液壓支架的姿態(tài)解析主要為液壓支架四連桿機構(gòu)的解析、四連桿機構(gòu)與頂梁的協(xié)同解析、四連桿機構(gòu)和頂梁與前后立柱之間的協(xié)同解析。5.3.2液壓支架的姿態(tài)解析5.3液壓支架運動仿真符號意義θ后連桿傾角δ頂梁傾角Φ前后連桿連線與水平面夾角β前連桿傾角γ掩護梁傾角η前立柱與底座夾角ε后立柱與底座夾角戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3.2液壓支架的姿態(tài)解析

已知L1、L2、L3、L4、L5、θ和φ等結(jié)構(gòu)參數(shù),設(shè)求β和γ

5.3液壓支架運動仿真5.3.3液壓支架腳本邏輯戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3液壓支架運動仿真(1)局部坐標系與全局坐標系的建立

5.3.3液壓支架腳本邏輯戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3液壓支架運動仿真(2)液壓支架各動作實現(xiàn)建立液壓支架的狀態(tài)State推溜(0)、收護幫板(1)、降柱(2)、移架(3)、升柱(4)、伸護幫板(5)。運用switch…case…語句來實現(xiàn)幾個不同狀態(tài)情況下隨著采煤機位置的變化而自動切換各自的運行狀態(tài)。m、n和q分別為收護幫工藝、移架工藝和推溜工藝的參數(shù)。5.3.3液壓支架腳本邏輯戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3液壓支架運動仿真(3)液壓支架速度求解

5.3.3液壓支架腳本邏輯戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3液壓支架運動仿真(3)液壓支架速度求解Unity可以對每秒刷新的幀數(shù)進行設(shè)置,在Edit—ProjectSetting—Quality的“VSyncCount”選項改為“Don’tSync”,然后添加修改幀數(shù)代碼:Application.targetFrameRate=targetFrameRate;//targetFrameRate=10表示程序一秒執(zhí)行10幀,對應(yīng)的Update函數(shù)執(zhí)行10次。假設(shè)升柱過程中,頂梁上升200mm,根據(jù)前面位姿解算結(jié)果,對應(yīng)的后立柱上升201.834mm,計算可得,升柱過程時間為14.46s,所以每幀增量為201.834/(14.46×10)=1.39mm。后立柱傾角由86.8度變到86.6度,然后通過if語句循環(huán)實現(xiàn)油缸伸長:if(DiZuoHouLiZhuShenChang<201.834f){

DiZuoHouLiZhuShenChang+=1.39f;}5.3.3液壓支架腳本邏輯戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3液壓支架運動仿真(5)移架與推溜過程的父子關(guān)系變換由于頂梁作為掩護梁的子物體,會隨著掩護梁的轉(zhuǎn)動而轉(zhuǎn)動,因此應(yīng)該對頂梁在掩護梁轉(zhuǎn)動方向的反方向進行相應(yīng)的角度補償,保證頂梁姿態(tài)正確。頂梁傾角由頂梁傾角變量獨自驅(qū)動,并在掩護梁動作過程中消除掩護梁角度變化影響,由如下代碼實現(xiàn):YanHuDingLiangXiaoZhou.localRotation=newQuaternion(0,0,Mathf.Sin((DingLiangRotAngle-YanHuLiangQing

JiaoAngle)*Mathf.PI/360),Mathf.Cos((DingLiangRotAngle-YanHuLiangQing

JiaoAngle)*Mathf.PI/360));在推溜完畢后,必須將推移油缸桿和推移油缸體父與子關(guān)系暫時分離,用以下代碼實現(xiàn):TuiYiYouGangTi.transform.DetachChildren();在移架完畢后,再次將推移桿的父物體設(shè)置為推移油缸體,并再次跟隨父物體一起運動:TuiYiYouGangGan.transform.parent=TuiYiYouGangTi;(4)頂梁抵消掩護梁轉(zhuǎn)動角度5.3.3液壓支架腳本邏輯戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.3液壓支架運動仿真(6)實際工況下的液壓支架姿態(tài)聲明Transform組件聲明Float類型計算變量(7)完整的代碼邏輯定義采煤機的俯仰角、橫滾角和偏航角為綜采工作面的俯仰角、橫滾角和偏航角。這三個角度的相互變化顯示液壓支架實際工作過程中的變化,進而也顯示綜采工作面地形條件發(fā)生的變化,用以下代碼實現(xiàn):transform.eulerAngles=newVector3(RollAngle,YawAngle,PitchAngle);調(diào)用動作方法,執(zhí)行判斷邏輯聲明變量區(qū)Start函數(shù)FixedUpdate函數(shù)變量初始化賦值、父子關(guān)系構(gòu)建動作方法聲明區(qū)編寫動作方法執(zhí)行邏輯目錄CONTENTS5.1 運動仿真總體思路5.2父子關(guān)系5.3 液壓支架運動仿真5.4

采煤機運動仿真5.4.1 采煤機父子關(guān)系構(gòu)建5.4.2 采煤機姿態(tài)解析5.4.3 采煤機腳本邏輯5.5 刮板輸送機運動仿真戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.4.1采煤機父子關(guān)系構(gòu)建5.4采煤機運動仿真publicTransformJiShen;//定義采煤機機身變量YouJiShen=CaiMeiJi.transform.GetChild(0).transform;//右機身是采煤機的第一個子物體戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.4.2采煤機姿態(tài)解析采煤機姿態(tài)示意圖5.4采煤機運動仿真

戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.4.3采煤機腳本邏輯5.4采煤機運動仿真采煤機主要動作有機身的變速移動,搖臂的旋轉(zhuǎn),調(diào)高油缸的伸長收縮與旋轉(zhuǎn),滾筒的旋轉(zhuǎn)。if(Youlong<699f){YouYaoBiLianDong(YouRotAngle);Youlong+=Youinc;}publicvoidYouYaoBiLianDong(floatYouRotAngle){YouYouGangAngle=Mathf.Acos((1693f*1693f+1630f*1630f-985f*985f)/(2f*1693f*1630f))-Mathf.Acos(((1693f-Youlong)*(1693f-Youlong)+1630f*1630f–985f*985f)/(2f*(1693f-Youlong)*1630f));//右調(diào)高油缸的轉(zhuǎn)動角度youyaobixiaozhou.localRotation=newQuaternion(0,0,Mathf.Sin(-0.5f*YouRotAngle),Mathf.Cos(-0.5f*YouRotAngle));//右搖臂銷軸的轉(zhuǎn)動角度youtuiyiyougangxiaozhou.localRotation=newQuaternion(0,0,Mathf.Sin(0.5f*(-YouYouGangAngle)),Mathf.Cos(0.5f*(-YouYouGangAngle)));//右調(diào)高油缸銷軸的轉(zhuǎn)動角度youtuigan.localPosition=newVector3(-13f+Youlong/100f,0f,0f);//控制右調(diào)高油缸推桿伸縮量}采煤機搖臂動作函數(shù)聲明采煤機搖臂動作函數(shù)調(diào)用目錄CONTENTS5.1 運動仿真總體思路5.2父子關(guān)系5.3 液壓支架運動仿真5.4采煤機運動仿真5.5

刮板輸送機運動仿真5.4.1 刮板機父子關(guān)系構(gòu)建5.4.2 刮板機姿態(tài)解析5.4.3 刮板機腳本邏輯5.5.1刮板機父子關(guān)系構(gòu)建戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.5刮板輸送機運動仿真publicTransformJiWei;//定義刮板機機尾變量JiWeiXiaoZhou1=CaiMeiJi.transform.GetChild(0).transform;//機尾銷軸1是刮板機的第一個子物體戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.5.2刮板機姿態(tài)解析5.5刮板輸送機運動仿真

戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.5.3刮板機腳本邏輯5.5刮板輸送機運動仿真對場景中的中部槽編號,并給每一節(jié)中部槽添加銷軸。刮板輸送機彎曲過程中,各節(jié)中部槽繞銷軸有微小轉(zhuǎn)動,為每個銷軸定義變量數(shù)組,通過對銷軸數(shù)組變量的操作,實現(xiàn)刮板輸送機的彎曲。在Gbj.cs腳本中對銷軸變量進行賦值,編寫QianDuan()、HouDuan()函數(shù),控制刮板輸送機的前9節(jié)中部槽及9節(jié)以后的中部槽彎曲。虛擬刮板輸送機彎曲段形成:聲明函數(shù)QianDuan()用于控制刮板輸送機前9節(jié)中部槽推溜,形成第一個彎曲段。彎曲過程如下:液壓支架1推溜,推動中部槽1前進1/9個采煤機截深,與之相連的中部槽2前銷軸與中部槽1后銷軸銷軸坐標一致,同時,中部槽2繞父物體旋轉(zhuǎn);液壓支架2推溜時,中部槽1繼續(xù)向前推溜1/9個采煤機截深,中部槽2與中部槽3的連接處銷軸坐標一致,同時,中部槽3繞父物體旋轉(zhuǎn);以此類推,直到9個中部槽形成“S”彎曲段。戰(zhàn)略性新興領(lǐng)域教材建設(shè)團隊-重型高端裝備制造15.5.3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論