CN107145642B - Dynamic collision detection method and device - Google Patents

Dynamic collision detection method and device Download PDF

Info

Publication number
CN107145642B
CN107145642B CN201710238845.8A CN201710238845A CN107145642B CN 107145642 B CN107145642 B CN 107145642B CN 201710238845 A CN201710238845 A CN 201710238845A CN 107145642 B CN107145642 B CN 107145642B
Authority
CN
China
Prior art keywords
virtual
capsule
maintenance
limb
capsule body
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN201710238845.8A
Other languages
Chinese (zh)
Other versions
CN107145642A (en
Inventor
耿杰
吕川
贺智艺
彭旭
王冉冉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unit 92755 Of Pla
Beihang University
Original Assignee
Unit 92755 Of Pla
Beihang University
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 Unit 92755 Of Pla, Beihang University filed Critical Unit 92755 Of Pla
Priority to CN201710238845.8A priority Critical patent/CN107145642B/en
Publication of CN107145642A publication Critical patent/CN107145642A/en
Application granted granted Critical
Publication of CN107145642B publication Critical patent/CN107145642B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/20Administration of product repair or maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Abstract

The invention discloses a dynamic collision detection method and a device, which relate to the technical field of virtual reality technology aided product design analysis. The invention improves the response speed and precision of interaction in simulation, finally improves the simulation degree of virtual maintenance simulation and improves the simulation effect.

Description

Dynamic collision detection method and device
Technical Field
The invention relates to the technical field of virtual reality technology-assisted product design analysis, in particular to a dynamic collision detection method and device.
Background
The virtual maintenance refers to establishing a virtual environment containing information of equipment such as a virtual prototype, maintenance personnel, maintenance tools, maintenance equipment and the like by using a virtual reality technology and a computer simulation technology, simulating the maintenance process of a product under the environment, analyzing and maintaining the faults of the equipment, simulating the disassembly process, estimating the time of maintenance operation, formulating the disassembly sequence of equipment parts, estimating the maintenance cost and the like, and analyzing and researching the aspects of product maintainability, such as visibility in the maintenance process, accessibility of parts and disassembly and assembly operability of the parts, so that defects in the product maintainability design are discovered as early as possible and improved. Therefore, the virtual maintenance technology finds and assists in solving potential problems related to product maintainability at an early stage of a design stage, so that the product maintainability design time can be remarkably shortened, and production interruption and cost loss caused by inappropriate maintenance decision in advance and the like can be reduced.
Collision detection, also called interference detection or contact detection, is based on a ubiquitous fact in real life: two impenetrable objects cannot share the same spatial region, but rather techniques arise. The collision detection is used as a key component in a virtual reality system, and the main task is to judge whether collision occurs between object models and between the models and a scene or not and give information such as collision positions, puncture depths and the like. In the virtual maintenance simulation, collision detection processes position and shape data between objects, feeds back interference information between the objects, and plays a role in realizing human-computer interaction and ensuring simulation fidelity. Even, the collision depth and direction information can be used for analyzing the force magnitude and direction information during collision, and a certain reference is provided for a force feedback technology in simulation. As the level of sophistication of products and maintenance processes continues to increase, users place greater demands on the authenticity of virtual maintenance simulations, including the real-time and accuracy of the simulations. The collision detection technology is one of the key technologies for constructing the virtual maintenance simulation process, and the accuracy and the rapidity of the collision detection technology greatly influence the real-time performance and the accuracy of the virtual maintenance simulation.
At present, the algorithm research of collision detection obtains a lot of meaningful achievements and is widely applied in the fields of games and the like. However, the collision detection algorithm for the virtual maintenance system is not much studied, and other algorithms are usually used for reference or modification in the virtual maintenance simulation system at present, and some algorithms even do not have the collision detection function. However, due to the characteristics of the virtual maintenance simulation, the current common collision detection algorithm is not very suitable for the virtual maintenance simulation process. The rapid and accurate collision detection of a plurality of objects in a complex maintenance environment is difficult, and particularly, the maintenance and disassembly simulation of irregular objects cannot meet the target requirement of the simulation, so that the development of a virtual maintenance technology is severely restricted. Therefore, the research on the collision detection algorithm suitable for virtual maintenance simulation is especially necessary aiming at the unique characteristics of virtual maintenance.
Disclosure of Invention
The technical problem solved by the scheme provided by the embodiment of the invention is that a corresponding collision detection method is lacked in virtual maintenance simulation.
The dynamic collision detection method provided by the embodiment of the invention comprises the following steps:
the method comprises the steps that virtual encapsulation processing is respectively carried out on each limb segment and a plurality of maintenance objects of maintenance personnel to obtain a plurality of virtual maintenance personnel limb segment capsule bodies and a plurality of virtual maintenance object capsule bodies;
performing virtual collision detection on the plurality of virtual maintenance personnel limb capsule bodies and the plurality of virtual maintenance object capsule bodies to obtain a virtual collision state between the virtual maintenance personnel limb capsule bodies and the virtual maintenance object capsule bodies;
determining a collision space between the limb segment capsule body of the virtual maintenance personnel and the virtual maintenance object capsule body according to the virtual collision state;
slicing each virtual maintenance object capsule body by utilizing the collision space, and taking the sliced part of each virtual maintenance object capsule body in the collision space as a maintenance object part;
forming a maintenance object virtual capsule group by performing virtual encapsulation treatment on all maintenance object parts;
and carrying out virtual collision detection on the limb capsule body of the virtual maintenance personnel and the virtual capsule group of the maintenance object to obtain a dynamic collision result of the limb capsule body of the virtual maintenance personnel and the virtual capsule group of the maintenance object.
Preferably, before the virtual collision detection is performed on the plurality of virtual service person limb segment capsules and the plurality of virtual service object capsules, the method further comprises:
encapsulating accessible spaces of all the limbs of a maintenance worker to obtain a plurality of virtual maintenance worker accessible space capsule bodies;
judging whether one or more virtual maintenance object capsule bodies which are all or partially in the capsule body of the limb joint accessible space of the virtual maintenance personnel exist or not by traversing all the virtual maintenance object capsule bodies, and taking the virtual maintenance object capsule bodies as the capsule bodies of the virtual maintenance objects to be detected;
and if judging that the capsule body of the virtual maintenance object to be detected is completely or partially in the capsule body of the virtual maintenance personnel reachable space, performing virtual collision detection on the limb segment capsule body of the virtual maintenance personnel and the capsule body of the virtual maintenance object to be detected.
Preferably, the obtaining of the virtual collision state between the limb capsule body of the virtual maintenance person and the capsule body of the virtual maintenance object by performing virtual collision detection on the limb capsule body of the virtual maintenance person and the plurality of capsule bodies of the virtual maintenance object comprises:
judging whether one or more virtual maintenance personnel limb capsule bodies colliding with the to-be-detected virtual maintenance object capsule body exist or not by traversing all the virtual maintenance personnel limb capsule bodies, and using the one or more virtual maintenance personnel limb capsule bodies as the to-be-detected virtual maintenance personnel limb capsule body;
and if the existence of the to-be-detected virtual maintenance personnel limb capsule body colliding with the to-be-detected virtual maintenance object capsule body is judged, acquiring a virtual collision state between the to-be-detected virtual maintenance personnel limb capsule body and the to-be-detected virtual maintenance object capsule body.
Preferably, the virtual collision state comprises the instantaneous speed of the to-be-detected virtual maintenance person limb capsule body and a virtual collision point on the to-be-detected virtual maintenance object capsule body.
Preferably, the determining a collision space of the virtual service person limb capsule body and the plurality of virtual service object capsule bodies according to the virtual collision state comprises:
calculating the displacement of the virtual collision point at the next virtual collision according to the instantaneous speed of the limb capsule body of the virtual maintenance personnel and the virtual collision point on the virtual maintenance object capsule body, and obtaining the virtual displacement collision point of the virtual collision point according to the displacement;
constructing a near normal plane which passes through the virtual collision point and is perpendicular to the direction of the instantaneous speed and a far normal plane which passes through the virtual displacement collision point and is perpendicular to the direction of the instantaneous speed according to the instantaneous speed of the limb capsule body of the virtual maintenance personnel;
and segmenting the capsule body of the reachable space of the virtual maintenance personnel by utilizing the near plane and the far plane to obtain a collision space between the limb segment capsule body of the virtual maintenance personnel and the plurality of virtual maintenance object capsule bodies.
Preferably, the forming a maintenance object virtual capsule group by virtually encapsulating all the maintenance object parts includes:
obtaining a virtual maintenance object part capsule body by virtually encapsulating all maintenance object parts;
and constructing a maintenance object virtual capsule group according to the obtained virtual maintenance object part capsule body.
According to an embodiment of the present invention, a dynamic collision detection apparatus is provided, including:
the virtual encapsulation module is used for respectively carrying out virtual encapsulation on each limb segment and a plurality of maintenance objects of maintenance personnel to obtain a plurality of virtual maintenance personnel limb segment capsule bodies and a plurality of virtual maintenance object capsule bodies, and forming a maintenance object virtual capsule group by carrying out virtual encapsulation on all maintenance object parts;
the virtual collision detection module is used for performing virtual collision detection on the plurality of virtual maintenance personnel limb capsule bodies and the plurality of virtual maintenance object capsule bodies to obtain a virtual collision state between the virtual maintenance personnel limb capsule bodies and the virtual maintenance object capsule bodies, and performing virtual collision detection on the virtual maintenance personnel limb capsule bodies and the virtual maintenance object capsule group to obtain a dynamic collision result between the virtual maintenance personnel limb capsule bodies and the virtual maintenance object capsule group;
a collision space determining module, configured to determine, according to the virtual collision state, a collision space between the limb segment capsule body of the virtual maintenance worker and the virtual maintenance object capsule body;
and the slicing processing module is used for slicing each virtual maintenance object capsule body by utilizing the collision space, and taking the slice part of each virtual maintenance object capsule body in the collision space as a maintenance object part.
Preferably, the virtual encapsulation module is further specifically configured to perform encapsulation processing on each limb segment accessible space of the maintenance personnel to obtain a plurality of virtual maintenance personnel limb segment accessible space capsule bodies.
Preferably, the virtual collision detection module is further specifically configured to determine whether one or more virtual maintenance object capsule bodies, which are all or partially located in the capsule body of the limb segment accessible space of the virtual maintenance worker, exist by traversing all the virtual maintenance object capsule bodies, use the one or more virtual maintenance object capsule bodies as the virtual maintenance object capsule body to be detected, and perform virtual collision detection on the limb segment capsule body of the virtual maintenance worker and the virtual maintenance object capsule body to be detected when it is determined that the one or more virtual maintenance object capsule bodies, which are all or partially located in the capsule body of the limb segment accessible space of the virtual maintenance worker, exist.
Preferably, the virtual collision detection module is further specifically configured to determine whether one or more virtual maintenance personnel limb capsule bodies that collide with the virtual maintenance object capsule body to be detected exist by traversing all the virtual maintenance personnel limb capsule bodies, and use the one or more virtual maintenance personnel limb capsule bodies as the virtual maintenance personnel limb capsule body to be detected, and when it is determined that the virtual maintenance personnel limb capsule body to be detected that collides with the virtual maintenance object capsule body to be detected exists, obtain a virtual collision state between the virtual maintenance personnel limb capsule body to be detected and the virtual maintenance object capsule body to be detected;
wherein the virtual collision state comprises the instantaneous speed of the limb segment capsule body of the virtual maintenance person to be detected and a virtual collision point on the capsule body of the virtual maintenance object to be detected.
According to the scheme provided by the embodiment of the invention, the following advantages are achieved:
a) the human body is simplified into a capsule tree structure, so that the capsule body has good fit to the human body, the capsule body on the tree can be conveniently and rapidly traversed, the maintenance object is processed into a capsule body, intersection test calculation is simple, and the calculation amount is small;
b) by using the reachable space capsule body, most objects are removed at the beginning of each collision detection, so that the calculated amount is reduced;
c) the slice space and the capsule body group are updated dynamically by using the instantaneous speed, so that the calculated amount of collision detection is greatly reduced;
d) the collision detection accuracy can be conveniently controlled by using the detection interval time and the secondary collision detection iteration number.
Drawings
FIG. 1 is a flow chart of a method for dynamic collision detection provided by an embodiment of the present invention;
FIG. 2 is a schematic diagram of an apparatus for dynamic collision detection according to an embodiment of the present invention;
FIG. 3 is a technical framework diagram of a dynamic collision detection method based on capsule bodies and instantaneous speed provided by an embodiment of the invention;
FIG. 4 is a schematic diagram of a human encapsulation configuration provided by an embodiment of the present invention;
FIG. 5 is a schematic diagram of a human capsule tree provided by an embodiment of the present invention;
FIG. 6 is a schematic diagram of a search area capsule provided by an embodiment of the present invention;
FIG. 7 is a schematic diagram of a slicing process and secondary capsule configuration provided by an embodiment of the present invention;
FIG. 8 is a block diagram of an overall implementation of collision detection provided by embodiments of the present invention;
FIG. 9 is a flow chart of a type A collision detection implementation provided by an embodiment of the present invention;
fig. 10 is a flow chart of a type B collision detection implementation process provided by an embodiment of the present invention.
Detailed Description
The preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings, and it should be understood that the preferred embodiments described below are only for the purpose of illustrating and explaining the present invention, and are not to be construed as limiting the present invention.
Fig. 1 is a flowchart of a method for dynamic collision detection according to an embodiment of the present invention, as shown in fig. 1, including:
step S101: the method comprises the steps that virtual encapsulation processing is respectively carried out on each limb segment and a plurality of maintenance objects of maintenance personnel to obtain a plurality of virtual maintenance personnel limb segment capsule bodies and a plurality of virtual maintenance object capsule bodies;
step S102: performing virtual collision detection on the plurality of virtual maintenance personnel limb capsule bodies and the plurality of virtual maintenance object capsule bodies to obtain a virtual collision state between the virtual maintenance personnel limb capsule bodies and the virtual maintenance object capsule bodies;
step S103: determining a collision space between the limb segment capsule body of the virtual maintenance personnel and the virtual maintenance object capsule body according to the virtual collision state;
step S104: slicing each virtual maintenance object capsule body by utilizing the collision space, and taking the sliced part of each virtual maintenance object capsule body in the collision space as a maintenance object part;
step S105: forming a maintenance object virtual capsule group by performing virtual encapsulation treatment on all maintenance object parts;
step S106: and carrying out virtual collision detection on the limb capsule body of the virtual maintenance personnel and the virtual capsule group of the maintenance object to obtain a dynamic collision result of the limb capsule body of the virtual maintenance personnel and the virtual capsule group of the maintenance object.
Wherein before the virtual collision detection is performed on the plurality of virtual maintenance personnel limb capsule bodies and the plurality of virtual maintenance object capsule bodies, the method further comprises the following steps: encapsulating accessible spaces of all the limbs of a maintenance worker to obtain a plurality of virtual maintenance worker accessible space capsule bodies; judging whether one or more virtual maintenance object capsule bodies which are all or partially in the capsule body of the limb joint accessible space of the virtual maintenance personnel exist or not by traversing all the virtual maintenance object capsule bodies, and taking the virtual maintenance object capsule bodies as the capsule bodies of the virtual maintenance objects to be detected; and if judging that the capsule body of the virtual maintenance object to be detected is completely or partially in the capsule body of the virtual maintenance personnel reachable space, performing virtual collision detection on the limb segment capsule body of the virtual maintenance personnel and the capsule body of the virtual maintenance object to be detected.
Wherein, the obtaining of the virtual collision state between the limb capsule body of the virtual maintenance personnel and the capsule body of the virtual maintenance object by performing virtual collision detection on the limb capsule body of the virtual maintenance personnel and the plurality of capsule bodies of the virtual maintenance object comprises: judging whether one or more virtual maintenance personnel limb capsule bodies colliding with the to-be-detected virtual maintenance object capsule body exist or not by traversing all the virtual maintenance personnel limb capsule bodies, and using the one or more virtual maintenance personnel limb capsule bodies as the to-be-detected virtual maintenance personnel limb capsule body; and if the existence of the to-be-detected virtual maintenance personnel limb capsule body colliding with the to-be-detected virtual maintenance object capsule body is judged, acquiring a virtual collision state between the to-be-detected virtual maintenance personnel limb capsule body and the to-be-detected virtual maintenance object capsule body.
Wherein the virtual collision state comprises the instantaneous speed of the limb segment capsule body of the virtual maintenance person to be detected and a virtual collision point on the capsule body of the virtual maintenance object to be detected.
Wherein the determining a collision space of the virtual service person limb capsule body and the plurality of virtual service object capsule bodies according to the virtual collision status comprises: calculating the displacement of the virtual collision point at the next virtual collision according to the instantaneous speed of the limb capsule body of the virtual maintenance personnel and the virtual collision point on the virtual maintenance object capsule body, and obtaining the virtual displacement collision point of the virtual collision point according to the displacement; constructing a near normal plane which passes through the virtual collision point and is perpendicular to the direction of the instantaneous speed and a far normal plane which passes through the virtual displacement collision point and is perpendicular to the direction of the instantaneous speed according to the instantaneous speed of the limb capsule body of the virtual maintenance personnel; and segmenting the capsule body of the reachable space of the virtual maintenance personnel by utilizing the near plane and the far plane to obtain a collision space between the limb segment capsule body of the virtual maintenance personnel and the plurality of virtual maintenance object capsule bodies.
Wherein the forming of the maintenance object virtual capsule group by virtually encapsulating all the maintenance object parts includes: obtaining a virtual maintenance object part capsule body by virtually encapsulating all maintenance object parts; and constructing a maintenance object virtual capsule group according to the obtained virtual maintenance object part capsule body.
Fig. 2 is a schematic diagram of a dynamic collision detection apparatus according to an embodiment of the present invention, as shown in fig. 2, including: the virtual encapsulation module 201 is configured to obtain a plurality of virtual maintenance personnel limb capsule bodies and a plurality of virtual maintenance object capsule bodies by respectively performing virtual encapsulation on each limb segment and a plurality of maintenance objects of a maintenance personnel, and form a maintenance object virtual capsule group by performing virtual encapsulation on all maintenance object parts; a virtual collision detection module 202, configured to perform virtual collision detection on the multiple virtual maintenance personnel limb capsule bodies and the multiple virtual maintenance object capsule bodies to obtain a virtual collision state between the virtual maintenance personnel limb capsule body and the virtual maintenance object capsule body, and perform virtual collision detection on the virtual maintenance personnel limb capsule body and the maintenance object virtual capsule group to obtain a dynamic collision result between the virtual maintenance personnel limb capsule body and the maintenance object virtual capsule group; a collision space determining module 203, configured to determine a collision space between the limb segment capsule body of the virtual maintenance worker and the virtual maintenance object capsule body according to the virtual collision state; and a slicing processing module 204, configured to perform slicing processing on each virtual maintenance object capsule body by using the collision space, and take a slice portion of each virtual maintenance object capsule body in the collision space as a maintenance object portion.
The virtual encapsulation module 201 is further specifically configured to perform encapsulation processing on each limb joint accessible space of the maintenance personnel to obtain a plurality of virtual maintenance personnel limb joint accessible space capsule bodies.
The virtual collision detection module 202 is further specifically configured to determine whether one or more virtual maintenance object capsule bodies, which are all or partially located in the capsule body of the limb segment accessible space of the virtual maintenance worker, exist by traversing all the virtual maintenance object capsule bodies, use the one or more virtual maintenance object capsule bodies as the virtual maintenance object capsule body to be detected, and perform virtual collision detection on the limb segment capsule body of the virtual maintenance worker and the virtual maintenance object capsule body to be detected when it is determined that the one or more virtual maintenance object capsule bodies, which are all or partially located in the capsule body of the limb segment accessible space of the virtual maintenance worker, exist.
The virtual collision detection module 202 is further specifically configured to determine whether one or more virtual maintenance personnel limb capsule bodies that collide with the virtual maintenance object capsule body to be detected exist by traversing all the virtual maintenance personnel limb capsule bodies, use the one or more virtual maintenance personnel limb capsule bodies as the virtual maintenance personnel limb capsule body to be detected, and obtain a virtual collision state between the virtual maintenance personnel limb capsule body to be detected and the virtual maintenance object capsule body to be detected when it is determined that the virtual maintenance personnel limb capsule body to be detected that collides with the virtual maintenance object capsule body to be detected exists; the virtual collision state comprises the instantaneous speed of the limb capsule body of the virtual maintenance person to be detected and a virtual collision point on the capsule body of the virtual maintenance object to be detected.
Fig. 3 is a technical framework diagram of a dynamic collision detection method based on capsule bodies and instantaneous speed according to an embodiment of the present invention, as shown in fig. 3, including:
the method comprises the following steps: encapsulating the object in the virtual maintenance space before collision detection;
before the simulation begins, all objects in the virtual repair space need to be pre-encapsulated, including the encapsulation of the repair person's limbs, the encapsulation of the repair person's accessible space, and the encapsulation of the repair objects. Wherein, the limb segment encapsulation finger of the maintenance personnel constructs the capsule body of the maintenance personnel according to the main limb joint of the maintenance personnel and forms a capsule tree structure, as shown in fig. 4 and 5; the capsule space of the accessible space of the maintenance personnel is constructed in a searching area moving along with the human body and is shown in figure 6; the maintenance object encapsulation refers to encapsulation processing of the maintenance object according to product construction and maintenance requirements.
Step two: primary collision detection based on the accessible space capsule body of a maintenance worker;
and performing collision detection on the constructed capsule body of the maintenance object and the capsule body of the accessible space of the maintenance personnel in a traversing manner, and judging whether the capsule body of the maintenance object is in or partially in the accessible space of the maintenance personnel. If the capsule body to be maintained exists in the reachable space, the human body capsule tree is further traversed, collision detection is carried out on the capsule body to be maintained in the reachable space, whether the capsule body to be maintained collides with the human body capsule body is judged, and if not, the step two is repeatedly carried out at the next detection time.
And if the capsule body of the maintenance object collides with the capsule body of the human body, immediately executing the subsequent step, otherwise, repeating the step two at the next detection time.
Step three: slice space construction taking into account relative instantaneous velocity;
for the human body capsule body with collision, the motion speed v of the human body capsule body at the moment is determined, the collision point p1 of the human body capsule body and the collided maintenance object capsule body is pushed back, and by using the interval time t of two collision detections and taking the point p2 with the distance p1 being t × v in the speed direction, the near plane and the far plane which pass through p1 and p2 and are perpendicular to the speed direction can be obtained, as shown in fig. 7.
Step four: generating a capsule body group of the maintenance object in the slice space at the collision moment;
the capsule body in the reachable space is split by the near normal plane and the far normal plane to form a small slice space, the detection operation is performed on the maintenance object in the reachable space, the maintenance object part in the slice space is extracted, and new small capsule bodies are respectively constructed on the small parts to form a capsule body group, as shown in fig. 7.
Step five: detecting secondary collision in the slicing space at the next moment;
and at the next detection moment, performing collision detection on the human body capsule body and the corresponding capsule body group in a traversing manner, and if collision occurs, returning a collision result.
Step six: and releasing the capsule group in the slicing space.
And releasing the resources of all constructed capsule body groups, and executing the step two again, and circulating the steps till the simulation is finished.
For the dynamic collision detection method based on the capsule body and the instantaneous speed, under the condition that the time interval t between two detections is small enough, the collision between the human body capsule body and the capsule body group of the maintenance object in the secondary collision detection is considered to be the collision between the human body and the maintenance object. If a more accurate collision detection effect is required, the construction of a capsule body group and secondary collision detection can be carried out through iteration; or after the primary collision detection is finished, the collision detection between the three-dimensional object triangular patches is directly carried out to obtain a more accurate collision result.
The first embodiment is as follows:
fig. 8 is a general implementation framework diagram of collision detection provided by the embodiment of the present invention, as shown in fig. 8, including:
1) simulation preparation work
At the beginning of a virtual maintenance scene, the virtual maintenance simulation system automatically encapsulates maintenance personnel to form a motion structure consisting of a plurality of capsule bodies c _ human [ a ] (a is the number of human body capsule bodies). Due to the particularity of the virtual maintenance scene, the object moving firstly is the human body of the maintenance personnel in the maintenance scene by default, so the collision detection carried out firstly should be carried out aiming at the moving human body.
Although the capsule bodies on the human body structure can do multi-degree-of-freedom movement, the capsule bodies cannot be separated from a certain area due to the limitation of the joints of the moving human body. The boundary of the area is an envelope surface formed by the limit positions of the capsule body on the human body when the capsule body moves. It will be understood that all collisions between the human body and other objects occur within the envelope, i.e. an object must first collide with the envelope enclosed by the envelope in order to be able to collide with the human body. Therefore, for the collision detection of the human body and other objects, it is only necessary to traverse the object within the envelope to determine whether the object collides with the human body. In order to define the region of the envelope more clearly and reduce the amount of calculation when detecting the envelope, the invention defines the envelope as a space which can be reached by a maintenance person, namely a large capsule which surrounds all the constituent capsules of the human body and the set of all the motion regions of the capsules. After human encapsulation, the virtual maintenance simulation system also needs to construct the reachable space capsule body c _ scope according to the human capsule tree. The capsule is updated as the maintenance person moves, and the collision detection performed thereafter is also performed for the region surrounded by the capsule.
And then the simulation system encapsulates the maintenance objects in the maintenance scene according to the structures of the maintenance objects by an automatic encapsulation method to generate c _ LRU [ b ] (b is the number of the maintenance object capsules). After the above preparation work is completed, the virtual repair simulation can be started.
2) Collision detection execution process loop
The collision detection method has aftereffect between every detection, which is mainly embodied in that the virtual maintenance simulation system determines the type of the current collision detection, namely collision detection A or collision detection B according to the value of enumeration type testType. The collision detection A is responsible for executing primary collision detection, and whether the construction of a slice space and the generation of a maintenance object capsule body group in the slice space are executed or not is determined according to a result; the collision detection B is responsible for executing secondary collision detection and releasing capsule body group resources.
3) Simulation end detection
After each detection, the simulation system will detect whether the maintenance simulation is finished, if so, the collision detection is stopped, and if not, the collision detection process loop is continuously executed, as shown in fig. 8.
It should be noted that, in order to improve the real-time performance and accuracy of the collision detection, after each collision detection B is completed, one collision detection a is further performed to determine the next collision detection information.
Example two:
fig. 9 is a flowchart of a type a collision detection execution process provided in an embodiment of the present invention, and as shown in fig. 9, the type a collision detection is actually a first-level collision detection, and mainly determines whether a maintenance object in a space capsule reachable by a maintenance person collides with any capsule in a human body capsule structure, if not, a subsequent collision detection process, that is, a collision detection type B is not needed, and if so, an enumerated type testType is set to B, which will cause the type B collision detection at the next refresh detection.
The type a crash is embodied as:
step A1: and traversing all the capsule bodies of the maintenance objects in the scene, and judging whether the capsule bodies collide with the capsule bodies of the accessible space. If the detection result does not collide with the reachable space capsule body, the next detection is not needed, the detection A is finished, and the testType is still 'A'; if there is a collision of the repair object capsule with the accessible space capsule, step a2 is performed.
Step A2: and traversing all the capsule bodies of the maintenance objects and the human body capsule trees which collide with the capsule bodies of the reachable space, and judging whether the capsule bodies of the maintenance objects collide with any human body capsule body c _ human [ i ] (). If the detection result does not exist, the next detection is not needed, the detection of A is finished, and the testType is still 'A'; if there is a collision, step A3 is performed.
Step A3: assuming that c _ human [ i ] collides with a capsule body of a maintenance object, it is required to determine a collision point1 colliding on the human body capsule body and a speed at the moment, and then determine a possible arrival point2 of point1 at the next collision detection according to a refresh time DeltaTime of the collision detection, and respectively determine a near plane and a far plane which are perpendicular to the speed and pass through point1 and point2 through the speed direction. Step a4 is performed.
Step A4: traversing all the capsule bodies of the maintenance objects in the capsule bodies of the accessible space, intercepting parts in the slice space determined by the two normal planes, and constructing a new small capsule body c _ forB [ n ] (n is the number of the small capsule bodies), wherein a plurality of small capsule bodies form a capsule body group. Step a5 is performed.
Step A5: and setting the testType to be B, and finishing the A detection.
Example three:
fig. 10 is a flow chart of a B-type collision detection implementation process provided by an embodiment of the present invention, and as shown in fig. 10, the B-type collision detection is essentially a secondary collision detection, and mainly implements collision detection of a human body capsule and a repair object capsule group corresponding thereto.
The type B collision is embodied as:
step B1: and traversing the human body capsule tree, and determining whether to perform secondary detection according to the information stored in the A-type test of the human body capsule body. For the human body capsule having the corresponding repair objective capsule group, step B2 is performed.
Step B2: and traversing collision detection of the capsule body group of the maintenance object and the corresponding human body capsule body. If some collisions are established, corresponding collision information is output to the virtual maintenance simulation system, and the system processes the information to realize a human-computer interaction function. After all the human body capsule body traversal tests are completed, step B3 is executed.
Step B3: releasing the capsule body group resources, resetting the testType to be 'A', and finishing the B test.
According to the scheme provided by the embodiment of the invention, the response speed and precision of interaction in simulation are improved, the simulation degree of virtual maintenance simulation is finally improved, and the simulation effect is improved.
Although the present invention has been described in detail hereinabove, the present invention is not limited thereto, and various modifications can be made by those skilled in the art in light of the principle of the present invention. Thus, modifications made in accordance with the principles of the present invention should be understood to fall within the scope of the present invention.

Claims (7)

1. A method of dynamic collision detection, comprising:
the method comprises the steps that virtual encapsulation processing is respectively carried out on each limb segment and a plurality of maintenance objects of maintenance personnel to obtain a plurality of virtual maintenance personnel limb segment capsule bodies and a plurality of virtual maintenance object capsule bodies;
encapsulating accessible spaces of all the limbs of a maintenance worker to obtain a plurality of virtual maintenance worker accessible space capsule bodies;
judging whether one or more virtual maintenance object capsule bodies which are all or partially in the capsule body of the limb joint accessible space of the virtual maintenance personnel exist or not by traversing all the virtual maintenance object capsule bodies, and taking the virtual maintenance object capsule bodies as the capsule bodies of the virtual maintenance objects to be detected;
if judging that all or part of the capsule body of the virtual maintenance object to be detected is in the capsule body of the reachable space of the virtual maintenance personnel, carrying out virtual collision detection on the limb segment capsule body of the virtual maintenance personnel and the capsule body of the virtual maintenance object to be detected;
performing virtual collision detection on the plurality of virtual maintenance personnel limb capsule bodies and the plurality of virtual maintenance object capsule bodies to obtain a virtual collision state between the virtual maintenance personnel limb capsule bodies and the virtual maintenance object capsule bodies;
determining a collision space between the limb segment capsule body of the virtual maintenance personnel and the virtual maintenance object capsule body according to the virtual collision state;
slicing each virtual maintenance object capsule body by utilizing the collision space, and taking the sliced part of each virtual maintenance object capsule body in the collision space as a maintenance object part;
forming a maintenance object virtual capsule group by performing virtual encapsulation treatment on all maintenance object parts;
and carrying out virtual collision detection on the limb capsule body of the virtual maintenance personnel and the virtual capsule group of the maintenance object to obtain a dynamic collision result of the limb capsule body of the virtual maintenance personnel and the virtual capsule group of the maintenance object.
2. The method of claim 1, wherein obtaining a virtual collision status between the virtual service person limb capsule body and the virtual service object capsule body by performing virtual collision detection on the virtual service person limb capsule body and a plurality of virtual service object capsule bodies comprises:
judging whether one or more virtual maintenance personnel limb capsule bodies colliding with the to-be-detected virtual maintenance object capsule body exist or not by traversing all the virtual maintenance personnel limb capsule bodies, and using the one or more virtual maintenance personnel limb capsule bodies as the to-be-detected virtual maintenance personnel limb capsule body;
and if the existence of the to-be-detected virtual maintenance personnel limb capsule body colliding with the to-be-detected virtual maintenance object capsule body is judged, acquiring a virtual collision state between the to-be-detected virtual maintenance personnel limb capsule body and the to-be-detected virtual maintenance object capsule body.
3. The method according to claim 2, characterized in that the virtual collision status comprises the instantaneous velocity of the virtual maintenance person's limb capsule body to be detected and a virtual collision point on the virtual maintenance object capsule body to be detected.
4. The method of claim 3, wherein said determining a collision space of the virtual service person limb capsule body with the plurality of virtual service object capsule bodies from the virtual collision status comprises:
calculating the displacement of the virtual collision point at the next virtual collision according to the instantaneous speed of the limb capsule body of the virtual maintenance personnel and the virtual collision point on the virtual maintenance object capsule body, and obtaining the virtual displacement collision point of the virtual collision point according to the displacement;
constructing a near normal plane which passes through the virtual collision point and is perpendicular to the direction of the instantaneous speed and a far normal plane which passes through the virtual displacement collision point and is perpendicular to the direction of the instantaneous speed according to the instantaneous speed of the limb capsule body of the virtual maintenance personnel;
and segmenting the capsule body of the reachable space of the virtual maintenance personnel by utilizing the near plane and the far plane to obtain a collision space between the limb segment capsule body of the virtual maintenance personnel and the plurality of virtual maintenance object capsule bodies.
5. The method according to claim 1, wherein the forming a maintenance object virtual capsule group by virtually encapsulating all maintenance object parts comprises:
obtaining a virtual maintenance object part capsule body by virtually encapsulating all maintenance object parts;
and constructing a maintenance object virtual capsule group according to the obtained virtual maintenance object part capsule body.
6. An apparatus for dynamic collision detection, comprising:
the virtual encapsulation module is used for respectively carrying out virtual encapsulation on each limb segment and a plurality of maintenance objects of maintenance personnel to obtain a plurality of virtual maintenance personnel limb segment capsule bodies and a plurality of virtual maintenance object capsule bodies, and forming a maintenance object virtual capsule group by carrying out virtual encapsulation on all maintenance object parts;
the virtual collision detection module is used for performing virtual collision detection on the plurality of virtual maintenance personnel limb capsule bodies and the plurality of virtual maintenance object capsule bodies to obtain a virtual collision state between the virtual maintenance personnel limb capsule bodies and the virtual maintenance object capsule bodies, and performing virtual collision detection on the virtual maintenance personnel limb capsule bodies and the virtual maintenance object capsule group to obtain a dynamic collision result between the virtual maintenance personnel limb capsule bodies and the virtual maintenance object capsule group;
a collision space determining module, configured to determine, according to the virtual collision state, a collision space between the limb segment capsule body of the virtual maintenance worker and the virtual maintenance object capsule body;
the slicing processing module is used for slicing each virtual maintenance object capsule body by utilizing the collision space and taking the slice part of each virtual maintenance object capsule body in the collision space as a maintenance object part;
the virtual encapsulation module is also used for encapsulating the reachable space of each limb joint of the maintenance personnel to obtain a plurality of virtual maintenance personnel reachable space capsule bodies;
the virtual collision detection module is further configured to determine whether one or more virtual maintenance object capsule bodies, which are all or partially in the capsule body of the limb joint reachable space of the virtual maintenance worker, exist by traversing all the virtual maintenance object capsule bodies, use the one or more virtual maintenance object capsule bodies as a to-be-detected virtual maintenance object capsule body, and perform virtual collision detection on the limb joint capsule body of the virtual maintenance worker and the to-be-detected virtual maintenance object capsule body when it is determined that the to-be-detected virtual maintenance object capsule body, which is all or partially in the capsule body of the limb joint reachable space of the virtual maintenance worker, exists.
7. The device according to claim 6, wherein the virtual collision detection module is further configured to determine whether one or more virtual maintenance personnel limb capsule bodies colliding with the virtual maintenance object capsule body to be detected exist by traversing all the virtual maintenance personnel limb capsule bodies, and use the one or more virtual maintenance personnel limb capsule bodies as the virtual maintenance personnel limb capsule body to be detected, and when it is determined that the virtual maintenance personnel limb capsule body to be detected collides with the virtual maintenance object capsule body to be detected exists, obtain a virtual collision state between the virtual maintenance personnel limb capsule body to be detected and the virtual maintenance object capsule body to be detected;
wherein the virtual collision state comprises the instantaneous speed of the limb segment capsule body of the virtual maintenance person to be detected and a virtual collision point on the capsule body of the virtual maintenance object to be detected.
CN201710238845.8A 2017-04-13 2017-04-13 Dynamic collision detection method and device Expired - Fee Related CN107145642B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710238845.8A CN107145642B (en) 2017-04-13 2017-04-13 Dynamic collision detection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710238845.8A CN107145642B (en) 2017-04-13 2017-04-13 Dynamic collision detection method and device

Publications (2)

Publication Number Publication Date
CN107145642A CN107145642A (en) 2017-09-08
CN107145642B true CN107145642B (en) 2020-07-07

Family

ID=59774779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710238845.8A Expired - Fee Related CN107145642B (en) 2017-04-13 2017-04-13 Dynamic collision detection method and device

Country Status (1)

Country Link
CN (1) CN107145642B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581840A (en) * 2020-05-15 2020-08-25 中国人民解放军32181部队 Equipment maintenance characteristic simulation test and evaluation system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156068A (en) * 2014-08-04 2014-11-19 北京航空航天大学 Virtual maintenance interaction operation method based on virtual hand interaction feature layer model

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156068A (en) * 2014-08-04 2014-11-19 北京航空航天大学 Virtual maintenance interaction operation method based on virtual hand interaction feature layer model

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Collision detection technology based on capsule model in virtual maintenance;Mengying Zhang等;《2014 10th international conference on reliability, maintainability and safety》;20150514 *
基于虚拟维修系统的碰撞检测算法综述;闫世春等;《机械制造与自动化》;20120228;第41卷(第1期) *
面向虚拟维修的碰撞检测算法;王崴等;《计算机应用与软件》;20160430;第33卷(第4期) *

Also Published As

Publication number Publication date
CN107145642A (en) 2017-09-08

Similar Documents

Publication Publication Date Title
CN103093036B (en) Work pieces process emulation
CN108286949A (en) A kind of packaged type three dimensional detection robot system
CN110929422B (en) Robot cluster simulation method and device
CN106413997A (en) Method for preventing collisions of a robot in a workstation
CN103135446B (en) Motion trail authentication device of multiaxis numerical control machine tool
US7457733B2 (en) Moving a virtual articulated object in a virtual environment while avoiding collisions between the articulated object and the environment
US20050096890A1 (en) Moving a virtual articulated object in a virtual environment while avoiding internal collisions between the articulated elements of the articulated object
CN107145642B (en) Dynamic collision detection method and device
Lin et al. A new algorithm for CAD-directed CMM dimensional inspection
WO2011073361A1 (en) A micro-architecture system and method for ray tracing and collision detection
CN114505852A (en) Man-machine cooperation solid fuel shaping system based on digital twin and establishment method
CN113359608A (en) Voxel interference detection method and system for machine tool machining process simulation
CN106447781B (en) It is a kind of based on Minkowski and towards the collision checking method of automatic assembling
CN110930521B (en) Dynamic collision detection method and system applied to dimension reduction in virtual operation
CN108628184B (en) Collision detection method for robot simulation system
JP6742520B2 (en) System and method for simulating machining of a workpiece
CN113340247B (en) Continuous collision detection method for vehicle body contact type three-coordinate measurement
CN106407603B (en) A kind of method of virtual gear measuring center last time Rotary Workpiece Fast Collision Detection
CN102819237B (en) Method for generating simulation target blank in solid milling simulation process
Watanabe et al. Parameter identification of depth-depth-matching algorithm for liver following
CN107610231A (en) A kind of dynamic crash detection method
CN104050336A (en) Method for judging restrained condition of three-dimensional geometrical elements based on track intersection
Schauer et al. Performance comparison between state-of-the-art point-cloud based collision detection approaches on the CPU and GPU
US20230226693A1 (en) Projecting safety-related monitoring for a multi-axis kinematic system with multiple movable segments
CN114390963A (en) Calibration method and device for industrial robot, three-dimensional environment modeling method and device, computer storage medium and industrial robot operating platform

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200707