Robot simulation method, device, computer readable storage medium and electronic equipment

By acquiring and parsing various map data files, a comprehensive and complete simulation scene was constructed, solving the problem of poor robot simulation effects and achieving high-fidelity simulation results.

CN122154281APending Publication Date: 2026-06-05UBTECH ROBOTICS CORP LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
UBTECH ROBOTICS CORP LTD
Filing Date
2026-01-29
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

The closed nature of existing robot simulation software prevents the full utilization of existing map data, resulting in poor simulation effects.

Method used

Acquire a collection of map data files, parse and associate multiple map data files, construct a comprehensive and complete simulation scene, and use a preset simulation engine to perform robot simulation.

Benefits of technology

By deeply integrating different data standards, high-fidelity simulation scenarios are constructed to improve the simulation effect of robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122154281A_ABST
    Figure CN122154281A_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of robots, and particularly relates to a robot simulation method and device, a computer readable storage medium and an electronic device. The method comprises the following steps: acquiring a set of map data files used for robot simulation; wherein the set of map data files comprises a plurality of map data files, each map data file corresponds to different data standards; performing data analysis and data correlation on the plurality of map data files in the set of map data files to obtain a plurality of mutually correlated data objects; based on the plurality of data objects, using a preset simulation engine to construct a simulation scene to obtain a target simulation scene used for robot simulation; and performing robot simulation in the target simulation scene. Through the application, different data standards can be deeply integrated, a more comprehensive and complete simulation scene can be constructed based on the plurality of map data files, and thus the robot simulation effect can be effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of robotics technology, and in particular relates to a robot simulation method, apparatus, computer-readable storage medium, and electronic device. Background Technology

[0002] Robot simulation is a comprehensive technology based on computer modeling. Its core lies in constructing a virtual environment driven by a physics engine, embedding a robot model within it, and driving the robot model to move within the virtual environment. Simultaneously, the physics engine calculates the interaction between the robot model and the virtual environment in real time, thus forming a closed-loop testing framework from perception and planning to execution. Its core objective is to verify and evaluate the robot's software algorithms in a repeatable, scalable, and secure manner before deployment to physical entities. However, in existing technologies, due to the closed nature of robot simulation software, existing map data cannot be fully utilized, resulting in poor simulation performance. Summary of the Invention

[0003] In view of this, embodiments of this application provide a robot simulation method, apparatus, computer-readable storage medium, and electronic device to solve the problem of poor robot simulation effects in the prior art.

[0004] A first aspect of this application provides a robot simulation method, which may include:

[0005] Obtain a set of map data files for robot simulation; wherein the set of map data files includes multiple map data files, each map data file corresponding to a different data standard; Data parsing and data association are performed on multiple map data files in the map data file set to obtain multiple interrelated data objects; Based on the multiple data objects, a simulation scene is constructed using a preset simulation engine to obtain a target simulation scene for robot simulation. Robot simulation is performed in the target simulation scenario.

[0006] In one specific implementation of the first aspect, the map data file set includes a first data file, a second data file, and a third data file; The first data file is used to describe the road, the second data file is used to describe the road surface, and the third data file is used to describe the dynamic scene.

[0007] In one specific implementation of the first aspect, the step of parsing and associating multiple map data files in the map data file set to obtain multiple interrelated data objects may include: The first data file is parsed to obtain first parsed data; and the first parsed data is filled into a first data object; wherein, the first data object is a pre-created data object used to describe the road; The second data file is parsed to obtain second parsed data; and the second parsed data is filled into a second data object; wherein, the second data object is a pre-created data object used to describe the road surface; The third data file is parsed to obtain third parsed data; and the third parsed data is filled into a third data object; wherein, the third data object is a pre-created data object used to describe the dynamic scene; Data association is performed on the first data object, the second data object, and the third data object to obtain multiple interconnected data objects.

[0008] In one specific implementation of the first aspect, the step of associating the first data object, the second data object, and the third data object to obtain multiple mutually associated data objects may include: The second data object is associated with the road corresponding to the first data object, and the initial position of the entity in the third data object is associated with the lane corresponding to the first data object, thus obtaining multiple interconnected data objects.

[0009] In one specific implementation of the first aspect, the step of constructing a simulation scene using a preset simulation engine based on the plurality of data objects to obtain a target simulation scene for robot simulation may include: Based on the first data object and the second data object, the simulation engine is used to generate a road grid to obtain a road grid simulation object; Based on the first data object, the simulation engine is used to place traffic facilities to obtain traffic facility simulation objects placed in a predetermined location; Based on the third data object, the simulation engine is used to perform dynamic entity management, resulting in a dynamic entity simulation object with control logic. The scene containing the road grid simulation object, the traffic facility simulation object, and the dynamic entity simulation object is rendered to obtain the target simulation scene used for robot simulation.

[0010] In one specific implementation of the first aspect, the robot simulation in the target simulation scenario may include: A robot simulation object is constructed in the target simulation scenario, and virtual sensors are equipped for the robot simulation object; Construct a dynamic model of the robot simulation object and a control interface for receiving commands; Based on a preset simulation management script, the robot simulation object is simulated in the target simulation scenario.

[0011] In one specific implementation of the first aspect, after performing robot simulation in the target simulation scenario, it may further include: Visualize and render the robot simulation process. Record the simulation test data generated during the robot simulation process, and generate the corresponding robot simulation test report based on the simulation test data.

[0012] A second aspect of this application provides a robot simulation device, which may include: The map data acquisition module is used to acquire a set of map data files for robot simulation; wherein, the set of map data files includes multiple map data files, each map data file corresponding to a different data standard; The data parsing and association module is used to parse and associate multiple map data files in the map data file set to obtain multiple interconnected data objects. The simulation scene construction module is used to construct a simulation scene based on the multiple data objects using a preset simulation engine, so as to obtain a target simulation scene for robot simulation. The robot simulation module is used to perform robot simulation in the target simulation scenario.

[0013] In one specific implementation of the second aspect, the map data file set includes a first data file, a second data file, and a third data file; The first data file is used to describe the road, the second data file is used to describe the road surface, and the third data file is used to describe the dynamic scene.

[0014] In one specific implementation of the second aspect, the data parsing and association module may include: The first data parsing unit is used to parse the first data file to obtain first parsed data; and to fill the first parsed data into a first data object; wherein the first data object is a pre-created data object used to describe the road; The second data parsing unit is used to parse the second data file to obtain second parsed data; and to fill the second parsed data into a second data object; wherein the second data object is a pre-created data object used to describe the road surface; The third data parsing unit is used to parse the third data file to obtain third parsed data; and to fill the third parsed data into a third data object; wherein the third data object is a pre-created data object used to describe a dynamic scene; The data association unit is used to associate the first data object, the second data object, and the third data object to obtain multiple data objects that are mutually associated.

[0015] In one specific implementation of the second aspect, the data association unit can be specifically used to: associate the second data object with the road corresponding to the first data object, and associate the initial position of the entity in the third data object with the lane corresponding to the first data object, thereby obtaining multiple data objects that are mutually associated.

[0016] In one specific implementation of the second aspect, the simulation scene construction module can be specifically used to: generate a road grid using the simulation engine based on the first data object and the second data object, to obtain a road grid simulation object; place traffic facilities using the simulation engine based on the first data object, to obtain a traffic facility simulation object placed at a predetermined location; perform dynamic entity management using the simulation engine based on the third data object, to obtain a dynamic entity simulation object with control logic; and render the scene where the road grid simulation object, the traffic facility simulation object, and the dynamic entity simulation object are located, to obtain the target simulation scene used for robot simulation.

[0017] In one specific implementation of the second aspect, the robot simulation module can be specifically used to: construct a robot simulation object in the target simulation scene and equip the robot simulation object with virtual sensors; construct a dynamic model of the robot simulation object and a control interface for receiving instructions; and simulate the robot simulation object in the target simulation scene based on a preset simulation management script.

[0018] In one specific implementation of the second aspect, the robot simulation device may further include: The visualization rendering output module is used to visualize and render the robot simulation process. The data recording and analysis module is used to record the simulation test data generated during the robot simulation process and generate a corresponding robot simulation test report based on the simulation test data.

[0019] A third aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the above-described robot simulation methods.

[0020] A fourth aspect of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of any of the robot simulation methods described above.

[0021] A fifth aspect of this application provides a computer program product that, when run on an electronic device, causes the electronic device to perform the steps of any of the robot simulation methods described above.

[0022] The beneficial effects of this application embodiment compared with the prior art are as follows: This application embodiment obtains a set of map data files for robot simulation; wherein, the map data file set includes multiple map data files, each corresponding to a different data standard; data parsing and data association are performed on the multiple map data files in the map data file set to obtain multiple interrelated data objects; based on the multiple data objects, a preset simulation engine is used to construct a simulation scene to obtain a target simulation scene for robot simulation; robot simulation is performed in the target simulation scene. Through this application embodiment, different data standards can be deeply integrated, and a more comprehensive and complete simulation scene can be constructed based on multiple map data files, thereby effectively improving the robot simulation effect. Attached Figure Description

[0023] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0024] Figure 1 This is a flowchart of one embodiment of a robot simulation method in this application. Figure 2 A flowchart illustrating the process of parsing and associating multiple map data files in a map data file collection to obtain multiple interconnected data objects; Figure 3 This is a schematic diagram of the complete parsing and encapsulation process; Figure 4 A schematic flowchart is provided to illustrate the target simulation scene for robot simulation, which is constructed using a preset simulation engine. Figure 5 This is a diagram illustrating the complete rendering process. Figure 6This is a schematic flowchart illustrating robot simulation in a target simulation scenario. Figure 7 This is a schematic diagram of the full-link automation process in an embodiment of this application; Figure 8 This is a structural diagram of one embodiment of a robot simulation device according to the present application. Figure 9 This is a schematic block diagram of an electronic device according to an embodiment of this application. Detailed Implementation

[0025] To make the inventive objectives, features, and advantages of this application more apparent and understandable, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described below are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0026] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.

[0027] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of the application. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.

[0028] It should also be further understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0029] As used in this specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if [the described condition or event] is detected" may be interpreted, depending on the context, as "once determined," "in response to determination," "once [the described condition or event] is detected," or "in response to detection of [the described condition or event]."

[0030] Furthermore, in the description of this application, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0031] Robot simulation is a comprehensive technology based on computer modeling. Its core lies in constructing a virtual environment driven by a physics engine, embedding a robot model within it, and driving the robot model to move within the virtual environment. Simultaneously, the physics engine calculates the interaction between the robot model and the virtual environment in real time, thus forming a closed-loop testing framework from perception and planning to execution. Its core objective is to verify and evaluate the robot's software algorithms in a repeatable, scalable, and secure manner before deployment to physical entities. However, in existing technologies, due to the closed nature of robot simulation software, existing map data cannot be fully utilized, resulting in poor simulation performance.

[0032] In view of this, embodiments of this application provide a robot simulation method, apparatus, computer-readable storage medium, and electronic device to address the problem of poor robot simulation effects in existing technologies. In embodiments of this application, different data standards can be deeply integrated, and a more comprehensive and complete simulation scene can be constructed based on multiple map data files, thereby effectively improving the robot simulation effect.

[0033] Please see Figure 1 One embodiment of a robot simulation method in this application may include: Step S101: Obtain a set of map data files for robot simulation.

[0034] The map data file set can include multiple map data files, each corresponding to a different data standard.

[0035] In one specific implementation of this application, the map data file set may include, but is not limited to, a first data file (OpenDRIVE), a second data file (OpenCRG), and a third data file (OpenScenario).

[0036] The first data file (OpenDRIVE) is used to describe the roads. It can provide a static, high-precision geometric and logical description of the road network and is the foundation for environmental modeling.

[0037] The second data file (OpenCRG) is used to describe the road surface and can provide the microscopic geometric and physical properties of the road surface, enhancing the realism and accuracy of contact simulation.

[0038] The third data file (OpenScenario) is used to describe the dynamic scene. It can define the logic, entity behavior and event triggering rules of the dynamic scene and control the simulation process.

[0039] Step S102: Perform data parsing and data association on multiple map data files in the map data file set to obtain multiple interconnected data objects.

[0040] In one specific implementation of this application embodiment, step S102 may include, for example: Figure 2 The process shown: Step S1021: Parse the first data file to obtain the first parsed data; and fill the first parsed data into the first data object.

[0041] As an example, the first data file (OpenDRIVE) with the .xodr extension can be read by the preset first data file parser (OpenDRIVE parser), its Extensible Markup Language (XML) structure can be parsed, and information such as roads, lanes, geometric lines, and objects can be extracted to obtain the first parsed data.

[0042] Alternatively, a data object describing the road can be pre-created using the first data file parser (OpenDRIVE parser), which is referred to as the first data object (OpenDriveMap object). After parsing the first parsed data, the first parsed data can be populated into the properties of the first data object (OpenDriveMap object). For example, values ​​can be assigned to its list properties such as Roads and Junctions.

[0043] Step S1022: Parse the second data file to obtain the second parsed data; and fill the second parsed data into the second data object.

[0044] As an example, a second data file (OpenCRG) with the .crg extension can be read using a preset second data file parser (OpenCRG parser), and the elevation and friction coefficient data in binary or text format can be parsed to obtain the second parsed data.

[0045] Alternatively, a data object describing the road surface can be pre-created using a second data file parser (OpenCRG parser), which is referred to as a second data object (OpenCRGSurface object). After parsing the second parsed data, the second parsed data can be populated into the properties of the second data object (OpenCRGSurface object).

[0046] Step S1023: Parse the third data file to obtain the third parsed data; and fill the third parsed data into the third data object.

[0047] As an example, a third-party data file (OpenSCENARIO) with the .xosc extension can be read using a pre-defined third-party data file parser (OpenSCENARIO parser) to parse the scene, entities, actions, and events within it, thereby obtaining third-party parsed data.

[0048] Alternatively, a data object describing a dynamic scene can be pre-created using a third data file parser (OpenSCENARIO parser), which is denoted as a third data object (OpenScenario object). After parsing the third parsed data, the third parsed data can be populated into the properties of the third data object (OpenScenario object).

[0049] It should be noted that steps S1021, S1022 and S1023 are parallel and there is no sequential dependency between them. That is, the three can be executed simultaneously or in any order. The specific execution order is not specifically limited in the embodiments of this application.

[0050] Step S1024: Perform data association on the first data object, the second data object, and the third data object to obtain multiple data objects that are interconnected.

[0051] As an example, the second data object (OpenCRGSurface object) can be associated with the corresponding road in the first data object (OpenDriveMap object), and the initial position of the entity (such as a vehicle) in the third data object (OpenScenario object) can be associated with the corresponding lane in the first data object (OpenDriveMap object) through coordinate transformation, thus obtaining multiple interconnected data objects.

[0052] Figure 3 The diagram shows the complete parsing and encapsulation process. As shown, multiple map data files in the map data file collection are parsed in parallel by their respective parsers. The parsed data is then filled into the corresponding data objects. After data association and integration, three data objects filled with data and interconnected with each other can be obtained in memory. These data objects together define a complete and simulable scene, waiting for the simulation engine's rendering system to call it.

[0053] Step S103: Based on multiple data objects, use a preset simulation engine to construct a simulation scene to obtain a target simulation scene for robot simulation.

[0054] The specific simulation engine used can be flexibly set according to the actual situation, and this application embodiment does not make specific limitations in this regard.

[0055] In one specific implementation of this application embodiment, step S103 may include, for example: Figure 4 The process shown: Step S1031: Based on the first data object and the second data object, use the simulation engine to generate a road mesh to obtain a road mesh simulation object.

[0056] In the rendering system of the simulation engine, data objects can be read through the scene builder, and different sub-builders (including but not limited to road mesh generator, traffic facility placer, and dynamic entity manager) can be called to create specific simulation objects (GameObjects).

[0057] The road mesh generator takes a first data object (OpenDriveMap object) and a second data object (OpenCRGSurface object) as input. It iterates through the geometry of each road in the first data object (OpenDriveMap object), generating the road's mesh vertices along the reference lines. Then, it uses the elevation data from the second data object (OpenCRGSurface object) to displace the vertices, creating a detailed, uneven road surface. Simultaneously, it can generate lane lines based on lane information. The final output is a GameObject with a mesh filter and a mesh renderer, i.e., a road mesh simulation object.

[0058] Step S1032: Based on the first data object, use the simulation engine to place traffic facilities to obtain traffic facility simulation objects placed at predetermined locations.

[0059] For the traffic facility placer, objects and signals defined in the first data object (OpenDriveMap object) can be used as input. The traffic facility placer can search for the corresponding 3D prefab model (such as stop sign, traffic light, etc.) from the resource library according to the type and location of the object, and then instantiate it at the corresponding coordinates in the scene. The final output is a GameObject such as a traffic sign, traffic light, or building placed in the predetermined position, which is a traffic facility simulation object.

[0060] Step S1033: Based on the third data object, use the simulation engine to perform dynamic entity management to obtain a dynamic entity simulation object with control logic.

[0061] For the Dynamic Entity Manager, entities and storyboards defined in a third-party data object (OpenScenario object) can be used as input. At the start of the scene, the Dynamic Entity Manager can instantiate prefabs of vehicles or pedestrians based on the initial positions of the entities. A behavior controller script is attached to each entity, which reads the action sequences defined in the third-party data object (OpenScenario object) and controls the entity's behavior (such as acceleration, lane changing, etc.) during simulation runtime. The final output is a GameObject with control logic, i.e., a Dynamic Entity Simulation Object.

[0062] Step S1034: Render the scene containing the road grid simulation object, traffic facility simulation object and dynamic entity simulation object to obtain the target simulation scene for robot simulation.

[0063] The scene builder can obtain various 3D models, materials, textures, and other resources from a pre-defined library of materials and prefabs, and use these resources to decorate the scene. Once all GameObjects have been created and placed in the 3D scene, the simulation engine's rendering pipeline takes over, handling lighting calculations, shadow generation, camera rendering, and more, ultimately producing the target simulation scene used for robot simulation, and outputting the resulting image to the screen or a file.

[0064] Figure 5 The diagram shows the complete rendering process. As shown, different sub-builders can be called to create specific simulation objects in the 3D scene, and the scene can be decorated with the help of material and prefab resource libraries. Finally, after rendering by the simulation engine, the target simulation scene for robot simulation can be obtained.

[0065] Step S104: Perform robot simulation in the target simulation scene.

[0066] In one specific implementation of this application embodiment, step S103 may include, for example: Figure 6 The process shown: Step S1041: Construct a robot simulation object in the target simulation scene and equip the robot simulation object with virtual sensors.

[0067] As an example, a mesh model of the robot can be created in advance using 3D modeling software. After the target simulation scene is built using a simulation engine, the model can be added to the scene, making it a GameObject, i.e., a robot simulation object. Components such as rigid bodies and colliders can also be added to the robot simulation object to give it physical properties.

[0068] Virtual sensors equipped for robot simulation objects can include, but are not limited to, cameras, LiDAR, inertial measurement units (IMUs), and Global Positioning System (GPS) locators. For example, a sub-object camera can be installed on the robot simulation object, and its target texture can be set as a render texture. For LiDAR, rays can be emitted from the sensor origin to multiple angles, recording the 3D coordinates of the hit points and generating a point cloud. For IMU, the robot's velocity and angular velocity can be read every frame. For GPS, the robot's world coordinates (Transform.position) can be converted to latitude, longitude, and altitude coordinates using an origin reference value.

[0069] Step S1042: Construct the dynamic model of the robot simulation object and the control interface for receiving instructions.

[0070] The dynamics model and control interface receive external control commands and translate them into realistic robot motion, serving as a bridge between "decision-making" (the brain) and "execution" (the body). For simple dynamics models, position and rotation can be directly modified using the Transform component in the simulation engine, suitable for mobile robots. For high-fidelity dynamics models, the WheelCollider component (for wheeled robots) or ArticulationBody component (for articulated robots, such as robotic arms) in the simulation engine can be used; these components incorporate accurate physical simulations. For the control interface, a RobotController script can be created to receive commands (such as target speed, steering angle, etc.) and apply them to the dynamics model.

[0071] Step S1043: Based on the preset simulation management script, simulate the robot simulation object in the target simulation scene.

[0072] As an example, all objects in the simulation can be managed and the physical world driven by scene management and a physics engine. The physics engine can utilize the built-in physics engine within the simulation engine, requiring almost no direct manipulation; simply ensuring that objects in the scene have the correct rigid bodies and colliders is sufficient. For scene management, a SimulationManager script can be written to act as the overall controller of the simulation, responsible for starting / pausing / resetting the simulation, managing other vehicles and pedestrians, and controlling the flow of time.

[0073] In one specific implementation of this application's embodiments, human-computer interaction and output can also be based on simulation. As an example, users can intervene in the simulation in real time through the interaction and control layer, including but not limited to simulation flow control, perspective control, direct robot control, and real-time parameter adjustment. For simulation flow control, the time scale component in the simulation engine can be used to control the simulation time flow rate, triggering various operations such as start, pause, stop, reset, and setting the simulation speed (e.g., 0.5x slow motion, 2x fast forward, etc.) through preset interactive buttons (UI Buttons). For perspective control, multiple camera objects can be created, and active cameras can be switched via scripts. Movement and rotation scripts can be written for the free camera to achieve perspective control such as first-person, third-person follow, top-down global view, and free camera. For direct robot control, input signals (such as up and down arrows controlling the accelerator and brake) can be listened to and converted into robot control commands, allowing direct control of the robot's movement via keyboard, steering wheel, or joystick (commonly used in manual testing scenarios). For real-time parameter adjustments, the UI slider and input field in the simulation engine can be used to modify the properties of the corresponding components in the callback function, thereby enabling dynamic modification of environmental parameters (such as weather, lighting, etc.), sensor parameters (such as the number of LiDAR lines, etc.), robot parameters, etc.

[0074] In one specific implementation of this application, the robot simulation process can be visualized and rendered, including but not limited to main visual rendering, sensor data visualization, information panels, and multi-view displays. For main visual rendering, the engine can automatically complete the process by configuring the camera component to present a conventional third-person / first-person perspective of the robot or scene. For sensor data visualization, abstract sensor data can be overlaid on the screen for easier algorithm debugging. For example, for LiDAR point clouds, points can be drawn using a LineRenderer component or a Particle System; for camera footage, rendered textures can be displayed on the UI screen to create a picture-in-picture effect; for bounding boxes, bounding boxes can be drawn in the 3D world using the line drawing tool (GL.Lines) in the simulation engine or a custom shader. For the information panel, the robot's status data (such as speed, position, control commands, etc.) can be displayed in real time using the Canvas and interactive components (Text / UI) in the simulation engine. For multi-view displays, multiple camera components can be used, with different viewport rectangles set for each camera to display multiple time periods on a split screen, such as the main view, map panorama, sensor view, etc.

[0075] In one specific implementation of this application, data recording and analysis can be performed. This involves recording simulation test data generated during the robot simulation process and generating corresponding robot simulation test reports based on this data. This includes, but is not limited to, data recording, data playback, and report generation. For data recording, key data from the simulation process can be saved at specific frequencies in CSV or JSON format. Recorded content may include, but is not limited to, timestamps, robot states (such as position, speed, and posture), sensor data (such as images and point clouds), control commands (such as throttle, brake, and steering), and key events (such as collisions, lane departures, and task completion). A DataFrame structure can be defined, with each frame populated with data and stored in a list or directly written to a file. For data playback, the recorded data can be read into memory. In playback mode, the robot and other objects can be "reset" to the state of the corresponding frame based on the timestamp. This allows the entire simulation process to be reproduced, much like playing a video – the gold standard for verifying algorithms and reproducing problems. For report generation, after the simulation is completed, the recorded data can be analyzed, indicators (such as average speed, task completion time, number of collisions, etc.) can be calculated, and reports in HTML or PDF formats can be generated, thereby achieving automated generation of test reports.

[0076] Figure 7 The diagram illustrates the fully automated workflow of this application embodiment. As shown, the first stage is the data preparation and parsing process, where multiple map data files of different standards provide high-precision map data for processing by the data parsing layer. The second stage uses a simulation engine for scene construction. The third stage utilizes robot models and sensor simulation, dynamics and control interfaces, scene management, and a physics engine to realize the core simulation. The fourth stage involves human-computer interaction and output, where visualization rendering output, data recording, and analysis can be performed through the interaction and control layer. Through this process, a fully automated workflow is formed, encompassing data parsing, automatic scene construction, high-fidelity simulation, and test data recording and analysis. This establishes a complete technical link from multi-source high-precision map data to integrated high-fidelity simulation, avoiding cumbersome manual modeling and toolchain switching, and ensuring the repeatability of the testing process and the objectivity of the results.

[0077] In summary, this application embodiment obtains a set of map data files for robot simulation; wherein, the map data file set includes multiple map data files, each corresponding to a different data standard; data parsing and data association are performed on the multiple map data files in the map data file set to obtain multiple interconnected data objects; based on the multiple data objects, a simulation scene is constructed using a preset simulation engine to obtain a target simulation scene for robot simulation; robot simulation is then performed in the target simulation scene. Through this application embodiment, different data standards can be deeply integrated, and a more comprehensive and complete simulation scene can be constructed based on multiple map data files, thereby effectively improving the robot simulation effect.

[0078] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0079] Corresponding to the robot simulation method described in the above embodiments, Figure 8 This illustration shows a structural diagram of one embodiment of a robot simulation device provided in this application.

[0080] In this embodiment, a robot simulation device may include: The map data acquisition module 801 is used to acquire a set of map data files for robot simulation; wherein, the set of map data files includes multiple map data files, each map data file corresponding to a different data standard; The data parsing and association module 802 is used to parse and associate multiple map data files in the map data file set to obtain multiple interconnected data objects. The simulation scene construction module 803 is used to construct a simulation scene based on the multiple data objects using a preset simulation engine, so as to obtain a target simulation scene for robot simulation. The robot simulation module 804 is used to perform robot simulation in the target simulation scenario.

[0081] In one specific implementation of this application embodiment, the map data file set includes a first data file, a second data file, and a third data file; The first data file is used to describe the road, the second data file is used to describe the road surface, and the third data file is used to describe the dynamic scene.

[0082] In one specific implementation of this application embodiment, the data parsing and association module may include: The first data parsing unit is used to parse the first data file to obtain first parsed data; and to fill the first parsed data into a first data object; wherein the first data object is a pre-created data object used to describe the road; The second data parsing unit is used to parse the second data file to obtain second parsed data; and to fill the second parsed data into a second data object; wherein the second data object is a pre-created data object used to describe the road surface; The third data parsing unit is used to parse the third data file to obtain third parsed data; and to fill the third parsed data into a third data object; wherein the third data object is a pre-created data object used to describe a dynamic scene; The data association unit is used to associate the first data object, the second data object, and the third data object to obtain multiple data objects that are mutually associated.

[0083] In one specific implementation of this application, the data association unit can be specifically used to: associate the second data object with the road corresponding to the first data object, and associate the initial position of the entity in the third data object with the lane corresponding to the first data object, thereby obtaining multiple data objects that are mutually associated.

[0084] In one specific implementation of this application embodiment, the simulation scene construction module can be specifically used to: generate a road grid using the simulation engine based on the first data object and the second data object to obtain a road grid simulation object; place traffic facilities using the simulation engine based on the first data object to obtain a traffic facility simulation object placed at a predetermined location; perform dynamic entity management using the simulation engine based on the third data object to obtain a dynamic entity simulation object with control logic; and render the scene where the road grid simulation object, the traffic facility simulation object, and the dynamic entity simulation object are located to obtain the target simulation scene for robot simulation.

[0085] In one specific implementation of this application, the robot simulation module can be specifically used to: construct a robot simulation object in the target simulation scene and equip the robot simulation object with virtual sensors; construct a dynamic model of the robot simulation object and a control interface for receiving instructions; and simulate the robot simulation object in the target simulation scene based on a preset simulation management script.

[0086] In one specific implementation of this application embodiment, the robot simulation device may further include: The visualization rendering output module is used to visualize and render the robot simulation process. The data recording and analysis module is used to record the simulation test data generated during the robot simulation process and generate a corresponding robot simulation test report based on the simulation test data.

[0087] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the devices, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0088] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0089] Figure 9 A schematic block diagram of an electronic device provided in an embodiment of this application is shown. For ease of explanation, only the parts related to the embodiment of this application are shown.

[0090] like Figure 9 As shown, the electronic device 9 in this embodiment includes: a processor 90, a memory 91, and a computer program 92 stored in the memory 91 and executable on the processor 90. When the processor 90 executes the computer program 92, it implements the steps described in the various robot simulation method embodiments above, for example... Figure 1 Steps S101 to S104 are shown. Alternatively, when the processor 90 executes the computer program 92, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 8 The functions of modules 801 to 804 are shown.

[0091] For example, the computer program 92 may be divided into one or more modules / units, which are stored in the memory 91 and executed by the processor 90 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program 92 in the electronic device 9.

[0092] The electronic device 9 may include, but is not limited to, computing devices such as mobile phones, tablets, desktop computers, laptops, handheld computers, and servers. Those skilled in the art will understand that... Figure 9 This is merely an example of electronic device 9 and does not constitute a limitation on electronic device 9. It may include more or fewer components than shown, or combine certain components, or different components. For example, electronic device 9 may also include input / output devices, network access devices, buses, etc.

[0093] The processor 90 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0094] The memory 91 can be an internal storage unit of the electronic device 9, such as a hard disk or memory. The memory 91 can also be an external storage device of the electronic device 9, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card. Furthermore, the memory 91 can include both internal and external storage units of the electronic device 9. The memory 91 is used to store the computer program and other programs and data required by the electronic device 9. The memory 91 can also be used to temporarily store data that has been output or will be output.

[0095] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0096] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0097] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0098] In the embodiments provided in this application, it should be understood that the disclosed devices / electronic devices and methods can be implemented in other ways. For example, the device / electronic device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings or direct couplings or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0099] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0100] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0101] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.

[0102] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A robot simulation method, characterized in that, include: Obtain a set of map data files for robot simulation; wherein the set of map data files includes multiple map data files, each map data file corresponding to a different data standard; Data parsing and data association are performed on multiple map data files in the map data file set to obtain multiple interrelated data objects; Based on the multiple data objects, a simulation scene is constructed using a preset simulation engine to obtain a target simulation scene for robot simulation. Robot simulation is performed in the target simulation scenario.

2. The robot simulation method according to claim 1, characterized in that, The map data file set includes a first data file, a second data file, and a third data file; The first data file is used to describe the road, the second data file is used to describe the road surface, and the third data file is used to describe the dynamic scene.

3. The robot simulation method according to claim 2, characterized in that, The step of parsing and associating multiple map data files in the map data file set to obtain multiple interrelated data objects includes: The first data file is parsed to obtain first parsed data; and the first parsed data is filled into a first data object; wherein, the first data object is a pre-created data object used to describe the road; The second data file is parsed to obtain second parsed data; and the second parsed data is filled into a second data object; wherein, the second data object is a pre-created data object used to describe the road surface; The third data file is parsed to obtain third parsed data; and the third parsed data is filled into a third data object; wherein, the third data object is a pre-created data object used to describe the dynamic scene; Data association is performed on the first data object, the second data object, and the third data object to obtain multiple interconnected data objects.

4. The robot simulation method according to claim 3, characterized in that, The step of associating the first data object, the second data object, and the third data object to obtain multiple interconnected data objects includes: The second data object is associated with the road corresponding to the first data object, and the initial position of the entity in the third data object is associated with the lane corresponding to the first data object, thus obtaining multiple interconnected data objects.

5. The robot simulation method according to claim 3, characterized in that, The step of constructing a simulation scene based on the multiple data objects using a preset simulation engine to obtain a target simulation scene for robot simulation includes: Based on the first data object and the second data object, the simulation engine is used to generate a road grid to obtain a road grid simulation object; Based on the first data object, the simulation engine is used to place traffic facilities to obtain traffic facility simulation objects placed in a predetermined location; Based on the third data object, the simulation engine is used to perform dynamic entity management, resulting in a dynamic entity simulation object with control logic. The scene containing the road grid simulation object, the traffic facility simulation object, and the dynamic entity simulation object is rendered to obtain the target simulation scene used for robot simulation.

6. The robot simulation method according to claim 1, characterized in that, The robot simulation in the target simulation scenario includes: A robot simulation object is constructed in the target simulation scenario, and virtual sensors are equipped for the robot simulation object; Construct a dynamic model of the robot simulation object and a control interface for receiving commands; Based on a preset simulation management script, the robot simulation object is simulated in the target simulation scenario.

7. The robot simulation method according to any one of claims 1 to 6, characterized in that, After performing robot simulation in the target simulation scenario, the process further includes: Visualize and render the robot simulation process. Record the simulation test data generated during the robot simulation process, and generate the corresponding robot simulation test report based on the simulation test data.

8. A robot simulation device, characterized in that, include: The map data acquisition module is used to acquire a set of map data files for robot simulation; wherein, the set of map data files includes multiple map data files, each map data file corresponding to a different data standard; The data parsing and association module is used to parse and associate multiple map data files in the map data file set to obtain multiple interconnected data objects. The simulation scene construction module is used to construct a simulation scene based on the multiple data objects using a preset simulation engine, so as to obtain a target simulation scene for robot simulation. The robot simulation module is used to perform robot simulation in the target simulation scenario.

9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the robot simulation method as described in any one of claims 1 to 7.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the robot simulation method as described in any one of claims 1 to 7.