查所需的計算處理時間。最小包圍體積模型確定部18AW 模型類型數X模型數的次數而反復進行該計算處理。
[0074] 最小包圍體積模型確定部18對各干設檢查的計算處理時間和干設檢查中能夠使 用的運算處理時間106進行比較。最小包圍體積模型確定部18A從模型候補中僅提取如下 模型候補,即,能夠W比干設檢查中能夠使用的運算處理時間106小的計算處理時間進行 干設檢查的模型候補。最小包圍體積模型確定部18A從提取的模型候補中選擇模型化剩 余量104最小的模型候補,將選擇的模型候補作為最小包圍體積模型109而存儲于設定后 模型存儲部19。此時,在相對于1個模型化對象較舊的最小包圍體積模型109存在于設定 后模型存儲部19內的情況下,最小包圍體積模型確定部18A利用較新的最小包圍體積模型 109進行覆蓋。
[0075] 干設檢查部20利用設定后模型存儲部19所存儲的最小包圍體積模型109執行干 設檢查。此時,干設檢查部20利用針對最小包圍體積模型109而設定的模型尺寸W及模型 位置約束條件111來執行干設檢查。模型位置約束條件111是與對模型進行約束的位置W 及姿態相關的條件,模型化指令101中包含該模型位置約束條件111。
[0076] 在判斷為有可能發生干設的情況下,干設檢查部20將動作停止指令輸出至驅動 控制部21。在判斷為不存在發生干設的可能性的情況下,干設檢查部20將動作持續指令 輸出至驅動控制部21。干設檢查部20將動作停止指令、動作持續指令作為動作變更指令 值112而輸出至驅動控制部21。驅動控制部21對機器人10、機械手裝置6進行與動作變 更指令值112相對應的驅動控制。
[0077] 下面,對利用干設檢查裝置1A進行的干設檢查處理的處理次序進行說明。預先 由用戶向長方體設定輸入部11輸入模型化指令101。長方體設定輸入部11將模型化指令 101發送至包圍體積比較部13化及模型化處理部14。另外,預先由用戶將模型上限數102 向模型數上限輸入部12輸入。模型數上限輸入部12將模型上限數102發送至模型化處理 部14。
[007引模型化處理部14根據模型化指令101而將執行模型化處理時所使用的模型信息103(各模型的個數、各模型的類型、各模型的尺寸、各模型的配置)預先存儲于模型候補存 儲部17。模型化處理部14將模型信息103發送至包圍體積比較部13。
[0079] 另外,模型化處理部14基于模型化指令101W及模型上限數102,將模型化對象從 長方體置換為球體、圓筒體等模型。由此,模型化處理部14針對模型化對象執行模型化處 理,生成多個模型候補。模型化處理部14將模型候補寫入模型信息103內而存儲于模型候 補存儲部17。
[0080] 該里,對模型數和剩余包圍體積比進行說明。通常,越增加模型的數量,模型所包 圍的誤差量(模型和模型化對象之間的誤差量)越降低。此外,誤差量并不單純地降低。圖 6是表示將模型上限數設為1個的情況下的模型例的圖,圖7是表示將模型上限數設為2個 的情況下的模型例的圖。
[OOW] 在圖6中,示出W能夠使用1個模型的限制,利用球體對長方體形狀(細長且較薄 的物體)50進行模型化的情況下的模型51、和利用圓筒體對長方體形狀50進行模型化的情 況下的模型60、61。該里的圓筒體是對球體進行掃描拉伸而得的形狀,包圍方向按照長度方 向較長的順序具有2種模式。在圖6中,由模型61示出利用長度方向與長方體形狀50的 長度方向相同的圓筒體進行模型化的情況下的模型,由模型60示出利用長度方向與長方 體形狀50的長度方向垂直的圓筒體進行模型化的情況下的模型。
[0082] 在將模型上限數設為1個的情況下,在利用球體對長方體形狀50進行模型化時, W使得利用球體的模型達到最小體積的方式進行模型化,因此,設定為模型51。另外,在將 模型上限數設為1個的情況下,在利用圓筒體對長方體形狀50進行模型化時,W使得利用 圓筒體的模型達到最小體積的方式進行模型化,因此,設定為模型61。
[008引在圖7中,示出W能夠使用的模型最多為2個的限制,利用球體對長方體形狀50 進行模型化的情況下的模型52A、52B、和利用圓筒體對長方體形狀50進行模型化的情況下 的模型62A、62BW及模型63A、63B。此外,在將模型上限數設為2個的情況下,可W利用1 個球體或者1個圓筒體對長方體形狀50進行模型化,但該樣就變為與圖6相同的模型,因 此,在圖7中將圖示省略。
[0084] 在圖7中,由模型63A、63B示出利用長度方向與長方體形狀50的長度方向相同的 圓筒體進行模型化的情況下的模型,由模型62A、62B示出利用長度方向與長方體形狀50的 長度方向垂直的圓筒體進行模型化的情況下的模型。
[0085] 在將模型上限數設為2個的情況下,在利用球體對長方體形狀50進行模型化時, W使得利用球體的模型達到最小體積的方式進行模型化,因此,設定為模型52A、52B。另外, 在將模型上限數設為2個的情況下,在利用圓筒體對長方體形狀50進行模型化時,W使得 利用圓筒體的模型達到最小體積的方式進行模型化,因此,設定為模型63A、63B。
[0086] 如圖6、圖7所示可知,如果利用圓筒體模型進行模型化,則模型化(包圍體積)的 浪費較少。該一點能夠通過人們的反復試驗推測得知,但是,與球體的情況相比,球體和球 體之間的干設檢查、圓筒體和圓筒體之間的干設檢查所需的計算量增大幾倍。因此,有時計 算量由于模型結構的不同而變得過大,由此干設檢查處理的處理量在機器人控制器2的所 有處理中所占據的比例變得過大。
[0087] 圖8是表示模型數和剩余包圍體積比的關系的圖。在圖8中,由關系71示出利用 球體模型(S地ere)的情況下的、模型數和剩余包圍體積比的關系。另外,由關系72、73示 出利用圓筒體模型(cylinder)的情況下的、模型數和剩余包圍體積比的關系。關系72是 將圓筒體模型的長度方向設為L的情況下的關系,關系73是將長度方向設為a的情況下的 關系。
[008引圖8中的橫軸為模型個數,縱軸為剩余包圍體積比。該里的剩余包圍體積比表示 將長方體的模型包圍后的剩余體積除W長方體的模型的體積得到的量,在恰好將長方體 (模型化對象)的模型包在里面的情況下設為0。換言之,剩余包圍體積比是表示進行包圍 后的剩余量的比率。
[0089] 如圖8所示可知,如果在能夠使用的模型數較大且達到某種程度的情況下形成為 單純地增加模型數的配置,則包圍的剩余量因模型數的增加而增大。
[0090] 與該種狀況相對,模型化處理部14利用用戶預先指定的2種信息(模型化指令 101W及模型上限數102),W模型類型數MX模型數N而執行模型化處理。此外,該里的N、 M為自然數。另外,模型數N由模型上限數102確定。另外,在模型類型為"球體"、"圓筒體" 化及"球體和圓筒體"的情況下,模型類型數M= 3。即,模型類型數是指,能夠根據使用的 模型數和模型類型而進行計算的所有組合的數量。在該情況下,在應用球體模型的情況下, 模型化處理部14執行N次的模型化處理,在應用圓筒體模型的情況下,模型化處理部14執 行N次的模型化處理,在應用球體W及圓筒體的情況下,模型化處理部14執行N次的模型 化處理。由此,模型化處理部14執行MXN次的模型化處理。
[0091] 在每種模型類型的模型化處理中,模型化處理部14將從模型數上限輸入部12獲 得的上限數設為N,首先實施將模型本身分割為k個化=1~腳長方體的處理。關于k分 割的方法,根據每種模型類型而不同。對此,下面分別對不同的模型類型的模型化規則的一 個例子進行說明。
[0092] 在將球體用作模型類型的情況下,針對所賦予的模型化指令101,盡量分割為接近 立方體的長方體,由此能夠實現高效的包圍。因此,規則如下,即,對于分割的目標,盡量形 成較多的接近立方體的模型。在球體模型的情況下,利用分割后的第ki個(i= 1…,腳長 方體的端點Plki、P2ki、P3ki、P4ki、P5ki、P6ki、P7ki、P8ki,能夠通過W下式(1)而求出中屯、位置 化nt_ki,能夠通過W下式(2)而求出半徑R。此外,normO)是對*的矢量的范數進行計算 的函數。
[0093] 化nt_ki= (Plki+P2ki+P3ki+P4ki+P5ki+P6ki+P7ki+P8ki)/8 ? ? ? (1)
[0094]R=norm(Pcnt_ki-Plki) ? ? ?似
[0095] 在球體的情況下,在能夠使用的模型數k化=1~腳的條件下,自動地對利用指 定的模型類型的模型(球體或者圓筒體)而實現最小包圍體積的配置進行計算。作為配置 的方法,W在如下所示的指定的方向上指定的分割次數對根據模型化指令101而確定的長 方體進行分割,對能夠將分割后的長方體包圍的最小的球體進行定義。
[0096] 下面,利用前述的長方體的3條邊的長度、即L[mm]、a[mm]、b[mm](L>a>b)進 行說明。關于分割方向W及分割數,L[mm]的定義方向上的分割數定義為k_L[次],a[mm] 的定義方向上的分割數定義為k_a[次],b[mm]的定義方向上的分割數定義為k_b[次], 分別從k_L= 0、k_a= 0、k_b= 0開始。首先,使k_L增加,按照后述的次序,即,在k_L滿 足規定條件的情況下使k_a增加,同樣地,在k_a滿足規定條件的情況下使k_b增加,按照 該次序實施分割。每當各方向上的分割數增加時,k_L、k_a、k_b分別增加1。并且,利用k_ tot=k_L+k_a+k_b對根據模型化指令101而確定的長方體分割數進行定義,直至分割后的 長方體的數量(k_tot+l)達到能夠使用的模型數k為止,對根據模型化指令101而確定的 長方體進行分割。
[0097] 此外,在進行各方向上的分割時,在1次的分割中,按照將1個長方體分割為2個 長方體的次序來實施。另外,如后所述,如果能夠使用的模型數k得到確定,則模型化處理 部14在模型化處理中進行規定的分割處理,直至k_tot達到k為止。由此,k_tot達到k, 唯一地確定了分割的長方體。
[009引該情況下的最小包圍球體,變為將如式(2)所示那樣地進行分割得到的長方體的 對角線作為直徑的球體。下面,對模型化處理部14的模型化處理中的規定的分割處理進行 說明。首先,在進行k_L分割的情況下,確認W下的條件(式(3))是否成立。如果成立,貝U W繼續使k_L增加1的方式實施分割處理。
[0099]LAk_L+l) >a? ? ? (3)
[0100] 在式(3)不成立的情況下,將分割的長度方向變更為a[mm]的定義方向而進行分 害d。此外,在對分割方向進行變更的情況下,將L/(k_L+l) <a成立的初始的k_L設為k_ 10,將與此次的k之差設為差Ak=k- (k_L0+l)。并且,在Ak> 0的情況下,確認W下 的條件(式(4))是否成立。
[0101] a>LAk_L0+l) ? ? ? (4)
當前第3頁
1 
2 
3 
4 
5 
6