專利名稱:用于葉片生產線的多層次動態碰撞檢測方法及系統的制作方法
技術領域:
本發明涉及自動化領域,具體而言,涉及一種用于葉片生產線的多層次動態碰撞檢測方法及系統。
背景技術:
葉片生產線是一個比較復雜的場景,在該場景下既包含靜止的物體,又包含運動的物體。為了避免物體之間的碰撞,需要對葉片生產線進行建模與仿真,及時發現物體運動過程中是否存在碰撞,避免實際生產過程中的損失。如大型葉片吊裝中的碰撞、車間物流系統中的小車與其它靜止物體的碰撞、葉片裝夾過程中葉片、數控機床與刀具之間的碰撞寸。目前,復雜場景下的碰撞檢測方法主要有靜態碰撞檢測方法和動態碰撞檢測方法兩類,動態碰撞檢測方法又分為離散碰撞檢測方法和連續碰撞檢測方法。其中,離散碰撞檢測方法將物體的運動路徑離散成若干個離散點,在每個離散點上面檢測是否存在碰撞。其主要缺點在于檢測不具有連續性,若離散點間隔太大,有可能遺漏發生碰撞的時間點,若間隔太小,又會增加檢測的時間,不具備實時性。連續碰撞檢測方法的研究一般涉及到四維時空問題或結構空間精確的建模,能夠很好地解決離散碰撞檢測方法存在的問題,如基于掃描體的碰撞檢測、基于層次包圍盒的檢測方法等,但通常計算速度慢。目前針對相關技術的碰撞檢測方法不具備實時性以及檢測效率低的問題,目前尚未提出有效的解決方案。
發明內容
針對相關技術的碰撞檢測方法不具備實時性以及檢測效率低的問題,目前尚未提出有效的問題而提出本發明,為此,本發明的主要目的在于提供一種用于葉片生產線的多層次動態碰撞檢測方法及系統,以解決上述問題。為了實現上述目的,根據本發明的一個方面,提供了一種用于葉片生產線的多層次動態碰撞檢測方法,該用于葉片生產線的多層次動態碰撞檢測方法包括獲取待檢測對象的模型列表,模型列表包括所有靜止對象;獲取待檢測對象中的運動對象的包圍盒和一個或多個靜止對象的包圍盒,通過包圍盒投影檢測算法獲取與運動對象發生碰撞的靜止對象,并刪除模型列表中未與運動對象發生碰撞的靜止對象以獲取表面列表;獲取運動對象表面和表面列表中靜止對象上的待檢測表面,通過表面投影檢測算法獲取待檢測表面中與運動對象的表面發生干涉的靜止對象的表面,以獲取發生干涉的一個或多個第一表面對, 并保存一個或多個第一表面對至表面對列表;獲取表面對列表中任意一個第一表面對,通過三角面片投影檢測算法獲取第一三角面片對,第一三角面片對為發生干涉的兩個三角面片,并將第一三角面片對保存至三角面片對列表;獲取三角面片對列表中任意一個第一三角面片對,通過精確三角面片檢測算法來檢測第一三角面片對中的兩個三角面片是否發生干涉,根據發生干涉的第一三角面片對來確定發生碰撞的待檢測對象。
進一步地,獲取待檢測對象中的運動對象的包圍盒和一個或多個靜止對象的包圍盒,通過包圍盒投影檢測算法獲取與運動對象發生碰撞的靜止對象,并刪除模型列表中未與運動對象發生碰撞的靜止對象以獲取表面列表包括以運動對象包圍盒上的一點來創建第一三維坐標系,當運動對象的第一包圍盒從A位置運動到B位置時,第一包圍盒始終在第一三維坐標系Z軸大于等于零的一側,且第一三維坐標系的Z軸負方向與運動對象從A位置運動到B位置的方向相同;將第一包圍盒和模型列表中滿足第一預設條件的一個或多個第二包圍盒投影到第一三維坐標系的XOY平面上,以獲得第一包圍盒投影的第一二維多邊形以及一個或多個第二包圍盒投影的第二二維多邊形,第一預設條件為模型列表中的一個或多個靜止對象的第二包圍盒位于A位置和B位置之間;當第一二維多邊形與任意一個第二二維多邊形不發生干涉時,將第二二維多邊形所對應的靜止對象從模型列表中刪除。進一步地,獲取運動對象表面和表面列表中靜止對象上的待檢測表面,通過表面投影檢測算法獲取待檢測表面中與運動對象的表面發生干涉的靜止對象的表面,以獲取發生干涉的一個或多個第一表面對,并保存一個或多個第一表面對至表面對列表包括以運動對象上的一點來創建第二三維坐標系,當運動對象從A位置運動到B位置時,運動對象始終在第二三維坐標系Z軸大于等于零的一側,且第二三維坐標系的Z軸負方向與運動對象從A位置運動到B位置的方向相同;將運動對象的每一個表面和表面列表中滿足第二預設條件的靜止對象的表面投影到第二三維坐標系的XOY平面上,以獲得運動對象的一個或多個第一投影表面和滿足第二預設條件的靜止對象的第二投影表面,第二預設條件為表面列表中的靜止對象的表面上的一點位于A位置和B位置之間;當任意一個第一投影表面與第二投影表面發生干涉時,發生干涉的該第一投影表面與第二投影表面構成第一表面對;將獲取到的一個或多個第一表面對保存至表面對列表中。進一步地,獲取表面對列表中任意一個第一表面對,通過三角面片投影檢測算法獲取第一三角面片對,第一三角面片對為發生干涉的兩個三角面片,并將第一三角面片對保存至三角面片對列表包括獲取表面對列表中任意一個第一表面對中的第一表面和第二表面,第一表面為運動對象上的表面,第二表面為靜止對象上的表面;以運動對象第一表面上的一點來創建第三三維坐標系,當第一表面從A位置運動到B位置時,第一表面始終在第三三維坐標系Z軸大于等于零的一側,且第三三維坐標系的Z軸負方向與第一表面從A 位置運動到B位置的方向相同;獲取第一表面中組成第一投影表面的一個或多個第一三角面片,以及組成第二表面中第二投影表面的一個或多個第二三角面片,第一三角面片為運動對象上的三角面片,第二三角面片為靜止對象上的三角面片;將滿足第三預設條件的第一三角面片和第二三角面片投影到第三三維坐標系的XOY平面上,第三預設條件為第一三角面片和第二三角面片上的一點位于A位置和B位置之間;當第一三角面片和第二三角面片的投影發生干涉時,該第一三角面片和第二三角面片構成第一三角面片對;將獲取到的一個或多個第一三角面片對保存至三角面片對列表中。進一步地,獲取三角面片對列表中任意一個第一三角面片對,通過精確三角面片檢測算法來檢測第一三角面片對中的兩個三角面片是否發生干涉,根據發生干涉的第一三角面片對來確定發生碰撞的待檢測對象包括從三角面片對列表中獲取第一三角面片對中的第一三角面片和第二三角面片,第一三角面片為運動對象的三角面片,第二三角面片為靜止對象的三角面片;當第一三角面片的三條邊至少有一條邊與第二三角面片在空間中發生干涉時,運動對象與該第二三角面片的靜止對象發生碰撞;當第一三角面片的三條邊全部未與第二三角面片在空間中發生干涉時,如果第二三角面片位于第一三角面片在Z軸正方向上的一側,則運動對象與該第二三角面片的靜止對象發生碰撞。進一步地,當表面列表、表面對列表或者三角面片對列表中的任一個列表為空時, 運動對象與靜止對象不發生碰撞。為了實現上述目的,根據本發明的另一方面,提供了一種用于葉片生產線的多層次動態碰撞檢測系統,該用于葉片生產線的多層次動態碰撞檢測系統包括接收單元,用于獲取待檢測對象的模型列表,模型列表包括所有靜止對象;第一檢測單元,用于獲取待檢測對象中的運動對象的包圍盒和一個或多個靜止對象的包圍盒,通過包圍盒投影檢測算法獲取與運動對象發生碰撞的靜止對象,并刪除模型列表中未與運動對象發生碰撞的靜止對象以獲取表面列表;第二檢測單元,用于獲取運動對象表面和表面列表中靜止對象上的待檢測表面,通過表面投影檢測算法獲取待檢測表面中與運動對象的表面發生干涉的靜止對象的表面,以獲取發生干涉的一個或多個第一表面對,并保存一個或多個第一表面對至表面對列表;第三檢測單元,用于獲取表面對列表中任意一個第一表面對,通過三角面片投影檢測算法獲取第一三角面片對,第一三角面片對為發生干涉的兩個三角面片,并將第一三角面片對保存至三角面片對列表;第四檢測單元,用于獲取三角面片對列表中任意一個第一三角面片對,通過精確三角面片檢測算法來檢測第一三角面片對中的兩個三角面片是否發生干涉,根據發生干涉的第一三角面片對來確定發生碰撞的待檢測對象。進一步地,第一檢測單元包括第一坐標系創建模塊,用于以運動對象包圍盒上的一點來創建第一三維坐標系,當運動對象的第一包圍盒從A位置運動到B位置時,第一包圍盒始終在第一三維坐標系Z軸大于等于零的一側,且第一三維坐標系的Z軸負方向與運動對象從A位置運動到B位置的方向相同;第一投影模塊,用于將第一包圍盒和模型列表中滿足第一預設條件的一個或多個第二包圍盒投影到第一三維坐標系的XOY平面上,以獲得第一包圍盒投影的第一二維多邊形以及一個或多個第二包圍盒投影的第二二維多邊形,第一預設條件為模型列表中的一個或多個靜止對象的第二包圍盒位于A位置和B位置之間;第一干涉檢測模塊,用于當第一二維多邊形與任意一個第二二維多邊形不發生干涉時,將第二二維多邊形所對應的靜止對象從模型列表中刪除。進一步地,第二檢測單元包括第二坐標系創建模塊,用于以運動對象上的一點來創建第二三維坐標系,當運動對象從A位置運動到B位置時,運動對象始終在第二三維坐標系Z軸大于等于零的一側,且第二三維坐標系的Z軸負方向與運動對象從A位置運動到B 位置的方向相同;第二投影模塊,用于將運動對象的每一個表面和表面列表中滿足第二預設條件的靜止對象的表面投影到第二三維坐標系的XOY平面上,以獲得運動對象的一個或多個第一投影表面和滿足第二預設條件的靜止對象的第二投影表面,第二預設條件為表面列表中的靜止對象的表面上的一點位于A位置和B位置之間;第二干涉檢測模塊,用于當任意一個第一投影表面與第二投影表面發生干涉時,發生干涉的該第一投影表面與第二投影表面構成第一表面對,并將獲取到的一個或多個第一表面對保存至表面對列表中。進一步地,第三檢測模塊包括第一獲取模塊,用于獲取表面對列表中任意一個第一表面對中的第一表面和第二表面,第一表面為運動對象上的表面,第二表面為靜止對象上的表面;第三坐標系創建模塊,用于以運動對象的第一表面上的一點來創建第三三維坐標系,當第一表面從A位置運動到B位置時,第一表面始終在第三三維坐標系Z軸大于等于零的一側,且第三三維坐標系的Z軸負方向與第一表面從A位置運動到B位置的方向相同;第二獲取模塊,用于獲取第一表面中組成第一投影表面的一個或多個第一三角面片,以及第二表面中組成第二投影表面的一個或多個第二三角面片,第一三角面片為運動對象上的三角面片,第二三角面片為靜止對象上的三角面片;第三投影模塊,用于將滿足第三預設條件的第一三角面片和第二三角面片投影到第三三維坐標系的XOY平面上,第三預設條件為第一三角面片和第二三角面片上的一點位于A位置和B位置之間;第三干涉檢測模塊,用于當第一三角面片和第二三角面片的投影發生干涉時,該第一三角面片和第二三角面片構成第一三角面片對,并將獲取到的一個或多個第一三角面片對保存至三角面片對列表中。進一步地,第四檢測單元包括第三獲取模塊,用于從三角面片對列表中獲取第一三角面片對中的第一三角面片和第二三角面片,第一三角面片為運動對象的三角面片, 第二三角面片為靜止對象的三角面片;第四干涉檢測模塊,用于當第一三角面片的三條邊至少有一條邊與第二三角面片在空間中發生干涉時,運動對象與該第二三角面片的靜止對象發生碰撞;當第一三角面片的三條邊全部未與第二三角面片在空間中發生干涉時,如果第二三角面片位于第一三角面片在Z軸正方向上的一側,則運動對象與該第二三角面片的靜止對象發生碰撞。通過本發明,采用獲取待檢測對象的模型列表,模型列表包括所有靜止對象;獲取待檢測對象中的運動對象的包圍盒和一個或多個靜止對象的包圍盒,通過包圍盒投影檢測算法獲取與運動對象發生碰撞的靜止對象,并刪除模型列表中未與運動對象發生碰撞的靜止對象以獲取表面列表;獲取運動對象表面和表面列表中靜止對象上的待檢測表面,通過表面投影檢測算法獲取待檢測表面中與運動對象的表面發生干涉的靜止對象的表面,以獲取發生干涉的一個或多個第一表面對,并保存一個或多個第一表面對至表面對列表;獲取表面對列表中任意一個第一表面對,通過三角面片投影檢測算法獲取第一三角面片對,第一三角面片對為發生干涉的兩個三角面片,并將第一三角面片對保存至三角面片對列表; 獲取三角面片對列表中任意一個第一三角面片對,通過精確三角面片檢測算法來檢測第一三角面片對中的兩個三角面片是否發生干涉,根據發生干涉的第一三角面片對來確定發生碰撞的待檢測對象,解決了相關技術的碰撞檢測方法不具備實時性以及檢測效率低的問題,進而實現了減少碰撞檢測的時間,提高了碰撞檢測效率的效果。
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中圖1是根據本發明實施例的用于葉片生產線的多層次動態碰撞檢測系統的結構示意圖;圖2是根據本發明實施例的包圍盒投影檢測的示意圖;圖3是根據本發明實施例的三角面片投影檢測的示意圖;圖4是根據本發明實施例的用于葉片生產線的多層次動態碰撞檢測方法的流程圖;以及圖5是根據本發明實施例的用于葉片生產線的多層次動態碰撞檢測方法的詳細流程圖。
具體實施例方式需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發明。圖1是根據本發明實施例的用于葉片生產線的多層次動態碰撞檢測系統的結構示意圖。如圖1所示,該系統包括接收單元10,用于獲取待檢測對象的模型列表,模型列表包括所有靜止對象;第一檢測單元30,用于獲取待檢測對象中的運動對象的包圍盒和一個或多個靜止對象的包圍盒,通過包圍盒投影檢測算法獲取與運動對象發生碰撞的靜止對象,并刪除模型列表中未與運動對象發生碰撞的靜止對象以獲取表面列表,該表面列表為模型列表中所有剩余靜止對象的表面集合;第二檢測單元50,用于獲取運動對象表面和表面列表中靜止對象上的待檢測表面,通過表面投影檢測算法獲取待檢測表面中與運動對象的表面發生干涉的靜止對象的表面,以獲取發生干涉的一個或多個第一表面對,并保存一個或多個第一表面對至表面對列表;第三檢測單元70,用于獲取表面對列表中任意一個第一表面對,通過三角面片投影檢測算法獲取第一三角面片對,第一三角面片對為發生干涉的兩個三角面片,并將第一三角面片對保存至三角面片對列表;第四檢測單元90,用于獲取三角面片對列表中的任意一個第一三角面片對,通過精確三角面片檢測算法來檢測該第一三角面片對中的兩個三角面片是否發生干涉,根據發生干涉的第一三角面片對來確定發生碰撞的待檢測對象。本發明涉及到的投影檢測算法的基本原理可以描述為在三維空間的直線運動中,如果運動的物體與某一靜止物體在運動方向上的投影不相交,則兩物體在運動區間內一定不會發生碰撞(其中投影面為穿過運動物體的終點且垂直于運動方向的平面)。本發明上述實施例通過基于投影法的四個檢測單元來實現多層次的動態碰撞檢測方法包圍盒投影、表面投影、三角面片投影以及精確三角面片檢測,該方法的基本思想是逐層減少投影不相交的包圍盒、表面和三角面片,最大限度地剔除不相交的包圍盒、表面和三角面片,盡可能的減少最后精確碰撞檢測的三角面片數量,解決了碰撞檢測方法不具備實時性以及檢測效率低的問題,減少了碰撞檢測的時間,提高了碰撞檢測效率。本申請上述實施例中的第一檢測單元30可以包括第一坐標系創建模塊301,用于以運動對象包圍盒上的一點來創建第一三維坐標系,當運動對象的第一包圍盒從A位置運動到B位置時,第一包圍盒始終在第一三維坐標系Z軸大于等于零的一側,且第一三維坐標系的Z軸負方向與運動對象從A位置運動到B位置的方向相同;第一投影模塊302,將第一包圍盒和模型列表中滿足第一預設條件的一個或多個第二包圍盒投影到第一三維坐標系的XOY平面上,以獲得第一包圍盒投影的第一二維多邊形以及一個或多個第二包圍盒投影的第二二維多邊形,第一預設條件為模型列表中的一個或多個靜止對象的第二包圍盒位于A位置和B位置之間;第一干涉檢測模塊303,用于當第一二維多邊形與任意一個第二二維多邊形不發生干涉時,將第二二維多邊形所對應的靜止對象從模型列表中刪除。具體的,上述實施例的第一檢測單元30實現了包圍盒投影檢測算法,如圖2所示,M為運動物體的包圍盒,S1、S2、S3、S4、S5為靜止物體的包圍盒,運動物體M沿路徑Zg從A移動到B,在該實施例中的檢測包圍盒是否碰撞的過程中,首先確定待
1檢測物體的模型列表Q,待檢測物體的模型列表包括所有靜止物體的模型。在得到運動物體與其它靜止物體的包圍盒之后,系統通過第一坐標系創建模塊 301來建立第一三維坐標系(投影坐標系)RF,使投影坐標系的Z軸負方向與物體的運動方向AB相同,投影坐標系的XOY平面與運動方向垂直,并且投影坐標系的原點為運動物體包圍盒上的一點,使運動物體的包圍盒在ζ ^ 0的一側。當靜止物體的包圍盒上存在一點,其Z坐標h滿足zAmax時,將這些包圍盒投影到XOY平面上,如圖2所示,僅需要對M、Si、S2、S3、S4進行投影。其中zAmax為運動物體的包圍盒在起點A的Z坐標的最大值(即物體運動區間AB內的所有包圍盒)。同時將不滿足條件的物體從待檢測物體列表Q中刪除。如圖2右側所示為包圍盒的投影,當所有需要投影的包圍盒,即包圍盒M、Si、S2、 S3、S4投影到XOY平面(陰影部分為投影平面)時候,系統開始判斷投影面上的多邊形是否干涉,并將與運動包圍盒投影多邊形不發生干涉的靜止物體從待檢測列表Q中刪除。這樣就可以將S2、S3、S4從待檢測物體列表Q中剔除。通過包圍盒投影檢測,可以將很多不會發生碰撞的靜止物體剔除,從而可以減少后續表面投影、三角面片投影所計算的物體對數。本發明上述實施例中的第二檢測單元50可以包括第二坐標系創建模塊501,用于以運動對象上的一點來創建第二三維坐標系,當運動對象從A位置運動到B位置時,運動對象始終在第二三維坐標系Z軸大于等于零的一側,且第二三維坐標系的Z軸負方向與運動對象從A位置運動到B位置的方向相同;第二投影模塊502,用于將運動對象的每一個表面和表面列表中滿足第二預設條件的靜止對象的表面投影到第二三維坐標系的XOY平面上,以獲得運動對象的一個或多個第一投影表面和滿足第二預設條件的靜止對象的第二投影表面,第二預設條件為表面列表中的靜止對象的表面上的一點位于A位置和B位置之間; 第二干涉檢測模塊503,用于當任意一個第一投影表面與第二投影表面發生干涉時,發生干涉的該第一投影表面與第二投影表面構成第一表面對,并將獲取到的一個或多個第一表面對保存至表面對列表中。具體的,上述實施例的第二檢測單元50實現了表面投影檢測算法。首先,建立待檢測表面列表S,待檢測表面列表S是表面列表,即待檢測表面為待檢測物體列表Q中剩余的所有物體的表面。然后,開始通過第二坐標系創建模塊501來建立第二三維坐標系,且第二三維坐標系的ζ軸負方向與物體的運動方向Zg相同,投影坐標系的原點為運動物體上的一點,并且使運動物體在Z ^ O的一側,并將運動物體的表面以及待檢測表面列表S中滿足條件的表面進行投影。需要投影的表面滿足如下條件在表面上存在一點,其Z坐標^滿足 0 ^ Zs ^ zAmax,其中zAmax為運動物體在起點A的Z坐標的最大值。最后,通過第二干涉檢測模塊503來判斷投影多邊形是否發生干涉。并記錄發生干涉的表面對,將發生干涉的表面對存入集合IS當中,同時將與運動物體表面投影不發生干涉的表面從待檢測表面列表S中剔除。本申請上述實施例中的第三檢測模塊可以包括第一獲取模塊701,用于獲取表面對列表中任意一個第一表面對中的第一表面和第二表面,第一表面為運動對象上的表面,第二表面為靜止對象上的表面;第三坐標系創建模塊702,用于以運動對象第一表面上的一點來創建第三三維坐標系,當第一表面從A位置運動到B位置時,第一表面始終在第三三維坐標系Z軸大于等于零的一側,且第三三維坐標系的Z軸負方向與第一表面從A位置運動到B位置的方向相同;第二獲取模塊,用于獲取第一表面中組成第一投影表面的一個或多個第一三角面片,以及第二表面中組成第二投影表面的一個或多個第二三角面片, 第一三角面片為運動對象上的三角面片,第二三角面片為靜止對象上的三角面片;第三投影模塊704,用于將滿足第三預設條件的第一三角面片和第二三角面片投影到第三三維坐標系的XOY平面上,第三預設條件為第一三角面片和第二三角面片上的一點位于A位置和 B位置之間;第三干涉檢測模塊705,用于當第一三角面片和第二三角面片的投影發生干涉時,該第一三角面片和第二三角面片構成第一三角面片對,并將獲取到的一個或多個第一三角面片對保存至三角面片對列表中。具體的上述實施例的第三檢測單元70實現了三角面片投影檢測算法。如圖3所示,在判斷集合IS不為空的情況下,從集合IS中獲取一對未處理的表面對,假設分別為表面Sm和Ss,其中Sm為運動物體上的表面為靜止物體上的表面。該集合IS為表面對列表。建立第三三維坐標系,該第三三維坐標系為一種投影坐標系。投影坐標系的Z軸負方向與物體的運動方向AB相同,投影坐標系的原點為表面Sm上的一點,并且使表面Sm 在ζ > 0的一側。并通過第三投影模塊704將組成表面Sm的三角面片以及組成表面&的三角面片中滿足條件的三角面片進行投影。需要投影的三角面片滿足如下條件在三角面片上存在一點,其Z坐標zs滿足0彡h彡zAmax,其中zAmax為表面Sm在起點A的Z坐標的最大值。通過第三干涉檢測模塊705來判斷投影后投影三角形是否發生干涉,并將發生干涉的三角面片對存入集合IT當中。進一步地,可以判斷集合IS中的表面對是否處理完畢, 如果處理完畢,則結束檢測過程,否則繼續檢測表面對列表中的表面對。本申請上述實施例中的第四檢測單元90可以包括第三獲取模塊,用于從三角面片對列表中獲取第一三角面片對中的第一三角面片和第二三角面片,其中,該第一三角面片對為運動對象的三角面片,第二三角面片為靜止對象的三角面片;第四干涉檢測模塊 905,用于當第一三角面片的三條邊至少有一條邊與第二三角面片空間中發生干涉時,運動對象與該第二三角面片的靜止對象發生碰撞;當第一三角面片的三條邊全部未與第二三角面片在空間中發生干涉時,如果第二三角面片位于第一三角面片在Z軸正方向上的一側, 則運動對象與該第二三角面片的靜止對象發生碰撞。具體的,上述實施例的第四檢測單元90實現了精確三角面片檢測算法。本領域技術人員可知在兩個三角面片的投影相交的情況下,空間中兩個三角面片卻不一定相交。如圖3所示的三角面片投影示意圖,其中,黑色四邊形為投影面切割物體的切割面,圖中兩個三角面片ABC和DEF的投影相交,但空間中的三角面片卻不相交。因此,本實施例通過精確三角面檢測算法對上一步計算發生碰撞的三角面片對進行精確的空間碰撞檢測。上述精確三角面片的檢測算法中,在集合IT不為空的情況下從集合IT中獲取一對未處理過的發生碰撞的三角面片對,假設分別為ABC和DEF,集合IT為三角面片對列表, 其中,A、B、C、D、E、F分別為三角形ABC和DEF的頂點,如圖3所示,通過第四干涉檢測模塊 905來確定三角面片ABC與DEF在運動終點位置是否發生碰撞(只需判斷一個三角面片的三個邊與另外一個三角面片是否有交點即可)。若發生碰撞,則兩個物體發生碰撞,記錄發生碰撞的面片對,存入集合IA當中,否則繼續下一步。若此時兩個三角面片在運動終點位置不發生干涉,則開始判斷三角面片DEF在三角面片ABC的哪一側來檢測是否發生碰撞,若三角面片DEF在三角面片ABCz > 0的一側, 那么兩個三角面片發生碰撞,將發生碰撞的面片對存入集合IA當中,若三角面片DEF在三角面片ABCz < 0的一側,那么兩個三角面片不發生碰撞。最后如果集合IT中的三角面片對處理完畢則結束本申請的碰撞檢測過程,否則繼續執行檢測單元的功能。圖4是根據本發明實施例的用于葉片生產線的多層次動態碰撞檢測方法的流程圖,圖5是根據本發明實施例的用于葉片生產線的多層次動態碰撞檢測方法的詳細流程圖。如圖4所示該方法包括如下步驟步驟S10,通過圖1中的接收模塊來獲取待檢測對象的模型列表,該模型列表包括所有靜止對象。步驟S30,通過圖1中的第一檢測單元30獲取待檢測對象中的運動對象的包圍盒和一個或多個靜止對象的包圍盒,通過包圍盒投影檢測算法獲取與運動對象發生碰撞的靜止對象,并刪除模型列表中未與運動對象發生碰撞的靜止對象以獲取表面列表。步驟S50,通過圖1中的第二檢測單元50獲取運動對象表面和表面列表中靜止對象上的待檢測表面,通過表面投影檢測算法獲取待檢測表面中與運動對象的表面發生干涉的靜止對象的表面,以獲取發生干涉的一個或多個第一表面對,并保存一個或多個第一表面對至表面對列表。步驟S70,通過圖1中的第三檢測單元70獲取表面對列表中任意一個第一表面對, 通過三角面片投影檢測算法獲取第一三角面片對,第一三角面片對為兩個發生干涉的三角面片對,并將第一三角面片對保存至三角面片對列表。步驟S90,通過圖1中的第四檢測單元90獲取三角面片對列表中任意一個第一三角面片對,通過精確三角面片檢測算法來檢測第一三角面片對中的兩個三角面片是否發生干涉,根據發生干涉的第一三面片對來確定發生碰撞的待檢測對象。上述方法實施例結合圖4和圖5可知,首先進行包圍盒投影,并將包圍盒投影不發生碰撞的物體剔除;然后將包圍盒投影中發生碰撞的物體進行表面投影,并剔除投影不相交的表面;接下來將表面投影中發生碰撞的表面對進行三角面片投影,同時剔除投影不相交的三角面片;最后對三角面片投影中發生碰撞的三角面片對進行精確的碰撞檢測,實現了逐層減少投影不相交的碰撞檢測包圍盒、表面和三角面片,最大限度地剔除不相交的包圍盒、表面和三角面片,盡可能的減少最后精確碰撞檢測的三角面片數量,解決了碰撞檢測方法不具備實時性以及檢測效率低的問題,減少了碰撞檢測的時間,提高了碰撞檢測效率。上述實施例具有以下特性只需檢測物體運動區間內的零部件碰撞情況;將三維空間中的碰撞檢測問題轉化到二維空間來處理,降低了問題的復雜度;通過包圍盒投影、表面投影、三角面片投影,逐層剔除不發生碰撞的包圍盒、表面和三角面片,減少了最后精確碰撞檢測的三角面片數量;將復雜的碰撞檢測問題最后歸結為空間中三角面片的位置關系問題;與傳統的離散碰撞檢測方法相比,該方法只需計算一次即可檢測出空間運動物體是否發生碰撞。此外,基于輕量化模型,提高了路徑規劃與仿真的效率,同時便于系統的推廣
13與應用。本發明上述步驟SlO具體可以包括建立模型列表,即創建待檢測物體列表Q,待檢測物體為所有物體的模型。優選地,本發明上述實施例中的步驟S30,獲取待檢測對象中的運動對象的包圍盒和一個或多個靜止對象的包圍盒,通過包圍盒投影檢測算法獲取與運動對象發生碰撞的靜止對象,并刪除模型列表中未與運動對象發生碰撞的靜止對象包括以運動對象包圍盒上的一點來創建第一三維坐標系,當運動對象的第一包圍盒從A位置運動到B位置時,第一包圍盒始終在第一三維坐標系Z軸大于等于零的一側,且第一三維坐標系的Z軸負方向與運動對象從A位置運動到B位置的方向相同;將第一包圍盒和模型列表中滿足第一預設條件的一個或多個第二包圍盒投影到第一三維坐標系的XOY平面上,以獲得第一包圍盒投影的第一二維多邊形以及一個或多個第二包圍盒投影的第二二維多邊形,第一預設條件為模型列表中的一個或多個靜止對象的第二包圍盒位于A位置和B位置之間;當第一二維多邊形與任意一個第二二維多邊形不發生干涉時,將第二二維多邊形所對應的靜止對象從模型列表中刪除。本發明上述步驟S30的實施例完成了包圍盒投影檢測的工作流程,根據圖2所示的包圍盒投影示意圖可知,M為運動物體的包圍盒,S1、S2、S3、S4、S5為靜止物體的包圍盒, 運動物體M沿路徑Zg從A移動到B,上述實施例具體包含的步驟如下步驟301 求出模型列表中運動物體與其它靜止物體的一個或多個包圍盒。步驟302 建立第一三維坐標系,即建立投影坐標系RF,使投影坐標系的Z軸負方向與物體的運動方向Zg相同,投影坐標系的XOY平面與運動方向垂直,并且投影坐標系的原點為運動物體包圍盒上的一點,使運動物體的包圍盒在Z ^ 0的一側。步驟303 確定需要投影的包圍盒,需要投影的包圍盒滿足如下條件在包圍盒上存在一點,其Z坐標h滿足zAmax,其中zAmax為運動物體的包圍盒在起點A的 Z坐標的最大值(即物體運動區間AB內的所有包圍盒)。同時將不滿足條件的物體從待檢測物體列表Q中刪除。如圖2所示,僅需要對M、Si、S2、S3、S4進行投影。步驟304 將所有需要投影的包圍盒投影到XOY平面(陰影部分為投影平面)。如圖2右側所示為包圍盒的投影。步驟305 判斷投影面上的多邊形是否干涉,并將與運動包圍盒投影多邊形不發生干涉的靜止物體從待檢測列表Q中刪除。這樣就可以將S2、S3、S4從待檢測物體列表Q 中剔除。通過上述包圍盒投影檢測算法,可以將很多不會發生碰撞的靜止物體剔除,從而可以減少后續表面投影、三角面片投影所計算的物體對數。優選地,本發明上述步驟S50,獲取運動對象表面和表面列表中的靜止對象上的待檢測表面,通過表面投影檢測算法獲取待檢測表面中與運動對象的表面發生干涉的靜止對象的表面,以獲取發生干涉的一個或多個第一表面對,并保存一個或多個第一表面對至表面對列表可以包括以運動對象上的一點來創建第二三維坐標系,當運動對象從A位置運動到B位置時,運動對象始終在第二三維坐標系Z軸大于等于零的一側,且第二三維坐標系的Z軸負方向與運動對象從A位置運動到B位置的方向相同;將運動對象的每一個表面和表面列表中滿足第二預設條件的靜止對象的表面投影到第二三維坐標系的XOY平面上,以獲得運動對象的一個或多個第一投影表面和滿足第二預設條件的靜止對象的一個或多個第二投影表面,第二預設條件為表面列表中的靜止對象的表面上的一點位于A位置和B位置之間;當任意一個第一投影表面與第二投影表面發生干涉時,該第一投影表面與第二投影表面所對應的表面構成第一表面對;將獲取到的一個或多個第一表面對保存至表面對列表中。本發明上述步驟S50的實施例完成了表面投影檢測的工作流程,該工作流程具體可以包括如下步驟步驟501 獲取表面列表,即建立待檢測表面列表S,待檢測表面為待檢測物體列表Q中剩余的所有物體的表面。步驟502 創建第二三維坐標系,即建立投影坐標系。投影坐標系的Z軸負方向與物體的運動方向Zg相同,投影坐標系的原點為運動物體上的一點,并且使運動物體在Z >0 的一側。步驟503 將運動物體的表面以及待檢測表面列表S中滿足條件的表面進行投影。 需要投影的表面滿足如下條件在表面上存在一點,其Z坐標ZS滿足0 < ZS < zAmax,其中zAmax為運動物體在起點A的Z坐標的最大值。步驟504 判斷投影多邊形是否發生干涉。并記錄發生干涉的表面對,將發生干涉的表面對存入集合IS當中,同時將與運動物體表面投影不發生干涉的表面從待檢測表面列表S中剔除。上述實施例獲得的集合IS為表面對列表。優選地,本發明上述步驟S70,獲取表面對列表中任意一個第一表面對,通過三角面片投影檢測算法獲取第一三角面片對,第一三角面片對為發生干涉的兩個三角面片,并將第一三角面片對保存至三角面片對列表包括獲取表面對列表中任意一個第一表面對中的第一表面和第二表面,第一表面為所述運動對象上的表面,第二表面為所述靜止對象上的表面;以運動對象第一表面上的一點來創建第三三維坐標系,當第一表面從A位置運動到B位置時,第一表面始終在第三三維坐標系Z軸大于等于零的一側,且第三三維坐標系的 Z軸負方向與第一表面從A位置運動到B位置的方向相同;獲取第一表面中組成第一投影表面的一個或多個第一三角面片,以及第二表面中組成第二投影表面的一個或多個第二三角面片,第一三角面片為運動對象上的三角面片,第二三角面片為靜止對象上的三角面片; 將滿足第三預設條件的第一三角面片和第二三角面片投影到第三三維坐標系的XOY平面上,第三預設條件為第一三角面片和第二三角面片上的一點位于A位置和B位置之間;當第一三角面片和第二三角面片的投影發生干涉時,該第一三角面片和第二三角面片構成第一三角面片對;將獲取到的一個或多個第一三角面片對保存至三角面片對列表中。本發明上述步驟S70的實施例完成了三角面片投影檢測的工作流程,該工作流程具體可以包括如下步驟步驟701 判斷集合IS是否為空,如果為空,轉到步驟707 ;如果不為空,轉到步驟 702。該集合IS為步驟S50中獲取的表面對列表。步驟702 從集合IS中獲取一對未處理的表面對,假設分別為表面Sm和Ss,其中 Sm為運動物體上的表面,Ss為靜止物體上的表面。步驟703 建立投影坐標系。投影坐標系的Z軸負方向與物體的運動方向AB相同, 投影坐標系的原點為表面Sm上的一點,并且使表面Sm在ζ > 0的一側。
步驟704 將組成表面Sm的三角面片以及組成表面&的三角面片中滿足條件的三角面片進行投影。需要投影的三角面片滿足如下條件在三角面片上存在一點,其Z坐標 zs滿足0彡zs彡zAmax,其中zAmax為表面Sm在起點A的Z坐標的最大值。步驟705 判斷投影后投影三角形是否發生干涉,并將發生干涉的三角面片對存入集合IT當中。該集合IT為三角面片對列表。步驟706 判斷集合IS中的表面對是否處理完畢,如果處理完畢,轉到步驟707,否則轉到步驟702。步驟707:結束。優選地,本發明上述步驟S90,獲取三角面片對列表中任意一個第一三角面片對, 通過精確三角面片檢測算法來檢測第一三角面片對中的兩個三角面片是否發生干涉,根據發生干涉的第一三角面片對來確定發生碰撞的待檢測對象包括從三角面片對列表中獲取第一三角面片對中的第一三角面片和第二三角面片,其中,第一三角面片為運動對象的三角面片,第二三角面片為靜止對象的三角面片;當第一三角面片的三條邊至少有一條邊與第二三角面片發生干涉時,運動對象與該第二三角面片的靜止對象發生碰撞,當第一三角面片的三條邊全部未與第二三角面片發生干涉時,如果第二三角面片位于第一三角面片在 Z軸正方向上的一側,則運動對象與該第二三角面片的靜止對象發生碰撞。本發明上述步驟S90的實施例完成了精確三角面片檢測的工作流程,根據圖3所示的三角面片投影可知,黑色三角形為投影面切割物體的切割面,圖中兩個三角面片ABC 和DEF的投影相交,但空間中的三角面片卻不相交。因此,就必須對上一步計算發生碰撞的三角面片對進行精確的空間碰撞檢測。精確三角面片的檢測步驟如下步驟901 判斷集合IT是否為空,如果為空,轉到步驟906,否則,轉到步驟902。該集合IT為步驟S70中獲取的三角面片對列表。步驟902 從集合IT中獲取一對未處理過的發生碰撞的三角面片對,如圖3所示, 假設分別為ABC和DEF,其中,A、B、C、D、E、F分別為三角形ABC和DEF的頂點。步驟903 確定三角面片ABC與DEF在運動終點位置是否發生碰撞(只需判斷一個三角面片的三個邊與另外一個三角面片是否有交點即可)。若發生碰撞,則兩個物體發生碰撞,記錄發生碰撞的面片對,存入集合IA當中,轉到步驟906 ;若不發生碰撞,轉到步驟 904。步驟904 判斷三角面片DEF在三角面片ABC的那一側,若三角面片DEF在三角面片ABCz > 0的一側,那么兩個三角面片發生碰撞,將發生碰撞的面片對存入集合IA當中, 轉到步驟906 ;若三角面片DEF在三角面片ABCz < 0的一側,那么兩個三角面片不發生碰撞,轉到步驟906。步驟905 判斷集合IT中的三角面片對是否處理完畢,如果處理完畢,轉到步驟 906,否則轉到902。步驟906:結束。優選地,如圖5所示,當表面列表、表面對列表或者三角面片對列表中的任一個列表為空時,運動對象與靜止對象不發生碰撞。具體的是指,當待檢測表面列表S為空時,不存在包圍盒干涉;當集合IS是否為空時,不存在表面干涉;當集合IT是否為空時,不存在三角面片干涉,因此,會得到當系統處于上述任意一種情況下,運動的葉片與其他靜止的物
1體不會發生碰撞,系統停止碰撞檢測。優選地,由于最先發生碰撞的表面位于運動物體的前面(運動方向上)和靜止物體的背面(運動方向的逆方向上),因此,在上述包圍盒投影、表面投影、三角面片投影中, 為了提高計算效率,對于運動物體,只需將法向量與運動方向的夾角α <90°的包圍盒表面、物體表面、三角面片進行投影即可,對于靜止物體,只需要將法向量與運動方向的夾角 α >90°的包圍盒表面、物體表面、三角面片進行投影即可,這樣可以減少大約一半的投影、求交計算量。對于運動物體為多個的情況,只需要對每一個物體進行碰撞檢測即可。需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。本發明應用于葉片生產線中的碰撞檢測,如大型葉片吊裝中的碰撞檢測、車間物流仿真中的小車與其他靜止物體的碰撞檢測、葉片裝夾中的葉片與機床、刀具之間的碰撞檢測等。下面以葉片裝夾過程為例進行詳細的說明步驟1 建立葉片、數控機床、工作臺、夾具、刀具的三維模型。步驟2 劃分裝夾單元,定義裝夾順序。步驟3 對裝夾單元、葉片的裝夾路徑進行規劃,并通過上述的技術解決方案對裝夾路徑的有效性進行驗證。葉片是典型的機械零件,廣泛地應用于航空、水電、船舶等行業。葉片主要表面形狀復雜,多數為空間復雜曲面,夾具和裝夾過程比較復雜,通過本發明的碰撞檢測方法,及時發現夾具設計、裝夾過程中存在的問題,避免造成損失。從以上的描述中,可以看出,本發明實現了如下技術效果通過逐層減少碰撞檢測的包圍盒、表面和三角面片,最大限度地剔除不相交的包圍盒、表面和三角面片,盡可能的減少最后精確碰撞檢測的三角面片數量,從而提高碰撞檢測的有效性、盡可能地減少了碰撞檢測的時間。顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種用于葉片生產線的多層次動態碰撞檢測方法,其特征在于,包括 獲取待檢測對象的模型列表,所述模型列表包括所有靜止對象;獲取待檢測對象中的運動對象的包圍盒和一個或多個所述靜止對象的包圍盒,通過包圍盒投影檢測算法獲取與所述運動對象發生碰撞的靜止對象,并刪除所述模型列表中未與所述運動對象發生碰撞的靜止對象以獲取表面列表;獲取所述運動對象表面和所述表面列表中靜止對象上的待檢測表面,通過表面投影檢測算法獲取所述待檢測表面中與所述運動對象的表面發生干涉的靜止對象的表面,以獲取發生干涉的一個或多個第一表面對,并保存所述一個或多個第一表面對至表面對列表;獲取所述表面對列表中任意一個所述第一表面對,通過三角面片投影檢測算法獲取第一三角面片對,所述第一三角面片對為發生干涉的所述兩個三角面片,并將所述第一三角面片對保存至三角面片對列表;獲取所述三角面片對列表中任意一個所述第一三角面片對,通過精確三角面片檢測算法來檢測所述第一三角面片對中的兩個三角面片是否發生干涉,根據發生干涉的第一三角面片對來確定發生碰撞的所述待檢測對象。
2.根據權利要求1所述的方法,其特征在于,獲取待檢測對象中的運動對象的包圍盒和一個或多個所述靜止對象的包圍盒,通過包圍盒投影檢測算法獲取與所述運動對象發生碰撞的靜止對象,并刪除所述模型列表中未與所述運動對象發生碰撞的靜止對象以獲取表面列表包括以所述運動對象包圍盒上的一點來創建第一三維坐標系,當所述運動對象的第一包圍盒從A位置運動到B位置時,所述第一包圍盒始終在所述第一三維坐標系Z軸大于等于零的一側,且所述第一三維坐標系的Z軸負方向與所述運動對象從A位置運動到B位置的方向相同;將所述第一包圍盒和所述模型列表中滿足第一預設條件的一個或多個所述第二包圍盒投影到所述第一三維坐標系的XOY平面上,以獲得所述第一包圍盒投影的第一二維多邊形以及一個或多個所述第二包圍盒投影的第二二維多邊形,所述第一預設條件為所述模型列表中的一個或多個所述靜止對象的第二包圍盒位于所述A位置和B位置之間;當所述第一二維多邊形與任意一個所述第二二維多邊形不發生干涉時,將所述第二二維多邊形所對應的靜止對象從所述模型列表中刪除。
3.根據權利要求2所述的方法,其特征在于,獲取所述運動對象表面和所述表面列表中靜止對象上的待檢測表面,通過表面投影檢測算法獲取所述待檢測表面中與所述運動對象的表面發生干涉的靜止對象的表面,以獲取發生干涉的一個或多個第一表面對,并保存所述一個或多個第一表面對至表面對列表包括以所述運動對象上的一點來創建第二三維坐標系,當所述運動對象從A位置運動到B 位置時,所述運動對象始終在所述第二三維坐標系Z軸大于等于零的一側,且所述第二三維坐標系的Z軸負方向與所述運動對象的表面從A位置運動到B位置的方向相同;將所述運動對象的每一個表面和所述表面列表中滿足第二預設條件的靜止對象的表面投影到所述第二三維坐標系的XOY平面上,以獲得所述運動對象的一個或多個第一投影表面和滿足所述第二預設條件的靜止對象的第二投影表面,所述第二預設條件為所述表面列表中的靜止對象的表面上的一點位于所述A位置和B位置之間;當任意一個所述第一投影表面與所述第二投影表面發生干涉時,發生干涉的該第一投影表面與所述第二投影表面構成所述第一表面對;將獲取到的一個或多個所述第一表面對保存至所述表面對列表中。
4.根據權利要求3所述的方法,其特征在于,獲取所述表面對列表中任意一個所述第一表面對,通過三角面片投影檢測算法獲取第一三角面片對,所述第一三角面片對為發生干涉的所述兩個三角面片,并將所述第一三角面片對保存至三角面片對列表包括獲取所述表面對列表中任意一個所述第一表面對中的第一表面和第二表面,所述第一表面為所述運動對象上的表面,所述第二表面為所述靜止對象上的表面;以所述運動對象第一表面上的一點來創建第三三維坐標系,當所述第一表面從A位置運動到B位置時,所述第一表面始終在所述第三三維坐標系Z軸大于等于零的一側,且所述第三三維坐標系的Z軸負方向與所述第一表面從A位置運動到B位置的方向相同;獲取所述第一表面中組成所述第一投影表面的一個或多個第一三角面片,以及所述第二表面中組成所述第二投影表面的一個或多個第二三角面片,所述第一三角面片為運動對象上的三角面片,所述第二三角面片為靜止對象上的三角面片;將滿足第三預設條件的所述第一三角面片和所述第二三角面片投影到所述第三三維坐標系的XOY平面上,所述第三預設條件為所述第一三角面片和所述第二三角面片上的一點位于所述A位置和B位置之間;當所述第一三角面片和所述第二三角面片的投影發生干涉時,該所述第一三角面片和所述第二三角面片構成所述第一三角面片對;將獲取到的一個或多個所述第一三角面片對保存至所述三角面片對列表中。
5.根據權利要求1所述的方法,其特征在于,獲取所述三角面片對列表中任意一個所述第一三角面片對,通過精確三角面片檢測算法來檢測所述第一三角面片對中的兩個三角面片是否發生干涉,根據發生干涉的第一三角面片對來確定發生碰撞的所述待檢測對象包括從所述三角面片對列表中獲取所述第一三角面片對中的所述第一三角面片和所述第二三角面片,所述第一三角面片為運動對象的三角面片,所述第二三角面片為靜止對象的三角面片;當所述第一三角面片的三條邊至少有一條邊與所述第二三角面片在空間中發生干涉時,所述運動對象與該第二三角面片的所述靜止對象發生碰撞;當所述第一三角面片的三條邊全部未與所述第二三角面片在空間中發生干涉時,如果所述第二三角面片位于所述第一三角面片在Z軸正方向上的一側,則所述運動對象與該第二三角面片的所述靜止對象發生碰撞。
6.根據權利要求1-5中任一項所述的方法,其特征在于,當所述表面列表、表面對列表或者三角面片對列表中的任一個列表為空時,所述運動對象與所述靜止對象不發生碰撞。
7.一種用于葉片生產線的多層次動態碰撞檢測系統,其特征在于,包括 接收單元,用于獲取待檢測對象的模型列表,模型列表包括所有靜止對象;第一檢測單元,用于獲取待檢測對象中的運動對象的包圍盒和一個或多個所述靜止對象的包圍盒,通過包圍盒投影檢測算法獲取與所述運動對象發生碰撞的靜止對象,并刪除所述模型列表中未與所述運動對象發生碰撞的靜止對象以獲取表面列表;第二檢測單元,用于獲取所述運動對象表面和所述表面列表中靜止對象上的待檢測表面,通過表面投影檢測算法獲取所述待檢測表面中與所述運動對象的表面發生干涉的靜止對象的表面,以獲取發生干涉的一個或多個第一表面對,并保存所述一個或多個第一表面對至表面對列表;第三檢測單元,用于獲取所述表面對列表中任意一個所述第一表面對,通過三角面片投影檢測算法獲取第一三角面片對,所述第一三角面片對為發生干涉的所述兩個三角面片,并將所述第一三角面片對保存至三角面片對列表;第四檢測單元,用于獲取所述三角面片對列表中任意一個所述第一三角面片對,通過精確三角面片檢測算法來檢測所述第一三角面片對中的兩個三角面片是否發生干涉,根據發生干涉的第一三角面片對來確定發生碰撞的所述待檢測對象。
8.根據權利要求7所述的系統,其特征在于,所述第一檢測單元包括第一坐標系創建模塊,用于以所述運動對象包圍盒上的一點來創建第一三維坐標系, 當所述運動對象的第一包圍盒從A位置運動到B位置時,所述第一包圍盒始終在所述第一三維坐標系Z軸大于等于零的一側,且所述第一三維坐標系的Z軸負方向與所述運動對象從A位置運動到B位置的方向相同;第一投影模塊,用于將所述第一包圍盒和所述模型列表中滿足第一預設條件的一個或多個所述第二包圍盒投影到所述第一三維坐標系的XOY平面上,以獲得所述第一包圍盒投影的第一二維多邊形以及一個或多個所述第二包圍盒投影的第二二維多邊形,所述第一預設條件為所述模型列表中的一個或多個所述靜止對象的第二包圍盒位于所述A位置和B位置之間;第一干涉檢測模塊,用于當所述第一二維多邊形與任意一個所述第二二維多邊形不發生干涉時,將所述第二二維多邊形所對應的靜止對象從所述模型列表中刪除。
9.根據權利要求8所述的系統,其特征在于,所述第二檢測單元包括第二坐標系創建模塊,用于以所述運動對象上的一點來創建第二三維坐標系,當所述運動對象從A位置運動到B位置時,所述運動對象始終在所述第二三維坐標系Z軸大于等于零的一側,且所述第二三維坐標系的Z軸負方向與所述運動對象從A位置運動到B位置的方向相同;第二投影模塊,用于將所述運動對象的每一個表面和所述表面列表中滿足第二預設條件的靜止對象的表面投影到所述第二三維坐標系的XOY平面上,以獲得所述運動對象的一個或多個第一投影表面和滿足所述第二預設條件的靜止對象的第二投影表面,所述第二預設條件為所述表面列表中的靜止對象的表面上的一點位于所述A位置和B位置之間;第二干涉檢測模塊,用于當任意一個所述第一投影表面與所述第二投影表面發生干涉時,發生干涉的該第一投影表面與所述第二投影表面構成所述第一表面對,并將獲取到的一個或多個所述第一表面對保存至所述表面對列表中。
10.根據權利要求9所述的系統,其特征在于,所述第三檢測模塊包括第一獲取模塊,用于獲取所述表面對列表中任意一個所述第一表面對中的第一表面和第二表面,所述第一表面為所述運動對象上的表面,所述第二表面為所述靜止對象上的表第三坐標系創建模塊,用于以所述運動對象的第一表面上的一點來創建第三三維坐標系,當所述第一表面從A位置運動到B位置時,所述第一表面始終在所述第三三維坐標系Z 軸大于等于零的一側,且所述第三三維坐標系的Z軸負方向與所述第一表面從A位置運動到B位置的方向相同;第二獲取模塊,用于獲取所述第一表面中組成所述第一投影表面的一個或多個第一三角面片,以及所述第二表面中組成所述第二投影表面的一個或多個第二三角面片,所述第一三角面片為運動對象上的三角面片,所述第二三角面片為靜止對象上的三角面片;第三投影模塊,用于將滿足第三預設條件的所述第一三角面片和所述第二三角面片投影到所述第三三維坐標系的XOY平面上,所述第三預設條件為所述第一三角面片和所述第二三角面片上的一點位于所述A位置和B位置之間;第三干涉檢測模塊,用于當所述第一三角面片和所述第二三角面片的投影發生干涉時,該所述第一三角面片和所述第二三角面片構成所述第一三角面片對,并將獲取到的一個或多個所述第一三角面片對保存至所述三角面片對列表中。
11.根據權利要求10所述的系統,其特征在于,所述第四檢測單元包括 第三獲取模塊,用于從所述三角面片對列表中獲取所述第一三角面片對中的所述第一三角面片和所述第二三角面片,所述第一三角面片為運動對象的三角面片,所述第二三角面片為靜止對象的三角面片;第四干涉檢測模塊,用于當所述第一三角面片的三條邊至少有一條邊與所述第二三角面片在空間中發生干涉時,所述運動對象與該第二三角面片的所述靜止對象發生碰撞;當所述第一三角面片的三條邊全部未與所述第二三角面片在空間中發生干涉時,如果所述第二三角面片位于所述第一三角面片在Z軸正方向上的一側,則所述運動對象與該第二三角面片的所述靜止對象發生碰撞。
全文摘要
本發明公開了一種用于葉片生產線的多層次動態碰撞檢測方法及系統。其中,該方法包括獲取待檢測對象的模型列表;獲取待檢測對象中的運動對象的包圍盒和靜止對象的包圍盒,通過包圍盒投影檢測算法獲取表面列表;獲取運動對象表面和表面列表中的靜止對象上的待檢測表面,通過表面投影檢測算法獲取并保存第一表面對至表面對列表;獲取表面對列表中的第一表面對,通過三角面片投影檢測算法獲取并保存第一三角面片對至三角面片對列表;獲取三角面片對列表中的第一三角面片對,通過精確三角面片檢測算法來檢測第一三角面片對是否發生干涉。通過本發明,能夠減少碰撞檢測的時間,提高碰撞檢測效率。
文檔編號G05B17/02GK102393646SQ20111018576
公開日2012年3月28日 申請日期2011年7月5日 優先權日2011年7月5日
發明者崔明輝, 李合增, 田富君, 耿俊浩, 賈曉亮 申請人:西安賽龍航空科技有限公司