System and method for evaluating the performance of a weapon system

09830408 · 2017-11-28

Assignee

Inventors

Cpc classification

International classification

Abstract

A system and method for evaluating the performance of a weapon platform by modeling, simulating, and analyzing all relative aspects of an engagement that would contribute to a fired projectile missing its intended impact point. The present system embodies various aspects as software objects and defines their dependencies and structure using a multi-node tree. The present system uses an imaged based approach to capture the lethality of ammunition, vulnerability of the targets, and results of an engagement scenario. Monte Carlo simulation is used to calculate the outcome statics and to display individual outcomes of the engagement to the user. The resulting product surpasses the capabilities and performance of conventional systems, protects proprietary information, and reduces the amount of time needed to analyze a weapon system.

Claims

1. A method for evaluating the performance of a weapon system in an engagement scenario, comprising: setting up the engagement scenario on a processor; using a visual representation approach to capture the lethality of an ammunition by displaying an effect map array, an impact image, an effect map wherein one or more projectile lethality values are encoded on the effect map array and the effect map, the vulnerability of a target type by displaying a target vulnerability map for a specific target type chosen by a user wherein one or more probability of kill values are visually encoded on the target vulnerability map, and the results of the engagement scenario by displaying one or more aim points, one or more target locations, one or more lethality plots and statistics comprising a value of total repetitions, a value of targets endangered and a value of targets disabled; providing real time visual feedback to a user; and wherein using the visual representation approach further includes visually representing an error budget composed of an error object to a user.

2. The method according to claim 1, further comprising engaging the target until a defined success value is achieved.

3. The method according to claim 1, further comprising creating an error budget, providing error samples, and dynamically calculating the effects on a projectile.

4. The method according to claim 3, further comprising obtaining projectile characteristic data for use in calculating error values.

5. The method according to claim 4, further comprising placing simulated rounds within the engagement scenario.

6. The method according to claim 1, further comprising calculating user selected statistics from a complete engagement scenario.

7. A computer program product comprised of a plurality of instructions codes on a non-transitory computer readable medium, for evaluating the performance of a weapon system in an engagement scenario, comprising: a first set of instruction codes for setting up the engagement scenario on a processor; a second set of instruction codes for using a visual representation approach to capture the lethality of an ammunition by displaying an effect map array, an impact image, an effect map wherein one or more projectile lethality values are encoded on the effect map array and the effect map, the vulnerability of a target type by displaying a target vulnerability map for a specific target type chosen by a user wherein one or more probability of kill values are visually encoded on the target vulnerability map, and the results of the engagement scenario by displaying one or more aim points, one or more target locations, one or more lethality plots and statistics comprising a value of total repetitions, a value of targets endangered and a value of targets disabled; a third set of instruction codes for providing real time visual feedback to a user; and wherein the second set of instruction codes for using the visual representation approach further includes visually representing an error budget composed of an error object to a user.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein:

(2) FIG. 1 is a block diagram that illustrates a conventional architecture of a system for analyzing the performance of a weapon system;

(3) FIG. 2 is an exemplary graph that illustrates the breakdown of the conventional system of FIG. 1 upon reaching a threshold round number;

(4) FIG. 3 is a block diagram that illustrates a high level architecture of a modeling and simulation system for modeling and analyzing the performance of a weapon system according to a preferred embodiment of the present invention;

(5) FIG. 4 is a more detailed block diagram of a target module that forms part of the modeling and simulation system of FIG. 3;

(6) FIG. 5 is a screen shot illustration of a target image and a scoring map generated by the target module of FIG. 4;

(7) FIG. 6 is a more detailed block diagram of a projectile module that forms part of the modeling and simulation system of FIG. 3;

(8) FIG. 7A and FIG. 7B are screen shots illustrating a projectile effectiveness image generated by the target module of FIG. 4;

(9) FIG. 8 is a more detailed block diagram of a scenario module that forms part of the modeling and simulation system of FIG. 3;

(10) FIG. 9A and FIG. 9B are screen shots illustrating a firing scenario setup generated by the scenario module of FIG. 3;

(11) FIG. 10 is a more detailed block diagram of an error budget module that forms part of the modeling and simulation system of FIG. 3;

(12) FIGS. 11A, 11B, 11C, and 11D are screen shots illustrating an error budget structure generated by the error budget module of FIG. 4;

(13) FIG. 12 is a screen shot illustration of a simulation area image generated by the visualization module and statistics generated by the statics module of FIG. 3; and

(14) FIG. 13 is a flow chart that illustrates a method, implemented by the simulation system of FIGS. 3 through 12, for evaluating the performance of the weapon system in an engagement scenario, according to the present invention.

(15) The objects, graphs, and graphics within the screen shots are designated by numeral references that are followed by the letter “A” to correlate the modules or elements bearing the same numeral references and that are respectively associated with such objects, graphs, and graphics.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

(16) The present invention provides a system and associated method (collectively referred to herein as “the method,” “the system,” “the tool,” “the computer program product,” or “the modeling and simulation system”) 10 for modeling and analyzing the performance of a weapon system. FIG. 3 illustrates a high level architecture of the modeling and simulation system 10 according to a preferred embodiment of the present invention.

(17) The system 10 generally includes the following interconnected modules that operate on a computer or processor: a target module 100, a projectile module 200, a scenario module 300, a simulation module 400, an error budget module 500, a statistics module 600, and a visualization module 700.

(18) In general, the target module 100 handles all target related calculations. It provides all target related data to the simulation module 400 and the scenario module 300.

(19) The projectile module 200 handles all projectile related calculations. It provides all projectile related data to the simulation module 400 and the error budget module 500.

(20) The scenario module 300 allows the user to create a scenario within which to test the weapon system, and it further provides the scenario information to the simulation module 400.

(21) The simulation module 400 creates after-action scenarios that can be analyzed or displayed to the user. The simulation module 400 acquires the target parameters, aim points, and firing sequence from the scenario module 300. It also acquires the target information from the target module 100 and places the targets in the scene. It then acquires the projectile information from the projectile module 200 and combines this projectile information with the errors retrieved from the error budget module 500, to place the rounds in the scene.

(22) This complete scene can then be analyzed by the statistics module 600 or interpreted by the visualization module 700 and displayed to the user. The simulation module 400 keeps executing until the user defined goal is achieved. As an example, the user-defined goal can be to simulate a predetermined number of engagements, keep engaging the target until a defined success value is achieved, or a combination of the two.

(23) The error budget module 500 creates an error budget, provides error samples, and calculates the effects on the projectile dynamically. It communicates with the projectile module 300 to obtain projectile characteristic data for its calculations. It also provides its data to the simulation module 400.

(24) The statistics module 600 calculates user selected statistics from the complete scenes created by the simulation module 400.

(25) The visualization module 700 creates images from the complete scenes created by the simulation module 400 and displays them for the user. The user can interact with the scene to obtain further information about objects in the engagement.

(26) The following is a more detailed description of the various modules of the system 10. With reference to FIGS. 4 and 5, the target module 100 includes a digitized target map 101, a digitized target lethality map 102, a target map database 103, and a PKill interpreter 104. The target module 100 serves as a data capsule and communications manager for all data related to the target. The target module 100 provides its data and the analysis mode chosen by the user to the simulation module 400 and scenario module 300.

(27) The digitized target map 101 creates a target image for the specific target chosen by the user from the target database 103. It retrieves the target information, translates this information into a visual representation, calculates the relative target dimensions, and then displays the results to the user. The digitized target map 101 then provides this information to the target module 100 upon request by the simulation module 400 or scenario module 300.

(28) The digitized target lethality map 102 creates a target vulnerability map for the specific target chosen by the user from the target database 103. It retrieves the map information, interprets the probably of kill values, translates these kill values into a visual representation, calculates the relative target dimensions, and displays the results to the user. The digitized target lethality map 102 then provides the lethality map upon request to the simulation module 400.

(29) The images created by the digitized target map 101 are used when setting up a firing scenario in the scenario module 300 and upon displaying a scene to the user in the visualization module 700. The images created by the digitized target lethality map 102 are used by the simulation module 400 to create a specific engagement scenario and by the statistics module 600 to analyze the scenario.

(30) The target map database 103 is a data capsule for holding target maps and vulnerability maps. It provides this data to modules 101 and 102 upon request by the user.

(31) The PKiII interpreter 104 provides the probability of defeating the target based on a specific point on the vulnerability map. It decodes the information encoded into the map, calculates the probably of kill, and provides this information to the user or the simulation area, upon request by either entity.

(32) FIG. 5 is an example implementation of the target module 100. The reference numerals in this example correspond to those in FIG. 4.

(33) With reference to FIGS. 6, 7A, and 7B, the projectile module 200 includes a projectile effects map 201, a firing tables 202, a unit effects table 203, a extended data table 204, projectile effect type switch 205, digitized effect map array 206, impact image 207, effect map 208, PLP to image array creator 209, and a projectile database 210.

(34) The projectile module 200 serves as a data capsule and communications manager for all data related to the projectile. The projectile module 200 further provides its data and the analysis mode chosen by the user to the simulation module 400 and error budget module 500.

(35) The projectile effect map 201 holds an impact image, effect map, and an analysis mode for a user selected projectile and effect type. This data is either provided by the effect map array 206 or by the impact image 207 and effect map 208 modules, depending on the choice made by the user in the projectile effect type selection 205.

(36) This data is provided to the simulation module 400 upon request. Each time the simulation module creates an impact, the data for that impact is provided by this module.

(37) The firing table 202 holds the firing table data loaded from the projectile database 210 for a user specified projectile. It provides this data to the error budget module 500.

(38) The unit effects table 203 holds the unit effects data loaded from the projectile database 210 for a user specified projectile. It provides this data to the error budget module 500.

(39) The extended data table 204 holds the additional projectile data loaded from the projectile database 210 for a user specified projectile. It provides this data to the error budget module 500.

(40) The projectile effect type selection 205 lets users select the type of effect map to use in the simulation, visualization, and statistics modules 400, 600, 700. Depending on which selection is made, either the effect map array 206 will be provided to the projectile effect map 201 or the impact image 207 and effect map 208 will be made available.

(41) The effect map array 206 is an array that holds lethality images for all combinations of range and height that are relative to the engagement. This module includes a display that shows a single image for a selected range and height to the user. The user is also able to use this display to move through the array in real time while observing the effects on the lethality plot. This allows the user to see the evolution of the lethality plot with respect to range and height. Individual images are provided to the projectile effect map 201 upon request.

(42) The PLP to image array converter 209 creates a lethality image array for a user selected Polar Lethality Plot (PLP) file. For each combination of range and height in the PLP data file, this module creates an image based on the data, then encodes the lethality values into the image. It does this for all available range and height values. If needed, it interpolates between images to create the full array. The PLP data is retrieved from the projectile database 210 and the full array is provided to the effect map array 206.

(43) The impact image 207 creates a impact image for the specific impact chosen by the user from the projectile database 210. It provides this information to the projectile effect map 201.

(44) The effect map 208 creates a lethality image for the effect map chosen by the user from the projectile database 210. This module translates the lethality information into a visual representation and provides this information to the projectile effect map 201.

(45) The projectile database 210 holds any information related to the projectile and its effects. It provides this data to the firing table 202, unit effect table 203, extended effects table 204, impact image 207, effect map 208, and PLP to image array converter 209.

(46) The lethality interpreter 211 provides the lethality of a given round against a specific target based on a specific point on the projectile effect map 201. It decodes the information encoded into the map, calculates the lethality, and provides this information to the user upon request.

(47) FIGS. 7A and 7B are exemplary implementations of the projectile module 200. The image presented within illustrates the module as a whole as well as multiple examples of implemented sub modules.

(48) With reference to FIGS. 8, 9A, and 9B, the scenario module 300 includes the following sub modules: scene visualization module 301, aim setup module 302, target setup module 303, error budget visualization module 304, and firing sequence setup module 305.

(49) The scenario module 300 serves as a data capsule and communications manager for all the data related to the engagement scenario. It provides its data to the simulation module 400.

(50) The scene visualization module 301 displays the engagement scenario to the user and lets the user place aim points or targets in the scene. It exchanges information about aim points with the aim setup module 302 and about targets with the target setup module 303. It gets error budget information from the error budget visualization module 304 and draws them over the aim point to show the user where the projectile is likely to land in the scene.

(51) The aim setup module 302 lets the user place aim points in the scene and describes how the simulation module will use the aim points. The aim points can be placed in a specific location in space or they can follow targets. This module provides the aim point coordinates to the simulation module 400 and the scene visualization module 301.

(52) The target setup module 303 lets the user place targets in the scene and specify the random motion of the targets. This information is provided to the simulation module 400, scene visualization module 301, and aim setup module 302.

(53) The error budget visualization module 304 retrieves error budget information from the error budget module 500 and draws it in the scene created by the scene visualization module 301. This allows users to see where the projectiles are likely to land in the scene and how likely they are to hit the target. The error budget visualization module 304 also lets the users compare error budgets by concurrently displaying multiple error budgets.

(54) The firing sequence setup module 305 allows the user to describe how to fire projectile in the engagement. The user can specify how to group the projectiles and what quantity of each group is to be fired at an aim point. This module communicates with the error budget module 500 to obtain top level container information that is used to create the groups of projectiles. The firing sequence is passed to the simulation module 400.

(55) FIGS. 9A and 9B are exemplary implementations of the scenario module 300. The images presented within illustrates the module as a whole as well as multiple examples of implemented sub-modules.

(56) With reference to FIGS. 10 and 11, the error budget module 500 includes an error budget tree 501, an error interface 502, a precompiled error object database 503, an error budget tools module 504, a table tool 505, a line graph tool 506, and a contribution bar graph tool 507.

(57) The error budget module 500 serves as a data capsule and communications manager for all data related to the error budget. It provides its data to the simulation module 400 and the scenario module 300.

(58) The error budget tree 501 is an interactive tool that communicates with the user to create an error budget and with other modules of the system 10 to provide the error budget data on demand. The error budget is structured as a hierarchical tree composed of folders and nodes. A folder is a grouping of nodes and each node is an instantiated error object. Error objects are dynamic black box entities that takes a set of inputs and returns error values.

(59) At each level of the error budget tree 501, the user can specify if the errors should be constant, randomized, or sub sampled. If the errors are constant, then the same value is returned for every sample. Randomized error values return a normally distributed random error value that is the result of the nodes within the folder. If the folder is specified to be sub-sampled, each error in the folder is calculated and sampled at every request. This is necessary for errors that cannot be accurately described by normal distribution or errors that return real world data samples form a data set.

(60) The error budget tree 501 communicates with the projectile module 200 to obtain data needed for error calculations. It provides top level container values to the scenario module 300, and error values to the simulation module 400.

(61) Specifying error objects to be black boxes allows the users to share and to use error objects without revealing how they are implemented, thus protecting proprietary methodologies. Communication between the error objects and the error budget tree 501 is done through the error interface 502, which guarantees that each error object can perform a predetermined set of communication functions.

(62) The error object database 503 holds precompiled error objects. It provides the user selected error objects to the error budget tree 501.

(63) The error budget table tool 504 retrieves error budget data for the selected (single or multiple) entities in the error budget tree 501. The values are presented in a tabular format.

(64) The line graph tool 505 retrieves error data from the error budget table tool 504 and creates line graphs representing the data. The graphs are displayed for the user and are used to illustrate trends.

(65) The contribution bar graph tool 506 retrieves error data from the error budget table tool 504 and creates bar graphs to show how the selected errors contribute to the overall error budget. It displays these bar graphs to the user.

(66) FIGS. 11A, 11B, 11C, and 11D are exemplary implementations of the error budget module 500. The images presented within illustrates this module as a whole as well as multiple examples of implemented sub-modules.

(67) FIG. 12 is an example of a engagement scenario created by the simulation module 400. The image presented is created by the visualization module 700, and the statistics presented within are calculated by the statics module 600.

(68) FIG. 13 illustrates a method 1300 for evaluating the performance of the weapon system in an engagement scenario, according to the present invention. At step 1305, a user sets up the engagement scenario on a processor.

(69) At step 1310, method 1300 uses a visual representation approach to capture the lethality of an ammunition, the vulnerability of a target, and the results of the engagement scenario. In a preferred embodiment, step 1310 of using the visual representation approach includes visually representing an error budget composed of an error object to a user.

(70) At step 1315, method 1300 provides real time visual feedback to the user.

(71) At step 1320, method 1300 repeats the engagement of the target until a defined success value is achieved. At step 1325, method 1300 creates an error budget, provides error samples, and dynamically calculates the effects on the projectile.

(72) At step 1330, method 1300 obtains projectile characteristic data for use in calculating the error values. At step 1335, method 1335, further places the simulated rounds within the engagement scenario, and calculates user selected statistics from a complete engagement scenario.

(73) Embodiments of the present invention can take the form of an entirely hardware embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in hardware. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device, including but not limited to smart phones.

(74) The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.

(75) A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.