[go: up one dir, main page]

WO2025240859A1 - System and method of simulating a crush-zone in a vehicle accident - Google Patents

System and method of simulating a crush-zone in a vehicle accident

Info

Publication number
WO2025240859A1
WO2025240859A1 PCT/US2025/029763 US2025029763W WO2025240859A1 WO 2025240859 A1 WO2025240859 A1 WO 2025240859A1 US 2025029763 W US2025029763 W US 2025029763W WO 2025240859 A1 WO2025240859 A1 WO 2025240859A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
cell
point cloud
node
quadtree
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.)
Pending
Application number
PCT/US2025/029763
Other languages
French (fr)
Inventor
Paul Hetherington
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.)
Faro Technologies Inc
Original Assignee
Faro Technologies Inc
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 Faro Technologies Inc filed Critical Faro Technologies Inc
Publication of WO2025240859A1 publication Critical patent/WO2025240859A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/02Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
    • G01C11/025Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures by scanning the object
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/14Force analysis or force optimisation, e.g. static or dynamic forces

Definitions

  • the subject matter disclosed herein relates to a method of simulating a crushzone of an accident involving a vehicle such as an automobile.
  • a system and method for performing a three dimension (3D) analysis of vehicle crashes by performing a three-dimensional scan of a damaged vehicle to obtain a point cloud of the vehicle and then using, for example, an orthographic raytracing technique to measure the depth of the point cloud. The depths are then compared to the depths of a reference mesh model representing the exact make and model of the vehicle when undamaged..
  • 3D three dimension
  • a method of calculating an impact of a vehicle collision comprises: (1) scanning at least a portion of a vehicle that is damaged with a three-dimensional measurement device to generate a damaged vehicle point cloud; (2) generating a data grid comprising the damaged vehicle point cloud and a reference model point cloud that includes corresponding measurements of an undamaged model of the vehicle; (3) selecting a cell in the data grid; (4) determining within the cell a difference between points of the damaged vehicle point cloud and corresponding points of the reference model point cloud; and (5) calculating an energy of the cell in the data grid, based on the difference, wherein the energy of the cell represents at least a portion of a total impact energy of the vehicle collision.
  • FIG. 1 illustrates a graphical user interface that shows the point cloud map of a vehicle that was involved in an accident, in accordance with an embodiment
  • FIG. 2 illustrates a graphical user interface that shows a point cloud map of another surface of the vehicle from FIG. 1;
  • FIGS. 3 and 4 illustrate a graphical user interface that shows the results when a Quad-Tree based weighted interpolation algorithm was used on the data of FIG. 1, in accordance with an embodiment
  • FIG. 5 shows a depth scan of a reference model. The image has been lightened to show the contrast, in accordance with an embodiment
  • FIG. 6 shows a depth scan of a damaged vehicle, in accordance with an embodiment
  • FIG. 7 is a flow diagram illustrating the processing of each grid point in the point cloud, in accordance with an embodiment
  • FIG. 8 is a 3D Grid mesh representation that shows the resulting scans of a reference model (RM) and a point cloud (PC) mesh, in accordance with an embodiment
  • FIG. 9. is an illustration showing a comparison mesh given the reference model and point cloud of FIG. 8, in accordance with an embodiment;
  • FIG 10 is an illustration showing the data grid for the delta depth calculations, in accordance with an embodiment;
  • FIG. 11 is an illustration of a representation of each cell as a 3D trapezoidal prism, in accordance with an embodiment
  • FIG. 12 is a flow diagram illustrating the processing of the delta depth grid data, in accordance with an embodiment
  • FIG 13 illustrates a representation of the data set from FIG. 2 filtered using a QERP method, in accordance with an embodiment
  • FIG 14 illustrates a QuadTree data structure, in accordance with an embodiment
  • FIG. 15 is a flow diagram illustrating a process where each node is transforming a DeltaGraph to a QuadTree, in accordance with an embodiment.
  • one process for simulating a crush-zone in a vehicle accident uses an orthographic raytracing technique to measure the depth of the point cloud in relation to the depth of the reference mesh model.
  • the challenge with measuring a reference model against a point cloud scan is oftentimes the point cloud scan will have gaps in its data.
  • optical three-dimensional scanners that are used to generate point clouds have difficulties scanning highly reflective or transparent surfaces, for example. Windows, chrome-type surfaces, for example, tend to leave gaps in the point cloud scan under certain circumstances.
  • Shown in the figures are representations or ‘heatmaps’ of the scan data measured against the reference model. Darker areas of the point cloud data are closer to the reference model data while lighter areas represent areas with greater differential/depth (crush). Areas where the point cloud has no scan data are left blank (sometimes represented as white or grey).
  • FIG. 1 an embodiment is shown of a point cloud of a vehicle involved in an accident, collision or “crash.”
  • the darker areas such as area 102
  • the dark-colored areas are areas that are less damaged or have not been damaged at all (e.g. little or no difference between the point cloud model and the reference model in corresponding areas thereof).
  • White or white gray areas such as area 106 indicate an area where there is no data for that portion of the surface. The white area 106 thus represents a “hole” in the data.
  • FIG. 2 a point cloud is shown of another surface of the vehicle from FIG. 1. It also illustrates areas where there is less damage to the vehicle, such as the point 202 example. There is more damage indicated in the areas with lighter tones of the images such as area 204. Similar to the embodiment of FIG. 1, there is data missing from the point cloud as is indicated by the white-colored areas, such as area 206.
  • the point cloud of FIG. 2 shows that missing data such as area 206 are in regions and areas over the surface making it difficult to do an analysis for crush depths of the surface of the vehicle. In other words, how far the surface is deflected or distorted as the result of an accident is difficult to determine wherever there is missing data.
  • the first technique is referred to as a “nearest neighbor” technique which uses linear interpolations where adjacent values may be used to correct a deficiency in the data. Missing data from a region is replaced with data from an adjacent area that results in a filling of the data in areas, such as area 106 and area 206.
  • data values are assigned to a region that is missing data and are given the same value as the adjacent region where data is available or it is interpolated between adjacent regions. This results in the data and the image becoming “blocky” (e.g., having low resolution angular surfaces). Successive iterations using the same approach with recursion added can also be used to fill in the gaps better, however it results in still blocky images.
  • a QuadTree method is based on a weighted interpolation process that determines the ‘best fit’ data in the empty areas of the point cloud.
  • the QuadTree uses a spatial partitioning data structure.
  • the spatial partitioning data structure is hierarchical, meaning that a space (or a region of space) is divided into several regions (referred to variously herein as a “Quad Cell,” a “Node,” or a “Branch”), and then the same space-partitioning data structure is recursively applied to each of the regions thus created.
  • the regions can be organized into a tree, sometimes called a spatial partition tree.
  • the spatial partitioning data structure allows the creation of weighted data in each Quad Cell from the largest node size (i.e., the size of a full scan) down to the smallest node (or leaf) level. These smallest nodes may be analogous to the size of an individual pixel in the photosensitive array of the three-dimensional scanner.
  • the spatial partitioning tree is moved up until a node level is reached that contains valid data. Data is interpolated at that level based on the weighted data in that node. Data weighting is created based on the distance each data point is from each of the four comers at each node level as described in more detail below.
  • FIG. 3 and FIG. 4 the results are shown of when a Quad-Tree based weighted interpolation method is used on the data of FIG. 1.
  • the missing data such as area 106 is missing from the image and a smooth overall appearance of the vehicle image shows a desired level of transition between null areas and the areas that contain data.
  • a depth scan 500 is shown of a reference model (RM).
  • a “reference model” is an electronic model of the object (e.g. vehicle) with which the point cloud (PC) of the damaged vehicle will be compared.
  • the PC will contain a series of points on a grid, sometimes referred to herein as “grid points” or “data points.” For each grid point, the RM is compared with the corresponding PC for the same grid point.
  • the RM represents a nominal or “undamaged” model of the vehicle. In the embodiment of FIG. 5, the image has been lightened to show the contrast.
  • FIG. 6 an embodiment is shown of a depth scan of the damaged vehicle point cloud.
  • the image illustrates an orthographic ray-trace of the RM and the PC into separate planar projection (2D) grid buffers (images), which measure the depth of the reference model and the point cloud respectively from the same ray origin.
  • 2D planar projection
  • a method 700 is shown of the processing of each grid point in both the reference model and point cloud.
  • a grid point is selected from the point cloud data in block 702 and is compared with the points in the reference model in query block 704.
  • the points of the RM and PC are compared to each other on a 2-dimensional grid. If no equivalent data point exists (query block returns a negative) then this grid point is set with a parameter (sometimes referred to as a variable “DeltaDepth”) that represents the difference between the point cloud and the reference model at that point.
  • a parameter sometimes referred to as a variable “DeltaDepth”
  • the DeltaDepth parameter is set with an “empty” or “null” value in block 706. If the data exists in the reference model it is passed on the compare with the PC grid 708. If there is no match in the point cloud model it is set to a DeltaDepth parameter of zero in block 710. If a match is found in the point cloud the DeltaDepth parameter is set to equal a distance difference between the point cloud point and reference model point in block 712. The method 700 then loops back to block 702 and the next data point is then selected.
  • FIG. 8 a 3D Grid mesh or data plot is shown of the resulting scans of reference model area 802 and point cloud mesh area 804.
  • the results of the RM are shown with lighter gray scale tones of area 802.
  • the results of the PC are shown in darker gray scale tones shown in area 804.
  • FIG. 9. illustrates an enlarged image showing a comparison mesh given the reference model and point cloud of FIG. 8. This shows the data from the RM model and the PC model in 3D space for visual reference.
  • a data grid 1000 is shown for the Delta Depth calculations. Once a grid 1000 is created holding the DeltaDepth parameter data of the reference model versus point cloud, additional Volume and Energy calculations are next performed in various embodiments.
  • FIG. 11 Shows a representation of each cell of the data grid 1000 as a 3D trapezoidal prism.
  • Each cell represents a 3D trapezoidal prism 1100, where corner 1102 (e.g. “dl”), comer 1112 (e.g. “d2), corner 1106 (e.g. “d3”), and corner 1110 (e.g. “d4”) are the depths of the corner for the corresponding cell.
  • Edge 1104 e.g. “h_base”
  • edge 1108 e.g. “w_base”
  • a method of calculating crush energy may be performed in the manner described in “Calculating Energy Absorbed (Work Done) on a 3D Volume of Crush” by authors Mike Kennedy, ACTAR, Paul Hetherington BTACS, Bob Scurlock Ph.D. published in 2015, which is incorporated in its entirety by reference.
  • V c (h • w )-(dl+d2+d3+d4)/4 (Eq. 1)
  • h and w are the dimensions of the base of the cell (measured)
  • dl, d2, d3, and d4 are the depths of the comers of the cell (measured)
  • x is the average depth of the cell (dl+d2+d3+d4)/4 from above
  • A is the A Stiffness Coefficient Adjusted by Height Test data parameter (user supplied)
  • B is the B Stiffness Coefficient Adjusted by Height Test data parameter (user supplied)
  • h and w are the dimension of the base of the cell (measured)
  • m is the mass (NOT WEIGHT) of the vehicle (user supplied)
  • an exemplary method 1200 is shown for processing of DeltaDepth Grid Data (block 1202).
  • a DeltaDepth parameter is tested in query block 1204, where it is determined whether all four comers of the DeltaGraph Grid Data have valid non-empty data.
  • query block 1204 returns a negative, meaning at least one corner is empty
  • the method 1200 returns to block 1202 where a next DeltaDepth Grid Data in the data graph is iteratively selected.
  • query block 1204 returns a positive, meaning there is non-empty data, then the method 1200 proceeds to block 1206 where the trapezoidal cell volume is determined, for example, using Eq. 1.
  • the method 1200 then proceeds to block 1208 where the energy for the cell based on volume is determined, for example, using Eq. 2.
  • the method 1200 then loops back to block 1202 where a next data point is then selected.
  • the method 1200 continues in such manner iteratively until the energies of all relevant data points have been calculated.
  • QuadTree, weighted interpolation (QERP) method is used to fill these gaps. The results of the QERP method are shown in FIG. 13 applied to the point data of FIG. 2.
  • FIG 13 displays the data set from FIG. 2 filtered using the QERP method.
  • a smooth transition is provided from section to section with the missing (e.g. gap) data filled in.
  • a QuadTree is a spatial partition data structure. Each node(level) in a QuadTree can be subdivided into 4-sub nodes (children) as shown in FIG. 14.
  • FIG 14 a data structure is shown of the QuadTree.
  • data points are added to the QuadTree which are stored at each level down to the lowest node (leaf).
  • the Top-level (root) size of the QuadTree has the same dimensions as the ScanDepth data.
  • each leaf can be as small as the dimensions of a single cell in the ScanDepth data.
  • the comers of each node in the QuadTree are created with a weighted average of all the data points in the node at that level. Weights are applied to each data point based on their planar distance from the comer. Each point in the ScanDepth grid is then sampled to determine if it contains valid data at the leaf level. If not, the process moves up one node in the QuadTree to test for valid data there. Once a non-leaf node is found with valid data, a weighted average is determined based on the relative position of the sample point to the corners of that node.
  • a method 1500 is shown of a process where each node is transformed from the DeltaGraph data to a QuadTree. All data points from the DeltaGraph data are loaded into the QuadTree in block 1502. The method 1500 then proceeds to block 1504, where at each node level of the QuadTree data is created at four corners that are determined based on the weighted value of data within the node. The method 1500 then proceeds to block 1506 where the step of block 1504 is performed for each point within the DeltaGraph Grid (block 1506). The method 1500 next proceeds to query block 1508 where the data is tested to determine if valid data exists at each leaf node.
  • the method 1500 proceeds to block 1510 where the data moves up one node level and this data is once again tested in query block 1512.
  • the query block 1512 instead returns a negative, the method 1500 loops back to block 1510. This loop is repeated until real data exists at a node.
  • the weighted depth at the node from corner data is determined in block 1514. In an embodiment, this may be augmented by creating the weighted data at each QuadTree node corner by taking into account data in sibling/adjacent nodes. The method 1500 then loops back to block 1504 where the process continues until each node has been processed.
  • a method of calculating the impact of a car collision comprises scanning the damaged car with a three-dimensional measurement device.
  • a depth of the point cloud is measured using an orthographic raytracing.
  • the depths to that of a reference mesh model are compared.
  • the difference in depth between the point cloud and the reference model are determined and each value is loaded into a DeltaDepth graph for each point of the point cloud.
  • the cell volume associated with the difference in depth is determined.
  • the energy for each cell based volume is then calculated as described in the foregoing.
  • the method further comprises processing the data in the point cloud to fill in gaps in the point cloud data.
  • the cumulative energy calculated for each cell is used to indicate the total energy of a collision involving the vehicle, from which estimates of the speed or relative speed of a colliding vehicle of known mass is easily and reliably determinable.
  • the method further includes determining the difference for each cell of the data grid representing the damaged vehicle point cloud and determining the total impact energy of the vehicle collision.
  • the method further includes identifying an additional cell in the data grid, the additional cell comprising four corners; determining whether each of the four comers of the additional cell in the data grid has non-empty data; when each of the four corners of the additional cell each have non-empty data, calculating an additional energy of the additional cell in the data grid; and when at least one comer of the four corners of the additional cell has empty data, determining to not calculate the additional energy of the additional cell.
  • the method further includes filling in gaps of the damaged vehicle point cloud. In certain embodiments the gaps of the damaged vehicle point cloud are filled using quadtree weighted interpolation.
  • filling in gaps of the damaged vehicle point cloud includes: adding the damaged vehicle point cloud to a representation of a quadtree data structure; creating four comers for each node at each level in the quadtree data structure based on a weighted average of all the data points within each node, wherein weights of the weighted average are applied to each data point within nodes based on their planar distance from at least one of the four comers; determining whether a first node of the quadtree data stmcture contains valid data for a data point of the damaged vehicle point cloud in each of the four corners; when the node of the quadtree does not contain valid data for each of the four corners, determining whether a second node in the quadtree data structure that is one level above the first node contains valid data; and determining a weighted average for the data point of the damaged vehicle point cloud based on a position of the data point relative to at least one of the four corners of the second node if the second node contains valid data.
  • the method further includes creating a graph comprising the difference between each point of the damaged vehicle point cloud and corresponding points of the reference model point cloud, and filling in gaps of the graph using quadtree weighted interpolation.
  • filling in the gaps of the graph further includes: adding the graph to a quadtree data stmcture; creating four corners for each node at each level in the quadtree data structure based on a weighted average of all the data points within each node, wherein weights of the weighted average are applied to each data point within nodes based on their planar distance from at least one of the four comers; determining whether a node of the quadtree contains valid data for a data point of the graph; determining whether a second node in the quadtree at a level that is one level above the node contains valid data for the data point of the graph when the node does not contain valid data; and determining a weighted average for the data point based on a position of the
  • the method further includes calculating the energy of the cell by: multiplying a first stiffness coefficient with an average depth of the cell to obtain a first term; multiplying a square of the average depth of the cell, with one-half a second stiffness coefficient to obtain a second term; multiplying a height of a base of the cell with a width of the base of the cell and the first stiffness coefficient and then dividing by 2 times the second stiffness coefficient to obtain a third term; and calculating the energy of the cell in the data grid as a sum of the first term, the second term and the third term.
  • the method further includes determining a volume of the cell in the data grid, based on the difference between points of the damaged vehicle point cloud and points of the reference model point cloud, where the energy of the cell in the data grid is calculated based on the volume of the cell in the data grid; the cell is represented as a three-dimensional trapezoidal prism having four depths, each depth of the four depths representing a difference between a point of the damaged vehicle point cloud and a corresponding point of the reference model point cloud, and the volume of the cell is calculated by determining an average of the four depths, and multiplying the average of the four depths with a height of a base of the three-dimensional trapezoidal prism and a width of the base of the three-dimensional trapezoidal prism.
  • embodiments of the present disclosure may include a computer system, either a stand along processing or computing device, a networked device comprised of a plurality of computing devices, or a distributed/cloud based computing system for example.
  • An embodiment of a processing system suitable for the present disclosure may be similar to that found in commonly owned PCT Application No. PCT/US2024/023985 filed April 11, 2024 entitled “Predictive Collision Analysis Based On Inputs From A Gaming Controller” the content of which is incorporated by reference in its entirety.
  • connections and positional relationships are set forth between elements in the following description and in the drawings. These connections and/or positional relationships, unless specified otherwise, can be direct or indirect, and the present embodiments are not intended to be limiting in this respect. Accordingly, a coupling of entities can refer to either a direct or an indirect coupling, and a positional relationship between entities can be a direct or indirect positional relationship. Moreover, the various tasks and process steps described herein can be incorporated into a more comprehensive procedure or process having additional steps or functionality not described in detail herein.
  • exemplary is used herein to mean “serving as an example, instance or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs.
  • the terms “at least one” and “one or more” may be understood to include any integer number greater than or equal to one, i.e. one, two, three, four, etc.
  • the terms “a plurality” may be understood to include any integer number greater than or equal to two, i.e. two, three, four, five, etc.
  • connection may include both an indirect “connection” and a direct “connection.”
  • the present embodiments may be a system, a method, and/or a computer program product at any possible technical detail level of integration
  • the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present embodiments.
  • the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
  • the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • a non- exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
  • RAM random access memory
  • ROM read-only memory
  • EPROM or Flash memory erasable programmable read-only memory
  • SRAM static random access memory
  • CD-ROM compact disc read-only memory
  • DVD digital versatile disk
  • memory stick a floppy disk
  • mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
  • a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
  • Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
  • the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
  • a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
  • Computer readable program instructions for carrying out operations of the present embodiments may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages.
  • the computer readable program instructions may execute entirely on the user’s computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instruction by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present embodiments.
  • These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the blocks may occur out of the order noted in the Figures.
  • two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Image Processing (AREA)

Abstract

A method of calculating the impact of a vehicle collision is provided. The method includes scanning the damaged vehicle with a three-dimensional measurement device. A depth of the point cloud of the vehicle is measured using an orthographic raytracing. The depth of the point cloud of the vehicle is compared to that of a reference mesh model. The difference in depth is determined between the point cloud and the reference model and each depth value is loaded into a DeltaDepth graph for each point of the point cloud of the damaged vehicle. For each point of the damaged vehicle point cloud, the difference the DeltaDepth graph is determined, as well as a cell volume associated with the difference in depth. The energy contribution from each cell is calculated based on the cell volume.

Description

SYSTEM AND METHOD OF SIMULATING A CRUSH-ZONE IN A VEHICLE ACCIDENT
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application Number 63/648,306, filed May 16, 2024, the entire contents of which are incorporated herein by reference.
BACKGROUND
[0002] The subject matter disclosed herein relates to a method of simulating a crushzone of an accident involving a vehicle such as an automobile.
[0003] Two dimensional analysis of car crash data is limited in its ability to determine the crash energy associated with a car crash. Similarly, traditional six point crash analysis is also limited in providing information to an accident reconstructionist. While existing methods of reconstructing an accident are suitable for their intended purposes the need for improvement remains, particularly in providing a method of simulating crush-zones having the features described herein.
SUMMARY
[0004] In embodiments a system and method for performing a three dimension (3D) analysis of vehicle crashes by performing a three-dimensional scan of a damaged vehicle to obtain a point cloud of the vehicle and then using, for example, an orthographic raytracing technique to measure the depth of the point cloud. The depths are then compared to the depths of a reference mesh model representing the exact make and model of the vehicle when undamaged.. This allows for more accurate damage representation then traditional two- dimensional (2D) only, Six-Point Crush methods. Crush measurements allow an accident reconstructionist to do reasonable approximations of Crush Energy and Velocity From Crush Energy calculations.
[0005] In various embodiments, a method of calculating an impact of a vehicle collision comprises: (1) scanning at least a portion of a vehicle that is damaged with a three-dimensional measurement device to generate a damaged vehicle point cloud; (2) generating a data grid comprising the damaged vehicle point cloud and a reference model point cloud that includes corresponding measurements of an undamaged model of the vehicle; (3) selecting a cell in the data grid; (4) determining within the cell a difference between points of the damaged vehicle point cloud and corresponding points of the reference model point cloud; and (5) calculating an energy of the cell in the data grid, based on the difference, wherein the energy of the cell represents at least a portion of a total impact energy of the vehicle collision.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] These and other features and advantages of the disclosed system and method of simulating a crush-zone in an automobile accident will be more fully understood by reference to the following detailed description in conjunction with the attached drawings in which like reference numerals refer to like elements throughout the different views.
[0007] FIG. 1 illustrates a graphical user interface that shows the point cloud map of a vehicle that was involved in an accident, in accordance with an embodiment;
[0008] FIG. 2 illustrates a graphical user interface that shows a point cloud map of another surface of the vehicle from FIG. 1;
[0009] FIGS. 3 and 4 illustrate a graphical user interface that shows the results when a Quad-Tree based weighted interpolation algorithm was used on the data of FIG. 1, in accordance with an embodiment;
[0010] FIG. 5 shows a depth scan of a reference model. The image has been lightened to show the contrast, in accordance with an embodiment;
[0011] FIG. 6 shows a depth scan of a damaged vehicle, in accordance with an embodiment;
[0012] FIG. 7 is a flow diagram illustrating the processing of each grid point in the point cloud, in accordance with an embodiment;
[0013] FIG. 8 is a 3D Grid mesh representation that shows the resulting scans of a reference model (RM) and a point cloud (PC) mesh, in accordance with an embodiment;
[0014] FIG. 9. is an illustration showing a comparison mesh given the reference model and point cloud of FIG. 8, in accordance with an embodiment; [0015] FIG 10 is an illustration showing the data grid for the delta depth calculations, in accordance with an embodiment;
[0016] FIG. 11 is an illustration of a representation of each cell as a 3D trapezoidal prism, in accordance with an embodiment;
[0017] FIG. 12 is a flow diagram illustrating the processing of the delta depth grid data, in accordance with an embodiment;
[0018] FIG 13 illustrates a representation of the data set from FIG. 2 filtered using a QERP method, in accordance with an embodiment;
[0019] FIG 14 illustrates a QuadTree data structure, in accordance with an embodiment; and
[0020] FIG. 15 is a flow diagram illustrating a process where each node is transforming a DeltaGraph to a QuadTree, in accordance with an embodiment.
DETAILED DESCRIPTION
[0021] In the following description of various example embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which are shown by way of illustration various non-limiting example devices, systems, and environments in which aspects of exemplary embodiments disclosed herein may be practiced. It is to be understood that other specific arrangements of parts, example devices, systems, and environments may be utilized and structural and functional modifications may be made without departing from the scope of the present disclosure where like numbered call outs refer to identical components.
[0022] In an embodiment, one process for simulating a crush-zone in a vehicle accident uses an orthographic raytracing technique to measure the depth of the point cloud in relation to the depth of the reference mesh model. The challenge with measuring a reference model against a point cloud scan is oftentimes the point cloud scan will have gaps in its data. In some cases, optical three-dimensional scanners that are used to generate point clouds have difficulties scanning highly reflective or transparent surfaces, for example. Windows, chrome-type surfaces, for example, tend to leave gaps in the point cloud scan under certain circumstances. Shown in the figures are representations or ‘heatmaps’ of the scan data measured against the reference model. Darker areas of the point cloud data are closer to the reference model data while lighter areas represent areas with greater differential/depth (crush). Areas where the point cloud has no scan data are left blank (sometimes represented as white or grey).
[0023] It should be appreciated that while embodiments herein may use the term “automobile” or “car,” this is for example purposes and the claims should not be so limited. In other embodiments, the methods described and taught herein may be used with any type of vehicle, such as but not limited to an automobile, a truck, a sports-utility-vehicle, a tractortrailer, a box truck, a van, a motorcycle, an all-terrain vehicle, a bicycle, a boat, a jet-ski, a helicopter, an airplane and the like, without deviating from the teachings herein.
[0024] Referring now to FIG. 1 an embodiment is shown of a point cloud of a vehicle involved in an accident, collision or “crash.” In FIG. 1, the darker areas, such as area 102, represent where the point cloud data is closer to a reference model (sometime referred to in the art as a nominal or “golden” model). In other words, the dark-colored areas are areas that are less damaged or have not been damaged at all (e.g. little or no difference between the point cloud model and the reference model in corresponding areas thereof). Areas of the point cloud that are lighter in color in contrast relative to area 102, such as area 104 for example, represent regions of the vehicle where damage has occurred. White or white gray areas such as area 106 indicate an area where there is no data for that portion of the surface. The white area 106 thus represents a “hole” in the data.
[0025] Referring now to FIG. 2, a point cloud is shown of another surface of the vehicle from FIG. 1. It also illustrates areas where there is less damage to the vehicle, such as the point 202 example. There is more damage indicated in the areas with lighter tones of the images such as area 204. Similar to the embodiment of FIG. 1, there is data missing from the point cloud as is indicated by the white-colored areas, such as area 206. The point cloud of FIG. 2 shows that missing data such as area 206 are in regions and areas over the surface making it difficult to do an analysis for crush depths of the surface of the vehicle. In other words, how far the surface is deflected or distorted as the result of an accident is difficult to determine wherever there is missing data.
[0026] There are a number of techniques that can help overcome the deficiencies of the scans used in FIG. 1 and FIG. 2. The first technique is referred to as a “nearest neighbor” technique which uses linear interpolations where adjacent values may be used to correct a deficiency in the data. Missing data from a region is replaced with data from an adjacent area that results in a filling of the data in areas, such as area 106 and area 206. In other words, data values are assigned to a region that is missing data and are given the same value as the adjacent region where data is available or it is interpolated between adjacent regions. This results in the data and the image becoming “blocky” (e.g., having low resolution angular surfaces). Successive iterations using the same approach with recursion added can also be used to fill in the gaps better, however it results in still blocky images.
[0027] In order to avoid such deficient outcomes, another approach is performed herein using a “QuadTree” method. A QuadTree method is based on a weighted interpolation process that determines the ‘best fit’ data in the empty areas of the point cloud. The QuadTree uses a spatial partitioning data structure. In an embodiment, the spatial partitioning data structure is hierarchical, meaning that a space (or a region of space) is divided into several regions (referred to variously herein as a “Quad Cell,” a “Node,” or a “Branch”), and then the same space-partitioning data structure is recursively applied to each of the regions thus created. The regions can be organized into a tree, sometimes called a spatial partition tree. In an embodiment, the spatial partitioning data structure allows the creation of weighted data in each Quad Cell from the largest node size (i.e., the size of a full scan) down to the smallest node (or leaf) level. These smallest nodes may be analogous to the size of an individual pixel in the photosensitive array of the three-dimensional scanner. When sampling the data, if an empty spot is found in the data grid, the spatial partitioning tree is moved up until a node level is reached that contains valid data. Data is interpolated at that level based on the weighted data in that node. Data weighting is created based on the distance each data point is from each of the four comers at each node level as described in more detail below.
[0028] Referring to FIG. 3 and FIG. 4 the results are shown of when a Quad-Tree based weighted interpolation method is used on the data of FIG. 1. The missing data such as area 106 is missing from the image and a smooth overall appearance of the vehicle image shows a desired level of transition between null areas and the areas that contain data.
[0029] Referring to FIG. 5, a depth scan 500 is shown of a reference model (RM). As used herein, a “reference model” is an electronic model of the object (e.g. vehicle) with which the point cloud (PC) of the damaged vehicle will be compared. The PC will contain a series of points on a grid, sometimes referred to herein as “grid points” or “data points.” For each grid point, the RM is compared with the corresponding PC for the same grid point. The RM represents a nominal or “undamaged” model of the vehicle. In the embodiment of FIG. 5, the image has been lightened to show the contrast.
[0030] Referring to FIG. 6, an embodiment is shown of a depth scan of the damaged vehicle point cloud. In the embodiments of FIGS. 5 and 6, the image illustrates an orthographic ray-trace of the RM and the PC into separate planar projection (2D) grid buffers (images), which measure the depth of the reference model and the point cloud respectively from the same ray origin. In such embodiment, the areas of the image that are whiter are farther away from the ray-origin than a darker area. Once the two depth scans are generated for both the reference model and the point cloud, a comparison is run on the depth scan data to determine a difference between the reference model and point cloud model.
[0031] Referring now to FIG. 7, a method 700 is shown of the processing of each grid point in both the reference model and point cloud. For each grid point defined in the point cloud there can exist a point on the RM and a point on the PC. A grid point is selected from the point cloud data in block 702 and is compared with the points in the reference model in query block 704. In other words, the points of the RM and PC are compared to each other on a 2-dimensional grid. If no equivalent data point exists (query block returns a negative) then this grid point is set with a parameter (sometimes referred to as a variable “DeltaDepth”) that represents the difference between the point cloud and the reference model at that point. Where the query block 704 returns a negative, the DeltaDepth parameter is set with an “empty” or “null” value in block 706. If the data exists in the reference model it is passed on the compare with the PC grid 708. If there is no match in the point cloud model it is set to a DeltaDepth parameter of zero in block 710. If a match is found in the point cloud the DeltaDepth parameter is set to equal a distance difference between the point cloud point and reference model point in block 712. The method 700 then loops back to block 702 and the next data point is then selected.
[0032] Referring to FIG. 8, a 3D Grid mesh or data plot is shown of the resulting scans of reference model area 802 and point cloud mesh area 804. The results of the RM are shown with lighter gray scale tones of area 802. The results of the PC are shown in darker gray scale tones shown in area 804. FIG. 9. illustrates an enlarged image showing a comparison mesh given the reference model and point cloud of FIG. 8. This shows the data from the RM model and the PC model in 3D space for visual reference. [0033] Referring now to FIG 10, a data grid 1000 is shown for the Delta Depth calculations. Once a grid 1000 is created holding the DeltaDepth parameter data of the reference model versus point cloud, additional Volume and Energy calculations are next performed in various embodiments.
[0034] FIG. 11 Shows a representation of each cell of the data grid 1000 as a 3D trapezoidal prism. Each cell represents a 3D trapezoidal prism 1100, where corner 1102 (e.g. “dl”), comer 1112 (e.g. “d2), corner 1106 (e.g. “d3”), and corner 1110 (e.g. “d4”) are the depths of the corner for the corresponding cell. Edge 1104 (e.g. “h_base”) and edge 1108 (e.g. “w_base”) are the lengths of sides of the base of the trapezoidal prism. From these parameters the volume and crush energy may be determined. In various non-limiting embodiments, a method of calculating crush energy may be performed in the manner described in “Calculating Energy Absorbed (Work Done) on a 3D Volume of Crush” by authors Mike Kennedy, ACTAR, Paul Hetherington BTACS, Bob Scurlock Ph.D. published in 2015, which is incorporated in its entirety by reference.
[0035] To calculate the volume of an individual cell using Eq. 1:
Vc = (h • w )-(dl+d2+d3+d4)/4 (Eq. 1)
Where: h and w are the dimensions of the base of the cell (measured) dl, d2, d3, and d4 are the depths of the comers of the cell (measured)
[0036] To calculate the crush energy of an individual cell we use Eq. 2. (see also, “Calculating Energy Absorbed (Work Done) on a 3D Volume of Crush” as cited above for additional explanations of derivation of equation which are incorporated herein by reference):
Ec=(x-A) + (XA2-B/2) + (A/(2-B)) -h • w (Eq. 2)
Where: x is the average depth of the cell (dl+d2+d3+d4)/4 from above
(measured)
A is the A Stiffness Coefficient Adjusted by Height Test data parameter (user supplied)
B is the B Stiffness Coefficient Adjusted by Height Test data parameter (user supplied) h and w are the dimension of the base of the cell (measured)
[0037] Only cells that have valid (non-empty) data in all four corners defining the base of the cell are considered. For each cell, volume and crush energy is calculated. Summing up the total volume and energy over all the cells having valid data gives the user the ability to accurately determine a final Velocity of an impacting vehicle from this Crush Energy calculation using the kinetic energy equations Eq. 3 and Eq. 4 below:
E=l/2-m-v2 (Eq. 3)
Solving for v (velocity): v= (2-E/m) (Eq. 4)
Where: m is the mass (NOT WEIGHT) of the vehicle (user supplied)
E is the total energy (calculated above)
[0038] Referring now to FIG. 12, an exemplary method 1200 is shown for processing of DeltaDepth Grid Data (block 1202). In various embodiments of the method 1200, a DeltaDepth parameter is tested in query block 1204, where it is determined whether all four comers of the DeltaGraph Grid Data have valid non-empty data. When query block 1204 returns a negative, meaning at least one corner is empty, the method 1200 returns to block 1202 where a next DeltaDepth Grid Data in the data graph is iteratively selected. When query block 1204 returns a positive, meaning there is non-empty data, then the method 1200 proceeds to block 1206 where the trapezoidal cell volume is determined, for example, using Eq. 1. The method 1200 then proceeds to block 1208 where the energy for the cell based on volume is determined, for example, using Eq. 2. The method 1200 then loops back to block 1202 where a next data point is then selected. The method 1200 continues in such manner iteratively until the energies of all relevant data points have been calculated.
[0039] Three-dimensional optical measurement devices or scanners sometimes have difficulties making measurements of surfaces that are partially transparent and/or highly reflective. Certain colors can also sometimes cause measurement issues as well as noise or environmental conditions. As a result, gaps can be created in the point cloud scan data, as was shown in FIG. 2. In an embodiment, and as will be described in more detail with respect to FIGS. 14-15, a QuadTree, weighted interpolation (QERP) method is used to fill these gaps. The results of the QERP method are shown in FIG. 13 applied to the point data of FIG. 2.
[0040] FIG 13 displays the data set from FIG. 2 filtered using the QERP method. A smooth transition is provided from section to section with the missing (e.g. gap) data filled in. A QuadTree is a spatial partition data structure. Each node(level) in a QuadTree can be subdivided into 4-sub nodes (children) as shown in FIG. 14.
[0041] Referring now to FIG 14 a data structure is shown of the QuadTree. Using the QERP method, data points are added to the QuadTree which are stored at each level down to the lowest node (leaf). The Top-level (root) size of the QuadTree has the same dimensions as the ScanDepth data. At the lowest level of the QuadTree each leaf can be as small as the dimensions of a single cell in the ScanDepth data. A visual example of creating a Quad Tree data 1400 structure starting with a point table 1402 and a QuadTree map 1404.
[0042] As will be discussed in more detail in FIG. 15, after all the original ScanDepth data is added to the QuadTree, the comers of each node in the QuadTree are created with a weighted average of all the data points in the node at that level. Weights are applied to each data point based on their planar distance from the comer. Each point in the ScanDepth grid is then sampled to determine if it contains valid data at the leaf level. If not, the process moves up one node in the QuadTree to test for valid data there. Once a non-leaf node is found with valid data, a weighted average is determined based on the relative position of the sample point to the corners of that node.
[0043] Referring now to FIG. 15, a method 1500 is shown of a process where each node is transformed from the DeltaGraph data to a QuadTree. All data points from the DeltaGraph data are loaded into the QuadTree in block 1502. The method 1500 then proceeds to block 1504, where at each node level of the QuadTree data is created at four corners that are determined based on the weighted value of data within the node. The method 1500 then proceeds to block 1506 where the step of block 1504 is performed for each point within the DeltaGraph Grid (block 1506). The method 1500 next proceeds to query block 1508 where the data is tested to determine if valid data exists at each leaf node. When the query block 1508 returns a negative, the method 1500 proceeds to block 1510 where the data moves up one node level and this data is once again tested in query block 1512. When the query block 1512 instead returns a negative, the method 1500 loops back to block 1510. This loop is repeated until real data exists at a node. When query block 1512 returns a positive, meaning that data does exist at the node level, the weighted depth at the node from corner data is determined in block 1514. In an embodiment, this may be augmented by creating the weighted data at each QuadTree node corner by taking into account data in sibling/adjacent nodes. The method 1500 then loops back to block 1504 where the process continues until each node has been processed.
[0044] In accordance with an embodiment of the examples described herein, a method of calculating the impact of a car collision comprises scanning the damaged car with a three-dimensional measurement device. A depth of the point cloud is measured using an orthographic raytracing. The depths to that of a reference mesh model are compared. The difference in depth between the point cloud and the reference model are determined and each value is loaded into a DeltaDepth graph for each point of the point cloud. For each point of the point cloud in the DeltaDepth graph, the cell volume associated with the difference in depth is determined. The energy for each cell based volume is then calculated as described in the foregoing. The method further comprises processing the data in the point cloud to fill in gaps in the point cloud data. In various embodiments, the cumulative energy calculated for each cell is used to indicate the total energy of a collision involving the vehicle, from which estimates of the speed or relative speed of a colliding vehicle of known mass is easily and reliably determinable.
[0045] In additional embodiments, the method further includes determining the difference for each cell of the data grid representing the damaged vehicle point cloud and determining the total impact energy of the vehicle collision.
[0046] In additional embodiments, the method further includes identifying an additional cell in the data grid, the additional cell comprising four corners; determining whether each of the four comers of the additional cell in the data grid has non-empty data; when each of the four corners of the additional cell each have non-empty data, calculating an additional energy of the additional cell in the data grid; and when at least one comer of the four corners of the additional cell has empty data, determining to not calculate the additional energy of the additional cell. [0047] In additional embodiments, the method further includes filling in gaps of the damaged vehicle point cloud. In certain embodiments the gaps of the damaged vehicle point cloud are filled using quadtree weighted interpolation. In certain embodiments, filling in gaps of the damaged vehicle point cloud includes: adding the damaged vehicle point cloud to a representation of a quadtree data structure; creating four comers for each node at each level in the quadtree data structure based on a weighted average of all the data points within each node, wherein weights of the weighted average are applied to each data point within nodes based on their planar distance from at least one of the four comers; determining whether a first node of the quadtree data stmcture contains valid data for a data point of the damaged vehicle point cloud in each of the four corners; when the node of the quadtree does not contain valid data for each of the four corners, determining whether a second node in the quadtree data structure that is one level above the first node contains valid data; and determining a weighted average for the data point of the damaged vehicle point cloud based on a position of the data point relative to at least one of the four corners of the second node if the second node contains valid data. In certain instances, determining whether the node of the quadtree contains valid data for the data point of the damaged vehicle point cloud involves determining whether a leaf node of the node of the quadtree contains valid data.
[0048] In additional embodiments, the method further includes creating a graph comprising the difference between each point of the damaged vehicle point cloud and corresponding points of the reference model point cloud, and filling in gaps of the graph using quadtree weighted interpolation. In certain instances, filling in the gaps of the graph further includes: adding the graph to a quadtree data stmcture; creating four corners for each node at each level in the quadtree data structure based on a weighted average of all the data points within each node, wherein weights of the weighted average are applied to each data point within nodes based on their planar distance from at least one of the four comers; determining whether a node of the quadtree contains valid data for a data point of the graph; determining whether a second node in the quadtree at a level that is one level above the node contains valid data for the data point of the graph when the node does not contain valid data; and determining a weighted average for the data point based on a position of the data point relative to at least one of the four corners of the second node.
[0049] In additional embodiments, the method further includes calculating the energy of the cell by: multiplying a first stiffness coefficient with an average depth of the cell to obtain a first term; multiplying a square of the average depth of the cell, with one-half a second stiffness coefficient to obtain a second term; multiplying a height of a base of the cell with a width of the base of the cell and the first stiffness coefficient and then dividing by 2 times the second stiffness coefficient to obtain a third term; and calculating the energy of the cell in the data grid as a sum of the first term, the second term and the third term.
[0050] In additional embodiments, the method further includes determining a volume of the cell in the data grid, based on the difference between points of the damaged vehicle point cloud and points of the reference model point cloud, where the energy of the cell in the data grid is calculated based on the volume of the cell in the data grid; the cell is represented as a three-dimensional trapezoidal prism having four depths, each depth of the four depths representing a difference between a point of the damaged vehicle point cloud and a corresponding point of the reference model point cloud, and the volume of the cell is calculated by determining an average of the four depths, and multiplying the average of the four depths with a height of a base of the three-dimensional trapezoidal prism and a width of the base of the three-dimensional trapezoidal prism.
[0051] It should be appreciated that embodiments of the present disclosure may include a computer system, either a stand along processing or computing device, a networked device comprised of a plurality of computing devices, or a distributed/cloud based computing system for example. An embodiment of a processing system suitable for the present disclosure may be similar to that found in commonly owned PCT Application No. PCT/US2024/023985 filed April 11, 2024 entitled “Predictive Collision Analysis Based On Inputs From A Gaming Controller” the content of which is incorporated by reference in its entirety.
[0052] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be noted that the terms “first”, “second”, “third”, “upper”, “lower”, and the like may be used herein to modify various elements. These modifiers do not imply a spatial, sequential, or hierarchical order to the modified elements unless specifically stated. [0053] Various embodiments are described herein with reference to the related drawings. Alternative embodiments can be devised without departing from the scope of the teachings herein. Various connections and positional relationships (e.g., over, below, adjacent, etc.) are set forth between elements in the following description and in the drawings. These connections and/or positional relationships, unless specified otherwise, can be direct or indirect, and the present embodiments are not intended to be limiting in this respect. Accordingly, a coupling of entities can refer to either a direct or an indirect coupling, and a positional relationship between entities can be a direct or indirect positional relationship. Moreover, the various tasks and process steps described herein can be incorporated into a more comprehensive procedure or process having additional steps or functionality not described in detail herein.
[0054] The following definitions and abbreviations are to be used for the interpretation of the claims and the specification. As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” “contains” or “containing,” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a composition, a mixture, process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but can include other elements not expressly listed or inherent to such composition, mixture, process, method, article, or apparatus.
[0055] Additionally, the term “exemplary” is used herein to mean “serving as an example, instance or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms “at least one” and “one or more” may be understood to include any integer number greater than or equal to one, i.e. one, two, three, four, etc. The terms “a plurality” may be understood to include any integer number greater than or equal to two, i.e. two, three, four, five, etc. The term “connection” may include both an indirect “connection” and a direct “connection.”
[0056] The terms “about,” “substantially,” “approximately,” and variations thereof, are intended to include the degree of error associated with measurement of the particular quantity based upon the equipment available at the time of filing the application. For example, “about” can include a range of ± 8% or 5%, or 2% of a given value. [0057] For the sake of brevity, conventional techniques related to making and using aspects of the embodiments may or may not be described in detail herein. In particular, various aspects of computing systems and specific computer programs to implement the various technical features described herein are well known. Accordingly, in the interest of brevity, many conventional implementation details are only mentioned briefly herein or are omitted entirely without providing the well-known system and/or process details.
[0058] The present embodiments may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present embodiments.
[0059] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non- exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
[0060] Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
[0061] Computer readable program instructions for carrying out operations of the present embodiments may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user’s computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instruction by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present embodiments.
[0062] Aspects of the present embodiments are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
[0063] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
[0064] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
[0065] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardwarebased systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
[0066] The descriptions of the various embodiments have been presented for purposes of illustration but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments described herein.
[0067] While the disclosure is provided in detail in connection with only a limited number of embodiments, it should be readily understood that the disclosure is not limited to such disclosed embodiments. Rather, the disclosure can be modified to incorporate any number of variations, alterations, substitutions or equivalent arrangements not heretofore described, but which are commensurate with the spirit and scope of the disclosure. Additionally, while various embodiments of the disclosure have been described, it is to be understood that the exemplary embodiment(s) may include only some of the described exemplary aspects. Accordingly, the disclosure is not to be seen as limited by the foregoing description but is only limited by the scope of the appended claims.

Claims

CLAIMS What is claimed is:
1. A method of calculating an impact of a vehicle collision, comprising: scanning at least a portion of a vehicle that is damaged with a three-dimensional measurement device to generate a damaged vehicle point cloud; generating a data grid comprising the damaged vehicle point cloud and a reference model point cloud that includes corresponding measurements of an undamaged model of the vehicle; selecting a cell in the data grid; determining within the cell a difference between points of the damaged vehicle point cloud and corresponding points of the reference model point cloud; and calculating an energy of the cell in the data grid, based on the difference, wherein the energy of the cell represents at least a portion of a total impact energy of the vehicle collision.
2. The method of claim 1, further comprising: determining the difference for each cell of the data grid representing the damaged vehicle point cloud and determining the total impact energy of the vehicle collision.
3. The method of claim 1, further comprising: identifying an additional cell in the data grid, the additional cell comprising four comers; determining whether each of the four corners of the additional cell in the data grid has non-empty data; when each of the four corners of the additional cell each have non-empty data, calculating an additional energy of the additional cell; and when at least one comer of the four comers of the additional cell has empty data, determining to not calculate the additional energy of the additional cell in the data grid.
4. The method of claim 1, further comprising filling in gaps of the damaged vehicle point cloud.
5. The method of claim 4, wherein the gaps of the damaged vehicle point cloud are filled using quadtree weighted interpolation.
6. The method of claim 4, wherein filling in gaps of the damaged vehicle point cloud comprises: adding the damaged vehicle point cloud to a representation of a quadtree data structure; creating four comers for each node at each level in the quadtree data structure based on a weighted average of all the data points within each node, wherein weights of the weighted average are applied to each data point within nodes based on their planar distance from at least one of the four corners; determining whether a first node of the quadtree data structure contains valid data for a data point of the damaged vehicle point cloud in each of the four corners; when the node of the quadtree does not contain valid data for each of the four corners, determining whether a second node in the quadtree data structure that is one level above the first node contains valid data; and determining a weighted average for the data point of the damaged vehicle point cloud based on a position of the data point relative to at least one of the four comers of the second node if the second node contains valid data.
7. The apparatus of claim 6, wherein determining whether the node of the quadtree contains valid data for the data point of the damaged vehicle point cloud comprises determining whether a leaf node of the node of the quadtree contains valid data.
8. The method of claim 1, further comprising: creating a graph comprising the difference between each point of the damaged vehicle point cloud and corresponding points of the reference model point cloud; and filling in gaps of the graph using quadtree weighted interpolation.
9. The method of claim 8, wherein filling in the gaps of the graph further comprises: adding the graph to a quadtree data structure; creating four comers for each node at each level in the quadtree data structure based on a weighted average of all the data points within each node, wherein weights of the weighted average are applied to each data point within nodes based on their planar distance from at least one of the four corners; determining whether a node of the quadtree contains valid data for a data point of the graph; determining whether a second node in the quadtree at a level that is one level above the node contains valid data for the data point of the graph when the node does not contain valid data; and determining a weighted average for the data point based on a position of the data point relative to at least one of the four comers of the second node .
10. The method of claim 1, wherein calculating the energy of the cell comprises: multiplying a first stiffness coefficient with an average depth of the cell to obtain a first term; multiplying a square of the average depth of the cell, with one-half a second stiffness coefficient to obtain a second term; multiplying a height of a base of the cell with a width of the base of the cell and the first stiffness coefficient and then dividing by 2 times the second stiffness coefficient to obtain a third term; and calculating the energy of the cell in the data grid as a sum of the first term, the second term and the third term.
11. The method of claim 1 , further comprising: determining a volume of the cell in the data grid, based on the difference between points of the damaged vehicle point cloud and points of the reference model point cloud, where the energy of the cell in the data grid is calculated based on the volume of the cell in the data grid, the cell is represented as a three-dimensional trapezoidal prism having four depths, each depth of the four depths representing a difference between a point of the damaged vehicle point cloud and a corresponding point of the reference model point cloud, and the volume of the cell is calculated by determining an average of the four depths, and multiplying the average of the four depths with a height of a base of the three-dimensional trapezoidal prism and a width of the base of the three-dimensional trapezoidal prism.
PCT/US2025/029763 2024-05-16 2025-05-16 System and method of simulating a crush-zone in a vehicle accident Pending WO2025240859A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202463648306P 2024-05-16 2024-05-16
US63/648,306 2024-05-16

Publications (1)

Publication Number Publication Date
WO2025240859A1 true WO2025240859A1 (en) 2025-11-20

Family

ID=96013322

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2025/029763 Pending WO2025240859A1 (en) 2024-05-16 2025-05-16 System and method of simulating a crush-zone in a vehicle accident

Country Status (1)

Country Link
WO (1) WO2025240859A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160178465A1 (en) * 2014-12-23 2016-06-23 Ccc Information Services Inc. Analyzing A Collision With A Vehicle Having Unknown Damage
EP3264341A1 (en) * 2016-07-01 2018-01-03 United Technologies Corporation Systems and methods for detecting damage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160178465A1 (en) * 2014-12-23 2016-06-23 Ccc Information Services Inc. Analyzing A Collision With A Vehicle Having Unknown Damage
EP3264341A1 (en) * 2016-07-01 2018-01-03 United Technologies Corporation Systems and methods for detecting damage

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAN I ET AL: "Three-dimensional crush scanning methods for reconstruction of vehicle collision accidents", INTERNATIONAL JOURNAL OF AUTOMOTIVE TECHNOLOGY, THE KOREAN SOCIETY OF AUTOMOTIVE ENGINEERS, HEIDELBERG, vol. 17, no. 1, 6 February 2016 (2016-02-06), pages 91 - 98, XP035621827, ISSN: 1229-9138, [retrieved on 20160206], DOI: 10.1007/S12239-016-0008-Y *
SARIC TELJKO ET AL: "Application of photogrammetry in the analysis of vehicle collision processes", INTERNATIONAL SCIENTIFIC JOURNAL "TRANS & MOTAUTO WORLD", 1 January 2022 (2022-01-01), pages 103 - 109, XP093295347, Retrieved from the Internet <URL:https://stumejournals.com/journals/tm/2022/3/103.full.pdf> [retrieved on 20250711] *

Similar Documents

Publication Publication Date Title
Hinks et al. Point cloud data conversion into solid models via point-based voxelization
Duchaineau et al. ROAMing terrain: Real-time optimally adapting meshes
US6262738B1 (en) Method for estimating volumetric distance maps from 2D depth images
Dorninger et al. 3D segmentation of unstructured point clouds for building modelling
Soudarissanane et al. Optimizing terrestrial laser scanning measurement set-up
Truong-Hong et al. Flying voxel method with Delaunay triangulation criterion for façade/feature detection for computation
US20060228019A1 (en) System and method for three dimensional change detection and measurement of a scene using change analysis
CN109816788A (en) A kind of three-dimensional geological object model method based on three-dimensional laser point cloud data
Kada 3D building generalization based on half-space modeling
CN110634187A (en) House point cloud model generation method and device based on house type graph
Rougeron et al. Optimal positioning of terrestrial LiDAR scanner stations in complex 3D environments with a multiobjective optimization method based on GPU simulations
Downs et al. Occlusion horizons for driving through urban scenery
WO2025086839A1 (en) Point cloud data processing method and apparatus, device, medium and computer program product
Fournier et al. Chebyshev polynomials for boxing and intersections of parametric curves and surfaces
US20060176297A1 (en) Apparatus and method for triangulating 3D image and computer-readable recording medium storing computer program for controlling the apparatus
Wujanz et al. Survey configuration for terrestrial laser scanning
JP2019191908A (en) Object recognition device
Ripperda et al. Data driven rule proposal for grammar based facade reconstruction
WO2025240859A1 (en) System and method of simulating a crush-zone in a vehicle accident
Wu et al. An Accurate Error Measure for Adaptive Subdivision Surfaces.
CN117494549B (en) Information simulation display method and system of three-dimensional geographic information system
Marks et al. The IHO-IOC GEBCO Cook Book.
JP4102091B2 (en) Method for determining an image according to the magnitude of a gradient from a range image
Gurram et al. Uniform grid upsampling of 3D lidar point cloud data
US5821942A (en) Ray tracing through an ordered array