# US 6,195,625 B1 · Method for simulating collisions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 6,195,625 B1
- Document ID: US6195625B1
- Status: Granted
- Kind: B1
- Application number: 09/259,245
- Filed: 1999-02-26
- Granted: 2001-02-27
- Earliest claimed: 1999-02-26
- Assignees: Engineering Dynamics Corporation
- Inventors: Terry D. Day; Allen R. York
- Web page: https://patentgrep.com/patent/US6195625B1

## CPC

- G06F 30/23: using finite element methods [FEM] or finite difference methods [FDM]
- G06F 30/15: Vehicle, aircraft or watercraft design
- G06T 17/20: Finite element generation, e.g. wire-frame surface description, {tesselation}
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06T 2210/21: Collision detection, intersection
- G06T 2219/2021: Shape modification
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A method for conducting a computerized simulation of a collision between at least two objects. The method includes creating a representation of each of the objects. Each representation is typically is a mesh of nodes and surface elements. The method also typically includes colliding the representations of the objects such that the representations contact each other, and at least a first representation experiences a respective deformation at each of a plurality of contact points. In addition the method typically includes, for at least a subset of the plurality of contact points, computing a respective local collision force associated with the deformation at such contact points, and calculating a resultant generalized collision force acting at a predetermined point associated with the first representation based on the local collision forces. Typically, the respective local collision force is related to a distance the region of the representation is deformed by a deformation relationship. The method may also include, for at least a subset of the plurality of contact points, calculating a deformation parameter that the first object experienced at the contact point, and restituting a region of the first object adjacent such contact point a restitution distance associated with the deformation parameter. Typically the deformation parameter is cumulative local deformation force, and the deformation parameter is related to the restitution distance by a restitution relationship.

## Claims

### Claim 1

A method of conducting a computerized simulation of a collision between a vehicle and an object, where each of the vehicle and the object include a respective outer surface, the method comprising:
providing a three dimensional object shell mesh in the form of the outer surface of the object, and a three dimensional vehicle shell mesh in the form of the outer surface of the vehicle, each of the meshes having a respective deformation relationship relating a force required to cause a deformation in a region of the shell mesh;
moving the shell meshes until a collision is detected; and
calculating a series of positions of the shell meshes during the collision, each position being based on a prior calculated position, wherein calculating the series of positions includes:
alternating between (1) the vehicle shell mesh as a master shell mesh and the object shell mesh as a slave shell mesh, and (2) the object shell mesh as a master shell mesh and the vehicle shell mesh as a slave shell mesh;
detecting penetration of a penetrated region of the master shell mesh by a penetrating region of the slave shell mesh;
deforming the penetrating region of the slave shell mesh a deformation distance to lie adjacent the master shell mesh, thereby creating a deformed region of the slave shell mesh;
calculating a deformation collision force acting on the deformed region of the slave shell mesh based on the deformation distance and the deformation relationship for the slave shell mesh;
applying the deformation collision force to the slave shell mesh; and
moving the slave shell mesh to a next position based on the deformation collision force.

### Claim 2 (depends on 1)

The method of claim 1, wherein the regions of each shell mesh have no independently associated mass.

### Claim 3 (depends on 1)

The method of claim 1, wherein each of the shell meshes has no thickness.

### Claim 4 (depends on 1)

The method of claim 1, wherein each of the deformation relationships is a stiffness relationship.

### Claim 5 (depends on 1)

The method of claim 1, wherein deformation of a node does not exert a shearing effect on adjacent nodes.

### Claim 6 (depends on 1)

The method of claim 1, further comprising, after deforming the penetrating region of the slave shell mesh and creating a deformed region of the slave shell mesh, restituting the deformed region of the slave shell mesh.

### Claim 7 (depends on 6)

The method of claim 6, wherein each of the shell meshes includes an associated restitution relationship relating a deformation parameter to a restitution distance for a deformed region of the mesh, and wherein the deformed region of the slave shell mesh is restituted based on the restitution relationship.

### Claim 8 (depends on 7)

The method of claim 7, wherein the deformation parameter is cumulative deformation distance experienced by the deformed region.

### Claim 9 (depends on 7)

The method of claim 7, where the deformation parameter is cumulative deformation force experienced by the deformed region.

### Claim 10 (depends on 6)

The method of claim 6, further comprising, restituting the deformed region until a collision due to restitution is detected between the deformed region of the slave shell mesh and a penetrated region of the master shell mesh.

### Claim 11 (depends on 10)

The method of claim 10, further comprising, calculating a restitution collision force acting on the deformed region of the slave shell mesh resulting from the restitution collision.

### Claim 12 (depends on 11)

The method of claim 11, wherein during the restitution collision, the slave shell mesh penetrates the master shell mesh a restitution penetration distance, and wherein the restitution collision force is calculated based on the restitution penetration distance and the deformation relationship of the slave shell mesh.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
applying the restitution collision force to the slave shell mesh;
moving the slave shell mesh to a next position based on the restitution collision force.

### Claim 14

A method of conducting a computerized simulation of a collision between a first body and a second body, the method comprising:
providing a first three dimensional mesh in the form of the first body, and a second three dimensional mesh in the form of the second body, each of the meshes being formed of nodes and surface elements, and having a respective deformation relationship relating a fore required to cause a deformation in a region of the mesh;
moving the metes until a collision is detected; and
calculating a series of positions of the meshes during the collision, each position being based on a prior calculated position, wherein calculating the series of positions includes:
alternating between (1) the fist mesh as a master mesh and the second mesh as a slave mesh, and (2) the second mesh as a master mesh and the first mesh as a slave mesh the master mesh having master surface elements and the slave mesh having slave nodes;
for each of a plurality of slave nodes:
(1) detecting penetration of a master surface element by the slave node;
(2) deforming the penetrating slave node a deformation distance to lie adjacent master mesh;
(3) calculating a local deformation collision force acting on the penetrating slave node based on the deformation distance and the deformation relationship for the slave mesh;
summing the local deformation collision forces for the plurality of penetrating slave nodes, thereby calculating a general collision force;
applying the generalized collision force to the slave met;
moving the slave mesh to a next position based on the generalized collision force.

### Claim 15 (depends on 14)

The method of claim 14, wherein the nodes and surface elements of each mesh have no independently associated mass.

### Claim 16 (depends on 14)

The method of claim 14, wherein each of the deformation relationships is a stiffness relationship.

### Claim 17 (depends on 14)

The method of claim 14, wherein deformation of a node does not exert a shearing effect on adjacent nodes.

### Claim 18 (depends on 14)

The method of claim 14, wherein each of the meshes is a shell.

### Claim 19 (depends on 18)

The method of claim 18, wherein each shell has no thickness.

### Claim 20 (depends on 14)

The method of claim 14, further comprising, after deforming the penetrating slave node, restituting the penetrating slave node.

### Claim 21 (depends on 20)

The method of claim 20, wherein each of the meshes includes an associated restitution relationship relating a deformation parameter to a restitution distance for a deformed region of the mesh, and wherein the deformed slave node is restituted based on the restitution relationship.

### Claim 22 (depends on 21)

The method of claim 21, wherein the deformation parameter is cumulative deformation distance experienced by the deformed slave node.

### Claim 23 (depends on 21)

The method of claim 21, where the deformation parameter is cumulative deformation force experienced by the deformed slave node.

### Claim 24 (depends on 21)

The method of claim 21, further comprising, restituting the deformed slave node until a collision due to restitution is detected between the deformed slave node and a penetrated master surface element.

### Claim 25 (depends on 24)

The method of claim 24, further comprising, calculating a local restitution collision force acting on the deformed slave node of the slave shell mesh resulting from the restitution collision.

### Claim 26 (depends on 25)

The method of claim 25, wherein during the restitution collision, the slave shell mesh penetrates the master shell mesh a restitution penetration distance, and wherein the restitution collision force is calculated based on the restitution penetration distance and the deformation relationship.

### Claim 27 (depends on 26)

The method of claim 26, further comprising:
summing the local restitution collision forces from each of the penetrating slave nodes, to calculate a generalized restitution collision force.

### Claim 28 (depends on 27)

The method of claim 27, further comprising:
applying the generalized restitution collision force to the slave mesh; and
moving the slave mesh to a next position based on the restitution collision force.

### Claim 29

A method for conducting a computerized simulation of a collision between a vehicle and an object, the method comprising:
defining a vehicle mesh of surface elements and nodes, the vehicle mesh being in the shape of the vehicle;
defining an object mesh of surface elements and nodes, the object mesh being in the shape of the object;
assigning a respective deformation relationship to each of the vehicle and object meshes, each deformation relationship relating a force required to cause a deformation in a region of the associated mesh;
assigning a respective restitution relationship to each of the vehicle and object meshes, each restitution relationship describing the distance a deformed region of the associated mesh will restitute after being deformed;
moving the meshes until a collision is detected; and
calculating a series of positions of the meshes during the collision, each position being based on a prior calculated position, wherein calculating the series of positions includes:
over a plurality of timesteps, alternating between (1) the vehicle mesh as a master mesh and the object mesh as a slave mesh, and (2) the object mesh as a master mesh and the vehicle mesh as a slave mesh, the master mesh having master surface elements and the slave mesh having slave nodes;
at each timestep, for each of a plurality slave nodes on the slave mesh:
(1) determining whether the slave node has penetrated a maser surface element and therefore should be deformed, and if so, (a) deforming the slave node a deformation distance to lie adjacent the maser mesh and (b) calculating a local deformation collision force acting on the slave node based on the deformation distance and the deformation relationship of the slave mesh;
(2) determining whether the slave node should be restituted, and if so, restituting the slave node and deter whether a restitution collision has occurred, and if so, calculating a local restitution collision force acting on the slave node;
calculating a generalized collision force based on the local deformation and restitution collision forces acting at each slave node;
applying the generalized collision force to the slave mesh; and
moving the slave mesh to a next position based on the generalized collision force.

### Claim 30 (depends on 29)

The method of claim 29, Her comprising, after determining whether a restitution collision has occurred, deforming the slave node back a deformation distance to lie adjacent the maser mesh, wherein the restitution collision force is calculated based on the deformation relationship for the slave mesh and the deformation distance.

### Claim 31 (depends on 29)

The method of claim 29, further comprising, storing a cumulative deformation distance for each deformed slave node.

### Claim 32 (depends on 31)

The method of claim 31, further comprising, before restituting each slave node, calculating a total restitution distance for the slave node as a distance related to the cumulative deformation distance by the restitution relationship, wherein determining whether the slave node should be restituted includes determining whether the node previously has been restituted the total restitution distance.

### Claim 33 (depends on 29)

The method of claim 29, wherein the nodes and surface elements of each mesh have no independently associated mass.

### Claim 34 (depends on 29)

The method of claim 29, wherein the each mesh is a shell mesh.

### Claim 35 (depends on 34)

The method of claim 34, wherein each shell mesh has no thickness.

### Claim 36 (depends on 29)

The method of claim 29, wherein each deformation relationship is a stiffness relationship.

### Claim 37 (depends on 29)

The method of claim 29, wherein deformation of a node does not exert a shearing effect on adjacent nodes.
