WO2020217440A1 - Collision sensing device - Google Patents

Collision sensing device Download PDF

Info

Publication number
WO2020217440A1
WO2020217440A1 PCT/JP2019/017852 JP2019017852W WO2020217440A1 WO 2020217440 A1 WO2020217440 A1 WO 2020217440A1 JP 2019017852 W JP2019017852 W JP 2019017852W WO 2020217440 A1 WO2020217440 A1 WO 2020217440A1
Authority
WO
WIPO (PCT)
Prior art keywords
determination unit
polygons
simple determination
unit
processed
Prior art date
Application number
PCT/JP2019/017852
Other languages
French (fr)
Japanese (ja)
Inventor
弘記 向山
航 大神
亮平 山崎
Original Assignee
三菱電機エンジニアリング株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機エンジニアリング株式会社 filed Critical 三菱電機エンジニアリング株式会社
Priority to JP2021515677A priority Critical patent/JP7105993B2/en
Priority to PCT/JP2019/017852 priority patent/WO2020217440A1/en
Publication of WO2020217440A1 publication Critical patent/WO2020217440A1/en

Links

Images

Definitions

  • the present invention relates to a collision detection device that detects collisions between objects.
  • the processing amount in the second step is reduced.
  • the presence or absence of interference between objects that may collide with each other is determined by making a detailed determination.
  • the present invention has been made to solve the above-mentioned problems, and makes it possible to automatically detect collisions between objects while reducing the amount of collision determination processing compared to the conventional configuration.
  • the purpose is to provide a collision detection device.
  • the collision detection device uses a creating unit that creates a boundary volume for each of a plurality of objects including at least one moving object and a boundary volume created by the creating unit, and interferes with the boundary volume of the moving object.
  • Collision determination is performed based on the second simple determination unit that detects polygons that interfere with the volume, the processing target polygons that make up the object detected by the second simple determination unit, and the processing target polygons that make up the moving object. It is characterized by having a detailed determination unit for performing.
  • the configuration is as described above, it is possible to automatically detect collisions between objects while reducing the amount of collision determination processing compared to the conventional configuration.
  • FIG. 4A and 4B are diagrams for explaining the processing by the creating unit in the first embodiment. It is a figure for demonstrating the process by the 1st simple determination part in Embodiment 1. FIG. It is a figure for demonstrating the process by the 2nd simple determination part in Embodiment 1. FIG. It is a figure for demonstrating the process by the 2nd simple determination part in Embodiment 1. FIG.
  • FIG. 10A and 10B are diagrams showing a hardware configuration example of the collision detection device according to the first embodiment.
  • FIG. 1 is a diagram showing a configuration example of the collision detection device 1 according to the first embodiment.
  • the collision detection device 1 detects a collision between objects 5.
  • the object 5 includes one or more moving bodies 5a. Examples of the object 5 include parts and assemblies.
  • the collision detection device 1 includes a storage unit 101, an exclusion unit 102, a creation unit 103, a simple determination unit (first simple determination unit) 104, a simple determination unit (second simple determination unit) 105, and details.
  • a determination unit 106 is provided.
  • the storage unit 101 stores various data handled by the collision detection device 1.
  • the storage unit 101 stores in advance CAD data (three-dimensional data) indicating the shape of the object 5 to be detected as a collision.
  • the collision detection device 1 can acquire information indicating the triangular polygons constituting the object 5 and the coordinates of the vertices constituting the polygon from the CAD data indicating the shape of the object 5.
  • FIG. 1 shows a case where the storage unit 101 is provided inside the collision detection device 1.
  • the storage unit 101 includes, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Program ROM), or an EPROM (Electrically EPROM).
  • a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Program ROM), or an EPROM (Electrically EPROM).
  • a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD (Digital Versaille Disc), or the like is applicable.
  • the exclusion unit 102 excludes some of the polygons constituting the object 5 from the processing target for each object 5 to be detected as a collision. At this time, in the polygons constituting the object 5, when all the vertex coordinates constituting one polygon are shared by other polygons, the exclusion unit 102 selects one of the polygons sharing the vertex coordinates. It may be excluded from the processing target. Alternatively, the exclusion unit 102 may randomly exclude some of the polygons constituting the object 5 from the processing target.
  • exclusion unit 102 is not an essential configuration for the collision detection device 1, and may be removed from the collision detection device 1.
  • the creation unit 103 creates a boundary volume 6 for each object 5 to be detected as a collision.
  • Examples of the boundary volume 6 include AABB (Axis-Aligned Bounding Box) or a sphere.
  • the simple determination unit 104 uses the boundary volume 6 created by the creation unit 103 to perform a simple determination in the first step. At this time, first, the simple determination unit 104 detects the boundary volume 6 that interferes with the boundary volume 6a of the moving body 5a. Then, the simple determination unit 104 identifies the object 5 corresponding to the detected boundary volume 6.
  • the simple determination unit 105 makes a simple determination in the second step based on the determination result by the simple determination unit 104. At this time, the simple determination unit 105 detects the polygons that interfere with the boundary volume 6a of the moving body 5a among the polygons to be processed that constitute the object 5 specified by the simple determination unit 104. When the collision detection device 1 is provided with the exclusion unit 102, the simple determination unit 105 sets the boundary volume 6a of the moving body 5a among the polygons to be processed constituting the object 5 processed by the exclusion unit 102. Detects interfering polygons.
  • the simple determination unit 105 may detect a polygon that interferes with the boundary volume 6 of the object 5 specified by the simple determination unit 104 among the polygons to be processed that constitute the moving body 5a.
  • the simple determination unit 105 is specified by the simple determination unit 104 among the polygons to be processed that constitute the moving body 5a after the processing by the exclusion unit 102.
  • a polygon that interferes with the boundary volume 6 of the object 5 is detected.
  • the simple determination unit 105 may perform a simple determination in the third step. At this time, the simple determination unit 105 excludes some polygons of the processing target polygons constituting the moving body 5a from the processing target based on the traveling direction of the moving body 5a.
  • the detailed determination unit 106 makes a detailed determination based on the determination result by the simple determination unit 105. At this time, the detailed determination unit 106 makes a collision determination based on the polygons to be processed forming the object 5 detected by the simple determination unit 105 and the polygons to be processed forming the moving body 5a.
  • the simple determination unit 105 also detects the polygon to be processed that constitutes the moving body 5a
  • the detailed determination unit 106 determines the polygon to be processed and the polygon that constitutes the object 5 detected by the simple determination unit 105. Collision determination is performed based on the polygons to be processed that constitute the moving body 5a.
  • the collision detection device 1 according to the first embodiment detects polygons to be processed for detailed determination by continuous simple determination of two steps or more, and performs collision determination between the detected polygons by detailed determination.
  • the following shows a case where the collision detection device 1 performs a simple determination in three steps.
  • the exclusion unit 102 is a polygon that constitutes the object 5 for each object 5 to be collision detected. Some of the polygons are excluded from the processing target (step ST1).
  • the exclusion unit 102 shares the vertex coordinates when all the vertex coordinates constituting one polygon are shared by other polygons in the polygons constituting the object 5.
  • One of the polygons to be processed may be excluded from the processing target.
  • the collision detection device 1 according to the first embodiment does not change the coordinates of the vertices constituting the polygons constituting the object 5 and reduce the number thereof, that is, without changing the size and shape of the object 5. , It is possible to reduce the number of polygons to be processed.
  • the object 5 has a cubic shape, and the exclusion portion 102 excludes the polygon in the shaded portion from the processing target.
  • the exclusion of polygons from the processing target strictly affects the accuracy.
  • most products on the market are not considered to have an acute-angled and long shape that allows them to pass through polygons excluded from processing, and are composed of continuous curved surfaces or planes. It is thought that it is. Therefore, the exclusion of the polygon from the processing target by the exclusion unit 102 does not substantially matter.
  • the exclusion unit 102 may randomly exclude some of the polygons constituting the object 5 from the processing target.
  • the shape of the object 5 shown in the CAD data is composed of a large number of polygons. Therefore, even if polygons are randomly excluded from the processing target by the exclusion unit 102, it is considered that the probability that adjacent polygons are excluded from the processing target is low if the ratio is constant. Therefore, even with this, the collision detection device 1 according to the first embodiment does not change the coordinates of the vertices constituting the polygons constituting the object 5 and reduce the number, that is, the size and shape of the object 5. It is possible to reduce the number of polygons to be processed without changing.
  • the creation unit 103 creates a boundary volume 6 for each object 5 to be detected as a collision (step ST2).
  • FIG. 4A shows a case where a sphere is used as the boundary volume 6
  • FIG. 4B shows a case where AABB is used as the boundary volume 6.
  • the storage unit 101 stores the boundary volume 6 created by the creation unit 103 and the object 5 corresponding to the boundary volume 6 in association with each other by using a unique ID.
  • the simple determination unit 104 makes a simple determination in the first step using the boundary volume 6 created by the creation unit 103 (step ST3).
  • the simple determination unit 104 detects the boundary volume 6 that interferes with the boundary volume 6a of the moving body 5a.
  • the simple determination unit 104 identifies the object 5 corresponding to the detected boundary volume 6.
  • the boundary volume 6b of the stationary object 5b interferes with the boundary volume 6a of the moving body 5a in the region 501 portion.
  • polygons are represented by quadrangles instead of triangles in order to make the figures easier to see. The same applies to FIGS. 6 and 7.
  • the simple determination unit 105 makes a simple determination in the second step based on the determination result by the simple determination unit 104 (step ST4).
  • the simple determination unit 105 detects a polygon that interferes with the boundary volume 6a of the moving body 5a among the polygons to be processed that constitute the object 5 specified by the simple determination unit 104.
  • the stationary object 5b interferes with the boundary volume 6a of the moving body 5a in the region 601.
  • the simple determination unit 105 detects a polygon that interferes with the boundary volume 6 of the object 5 specified by the simple determination unit 104 among the polygons to be processed that constitute the moving body 5a.
  • the moving body 5a interferes with the boundary volume 6b of the stationary object 5b in the region 701.
  • the process of the simple determination in the second step by the simple determination unit 105 is a very low-cost process and can be realized even when there are many objects 5.
  • the collision detection device 1 can limit the polygons to be processed in the object 5 that needs to perform the detailed determination, and the processing amount in the detailed determination. Can be reduced.
  • the simple determination unit 105 makes a simple determination in the third step (step ST5). At this time, the simple determination unit 105 excludes some polygons of the processing target polygons constituting the moving body 5a from the processing target based on the traveling direction of the moving body 5a.
  • the collision of the moving body 5a with the stationary object 5b occurs only in the traveling direction of the moving body 5a. Therefore, the simple determination unit 105 may target only the polygons to be processed that form the moving body 5a and which may collide with each other on the front side in the traveling direction. As a result, the collision detection device 1 according to the first embodiment can further reduce the amount of processing in the detailed determination.
  • the simple determination unit 105 sets the polygons to be processed forming the moving body 5a for each polygon in the immediately preceding frame. Each movement vector is calculated from the position. Then, the simple determination unit 105 normalizes the normal vector for each polygon, and normalizes the calculated movement vector. Then, the simple determination unit 105 calculates the value of the inner product of the normalized normal vector and the normalized movement vector for each polygon. Then, if the calculated inner product value for each polygon is equal to or greater than the threshold value and is equal to or less than 1, the simple determination unit 105 determines that the polygon exists on the front side in the traveling direction and treats it as a processing target.
  • the threshold value is an arbitrary value of 0 or more and less than 1.
  • the simple determination unit 105 determines that there is no possibility of collision and processes the polygon because it exists on a polygon other than the front side in the traveling direction. Exclude from the target. Since the object 5 has a shape closed by polygons, the object 5 always has polygons facing the front side in the traveling direction.
  • the simple determination unit 105 shows a case where some polygons of the processing target polygons constituting the moving body 5a are excluded from the processing target based on the traveling direction of the moving body 5a.
  • the simple determination unit 105 constitutes an object 5 (an object 5 that may collide with the moving object 5a) specified by the simple determination unit 104 based on the traveling direction of the moving body 5a.
  • a part of the polygons to be processed may be excluded from the processing target.
  • the simple determination unit 105 calculates and normalizes the movement vector of the moving body 5a. The method for obtaining the normalized movement vector is the same as described above.
  • the simple determination unit 105 normalizes the normal vector for each polygon to be processed that constitutes the object 5. Then, the simple determination unit 105 calculates the value of the inner product of the normalized normal vector and the normalized movement vector for each polygon. Then, if the calculated inner product value for each polygon is equal to or less than the threshold value and is equal to or greater than -1, the simple determination unit 105 determines that the polygon exists on the front side facing the moving body 5a and is processed. Treat as.
  • the threshold value is an arbitrary value greater than -1 and less than or equal to 0.
  • the simple determination unit 105 determines that there is no possibility of collision because the polygon exists on a polygon other than the front side facing the moving body 5a. And exclude it from the processing target.
  • the simple determination unit 105 excludes some polygons of the processing target polygons constituting the moving body 5a from the processing target based on the traveling direction of the moving body 5a, and further, the simple determination unit 104 uses the simple determination unit 104. A part of the polygons to be processed that constitute the specified object 5 may be excluded from the processing target.
  • the collision detection device 1 according to the first embodiment gradually reduces the number of polygons to be processed in the detailed determination by the simple determination of two steps or more by the simple determination unit 104 and the simple determination unit 105.
  • the collision detection device 1 according to the first embodiment significantly reduces the amount of processing in the detailed determination even when the number of objects 5 existing in the space is large or the number of polygons constituting the object 5 is large. it can.
  • the detailed determination unit 106 makes a detailed determination based on the determination result by the simple determination unit 105 (step ST6).
  • the detailed determination unit 106 makes a collision determination based on the processing target polygons constituting the object 5 and the processing target polygons constituting the moving object 5a detected by the simple determination unit 105.
  • the detailed determination unit 106 performs a brute force determination of the polygon to be processed by parallel processing using an arithmetic unit such as a GPU (Graphics Processing Unit) to determine the object 5 and its portion that the moving object 5a interferes with. Identify. It is possible to use an existing technique for collision determination (interference determination) between polygons, and the details of the processing will be omitted.
  • the collision detection device 1 may limit the frame for performing the above processing.
  • the collision detection device 1 excludes a frame in which the object 5 is not moving from the processing target.
  • the collision detection device 1 may set the interval of frames to be processed within a range that does not affect the user's perception even when the object 5 is in a moving state.
  • the collision detection device 1 can reduce the occupancy rate of processing on the arithmetic processor.
  • the arithmetic processor executes not only the calculation process of collision determination but also other processes. Therefore, by reducing the occupancy rate of the arithmetic processor in the calculation processing of the collision determination, the capacity of the arithmetic processor can be allocated to other processing, which leads to an improvement in the overall perceived speed.
  • the collision detection device 1 When the moving speed of the moving body 5a is slow, the collision detection device 1 performs collision detection in 0.1 second units (in the case of an image of 60 frames / second), for example, if processing is performed once every 6 frames. it can. Further, in consideration of the fact that when the moving speed of the moving body 5a is high, the change in the positional relationship of the object 5 for each frame becomes large, the collision detection device 1 may be processed once every three frames, for example. Collision detection can be performed in 0.05 second units, and more detailed judgment processing becomes possible.
  • the collision determination between the moving body 5a and the stationary object 5b is taken as an example.
  • the collision detection device 1 according to the first embodiment can also determine a collision between moving bodies 5a.
  • the collision detection device 1 according to the first embodiment can detect whether or not the tools held by the operator in both hands collide with each other.
  • the collision detection device 1 creates the boundary volume 6 for each of the plurality of objects 5 including at least one moving body 5a, and the creation unit 103.
  • a simple determination unit 104 that detects a boundary volume 6 that interferes with the boundary volume 6 of the moving body 5a and identifies an object 5 corresponding to the detected boundary volume 6 by using the boundary volume 6 created by Among the polygons to be processed that constitute the object 5 specified by 104, the simple determination unit 105 that detects the polygon that interferes with the boundary volume 6a of the moving body 5a and the object 5 that is detected by the simple determination unit 105 are configured.
  • the collision detection device 1 according to the first embodiment can automatically detect collisions between objects 5 accurately while reducing the amount of collision determination processing compared to the conventional configuration. Further, the accuracy of the collision detection device 1 according to the first embodiment does not vary depending on the size and complexity of the object 5.
  • the processing circuit 51 may be dedicated hardware, or as shown in FIG. 10B, a CPU (Central Processing Unit, central processing unit,) that executes a program stored in the memory 53. It may be a processing unit, an arithmetic unit, a microprocessor, a microprocessor, a processor, or a DSP (also referred to as a Digital Signal Processor) 52.
  • a CPU Central Processing Unit, central processing unit,
  • DSP also referred to as a Digital Signal Processor
  • the processing circuit 51 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), or an FPGA (Field Programmable Gate). Array) or a combination of these is applicable.
  • the functions of the exclusion unit 102, the creation unit 103, the simple determination unit 104, the simple determination unit 105, and the detailed determination unit 106 may be realized by the processing circuit 51, or the functions of each unit may be collectively realized by the processing circuit 51. You may.
  • the processing circuit 51 When the processing circuit 51 is the CPU 52, the functions of the exclusion unit 102, the creation unit 103, the simple determination unit 104, the simple determination unit 105, and the detailed determination unit 106 are realized by software, firmware, or a combination of software and firmware.
  • the software and firmware are described as programs and stored in the memory 53.
  • the processing circuit 51 realizes the functions of each part by reading and executing the program stored in the memory 53. That is, the collision detection device 1 includes a memory 53 for storing a program in which, for example, each step shown in FIG. 2 is eventually executed when executed by the processing circuit 51.
  • these programs cause the computer to execute the procedures and methods of the exclusion unit 102, the creation unit 103, the simple determination unit 104, the simple determination unit 105, and the detailed determination unit 106.
  • the memory 53 include non-volatile or volatile semiconductor memories such as RAM, ROM, flash memory, EPROM, and EEPROM, magnetic disks, flexible disks, optical disks, compact disks, mini disks, DVDs, and the like. To do.
  • the functions of the exclusion unit 102, the creation unit 103, the simple determination unit 104, the simple determination unit 105, and the detailed determination unit 106 are realized by dedicated hardware and a part by software or firmware. You may do it.
  • the function of the exclusion unit 102 is realized by the processing circuit 51 as dedicated hardware, and the processing circuit 51 of the creation unit 103, the simple determination unit 104, the simple determination unit 105, and the detailed determination unit 106 is stored in the memory 53.
  • the function can be realized by reading and executing the stored program.
  • the processing circuit 51 can realize each of the above-mentioned functions by hardware, software, firmware, or a combination thereof.
  • the present invention can be modified from any component of the embodiment or can be omitted from any component of the embodiment.
  • the collision detection device can automatically detect collisions between objects while reducing the amount of collision determination processing compared to the conventional configuration, and is a collision detection device that detects collisions between objects. It is suitable for use in such cases.

Abstract

The present invention comprises: a creation unit (103) which creates boundary volumes (6) for each of a plurality of objects (5) which include at least one mobile body (5a); a coarse determination unit (104) which, using the boundary volumes (6) which are created by the creation unit (103), detects the boundary volume (6) interfering with the boundary volume (6) of the mobile body (5a), and identifies the object (5) corresponding to the detected boundary volume (6); a coarse determination unit (105) which detects, from among polygons to be processed constituting the object (5) identified by the coarse determination unit (104), polygons interfering with the boundary volume (6a) of the mobile body (5a); and a fine determination unit (106) which carries out a collision determination on the basis of the polygons to be processed constituting the object (5) and detected by the coarse determination unit (105) and the polygons to be processed constituting the mobile body (5a).

Description

衝突検知装置Collision detector
 この発明は、物体同士の衝突を検知する衝突検知装置に関する。 The present invention relates to a collision detection device that detects collisions between objects.
 設計分野において、CAD(Computer-Aided Design)データを用いたVR(Virtual Reality)空間での組立検証又は作業性検討等の作業では、物体同士が衝突しないかを検知することが重要である。CADデータを用いた衝突判定では、物体の形状を構成する全てのポリゴン同士で干渉の有無を判定する必要がある。しかしながら、設計分野で用いる物体の形状は緻密であり、ポリゴンの数量が非常に多いため、実時間で衝突判定を行うことは困難である。そのため、衝突判定を行う必要が無い部位を特定し、処理量を減らす工夫が必要である。近年用いられている衝突判定では、高速化のために2ステップ処理を行うものが多い。 In the design field, it is important to detect whether or not objects collide with each other in work such as assembly verification or workability examination in a VR (Virtual Reality) space using CAD (Computer-Aided Design) data. In the collision determination using CAD data, it is necessary to determine the presence or absence of interference between all the polygons constituting the shape of the object. However, since the shape of the object used in the design field is precise and the number of polygons is very large, it is difficult to perform collision determination in real time. Therefore, it is necessary to identify a part that does not require collision determination and devise a way to reduce the amount of processing. In the collision determination used in recent years, many of them perform two-step processing for speeding up.
 1ステップ目では、簡易な判定を行うことで、衝突の可能性が無い物体を処理対象から除外し、2ステップ目での処理量を低減する。2ステップ目では、詳細な判定を行うことで、衝突の可能性が有る物体同士で干渉の有無を判定する。 In the first step, by making a simple judgment, objects that are not likely to collide are excluded from the processing target, and the processing amount in the second step is reduced. In the second step, the presence or absence of interference between objects that may collide with each other is determined by making a detailed determination.
 2ステップ処理としては、例えば特許文献1のように、ユーザの認識及び知覚に基づいて物体の選定を行う方法がある。しかしながら、この方法では、ユーザからは見えない範囲及びユーザが無意識な範囲では物体の選定が行われない。
 一方で、CADデータを用いたVR空間での作業では、ユーザからは見えない範囲及びユーザが無意識な範囲で発生する物体の干渉も検出する必要がある。よって、上記作業における衝突検知では、上記のような方法は適していない。
As the two-step process, for example, as in Patent Document 1, there is a method of selecting an object based on the recognition and perception of the user. However, in this method, the object is not selected in a range invisible to the user and a range unconscious by the user.
On the other hand, in the work in the VR space using CAD data, it is necessary to detect the interference of the object generated in the range invisible to the user and the range unconscious by the user. Therefore, the above method is not suitable for collision detection in the above work.
特開2005-71285号公報Japanese Unexamined Patent Publication No. 2005-71285
 上記のように、従来方法では、自動で、衝突判定の処理量を低減しつつ物体同士の衝突検知を正確に行うことは困難である。 As described above, with the conventional method, it is difficult to automatically detect collisions between objects while reducing the amount of collision determination processing.
 この発明は、上記のような課題を解決するためになされたもので、自動で、従来構成に対して衝突判定の処理量を低減しつつ物体同士の衝突検知を正確に行うことを可能とする衝突検知装置を提供することを目的としている。 The present invention has been made to solve the above-mentioned problems, and makes it possible to automatically detect collisions between objects while reducing the amount of collision determination processing compared to the conventional configuration. The purpose is to provide a collision detection device.
 この発明に係る衝突検知装置は、少なくとも1つの移動体を含む複数の物体に対し、それぞれ境界ボリュームを作成する作成部と、作成部により作成された境界ボリュームを用い、移動体の境界ボリュームに干渉する境界ボリュームを検出し、当該検出した境界ボリュームに対応する物体を特定する第1簡易判定部と、第1簡易判定部により特定された物体を構成する処理対象のポリゴンのうち、移動体の境界ボリュームに干渉するポリゴンを検出する第2簡易判定部と、第2簡易判定部により検出された物体を構成する処理対象のポリゴン、及び移動体を構成する処理対象のポリゴンに基づいて、衝突判定を行う詳細判定部とを備えたことを特徴とする。 The collision detection device according to the present invention uses a creating unit that creates a boundary volume for each of a plurality of objects including at least one moving object and a boundary volume created by the creating unit, and interferes with the boundary volume of the moving object. Boundary of a moving body among the first simple determination unit that detects the boundary volume to be processed and identifies the object corresponding to the detected boundary volume and the polygon to be processed that constitutes the object specified by the first simple determination unit. Collision determination is performed based on the second simple determination unit that detects polygons that interfere with the volume, the processing target polygons that make up the object detected by the second simple determination unit, and the processing target polygons that make up the moving object. It is characterized by having a detailed determination unit for performing.
 この発明によれば、上記のように構成したので、自動で、従来構成に対して衝突判定の処理量を低減しつつ物体同士の衝突検知を正確に行うことが可能となる。 According to the present invention, since the configuration is as described above, it is possible to automatically detect collisions between objects while reducing the amount of collision determination processing compared to the conventional configuration.
実施の形態1に係る衝突検知装置の構成例を示す図である。It is a figure which shows the configuration example of the collision detection apparatus which concerns on Embodiment 1. FIG. 実施の形態1に係る衝突検知装置の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the collision detection apparatus which concerns on Embodiment 1. FIG. 実施の形態1における除外部による処理を説明するための図である。It is a figure for demonstrating the process by the exclusion part in Embodiment 1. FIG. 図4A、図4Bは、実施の形態1における作成部による処理を説明するための図である。4A and 4B are diagrams for explaining the processing by the creating unit in the first embodiment. 実施の形態1における第1簡易判定部による処理を説明するための図である。It is a figure for demonstrating the process by the 1st simple determination part in Embodiment 1. FIG. 実施の形態1における第2簡易判定部による処理を説明するための図である。It is a figure for demonstrating the process by the 2nd simple determination part in Embodiment 1. FIG. 実施の形態1における第2簡易判定部による処理を説明するための図である。It is a figure for demonstrating the process by the 2nd simple determination part in Embodiment 1. FIG. 実施の形態1における第2簡易判定部による処理を説明するための図である。It is a figure for demonstrating the process by the 2nd simple determination part in Embodiment 1. FIG. 実施の形態1における第2簡易判定部による処理を説明するための図である。It is a figure for demonstrating the process by the 2nd simple determination part in Embodiment 1. FIG. 図10A、図10Bは、実施の形態1に係る衝突検知装置のハードウェア構成例を示す図である。10A and 10B are diagrams showing a hardware configuration example of the collision detection device according to the first embodiment.
 以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
 図1は実施の形態1に係る衝突検知装置1の構成例を示す図である。
 衝突検知装置1は、物体5同士の衝突を検知する。物体5には、1つ以上の移動体5aが含まれる。物体5としては、例えば、部品又はアセンブリ等が挙げられる。衝突検知装置1は、図1に示すように、記憶部101、除外部102、作成部103、簡易判定部(第1簡易判定部)104、簡易判定部(第2簡易判定部)105及び詳細判定部106を備えている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Embodiment 1.
FIG. 1 is a diagram showing a configuration example of the collision detection device 1 according to the first embodiment.
The collision detection device 1 detects a collision between objects 5. The object 5 includes one or more moving bodies 5a. Examples of the object 5 include parts and assemblies. As shown in FIG. 1, the collision detection device 1 includes a storage unit 101, an exclusion unit 102, a creation unit 103, a simple determination unit (first simple determination unit) 104, a simple determination unit (second simple determination unit) 105, and details. A determination unit 106 is provided.
 記憶部101は、衝突検知装置1で扱う各種のデータを記憶する。記憶部101は、事前に、衝突検知対象とする物体5の形状を示すCADデータ(三次元データ)を記憶している。衝突検知装置1は、物体5の形状を示すCADデータから、当該物体5を構成する三角形状のポリゴン、及び、当該ポリゴンを構成する頂点座標を示す情報を取得可能である。 The storage unit 101 stores various data handled by the collision detection device 1. The storage unit 101 stores in advance CAD data (three-dimensional data) indicating the shape of the object 5 to be detected as a collision. The collision detection device 1 can acquire information indicating the triangular polygons constituting the object 5 and the coordinates of the vertices constituting the polygon from the CAD data indicating the shape of the object 5.
 図1では、衝突検知装置1の内部に記憶部101が設けられた場合を示している。しかしながら、これに限らず、衝突検知装置1の外部に記憶部101が設けられていてもよい。
 また、記憶部101としては、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)等の不揮発性又は揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、又はDVD(Digital Versatile Disc)等が該当する。
FIG. 1 shows a case where the storage unit 101 is provided inside the collision detection device 1. However, the present invention is not limited to this, and the storage unit 101 may be provided outside the collision detection device 1.
The storage unit 101 includes, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Program ROM), or an EPROM (Electrically EPROM). A magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD (Digital Versaille Disc), or the like is applicable.
 除外部102は、衝突検知対象とする物体5毎に、物体5を構成するポリゴンのうちの一部のポリゴンを処理対象から除外する。この際、除外部102は、物体5を構成するポリゴンにおいて、1つのポリゴンを構成する全ての頂点座標が他のポリゴンに共有されている場合に、当該頂点座標を共有するポリゴンのうちの一方を処理対象から除外してもよい。又は、除外部102は、物体5を構成するポリゴンのうちの一部のポリゴンをランダムに処理対象から除外してもよい。 The exclusion unit 102 excludes some of the polygons constituting the object 5 from the processing target for each object 5 to be detected as a collision. At this time, in the polygons constituting the object 5, when all the vertex coordinates constituting one polygon are shared by other polygons, the exclusion unit 102 selects one of the polygons sharing the vertex coordinates. It may be excluded from the processing target. Alternatively, the exclusion unit 102 may randomly exclude some of the polygons constituting the object 5 from the processing target.
 なお、除外部102は、衝突検知装置1に必須の構成ではなく、衝突検知装置1から取除いてもよい。 Note that the exclusion unit 102 is not an essential configuration for the collision detection device 1, and may be removed from the collision detection device 1.
 作成部103は、衝突検知対象とする物体5毎に、境界ボリューム6を作成する。境界ボリューム6としては、例えば、AABB(Axis-Aligned Bounding Box:軸平行境界ボックス)又は球体が挙げられる。 The creation unit 103 creates a boundary volume 6 for each object 5 to be detected as a collision. Examples of the boundary volume 6 include AABB (Axis-Aligned Bounding Box) or a sphere.
 簡易判定部104は、作成部103により作成された境界ボリューム6を用いて、1ステップ目の簡易判定を行う。この際、まず、簡易判定部104は、移動体5aの境界ボリューム6aに干渉する境界ボリューム6を検出する。そして、簡易判定部104は、検出した境界ボリューム6に対応する物体5を特定する。 The simple determination unit 104 uses the boundary volume 6 created by the creation unit 103 to perform a simple determination in the first step. At this time, first, the simple determination unit 104 detects the boundary volume 6 that interferes with the boundary volume 6a of the moving body 5a. Then, the simple determination unit 104 identifies the object 5 corresponding to the detected boundary volume 6.
 簡易判定部105は、簡易判定部104による判定結果に基づいて、2ステップ目の簡易判定を行う。この際、簡易判定部105は、簡易判定部104により特定された物体5を構成する処理対象のポリゴンのうち、移動体5aの境界ボリューム6aに干渉するポリゴンを検出する。衝突検知装置1に除外部102が設けられている場合には、簡易判定部105は、除外部102による処理後の物体5を構成する処理対象のポリゴンのうち、移動体5aの境界ボリューム6aに干渉するポリゴンを検出する。
 また、簡易判定部105は、移動体5aを構成する処理対象のポリゴンのうち、簡易判定部104により特定された物体5の境界ボリューム6に干渉するポリゴンを検出してもよい。衝突検知装置1に除外部102が設けられている場合には、簡易判定部105は、除外部102による処理後の移動体5aを構成する処理対象のポリゴンのうち、簡易判定部104により特定された物体5の境界ボリューム6に干渉するポリゴンを検出する。
The simple determination unit 105 makes a simple determination in the second step based on the determination result by the simple determination unit 104. At this time, the simple determination unit 105 detects the polygons that interfere with the boundary volume 6a of the moving body 5a among the polygons to be processed that constitute the object 5 specified by the simple determination unit 104. When the collision detection device 1 is provided with the exclusion unit 102, the simple determination unit 105 sets the boundary volume 6a of the moving body 5a among the polygons to be processed constituting the object 5 processed by the exclusion unit 102. Detects interfering polygons.
Further, the simple determination unit 105 may detect a polygon that interferes with the boundary volume 6 of the object 5 specified by the simple determination unit 104 among the polygons to be processed that constitute the moving body 5a. When the collision detection device 1 is provided with the exclusion unit 102, the simple determination unit 105 is specified by the simple determination unit 104 among the polygons to be processed that constitute the moving body 5a after the processing by the exclusion unit 102. A polygon that interferes with the boundary volume 6 of the object 5 is detected.
 更に、簡易判定部105は、3ステップ目の簡易判定を行ってもよい。この際、簡易判定部105は、移動体5aの進行方向に基づいて、当該移動体5aを構成する処理対象のポリゴンのうちの一部のポリゴンを処理対象から除外する。 Further, the simple determination unit 105 may perform a simple determination in the third step. At this time, the simple determination unit 105 excludes some polygons of the processing target polygons constituting the moving body 5a from the processing target based on the traveling direction of the moving body 5a.
 詳細判定部106は、簡易判定部105による判定結果に基づいて、詳細判定を行う。この際、詳細判定部106は、簡易判定部105により検出された物体5を構成する処理対象のポリゴン、及び移動体5aを構成する処理対象のポリゴンに基づいて、衝突判定を行う。
 また、簡易判定部105により移動体5aを構成する処理対象のポリゴンも検出されている場合には、詳細判定部106は、簡易判定部105により検出された物体5を構成する処理対象のポリゴン及び当該移動体5aを構成する処理対象のポリゴンに基づいて、衝突判定を行う。
The detailed determination unit 106 makes a detailed determination based on the determination result by the simple determination unit 105. At this time, the detailed determination unit 106 makes a collision determination based on the polygons to be processed forming the object 5 detected by the simple determination unit 105 and the polygons to be processed forming the moving body 5a.
When the simple determination unit 105 also detects the polygon to be processed that constitutes the moving body 5a, the detailed determination unit 106 determines the polygon to be processed and the polygon that constitutes the object 5 detected by the simple determination unit 105. Collision determination is performed based on the polygons to be processed that constitute the moving body 5a.
 次に、図1に示す実施の形態1に係る衝突検知装置1の動作例について、図2を参照しながら説明する。
 実施の形態1に係る衝突検知装置1は、2ステップ以上の連続する簡易判定によって詳細判定の処理対象とするポリゴンを検出し、詳細判定によって当該検出したポリゴン同士で衝突判定を行う。以下では、衝突検知装置1が3ステップの簡易判定を行う場合を示す。
Next, an operation example of the collision detection device 1 according to the first embodiment shown in FIG. 1 will be described with reference to FIG.
The collision detection device 1 according to the first embodiment detects polygons to be processed for detailed determination by continuous simple determination of two steps or more, and performs collision determination between the detected polygons by detailed determination. The following shows a case where the collision detection device 1 performs a simple determination in three steps.
 図1に示す実施の形態1に係る衝突検知装置1の動作例では、図2に示すように、まず、除外部102は、衝突検知対象とする物体5毎に、物体5を構成するポリゴンのうちの一部のポリゴンを処理対象から除外する(ステップST1)。 In the operation example of the collision detection device 1 according to the first embodiment shown in FIG. 1, as shown in FIG. 2, first, the exclusion unit 102 is a polygon that constitutes the object 5 for each object 5 to be collision detected. Some of the polygons are excluded from the processing target (step ST1).
 この際、図3に示すように、除外部102は、物体5を構成するポリゴンにおいて、1つのポリゴンを構成する全ての頂点座標が他のポリゴンに共有されている場合に、当該頂点座標を共有するポリゴンのうちの一方を処理対象から除外してもよい。これにより、実施の形態1に係る衝突検知装置1は、物体5を構成するポリゴンを構成する頂点座標の変更及び数の削減を行うことなく、すなわち、物体5の大きさ及び形状を変えることなく、処理対象とするポリゴンの数を削減可能となる。図3では、物体5が立方体形状であり、除外部102は斜線部分のポリゴンを処理対象から除外している。
 なお、衝突判定をポリゴン対ポリゴンで行う場合、ポリゴンの処理対象からの除外は、厳密には精度に影響する。一方、世の中に流通している大部分の製品は、安全上、処理対象から除外したポリゴン部分を通り抜ける程鋭角で長い形状を有しているとは考えられず、連続した曲面又は平面で構成されていると考えられる。そのため、除外部102によるポリゴンの処理対象からの除外は、実質的には問題とならない。
At this time, as shown in FIG. 3, the exclusion unit 102 shares the vertex coordinates when all the vertex coordinates constituting one polygon are shared by other polygons in the polygons constituting the object 5. One of the polygons to be processed may be excluded from the processing target. As a result, the collision detection device 1 according to the first embodiment does not change the coordinates of the vertices constituting the polygons constituting the object 5 and reduce the number thereof, that is, without changing the size and shape of the object 5. , It is possible to reduce the number of polygons to be processed. In FIG. 3, the object 5 has a cubic shape, and the exclusion portion 102 excludes the polygon in the shaded portion from the processing target.
When the collision determination is performed on a polygon-to-polygon basis, the exclusion of polygons from the processing target strictly affects the accuracy. On the other hand, for safety reasons, most products on the market are not considered to have an acute-angled and long shape that allows them to pass through polygons excluded from processing, and are composed of continuous curved surfaces or planes. It is thought that it is. Therefore, the exclusion of the polygon from the processing target by the exclusion unit 102 does not substantially matter.
 又は、除外部102は、物体5を構成するポリゴンのうちの一部のポリゴンをランダムに処理対象から除外してもよい。
 CADデータで示される物体5の形状は、多数のポリゴンで構成されている。そのため、除外部102でランダムにポリゴンを処理対象から除外しても、一定の割合であれば、隣接するポリゴン同士が処理対象から除外される確率は低いと考えられる。そのため、これによっても、実施の形態1に係る衝突検知装置1は、物体5を構成するポリゴンを構成する頂点座標の変更及び数の削減を行うことなく、すなわち、物体5の大きさ及び形状を変えることなく、処理対象とするポリゴンの数を削減可能となる。
Alternatively, the exclusion unit 102 may randomly exclude some of the polygons constituting the object 5 from the processing target.
The shape of the object 5 shown in the CAD data is composed of a large number of polygons. Therefore, even if polygons are randomly excluded from the processing target by the exclusion unit 102, it is considered that the probability that adjacent polygons are excluded from the processing target is low if the ratio is constant. Therefore, even with this, the collision detection device 1 according to the first embodiment does not change the coordinates of the vertices constituting the polygons constituting the object 5 and reduce the number, that is, the size and shape of the object 5. It is possible to reduce the number of polygons to be processed without changing.
 また、作成部103は、衝突検知対象とする物体5毎に、境界ボリューム6を作成する(ステップST2)。図4Aでは境界ボリューム6として球体を用いた場合を示し、図4Bでは境界ボリューム6としてAABBを用いた場合を示している。なお、記憶部101は、作成部103により作成された境界ボリューム6と、当該境界ボリューム6に対応する物体5とをユニークなIDを用いて関連付けて記憶する。 Further, the creation unit 103 creates a boundary volume 6 for each object 5 to be detected as a collision (step ST2). FIG. 4A shows a case where a sphere is used as the boundary volume 6, and FIG. 4B shows a case where AABB is used as the boundary volume 6. The storage unit 101 stores the boundary volume 6 created by the creation unit 103 and the object 5 corresponding to the boundary volume 6 in association with each other by using a unique ID.
 次いで、簡易判定部104は、作成部103により作成された境界ボリューム6を用いて、1ステップ目の簡易判定を行う(ステップST3)。この際、図5に示すように、まず、簡易判定部104は、移動体5aの境界ボリューム6aに干渉する境界ボリューム6を検出する。そして、簡易判定部104は、上記検出した境界ボリューム6に対応する物体5を特定する。図5では、領域501部分で、移動体5aの境界ボリューム6aに静止物体5bの境界ボリューム6bが干渉している。
 なお図5では、図を見易くするため、ポリゴンを三角形ではなく四角形で表現している。図6,7についても同様である。
Next, the simple determination unit 104 makes a simple determination in the first step using the boundary volume 6 created by the creation unit 103 (step ST3). At this time, as shown in FIG. 5, first, the simple determination unit 104 detects the boundary volume 6 that interferes with the boundary volume 6a of the moving body 5a. Then, the simple determination unit 104 identifies the object 5 corresponding to the detected boundary volume 6. In FIG. 5, the boundary volume 6b of the stationary object 5b interferes with the boundary volume 6a of the moving body 5a in the region 501 portion.
In FIG. 5, polygons are represented by quadrangles instead of triangles in order to make the figures easier to see. The same applies to FIGS. 6 and 7.
 次いで、簡易判定部105は、簡易判定部104による判定結果に基づいて、2ステップ目の簡易判定を行う(ステップST4)。
 この際、まず、簡易判定部105は、簡易判定部104により特定された物体5を構成する処理対象のポリゴンのうち、移動体5aの境界ボリューム6aに干渉するポリゴンを検出する。図6では、領域601部分で、移動体5aの境界ボリューム6aに静止物体5bが干渉している。またここでは、簡易判定部105は、移動体5aを構成する処理対象のポリゴンのうち、簡易判定部104により特定された物体5の境界ボリューム6に干渉するポリゴンを検出するものとする。図7では、領域701部分で、静止物体5bの境界ボリューム6bに移動体5aが干渉している。
 なお、簡易判定部105による2ステップ目の簡易判定の処理は、非常にコストの低い処理であり、物体5が多い場合でも実現可能な処理である。
Next, the simple determination unit 105 makes a simple determination in the second step based on the determination result by the simple determination unit 104 (step ST4).
At this time, first, the simple determination unit 105 detects a polygon that interferes with the boundary volume 6a of the moving body 5a among the polygons to be processed that constitute the object 5 specified by the simple determination unit 104. In FIG. 6, the stationary object 5b interferes with the boundary volume 6a of the moving body 5a in the region 601. Further, here, it is assumed that the simple determination unit 105 detects a polygon that interferes with the boundary volume 6 of the object 5 specified by the simple determination unit 104 among the polygons to be processed that constitute the moving body 5a. In FIG. 7, the moving body 5a interferes with the boundary volume 6b of the stationary object 5b in the region 701.
The process of the simple determination in the second step by the simple determination unit 105 is a very low-cost process and can be realized even when there are many objects 5.
 この簡易判定部105による2ステップ目の簡易判定により、実施の形態1に係る衝突検知装置1は、詳細判定を行う必要が有る物体5において処理対象とするポリゴンを限定でき、詳細判定における処理量を削減できる。 By the simple determination of the second step by the simple determination unit 105, the collision detection device 1 according to the first embodiment can limit the polygons to be processed in the object 5 that needs to perform the detailed determination, and the processing amount in the detailed determination. Can be reduced.
 次いで、簡易判定部105は、3ステップ目の簡易判定を行う(ステップST5)。この際、簡易判定部105は、移動体5aの進行方向に基づいて、当該移動体5aを構成する処理対象のポリゴンのうちの一部のポリゴンを処理対象から除外する。 Next, the simple determination unit 105 makes a simple determination in the third step (step ST5). At this time, the simple determination unit 105 excludes some polygons of the processing target polygons constituting the moving body 5a from the processing target based on the traveling direction of the moving body 5a.
 図8に示すように、移動体5aによる静止物体5bへの衝突は、移動体5aの進行方向にしか発生しない。そこで、簡易判定部105は、移動体5aを構成する処理対象のポリゴンのうち、進行方向における正面側の衝突する可能性のあるポリゴンのみを処理対象としてもよい。これにより、実施の形態1に係る衝突検知装置1は、詳細判定における処理量を更に削減できる。 As shown in FIG. 8, the collision of the moving body 5a with the stationary object 5b occurs only in the traveling direction of the moving body 5a. Therefore, the simple determination unit 105 may target only the polygons to be processed that form the moving body 5a and which may collide with each other on the front side in the traveling direction. As a result, the collision detection device 1 according to the first embodiment can further reduce the amount of processing in the detailed determination.
 なお、この場合の具体的な処理方法としては、図9に示すように、まず、簡易判定部105は、移動体5aを構成する処理対象のポリゴンに対し、ポリゴン毎に、直前のフレームでの位置から移動ベクトルをそれぞれ算出する。そして、簡易判定部105は、ポリゴン毎に、法線ベクトルを正規化し、算出した移動ベクトルを正規化する。そして、簡易判定部105は、ポリゴン毎に、正規化した法線ベクトルと正規化した移動ベクトルとの内積の値を算出する。そして、簡易判定部105は、ポリゴン毎に、算出した内積の値が閾値以上且つ1以下の値であれば、進行方向における正面側に存在するポリゴンであると判定して処理対象として扱う。なお、閾値は、0以上且つ1未満の任意の値である。一方、簡易判定部105は、ポリゴン毎に、算出した内積の値が負の値であれば、進行方向における正面側以外に存在するポリゴンであるため、衝突の可能性が無いと判定して処理対象から除外する。
 なお、物体5はポリゴンで閉じた形状であるため、物体5には必ず進行方向における正面側を向いたポリゴンが存在する。
As a specific processing method in this case, as shown in FIG. 9, first, the simple determination unit 105 sets the polygons to be processed forming the moving body 5a for each polygon in the immediately preceding frame. Each movement vector is calculated from the position. Then, the simple determination unit 105 normalizes the normal vector for each polygon, and normalizes the calculated movement vector. Then, the simple determination unit 105 calculates the value of the inner product of the normalized normal vector and the normalized movement vector for each polygon. Then, if the calculated inner product value for each polygon is equal to or greater than the threshold value and is equal to or less than 1, the simple determination unit 105 determines that the polygon exists on the front side in the traveling direction and treats it as a processing target. The threshold value is an arbitrary value of 0 or more and less than 1. On the other hand, if the value of the calculated inner product for each polygon is a negative value, the simple determination unit 105 determines that there is no possibility of collision and processes the polygon because it exists on a polygon other than the front side in the traveling direction. Exclude from the target.
Since the object 5 has a shape closed by polygons, the object 5 always has polygons facing the front side in the traveling direction.
 なお上記では、簡易判定部105が、移動体5aの進行方向に基づいて、当該移動体5aを構成する処理対象のポリゴンのうちの一部のポリゴンを処理対象から除外する場合を示した。しかしながら、これに限らず、簡易判定部105は、移動体5aの進行方向に基づいて、簡易判定部104により特定された物体5(当該移動体5aと衝突の可能性のある物体5)を構成する処理対象のポリゴンのうちの一部のポリゴンを処理対象から除外してもよい。
 なお、この場合の具体的な処理方法としては、まず、簡易判定部105は、移動体5aの移動ベクトルを算出して正規化する。この正規化した移動ベクトルの取得方法は上記と同様である。そして、簡易判定部105は、上記物体5を構成する処理対象のポリゴン毎に、法線ベクトルを正規化する。そして、簡易判定部105は、ポリゴン毎に、正規化した法線ベクトルと正規化した移動ベクトルとの内積の値を算出する。そして、簡易判定部105は、ポリゴン毎に、算出した内積の値が閾値以下且つ-1以上の値であれば、移動体5aに対向する正面側に存在するポリゴンであると判定して処理対象として扱う。なお、閾値は、-1より大きく且つ0以下の任意の値である。一方、簡易判定部105は、ポリゴン毎に、算出した内積の値が正の値であれば、移動体5aに対向する正面側以外に存在するポリゴンであるため、衝突の可能性が無いと判定して処理対象から除外する。
In the above description, the simple determination unit 105 shows a case where some polygons of the processing target polygons constituting the moving body 5a are excluded from the processing target based on the traveling direction of the moving body 5a. However, not limited to this, the simple determination unit 105 constitutes an object 5 (an object 5 that may collide with the moving object 5a) specified by the simple determination unit 104 based on the traveling direction of the moving body 5a. A part of the polygons to be processed may be excluded from the processing target.
As a specific processing method in this case, first, the simple determination unit 105 calculates and normalizes the movement vector of the moving body 5a. The method for obtaining the normalized movement vector is the same as described above. Then, the simple determination unit 105 normalizes the normal vector for each polygon to be processed that constitutes the object 5. Then, the simple determination unit 105 calculates the value of the inner product of the normalized normal vector and the normalized movement vector for each polygon. Then, if the calculated inner product value for each polygon is equal to or less than the threshold value and is equal to or greater than -1, the simple determination unit 105 determines that the polygon exists on the front side facing the moving body 5a and is processed. Treat as. The threshold value is an arbitrary value greater than -1 and less than or equal to 0. On the other hand, if the calculated inner product value for each polygon is a positive value, the simple determination unit 105 determines that there is no possibility of collision because the polygon exists on a polygon other than the front side facing the moving body 5a. And exclude it from the processing target.
 また、簡易判定部105は、移動体5aの進行方向に基づいて、当該移動体5aを構成する処理対象のポリゴンのうちの一部のポリゴンを処理対象から除外し、更に、簡易判定部104により特定された物体5を構成する処理対象のポリゴンのうちの一部のポリゴンを処理対象から除外してもよい。 Further, the simple determination unit 105 excludes some polygons of the processing target polygons constituting the moving body 5a from the processing target based on the traveling direction of the moving body 5a, and further, the simple determination unit 104 uses the simple determination unit 104. A part of the polygons to be processed that constitute the specified object 5 may be excluded from the processing target.
 このように、実施の形態1に係る衝突検知装置1は、簡易判定部104及び簡易判定部105による2ステップ以上の簡易判定によって、詳細判定で処理対象とするポリゴンを徐々に減らしていく。これにより、実施の形態1に係る衝突検知装置1は、空間内に存在する物体5の数量が多い場合又は物体5を構成するポリゴンの数量が多い場合でも、詳細判定における処理量を大幅に低減できる。 As described above, the collision detection device 1 according to the first embodiment gradually reduces the number of polygons to be processed in the detailed determination by the simple determination of two steps or more by the simple determination unit 104 and the simple determination unit 105. As a result, the collision detection device 1 according to the first embodiment significantly reduces the amount of processing in the detailed determination even when the number of objects 5 existing in the space is large or the number of polygons constituting the object 5 is large. it can.
 次いで、詳細判定部106は、簡易判定部105による判定結果に基づいて、詳細判定を行う(ステップST6)。この際、詳細判定部106は、簡易判定部105により検出された物体5を構成する処理対象のポリゴン及び移動体5aを構成する処理対象のポリゴンに基づいて、衝突判定を行う。例えば、詳細判定部106は、GPU(Graphics Processing Unit)等の演算装置を用いて処理対象のポリゴンの総当たり判定を並列処理で実施することで、移動体5aが干渉する物体5とその部位を特定する。なお、ポリゴン同士の衝突判定(干渉判定)としては既存の技術を用いることが可能であり、その処理の詳細については説明を省略する。 Next, the detailed determination unit 106 makes a detailed determination based on the determination result by the simple determination unit 105 (step ST6). At this time, the detailed determination unit 106 makes a collision determination based on the processing target polygons constituting the object 5 and the processing target polygons constituting the moving object 5a detected by the simple determination unit 105. For example, the detailed determination unit 106 performs a brute force determination of the polygon to be processed by parallel processing using an arithmetic unit such as a GPU (Graphics Processing Unit) to determine the object 5 and its portion that the moving object 5a interferes with. Identify. It is possible to use an existing technique for collision determination (interference determination) between polygons, and the details of the processing will be omitted.
 なお、衝突検知装置1は、上記処理を行うフレームを限定してもよい。例えば、衝突検知装置1は、物体5が動いていない状態のフレームは処理対象から除外する。また、例えば、衝突検知装置1は、物体5が動いている状態であっても、ユーザの知覚に影響が出ない範囲で処理対象とするフレームの間隔を設定してもよい。これにより、衝突検知装置1は、演算プロセッサ上での処理の占有率の低減が可能となる。VRの実利用において、演算プロセッサは、衝突判定の計算処理だけではなく、他の処理も実行する。そのため、衝突判定の計算処理による演算プロセッサの占有率を低減することで、他の処理に演算プロセッサの能力を割当てられるため、全体的な体感速度の向上に繋がる。 Note that the collision detection device 1 may limit the frame for performing the above processing. For example, the collision detection device 1 excludes a frame in which the object 5 is not moving from the processing target. Further, for example, the collision detection device 1 may set the interval of frames to be processed within a range that does not affect the user's perception even when the object 5 is in a moving state. As a result, the collision detection device 1 can reduce the occupancy rate of processing on the arithmetic processor. In the actual use of VR, the arithmetic processor executes not only the calculation process of collision determination but also other processes. Therefore, by reducing the occupancy rate of the arithmetic processor in the calculation processing of the collision determination, the capacity of the arithmetic processor can be allocated to other processing, which leads to an improvement in the overall perceived speed.
 移動体5aの移動速度が遅い場合、衝突検知装置1は、例えば、6フレームに1回処理することとすれば、0.1秒単位(60フレーム/秒の画像の場合)で衝突検知を実施できる。また、移動体5aの移動速度が速い場合、フレーム毎の物体5の位置関係の変化が大きくなることを考慮し、衝突検知装置1は、例えば、3フレームに1回処理することとすれば、0.05秒単位で衝突検知を実施でき、より細かな判定処理が可能となる。 When the moving speed of the moving body 5a is slow, the collision detection device 1 performs collision detection in 0.1 second units (in the case of an image of 60 frames / second), for example, if processing is performed once every 6 frames. it can. Further, in consideration of the fact that when the moving speed of the moving body 5a is high, the change in the positional relationship of the object 5 for each frame becomes large, the collision detection device 1 may be processed once every three frames, for example. Collision detection can be performed in 0.05 second units, and more detailed judgment processing becomes possible.
 なお図では、移動体5aと静止物体5bとの衝突判定を例に挙げている。しかしながら、これに限らず、実施の形態1に係る衝突検知装置1は、移動体5a同士の衝突判定も可能である。例えば、実施の形態1に係る衝突検知装置1は、作業者が両手に持っている工具同士が衝突するか否かを検知することも可能である。 In the figure, the collision determination between the moving body 5a and the stationary object 5b is taken as an example. However, not limited to this, the collision detection device 1 according to the first embodiment can also determine a collision between moving bodies 5a. For example, the collision detection device 1 according to the first embodiment can detect whether or not the tools held by the operator in both hands collide with each other.
 以上のように、この実施の形態1によれば、衝突検知装置1は、少なくとも1つの移動体5aを含む複数の物体5に対し、それぞれ境界ボリューム6を作成する作成部103と、作成部103により作成された境界ボリューム6を用い、移動体5aの境界ボリューム6に干渉する境界ボリューム6を検出し、当該検出した境界ボリューム6に対応する物体5を特定する簡易判定部104と、簡易判定部104により特定された物体5を構成する処理対象のポリゴンのうち、移動体5aの境界ボリューム6aに干渉するポリゴンを検出する簡易判定部105と、簡易判定部105により検出された物体5を構成する処理対象のポリゴン、及び移動体5aを構成する処理対象のポリゴンに基づいて、衝突判定を行う詳細判定部106とを備えた。これにより、実施の形態1に係る衝突検知装置1は、自動で、従来構成に対して衝突判定の処理量を低減しつつ物体5同士の衝突検知を正確に行うことが可能となる。また、実施の形態1に係る衝突検知装置1は、物体5の大きさ及び複雑さによって精度にバラつきが生じることはない。 As described above, according to the first embodiment, the collision detection device 1 creates the boundary volume 6 for each of the plurality of objects 5 including at least one moving body 5a, and the creation unit 103. A simple determination unit 104 that detects a boundary volume 6 that interferes with the boundary volume 6 of the moving body 5a and identifies an object 5 corresponding to the detected boundary volume 6 by using the boundary volume 6 created by Among the polygons to be processed that constitute the object 5 specified by 104, the simple determination unit 105 that detects the polygon that interferes with the boundary volume 6a of the moving body 5a and the object 5 that is detected by the simple determination unit 105 are configured. It is provided with a detailed determination unit 106 that performs collision determination based on the polygon to be processed and the polygon to be processed constituting the moving body 5a. As a result, the collision detection device 1 according to the first embodiment can automatically detect collisions between objects 5 accurately while reducing the amount of collision determination processing compared to the conventional configuration. Further, the accuracy of the collision detection device 1 according to the first embodiment does not vary depending on the size and complexity of the object 5.
 最後に、図10を参照して、実施の形態1に係る衝突検知装置1のハードウェア構成例を説明する。
 処理回路51は、図10Aに示すように、専用のハードウェアであってもよいし、図10Bに示すように、メモリ53に格納されるプログラムを実行するCPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、又はDSP(Digital Signal Processor)ともいう)52であってもよい。
Finally, with reference to FIG. 10, a hardware configuration example of the collision detection device 1 according to the first embodiment will be described.
As shown in FIG. 10A, the processing circuit 51 may be dedicated hardware, or as shown in FIG. 10B, a CPU (Central Processing Unit, central processing unit,) that executes a program stored in the memory 53. It may be a processing unit, an arithmetic unit, a microprocessor, a microprocessor, a processor, or a DSP (also referred to as a Digital Signal Processor) 52.
 処理回路51が専用のハードウェアである場合、処理回路51は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、又はこれらを組み合わせたものが該当する。除外部102、作成部103、簡易判定部104、簡易判定部105及び詳細判定部106の各部の機能それぞれを処理回路51で実現してもよいし、各部の機能をまとめて処理回路51で実現してもよい。 When the processing circuit 51 is dedicated hardware, the processing circuit 51 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), or an FPGA (Field Programmable Gate). Array) or a combination of these is applicable. The functions of the exclusion unit 102, the creation unit 103, the simple determination unit 104, the simple determination unit 105, and the detailed determination unit 106 may be realized by the processing circuit 51, or the functions of each unit may be collectively realized by the processing circuit 51. You may.
 処理回路51がCPU52の場合、除外部102、作成部103、簡易判定部104、簡易判定部105及び詳細判定部106の機能は、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェア及びファームウェアはプログラムとして記述され、メモリ53に格納される。処理回路51は、メモリ53に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、衝突検知装置1は、処理回路51により実行されるときに、例えば図2に示した各ステップが結果的に実行されることになるプログラムを格納するためのメモリ53を備える。また、これらのプログラムは、除外部102、作成部103、簡易判定部104、簡易判定部105及び詳細判定部106の手順及び方法をコンピュータに実行させるものであるともいえる。ここで、メモリ53としては、例えば、RAM、ROM、フラッシュメモリ、EPROM、EEPROM等の不揮発性又は揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、又はDVD等が該当する。 When the processing circuit 51 is the CPU 52, the functions of the exclusion unit 102, the creation unit 103, the simple determination unit 104, the simple determination unit 105, and the detailed determination unit 106 are realized by software, firmware, or a combination of software and firmware. The software and firmware are described as programs and stored in the memory 53. The processing circuit 51 realizes the functions of each part by reading and executing the program stored in the memory 53. That is, the collision detection device 1 includes a memory 53 for storing a program in which, for example, each step shown in FIG. 2 is eventually executed when executed by the processing circuit 51. Further, it can be said that these programs cause the computer to execute the procedures and methods of the exclusion unit 102, the creation unit 103, the simple determination unit 104, the simple determination unit 105, and the detailed determination unit 106. Here, examples of the memory 53 include non-volatile or volatile semiconductor memories such as RAM, ROM, flash memory, EPROM, and EEPROM, magnetic disks, flexible disks, optical disks, compact disks, mini disks, DVDs, and the like. To do.
 なお、除外部102、作成部103、簡易判定部104、簡易判定部105及び詳細判定部106の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェア又はファームウェアで実現するようにしてもよい。例えば、除外部102については専用のハードウェアとしての処理回路51でその機能を実現し、作成部103、簡易判定部104、簡易判定部105及び詳細判定部106については処理回路51がメモリ53に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。 It should be noted that some of the functions of the exclusion unit 102, the creation unit 103, the simple determination unit 104, the simple determination unit 105, and the detailed determination unit 106 are realized by dedicated hardware and a part by software or firmware. You may do it. For example, the function of the exclusion unit 102 is realized by the processing circuit 51 as dedicated hardware, and the processing circuit 51 of the creation unit 103, the simple determination unit 104, the simple determination unit 105, and the detailed determination unit 106 is stored in the memory 53. The function can be realized by reading and executing the stored program.
 このように、処理回路51は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって、上述の各機能を実現することができる。 As described above, the processing circuit 51 can realize each of the above-mentioned functions by hardware, software, firmware, or a combination thereof.
 なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、若しくは実施の形態の任意の構成要素の省略が可能である。 It should be noted that, within the scope of the invention, the present invention can be modified from any component of the embodiment or can be omitted from any component of the embodiment.
 この発明に係る衝突検知装置は、自動で、従来構成に対して衝突判定の処理量を低減しつつ物体同士の衝突検知を正確に行うことが可能となり、物体同士の衝突を検知する衝突検知装置等に用いるのに適している。 The collision detection device according to the present invention can automatically detect collisions between objects while reducing the amount of collision determination processing compared to the conventional configuration, and is a collision detection device that detects collisions between objects. It is suitable for use in such cases.
 1 衝突検知装置、5 物体、5a 移動体、5b 静止物体、6,6a,6b 境界ボリューム、51 処理回路、52 CPU、53 メモリ、101 記憶部、102 除外部、103 作成部、104 簡易判定部(第1簡易判定部)、105 簡易判定部(第2簡易判定部)、106 詳細判定部。 1 Collision detection device, 5 object, 5a moving body, 5b stationary object, 6,6a, 6b boundary volume, 51 processing circuit, 52 CPU, 53 memory, 101 storage unit, 102 exclusion unit, 103 creation unit, 104 simple judgment unit (1st simple judgment unit), 105 simple judgment unit (2nd simple judgment unit), 106 detailed judgment unit.

Claims (5)

  1.  少なくとも1つの移動体を含む複数の物体に対し、それぞれ境界ボリュームを作成する作成部と、
     前記作成部により作成された境界ボリュームを用い、移動体の境界ボリュームに干渉する境界ボリュームを検出し、当該検出した境界ボリュームに対応する物体を特定する第1簡易判定部と、
     前記第1簡易判定部により特定された物体を構成する処理対象のポリゴンのうち、移動体の境界ボリュームに干渉するポリゴンを検出する第2簡易判定部と、
     前記第2簡易判定部により検出された物体を構成する処理対象のポリゴン、及び移動体を構成する処理対象のポリゴンに基づいて、衝突判定を行う詳細判定部と
     を備えた衝突検知装置。
    A creation unit that creates a boundary volume for each of a plurality of objects including at least one moving object,
    Using the boundary volume created by the creation unit, the first simple determination unit that detects the boundary volume that interferes with the boundary volume of the moving body and identifies the object corresponding to the detected boundary volume,
    Among the polygons to be processed that constitute the object specified by the first simple determination unit, the second simple determination unit that detects polygons that interfere with the boundary volume of the moving body, and
    A collision detection device including a processing target polygon that constitutes an object detected by the second simple determination unit and a detailed determination unit that performs collision determination based on a processing target polygon that constitutes a moving object.
  2.  物体を構成するポリゴンにおいて、1つのポリゴンを構成する全ての頂点座標が他のポリゴンに共有されている場合、当該頂点座標を共有するポリゴンのうちの一方を処理対象から除外する除外部を備え、
     前記第2簡易判定部は、前記除外部による処理後の物体を構成する処理対象のポリゴンを用いて処理を行う
     ことを特徴とする請求項1記載の衝突検知装置。
    In the polygons that make up an object, if all the vertex coordinates that make up one polygon are shared by other polygons, an exclusion unit that excludes one of the polygons that share the vertex coordinates from the processing target is provided.
    The collision detection device according to claim 1, wherein the second simple determination unit performs processing using polygons to be processed that constitute an object after processing by the exclusion unit.
  3.  物体を構成するポリゴンのうちの一部のポリゴンをランダムに処理対象から除外する除外部を備え、
     前記第2簡易判定部は、前記除外部による処理後の物体を構成する処理対象のポリゴンを用いて処理を行う
     ことを特徴とする請求項1記載の衝突検知装置。
    It has an exclusion part that randomly excludes some of the polygons that make up the object from the processing target.
    The collision detection device according to claim 1, wherein the second simple determination unit performs processing using polygons to be processed that constitute an object after processing by the exclusion unit.
  4.  前記第2簡易判定部は、移動体を構成する処理対象のポリゴンのうち、前記第1簡易判定部により特定された物体の境界ボリュームに干渉するポリゴンを検出し、
     前記詳細判定部は、前記第2簡易判定部により検出された物体を構成する処理対象のポリゴン及び移動体を構成する処理対象のポリゴンに基づいて、衝突判定を行う
     ことを特徴とする請求項1記載の衝突検知装置。
    The second simple determination unit detects polygons that interfere with the boundary volume of the object specified by the first simple determination unit among the polygons to be processed that constitute the moving body.
    Claim 1 is characterized in that the detailed determination unit performs a collision determination based on a polygon to be processed that constitutes an object and a polygon to be processed that constitutes a moving object detected by the second simple determination unit. The collision detection device described.
  5.  前記第2簡易判定部は、移動体の進行方向に基づいて、当該移動体を構成する処理対象のポリゴン及び前記第1簡易判定部により特定された物体を構成する処理対象のポリゴンのうちの少なくとも一方のうちの一部のポリゴンを処理対象から除外する
     ことを特徴とする請求項1記載の衝突検知装置。
    The second simple determination unit is at least one of the processing target polygons constituting the moving body and the processing target polygons constituting the object specified by the first simple determination unit based on the traveling direction of the moving body. The collision detection device according to claim 1, wherein some of the polygons are excluded from the processing target.
PCT/JP2019/017852 2019-04-26 2019-04-26 Collision sensing device WO2020217440A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021515677A JP7105993B2 (en) 2019-04-26 2019-04-26 Collision detection device
PCT/JP2019/017852 WO2020217440A1 (en) 2019-04-26 2019-04-26 Collision sensing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/017852 WO2020217440A1 (en) 2019-04-26 2019-04-26 Collision sensing device

Publications (1)

Publication Number Publication Date
WO2020217440A1 true WO2020217440A1 (en) 2020-10-29

Family

ID=72940896

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/017852 WO2020217440A1 (en) 2019-04-26 2019-04-26 Collision sensing device

Country Status (2)

Country Link
JP (1) JP7105993B2 (en)
WO (1) WO2020217440A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7381155B1 (en) 2023-08-17 2023-11-15 オフィスケイワン株式会社 Bridge construction simulation system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152807A (en) * 1993-11-26 1995-06-16 Canon Inc Tracking method for inter-object interference in virtual three-dimensional space
JP2003288377A (en) * 2002-03-28 2003-10-10 Fujitsu Ltd Method for acquiring shortest distance between objects
JP2004062546A (en) * 2002-07-29 2004-02-26 Ricoh Co Ltd Three dimensional shape processing device and interference model detecting method
JP2004094750A (en) * 2002-09-02 2004-03-25 Ricoh Co Ltd Three-dimensional configuration processor, interference model detecting method, program and storage medium
JP2006302035A (en) * 2005-04-21 2006-11-02 Canon Inc Image processing method and image processing apparatus
JP2011165096A (en) * 2010-02-12 2011-08-25 Fujitsu Ltd Interference determination device, interference determination method, and interference determination program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152807A (en) * 1993-11-26 1995-06-16 Canon Inc Tracking method for inter-object interference in virtual three-dimensional space
JP2003288377A (en) * 2002-03-28 2003-10-10 Fujitsu Ltd Method for acquiring shortest distance between objects
JP2004062546A (en) * 2002-07-29 2004-02-26 Ricoh Co Ltd Three dimensional shape processing device and interference model detecting method
JP2004094750A (en) * 2002-09-02 2004-03-25 Ricoh Co Ltd Three-dimensional configuration processor, interference model detecting method, program and storage medium
JP2006302035A (en) * 2005-04-21 2006-11-02 Canon Inc Image processing method and image processing apparatus
JP2011165096A (en) * 2010-02-12 2011-08-25 Fujitsu Ltd Interference determination device, interference determination method, and interference determination program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7381155B1 (en) 2023-08-17 2023-11-15 オフィスケイワン株式会社 Bridge construction simulation system

Also Published As

Publication number Publication date
JP7105993B2 (en) 2022-07-25
JPWO2020217440A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
US9905032B2 (en) Object removal using lidar-based classification
EP3433704B1 (en) Spatial relationships for integration of visual images of physical environment into virtual reality
AU2014278279B2 (en) Lidar-based classification of object movement
US10482656B2 (en) 3D face modeling methods and apparatuses
US9984291B2 (en) Information processing apparatus, information processing method, and storage medium for measuring a position and an orientation of an object by using a model indicating a shape of the object
JP2021523443A (en) Association of lidar data and image data
EP3016071B1 (en) Estimating device and estimation method
US10032308B2 (en) Culling objects from a 3-D graphics pipeline using hierarchical Z buffers
CN112465938A (en) Three-dimensional (3D) rendering method and device
KR102042941B1 (en) Simplification of small mesh components with redundant backs
US10102672B2 (en) Storage medium, information processing apparatus and control method
US11436790B2 (en) Passthrough visualization
CN114450717A (en) Occlusion and collision detection for augmented reality applications
JP4115005B2 (en) Multi-surface collision detection system and method
WO2020217440A1 (en) Collision sensing device
CN114972689A (en) Method and apparatus for performing augmented reality pose determination
US20180232903A1 (en) Estimation device, estimation method, and storage medium
TW201528774A (en) Apparatus and method for creating 3D scene
US11176678B2 (en) Method and apparatus for applying dynamic effect to image
KR101785205B1 (en) Method and Apparatus for Multi-object Segmentation based on Shadow using Depth Sensor
EP2127600B1 (en) Surface extraction method, surface extractor and program
JP7283735B2 (en) Tracking device, tracking method and program
JP2022095102A (en) Index calculation device, index calculation method and program
CN117689725A (en) Target attitude estimation and motion state prediction method, medium and intelligent device
JP2014127092A (en) Image processing apparatus, image processing method, robot, and program

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021515677

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19925828

Country of ref document: EP

Kind code of ref document: A1