WO2021039845A1 - シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法 - Google Patents

シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法 Download PDF

Info

Publication number
WO2021039845A1
WO2021039845A1 PCT/JP2020/032194 JP2020032194W WO2021039845A1 WO 2021039845 A1 WO2021039845 A1 WO 2021039845A1 JP 2020032194 W JP2020032194 W JP 2020032194W WO 2021039845 A1 WO2021039845 A1 WO 2021039845A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
event
wheel
time wheel
nth
Prior art date
Application number
PCT/JP2020/032194
Other languages
English (en)
French (fr)
Inventor
典昭 竹之上
Original Assignee
株式会社グローバルセキュリティー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社グローバルセキュリティー filed Critical 株式会社グローバルセキュリティー
Priority to JP2021542966A priority Critical patent/JP7182042B2/ja
Priority to EP20859253.5A priority patent/EP4024410A4/en
Priority to US17/631,823 priority patent/US20220277115A1/en
Publication of WO2021039845A1 publication Critical patent/WO2021039845A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M17/00Testing of vehicles
    • G01M17/007Wheeled or endless-tracked vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design

Definitions

  • the present invention relates to a simulation system, a simulation program and a simulation method, particularly a simulation system, a simulation program and a simulation method for simulating a simulation model composed of a plurality of events in which a start time is stored in an arbitrary coordinate space.
  • Patent Document 1 in a simulation system that performs a simulation based on a logic circuit, a time wheel in which event registration is uniquely determined is used to skip the time when no event occurs and increase the speed of the simulation. Is disclosed.
  • the present invention has been made in view of the above circumstances, and is a versatile simulation system and simulation capable of constructing a time wheel so that an event is activated at an accurate activation time according to a simulation model.
  • An object of the present invention is to provide a program and a simulation method.
  • the simulation system is a simulation system that simulates a simulation model composed of a plurality of events in which startup times are stored in an arbitrary coordinate space. Multiple time wheels that are evaluated as the next time are set as tags, and multiple time wheels that are registered with events associated with the tags are set as the start time of events over multiple time hierarchies with different time units.
  • An event registration module that registers an event by associating an event with multiple time wheel tags of the layered time wheel generated by the time wheel generation module and the time wheel generation module that is generated as a layered time wheel in correspondence.
  • the time wheel corresponding to the time hierarchy lower than the wheel is set as the nth time wheel, it is stored in the event based on the difference from the nth indicated position indicating the current time preset in the nth time wheel. Adjusting the error that occurs between the start time and the start time when the event actually starts, the start time of the event in which the first indicated position of the first time wheel and the nth indicated position of the nth time wheel are associated with the tag.
  • the feature is that the event is fired when it matches.
  • the event can be started at the desired start time.
  • a highly versatile simulation system can be realized because the layered time wheel can be flexibly constructed so that the event is activated at an accurate activation time according to the simulation model.
  • the time wheel generation module of this simulation system is characterized in that the number of tags is set to an arbitrary number according to the simulation model when the layered time wheel is generated.
  • the time wheel generation module registers a plurality of time wheels of the layered time wheel generated corresponding to the time hierarchy of the event activation time in the memory, and the event registration module is registered in the memory by the time wheel generation module. It is characterized by registering events in association with multiple time wheel tags of the layered time wheel.
  • the event registration module of this simulation system stores the current time indicated by the nth indicated position of the nth timewheel of the layered timewheel as an offset correction value, and when the event is activated, the event is generated based on the offset correction value. It is characterized by adjusting the error of the startup time.
  • the time wheels corresponding to a plurality of time hierarchies that compose the layered time wheel generated by the time wheel generation module are stored, and the time wheel and the layered time wheel are associated with each other by storing the time wheel. It is characterized by being able to be.
  • this simulation system advances the event from the start point of the tag of the nth time wheel to the end point of the tag toward the activation of the event in the time hierarchy of the nth time wheel of the layered time wheel, and the first time It is characterized in that the event is advanced from the current tag of the first time wheel to the next tag toward the activation of the event in the time hierarchy of the wheel.
  • the current time wheel of the first time wheel is set toward the activation of the event in the time hierarchy of the first time wheel.
  • the event associated with the tag of the time wheel corresponding to the upper time hierarchy is activated.
  • the event activated based on the first time wheel of the layered time wheel is set as the first event
  • the event activated based on the nth time wheel of the layered time wheel is set as the nth event.
  • the event registration module is characterized in that the time when the entity included in the simulation model and placed in the coordinate space starts the activity is registered as an event in association with the tag of the time wheel.
  • the simulation model may be an evaluation of an autonomous driving vehicle.
  • the simulation system is a simulation system including a computer that simulates a simulation model composed of a plurality of events in which startup times are stored in an arbitrary coordinate space. Multiple time step widths that are evaluated as the next time in the discrete time, which are generated corresponding to the start time of the event over multiple time hierarchies with different values, are set as tags and the event is added to the tag.
  • a layered time wheel that is composed of multiple time wheels that are associated and registered and is executed on the computer with each time wheel hidden, and a layered time wheel that is generated and generated. It is characterized by having a simulation program that registers events by associating events with tags of multiple time wheels and registering them, and application software that is included in the simulation model and generates entities that are placed in the coordinate space. ..
  • the simulation program according to the present invention for achieving the above object is a simulation program for simulating a simulation model composed of a plurality of events in which startup times are stored in an arbitrary coordinate space, and has a discrete time. Multiple time wheels that are evaluated as the next time are set as tags, and multiple time wheels that are registered with events associated with the tags are set as the start time of events over multiple time hierarchies with different time units.
  • An event registration module that registers an event by associating an event with multiple time wheel tags of the layered time wheel generated by the time wheel generation module and the time wheel generation module that is generated as a layered time wheel in correspondence.
  • the time wheel corresponding to the time hierarchy lower than the wheel is set as the nth time wheel, it is stored in the event based on the difference from the nth indicated position indicating the current time preset in the nth time wheel. Adjusting the error that occurs between the start time and the start time when the event actually starts, the start time of the event in which the first indicated position of the first time wheel and the nth indicated position of the nth time wheel are associated with the tag.
  • the feature is that the event is fired when it matches.
  • the simulation method according to the present invention for achieving the above object is a simulation method for simulating a simulation model composed of a plurality of events in which startup times are stored in an arbitrary coordinate space. Multiple time wheels that are evaluated as the next time are set as tags, and multiple time wheels that are registered with events associated with the tags are set as the start time of events over multiple time hierarchies with different time units.
  • the first indicated position indicating the current time preset in the first time wheel and the time wheel corresponding to the time hierarchy lower than the first time wheel are the nth times.
  • a versatile simulation system capable of flexibly constructing a layered time wheel so that an event is activated at an accurate activation time according to a simulation model is realized.
  • FIG. 1 is a diagram illustrating an outline of a simulation system according to the present embodiment. As shown in the figure, the simulation system 1 is composed of a computer 10 that generates a simulation model 100.
  • the simulation model 100 evaluates an autonomous driving vehicle, and the activity of an evaluation vehicle or other vehicle, or an entity such as a bicycle or a pedestrian, which is an object to be evaluated, is an event. It is registered and the registered event is triggered on the coordinate space 110.
  • the computer 10 evaluates an object based on the simulation model 100 generated by the operation of the user U.
  • the computer 10 functions as a server, a desktop computer, a notebook computer, and a smartphone. Alternatively, it is implemented by various computers such as tablet computers.
  • FIG. 2 is a block diagram illustrating an outline of the configuration of the computer 10.
  • the computer 10 includes a processor 11, a memory 12, a storage 13, a transmission / reception unit 14, and an input / output unit 15 as main configurations, and these are electrically connected to each other via a bus 16.
  • the processor 11 is an arithmetic unit that controls the operation of the computer 10, controls the transmission and reception of data between each element, and performs processing necessary for executing a program.
  • the processor 11 is, for example, a CPU (Central Processing Unit), and executes each process by executing a program stored in the storage 13 and expanded in the memory 12 which will be described later.
  • a CPU Central Processing Unit
  • the memory 12 includes a main storage device composed of a volatile storage device such as a DRAM (Dynamic Random Access Memory), and an auxiliary storage device composed of a non-volatile storage device such as a flash memory or an HDD (Hard Disk Drive). ..
  • a volatile storage device such as a DRAM (Dynamic Random Access Memory)
  • auxiliary storage device composed of a non-volatile storage device such as a flash memory or an HDD (Hard Disk Drive). ..
  • BIOS Basic Input / Output System
  • the time wheel constituting the layered time wheel is registered as a dictionary and the layered time wheel is stored.
  • the storage 13 stores information such as programs and information used for various processes. The configuration of the storage 13 will be described later.
  • the transmission / reception unit 14 connects the computer 10 to a network such as an Internet network, and may be provided with a short-range communication interface such as Bluetooth (registered trademark) or BLE (Bluetooth Low Energy).
  • a short-range communication interface such as Bluetooth (registered trademark) or BLE (Bluetooth Low Energy).
  • the input / output unit 15 is an interface to which input / output devices are connected, and examples of these input / output devices are assumed to be a keyboard, a mouse, and a display.
  • the bus 16 transmits, for example, an address signal, a data signal, and various control signals between the connected processor 11, the memory 12, the storage 13, the transmission / reception unit 14, and the input / output unit 15.
  • FIG. 3 is a diagram illustrating an outline of the configuration of the layered time wheel 21 registered and stored as a dictionary in the memory 12.
  • the layered time wheel 21 is composed of a plurality of time wheels corresponding to a plurality of time layers having different time units, and in the present embodiment, "day” and “day” are set according to the simulation model 100. It is composed of time wheels 22 to 26 corresponding to the time hierarchy of "hours", “minutes", “seconds” and “milliseconds”.
  • FIG. 4 is a diagram illustrating an outline of the configuration of each time wheel 22 to 26 constituting the layered time wheel 21. As shown in the figure, each time wheel 22 to 26 has a time step width evaluated as the next time set as a tag T in the discrete time, and this tag T is the maximum number of time differences in event processing. It is a timetable type storage area arranged in a ring shape.
  • the number of tags T of each time wheel 22 to 26 is set to an arbitrary number according to the simulation model 100.
  • the number of tags T is 1000 tags, and the step size per tag is 1 millisecond.
  • the number of tags T can be 100 tags and the step size per tag can be 10 milliseconds, or the number of tags T can be 10 tags and the step size per tag can be 100 milliseconds.
  • the number of tags T of each time wheel 22 to 26 can be set only when the layered time wheel 21 is generated, thereby preventing the generated simulation model 100 from being inadvertently modified. Wheel.
  • each of the time wheels 22 to 26 is hidden by the layered time wheel 21 from a program that illegally invades the memory 12, it is prevented from being detected and modified by this program.
  • each of the time wheels 22 to 26 makes the user U who operates the computer 10 invisible by the layered time wheel 21, the user U uses the layered time wheel 21 when generating the layered time wheel 21. It is not necessary to set each of the constituent time wheels 22 to 26. Therefore, the simulation can be easily executed.
  • FIG. 5 is a diagram illustrating an outline of operation of the layered time wheel 21. As shown in the figure, when the time wheels 23 to 25 corresponding to the time hierarchy of "hours", “minutes” and “seconds" are configured, for example, the time wheel 24 is set as the first time wheel.
  • the time wheel 25 corresponding to the time hierarchy of "seconds", which is a lower time hierarchy with respect to the time wheel 24, is set as the nth time wheel, the tag T of the starting point where the avail A4 of the time wheel 25 is located is used.
  • the avail A3 of the time wheel 24, which is the first time wheel progresses from the current tag T to the next tag T.
  • the time corresponding to the time hierarchy of "hour" which is the upper time hierarchy with respect to the time wheel 24.
  • the event registered in the wheel 23 is activated.
  • FIG. 6 is a flowchart illustrating the operation outline of the layered time wheel 21.
  • the first event is activated with the time wheel 25 corresponding to the time hierarchy of "seconds" in the layered time wheel 21 as the first time wheel, and corresponds to the time hierarchy of "milliseconds" in the layered time wheel 21. It is assumed that the nth event repeated in 100 milliseconds is activated with the time wheel 26 as the nth time wheel.
  • the nth event activated based on the time hierarchy "milliseconds" of the time wheel 26, which is the nth time wheel, is included in the step size of the time wheel 25 corresponding to the time hierarchy of "seconds". Therefore, in order to evaluate the nth event in the time hierarchy of "seconds", it is necessary to repeatedly activate the nth event 10 times based on the "milliseconds" which is the time hierarchy of the time wheel 26.
  • the nth event is "seconds" which is the time hierarchy of the time wheel 25. As with the first event that is triggered based on, it will be triggered only once.
  • the nth event which cannot be properly evaluated in the "second" time hierarchy unless it is repeatedly activated 10 times, is evaluated in the "second" time hierarchy by the activation of one event. In that case, there is a problem that proper evaluation cannot be performed.
  • step S1 the nth event is repeatedly activated 10 times based on the time hierarchy of "milliseconds" of the time wheel 26.
  • step S2 By repeatedly invoking the nth event, in step S2, the time hierarchy of "seconds" of the time wheel 25 which is the first time hole and the time hierarchy of "milliseconds" of the time wheel 26 which is the nth time hole match. If so, in step S3, the first event and the nth event are activated based on "seconds" which is the time hierarchy of the time wheel 25 which is the first time wheel.
  • the arithmetic processing is executed by skipping the tags that are not registered with the events associated with it, so the processing in the simulation can be processed at high speed. ..
  • FIG. 7 is a block diagram illustrating an outline of the configuration of the storage 13. As shown in the figure, the storage 13 includes a scenario data 30, a simulation program 40, and a three-dimensional display processing program 50 stored in the storage area of the storage 13.
  • FIG. 8 is a block diagram illustrating an outline of the configuration of the scenario data 30.
  • the scenario data 30 is composed of spatial data D1, event data D2, and entity data D3.
  • the spatial data D1 is data that generates the coordinate space 110 of the simulation model 100 and the road surface on which the autonomous driving vehicle or the like, which is an entity, travels in the coordinate space 110.
  • the event data D2 is data that generates an event that is activated in the simulation model 100, such as running an emergency vehicle, changing a signal, or walking a pedestrian.
  • the entity data D3 is data that generates a moving entity such as an autonomous driving vehicle, another vehicle, a bicycle, or a pedestrian, which is an object.
  • the simulation program 40 includes a time wheel generation module 41 and an event registration module 42.
  • the time wheel generation module 41 is a module that generates arbitrary time wheels 22 to 26 required according to the simulation model 100 as a layered time wheel 21.
  • FIG. 9 is a flowchart illustrating the outline of the process of the time wheel generation module 41.
  • the time wheel generation module 41 when the time wheel generation module 41 generates the layered time wheel 21 corresponding to the time hierarchy of the start time of the event activated by the simulation model 100, the layered time wheel generated in step S10 is generated. 21 is registered as a dictionary in the memory 12 for each time wheel 22 to 26.
  • the time wheels 23 to 25 of the layered time wheel 21 to be generated are stored in the memory 12. Register as a dictionary.
  • step S11 arbitrary time wheels 22 to 26 registered as dictionaries in the memory 12, for example, time wheels 23 to 25 in the present embodiment, are generated as the layered time wheel 21 and stored in the memory 12.
  • the time wheels 23 to 25 constituting the layered time wheel 21 are registered and stored as dictionaries in the memory 12, the time wheels 23 to 25 and the layered time wheel 21 are associated with each other.
  • the layered time wheel 21 can directly advance the time wheels 23 to 25 in which the event is registered toward the activation of the event.
  • step S12 the number of tags T of each time wheel 22 to 26 is set to an arbitrary number of tags T according to the simulation model 100.
  • the event registration module 42 is a module for registering an event in association with an arbitrary tag T of any time wheel 22 to 26 of the layered time wheel 21 generated by the time wheel generation module 41.
  • the time difference of the event processing is stored as the start time, and when the start time of the event extends over a plurality of time layers having different time units, the layered time The event is registered over all or any of the plurality of time wheels 22 to 26 of the wheel 21.
  • FIG. 10 is a flowchart for explaining the outline of the process of the event registration module 42
  • FIG. 11 is a conceptual diagram for explaining the outline of the process of the event registration module 42.
  • any time wheel 22 to 26 corresponding to the start time of the event over a plurality of time layers is a layered time wheel 21. It is confirmed in the dictionary whether or not any time wheels 22 to 26 are registered in the memory 12.
  • step S21 when an event is registered in the plurality of time wheels 22 to 26 of the layered time wheel 21, if the start time of the event extends over a plurality of time layers having different time units in step S21, the event is stored in the event. There will be an error between the startup time that was set and the startup time that the event actually fires.
  • the avail A3 of the time wheel 24 corresponding to the "minute” time hierarchy is located at 0 minutes, and the avail A4 of the time wheel 25 corresponding to the "second" time hierarchy is located.
  • the event X stored as the activation time of 2 minutes and 10 seconds is registered in the time wheel 24.
  • the time wheel 25 corresponding to the time hierarchy of "seconds”, which is a lower time hierarchy with respect to the time wheel 24, is set as the nth time wheel, the tag T of 10 seconds in which the avail A4 of the time wheel 25 is located is located. 50 seconds have passed since the event X progressed starting from, and the event X progressed with the tag T at which the avail A4 of the time wheel 25 was 0 seconds as the end point.
  • the avail A3 of the time wheel 24 is located from the 0 minute tag T to the 1 minute tag T toward the activation of the event X in the "minute" time hierarchy, and the event X progresses.
  • the event X stored as the start time of 2 minutes and 10 seconds is It would have been expected to activate when Avail A3 and Avail A4 were located at 2 minutes and 20 seconds.
  • step S22 any avail A2 to A5 of any time wheel 23 to 26 in the lower time hierarchy than any time wheel 22 to 25 in the highest time hierarchy is positioned.
  • the time to do is stored as an offset correction value.
  • the offset correction is performed for 10 seconds in which the avail A4 of the time wheel 25, which is the lower time wheel, is located. Stored as a value.
  • an offset correction value is added when the event X progresses in the time wheel 25 corresponding to the time hierarchy of "seconds", and the start time stored in the event X and the start time when the event X actually starts are added. The error that occurs between is adjusted.
  • the event X is activated when the avail A3 and the avail A4 are located at 2 minutes and 20 seconds.
  • the three-dimensional display processing program 50 is a program that processes the simulation model 100 so as to display it in three dimensions on a display connected to the computer 10.
  • FIG. 12 is a flowchart illustrating an outline of a procedure for using the simulation system 1.
  • the simulation model 100 and the layered time wheel 21 generated in response to the event activated by the simulation model 100 are registered as dictionaries in the memory 12 for each time wheel 22 to 26, and are shown in the figure.
  • the layered time wheel 21 is generated.
  • the time wheels 23 to 25 are registered and stored as dictionaries, and the time wheel 23 is stored.
  • the layered time wheel 21 is generated by ⁇ 25.
  • the number of tags T of the time wheels 23 to 25 is set to an arbitrary number according to the simulation model 100.
  • step S101 the event is registered.
  • the event to be registered is generated from the derivation of the event model M created as the event data D2 as shown in FIG. 13, and an arbitrary event based on the simulation model 100 is registered. ..
  • the time and position at which the evaluation vehicle, which is an entity generated based on the entity data D3, and other vehicles such as emergency vehicles and bicycles, which are also entities, appear in the coordinate space 110 are events. Registered as.
  • step S101 it is dictionaryly confirmed whether or not the time wheels 23 to 25 corresponding to the event activation time are registered in the memory 12 as the layered time wheel 21.
  • the avail A3 of the time wheels 24 and 25 The time when A4 is located is stored as an offset correction value.
  • step S102 a simulation is executed based on the simulation model 100, and the automatic driving of the evaluation vehicle is evaluated based on the simulation related to the automatic driving of the evaluation vehicle.
  • the simulation model 100 is displayed three-dimensionally on the display connected to the computer 10.
  • the event in which the start-up time is stored over a plurality of time layers having different time units can be registered in the time wheels 22 to 26 corresponding to each time layer.
  • the layered time wheel 21 can be generated.
  • the error generated between the start time stored in the event and the start time when the event actually starts is adjusted, so that the desired start time is obtained. Can trigger an event.
  • the simulation system 1 having a high versatility is realized.
  • the simulation system 2 generates a computer 10, a layered time wheel 21 executed on the computer 10, a layered time wheel 21, and a simulation program 40 that registers an event in the generated layered time wheel 21. , And a hierarchical model with application software 60 that creates entities on the layered timewheel 21.
  • the layered time wheel 21 can be used as the OS (Operating System) of the computer 10 that simulates the simulation model.
  • an environment for developing application software 60 that generates an entity registered as an event on the layered time wheel 21 and arranged in the coordinate space is provided by, for example, an API (Application Programming Interface). Alternatively, it is provided by publishing the source code of the application software 60.
  • the application software 60 generates an entity included in the simulation model and arranged in the coordinate space.
  • the moving body generation application software that generates a moving body such as an autonomous driving vehicle or another vehicle, a road surface on which the autonomous driving vehicle or the like travels in the coordinate space 110 or the coordinate space 110.
  • Space generation application software that creates such a space is assumed.
  • application software related to the utility of the entity such as direction control application software that controls the traveling direction of the moving object and display control application software that controls the display of the simulation model 100 on the display, is also assumed.
  • application software 60 can be configured to implement the simulation program 40.
  • the time wheels 22 to 26 constituting the layered time wheel 21 are hidden by the layered time wheel 21 and executed on the computer 10. It is prevented that the layered time wheel 21 is modified by being detected by a program that illegally invades the memory 12.
  • each of the time wheels 22 to 26 is made invisible to the developer developing the application software 60 by the layered time wheel 21, the developer develops the application software 60 with the layered time wheel 21. It is not necessary to set each of the time wheels 22 to 26 constituting the above, and the development of the application software 60 can be easily executed.
  • the simulation model is used while using the application software 60 generated without being aware of each time wheel 22 to 26. Since the layered time wheel 21 can be flexibly constructed accordingly, a versatile simulation system 2 is realized.
  • the simulation model 100 is the evaluation of the autonomous driving vehicle.
  • the operation evaluation of the railway transportation network and the bus transportation network the behavior evaluation of the army, the evaluation of the air control system, the flight course of the drone It can be used for various evaluations such as evaluation of.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されてタグにイベントが関連づけられて登録される複数のタイムホイールを、時間単位の異なる複数の時間階層に亘るイベントの起動時間に対応させて階層化タイムホイールとして生成し、階層化タイムホイールの複数のタイムホイールのタグにイベントを関連づけて登録し、階層化タイムホイールのうち任意の時間階層に対応する第1タイムホイールに予め設定された現在時間を示す第1指示位置と、第1タイムホイールに対して下位の時間階層に対応する第nタイムホイールに予め設定された現在時間を示す第n指示位置との差分に基づいて、イベントに記憶された起動時間と実際にイベントが起動する起動時間との間に生じる誤差を調整し、第1タイムホイールの第1指示位置及び第nタイムホイールの第n指示位置がタグに関連づけられたイベントの起動時間と一致した場合にイベントを起動させる。

Description

シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法
 本発明は、シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法、特に、任意の座標空間において起動する起動時間が記憶された複数のイベントによって構成されるシミュレーションモデルをシミュレーションするシミュレーションシステム、シミュレーションプログラム及びシミュレーション方法に関する。
 例えば、軍事作戦における軍隊の行動や、車両の走行環境における自動運転車両の走行状況といった、種々のイベントが存在するシミュレーションモデルについて、そのシミュレーションモデルに基づくシミュレーションによって対象物を分析したり評価したりする技術が提案されている。
 特許文献1には、論理回路に基づくシミュレーションを行うシミュレーションシステムにおいて、イベントの登録が一意的に決定されるタイムホイールを用いて、イベントの発生しない時刻をスキップしてシミュレーションの速度を高速化することが開示されている。
特開平10-340290公報
 ところで、種々のイベントが存在するシミュレーションモデルを上記のようなシミュレーションシステムでシミュレーションする場合には、時間単位の異なる複数の時間階層に亘る起動時間が記憶されたイベントを、各時間階層に対応するタイムホイールに登録できるようにして、シミュレーションモデルに応じて正確な起動時間でイベントが起動されるように柔軟にタイムホイールを構築できれば便宜である。
 本発明は、上記事情に鑑みてなされたものであり、シミュレーションモデルに応じて正確な起動時間でイベントが起動されるようにタイムホイールを構築することができる、汎用性に富んだシミュレーションシステム、シミュレーションプログラム及びシミュレーション方法を提供することを課題とするものである。
 上記課題を達成するための、本発明に係るシミュレーションシステムは、任意の座標空間において起動する起動時間が記憶された複数のイベントによって構成されるシミュレーションモデルをシミュレーションするシミュレーションシステムにおいて、離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されてタグにイベントが関連づけられて登録される複数のタイムホイールを時間単位の異なる複数の時間階層に亘るイベントの起動時間に対応させて階層化タイムホイールとして生成するタイムホイール生成モジュールと、タイムホイール生成モジュールで生成した階層化タイムホイールの複数のタイムホイールのタグにイベントを関連づけて登録することによってイベントを登録するイベント登録モジュールと、を備え、階層化タイムホイールのうち任意の時間階層に対応するタイムホイールを第1タイムホイールとした場合に第1タイムホイールに予め設定された現在時間を示す第1指示位置と第1タイムホイールに対して下位の時間階層に対応するタイムホイールを第nタイムホイールとした場合に第nタイムホイールに予め設定された現在時間を示す第n指示位置との差分に基づいてイベントに記憶された起動時間と実際にイベントが起動する起動時間との間に生じる誤差を調整し、第1タイムホイールの第1指示位置及び第nタイムホイールの第n指示位置がタグに関連づけられたイベントの起動時間と一致した場合にイベントが起動する、ことを特徴としている。
 これによれば、時間単位の異なる複数の時間階層に亘る起動時間が記憶されたイベントを、各時間階層に対応するタイムホイールに登録できるように、階層化タイムホイールを生成することができる。
 さらに、イベントに記憶された起動時間と実際にイベントが起動する起動時間との間に生じる誤差が調整されることから、所望の起動時間にイベントを起動させることができる。
 したがって、シミュレーションモデルに応じて正確な起動時間でイベントが起動されるように柔軟に階層化タイムホイールを構築することができることから、汎用性に富んだシミュレーションシステムが実現される。
 このシミュレーションシステムのタイムホイール生成モジュールは、階層化タイムホイールが生成される際にタグの数をシミュレーションモデルに応じて任意の数に設定することを特徴としている。
 さらに、タイムホイール生成モジュールは、イベントの起動時間の時間階層に対応させて生成する階層化タイムホイールの複数のタイムホイールをメモリに登録し、イベント登録モジュールは、タイムホイール生成モジュールがメモリに登録した階層化タイムホイールの複数のタイムホイールのタグにイベントを関連づけて登録する、ことを特徴としている。
 このシミュレーションシステムのイベント登録モジュールは、階層化タイムホイールのうち第nタイムホイールの第n指示位置が示す現在時間をオフセット補正値として記憶し、イベントを起動する際にオフセット補正値に基づいてイベントの起動時間の誤差を調整することを特徴としている。
 このシミュレーションシステムは、タイムホイール生成モジュールで生成した階層化タイムホイールを構成する複数の時間階層に対応するタイムホイールが記憶され、タイムホイールが記憶されることによってタイムホイールと階層化タイムホイールとが関連づけられることを特徴としている。
 さらに、このシミュレーションシステムは、階層化タイムホイールのうち第nタイムホイールの時間階層においてイベントの起動に向かって第nタイムホイールのタグの始点からタグの終点までイベントを進行させたときに第1タイムホイールの時間階層においてイベントの起動に向かって第1タイムホイールの現在のタグから次のタグまでイベントを進行させることを特徴としている。
 しかも、このシミュレーションシステムは、第1タイムホイールに対して上位の時間階層に対応するタイムホイールが存在する場合において、第1タイムホイールの時間階層においてイベントの起動に向かって第1タイムホイールの現在のタグから次のタグまでイベントを進行させることによって上位の時間階層に対応するタイムホイールのタグに関連づけられたイベントを起動させることを特徴としている。
 さらに、シミュレーションシステムは、階層化タイムホイールのうち第1タイムホイールを基準として起動されるイベントを第1イベントとし、かつ階層化タイムホイールのうち第nタイムホイールを基準として起動されるイベントを第nイベントとし、第1タイムホイールに対応する時間階層に基づいて第1イベント及び第nイベントを起動する場合に、第1タイムホイールの時間階層と第nタイムホイールの時間階層とが一致するように第nタイムホイールに対応する時間階層に基づいて第nイベントを繰り返して起動させることを特徴としている。
 一方、イベント登録モジュールは、シミュレーションモデルに含まれて座標空間に配置されるエンティティが活動を開始する時間をタイムホイールのタグに関連づけてイベントとして登録することを特徴としている。
 ところで、シミュレーションモデルは、自動運転車両の評価であってもよい。
 上記課題を達成するための、本発明に係るシミュレーションシステムは、任意の座標空間において起動する起動時間が記憶された複数のイベントによって構成されるシミュレーションモデルをシミュレーションする計算機を備えるシミュレーションシステムにおいて、時間単位の異なる複数の時間階層に亘るイベントの起動時間に対応せしめられて生成される、離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されてタグにイベントが関連づけられて登録される複数のタイムホイールによって構成され、各タイムホイールが隠蔽された状態において計算機上で実行される階層化タイムホイールと、階層化タイムホイールを生成し、生成した階層化タイムホイールの複数のタイムホイールのタグにイベントを関連づけて登録することによってイベントを登録するシミュレーションプログラムと、シミュレーションモデルに含まれて座標空間に配置されるエンティティを生成するアプリケーションソフトウェアと、を備えることを特徴としている。
 上記課題を達成するための、本発明に係るシミュレーションプログラムは、任意の座標空間において起動する起動時間が記憶された複数のイベントによって構成されるシミュレーションモデルをシミュレーションするシミュレーションプログラムにおいて、離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されてタグにイベントが関連づけられて登録される複数のタイムホイールを時間単位の異なる複数の時間階層に亘るイベントの起動時間に対応させて階層化タイムホイールとして生成するタイムホイール生成モジュールと、タイムホイール生成モジュールで生成した階層化タイムホイールの複数のタイムホイールのタグにイベントを関連づけて登録することによってイベントを登録するイベント登録モジュールと、を備え、階層化タイムホイールのうち任意の時間階層に対応するタイムホイールを第1タイムホイールとした場合に第1タイムホイールに予め設定された現在時間を示す第1指示位置と第1タイムホイールに対して下位の時間階層に対応するタイムホイールを第nタイムホイールとした場合に第nタイムホイールに予め設定された現在時間を示す第n指示位置との差分に基づいてイベントに記憶された起動時間と実際にイベントが起動する起動時間との間に生じる誤差を調整し、第1タイムホイールの第1指示位置及び第nタイムホイールの第n指示位置がタグに関連づけられたイベントの起動時間と一致した場合にイベントが起動する、ことを特徴としている。
 上記課題を達成するための、本発明に係るシミュレーション方法は、任意の座標空間において起動する起動時間が記憶された複数のイベントによって構成されるシミュレーションモデルをシミュレーションするシミュレーション方法において、離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されてタグにイベントが関連づけられて登録される複数のタイムホイールを時間単位の異なる複数の時間階層に亘るイベントの起動時間に対応させて階層化タイムホイールとして生成し、生成した階層化タイムホイールの複数のタイムホイールのタグにイベントを関連づけて登録することによってイベントを登録し、階層化タイムホイールのうち任意の時間階層に対応するタイムホイールを第1タイムホイールとした場合に第1タイムホイールに予め設定された現在時間を示す第1指示位置と第1タイムホイールに対して下位の時間階層に対応するタイムホイールを第nタイムホイールとした場合に第nタイムホイールに予め設定された現在時間を示す第n指示位置との差分に基づいてイベントに記憶された起動時間と実際にイベントが起動する起動時間との間に生じる誤差を調整し、第1タイムホイールの第1指示位置及び第nタイムホイールの第n指示位置がタグに関連づけられたイベントの起動時間と一致した場合にイベントが起動する、ことを特徴としている。
 この発明によれば、シミュレーションモデルに応じて正確な起動時間でイベントが起動されるように柔軟に階層化タイムホイールを構築することができる、汎用性に富んだシミュレーションシステムが実現される。
本発明の実施の形態に係るシミュレーションシステムの概略を説明する図である。 同じく、本実施の形態に係るシミュレーションシステムの計算機の構成の概略を説明するブロック図である。 同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリに記憶された階層化タイムホイールの構成の概略を説明するブロック図である。 同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリに記憶された階層化タイムホイールを構成する複数のタイムホイールの構成の概略を説明する図である。 同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリに記憶された階層化タイムホイールの作動概略を説明する図である。 同じく、本実施の形態に係るシミュレーションシステムの計算機のメモリに記憶された階層化タイムホイールの作動概略を説明するフローチャートである。 同じく、本実施の形態に係るシミュレーションシステムの計算機のストレージの構成の概略を説明するブロック図である。 同じく、本実施の形態に係るシミュレーションシステムの計算機のストレージにおけるシナリオデータの構成の概略を説明するブロック図である。 同じく、本実施の形態に係るシミュレーションシステムの計算機のストレージに格納されたシミュレーションプログラムにおけるタイムホイール生成モジュール  の処理の概略を説明するフローチャートである。 同じく、本実施の形態に係るシミュレーションシステムの計算機のストレージに格納されたシミュレーションプログラムにおけるイベント登録モジュールの処理の概略を説明するフローチャートである。 同じく、本実施の形態に係るシミュレーションシステムの計算機のストレージに格納されたシミュレーションプログラムにおけるイベント登録モジュールの処理の概略を説明する概念図である。 同じく、本実施の形態に係るシミュレーションシステムの使用手順の概略を説明するフローチャートである。 同じく、本実施の形態に係るシミュレーションシステムで起動されるイベントが生成されるイベントモデルの概略を説明する図である。 本発明の他の実施の形態に係るシミュレーションシステムの概略を説明する図である。
 次に、図1~図13に基づいて、本発明の実施の形態に係るシミュレーションシステムについて説明する。
 図1は、本実施の形態に係るシミュレーションシステムの概略を説明する図である。図示のように、シミュレーションシステム1は、シミュレーションモデル100を生成する計算機10によって構成される。
 シミュレーションモデル100は、本実施の形態では、自動運転車両の評価を行うものであって、評価対象となる対象物である評価車両やその他の車両、あるいは自転車や歩行者といったエンティティの活動がイベントとして登録されて、登録されたイベントが座標空間110上で起動される。
 計算機10は、ユーザUの操作によって生成したシミュレーションモデル100に基づいて対象物を評価するものであって、本実施の形態では、サーバとして機能するコンピュータ、デスクトップ型のコンピュータ、ノート型のコンピュータ、スマートフォンあるいはタブレット型コンピュータといった各種のコンピュータによって実装される。
 図2は、計算機10の構成の概略を説明するブロック図である。図示のように、計算機10は、プロセッサ11、メモリ12、ストレージ13、送受信部14、及び入出力部15を主要構成として備え、これらが互いにバス16を介して電気的に接続される。
 プロセッサ11は、計算機10の動作を制御し、各要素間におけるデータの送受信の制御や、プログラムの実行に必要な処理等を行う演算装置である。
 このプロセッサ11は、本実施の形態では例えばCPU(Central Processing Unit)であり、後述するストレージ13に格納されてメモリ12に展開されたプログラムを実行して各処理を行う。
 メモリ12は、DRAM(Dynamic Random Access Memory)等の揮発性記憶装置で構成される主記憶装置、及びフラッシュメモリやHDD(Hard Disc Drive)等の不揮発性記憶装置で構成される補助記憶装置を備える。
 このメモリ12は、プロセッサ11の作業領域として使用される一方、計算機10の起動時に実行されるBIOS(Basic Input/Output System)、及び各種の設定情報等が格納される。
 本実施の形態では、後述する階層化タイムホイールが生成される場合に、階層化タイムホイールを構成するタイムホイールがディクショナリとして登録されて、階層化タイムホイールが記憶される。
 ストレージ13は、プログラムや各種の処理に用いられる情報等が記憶されている。このストレージ13の構成については、後述する。
 送受信部14は、計算機10をインターネット網等のネットワークに接続するものであって、Bluetooth(登録商標)やBLE(Bluetooth Low Energy)といった近距離通信インターフェースを具備するものであってもよい。
 入出力部15には、入出力機器が接続されるインターフェースであって、これら入出力機器としては、例えばキーボードやマウス、ディスプレイといったものが想定される。
 バス16は、接続したプロセッサ11、メモリ12、ストレージ13、送受信部14及び入出力部15の間において、例えばアドレス信号、データ信号及び各種の制御信号を伝達する。
 図3は、メモリ12にディクショナリとして登録されて記憶された階層化タイムホイール21の構成の概略を説明する図である。図示のように、階層化タイムホイール21は、時間単位の異なる複数の時間階層にそれぞれ対応した複数のタイムホイールによって構成され、本実施の形態では、シミュレーションモデル100に応じて、「日」、「時」、「分」、「秒」及び「ミリ秒」の時間階層に対応したタイムホイール22~26によって構成される。
 図4は、階層化タイムホイール21を構成する各タイムホイール22~26の構成の概略を説明する図である。図示のように、各タイムホイール22~26は、離散的な時間の中で次の時刻と評価される時間の刻み幅がタグTとして設定され、このタグTがイベント処理の時間差分の最大数をもって環状に配列されたタイムテーブル型の記憶領域である。
 本実施の形態では、各タイムホイール22~26のタグTの数は、シミュレーションモデル100に応じて任意の数に設定される。
 例えば、「ミリ秒」の時間階層に対応したタイムホイール26の場合、本実施の形態ではタグTの数が1000タグであって、1タグあたりの刻み幅が1ミリ秒であることが基準であるところ、タグTの数を100タグとして1タグあたりの刻み幅を10ミリ秒としたり、タグTの数を10タグとして1タグあたりの刻み幅を100ミリ秒としたりすることができる。
 各タイムホイール22~26のタグTの数は、階層化タイムホイール21を生成するときのみに設定が可能であって、これにより、生成したシミュレーションモデル100が不用意に改変されることが防止される。
 このように、各タイムホイール22~26のタグTの数が任意に設定されることによって、例えばfps(frame per second)単位で映像を処理するようなシミュレーションを行う際に、スムーズに対応することができる。
 これら各タイムホイール22~26のタグTには、イベントが関連づけられて登録され、各タイムホイール22~26に予め設定された、現在時間を示す第1指示位置~第n指示位置であるアベイルA1~A5が、タグTに関連づけられたイベントの起動時間と一致した場合に、イベントが起動する。
 各タイムホイール22~26は、階層化タイムホイール21によって、メモリ12に不正に侵入するプログラムに対して隠蔽されることから、このプログラムに検知されて改変されることが防止される。
 さらに、各タイムホイール22~26は、階層化タイムホイール21によって、計算機10を操作するユーザUも不可視とされることから、ユーザUは階層化タイムホイール21を生成するに際して階層化タイムホイール21を構成する各タイムホイール22~26の設定を行う必要がない。したがって、シミュレーションを簡易に実行することができる。
 図5は、階層化タイムホイール21の作動概略を説明する図である。図示のように、「時」、「分」及び「秒」の時間階層に対応するタイムホイール23~25が構成される場合において、例えばタイムホイール24を第1タイムホイールとする。
 この場合、タイムホイール24に対して下位の時間階層である「秒」の時間階層に対応するタイムホイール25を第nタイムホイールとすれば、タイムホイール25のアベイルA4が位置する始点のタグTから終点のタグTまでイベントが進行すると、第1タイムホイールであるタイムホイール24のアベイルA3が現在のタグTから次のタグTまでイベントが進行する。
 タイムホイール24のアベイルA3が現在のタグTから次のタグTまでイベントが進行すると、本実施の形態では、タイムホイール24に対して上位の時間階層である「時」の時間階層に対応するタイムホイール23に登録されたイベントが起動する。
 図6は、階層化タイムホイール21の作動概略を説明するフローチャートである。
 例えば、階層化タイムホイール21のうち「秒」の時間階層に対応するタイムホイール25を第1タイムホイールとして第1イベントが起動され、階層化タイムホイール21のうち「ミリ秒」の時間階層に対応するタイムホイール26を第nタイムホイールとして100ミリ秒で繰り返される第nイベントが起動されるとする。
 この場合において、第nタイムホイールであるタイムホイール26の時間階層である「ミリ秒」に基づいて起動される第nイベントは、「秒」の時間階層に対応するタイムホイール25の刻み幅に含まれることから、「秒」の時間階層において第nイベントを評価するには、タイムホイール26の時間階層である「ミリ秒」に基づいて第nイベントを10回繰り返して起動する必要がある。
 しかし、第1タイムホイールであるタイムホイール25の時間階層である「秒」に基づいて第1イベント及び第nイベントを起動させると、第nイベントは、タイムホイール25の時間階層である「秒」に基づいて起動される第1イベントと同様に1回しか起動されないこととなる。
 このように、10回繰り返して起動しなければ「秒」の時間階層において適正な評価をすることができない第nイベントが、1回のイベントの起動によって「秒」の時間階層において評価されることとなれば、適正な評価を行うことができなくなるという不具合が生じる。
 そこで、本実施の形態では、ステップS1において、タイムホイール26の「ミリ秒」の時間階層に基づいて第nイベントを10回繰り返して起動する。
 第nイベントの繰り返しの起動によって、ステップS2において、第1タイムホールであるタイムホイール25の「秒」の時間階層と第nタイムホールであるタイムホイール26の「ミリ秒」の時間階層とが一致した場合、ステップS3において、第1タイムホイールであるタイムホイール25の時間階層である「秒」に基づいて第1イベント及び第nイベントを起動させる。
 上記のような構成のタイムホイールを用いてシミュレーションを行う場合、イベントが関連づけられて登録されていないタグをスキップして演算処理が実行されることから、シミュレーションにおける処理を高速で処理することができる。
 図7は、ストレージ13の構成の概略を説明するブロック図である。図示のように、ストレージ13は、ストレージ13の記憶領域に記憶されるシナリオデータ30、シミュレーションプログラム40及び三次元表示処理プログラム50を備える。
 図8は、シナリオデータ30の構成の概略を説明するブロック図である。図示のように、シナリオデータ30は、空間データD1、イベントデータD2及びエンティティデータD3によって構成される。
 空間データD1は、本実施の形態では、シミュレーションモデル100の座標空間110やこの座標空間110にエンティティである自動運転車両等が走行する路面等を生成するデータである。
 イベントデータD2は、例えば緊急車両の走行、信号の変化や歩行者の歩行等といったシミュレーションモデル100において起動するイベントを生成するデータである。
 エンティティデータD3は、本実施の形態では、対象物となる自動運転車両や他の車両、自転車あるいは歩行者等といった移動体となるエンティティを生成するデータである。
 図7で示すように、シミュレーションプログラム40は、タイムホイール生成モジュール41及びイベント登録モジュール42を備える。
 タイムホイール生成モジュール41は、本実施の形態では、シミュレーションモデル100に応じて必要となる任意のタイムホイール22~26を階層化タイムホイール21として生成するモジュールある。
 図9は、タイムホイール生成モジュール41の処理の概略を説明するフローチャートである。図示のように、タイムホイール生成モジュール41は、シミュレーションモデル100で起動するイベントの起動時間の時間階層に対応させて階層化タイムホイール21を生成する場合に、ステップS10において、生成する階層化タイムホイール21を、タイムホイール22~26ごとにメモリ12にディクショナリとして登録する。
 例えば、シミュレーションモデル100で起動するイベントの起動時間の時間階層が「時」、「分」及び「秒」に亘る場合には、生成する階層化タイムホイール21のタイムホイール23~25をメモリ12にディクショナリとして登録する。
 このように、生成するタイムホイール23~25をメモリ12にディクショナリとして登録することにより、シミュレーションモデル100に不要なタイムホイール22~26が無用に生成されることがないことから、シミュレーションシステム1の処理能力の低下が回避される。
 ステップS11において、メモリ12にディクショナリとして登録した任意のタイムホイール22~26、本実施の形態では例えばタイムホイール23~25を、階層化タイムホイール21として生成してメモリ12に記憶させる。
 階層化タイムホイール21を構成するタイムホイール23~25がメモリ12にディクショナリとして登録されて記憶されると、タイムホイール23~25と階層化タイムホイール21との関連づけがなされる。
 これにより、階層化タイムホイール21が、イベントが登録されたタイムホイール23~25をイベントの起動に向かって直接的に進行させることができる。
 続くステップS12において、シミュレーションモデル100に応じて、各タイムホイール22~26のタグTの数が任意のタグTの数に設定される。
 イベント登録モジュール42は、本実施の形態では、タイムホイール生成モジュール41で生成した階層化タイムホイール21の任意のタイムホイール22~26の任意のタグTに、イベントを関連づけて登録するモジュールである。
 任意のタイムホイール22~26に登録されるイベントには、イベント処理の時間差分が起動時間として記憶されており、イベントの起動時間が時間単位の異なる複数の時間階層に亘る場合は、階層化タイムホイール21の複数のタイムホイール22~26の全てあるいはいずれかに亘ってイベントが登録される。
 図10は、イベント登録モジュール42の処理の概略を説明するフローチャートであり、図11は、イベント登録モジュール42の処理の概略を説明する概念図である。
 図10で示すように、イベント登録モジュール42でイベントが登録される場合は、ステップS20において、複数の時間階層に亘るイベントの起動時間に対応する任意のタイムホイール22~26が階層化タイムホイール21として生成されていて任意のタイムホイール22~26がメモリ12に登録されているかどうかをディクショナリに確認する。
 例えば、イベントの起動時間の時間階層が「分」及び「秒」に亘る場合には、「分」及び「秒」の時間階層に対応するタイムホイール24、25がメモリ12に登録されているかどうかをディクショナリに確認する。
 続いて、階層化タイムホイール21の複数のタイムホイール22~26にイベントが登録される際に、ステップS21において、イベントの起動時間が時間単位の異なる複数の時間階層に亘る場合は、イベントに記憶された起動時間と実際にイベントが起動する起動時間との間に誤差が生じることとなる。
 例えば、図11(a)で示すように、「分」の時間階層に対応したタイムホイール24のアベイルA3が0分に位置し、「秒」の時間階層に対応したタイムホイール25のアベイルA4が10秒に位置する場合において、例えば、起動時間が2分10秒として記憶されたイベントXがタイムホイール24に登録される。
 このとき、タイムホイール24に対して下位の時間階層である「秒」の時間階層に対応するタイムホイール25を第nタイムホイールとすれば、タイムホイール25のアベイルA4が位置する10秒のタグTを始点としてイベントXが進行して50秒が経過し、タイムホイール25のアベイルA4が0秒のタグTを終点としてイベントXが進行する。
 これに伴って、「分」の時間階層においてイベントXの起動に向かってタイムホイール24のアベイルA3が0分のタグTから1分のタグTに位置して、イベントXが進行する。
 その後、図11(b)で示すように、タイムホイール24のアベイルA3が2分のタグTに位置し、タイムホイール25のアベイルA4が10秒のタグTに位置すると、起動時間が2分10秒として記憶されたイベントXが起動する。
 しかし、イベントXがタイムホイール24に登録された際にアベイルA3及びアベイルA4が位置していた時間は0分10秒であることから、起動時間が2分10秒として記憶されたイベントXは、アベイルA3及びアベイルA4が2分20秒に位置したときに起動することが想定されていたはずである。
 このように、アベイルA3が位置する時間とアベイルA4が位置する時間との差分に基づいて、イベントXに記憶された起動時間と実際にイベントXが起動する起動時間との間に誤差が生じる。
 このとき、図10で示すように、ステップS22において、最も上位の時間階層の任意のタイムホイール22~25よりも下位の時間階層の任意のタイムホイール23~26の任意のアベイルA2~A5が位置する時間がオフセット補正値として記憶される。
 例えば、図11(a)及び図11(b)で示すように、イベントXがタイムホイール24に登録される際に、下位タイムホイールであるタイムホイール25のアベイルA4が位置する10秒がオフセット補正値として記憶される。
 これにより、「秒」の時間階層に対応するタイムホイール25においてイベントXが進行する際にオフセット補正値が付加されて、イベントXに記憶された起動時間と実際にイベントXが起動する起動時間との間に生じる誤差が調整される。
 したがって、本実施の形態では、イベントXは、アベイルA3及びアベイルA4が2分20秒に位置したときに起動することとなる。
 図7で示すように、三次元表示処理プログラム50は、シミュレーションモデル100を計算機10に接続されるディスプレイに三次元で表示するように処理するプログラムである。
 次に、本実施の形態のシミュレーションシステム1の使用手順を説明する。
 図12は、シミュレーションシステム1の使用手順の概略を説明するフローチャートである。本実施の形態では、まず、シミュレーションモデル100及びシミュレーションモデル100で起動されるイベントに応じて生成される階層化タイムホイール21が、タイムホイール22~26ごとにメモリ12にディクショナリとして登録され、図示のように、ステップS100において、階層化タイムホイール21が生成される。
 例えば、イベントの起動時間が「時」の時間階層、「分」の時間階層及び「秒」の時間階層に亘る場合には、タイムホイール23~25がディクショナリとして登録されて記憶され、タイムホイール23~25によって階層化タイムホイール21が生成される。
 このとき、タイムホイール23~25のタグTの数は、シミュレーションモデル100に応じた任意の数が設定される。
 続いて、ステップS101において、イベントが登録される。登録されるイベントは、本実施の形態では、図13で示すように、イベントデータD2として作成されたイベントモデルMの派生から生成されており、シミュレーションモデル100に基づいた任意のイベントが登録される。
 本実施の形態では、例えば、エンティティデータD3に基づいて生成されるエンティティである評価車両や、同じくエンティティである緊急車両や自転車といった他の車両等が座標空間110に出現する時間や位置等がイベントとして登録される。
 ステップS101では、イベントの起動時間に対応するタイムホイール23~25が階層化タイムホイール21としてメモリ12に登録されているかどうかがディクショナリに確認される。
 タイムホイール23~25にイベントが登録される際に、登録されるイベントの起動時間が時間単位の異なる複数の時間階層に亘る場合は、本実施の形態では、タイムホイール24、25のアベイルA3、A4が位置する時間がオフセット補正値として記憶される。
 次に、ステップS102において、シミュレーションモデル100に基づいてシミュレーションが実行され、評価車両の自動運転に関するシミュレーションに基づいて、評価車両の自動運転が評価される。このとき、シミュレーションモデル100は、本実施の形態では、計算機10に接続されるディスプレイに三次元で表示される。
 このように、本実施の形態のシミュレーションシステム1によれば、時間単位の異なる複数の時間階層に亘る起動時間が記憶されたイベントを、各時間階層に対応するタイムホイール22~26に登録できるように、階層化タイムホイール21を生成することができる。
 さらに、イベント登録モジュール42によって記憶されたオフセット補正値に基づいて、イベントに記憶された起動時間と実際にイベントが起動する起動時間との間に生じる誤差が調整されることから、所望の起動時間にイベントを起動させることができる。
 したがって、シミュレーションモデルに応じて正確な起動時間でイベントが起動されるように柔軟に階層化タイムホイール21を構築することができることから、汎用性に富んだシミュレーションシステム1が実現される。
(他の実施の形態)
 次に、図14に基づいて、本発明の他の実施の形態に係るシミュレーションシステム2について説明する。
 なお、シミュレーションシステム2において、シミュレーションシステム1と同様の構成には同一の符号を付して、その説明を省略する。
 図示のように、シミュレーションシステム2は、計算機10、計算機10上で実行される階層化タイムホイール21、階層化タイムホイール21を生成するとともに生成した階層化タイムホイール21にイベントを登録するシミュレーションプログラム40、及び階層化タイムホイール21上でエンティティを生成するアプリケーションソフトウェア60を備える階層モデルによって実現される。
 このシミュレーションシステム2では、シミュレーションモデルをシミュレーションする計算機10のOS(Operating System)として、階層化タイムホイール21を用いることができる。
 一方、シミュレーションシステム2では、階層化タイムホイール21上にイベントとして登録されて座標空間に配置されるエンティティを生成するアプリケーションソフトウェア60を開発する環境が、例えばAPI(Application Programming Interface)によって提供される、あるいはアプリケーションソフトウェア60のソースコードを公開することによって提供される。
 アプリケーションソフトウェア60は、本実施の形態では、シミュレーションモデルに含まれて座標空間に配置されるエンティティを生成するものである。
 アプリケーションソフトウェア60としては、例えば、シミュレーションモデル100であれば、自動運転車両や他の車両といった移動体を生成する移動体生成アプリケーションソフトウェア、座標空間110や座標空間110に自動運転車両等が走行する路面といった空間を生成する空間生成アプリケーションソフトウェア等が想定される。
 さらに、例えば、移動体の進行方向を制御する方向制御アプリケーションソフトウェアや、シミュレーションモデル100のディスプレイへの表示を制御する表示制御アプリケーションソフトウェア等、エンティティのユーティリティに関するアプリケーションソフトウェアも想定される。
 なお、アプリケーションソフトウェア60によってシミュレーションプログラム40が実装されるように構成することもできる。
 このように、本実施の形態のシミュレーションシステム2によれば、階層化タイムホイール21を構成する各タイムホイール22~26が階層化タイムホイール21によって隠蔽されて計算機10上で実行されることから、メモリ12に不正に侵入するプログラムに検知されて階層化タイムホイール21が改変されることが防止される。
 一方で、各タイムホイール22~26は、階層化タイムホイール21によって、アプリケーションソフトウェア60を開発する開発者にも不可視とされることから、開発者はアプリケーションソフトウェア60を開発するに際して階層化タイムホイール21を構成する各タイムホイール22~26の設定を行う必要がなく、アプリケーションソフトウェア60の開発を簡易に実行することができる。
 したがって、メモリ12に侵入するプログラムに階層化タイムホイール21が改変されることのない安全な環境において、各タイムホイール22~26を意識することなく生成されたアプリケーションソフトウェア60を用いながら、シミュレーションモデルに応じて柔軟に階層化タイムホイール21を構築することができることから、汎用性に富んだシミュレーションシステム2が実現される。
 なお、本発明は上記実施の形態及び上記他の実施の形態に限定されることはなく、発明の趣旨を逸脱しない範囲で種々の変更が可能である。
 上記実施の形態では、シミュレーションモデル100が自動運転車両の評価である場合を説明したが、例えば鉄道交通網やバス交通網の運行評価、軍隊の行動評価、航空管制システムの評価、ドローンの飛行進路の評価等、各種の評価に用いることができる。
1、2  シミュレーションシステム
10  計算機
21  階層化タイムホイール
22~26  タイムホイール
40  シミュレーションプログラム
41  タイムホイール生成モジュール
42  イベント登録モジュール
60  アプリケーションソフトウェア
A1~A5  アベイル(第1指示位置~第n指示位置)
D2  イベントデータ
T  タグ

Claims (13)

  1.  任意の座標空間において起動する起動時間が記憶された複数のイベントによって構成されるシミュレーションモデルをシミュレーションするシミュレーションシステムにおいて、
     離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されて該タグに前記イベントが関連づけられて登録される複数のタイムホイールを時間単位の異なる複数の時間階層に亘る前記イベントの前記起動時間に対応させて階層化タイムホイールとして生成するタイムホイール生成モジュールと、
     該タイムホイール生成モジュールで生成した前記階層化タイムホイールの複数の前記タイムホイールの前記タグに前記イベントを関連づけて登録することによって前記イベントを登録するイベント登録モジュールと、を備え、
     前記階層化タイムホイールのうち任意の前記時間階層に対応する前記タイムホイールを第1タイムホイールとした場合に該第1タイムホイールに予め設定された現在時間を示す第1指示位置と前記第1タイムホイールに対して下位の前記時間階層に対応するタイムホイールを第nタイムホイールとした場合に該第nタイムホイールに予め設定された現在時間を示す第n指示位置との差分に基づいて前記イベントに記憶された前記起動時間と実際に前記イベントが起動する前記起動時間との間に生じる誤差を調整し、
     前記第1タイムホイールの前記第1指示位置及び前記第nタイムホイールの前記第n指示位置が前記タグに関連づけられた前記イベントの前記起動時間と一致した場合に前記イベントが起動する、
     ことを特徴とするシミュレーションシステム。
  2.  前記タイムホイール生成モジュールは、
     前記階層化タイムホイールが生成される際に前記タグの数を前記シミュレーションモデルに応じて任意の数に設定することを特徴とする請求項1に記載のシミュレーションシステム。
  3.  前記タイムホイール生成モジュールは、
     前記イベントの前記起動時間の前記時間階層に対応させて生成する前記階層化タイムホイールの複数の前記タイムホイールをメモリに登録し、
     前記イベント登録モジュールは、
     前記タイムホイール生成モジュールが前記メモリに登録した前記階層化タイムホイールの複数の前記タイムホイールの前記タグに前記イベントを関連づけて登録する、
     ことを特徴とする請求項1または2に記載のシミュレーションシステム。
  4.  前記イベント登録モジュールは、
     前記階層化タイムホイールのうち前記第nタイムホイールの前記第n指示位置が示す前記現在時間をオフセット補正値として記憶し、
     前記イベントを起動する際に前記オフセット補正値に基づいて前記イベントの前記起動時間の誤差を調整することを特徴とする請求項1~3のいずれか1項に記載のシミュレーションシステム。
  5.  前記タイムホイール生成モジュールで生成した前記階層化タイムホイールを構成する複数の前記時間階層に対応する前記タイムホイールが記憶され、該タイムホイールが記憶されることによって該タイムホイールと前記階層化タイムホイールとが関連づけられることを特徴とする請求項1~4のいずれか1項に記載のシミュレーションシステム。
  6.  前記階層化タイムホイールのうち前記第nタイムホイールの前記時間階層において前記イベントの起動に向かって前記第nタイムホイールの前記タグの始点から前記タグの終点まで前記イベントを進行させたときに前記第1タイムホイールの前記時間階層において前記イベントの起動に向かって前記第1タイムホイールの現在の前記タグから次の前記タグまで前記イベントを進行させることを特徴とする請求項1~5のいずれか1項に記載のシミュレーションシステム。
  7.  前記第1タイムホイールに対して上位の前記時間階層に対応するタイムホイールが存在する場合において、前記第1タイムホイールの前記時間階層において前記イベントの起動に向かって前記第1タイムホイールの現在の前記タグから次の前記タグまで前記イベントを進行させることによって上位の前記時間階層に対応する前記タイムホイールの前記タグに関連づけられた前記イベントを起動させることを特徴とする請求項6に記載のシミュレーションシステム。
  8.  前記階層化タイムホイールのうち前記第1タイムホイールを基準として起動される前記イベントを第1イベントとし、かつ前記階層化タイムホイールのうち前記第nタイムホイールを基準として起動される前記イベントを第nイベントとし、前記第1タイムホイールに対応する前記時間階層に基づいて前記第1イベント及び前記第nイベントを起動する場合に、前記第1タイムホイールの前記時間階層と前記第nタイムホイールの前記時間階層とが一致するように前記第nタイムホイールに対応する前記時間階層に基づいて前記第nイベントを繰り返して起動させることを特徴とする請求項1~7のいずれか1項に記載のシミュレーションシステム。
  9.  前記イベント登録モジュールは、
     前記シミュレーションモデルに含まれて前記座標空間に配置されるエンティティが活動を開始する時間を前記タイムホイールの前記タグに関連づけて前記イベントとして登録することを特徴とする請求項1~8のいずれか1項に記載のシミュレーションシステム。
  10.  前記シミュレーションモデルが自動運転車両の評価であることを特徴とする請求項1~9のいずれか1項に記載のシミュレーションシステム。
  11.  任意の座標空間において起動する起動時間が記憶された複数のイベントによって構成されるシミュレーションモデルをシミュレーションする計算機を備えるシミュレーションシステムにおいて、
     時間単位の異なる複数の時間階層に亘る前記イベントの前記起動時間に対応せしめられて生成される、離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されて該タグに前記イベントが関連づけられて登録される複数のタイムホイールによって構成され、該各タイムホイールが隠蔽された状態において前記計算機上で実行される階層化タイムホイールと、
     該階層化タイムホイールを生成し、生成した前記階層化タイムホイールの複数の前記タイムホイールの前記タグに前記イベントを関連づけて登録することによって前記イベントを登録するシミュレーションプログラムと、
     前記シミュレーションモデルに含まれて前記座標空間に配置されるエンティティを生成するアプリケーションソフトウェアと、
     を備えることを特徴とするシミュレーションシステム。
  12.  任意の座標空間において起動する起動時間が記憶された複数のイベントによって構成されるシミュレーションモデルをシミュレーションするシミュレーションプログラムにおいて、
     離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されて該タグに前記イベントが関連づけられて登録される複数のタイムホイールを時間単位の異なる複数の時間階層に亘る前記イベントの前記起動時間に対応させて階層化タイムホイールとして生成するタイムホイール生成モジュールと、
     該タイムホイール生成モジュールで生成した前記階層化タイムホイールの複数の前記タイムホイールの前記タグに前記イベントを関連づけて登録することによって前記イベントを登録するイベント登録モジュールと、を備え、
     前記階層化タイムホイールのうち任意の前記時間階層に対応する前記タイムホイールを第1タイムホイールとした場合に該第1タイムホイールに予め設定された現在時間を示す第1指示位置と前記第1タイムホイールに対して下位の前記時間階層に対応するタイムホイールを第nタイムホイールとした場合に該第nタイムホイールに予め設定された現在時間を示す第n指示位置との差分に基づいて前記イベントに記憶された前記起動時間と実際に前記イベントが起動する前記起動時間との間に生じる誤差を調整し、
     前記第1タイムホイールの前記第1指示位置及び前記第nタイムホイールの前記第n指示位置が前記タグに関連づけられた前記イベントの前記起動時間と一致した場合に前記イベントが起動する、
     ことを特徴とするシミュレーションプログラム。
  13.  任意の座標空間において起動する起動時間が記憶された複数のイベントによって構成されるシミュレーションモデルをシミュレーションするシミュレーション方法において、
     離散的な時間の中で次の時刻と評価される時間の刻み幅がタグとして複数設定されて該タグに前記イベントが関連づけられて登録される複数のタイムホイールを時間単位の異なる複数の時間階層に亘る前記イベントの前記起動時間に対応させて階層化タイムホイールとして生成し、
     生成した前記階層化タイムホイールの複数の前記タイムホイールの前記タグに前記イベントを関連づけて登録することによって前記イベントを登録し、
     前記階層化タイムホイールのうち任意の前記時間階層に対応する前記タイムホイールを第1タイムホイールとした場合に該第1タイムホイールに予め設定された現在時間を示す第1指示位置と前記第1タイムホイールに対して下位の前記時間階層に対応するタイムホイールを第nタイムホイールとした場合に該第nタイムホイールに予め設定された現在時間を示す第n指示位置との差分に基づいて前記イベントに記憶された前記起動時間と実際に前記イベントが起動する前記起動時間との間に生じる誤差を調整し、
     前記第1タイムホイールの前記第1指示位置及び前記第nタイムホイールの前記第n指示位置が前記タグに関連づけられた前記イベントの前記起動時間と一致した場合に前記イベントが起動する、
     ことを特徴とするシミュレーション方法。
PCT/JP2020/032194 2019-08-26 2020-08-26 シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法 WO2021039845A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021542966A JP7182042B2 (ja) 2019-08-26 2020-08-26 シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法
EP20859253.5A EP4024410A4 (en) 2019-08-26 2020-08-26 SIMULATION SYSTEM, SIMULATION PROGRAM AND SIMULATION PROCEDURE
US17/631,823 US20220277115A1 (en) 2019-08-26 2020-08-26 Simulation system, simulation program, and simulation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-154125 2019-08-26
JP2019154125 2019-08-26

Publications (1)

Publication Number Publication Date
WO2021039845A1 true WO2021039845A1 (ja) 2021-03-04

Family

ID=74685891

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/032194 WO2021039845A1 (ja) 2019-08-26 2020-08-26 シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法

Country Status (4)

Country Link
US (1) US20220277115A1 (ja)
EP (1) EP4024410A4 (ja)
JP (1) JP7182042B2 (ja)
WO (1) WO2021039845A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113792434A (zh) * 2021-09-16 2021-12-14 民航数据通信有限责任公司 一种空域仿真模型的校准方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340290A (ja) 1997-06-06 1998-12-22 Nec Corp 論理シミュレーション方式
JPH11317743A (ja) * 1998-03-18 1999-11-16 Nec Corp Atmネットワ―クの時間ベ―ス・スケジュ―ラ・ア―キテクチャ及び方法
JP2001256267A (ja) * 2000-03-09 2001-09-21 Hitachi Ltd 並列分散シミュレーション方式

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768889B2 (ja) * 1993-06-07 1998-06-25 株式会社東芝 論理シミュレーション装置
JPH07110826A (ja) * 1993-10-14 1995-04-25 Hitachi Ltd ミックスモードシミュレーション方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340290A (ja) 1997-06-06 1998-12-22 Nec Corp 論理シミュレーション方式
JPH11317743A (ja) * 1998-03-18 1999-11-16 Nec Corp Atmネットワ―クの時間ベ―ス・スケジュ―ラ・ア―キテクチャ及び方法
JP2001256267A (ja) * 2000-03-09 2001-09-21 Hitachi Ltd 並列分散シミュレーション方式

Also Published As

Publication number Publication date
EP4024410A4 (en) 2023-08-30
EP4024410A1 (en) 2022-07-06
JP7182042B2 (ja) 2022-12-02
JPWO2021039845A1 (ja) 2021-03-04
US20220277115A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
CN103106182B (zh) 使用自动多级子结构化生成子结构
CN109204324A (zh) 用于操作自动驾驶车辆的集中调度系统
US10395549B2 (en) Simulation platform module
CN104903845A (zh) 反应式广告格式
JP2004528637A5 (ja)
WO2021039845A1 (ja) シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法
US20200159685A1 (en) Coordinated component interface control framework
US11126190B2 (en) Learning systems and methods
CN114995629B (zh) 振动方法和振动装置
US20120215407A1 (en) Vehicle Management and Control System
US20200159570A1 (en) Executable Component Interface and Controller
US20210024088A1 (en) Robust autonomous drive design
US20150186801A1 (en) License control
KR20220065935A (ko) 산업 안전 가상 훈련 시스템 및 그 방법
WO2021054267A1 (ja) シミュレーションシステム、シミュレーションプログラム及びシミュレーション方法
JP2008287365A (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
US10303462B2 (en) Windows support of a pluggable ecosystem for universal windows application stores
US20180157627A1 (en) Tool for providing actionable functionality on a website
JP2022507939A (ja) 調整されたコンポーネントインターフェース制御フレームワーク
US20060111988A1 (en) Method and apparatus integrating navigation and saving the writable state of applications
US20210201113A1 (en) Parallel execution of gated activation unit operations
KR20210047666A (ko) 연속데이터 기반 무결성 부여 해쉬체인 생성장치 및 해쉬체인 생성방법
Mundhenk et al. Fusion: A Safe and Secure Software Platform for Autonomous Driving
JP7429809B2 (ja) 自律運転シミュレーションのためのシナリオを作成する装置と方法
US10621312B2 (en) Method for operating a computer system to authorize use of software on a process computer

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20859253

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021542966

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020859253

Country of ref document: EP

Effective date: 20220328