WO2022120717A1 - Procédé de planification de tâche de simulation, procédé d'exécution, procédé et dispositif de mise en œuvre de simulation - Google Patents

Procédé de planification de tâche de simulation, procédé d'exécution, procédé et dispositif de mise en œuvre de simulation Download PDF

Info

Publication number
WO2022120717A1
WO2022120717A1 PCT/CN2020/135262 CN2020135262W WO2022120717A1 WO 2022120717 A1 WO2022120717 A1 WO 2022120717A1 CN 2020135262 W CN2020135262 W CN 2020135262W WO 2022120717 A1 WO2022120717 A1 WO 2022120717A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulation
task
software
content
node
Prior art date
Application number
PCT/CN2020/135262
Other languages
English (en)
Chinese (zh)
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 PCT/CN2020/135262 priority Critical patent/WO2022120717A1/fr
Priority to CN202080004954.3A priority patent/CN112639734B/zh
Publication of WO2022120717A1 publication Critical patent/WO2022120717A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Definitions

  • the present application relates to a simulation technology, and in particular, to a simulation task scheduling method, a simulation task execution method, a simulation implementation method, a simulation task scheduling device, a simulation task execution device, a simulation implementation device, a computing device and a storage medium.
  • simulation verification methods such as model-in-the-loop (MIL) simulation, software-in-the-loop (SIL) simulation, and hardware-in-the-loop (HIL) simulation can be used respectively.
  • MIL model-in-the-loop
  • SIL software-in-the-loop
  • HIL hardware-in-the-loop
  • simulation cloud platforms built and developed using self-developed or third-party simulation software, which are provided to external developers for access.
  • Examples include the Waymo CarCraft platform provided by Google, the Apollo Dreamland platform of Baidu, and the TAD Sim platform of Tencent.
  • This type of platform often requires the development of a complete set of mature self-developed simulation software, which requires a large investment and a long development cycle.
  • developers who access the platform they rely heavily on the self-developed simulation software provided by the platform, and it is difficult to transplant scenario use cases to other platforms.
  • simulation platforms based on a third-party simulation software have relatively simple functions, and can only be simulated and verified based on the third-party simulation software and a single type supported by the simulation software, and cannot support multiple types such as MIL, SIL, and HIL. simulation verification.
  • the present application provides a simulation task scheduling method, a simulation task execution method, a simulation implementation method, a simulation task scheduling device, a simulation task execution device, a simulation implementation device, a computing device and a storage medium, so as to support Simulate using multiple simulation software and/or support multiple simulation types.
  • a simulation task scheduling method including:
  • First content of a simulation task is defined according to the task element, and the first content includes at least one of the following: simulation type and simulation software;
  • the simulation task is scheduled to a simulation node matching the first content.
  • One possible implementation manner is that the task element input by the user can be received through a web interface or a client interface, and the defined simulation task is scheduled by the network-side platform. And it can support simultaneous input of multiple users through different user terminal-side interfaces at the same time.
  • the simulation task scheduling method can receive simulation tasks including simulation types and/or used simulation software, and send them to the simulation tasks that can process the simulation tasks.
  • the simulation type and/or the simulation node that can run the simulation software are scheduled, and the scheduling method can be scheduled to different simulation nodes according to different simulation software and different simulation types, so that in the process of simulation implementation, different simulation software, different Emulation type support. Therefore, through the definition of simulation tasks that can carry out different simulation types and simulation software, and through the mixed scheduling of corresponding different task queues, it can be used to connect simulation nodes that support different simulation types and/or simulation software, and quickly build support.
  • the scheduling of the simulation task to a simulation node matching the first content includes:
  • different task queues in at least one task queue correspond to at least one of the following: different simulation types and different simulation software.
  • One of the possible ways is to set different task queues corresponding to the first content, such as setting task queues corresponding to different simulation types, or task queues corresponding to different simulation software, or setting different types of task queues combined with different simulation software Task queue, through multiple task queues, the concurrent reception and transmission of tasks can be realized, which improves the efficiency of simulation task scheduling. Moreover, by assigning different simulation tasks to the corresponding queues, the simulation tasks can be scheduled to simulation nodes. At the time, it is not necessary to further judge the simulation type and/or simulation software of the simulation task according to the simulation task, which can further improve the scheduling efficiency of the simulation task.
  • simulation tasks When multiple simulation tasks are concurrent, they can be scheduled to different multiple simulation nodes; on the other hand, a single simulation node has multiple execution units, which can support the simultaneous execution of multiple tasks.
  • the distributed scheduling can effectively speed up the execution rate of simulation tasks and improve the utilization rate of the simulation machine, and can be used for uninterrupted batch execution of simulation tasks.
  • it in the process of simulation task scheduling, it can be automatically dispatched to low-load simulation nodes based on load balancing reception.
  • the method further includes: determining, according to registration information of at least one simulation node, the one simulation node that matches the first content; wherein the registration information includes at least one of the following: Supportable simulation types and runnable simulation software.
  • One of the possible ways is to record the registration information of each simulation node through the registry, and update the registry information when a new simulation node is added. Automatic registration of relevant information, and then can match the simulation node to which simulation task is to be scheduled according to the registration information.
  • the content of at least one of the following simulation tasks is also defined according to the task element: simulation project, control model, use case script, simulation rate, whether to display simulation animation, whether to display simulation animation or not. Save the simulation animation.
  • the content of the required simulation task can be defined as required.
  • One of the possible ways is to define it in the form of templates.
  • the simulation type is defined by one of the following information contained in the task element: model-in-the-loop simulation test MIL, software-in-the-loop simulation test SIL, processor-in-the-loop simulation test Simulation test PIL, hardware-in-the-loop simulation test HIL;
  • the simulation software is defined by the identification of the simulation software contained in the task element; the simulation project is defined by the identification of the simulation project contained in the task element; the control model is defined by the identification of the control model contained in the task element.
  • the use case script is defined by the identifier of the use case script contained in the task element.
  • this implementation can support several types of MIL, SIL, PIL, and HIL, that is, simulation tests corresponding to these four different stages, so that the present application can support different types of simulation tests.
  • a second aspect of the present application provides a simulation task execution method, including:
  • the first content of the simulation task includes at least one of the following: simulation type, simulation software;
  • the simulation task is performed by simulation software matching the first content.
  • the simulation software can execute the simulation task accordingly, especially when the simulation nodes can run multiple simulation types and/or simulation software.
  • the corresponding simulation can be run accurately in this way.
  • the simulation task further includes a simulation project, a control model or a use case script; the method further includes: acquiring a corresponding entity file for executing the simulation task from a file system.
  • the simulation task further includes a simulation rate, whether to display the simulation animation or whether to save the simulation animation.
  • the simulation task can be executed according to different contents of the simulation task, so as to realize flexible configuration when the simulation task is executed.
  • the method further includes: receiving an emulation control instruction through an emulation control port; and controlling the running of the emulation software according to the emulation control instruction.
  • an achievable way is that the user inputs the simulation control command through the interface, for example, the input of the control command is realized by controlling the control provided by the interface, and accordingly, the simulation control command is interacted with the simulation node to control the simulation in real time.
  • the operation of the simulation software on the node such as the control of the simulation running rate, pause, resume, etc., or the control of requesting process data.
  • the method further includes: acquiring simulation animation data from the simulation software, and outputting the simulation animation data through a simulation animation transmission port.
  • the simulation animation data can be obtained in real time, and output to the interface for display to the user.
  • a third aspect of the present application provides a simulation implementation method, including:
  • the complete simulation from the simulation task scheduling to the execution of the simulation task is realized, and it has the effect of any of the simulation task scheduling methods provided in the first aspect above, and has the simulation task provided in the second aspect above.
  • the effect of the executed method is realized, and it has the effect of any of the simulation task scheduling methods provided in the first aspect above, and has the simulation task provided in the second aspect above. The effect of the executed method.
  • a fourth aspect of the present application provides a simulation task scheduling device, including:
  • the receiving module is used to receive task elements
  • a processing module configured to define a first content of a simulation task according to the task element, the first content including at least one of the following: simulation type, simulation software; and for matching the simulation task to the first content
  • An emulation node scheduler for content configured to define a first content of a simulation task according to the task element, the first content including at least one of the following: simulation type, simulation software; and for matching the simulation task to the first content
  • the receiving module may receive task elements input by the user through a web interface or a client interface, and the processing module defines a simulation task and executes the scheduling. And it can support simultaneous input of multiple users through different user terminal-side interfaces at the same time.
  • the simulation task scheduling device can receive simulation tasks containing simulation types and/or used simulation software, and send the simulation tasks to the simulation tasks that can process the simulation tasks.
  • the simulation type and/or the simulation node that can run the simulation software are scheduled, and the scheduling device can be scheduled to different simulation nodes according to different simulation software and different simulation types, so that in the process of simulation implementation, different simulation software, different Emulation type support. Therefore, through the definition of simulation tasks that can carry out different simulation types and simulation software, and through the mixed scheduling of corresponding different task queues, it can be used to connect simulation nodes that support different simulation types and/or simulation software, and quickly build support.
  • the processing module is configured to: schedule to a simulation node matching the first content through a task queue corresponding to the first content of the simulation task; wherein, Different task queues in at least one task queue correspond to at least one of the following: different simulation types, different simulation software.
  • One of the possible ways is to set different task queues corresponding to the first content, such as setting task queues corresponding to different simulation types, or task queues corresponding to different simulation software, or setting different types of task queues combined with different simulation software Task queue, through multiple task queues, the concurrent reception and transmission of tasks can be realized, which improves the efficiency of simulation task scheduling.
  • different simulation tasks are allocated to the corresponding queues, which can realize the scheduling of simulation tasks. When the simulation node is reached, it is not necessary to further judge the simulation type and/or simulation software of the simulation task according to the simulation task, which can further improve the efficiency of simulation task scheduling.
  • simulation tasks When multiple simulation tasks are concurrent, they can be scheduled to different multiple simulation nodes; on the other hand, a single simulation node has multiple execution units, which can support the simultaneous execution of multiple tasks.
  • the distributed scheduling can effectively speed up the execution rate of simulation tasks and improve the utilization rate of the simulation machine, and can be used for uninterrupted batch execution of simulation tasks.
  • it in the process of simulation task scheduling, it can be automatically dispatched to low-load simulation nodes based on load balancing reception.
  • the processing module is further configured to determine, according to registration information of at least one simulation node, the one simulation node that matches the first content; wherein the registration information includes at least one simulation node One of the following: supported emulation types, runnable emulation software.
  • One of the possible ways is to record the registration information of each simulation node through the registry, and update the registry information when a new simulation node is added. Automatic registration of relevant information. Further, the processing module can match the simulation node to which the simulation task is to be dispatched accordingly.
  • the processing module is further configured to further define the content of at least one of the following of the simulation task according to the task element: simulation engineering, control model, use case script, simulation rate , Whether to display the simulation animation, whether to save the simulation animation.
  • the content of the required simulation task can be defined as required.
  • One of the possible ways is to define it in the form of templates.
  • the simulation type is defined by one of the following information contained in the task element: model-in-the-loop simulation test MIL, software-in-the-loop simulation test SIL, processor-in-the-loop simulation test Simulation test PIL, hardware-in-the-loop simulation test HIL; simulation software is defined by the identification of the simulation software included in the task element; the simulation project is defined by the identification of the simulation project included in the task element; the control The model is defined by the identifier of the control model contained in the task element; the use case script is defined by the identifier of the use case script contained in the task element.
  • this implementation can support several types of MIL, SIL, PIL, and HIL, that is, simulation tests corresponding to these four different stages, so that the present application can support different types of simulation tests.
  • a fifth aspect of the present application provides a simulation task execution device, including:
  • a receiving module configured to receive a scheduled simulation task;
  • the first content of the simulation task includes at least one of the following: simulation type and simulation software;
  • a processing module configured to execute the simulation task by using simulation software matching the first content.
  • the simulation software can execute the simulation task accordingly, especially when the simulation nodes can run multiple simulation types and/or simulation software.
  • the corresponding simulation can be run accurately in this way.
  • the simulation task further includes a simulation project, a control model or a use case script; the processing module is further configured to obtain a corresponding entity file for executing the simulation task from a file system .
  • the corresponding entity files are obtained from the file system through the processing module, which facilitates the sharing of the entity files of simulation projects, control models or use case scripts, facilitates the use of different users, and facilitates the loading and use of different simulation software.
  • the simulation task further includes the simulation rate, whether to display the simulation animation or whether to save the simulation animation.
  • the simulation task can be executed according to different contents of the simulation task, so as to realize flexible configuration when the simulation task is executed.
  • the receiving module is further configured to receive an emulation control instruction through an emulation control port; the processing module is further configured to control the running of the emulation software according to the emulation control instruction.
  • an achievable way of receiving the module is that the user inputs the simulation control command through the interface, for example, the input of the control command is realized by manipulating the control provided by the interface, and accordingly, the simulation control command is interacted with the simulation node, to Real-time control of the operation of the simulation software on the simulation node, such as control of the simulation running rate, pause, resume, etc., or control of requesting process data.
  • the apparatus further includes: a sending module, configured to acquire simulation animation data from the simulation software, and output the simulation animation data through a simulation animation transmission port.
  • the simulation animation data acquired in real time can be output to the interface and displayed to the user.
  • a sixth aspect of the present application provides a simulation implementation device, including: any of the simulation task scheduling devices provided in the fourth aspect; and the simulation task execution device provided in the fifth aspect.
  • a seventh aspect of the present application provides a computing device, comprising: a communication interface, and at least one processor; wherein the at least one processor is configured to execute program instructions, the program instructions when executed by the at least one processor causing the computing device to implement the method of any one of the first aspect above, or the program instructions, when executed by the at least one processor, cause the computing device to implement the method of any one of the second aspect above method.
  • An eighth aspect of the present application provides a computer-readable storage medium on which program instructions are stored, and when executed by a computer, the program instructions cause the computer to implement any of the methods described in the first aspect above, or, The program instructions, when executed by the computer, cause the computer to implement the method of any one of the second aspects above.
  • Type of simulation node for simulation verification specifically, has the following main characteristics:
  • High-efficiency and high-concurrency distributed simulation task scheduling supports mixed scheduling of multi-type simulation tasks, and can be used for large-scale simulation testing and verification without relying on high-performance simulators.
  • one of the technologies that embody high-efficiency scheduling is that in the process of simulation task scheduling, it can be automatically dispatched to low-load simulation nodes based on load balancing reception.
  • one of the technologies that reflects distributed high-concurrency scheduling is: when multiple simulation tasks are concurrent, they can be scheduled to different multiple simulation nodes; on the other hand, a single simulation node has multiple execution units, which can support multiple tasks at the same time. implement.
  • the distributed scheduling can effectively speed up the execution rate of simulation tasks and improve the utilization rate of the simulation machine, and can be used for uninterrupted batch execution of simulation tasks.
  • the task definition stage supports the selection of MIL/SIL/HIL and other simulation types, and the establishment of labels for simulation nodes can deal with various types of simulation tasks
  • the simulation task scheduling stage is scheduled according to the defined simulation nodes.
  • the simulation resources and execution process of the corresponding type of simulation task are arranged according to the simulation type in the execution node.
  • the real-time interactive control simulation experience can be supported, and the real-time state and result output of the simulation process can provide sufficient means for verifying simulation problems.
  • the real-time simulation interaction includes: after the simulation starts, you can view the real-time simulation animation, simulation status and log information through the platform, and send simulation control commands.
  • the simulation problem can be analyzed and located according to the simulation log and result data.
  • simulation scenarios and use case evaluation reports can be provided.
  • the platform supports multi-user login and provides user simulation resource management functions.
  • the framework supports user registration and authority management, and also supports receiving different simulation task definition task elements input by different users through different interfaces of different user terminals at the same time, so as to realize concurrent task definition.
  • the user can manage the user simulation project and the simulation scene under the project, the simulation vehicle, the simulation use case script and other resources through the interface.
  • Emulator resources are centrally managed by establishing a resource pool for unified scheduling.
  • a unified simulation entry is provided for different users. Users only need to fill in the required elements of the displayed task definition according to the interface, which shields the use details of the simulation software and reduces the cost of learning and using the simulation software.
  • Fig. 1 is the flow chart of the first embodiment of the simulation task scheduling method of the present application
  • Fig. 2 is the flow chart of the first embodiment of the simulation task execution method of the present application
  • Fig. 3 is the flow chart of the first embodiment of the simulation implementation method of the present application.
  • 6A is an interactive schematic diagram of an embodiment of the simulation task scheduling of the present application.
  • FIG. 6B is a schematic diagram of interacting with a simulation node through an interface in the present application.
  • FIG. 8 is a flowchart of a second embodiment of the simulation implementation method of the present application.
  • FIG. 9 is a flowchart of a third embodiment of the simulation implementation method of the present application.
  • FIG. 10 is a schematic diagram of the first embodiment of the simulation task scheduling apparatus of the present application.
  • FIG. 11 is a schematic diagram of the first embodiment of the simulation task execution device of the present application.
  • FIG. 12 is a schematic diagram of the first embodiment of the simulation implementation device of the present application.
  • FIG. 13 is a schematic diagram of the first embodiment of the simulation implementation system of the present application.
  • FIG. 14 is a schematic structural diagram of a computing device provided by an embodiment of the present application.
  • FIG. 15 is a flowchart of simulation task scheduling in an example of the prior art.
  • MIL Model In the Loop
  • the closed-loop test is realized at the model level, which can be understood as the simulation test of the control model (that is, the control algorithm) in the model development environment (such as Simulink), and by entering a series of test cases to verify whether the control model satisfies the design requirements.
  • the control model and the plant model (such as the vehicle model) are connected to form a closed loop, and the control model is used to control the plant model to verify whether the algorithm of the control model meets the functional requirements of the design.
  • the premise of MIL testing is to have a controlled object model, and the controlled object model can build or use an existing object model.
  • SIL Software In the Loop, software-in-the-loop simulation test.
  • Software here can be understood as code (such as C language code) automatically generated based on the above control model, but due to the reason of the code automatic generation tool itself or the code generation tool is not set correctly or other unknown reasons, the automatic code generation process may introduce some Therefore, it is necessary to verify the consistency between the automatically generated code and the control model (ie, control algorithm) in each function and behavior, which is SIL verification.
  • the basic principle is generally to use the same test case input as MIL, and check whether the output of SIL under the same test case is consistent with the output of the MIL stage. In order to test the efficiency, sometimes the controlled object model is not even connected, but the same input is made to the control model and the generated code to check whether the output is consistent, or whether the deviation between the two is within an acceptable range.
  • PIL Processor In the Loop, processor-in-the-loop simulation test. Indicates that the function implemented by the code is verified to be consistent with the model on the target processor.
  • the above SIL test is to verify the consistency of the code and the model. The code runs on a specific operating system platform. The SIL test does not guarantee that the running results of the code to the target processor can also be kept in sequence with the model, so there is a PIL test.
  • PIL refers to running the generated code on the target processor (ie, the actual controller) for testing.
  • HIL Hardware In the Loop
  • HIL hardware-in-the-loop simulation test. It means to verify whether the function implemented by the code is consistent with the requirement definition on the hardware control system.
  • HIL can be divided into three levels: ECU level, which can also be called signal level, only ECU software and hardware use physical objects, and other components of the closed-loop loop use virtual simulation systems; EPP level, which can also be called driver Level, EPP is the abbreviation of Electrical Power Package, ECU and actuators use physical objects, and other components of the closed-loop loop use virtual simulation systems;
  • System level also known as mechanical level, system components use physical objects (such as the control of the automotive motor system). circuit), and other components of the closed-loop circuit use a virtual simulation system.
  • HIC testing usually connects a controller under test with an industrial computer, which runs the model of the controlled object and simulates some electrical characteristics of the controlled object.
  • the tested controller does not know that it is connected to an industrial computer, and it will think that the connected object is a real object.
  • the simulation type is used to distinguish the types of simulation tests, such as the four types of simulation tests mentioned above: MIL, SIL, PIL, and HIL.
  • Simulation software the software used to run the simulation, in this application, including assisted/autonomous driving simulation software, such as CarMaker, PreScan, CARLA, etc.
  • Simulation software can include different programs that run different simulation types.
  • Simulation project It includes the resources required for building simulations, including simulation scenarios, simulation vehicles, simulation sensors, simulation use case scripts, etc. These resources can be pre-defined and stored in the file sharing system in the form of a pool for the execution of simulation. Loaded during the task.
  • the simulation objects in the simulation scene include environmental objects (buildings, obstacles, roads, traffic signals), weather objects, participant objects (related vehicles, pedestrians), and the like.
  • Each simulation object has its own parameters.
  • the road parameters in the environment object may include road surface adhesion coefficient, horizontal attribute, side slope attribute, concave-convex attribute, length attribute and so on.
  • the parameters of the simulated vehicle may include weight, size and shape, dynamic parameters, braking parameters, full load/light load, tire pressure, and the like.
  • the parameters of the simulated sensor may include sensor type (eg, distance sensor, speed sensor, acceleration sensor, rain sensor, etc.), location, quantity, etc. installed on the vehicle.
  • the control model that is, the control model to be verified, can also be called a control algorithm. It can be sensors, planning or vehicle control algorithms, etc.
  • Simulation task entry used to record the script name of the simulation use case to be used when running the simulation, so as to load the corresponding simulation use case script and execute the corresponding simulation process when the simulation node executes the simulation task.
  • the simulation use case is the use case used for the simulation test, and the simulation software runs the corresponding simulation process based on the series of scenarios arranged in the use case.
  • the performance test of a certain function of the vehicle when the target vehicle is in different states under different road characteristics, different operating conditions (acceleration, braking, steering, etc.) are performed to detect the vehicle stability.
  • Another example is the diagnostic test of a certain safety of a vehicle: the use case of performing fault injection under different working conditions to check whether the fault is detected.
  • Simulation nodes different simulation nodes have different identifiers, and simulation nodes may be physical or virtual servers (eg, cloud servers, or cloud hosts), computing terminals, and the like.
  • the content of the label includes the simulation type supported by the simulation node, and the desired simulation node can be selected according to the label.
  • a simulation node can contain multiple task execution units.
  • the execution unit can be a physical execution unit (for example, an execution unit composed of a core, memory, storage, etc. of a multi-core processor), or a virtual execution unit.
  • An execution unit (such as a virtual machine).
  • the task execution unit is used to execute the simulation software, and can be configured with a simulation animation transmission port to output a simulation image or video of the simulation software running, and also be configured with a simulation control port to receive control instructions to control the operation of the simulation software.
  • CarMaker an autonomous driving simulation software produced by German IPG company.
  • CarMaker is a vehicle dynamics simulation software for small passenger cars, and its application areas include advanced driver assistance systems, vehicle-related control systems, vehicle dynamics, fuel economy and hybrid vehicles.
  • the CarMaker system not only contains the necessary vehicle environment models, and I/O interfaces, but also has many advanced tools to view, control and analyze simulations and process simulation results. Simulations can also be run, controlled and analyzed using Matlab/Simulink, a tool closely coupled to CarMaker.
  • maneuvers that can be achieved in reality can be simulated, including simple maneuvers (such as braking on a straight), and complex maneuvers (a combination of shifting, braking, and turning on a curve).
  • IPGMovie integrated in CarMaker, can be used to simulate real traffic scene animation, which can be displayed on the screen for visual simulation.
  • Matlab a commercial mathematical software produced by MathWorks in the United States, can be used in data analysis, deep learning, image processing and computer vision, signal processing, control systems and other fields.
  • Simulink integrated in Matlab, is a visual simulation tool.
  • Simulink is a block diagram development environment for multi-domain simulation and model-based design. It supports system design, simulation, automatic code generation, and continuous testing and verification of embedded systems.
  • Simulink provides graphical editors, customizable block libraries, and solvers for dynamic system modeling and simulation. Simulink applications include automotive, aviation, industrial automation, large-scale modeling, complex logic, physical logic, signal processing, and more.
  • FIG. 15 shows a flowchart of a method for scheduling simulation tasks, the method includes the following steps: obtaining the number of simulation tasks of a simulation software model that need to be batch processed; The number of simulation algorithm nodes that have passed the verification; use the license to verify the equipment where the simulation algorithm nodes are located; control the equipment where the simulation algorithm nodes that have passed the verification are located to perform simulation tasks in batches.
  • the method can use multiple simulation algorithm nodes distributed on multiple devices to perform batch testing on the simulation tasks of the simulation software model, improve the simulation efficiency, and is suitable for complex situations with multiple simulation scenarios.
  • This method does not propose to support the use of multiple simulation software for scheduling, and does not propose to support the use of MIL, SIL, HIL and other simulation types for mixed scheduling, and does not propose to support the scheduling process.
  • the simulation task is defined to include a simulation type and/or simulation software, so that when the simulation task is scheduled and executed , scheduling to a simulation node that supports the simulation type and/or can run the simulation software, and executes the simulation task by using the simulation type and/or running the simulation software through the simulation node.
  • simulation tasks are defined to include simulation types and/or simulation software, and support for multiple simulation types and software is realized, so that when simulation tasks are scheduled and executed, simulation tasks can be dispatched to the support institutes. the simulation type and/or the simulation node running the simulation software.
  • this application supports the use of multiple simulation software, and supports the use of mixed scheduling of multiple simulation types such as MIL, SIL, and HIL.
  • the simulation node of the present application provides a simulation control port and a simulation animation transmission port to realize real-time interactive control of the simulation software during the execution of the simulation task, and obtain simulation animation data of the simulation software and display it to the user through the interface.
  • the simulation task scheduling method and simulation method of the present application can be used in various simulation applications, for example, in the automatic driving simulation technology of vehicles, and also in the automatic driving simulation technology of vehicles such as aircraft and ships, and can also be applied in other possible applications.
  • Automatically executed simulation applications such as the operation simulation of wind turbines, etc.
  • the present application provides a simulation task scheduling method. Referring to the flowchart shown in FIG. 1 , the first embodiment of the simulation task scheduling method of the present application is introduced, including the following steps:
  • first content of a simulation task includes at least one of the following: simulation type and simulation software.
  • simulation type includes at least one of the following: simulation type and simulation software.
  • the implementation manner of the above step S110 is: one or more interfaces may be displayed to the user, and task elements for defining a simulation task input by the user through the interface are received.
  • a client program can be used to display the interface for the user to operate.
  • Interface in some embodiments, it may be implemented in a manner based on a BS (Browser-Server, browser-server) framework, and an interface for user operation may be displayed through a web browser of a user terminal device.
  • the simulation method of the present application when implemented in a BS framework, can be implemented based on a cloud simulation service platform, the cloud simulation service platform provides a browser login page to the customer, so that the customer can browse through the executable browser.
  • devices such as computers, PADs, and mobile phones can access the cloud simulation service platform.
  • the interface display content includes content for user operation, which may be presented in a graphical user interface (GUI, Graphical User Interface), which implements the following through corresponding controls, windows, dialog boxes, etc.
  • GUI Graphical User Interface
  • the specific content displayed on the interface includes a task element selection control or a path input box control, and at least one of the following content of the simulation task is defined according to the task element: simulation type, simulation software , Simulation project, control model, use case script, simulation rate, whether to display simulation animation, whether to save simulation animation.
  • This embodiment includes at least a simulation type and/or simulation software.
  • the simulation type is defined by one of the following information contained in the task element: model-in-the-loop simulation test MIL, software-in-the-loop simulation test SIL, processor-in-the-loop simulation test PIL, hardware-in-the-loop simulation test
  • the loop simulation test HIL the simulation software is defined by the identification of the simulation software contained in the task element
  • the simulation project is defined by the identification of the simulation project contained in the task element
  • the control model is defined by the task element
  • the use case script is defined by the identifier of the use case script contained in the task element.
  • a menu bar-type selection control can be used to realize the reception of task elements corresponding to the simulation type, that is, the task elements of the corresponding simulation type are realized by receiving the MIL type, SIL type PIL, or HIL type selected by the user in the menu bar. reception. Similarly, in some embodiments, by receiving the name of the simulation software such as CarMaker, Matlab, etc. selected by the user in another menu bar, or the corresponding ID (such as the ID corresponding to the set software), etc., the simulation software is realized. The receipt of a task element.
  • the terminal display interfaces of different users can simultaneously receive the task elements input by each user through each interface, that is, the present application can support the simultaneous use of multiple users.
  • multiple items of content to be defined in the simulation task in the above step S120 may exist in the form of templates, and the template includes multiple items of content to be defined, such as simulation type items and simulation software items, which are respectively associated with each item in the interface.
  • the input corresponds to, for example, when a simulation type selected by the user from the MIL, SIL, PIL or HIL type is received through the menu bar, the specific simulation type is defined to the simulation type item; for example, the software selected by the user is received.
  • the software identification define the software identification to the simulation software item.
  • step S120 for task elements such as the identification of the simulation project, the identification of the control model, and the identification of the use case script, which are selected by the user through the operation interface and received in step S120, all of them will be defined in this step.
  • Items corresponding to simulation tasks such as corresponding simulation projects, control models, and use case script items.
  • the identification here includes name, number, designated access directory, etc.
  • the simulation rate selected by the user through the operation interface, whether to display the simulation animation, and/or whether to save the simulation animation item received through step S120 is also defined in the corresponding task.
  • this step will respectively define simulation tasks for the received task elements input by each user, that is, this application can support Simulate task-defined concurrency.
  • each task may be scheduled through a task queue, which may be: through a task corresponding to the first content of the simulation task The queue is scheduled to a simulation node matching the first content; wherein, different task queues in at least one task queue correspond to at least one of the following: different simulation types and different simulation software.
  • multiple task queues are used, and different task queues are made to correspond to different simulation types and/or different simulation software, that is, corresponding to the first content of the simulation task. Distinguish, the scheduling can be concurrent, and when the simulation task is scheduled to the simulation node, it is not necessary to judge the simulation type and/or simulation software defined by the simulation task, and the scheduling can be delivered faster.
  • corresponding MIL-type task queues, SIL-type task queues, and HIL-type task queues may be set for different simulation types.
  • different task queues can be set for different simulation software.
  • different task queues can be set for the combination of simulation type and simulation software.
  • the defined simulation tasks are distributed to the corresponding task queues according to their defined simulation types and/or simulation software;
  • the simulation tasks in each task queue are sequentially scheduled to simulation nodes that can support corresponding simulation types and/or can run corresponding simulation software.
  • a task queue is used, and each simulation task is scheduled to each simulation node in a first-in, first-out manner.
  • the simulation type and/or simulation software defined by the simulation task is first determined, and then the The simulation tasks are dispatched to simulation nodes that can handle the simulation type and/or can run the simulation software.
  • multiple task queues are used to sequentially receive and distribute simulation tasks, so as to facilitate concurrent scheduling of tasks and speed up the scheduling process.
  • the simulation types and/or runnable simulation software that each simulation node can support may be recorded in advance, and during scheduling, the simulation tasks are scheduled according to the recorded information, and the simulation tasks are scheduled. to the corresponding simulation node.
  • the one emulation node matching the first content may be determined according to the registration information of at least one emulation node, so as to schedule the emulation task to the corresponding emulation node; wherein the registration information includes at least the following One: Supportable simulation types and runnable simulation software.
  • the implementation manner of registering the simulation type and/or executable simulation software that the simulation node can support into the registry as the registration information of the simulation node may be, when the simulation node has installed one or more simulation software , the name of each installed simulation software and each simulation type supported by each simulation software may be uploaded as registration information to record in the registry.
  • the registry can also be replaced by a configuration file, which can also implement pre-recording of the emulation types and/or runnable emulation software that each emulation node can support.
  • the The information exchange is performed to obtain the simulation types and/or runnable simulation software that each simulation node can support, and then select a simulation node that can execute the defined simulation task for simulation task scheduling.
  • information exchange or the simulation task request directly carries the supported simulation type and/or executable simulation software of the simulation node. , and obtain the simulation type and/or runnable simulation software that the simulation node can support, and schedule the tasks in the corresponding task queue to the node.
  • the running status of each simulation node may also be obtained, where the running status includes node load capacity, such as the maximum number of execution units that support scheduling, or the number of available execution units; execute the scheduling At the same time, the scheduling is also controlled based on the load balancing strategy according to the running state of each simulation node.
  • node load capacity such as the maximum number of execution units that support scheduling, or the number of available execution units
  • the present application also provides a simulation task execution method. Referring to the flowchart shown in FIG. 2 , the first embodiment of the simulation scheduling method of the present application is introduced, including the following steps:
  • S210 Receive a scheduled simulation task; the received first content of the simulation task at least includes a simulation type and simulation software;
  • a simulation task defined with a simulation type and/or simulation software is scheduled to a corresponding simulation node, and the scheduled simulation task is received through the simulation node, and the simulation node can support The simulation type and/or the simulation software may be run.
  • the simulation task When executing the simulation task, specifically, the simulation task may be analyzed by a simulation node, and the simulation type and/or the simulation may be run according to the simulation type and/or simulation software contained in the first content. Software performs the simulation task.
  • only a simulation type is defined in a simulation task, and the simulation node executes the simulation task of the simulation type by using the simulation software on the simulation node that supports the simulation type. If there are multiple simulation softwares that support this simulation type on the simulation node, you can choose one to use.
  • only simulation software is defined in the simulation task, and the simulation node uses the simulation software it has to execute the simulation task;
  • only a simulation type and simulation software are defined in a simulation task, and the simulation node executes the simulation task of the simulation type by using the simulation software on the simulation node that supports the simulation type.
  • the entity files of the simulation project, control model or use case script stored in the file system may be obtained for executing the simulation The entity file of the task. This facilitates the sharing of simulation projects, control models, or use case script entity files.
  • the simulation task is executed according to the simulation rate further included in the simulation task, whether to display the simulation animation or whether to save the simulation animation.
  • the simulation control command input by the user through the interface in step S110 can be received through the simulation control port of the simulation node; and the simulation software running on the simulation node is controlled according to the simulation control command. In this way, the control of the operation of the simulation software is realized.
  • the simulation animation data can be obtained from the simulation software on the simulation node through the simulation node, and output to the interface described in step S110 through the simulation animation transmission port of the simulation node. In this way, the simulation animation generated by the simulation software can be displayed to the user through the interface.
  • the present application also provides a simulation implementation method, which is composed of a combination of the above simulation task scheduling method and simulation task implementation method with reference to the flowchart shown in FIG. 3 .
  • a simulation implementation method which is composed of a combination of the above simulation task scheduling method and simulation task implementation method with reference to the flowchart shown in FIG. 3 .
  • some other examples are also used for introduction, and these examples can also be applied to the above-mentioned methods.
  • Simulation task scheduling method and simulation task realization method includes the following steps:
  • the task elements of the simulation software, simulation project, control model, and use case script received in this step do not refer to entity files (entity files refer to files containing specific content, such as simulation software containing codes), but
  • entity files refer to files containing specific content, such as simulation software containing codes
  • the identifier corresponding to the entity file can obtain the corresponding entity file according to the identifier.
  • Physical files can be stored in a shared file system, examples are as follows:
  • the above simulation project and each simulation resource under it can be pre-configured, and the above-mentioned existing control model and use case script can be pre-established.
  • the user can perform corresponding operations through an interface provided by a web browser to achieve Configuration or upload of simulation project and its underlying simulation resources, establishment or upload of each control model, establishment or upload of each use case script.
  • Uploading here refers to uploading to a shared file system, and it can exist in the form of a pool, such as a simulation resource pool composed of various simulation resources, a simulation engineering resource pool composed of various simulation engineering resources, and a control model composed of various control models.
  • Each use case script constitutes a use case script pool.
  • the sub-elements under the task element can also be received, such as the project name (that is, the logo of the simulation project), etc.
  • the project name corresponds to one of the simulation resources to be used under the simulation project. configuration information.
  • the simulation resources may include simulation scene resources, simulation vehicle resources, simulation sensor resources, and the like.
  • various resource parameters selected or input by the user can be received through a certain display interface to complete the creation of simulation resources.
  • each simulation resource after each simulation resource is created, it can be stored as a configuration file.
  • the simulation resources of the simulation scene include simulation resources such as "rainy loop scene A resource configuration file”, “rainy weather loop scene B resource configuration file”, etc.
  • the resource parameters of the simulation scene such as road parameters, weather parameters, obstacle parameters, etc.
  • a simulated vehicle resource may be a "seven-seat SUV vehicle C resource configuration file”, and the simulated resource records various resource parameters that form the simulated vehicle, such as vehicle weight parameters, power parameters, tire pressure parameters, and the like.
  • a certain simulated sensor resource may be a "vehicle distance sensor A resource configuration file", which records various resource parameters that form the simulated sensor, such as sensor model, installation location, and quantity parameters.
  • the configuration information corresponding to a project name includes at least one simulation resource.
  • S320 Define a simulation task according to the received task element.
  • a simulation project when defining a simulation project, it also includes defining the relevant task elements of the selected simulation software under the selected simulation type. These task elements are the definitions required by the selected simulation software to perform the selected type of simulation tasks. These task elements are also in the step In S310, it is received through the interface.
  • the definitions of the relevant task elements are, for example: the definition of the controlled object model and the model development environment required for running the simulation in the MIL type; the definition of the SIL executable program required for running the simulation in the SIL type; the HIL type. Definition of the HIL real-time machine (IP, user name, execution parameters) and the definition of the HIL executable program to be executed by the real-time machine;
  • defining a simulation type item specifically refers to defining the name or loading path of the control model.
  • the control model can be a pre-established algorithm model, such as an automatic driving algorithm model.
  • the definition use case script item specifically defines the use case script name to the simulation task entry, and the simulation task entry refers to the entry for executing the automated simulation use case.
  • one of the specific implementations of this step in this embodiment may adopt the following sub-steps:
  • each simulation node registers the configuration information of each simulation node to the simulation task scheduling system (such as a cloud platform, a server and other network-side devices), and configure each simulation node according to the simulation type supported by each simulation node label and recorded in the registration information. And, corresponding to different simulation types, different task queues are created;
  • the simulation task scheduling system such as a cloud platform, a server and other network-side devices
  • the scheduling process may further include: acquiring the running status of each simulation node (for example, the load capacity, that is, the maximum load of the computing node (the maximum number of execution units that supports scheduling)); and performing the scheduling according to each simulation node.
  • the running state of the scheduler controls the schedule.
  • the implementation can be one of the following:
  • each simulation node after registration starts a scheduling agent (Agent) program, and feeds back the load status of the node (number of scheduled execution units/maximum load) in real time through the scheduling Agent program on the simulation node.
  • Agent scheduling agent
  • the Agent of the simulation node After receiving the simulation task sent by the simulation task scheduling system, the Agent of the simulation node starts the execution unit to execute the task;
  • the second method on the basis of the first method, the scheme of the simulation node actively requesting simulation task scheduling is further added. Specifically, when the simulation node judges whether its load reaches the limit value, if it does not reach the limit value, it can send a request to the simulation node according to the node label.
  • the simulation task scheduling system requests tasks of a corresponding type of task queue; during simulation task scheduling, the simulation node to be scheduled is selected from the simulation nodes that have received the request.
  • this step may include: constructing a simulation process according to the definition in the simulation task through the simulation node, calling and running the defined simulation software, and converting the defined entities of the simulation project, control model and use case script The files are loaded into the simulation software to cause the simulation software to perform simulation tasks of the simulation type.
  • An implementation method of this step is shown as follows, referring to the flowchart of the following steps performed by the execution unit in the schematic diagram shown in FIG. 4 :
  • S353 Call the simulation software on the simulation node to execute the determined simulation process.
  • the simulation software running process will carry the simulation project entity files, control model entity files, and use case script entity files required for the simulation.
  • the user can interact in real time with the simulation node that executes the simulation task, and when performing simulation control or acquiring simulation animation, the implementation can be as follows:
  • each simulation task When the defined simulation tasks are received, each simulation task will be assigned a task ID to distinguish each simulation task.
  • the task ID will be provided to the simulation node at the same time (or the simulation node will get the task ID when requesting a simulation task).
  • the simulation node can obtain the relevant data (node IP, simulation status, simulation control and animation transmission port, etc.)
  • the real-time interaction steps shown in FIG. 6B may be adopted, including:
  • the IP address of the corresponding simulation node processing the task can be obtained according to the task ID of the task;
  • the real-time simulation API is called to send the simulation control command to the simulation node, and the real-time simulation API sends the simulation control command to the simulation control port of the simulation node of the IP address.
  • the simulation control instructions include: pause, abort, continue, request data, request simulation state and animation and other instructions, and the simulation node can execute corresponding instructions or feed back data.
  • the real-time simulation API when requesting real-time animation, it can be specifically: calling the real-time simulation API to request real-time simulation animation according to the IP address of the simulation node and the simulation animation transmission port, and the API monitors the simulation animation transmission port of the simulation node with the IP address, and obtains the information sent by the simulation software. Simulate animation, and send real-time animation back to the user interface (such as browser interface) to display to the user.
  • the simulation animation transmission port data is acquired by the execution unit in real time from the simulation software.
  • FIG. 7 is a schematic diagram of a first specific embodiment of the simulation implementation method.
  • the simulation software adopts CarMaker
  • the development environment adopts Matlab.
  • the embodiment includes the following steps:
  • S710 The user logs in to the page through a browser, and the login process includes an authentication process for the user. After the authentication is passed, a first interface can be displayed through the browser, and the first interface has controls for the user to click or input. Input the task elements required to execute the simulation task, and receive the task elements submitted by the user through the browser interface.
  • the simulation tasks are defined according to the received task elements, and the resulting task definitions are as follows:
  • Simulation task type - MIL [corresponding to the simulation task type selected by the user]
  • Simulation software - CarMaker [corresponding to the name of the simulation software selected by the user]
  • Simulation task entry - MIL use case TCL script [corresponding to the name of the use case script selected by the user, the use case script is the use case script of the MIL type simulation task written in TCL language]
  • S720 According to the task type MIL in the simulation task, distribute the simulation task to the task queue corresponding to the simulation task type, and schedule the simulation task to the task queue according to the load situation of the corresponding simulation nodes and based on the load balancing strategy.
  • a simulation node of the MIL task type is dispatched to a simulation node with a label of MIL type and capable of running the CarMaker software.
  • the simulation node parses the defined simulation task through its idle execution unit, and determines the needs according to the MIL simulation type in the task definition, the simulation software CarMaker, the simulation project, the control model, and the MIL use case TCL script corresponding to the simulation task entry
  • the simulation process executed by the execution unit is executed, and the executed simulation process includes the following sub-steps:
  • the real-time interaction with the simulation node through the platform can be realized through the simulation control port and the simulation animation transmission port through the real-time simulation API.
  • the simulation results are stored in the shared file system.
  • FIG. 8 is a schematic diagram of a second specific embodiment of the simulation implementation method.
  • the simulation software adopts CarMaker, and the SIL simulation type simulation is to be performed, and the main difference from the MIL type simulation shown in FIG. 7 is described above. It is that the formed task definition is generated based on the SIL type, and the simulation task executed by the simulation node is for the flow of the SIL simulation type. The differences are briefly described as follows:
  • step S810 Basically the same as the above step S710, the main difference is that the tasks formed in this step are defined as follows:
  • Simulation task type - SIL [corresponding to the simulation task type selected by the user]
  • Simulation software - CarMaker [corresponding to the name of the simulation software selected by the user]
  • Simulation task entry - SIL use case TCL script [corresponding to the name of the use case script selected by the user, the use case script is the use case script of the SIL type simulation task written in TCL language]
  • step S820 It is basically the same as the above-mentioned step S720, and will not be repeated.
  • step S830 It is basically the same as the above step S730, the difference is that the simulation flow of the SIL type is executed, and the flow includes the following sub-steps:
  • the real-time interaction with the simulation node through the platform can be realized through the simulation control port and the simulation animation transmission port through the real-time simulation API.
  • the simulation results are stored in the shared file system.
  • step S810 when the task is defined in step S810, the CarMaker engineering framework code is changed to the SIL executable program name, then step S832 is not required, and the SIL executable program in step 833 is obtained from the file system according to the SIL executable program name. obtained from. That is, the SIL executable program can be compiled and stored separately in advance.
  • FIG. 9 is a schematic diagram of a second specific embodiment of the simulation implementation method.
  • the simulation software adopts CarMaker, and the simulation of the HIL simulation type is to be performed.
  • the main difference with the MIL type simulation shown in FIG. 7 above is It is that the formed task definition is generated based on the SIL type, and the simulation task executed by the simulation node is for the flow of the SIL simulation type. The differences are briefly described as follows:
  • step S910 Basically the same as the above step S710, the main difference is that the tasks formed in this step are defined as follows:
  • Simulation task type - HIL [corresponding to the simulation task type selected by the user]
  • Simulation software - CarMaker [corresponding to the name of the simulation software selected by the user]
  • HIL real-time machine [corresponding to the IP address of the real-time machine (such as industrial computer) input by the user for HIL simulation]
  • Simulation task entry - HIL use case TCL script [corresponding to the name of the use case script selected by the user, the use case script is the use case script of the HIL type simulation task written in TCL language]
  • step S920 It is basically the same as the above-mentioned step S720, and will not be repeated.
  • step S930 It is basically the same as the above-mentioned step S730, except that the simulation flow of the SIL type is executed, and the flow includes the following sub-steps:
  • S934 start the generated HIL executable program on the real-time machine, and connect it to CarMaker; that is, to realize the communication between the HIL executable program on the real-time machine and the process running by CarMaker;
  • the real-time interaction with the simulation software of the simulation node through the platform can be realized through the real-time simulation API through the simulation control port and the simulation animation transmission port.
  • the simulation results are stored in the shared file system.
  • step S932 when the task definition in step S910 is changed to the name of the HIL executable program in the CarMaker engineering framework code, step S932 is not required, and the HIL executable program in step 933 is obtained from the file system according to the name of the HIL executable program. obtained from. That is, the HIL executable program can be compiled and stored separately in advance.
  • the present application can support various simulation types. It can also be seen that the task definition requires only a few elements, and these elements can be obtained through the interface provided to the user. It can be seen that for the user, the specific internal situation of the simulation software does not need to be related, and the relevant resources can be input through the interface or Select, when the simulation node needs resources, it will be obtained from the file system, and each resource exists in the form of a pool, which can eliminate the need for users to rewrite and create each engineering resource, control model, and controlled model to a certain extent. Reduced labor.
  • FIG. 10 shows the first embodiment of the simulation task scheduling apparatus, and the simulation task scheduling apparatus includes:
  • a receiving module 1010 configured to receive a task element, the task element
  • the processing module 1020 is configured to define first content of a simulation task according to the task element, where the first content includes at least one of the following: simulation type and simulation software. In some embodiments, and for scheduling the simulation task to a simulation node matching the first content.
  • the processing module 1020 is further configured to define at least one of the following content of the simulation task according to the task element: simulation project, control model, use case script, simulation rate, whether to display simulation animation, and whether to save simulation animation.
  • the above-mentioned simulation type is defined by one of the following information contained in the task element: model-in-the-loop simulation test MIL, software-in-the-loop simulation test SIL, processor-in-the-loop simulation test PIL, and hardware-in-the-loop simulation test HIL.
  • the simulation software is defined by the identification of the simulation software contained in the task element;
  • the simulation project is defined by the identification of the simulation project contained in the task element;
  • the control model is defined by the identification of the control model contained in the task element.
  • the use case script is defined by the identifier of the use case script contained in the task element.
  • the processing module is configured to: through a task queue corresponding to the first content of the simulation task, schedule to a simulation node matching the first content; wherein, at least one task queue in the Different task queues correspond to at least one of the following: different simulation types and different simulation software.
  • the processing module 1020 is further configured to determine, according to registration information of at least one simulation node, the one simulation node that matches the first content; wherein the registration information includes at least one of the following: Supported simulation types and runnable simulation software.
  • FIG. 11 shows an embodiment of a simulation task execution apparatus, and the simulation task execution apparatus includes:
  • a receiving module 1110 configured to receive a scheduled simulation task; the first content of the simulation task includes at least one of the following: simulation type and simulation software;
  • the processing module 1120 is configured to perform the simulation task by using simulation software matching the first content.
  • the simulation task further includes a simulation project, a control model or a use case script; the processing module 1120 is further configured to obtain a corresponding entity file for executing the simulation task from a file system.
  • the simulation task further includes the simulation rate, whether to display the simulation animation or whether to save the simulation animation.
  • the receiving module 1110 is further configured to receive an emulation control instruction through an emulation control port; the processing module 1120 is further configured to control the running of the emulation software according to the emulation control instruction.
  • the apparatus further includes: a sending module 1130, configured to acquire simulation animation data from the simulation software, and output the simulation animation data through a simulation animation transmission port.
  • a sending module 1130 configured to acquire simulation animation data from the simulation software, and output the simulation animation data through a simulation animation transmission port.
  • FIG. 12 shows an embodiment of a simulation implementation apparatus, including any embodiment of the above-mentioned simulation scheduling apparatus and any embodiment of the above-mentioned simulation task execution apparatus.
  • FIG. 13 shows a specific embodiment of the simulation implementation device of the present invention, which is used for vehicle automatic driving simulation.
  • the user terminal's browser displays an interface for logging in, that is, an operation provided to the user, and the interface is correspondingly displayed to the user in a task template mode and used to receive required task elements input by the user.
  • Multiple simulation nodes form a simulation node cluster, each simulation node has multiple execution units, and each simulation node has simulation software.
  • the defined simulation tasks are assigned to task queues of different simulation types, and scheduled to simulation nodes that can process the task type.
  • the simulation node implements calling its idle execution unit to generate and execute the simulation process, for example, calling the uppermost execution unit shown in the diagram.
  • simulation result data As well as project entity files, control model entity files, use case script entity files, etc. Users can interact with simulation nodes in real time through the user terminal browser, send commands or receive simulation animations, and obtain simulation result data from the shared file system.
  • FIG. 14 is a schematic structural diagram of a computing device 1500 provided by an embodiment of the present application.
  • the computing device 1500 includes a processor 1510 and a communication interface 1530 .
  • the communication interface 1530 in the computing device 1500 shown in FIG. 14 may be used to communicate with other devices.
  • the computing device 1500 may further include a memory 1520 connected to the processor 1510 .
  • the memory 1520 may be used to store the program codes and data. Therefore, the memory 1520 may be a storage unit inside the processor 1510 , or an external storage unit independent from the processor 1510 , or may include a storage unit inside the processor 1510 and an external storage unit independent from the processor 1510 . part.
  • computing device 1500 may also include a bus.
  • the memory 1520 and the communication interface 1530 may be connected to the processor 1510 through a bus.
  • the bus may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus or the like.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one line is shown in FIG. 14, but it does not mean that there is only one bus or one type of bus.
  • the processor 1510 may adopt a central processing unit (central processing unit, CPU).
  • the processor may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), off-the-shelf programmable gate arrays (FPGAs) or other Programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs off-the-shelf programmable gate arrays
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the processor 1510 uses one or more integrated circuits to execute related programs to implement the technical solutions provided by the embodiments of the present application.
  • the memory 1520 may include read only memory and random access memory and provides instructions and data to the processor 1510 .
  • a portion of the processor 1510 may also include non-volatile random access memory.
  • the processor 1510 may also store device type information.
  • the processor 1510 executes the computer-implemented instructions in the memory 1520 to perform the operation steps of the above-described method.
  • the computing device 1500 may correspond to corresponding subjects in executing the methods according to the various embodiments of the present application, and the above-mentioned and other operations and/or functions of the modules in the computing device 1500 are respectively for the purpose of realizing the present application.
  • the corresponding processes of each method in the embodiment will not be repeated here.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes .
  • Embodiments of the present application further provide a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, is used to execute a method for generating diverse problems, and the method includes the methods described in the foregoing embodiments. at least one of the options.
  • the computer storage medium of the embodiments of the present application may adopt any combination of one or more computer-readable media.
  • the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium.
  • the computer readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any combination of the above.
  • a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a propagated data signal in baseband or as part of a carrier wave, with computer-readable program code embodied thereon. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • a computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device .
  • Program code embodied on a computer readable medium may be transmitted using any suitable medium including, but not limited to, wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for performing the operations of the present application may be written in one or more programming languages, including object-oriented programming languages—such as Java, Smalltalk, C++, but also conventional Procedural programming language - such as the "C" language or similar programming language.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any kind of network, including a local area network (LAN) or wide area network (WAN), or may be connected to an external computer (eg, through the Internet using an Internet service provider) connect).
  • LAN local area network
  • WAN wide area network
  • Internet service provider an external computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Un procédé de planification de tâche de simulation consiste : à recevoir un élément de tâche ; à définir une tâche de simulation selon l'élément de tâche, la tâche de simulation étant définie à l'aide d'un premier contenu comprenant au moins l'un des éléments suivants : un type de simulation et un logiciel de simulation ; et à programmer la tâche de simulation vers un nœud de simulation correspondant au premier contenu. L'invention concerne également un procédé d'exécution de tâche de simulation correspondante, consistant : à recevoir une tâche de simulation programmée au moyen d'un nœud de simulation ; et à exécuter, au moyen du nœud de simulation, la tâche de simulation à l'aide d'un logiciel de simulation correspondant à un premier contenu. Différents types de simulation et différents logiciels de simulation peuvent être supportés. La présente invention peut être appliquée à la technologie de simulation de conduite autonome pour des outils de transport tels que des véhicules, des aéronefs et des navires.
PCT/CN2020/135262 2020-12-10 2020-12-10 Procédé de planification de tâche de simulation, procédé d'exécution, procédé et dispositif de mise en œuvre de simulation WO2022120717A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2020/135262 WO2022120717A1 (fr) 2020-12-10 2020-12-10 Procédé de planification de tâche de simulation, procédé d'exécution, procédé et dispositif de mise en œuvre de simulation
CN202080004954.3A CN112639734B (zh) 2020-12-10 2020-12-10 仿真任务调度方法、执行方法、仿真实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/135262 WO2022120717A1 (fr) 2020-12-10 2020-12-10 Procédé de planification de tâche de simulation, procédé d'exécution, procédé et dispositif de mise en œuvre de simulation

Publications (1)

Publication Number Publication Date
WO2022120717A1 true WO2022120717A1 (fr) 2022-06-16

Family

ID=75291243

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/135262 WO2022120717A1 (fr) 2020-12-10 2020-12-10 Procédé de planification de tâche de simulation, procédé d'exécution, procédé et dispositif de mise en œuvre de simulation

Country Status (2)

Country Link
CN (1) CN112639734B (fr)
WO (1) WO2022120717A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115113542A (zh) * 2022-06-29 2022-09-27 重庆长安汽车股份有限公司 自动驾驶仿真方法、系统、电子设备及可读存储介质
CN117112135A (zh) * 2023-08-25 2023-11-24 合芯科技有限公司 一种基于容器的芯片设计平台及平台架构方法
CN117131076A (zh) * 2023-09-20 2023-11-28 北京华如科技股份有限公司 一种用于仿真的数据处理方法及装置
CN117472530A (zh) * 2023-10-25 2024-01-30 上海宽睿信息科技有限责任公司 一种基于集中管理的数据智能调度方法及系统
CN117971397A (zh) * 2023-01-20 2024-05-03 昆易电子科技(上海)有限公司 模型处理方法、装置、终端设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115391165A (zh) * 2021-05-24 2022-11-25 比亚迪股份有限公司 车辆测试方法、装置、存储介质及电子设备
CN113467276B (zh) * 2021-09-03 2021-12-07 中国汽车技术研究中心有限公司 基于智能驾驶仿真赛事云平台的智能驾驶仿真方法
CN114004113B (zh) * 2021-12-30 2022-05-03 佛山仙湖实验室 基于云服务的交互式智能车辆交通模拟测试方法及系统
CN116467882B (zh) * 2023-04-20 2024-05-14 之江实验室 在仿真软件中模型与线条的连接显示方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180095467A1 (en) * 2006-02-27 2018-04-05 Perrone Robotics, Inc. General purpose robotics operating system with unmanned and autonomous vehicle extensions
CN109359405A (zh) * 2018-10-30 2019-02-19 四川航天系统工程研究所 空天地一体化的大数据战场环境半实物仿真系统
CN110781576A (zh) * 2019-09-09 2020-02-11 腾讯科技(深圳)有限公司 一种仿真节点调度方法、装置及设备
CN111625949A (zh) * 2020-05-20 2020-09-04 北京百度网讯科技有限公司 一种仿真引擎系统、仿真处理方法、设备和介质
CN111879327A (zh) * 2020-06-18 2020-11-03 北京九曜智能科技有限公司 集群自动驾驶车辆泊位作业的空间配置和时序规划方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708232B (zh) * 2012-04-24 2013-06-19 中国人民解放军国防科学技术大学 分布式仿真数据处理方法及装置
CN105677446B (zh) * 2016-01-28 2019-05-28 中国电子科技集团公司第十研究所 分布式仿真平台的可视化建模方法
CN106951627A (zh) * 2017-03-15 2017-07-14 北京百度网讯科技有限公司 车辆自动驾驶的仿真测试方法、装置、设备及计算机可读存储介质
CN111199079B (zh) * 2018-10-30 2023-12-19 阿波罗智能技术(北京)有限公司 仿真任务调度方法和装置
CN111125857B (zh) * 2018-10-31 2024-06-04 百度在线网络技术(北京)有限公司 分布式仿真方法和装置
CN111124592B (zh) * 2018-10-31 2023-07-28 阿波罗智能技术(北京)有限公司 仿真任务执行方法和装置
CN117872795A (zh) * 2019-02-06 2024-04-12 弗泰里克斯有限公司 电子仿真方法和系统
CN110794810B (zh) * 2019-11-06 2020-07-28 安徽瑞泰智能装备有限公司 一种对智能驾驶车辆进行集成化测试的方法
CN111177899A (zh) * 2019-12-16 2020-05-19 北京航天智造科技发展有限公司 一种基于云平台的多学科协同仿真方法和系统
CN111506401B (zh) * 2020-03-27 2023-11-21 北京百度网讯科技有限公司 自动驾驶仿真任务调度方法、装置、电子设备及存储介质
CN111796530A (zh) * 2020-05-26 2020-10-20 北京智行者科技有限公司 一种自动驾驶软件在环仿真方法
CN111859638A (zh) * 2020-07-06 2020-10-30 中国人民解放军海军航空大学航空作战勤务学院 一种实时高效分布式虚实结合仿真系统及构建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180095467A1 (en) * 2006-02-27 2018-04-05 Perrone Robotics, Inc. General purpose robotics operating system with unmanned and autonomous vehicle extensions
CN109359405A (zh) * 2018-10-30 2019-02-19 四川航天系统工程研究所 空天地一体化的大数据战场环境半实物仿真系统
CN110781576A (zh) * 2019-09-09 2020-02-11 腾讯科技(深圳)有限公司 一种仿真节点调度方法、装置及设备
CN111625949A (zh) * 2020-05-20 2020-09-04 北京百度网讯科技有限公司 一种仿真引擎系统、仿真处理方法、设备和介质
CN111879327A (zh) * 2020-06-18 2020-11-03 北京九曜智能科技有限公司 集群自动驾驶车辆泊位作业的空间配置和时序规划方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115113542A (zh) * 2022-06-29 2022-09-27 重庆长安汽车股份有限公司 自动驾驶仿真方法、系统、电子设备及可读存储介质
CN117971397A (zh) * 2023-01-20 2024-05-03 昆易电子科技(上海)有限公司 模型处理方法、装置、终端设备及存储介质
CN117112135A (zh) * 2023-08-25 2023-11-24 合芯科技有限公司 一种基于容器的芯片设计平台及平台架构方法
CN117131076A (zh) * 2023-09-20 2023-11-28 北京华如科技股份有限公司 一种用于仿真的数据处理方法及装置
CN117131076B (zh) * 2023-09-20 2024-04-30 北京华如科技股份有限公司 一种用于仿真的数据处理方法及装置
CN117472530A (zh) * 2023-10-25 2024-01-30 上海宽睿信息科技有限责任公司 一种基于集中管理的数据智能调度方法及系统
CN117472530B (zh) * 2023-10-25 2024-04-05 上海宽睿信息科技有限责任公司 一种基于集中管理的数据智能调度方法及系统

Also Published As

Publication number Publication date
CN112639734B (zh) 2022-02-11
CN112639734A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
WO2022120717A1 (fr) Procédé de planification de tâche de simulation, procédé d'exécution, procédé et dispositif de mise en œuvre de simulation
US11314907B2 (en) Simulation including multiple simulators
TWI757743B (zh) 小程式產生方法以及裝置
US11087049B2 (en) Online self-driving car virtual test and development system
CN110442041B (zh) 一种基于异构云计算框架的仿真平台构建方法及仿真系统
US9262373B2 (en) Cloud-based software eco-system
EP4002189A1 (fr) Émulation de communication de réseau industriel
JP2007528069A5 (fr)
CN110991040A (zh) 一种复杂产品协同仿真环境构建方法
EP3982268B1 (fr) Procédé et appareil de simulation de châssis, serveur, support d'enregistrement et produit-programme
JP2022091301A (ja) 制御システムおよび制御方法
CN116028025A (zh) 一种汽车服务化模型框架生成方法、装置、设备及介质
CN113987840B (zh) 基于Modelica的模型拆分方法、设备和存储介质
WO2020041957A1 (fr) Procédé et dispositif de diagnostic de véhicule et support de stockage lisible
CN115934263A (zh) 一种数据处理方法、装置、计算机设备以及存储介质
Fant et al. Architectural design patterns for flight software
Franchi Webots. HPC: A parallel robotics simulation pipeline for autonomous vehicles on high performance computing
US11750471B2 (en) Method and apparatus for determining resource configuration of cloud service system
CN101969442B (zh) 基于进程运行环境感知与迁移的网络模拟框架实现方法
CN117725719A (zh) 模型仿真推演的仿真方法及装置
CN105022661A (zh) 一种多处理器系统可调度性验证方法
WO2017054586A1 (fr) Système et procédé d'inspection et d'examen d'articles
TWI792043B (zh) 用於行動解決方案的開發和分配之系統和方法
Langner et al. Framework for using real driving data in automotive feature development and validation
Soubra et al. Functional size measurement for processor load estimation in AUTOSAR

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: 20964655

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20964655

Country of ref document: EP

Kind code of ref document: A1