Simulation device

The simulation device uses pseudo-rays to generate collision points and reconstruct ray paths, addressing the limitations of conventional ray tracing by reducing computational load and enhancing accuracy in radar simulation.

WO2026141224A1PCT designated stage Publication Date: 2026-07-02DENSO CORP

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
DENSO CORP
Filing Date
2025-12-19
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Conventional ray tracing methods for radar simulation are inadequate in reproducing various reflection paths, particularly for small or distant objects, and result in high computational load due to the need to increase the number of rays, leading to increased processing time and memory usage.

Method used

A simulation device that uses pseudo-rays to mimic radio waves, generating point cloud information of collision points and reconstructing ray paths based on this information to calculate power, thereby reducing computational load while accurately detecting reflections.

Benefits of technology

The simulation device effectively reproduces various reflection paths, accurately detecting objects, including small or distant ones, while minimizing computational load by separating collision point generation and path reconstruction processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025044627_02072026_PF_FP_ABST
    Figure JP2025044627_02072026_PF_FP_ABST
Patent Text Reader

Abstract

This simulation device simulates the path of a radio wave emitted from a radar by using a ray that mimics the radio wave. The simulation device generates point cloud information relating to collision points when the ray collides with objects along a prescribed path. Furthermore, the path of the ray is reset on the basis of the generated point cloud information relating to the collision points. Then, the received power of the radio wave at the collision points is calculated on the basis of the information relating to the reset path.
Need to check novelty before this filing date? Find Prior Art

Description

Simulation device Cross-reference to related applications

[0001] This international application claims the benefit of Japanese Patent Application No. 2024-232485, filed with the Japan Patent Office on December 27, 2024, the entire disclosure of which is incorporated herein by reference.

[0002] This disclosure relates to the technology of radar simulation.

[0003] As an effort to accelerate the development of sensors (i.e., ADMS sensors) used in vehicle driving support, there are increasing numbers of simulators that reproduce the propagation of radio waves and light through computer simulation and virtually reproduce the reception by the sensors. ADMS is an abbreviation for Advanced Driver Monitoring System.

[0004] Among ADAMS sensors, in the case of radar, a calculation method based on ray tracing is known, which is a method of obtaining the propagation path by regarding radio waves as light and simulating the state of radio waves flying through space (see, for example, Patent Document 1).

[0005] U.S. Patent Application Publication No. 2023 / 0099845

[0006] The following problems have been found with respect to the above-described conventional technology.

[0007] In radar, it is required to reproduce the power that has passed through a plurality of roads, walls, other vehicles, etc., but the conventional ray tracing-based method is not sufficient.

[0008] Specifically, in the conventional technology, although the power passing through the road surface, which is known to be a problem in current radars, may be solved, other unexpected reflections cannot be detected. Also, since the reflection directions are discrete, the accuracy of multipaths hitting small or distant objects is low.

[0009] In other words, conventional ray tracing has the problem that it can only consider reflections in limited directions, such as specular reflection, and cannot reproduce various reflection paths. Furthermore, there is the problem that multipath tracing may not be formed depending on the relative positions of objects. Moreover, simply increasing the number of ray rays used in ray tracing to address these problems increases the computational load.

[0010] Furthermore, while various simulation methods other than ray tracing are known, each has its own problems (for example, high computational load) and is not necessarily preferable.

[0011] One aspect of this disclosure is the desire to provide a technology that can reproduce various reflection paths that allow recognition of various objects in a simulation device, while minimizing computational load.

[0012] One aspect of this disclosure relates to a simulation device that simulates the path of radio waves emitted from a radar using a pseudo-ray that mimics the radio waves.

[0013] This simulation device comprises a collision information generation unit, a path reconfiguration unit, and a power calculation unit.

[0014] The collision information generation unit is configured to generate point cloud information of collision points when the pseudo-ray collides with an object along a predetermined path.

[0015] The path resetting unit is configured to reset the path of the pseudo-ray based on the point cloud information of the collision points generated by the collision information generation unit.

[0016] The power calculation unit is configured to calculate the power of the radio waves at the collision point based on the route information reset by the route reset unit.

[0017] With this configuration, this disclosure provides a technology that allows the simulation device to reproduce various reflection paths that can recognize various objects, while minimizing computational load.

[0018] In this disclosure, first, information such as material and geographical location (e.g., coordinates) is obtained at each collision point in the path of the pseudo-ray. Based on the point cloud of collision points from which information has been obtained, the path of the pseudo-ray is reset, and the power of the radio waves at the collision points is calculated based on the information of the reset path (i.e., the distance of the path and information of the collision points).

[0019] In other words, instead of calculating the power of each ray path individually, as in the conventional method, information about the collision points is first collected, and based on that information, the ray path is reconstructed according to predetermined conditions (for example, a predetermined angular range relative to the reflection direction), and the power of the radio waves is calculated based on that reconstructed path.

[0020] Conventionally, power calculations are performed while collision calculations are being carried out using simulations with pseudo-rays (i.e., ray tracing), making it impossible to calculate power for paths that cannot be constructed by ray tracing. However, this disclosure does not have such limitations.

[0021] Therefore, this disclosure not only allows for the calculation of paths between any objects, but also enables processing during ray tracing in a suitable manner (i.e., with a low computational load). Furthermore, since collision point information calculated by other rays can be used in the reconstruction of paths, it is possible to accurately detect collisions between objects based on the reconstructed paths.

[0022] This is a block diagram showing the configuration of the simulation device of the first embodiment. This is an explanatory diagram showing the manually operable control section on the display screen of the display device. This is an explanatory diagram explaining a basic ray tracing method. This is a flowchart showing the processing in basic ray tracing. This is a plan view explanatory diagram showing a characteristic path of a ray. This is a plan view explanatory diagram showing another characteristic path of a ray. This is an explanatory diagram showing problems when the target object is small or far away. This is a plan view explanatory diagram showing an example of the reflection state of a ray emitted from radar. Figure 9A is a plan view explanatory diagram showing the reflection state of a ray in the first embodiment, Figure 9B is a plan view explanatory diagram showing the position of the reflection point in Figure 9A, and Figure 9C is a flowchart showing the overall processing of the first embodiment. Figure 10A is a plan view explanatory diagram showing an example of a path reconstructed from point cloud information, and Figure 10B is a plan view explanatory diagram showing another example of reconstructing a path from point cloud information. Figure 11A is a plan view diagram illustrating an example of connecting a selected point to all other points, Figure 11B is a plan view diagram illustrating an example of connecting a point cloud within a predetermined range in the specular direction from a selected point, Figure 11C is a plan view diagram illustrating an example of connecting points with a large influence as multipaths from a selected point, and Figure 11D is a plan view diagram illustrating an example of connecting peripheral paths in the direction of reversing the incident direction. Figure 12A is a plan view diagram illustrating the reflection state of rays in the first process of the embodiment, and Figure 12B is a flowchart illustrating the processing per ray in the first process of the embodiment. Figure 13A is a plan view diagram illustrating the reflection state and collision points of rays in the second process of the embodiment, and Figure 13B is a flowchart illustrating the second process of the embodiment. In the first embodiment, this is a diagram illustrating the state in which a ray collides with a target object when the target object is small or far away. Figure 15A is a plan view diagram illustrating the reflection state and collision points of rays in the second process of the second embodiment, and Figure 15B is a flowchart illustrating the second process of the second embodiment. Figure 16A is an explanatory diagram showing a state in a conventional example where the ray reflection path increases rapidly, and Figure 16B is an explanatory diagram showing a state where memory increases rapidly in response to the increase in the ray reflection path. Figure 17A is an explanatory diagram showing the state of ray reflection in the second embodiment, and Figure 17B is an explanatory diagram showing the state of memory increase in response to the increase in the ray reflection path. In the third embodiment, there is an explanatory diagram illustrating the ghost path.

[0023] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the drawings.

[0024] [1. First Embodiment] [1-1. Overall Configuration] As shown in Figure 1, the simulation device 1 of this first embodiment is a simulator that simulates the operation of a radar mounted on a vehicle such as an automobile.

[0025] The simulation apparatus 1 of this first embodiment is an electronic processing device that uses well-known ray tracing technology, and comprises a display unit 3, an operation input unit 5, a data storage unit 7, a data input / output unit 9, and a control unit 11.

[0026] The display unit 3 comprises a display device 13 and a display control unit 15 that controls the operation of the display device 13, and displays various images and the like on the display screen 14 (see Figure 2) of the display device 13. For example, it displays simulated rays and various operation screens, which will be described later. The display unit 3 also has so-called GUI functionality. GUI stands for Graphical User Interface.

[0027] Furthermore, the display screen 14 can display the first setting section 14a, the second setting section 14b, and the third setting section 14c, which can be configured manually as described later.

[0028] The operation input unit 5 outputs input operation information to identify the input operations performed by the user via a keyboard and mouse (not shown). Alternatively, the display device 13 may be equipped with touch panel functionality and serve as the operation input unit 5.

[0029] The data storage unit 7 is a memory device for storing various types of data.

[0030] The data input / output unit 9 performs data input and output with external devices connected via wired or wireless connection.

[0031] The control unit 11 is primarily composed of a microcomputer equipped with a CPU 21, ROM 23, RAM 25, etc. The various functions of the microcomputer are realized by the CPU 21 executing a program stored in a non-transitional physical recording medium. In this example, the ROM 23 corresponds to the non-transitional physical recording medium that stores the program. Furthermore, the execution of this program executes a method corresponding to the program. Note that some or all of the functions executed by the CPU 21 may be configured in hardware using one or more ICs, etc. Also, the number of microcomputers constituting the control unit 11 may be one or more.

[0032] ROM23 stores the simulation program. The simulation program may be pre-installed on the simulation device 1, or it may be installed via a recording medium or network. Examples of recording media include optical discs, magnetic discs, and semiconductor memory.

[0033] In this example, a CPU 21 is used to represent the configuration for the calculations performed by the control unit 11, but a GPU capable of parallel execution of calculations such as pseudo-ray calculations may also be used. Furthermore, both a CPU 21 and a GPU may be provided. In that case, both the CPU 21 and the GPU may be equipped with ROM and RAM, respectively. GPU stands for Graphics Processing Unit.

[0034] [1-2. Basic Configuration of Ray Tracing] <Outline of Ray Tracing> In this first embodiment, the ray tracing method (i.e., ray tracing method) is used to simulate the path and power of radio waves, so first, the basic configuration will be explained.

[0035] As is well known, ray tracing uses a geometric optics approximation to treat radio waves as light, that is, it uses pseudo-rays (hereinafter referred to as "rays") that simulate radio waves to simulate the propagation path of radio waves and to determine the received power of the radio waves.

[0036] In particular, in the case of radar, the simulation device 1 emits rays from the radar that simulate radar waves, and estimates the paths of reflected waves when these rays hit walls, other vehicles, etc. Furthermore, it calculates the received power of the radio waves received by the radar (i.e., the radio waves corresponding to the rays) when the reflected waves, which are formed when the rays emitted from the radar hit walls, other vehicles, etc., are incident on the radar. In particular, since the power of radio waves is attenuated along the propagation path and at reflection points, the power of the radio waves received by the radar can be calculated by taking this attenuated power into consideration.

[0037] In other words, the simulation device 1 can simulate rays emitted from a radar, repeatedly reflecting off 3D-shaped objects placed in three-dimensional space (i.e., 3D space), and returning to the radar from the reflection points. Therefore, it is possible to calculate the power of the radio waves corresponding to the rays from the time they are emitted from the radar until they return to the radar (i.e., the received power).

[0038] The following describes the basic procedure of ray tracing in detail, using the configuration shown in Figure 3.

[0039] Here, we consider a case where a vehicle (for example, the vehicle itself) C1 emits multiple rays, which are simulated radar waves, from its radar R in a predetermined direction (for example, in front of the vehicle C1).

[0040] In Figure 3, solid and dashed lines with arrows represent the direction and path of rays. Circles marking the bends in the rays indicate the reflection points, which are the points of impact. Here, the transmission direction is the direction in which the ray is emitted from radar R (i.e., the projection direction), and the reception direction is the direction in which the ray enters radar R.

[0041] For example, when a ray is emitted in a certain transmission direction, the ray is reflected at a reflection point P1 on the ground, changes direction, and is reflected at a reflection point P2 on a vehicle (e.g., another vehicle) C2 in front. The ray reflected at reflection point P2 is reflected in a predetermined direction depending on the orientation of the surface it collided with (i.e., the reflective surface). For example, it may be reflected in the direction into which it entered the radar R, or in the reflection direction shown in Figure 3.

[0042] <Processing per Ray> Next, the processing per ray performed by the simulation device 1 will be described.

[0043] As shown in the flowchart of FIG. 4, first, in step (hereinafter, 100), the initial direction for emitting a ray is determined.

[0044] Next, the loop processing of S110 to S170 below is performed.

[0045] In S110, in order to repeat the processing up to S170 for the number of reflections, the number of reflections (that is, ref_num) is defined. The number of reflections can be defined up to N times. N is a positive integer.

[0046] In S120, the ray is emitted in the determined direction (that is, the ray is projected in a predetermined direction).

[0047] In the subsequent S130, it is determined whether the emitted ray collides. If an affirmative determination is made here, the process proceeds to S140, while if a negative determination is made, this process is terminated once.

[0048] In S140, the power of the radio wave (for example, received power) corresponding to the ray at the collision position (for example, the position of the reflection point P1 in FIG. 3) is calculated.

[0049] For example, the power of the radio wave (that is, radar wave) attenuates according to the distance of the path from the radar R to the collision position (that is, propagation distance), and the power of the radio wave also attenuates depending on the material of the collision surface at the collision position and the like. That is, since the power of the radio wave emitted from the radar R attenuates according to the path and the collision surface, the received power of the radio wave at the collision position is calculated in consideration of the attenuation amount of the power of the radio wave. That is, the received power of the radio wave at the collision position is the power of the radio wave at the time of emission reduced by the attenuation amount.

[0050] In the subsequent S150, the received power of the radio wave calculated in S140 is written into the output memory (for example, RAM 25) used when outputting data.

[0051] In the subsequent S160, the reflection direction of the ray reflected at the collision position (for example, P1 in FIG. 3) is determined. For example, when the ray specularly reflects on the ground, that direction is taken as the reflection direction.

[0052] In the subsequent S170, it is determined whether the processes in S110 to S170 have been repeated for the specified number of reflections (i.e., whether the loop process described above has been completed). If the determination is positive, this process is terminated; however, if the determination is negative, the process returns to S110 and the loop process is executed.

[0053] <Characteristic Ray Paths> Next, characteristic ray paths will be explained based on Figures 5 and 6. The direction of the rays is indicated by solid arrows.

[0054] Figure 5A shows the path (i.e., the direct wave path) of a ray emitted from the radar R of vehicle C1, reflected by another vehicle C2 in front of it, and returning directly to the radar R of vehicle C1.

[0055] Figure 5B shows the path of a ray emitted from the radar R of vehicle C1, which hits the side of the wall W, reflects off that wall, is reflected by another vehicle C2, and returns to the radar R of vehicle C1. Such polygonal (e.g., triangular) paths of rays may be referred to as polygonal wave paths below.

[0056] Figure 5C shows the path of the polygonal wave in the opposite direction to that shown in Figure 5B (i.e., the inverted path). Specifically, it shows the path of a ray emitted from the radar R of vehicle C1, which hits another vehicle C2 in front and is reflected, and then the reflected wave hits the side of the wall W to the side and is reflected back to the radar R of vehicle C1 (i.e., the reverse path of the polygonal wave).

[0057] Figure 5D shows an example of the path of a reflection, also known as a ghost wave. For example, consider a path in which a ray emitted from the radar R of vehicle C1 hits the side of a nearby wall W and is reflected, that reflected wave is reflected by another vehicle C2, and that reflected wave hits the side of wall W and is reflected again, returning to the radar R of vehicle C1.

[0058] In this case, the reflected wave from the other vehicle C2 returns to the own vehicle C1 from the wall W, so the radar R sees the reflected wave from the other vehicle C2 returning via the dashed line path K2, which is an extension of the ray path K1 returning from the truck C3 to the own vehicle C1. Therefore, in this case, the other vehicle C2g shown by the dashed line in Figure 5D becomes a ghost that does not actually exist.

[0059] Figure 6A, similar to Figure 5A (except assuming there is no wall W), shows the path (i.e., the direct wave path) of a ray emitted from the radar R of vehicle C1, reflected by another vehicle C2 in front, and returning directly to the radar R of vehicle C1.

[0060] Figure 6B shows the path of a ray emitted from the radar R of vehicle C1, which hits another vehicle C2 to the right and in front, reflects off that reflection, is then reflected again by another vehicle C4 to the left, and returns to the radar R of vehicle C1.

[0061] Figure 6C shows a path that is the reverse of the path shown in Figure 6B. Specifically, it shows the path where a ray emitted from the radar R of vehicle C1 hits another vehicle C4 to the left front and is reflected, and the reflected wave hits another vehicle C2 to the right and is reflected, returning to the radar R of vehicle C1 (i.e., the reverse path of the polygonal wave).

[0062] Figure 6D shows the path of a ray emitted from the radar R of vehicle C1, which hits another vehicle C4 to the left front and is reflected, the reflected wave hits another vehicle C2 to the right and is reflected, the reflected wave hits yet another vehicle C4 and is reflected again, and returns to the radar R of vehicle C1.

[0063] Figure 6E shows the path of a ray emitted from the radar R of vehicle C1, which hits another vehicle C2 to the right front and is reflected, then the reflected wave hits another vehicle C4 to the left and is reflected, then the reflected wave hits another vehicle C2 again and is reflected, and returns to the radar R of vehicle C1.

[0064] <Challenges in Ray Paths> Next, we will explain the challenges in ray path paths.

[0065] (1) The paths shown in Figures 6B, 6C, 6D, and 6E cannot be addressed by the technology described in Patent Document 1.

[0066] (2) Also, as shown in Figure 7, consider the case where a ray emitted from the vehicle C1 is reflected by the wall W (i.e., the reflection points P3 and P4) and reflected, for example, in the mirror direction (i.e., the case of multipath).

[0067] Normally, multipath ray reflections consist of one to several rays. Therefore, if the target object T1 detected by radar R is far away or small, the rays may not collide with the target object T1. In this case, the received power of the radar wave at the collision point cannot be calculated.

[0068] (3) In ray tracing, the path of a ray is followed, and each time a reflection occurs, the direction of the ray is updated to the direction of the reflection. However, processes that increase the number of rays when a reflection occurs (for example, the process of increasing the number of rays at reflection point P5 in Figure 8) are not usually performed because the computational complexity would explode.

[0069] For example, ray tracing often determines the direction of ray reflection based on the shape of the object. Normally, rays are reflected in a direction where the angle of incidence to the surface is equal to the angle of reflection, but depending on the shape of the object, paths like those shown in Figures 5 and 6 may not be generated.

[0070] In reality, since radio waves are waves, they reflect in directions other than the angle of incidence and the angle of reflection. However, reflecting radio waves in multiple directions is computationally intensive and undesirable.

[0071] For example, if two rays are generated with one reflection, then after five reflections, two rays will be cast. 5 This results in a large amount of data. Moreover, in general, ray tracing takes time for collision detection, which calculates whether a ray collides with an object. Therefore, simply calculating all possible paths increases the processing load, leading to increased memory usage and computation time.

[0072] Therefore, it is preferable to take measures to reduce the processing load of calculations, as shown below.

[0073] [1-3. Main parts of this embodiment] Next, the configuration of the main parts of this embodiment will be described with reference to Figure 9.

[0074] In this embodiment, the generation of ray collision points (i.e., generation of a point cloud of collision points), the setting of ray paths based on the data of those collision points, and the calculation of the radio wave power corresponding to the ray are performed separately.

[0075] In particular, this embodiment is characterized by a configuration in which, for a large number of (e.g., all) rays emitted from radar R, a point cloud of collision points is first generated, and then, based on the information in this point cloud of collision points, the ray paths are reconfigured and the received power of radio waves along the reconfigured paths is calculated.

[0076] Next, the configuration of the main parts of this embodiment will be described in detail with reference to Figure 9.

[0077] First, consider the case where the radar R of vehicle C1 emits multiple rays, for example, in the direction of a side wall W, as shown in Figure 9A. In this case, each ray is reflected by the wall W, and the reflected waves are reflected by other vehicles C2. The rays reflected by other vehicles C2 are reflected in their respective directions, and some may be reflected again by the wall W.

[0078] Furthermore, in Figure 9B, the collision points (i.e., reflection points) of each ray are indicated by circular marks. Figure 9B also illustrates some of the rays in the reconstructed network, as described later.

[0079] Next, the basic processing procedure for the essential parts of this embodiment will be explained based on Figure 9C.

[0080] As shown in the flowchart in Figure 9C, first, in S200, the initial direction of the ray is determined.

[0081] In the subsequent S210, a point cloud of collision points (i.e., reflection points) is generated using ray tracing. That is, as shown in Figure 9A, when rays are sequentially emitted from the radar R of the vehicle C1, the rays collide with walls W and other vehicles C2 and are reflected. Therefore, as indicated by the circular marks in Figure 9B, a point cloud is generated with each reflection point of each ray as the individual point. Note that the calculation of reflection points continues until a specified number of reflections have been completed for each ray.

[0082] Figure 9B illustrates a portion of the reconstruction of the point cloud and ray paths of the reflection points. In the following, when referring to reflection points collectively, only "P" may be used in figures and other diagrams.

[0083] Then, upon collision, material information and geographical information (e.g., coordinates and normal direction) for each reflection point (i.e., location) are output. The presence or absence of obstructions in the ray's path is also output. Furthermore, if Doppler calculation is required for other vehicles C2, for example, when other vehicles C2 are in motion, the velocity information of other vehicles C2 at the time of collision (e.g., velocity vector) is also output. The information obtained as described above is then stored in output memory (e.g., RAM 25). Note that the power of the radio waves at the reflection points is not calculated at this point.

[0084] Furthermore, the various types of information regarding the reflection points, etc., mentioned above are stored in the device's memory (for example, RAM 25 or other memory) as data for a 3D model set in the simulation device 1. This data is read and stored in the output memory as information regarding the reflection points, etc.

[0085] In the subsequent S220, a point cloud is generated using ray tracing, and then the path is reconstructed using that point cloud. In normal ray tracing, path reconstruction is not performed in order to reduce the amount of data and speed up the calculation process, but in this embodiment, the path is reconstructed, for example, by a method that will be described in detail later with reference to Figures 10 and 11.

[0086] When reconstructing the path, you can refer to the original path, but you can also ignore the path obtained by ray tracing and construct the network using other reflection points that have a significant multipath effect, such as those near the reflection direction and at close distance. Alternatively, you can form a network using multiple point clouds.

[0087] For determining the direction and distance of reflection at this stage, the spatial partitioning structure used in ray tracing to speed up calculations can be reused. Alternatively, a unique structure for accelerating point cloud search may be used. For example, by utilizing known data structures that can speed up spatial search, such as Sparse Voxel Octree, it is possible to reconstruct paths at a speed comparable to ray tracing.

[0088] In the subsequent S230, the received power of the radio waves at the collision point is calculated based on the reconstructed path information. If Ray is input to radar R, the received power of the radio waves at radar R is calculated.

[0089] [1-4. Method for reconstructing paths from point cloud information and calculating power] Next, we will explain how to reconstruct paths from the point cloud information of reflection points and calculate power from the reconstructed paths.

[0090] As shown in Figure 10A, consider the case where a ray is emitted forward from the radar R of the vehicle C1.

[0091] First, a point that could be the first collision point is selected from the point cloud information generated by ray tracing (for example, the information of reflection point P shown by the circle in Figure 10A). Also, as shown by the dashed line in Figure 10A, the processing of reflection point P5, which has been determined to be obstructed between it and radar R during the ray tracing process, is skipped (i.e., no calculations or output processing of data related to reflection point P5 are performed).

[0092] Next, the power returned to radar R from the selected collision point is calculated from the collision point data, which includes the material of the collision point, the location of the collision point (e.g., coordinates), and the normal vector on the collision surface. When radar R calculates the Doppler frequency, it also needs speed information from other vehicles C2, so the speed data saved for the collision point is also used.

[0093] Next, as shown in Figure 10B, a path is selected to propagate from the chosen collision point to one or more other point clouds. This method will be explained in detail later based on Figure 11.

[0094] In this process, it is necessary to calculate whether there are any obstructions between the collision point and other points. However, calculations related to obstructions can be performed quickly using data structures widely used in ray tracing, such as BVH or Sparse Voxel Octree.

[0095] Furthermore, as shown by the range H1 indicated by numerous dots in Figure 10B, the magnitude of reflected power differs depending on the direction of propagation. That is, radio waves have attenuation directivity, but they do not attenuate much in the direction of the mirror surface. Note that the range H1 schematically shows the magnitude of the reflected radio wave power.

[0096] Therefore, based on the material, normal, and incident angle at the collision point, the amount of attenuation of the radio waves due to the reflective surface in each propagation direction is calculated. Furthermore, since radio waves attenuate with respect to the propagation distance, the amount of attenuation due to the radio waves propagating through space is calculated according to the distance to the next collision point. Then, based on the attenuation at the collision point and the attenuation along the propagation path, an overall attenuation is obtained (for example, by multiplying both attenuations to obtain the overall attenuation), and the power of the radio waves is calculated.

[0097] Then, for the next collision point, the calculations related to radio wave attenuation described above are performed. Note that the number of reflections is predetermined (for example, 2 to 5 times), so the calculations are repeated for that specified number of times.

[0098] [1-5. How to set a path from a collision point to another point cloud] Next, we will explain how to select a ray path that extends from a selected collision point (i.e., a reflection point) to another collision point (i.e., a reflection point or point cloud).

[0099] (1) As shown in Figure 11A, one possible method is to connect paths from the selected collision point (reflection point P6) to all other collision points. However, this method is highly accurate but computationally intensive. Therefore, in this embodiment, it is preferable to adopt the method shown in Figures 11B to 11D below.

[0100] (2) As shown in Figure 11B, one method is to connect paths from the selected collision point (reflection point P6) to points (reflection points P7, P8) that are not obstructed, among the point cloud of reflection points reflected within an angular range H2 that can be considered to be the approximate mirror direction. Note that range H2 is a range that is less than or equal to a predetermined angle from the mirror direction.

[0101] This method has the advantage of being able to reproduce how radio waves propagate over a wide area as waves rather than as light rays, and it can also be calculated relatively quickly.

[0102] (3) As shown in Figure 11C, one method is to connect a path from the selected collision point (reflection point P6) to the collision point (reflection point P9) that is closest to the mirror surface direction and has no obstructions, i.e., a collision point that has a large impact as a multipath.

[0103] This method significantly reduces the computational load of a single ray. Furthermore, by increasing the number of rays emitted, it is possible to solve the problem of not being able to detect an object unless a ray collides with it.

[0104] (4) As shown in Figure 11D, instead of using only the mirror surface direction as a reference as in methods (2) and (3) above, a direction can be considered in which the path is connected to a predetermined range in the direction that reverses the direction of incidence (for example, a predetermined angle range H3). That is, a similar method can be considered for connecting paths to reflection points around the collision point (reflection point P6) which has a large impact as a multipath. In this case, for example, it is possible to reproduce so-called ghost waves based on the path that returns from the collision point (reflection point P6) to the radar R of the vehicle C1.

[0105] Furthermore, range H4 represents the range that connects the paths when the reflection occurs again at the collision point (reflection point P10) of another vehicle C2, for example, a range of predetermined angles centered on the direction of specular reflection at reflection point P10.

[0106] [1-6. Examples] Next, examples will be described based on Figures 12, 13, etc.

[0107] <Processing of generating collision points> First, let's explain the process of generating collision points.

[0108] This collision point generation process (i.e., the first process) describes the process of generating a collision point for each ray. In reality, multiple rays are usually emitted, so this first process is repeated for each ray.

[0109] As shown in the flowchart of Figure 12B, similar to the process in S100 of Figure 3, first, in S300, the initial direction of the ray is determined.

[0110] Next, the following loop processing from S310 to S370 is performed.

[0111] In S310, similar to S110, the number of reflections is defined in order to repeat the process up to S370 for the number of reflections.

[0112] In S320, a ray is fired in a predetermined direction, similar to S120.

[0113] In the subsequent step 330, similar to step S130, it is determined whether the ray collides with the object and reflects. If the result is positive, the process proceeds to step S340; however, if the result is negative, this process is temporarily terminated.

[0114] In S340, the material and geographic information of the collision point are output. Geographic information includes the coordinates of the collision point and information on the normal vector of the surface (i.e., plane) that constitutes the collision point.

[0115] In the subsequent S350, it is determined whether there are any obstructions between the collision point (i.e., the collision location) and the radar R of the vehicle C1 that would obstruct the ray's path, and the determination result is output. If there are obstructions, the ray will not reach the collision location, so information about the collision point (i.e., material and geographical information, etc.) is not output.

[0116] In the subsequent S360, the ray direction after reflection is determined, similar to S160. Note that this process does not calculate power such as the received power of the radio waves at the collision point.

[0117] In the subsequent S370, it is determined whether the processes in S310 to S370 have been repeated for the specified number of reflections (i.e., whether the loop process described above has been completed). If the determination is positive, this process is terminated; however, if the determination is negative, the process returns to S310 and the loop process is executed.

[0118] <Power Calculation Process> Next, we will explain the power calculation process.

[0119] This power calculation process is the process of calculating the power of radio waves when the network is reconstructed (i.e., the second process).

[0120] This second process is performed after ray tracing has been performed in the first process and information on all collision points (i.e., point cloud information of collision points) obtained for all rays emitted from radar R has been acquired.

[0121] As shown in the flowchart in Figure 13B, the processing of the first loop from S400 to S490 below is performed.

[0122] In S400, the number of processing steps (i.e., k) is specified so that the processing up to S490 is repeated for all point clouds obtained in the first ray tracing process. The number of processing steps can be specified up to M times, which is the number of points in the point cloud. k and M are positive integers.

[0123] In S410, the k-th collision point (for example, one of the collision points where the first object hits wall W) is selected.

[0124] Next, the processing of the second loop, from S420 to S480, is performed.

[0125] In S420, similar to S110, the number of reflections (i.e., ref_num) is defined in order to repeat the process up to S480 for the number of reflections. The number of reflections can be defined up to N times, where N is a positive integer.

[0126] In S430, at the k-th collision point, the process selects the point closest to the direction of specular reflection from that collision point. That is, if a ray is reflected at a certain collision point and there are multiple points that reach the next collision point from that collision point, the process selects the next collision point that is closest to the direction of specular reflection at the current collision point.

[0127] Furthermore, a distance condition may be added here. For example, the next collision point may be selected if the distance between a given collision point and the next collision point is within a predetermined value.

[0128] In S440, it is determined whether or not there is a point cloud in the vicinity of the direction of specular reflection (for example, within a predetermined angle from the direction of specular reflection). If the determination is positive, the process proceeds to S450; if the determination is negative, the process proceeds to S490.

[0129] In other words, the process in S440 is to select the point closest to the direction of specular reflection if there is a point cloud in the direction of specular reflection when making the selection in S430, but to skip the subsequent processing if there is no such point cloud. Figure 13A illustrates the ray path connecting the point closest to the direction of specular reflection.

[0130] In S450, it is determined whether or not there is an obstruction between the radar R of the vehicle C1 and the point of collision. If the determination is positive, the process proceeds to S480; if the determination is negative, the process proceeds to S460.

[0131] In S460, the received power of radio waves at the collision point is calculated based on the material and geographical information of the collision point.

[0132] In the subsequent step S470, the received power of the radio waves is stored in the output memory (for example, RAM 25).

[0133] In the subsequent S480, it is determined whether the processes in S420 to S480 have been repeated for the specified number of reflections (i.e., whether the processing of the second loop described above has been completed). If the determination is positive, the process proceeds to S480; on the other hand, if the determination is negative, the process returns to S420 to perform the processing of the second loop.

[0134] In S490, it is determined whether the processes in S400 to S490 have been repeated the specified number of times (i.e., for all the point clouds) (i.e., whether the processing of the first loop described above has been completed). If the determination is positive, this process is terminated. On the other hand, if the determination is negative, the process returns to S400 and the processing of the first loop is performed.

[0135] As described above, in this second process, for each collision point obtained by ray tracing, a path reconstruction is performed for each reflection. Specifically, since collision points obtained by ray tracing usually return strong reflections in the direction of the mirror surface, another point cloud in the vicinity of that direction is searched for. Then, a path is set for the point cloud that is closest to the mirror surface direction and also the closest in distance. Then, along the set path, the received power of radio waves at collision points, etc., is calculated based on the material information and geographical information of the reflection points. Note that in the second process, it is determined whether or not there are obstacles in the way of the path, but this determination can be omitted.

[0136] Thus, in this second process, based on the data of collision points of multiple rays obtained by the first process described above, the ray paths can be reconstructed (i.e., the ray network can be reconstructed), and the received power of the radio waves can be calculated based on the reconstructed network.

[0137] In other words, once the ray tracing process is complete, a point cloud is obtained with a large number of rays generated, but other rays cannot be referenced during ray tracing. However, as mentioned above, by performing the first and second processes separately (i.e., separating the first and second processes), it becomes possible to reference the point cloud information of other rays, retrace a single path, or change the order of collisions.

[0138] Furthermore, in this first embodiment, the network can be reconstructed by referencing collision point data of other rays based on the data of many collision points obtained by the first processing. Therefore, as shown in Figure 14, paths to target objects T1, such as small objects or distant objects, can be generated more accurately than before.

[0139] [1-5. Effects, etc.] According to this first embodiment, the following effects can be obtained.

[0140] (1a) In this first embodiment, first, each collision point in the path of each ray is determined, and information such as material and geographical information (i.e., collision point information) at each collision point is obtained. Then, the ray path is reset based on the point cloud of collision points, and the received power of radio waves at the collision points is calculated based on the information of the reset path (i.e., the distance of the path and collision point information, etc.).

[0141] In other words, instead of calculating the power of each ray path individually, as in the conventional method, information about the collision points is first collected, and based on that information, the ray path is reconstructed according to predetermined conditions (for example, a predetermined angular range relative to the reflection direction), and the power of the radio waves is calculated based on that reconstructed path.

[0142] Conventionally, power calculations are performed while collision calculations are being performed using ray tracing, making it impossible to calculate power for paths that cannot be constructed using ray tracing. However, in this first embodiment, there is no such limitation.

[0143] Therefore, in this first embodiment, not only can paths be calculated between any objects, but processing during ray tracing can be performed suitably (i.e., with a low computational load). Furthermore, since collision point information calculated by other rays can be used in path reconstruction, it is possible to accurately detect collisions of the target object T1 based on the reconstructed path.

[0144] (1b) In this first embodiment, material and geographical information can be generated as information for each collision point. Then, the ray path can be reconfigured based on the point cloud of collision points corresponding to such information.

[0145] Furthermore, information regarding the material and geography of the collision point is pre-stored in memory as data for the models of the wall W and other vehicles C2 of the simulation device 1. Therefore, it is possible to acquire data on the collision point of the aforementioned models as collision point information.

[0146] (1c) In this first embodiment, when a ray is reflected at one collision point and reaches another collision point, the first condition is that the ray is within a predetermined angular range in the direction of reflection, and the second condition is that the ray is within a predetermined distance from the collision point. Other collision points that satisfy at least the first condition can be extracted, and the path can be reconfigured based on the information of the extracted other collision points.

[0147] (1d) In this first embodiment, when resetting the path of Ray, it is configured so that the conditions for resetting the path can be set manually.

[0148] For example, as shown in Figure 2, the display screen 14 of the display device 13 may be provided with a first setting unit 14a that allows the conditions to be set manually. The conditions can be set by operating this first setting unit 14a with a mouse or the like.

[0149] (1e) In this first embodiment, the information of the collision point includes information about the material of the collision point, information about the normal at the collision point in the plane containing the collision point, and information about the velocity vector of the collision point (for example, the collision point of another vehicle C2).

[0150] (1f) In this first embodiment, the system is configured to enable or disable the function that performs the processing in the above embodiment (for example, processing to reset the path based on the point cloud information of collision points).

[0151] For example, as shown in Figure 2, a second setting unit 14b may be provided on the display screen 14 of the display device 13, which can be set to be implemented or stopped manually. By operating this second setting unit 14b with a mouse or the like, the implementation or stopping of the function that performs the processing in the above embodiment can be set.

[0152] (1g) In this first embodiment, the reconfigured path may be displayed on the display device 13 in a manner that distinguishes it from other paths (for example, the normal path of a conventional ray).

[0153] Furthermore, the display screen 14 of the display device 13 may display only the normal route, only the reconfigured route, or both the normal route and the reconfigured route, distinguishing them by, for example, color. The display switching may also be performed manually using the third setting unit 14c of the display screen 14, as shown in Figure 2.

[0154] [1-6. Correspondence] Next, the relationship between this disclosure and this first embodiment will be explained.

[0155] The radar corresponds to radar R, the simulation device corresponds to simulation device 1, the collision information generation unit corresponds to control unit 11 and the processing in control unit 11 (for example, S210), the route resetting unit corresponds to control unit 11 and the processing in control unit 11 (for example, S220), the power calculation unit corresponds to control unit 11 and the processing in control unit 11 (for example, S230), and the display device corresponds to display device 13.

[0156] [2. Second Embodiment] The second embodiment has the same basic configuration as the first embodiment, so the following will mainly describe the differences from the first embodiment. Note that the same reference numerals as in the first embodiment indicate the same components, and refer to the preceding description.

[0157] In this second embodiment, the method of reconstructing the path in the second process differs from that of the first embodiment, so the second process will be described primarily. Processes similar to those in the first embodiment will be briefly explained.

[0158] In the second process of this second embodiment, the first loop process from S500 to S595 described below is performed, as shown in the flowchart of Figure 15B.

[0159] In S500, similar to S400 in Figure 13B, the number of processing steps (i.e., k) is defined so that the processing up to S595 is repeated for all point clouds obtained in the first ray tracing process. The number of processing steps can be defined up to M times, which is the number of points in the point cloud. k and M are positive integers.

[0160] In S510, the k-th collision point is selected, similar to S410.

[0161] Next, the processing of the second loop, from S520 to S590 below, is performed.

[0162] In S520, similar to S420, the number of reflections (i.e., ref_num) is defined in order to repeat the process up to S590 for the number of reflections. The number of reflections can be defined up to N times, where N is a positive integer.

[0163] In S530, at the k-th collision point, all points closest to specular reflection from that collision point (i.e., the next collision point) are selected.

[0164] Here, "close to the mirror direction" means that the direction to the next collision point is within a predetermined angular range (see ranges H5 and H6 shown by dots in Figure 15A) compared to the reflection direction of specular reflection where the angle of incidence equals the angle of reflection, and that the conditions set by the user are met. In this case, one method is to compare the angle between the reflection direction of specular reflection and the direction to the collision point. Alternatively, the angular range may be determined based on the dot product of the unit vector of specular reflection and the unit vector of the direction to the collision point.

[0165] Furthermore, a distance condition may be added here. For example, the next collision point may be selected if the distance between a given collision point and the next collision point is within a predetermined value.

[0166] Furthermore, as shown in Figure 15A, the range of fine dots H5 indicates a predetermined angle range of a ray reflected from a certain collision point (reflection point P11) toward the other vehicle C2 to the right front. In addition, the range of coarse dots H6 indicates a predetermined angle range of a ray reflected from the collision point (reflection point P12) of the other vehicle C2 toward the surface of the wall W to the left front. In this way, the ray path can be reconstructed so that it reflects from reflection point P11 through reflection point P12 toward the wall W.

[0167] Next, the processing of the third loop, from S540 to S580, is performed.

[0168] In S540, the number of processing steps (i.e., j) is specified so that the process up to S580 is repeated for all point clouds selected in S530. The number of processing steps can be specified up to Q times, which is the number of selected point clouds. j and Q are positive integers.

[0169] In S550, similar to S450, it is determined whether or not there is an obstruction between the radar R of the vehicle C1 and the point of collision. If the determination is positive, the process proceeds to S580; if the determination is negative, the process proceeds to S560.

[0170] In S560, similar to S460, the received power of radio waves at the collision point is calculated based on the material and geographical information of the collision point.

[0171] In the subsequent step S570, the received power of the radio waves is stored in the output memory, similar to step S470.

[0172] In S580, it is determined whether the processes in S540 to S580 have been repeated the specified number of times (i.e., for all selected point groups) (i.e., whether the processing of the third loop described above has been completed). If the determination is positive, the process proceeds to S590; if the determination is negative, the process returns to S540 to perform the processing of the third loop.

[0173] In the subsequent S590, it is determined whether the processes in S520 to S590 have been repeated for the specified number of reflections (i.e., whether the processing of the second loop described above has been completed). If the determination is positive, the process proceeds to S595; on the other hand, if the determination is negative, the process returns to S520 to perform the processing of the second loop.

[0174] In S595, it is determined whether the processes in S500 to S595 have been repeated the specified number of times (i.e., for all the point groups) (i.e., whether the processing of the first loop described above has been completed). If the determination is positive, this process is terminated; on the other hand, if the determination is negative, the process returns to S500 and the processing of the first loop is performed.

[0175] This second embodiment provides the same effects as the first embodiment.

[0176] Furthermore, in this second embodiment, it is possible to calculate relatively efficiently how radio waves propagate in all directions from a single point, rather than propagating from point to point like light rays.

[0177] Furthermore, when saving the received power to the output memory, power from other paths can also be saved at the selected collision point. If the total number of paths converging to a single point exceeds a set value, it can be replaced with a path with lower power. In other words, among the paths converging to a single point, a path with a certain high power (for example, a path within the set value) can be replaced with a path with a lower power (for example, a path exceeding the set value).

[0178] <Suppression of Memory Increase> Next, a method for suppressing the increase in output memory in this second embodiment will be described.

[0179] First, based on Figure 16, we will explain how the ray path increases at each collision point using the conventional method.

[0180] Conventionally, as shown in Figure 16A, when the reflection direction is split during ray tracing, as shown in Figure 16B, the number of rays in a single ray becomes the number of reflections raised to the power of the number of split rays, and therefore, memory must be allocated accordingly for output.

[0181] This allows for the calculation of complex paths, but a large portion of the allocated memory is wasted on non-hit rays, resulting in poor memory efficiency. For example, just four reflections of a binary splitting plane can be twice as efficient as normal ray tracing. 4 This will require 16 times the amount of memory.

[0182] For example, if the total number of projectile rays is 8, then the number of splits raised to the power of the "maximum number of reflections" × the total number of projectile rays = 2 4 This requires memory of size × 8 = 128.

[0183] Next, the number of memories used in this second embodiment will be described based on Figure 17.

[0184] In this second embodiment, as shown in Figure 17A, since only a predetermined number of path connections are made for each collision point created by ray tracing, the amount of memory allocated is reduced to a constant multiple compared to normal ray tracing.

[0185] In other words, the total number of paths that can lead to a single collision point must be limited, but the memory does not expand exponentially, but rather increases proportionally to the number of reflections.

[0186] For example, as shown in Figure 17B, if the upper limit of the number of paths leading to a single collision point is set to 2, then the memory size required is 2 × 4 × 8 = 64, which is the upper limit of the number of paths × the maximum number of reflections × the total number of emitted rays.

[0187] [3. Third Embodiment] The third embodiment has the same basic configuration as the first and second embodiments, so the differences from the first and second embodiments will be described below. Reference numerals the same as those in the first embodiment indicate the same components, and refer to the preceding description.

[0188] This third embodiment is an example of connecting a path in the ghost direction as well.

[0189] In the first and second embodiments described above, the criteria for setting the path were established only with respect to the "mirror surface direction" (see, for example, ranges H7 and H9 in Figure 18).

[0190] In this third embodiment, in addition to the above, a path connection is also established to all points close to the "ghost direction" = "the direction opposite to the incident direction" (see, for example, range H9 in Figure 18), or to the closest point.

[0191] The method for calculating the received power of radio waves in this third embodiment is simply to add a processing block to the "select the point closest to the mirror surface direction from the collision point" processing block of the first embodiment (see, for example, S430 in Figure 13) and the "select all points close to the mirror surface direction from the collision point" processing block of the second embodiment (see, for example, S530 in Figure 15), which selects a collision point close to the direction opposite to the incident direction (for example, a collision point within a predetermined angular range H9 with respect to the opposite direction in Figure 18).

[0192] This third embodiment provides the same effects as the first and second embodiments. Furthermore, since a path is also connected in the ghost direction, it is possible to calculate the received power of radio waves from the ghost direction.

[0193] [4. Other Embodiments] Although embodiments of the present disclosure have been described above, it goes without saying that the present disclosure is not limited to the embodiments described above and can take various forms.

[0194] (4a) The processing and methods in the simulation apparatus described herein may be implemented by a dedicated computer provided by configuring a processor and memory to perform one or more functions embodied by a computer program.

[0195] Alternatively, the processing and methods in the simulation apparatus described herein may be implemented by a dedicated computer provided by configuring a processor with one or more dedicated hardware logic circuits.

[0196] Alternatively, the processing and methods in the simulation apparatus described herein may be implemented by one or more dedicated computers, each comprising a processor and memory programmed to perform one or more functions, and a processor comprising one or more hardware logic circuits.

[0197] Furthermore, the computer program may be stored on a computer-readable, non-transitional tangible recording medium as instructions to be executed by the computer. The method for realizing the functions of each part included in the simulation device does not necessarily have to include software; all of its functions may be realized using one or more hardware components.

[0198] (4b) The above-mentioned simulation apparatus can also be realized in various forms, including a configuration that includes the simulation apparatus as a component, a program for making the computer of the simulation apparatus function, a non-transition tangible recording medium such as a semiconductor memory on which this program is recorded, and a control method.

[0199] (4c) Multiple functions of one component in each of the above embodiments may be realized by multiple components, or one function of one component may be realized by multiple components. Also, multiple functions of multiple components may be realized by one component, or one function realized by multiple components may be realized by one component. Furthermore, some of the configurations of each of the above embodiments may be omitted. Furthermore, at least some of the configurations of each of the above embodiments may be added to or replaced with the configurations of other embodiments. [Technical Concept Disclosed in This Specification] [Item 1] A simulation device (1) that simulates the path of radio waves emitted from a radar (R) using a pseudo-ray that mimics the radio waves, comprising: a collision information generation unit (11, S210) configured to generate point cloud information of collision points when the pseudo-ray collides with an object along a predetermined path; a path resetting unit (11, S220) that resets the path of the pseudo-ray based on the point cloud information of collision points generated by the collision information generation unit; and a power calculation unit (11, S230) that calculates the power of the radio waves at the collision points based on the path information reset by the path resetting unit.

[0200] [Item 2] A simulation device as described in Item 1, wherein the collision information generation unit generates material and geographical information as information for each of the collision points, and the path resetting unit is configured to reset the path based on the point cloud of the collision points.

[0201] [Item 3] A simulation apparatus according to Item 1 or Item 2, wherein the path resetting unit is configured to extract other collision points that satisfy at least the first condition, among the first condition that the reflection direction of the pseudo-ray of the pseudo-ray is within a predetermined angle range and the second condition that it is within a predetermined distance range from the collision point, when the pseudo-ray is reflected at the collision point and reaches another collision point, and to reset the path based on the information of the extracted other collision points.

[0202] [Item 4] A simulation device according to any one of items 1 to 3, wherein it is configured to set conditions for resetting the route when the route is to be reset.

[0203] [Item 5] A simulation device according to any one of items 1 to 4, wherein the device is configured to acquire information on the material of the collision point as information on the collision point.

[0204] [Item 6] A simulation device according to any one of items 1 to 5, wherein the device is configured to acquire information on the normal vector at the collision point in a plane containing the collision point as information on the collision point.

[0205] [Item 7] A simulation device according to any one of items 1 to 6, wherein the device is configured to acquire information on the velocity vector of the collision point as information on the collision point.

[0206] [Item 8] A simulation device according to any one of items 1 to 7, wherein the functions of the collision information generation unit, the route resetting unit, and the power calculation unit are configured to be able to be performed or stopped.

[0207] [Item 9] A simulation device according to any one of items 1 to 8, wherein the device is configured to have a function to display on a display device (13) the route reset by the route reset unit in a manner that distinguishes it from other routes.

Claims

1. A simulation device (1) that simulates the path of radio waves emitted from a radar (R) using a pseudo-ray that simulates the radio waves, comprising: a collision information generation unit (11, S210) configured to generate point cloud information of collision points when the pseudo-ray collides with an object along a predetermined path; a path resetting unit (11, S220) that resets the path of the pseudo-ray based on the point cloud information of collision points generated by the collision information generation unit; and a power calculation unit (11, S230) that calculates the power of the radio waves at the collision points based on the path information reset by the path resetting unit.

2. A simulation apparatus according to claim 1, wherein the collision information generation unit generates material and geographical information as information for each of the collision points, and the path resetting unit is configured to reset the path based on the point cloud of the collision points.

3. A simulation apparatus according to claim 1, wherein the path resetting unit is configured to extract other collision points that satisfy at least the first condition, among a first condition that the reflection direction of the pseudo-ray is within a predetermined angle range and a second condition that it is within a predetermined distance range from the collision point, when the pseudo-ray is reflected at the collision point and reaches another collision point, and to reset the path based on the information of the extracted other collision points.

4. A simulation apparatus according to claim 1, wherein, when the path is to be reset, conditions for resetting the path can be set.

5. A simulation apparatus according to claim 1, wherein the simulation apparatus is configured to acquire information on the material of the collision point as information on the collision point.

6. A simulation apparatus according to claim 1, wherein the simulation apparatus is configured to acquire information on the normal vector at the collision point in a plane containing the collision point, as information on the collision point.

7. A simulation apparatus according to claim 1, wherein the simulation apparatus is configured to acquire information on the velocity vector of the collision point as information on the collision point.

8. A simulation apparatus according to claim 1, wherein the functions of the collision information generation unit, the route resetting unit, and the power calculation unit are configured to be able to be performed or stopped.

9. A simulation apparatus according to claim 1, wherein the simulation apparatus is configured to have a function of displaying the route reset by the route reset unit on a display device (13) in a manner that distinguishes it from other routes.