• 
    

    
    

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

      鏡像銑支撐端與銑削端之間的碰撞檢測(cè)算法研究

      2019-06-24 12:28:30陳志華
      制造業(yè)自動(dòng)化 2019年2期
      關(guān)鍵詞:球心碰撞檢測(cè)流程圖

      陳志華,姚 彬,劉 克,劉 鋼,石 璟

      (1.上海工程技術(shù)大學(xué),上海 201620;2.上海拓璞數(shù)控科技股份有限公司,上海 201113;3.江麓機(jī)電集團(tuán)有限公司,湘潭 411004;4.四川航天長(zhǎng)征裝備制造有限公司,成都 610100)

      0 引言

      目前,航空航天中蒙皮的加工主要采用傳統(tǒng)的化銑加工,存在壁厚精度難以保證、高消耗、高污染的問題。國(guó)內(nèi)部分航空航天蒙皮的加工則采用先銑后彎的形式,存在應(yīng)力集中和滾彎質(zhì)量缺陷問題。因此,急需發(fā)展蒙皮的高效、精確、綠色制造技術(shù)[1]。雙五軸鏡像銑設(shè)備是實(shí)現(xiàn)蒙皮等薄壁工件高效率、高精度加工的有效工具[2,3]。由于雙五軸鏡像銑設(shè)備在傳統(tǒng)五軸數(shù)控機(jī)床的基礎(chǔ)上增加了支撐端的五軸結(jié)構(gòu),對(duì)于銑削端和支撐端之間的碰撞檢測(cè)不可忽視。

      目前,包圍盒法是最常用的碰撞檢測(cè)算法。包圍盒算法有AABB包圍盒、OBB包圍盒、包圍球和k-DOP等[4]。在此基礎(chǔ)上,一些國(guó)內(nèi)學(xué)者對(duì)其進(jìn)行了改進(jìn),如趙偉等[5]提出了一種基于混合包圍體的OpenMP并行化碰撞檢測(cè)算法。利用OpenMP并行模型來并行遍歷混合包圍體層次,進(jìn)一步加速碰撞檢測(cè)過程。趙鑫等[6]結(jié)合人工智能技術(shù)的隨機(jī)碰撞檢測(cè)算法,將群智能中經(jīng)典的粒子群優(yōu)化算法引入改進(jìn)的隨機(jī)碰撞檢測(cè)算法中,利用最基本的粒子群優(yōu)化搜索技術(shù),以包圍基本幾何元素的OBB包圍盒作為基本特征對(duì)象,實(shí)現(xiàn)了復(fù)雜剛體之間的碰撞檢測(cè)。

      本文在AABB包圍盒和包圍球的基礎(chǔ)上,針對(duì)雙五軸鏡像銑在運(yùn)動(dòng)過程中的旋轉(zhuǎn)變換提出一種AABB包圍盒與包圍球相結(jié)合的包圍體。與原有AABB包圍盒在旋轉(zhuǎn)變換中的不斷實(shí)時(shí)更新對(duì)比,基于包圍球的AABB包圍盒模型具有較強(qiáng)的適應(yīng)性和簡(jiǎn)便性,能夠適用于復(fù)雜的大型機(jī)床;基于離散碰撞算法,分析了包圍盒碰撞檢測(cè)算法與GJK算法的特性,得出適用于雙五軸鏡像銑機(jī)床的防碰撞算法;通過C++和OpenGL庫函數(shù)進(jìn)行了仿真驗(yàn)證。

      1 雙五軸鏡像銑機(jī)床支撐端和銑削端的全尺寸模型的建立

      1.1 軸對(duì)齊包圍盒(AABB)與包圍球模型簡(jiǎn)介

      1.1.1 軸對(duì)齊包圍盒(AABB)模型

      軸對(duì)齊包圍盒AABB是一種最常用的包圍體[7]。在三維空間內(nèi),AABB是一個(gè)具有六面盒裝的長(zhǎng)方體,且其面皆平行于給定的坐標(biāo)軸。AABB最大的優(yōu)點(diǎn)在于模型建立方便,并能進(jìn)行快速的碰撞檢測(cè),即根據(jù)各點(diǎn)在坐標(biāo)軸上相應(yīng)的坐標(biāo)值判斷是否發(fā)生碰撞。

      AABB包圍盒建立有三種方式。第一種是根據(jù)各坐標(biāo)軸上的最大值和最小值建立包圍盒,二維情況下的示意圖如圖1所示。

      圖1 最小值-最大值

      第二種是根據(jù)最小值和各軸向?qū)挾戎到鼑校鐖D2所示。

      圖2 最小值-寬度

      第三種是根據(jù)中心位置和各軸向半徑建立包圍盒,如圖3所示。

      圖3 中心位置-半徑

      若物體只有平移運(yùn)動(dòng),第二種和第三種構(gòu)建方式比較方便,當(dāng)有旋轉(zhuǎn)運(yùn)動(dòng)時(shí),第一種構(gòu)建方式更為緊湊可靠。

      1.1.2 包圍球模型

      包圍球和AABB、OBB、k-DOP等包圍盒相比是一種非常簡(jiǎn)便的包圍體,它具有快速檢測(cè)碰撞的特性,當(dāng)用于帶有旋轉(zhuǎn)變換的復(fù)雜物體時(shí),包圍球不需要作任何更新,只需要考慮物體的平移,這是包圍球的一大優(yōu)點(diǎn)。當(dāng)幾何對(duì)象在運(yùn)動(dòng)過程中具有頻繁的旋轉(zhuǎn)運(yùn)動(dòng)時(shí),包圍球是極好的選擇。

      在建立包圍球時(shí),由于各頂點(diǎn)的權(quán)值不同,采用物體所有頂點(diǎn)的幾何中心點(diǎn)作為包圍球的球心是不符合要求的??梢赃x擇物體各頂點(diǎn)之間距離最遠(yuǎn)的兩個(gè)點(diǎn),以它們的中點(diǎn)和距離作為球心與直徑,這樣建立的包圍球模型具有更高的可靠性。二維情況下的示意圖如圖4所示。

      圖4 包圍球

      1.2 雙五軸鏡像銑防碰撞模型的建立

      1.2.1 基于原有AABB包圍盒建立防碰撞模型

      雙五軸鏡像銑機(jī)床由銑削端和支撐端組成,兩端帶有旋轉(zhuǎn)變換,如圖5所示。

      圖5 支撐端與銑削端結(jié)構(gòu)

      若用AABB包圍盒建立模型,當(dāng)物體在運(yùn)動(dòng)過程中發(fā)生旋轉(zhuǎn)變換時(shí),AABB處于非對(duì)齊狀態(tài),需要重新計(jì)算包圍體。對(duì)銑削端和支撐端包圍盒進(jìn)行運(yùn)動(dòng)學(xué)變換,需要建立雙五軸鏡像銑機(jī)床坐標(biāo)系,如圖6所示。

      圖6 雙五軸鏡像銑坐標(biāo)系假設(shè)

      A軸與B軸之間的旋轉(zhuǎn)變換:

      A軸與C軸之間的旋轉(zhuǎn)變換:

      其中:

      分別代入式(1)、式(2),得:

      由以上運(yùn)算可知,雙五軸鏡像銑進(jìn)行實(shí)時(shí)碰撞檢測(cè)中采用原有AABB包圍盒建立模型,需要在每次支撐端或銑削端發(fā)生旋轉(zhuǎn)變換時(shí)重復(fù)式(1)或式(2)運(yùn)算,重新建立旋轉(zhuǎn)后的包圍盒,這會(huì)使整個(gè)建模過程變得復(fù)雜,并且會(huì)影響整個(gè)系統(tǒng)運(yùn)算速度,不適用于大型機(jī)床碰撞檢測(cè)。

      1.2.2 采用基于包圍球的AABB建立防碰撞模型

      用建立包圍球模型方法在任意方向上包圍帶有旋轉(zhuǎn)變換的物體,分別計(jì)算物體各個(gè)元素頂點(diǎn)在x、y、z坐標(biāo)下的最小值和最大值,并以它們的中點(diǎn)為球心,球心到最大值頂點(diǎn)的距離為半徑;然后以包圍球尺寸作為AABB包圍盒外圍參考尺寸;最后通過C++與OpenGL庫函數(shù)進(jìn)行圖形可視化,如圖7所示。

      圖7 支撐側(cè)與銑削側(cè)模型

      基于包圍球的AABB包圍盒與不斷更新的AABB包圍盒相比更適用于雙五軸鏡像銑防碰撞模型。當(dāng)支撐端或銑削端在運(yùn)動(dòng)過程中有旋轉(zhuǎn)和平移變換時(shí),只需考慮平移變換。

      2 雙五軸鏡像銑碰撞檢測(cè)算法的實(shí)現(xiàn)

      動(dòng)態(tài)碰撞算法分為離散碰撞算法和連續(xù)碰撞算法[8]。本文采用離散碰撞算法,在每一時(shí)間的離散點(diǎn)上采用靜態(tài)的方法實(shí)現(xiàn)。

      2.1 包圍球碰撞檢測(cè)算法

      當(dāng)采用包圍球碰撞檢測(cè)算法時(shí),只需計(jì)算出兩個(gè)球心距離和它們半徑之和R,如圖8所示。

      圖8 包圍球碰撞檢測(cè)算法流程圖

      包圍球碰撞檢測(cè)算法與AABB、OBB、k-DOP等包圍盒碰撞檢測(cè)算法相比,不需要考慮旋轉(zhuǎn)變換,只需要考慮平移變換,并且它的算術(shù)操作包含更少的語句和數(shù)據(jù)存取,碰撞檢測(cè)速度更快。

      2.2 AABB包圍盒算法

      AABB包圍盒與包圍球、OBB、k-DOP等包圍盒相比,更具有直觀性,若是AABB在三個(gè)坐標(biāo)軸下都相交,則判斷AABB之間發(fā)生碰撞。以最小值-最大值方式建立的AABB包圍盒碰撞檢測(cè)流程圖如圖9所示。

      2.3 GJK算法

      文章以AABB包圍盒與包圍球相結(jié)合建立了雙五軸鏡像銑支撐端與銑削端的包圍盒,碰撞檢測(cè)在兩個(gè)包圍盒上進(jìn)行?;诎鼑虻腁ABB包圍盒既可以通過包圍球算法來檢測(cè)兩個(gè)包圍盒是否發(fā)生碰撞,也可以通過兩個(gè)AABB包圍盒在三個(gè)坐標(biāo)軸下是否均發(fā)生相交進(jìn)行判斷,但是這兩種方式僅僅用于判斷兩個(gè)物體是否發(fā)生碰撞,無法在實(shí)際應(yīng)用中檢測(cè)兩個(gè)物體最近點(diǎn)之間的距離。

      GJK是一種適合用于檢測(cè)物體之間的相交問題的算法,該算法通過兩個(gè)物體所有頂點(diǎn)集并可計(jì)算出該集合物體間的距離。GJK算法判斷兩物體之間是否發(fā)生碰撞的原理是:如果兩個(gè)物體的Minkowski差形狀中不包括原點(diǎn),則這兩個(gè)物體不會(huì)碰撞,否則可以判斷兩物體會(huì)發(fā)生碰撞,在二維空間中的示意圖如圖10所示。

      圖9 AABB包圍盒碰撞檢測(cè)算法流程圖

      圖10 GJK算法-Minkowski差

      GJK算法也可以計(jì)算兩個(gè)物體之間的距離,在兩個(gè)物體穿透深度比較小的情況下,可用它判定物體之間的碰撞,其原理是兩個(gè)物體之間的距離等價(jià)于它們的Minkowski差與原點(diǎn)的距離,在二維空間下示意圖如圖11所示。

      圖11 GJK算法-最近距離

      GJK算法可以不顯示計(jì)算物體之間的Minkowski差,只需要知道它們的Minkowski差是否包含原點(diǎn),可以在Minkowski差形狀中迭代地創(chuàng)建單純形,使得單純形包含到原點(diǎn)的最近點(diǎn)。

      為實(shí)現(xiàn)雙五軸鏡像銑支撐端與銑削端之間的碰撞檢測(cè),只需在建立的包圍盒上采用GJK算法計(jì)算出兩包圍盒之間距離。碰撞檢測(cè)算法流程圖如圖12所示。

      圖12 鏡像銑碰撞檢測(cè)算法流程圖

      3 仿真結(jié)果與分析

      在包含C++與OpenGL庫函數(shù)的平臺(tái)上進(jìn)行雙五軸鏡像銑支撐端與銑削端的碰撞檢測(cè)仿真。當(dāng)支撐端或銑削端運(yùn)動(dòng)到某一點(diǎn)發(fā)生旋轉(zhuǎn)變換時(shí),將本文基于包圍球的AABB包圍盒法與更新AABB包圍盒法對(duì)比分析,連續(xù)采樣多個(gè)點(diǎn)進(jìn)行檢測(cè),程序運(yùn)行時(shí)間對(duì)比如圖13所示。

      圖13 兩包圍盒運(yùn)行時(shí)間對(duì)比

      由圖13可見,運(yùn)動(dòng)到同一點(diǎn)建立模型時(shí),基于包圍球的AABB包圍盒與不斷更新AABB包圍盒法相比較,縮短了運(yùn)行時(shí)間,提高了建模速度,符合實(shí)時(shí)性要求。

      在碰撞檢測(cè)中,雙五軸鏡像銑機(jī)床分別在x軸方向、y軸方向與z軸方向通過GJK算法對(duì)兩側(cè)包圍盒進(jìn)行實(shí)時(shí)距離檢測(cè),一旦兩個(gè)包圍盒之間的距離達(dá)到給定安全值時(shí),則發(fā)生報(bào)警并停止運(yùn)動(dòng)。在Z軸方向進(jìn)行實(shí)時(shí)碰撞檢測(cè)的示意圖如圖14所示。

      圖14 Z軸方向碰撞檢測(cè)

      4 結(jié)束語

      本文利用AABB包圍盒和包圍球各自的優(yōu)點(diǎn),對(duì)雙五軸鏡像銑的銑削端和支撐端建立基于包圍球的AABB包圍盒,此模型無需在機(jī)床運(yùn)動(dòng)過程中考慮旋轉(zhuǎn)變換問題;分析了包圍盒碰撞檢測(cè)法和GJK算法的優(yōu)缺點(diǎn),在基于包圍球的AABB包圍盒上通過GJK算法進(jìn)行實(shí)時(shí)碰撞檢測(cè)。結(jié)果證明基于包圍球的AABB包圍盒模型與GJK算法能有效地應(yīng)用于雙五軸鏡像銑設(shè)備的碰撞檢測(cè)。

      猜你喜歡
      球心碰撞檢測(cè)流程圖
      直擊多面體的外接球的球心及半徑
      全新預(yù)測(cè)碰撞檢測(cè)系統(tǒng)
      基于BIM的鐵路信號(hào)室外設(shè)備布置與碰撞檢測(cè)方法
      Unity3D中碰撞檢測(cè)問題的研究
      ?如何我解決幾何體的外接球問題
      例析確定球心位置的策略
      畫好草圖,尋找球心
      專利申請(qǐng)審批流程圖
      河南科技(2016年8期)2016-09-03 08:08:22
      專利申請(qǐng)審批流程圖
      河南科技(2016年6期)2016-08-13 08:18:29
      BIM技術(shù)下的某辦公樓項(xiàng)目管線碰撞檢測(cè)
      富民县| 旅游| 河曲县| 渑池县| 巴塘县| 沙雅县| 盐津县| SHOW| 疏附县| 左权县| 怀柔区| 三都| 宾川县| 洛隆县| 启东市| 天祝| 山东| 靖江市| 承德县| 宁晋县| 新竹县| 建湖县| 通江县| 高要市| 龙山县| 夏邑县| 萍乡市| 格尔木市| 彭州市| 湖州市| 新和县| 玉龙| 依安县| 安乡县| 宜丰县| 郴州市| 依安县| 大安市| 邵东县| 牙克石市| 平顺县|