Interactive simulation platform and method based on physical engine
By uniformly configuring dynamic parameters and setting a unified timing clock in the simulation server, generating a time base mapping table, and recording the sequence of interactive events, the problems of scattered parameters and inconsistent time axes in robotic arm assembly simulation are solved, and accurate traceability and quantifiable comparison of training sessions are realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI MOPAN TECH CO LTD
- Filing Date
- 2026-01-22
- Publication Date
- 2026-05-12
AI Technical Summary
Existing robotic arm assembly simulation systems lack unified time base management during training, resulting in scattered parameter sources and inconsistent timelines, making it difficult to accurately trace and reproduce training sessions, and making it difficult to quantitatively assess differences in simulation behavior.
In the simulation server, the dynamic parameters of the robotic arm and the assembled object are configured uniformly, a unified timing clock is set, the correspondence between the timing moment and the simulation step is recorded, a time base mapping table is generated, and evidence nodes are organized through time windows to record the sequence of interactive events and parameter fingerprints, so as to realize the structured recording and reproduction of training sessions.
It achieves consistent correspondence between simulation models and field devices, precise alignment between terminal control inputs and simulation steps, stable reproduction of historical sessions and quantitative comparison of simulation behavior differences, and supports training quality control and simulation model calibration.
Smart Images

Figure CN122008194A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of virtual assembly simulation technology for industrial robots, specifically to an interactive simulation platform and method based on a physics engine. Background Technology
[0002] In this field, robotic arm assembly training systems based on simulation software or physics engines are widely used. These systems replace some on-site hands-on practice with virtual scenarios to reduce trial-and-error costs and improve training efficiency. Existing systems typically build models of the robotic arm and the assembly object on a simulation server or standalone workstation. Trainees issue action commands to the virtual robotic arm through devices such as display terminals and control handles. The system records some control trajectories and assessment results to evaluate the trainee's operational level. Some systems also support adjusting simulation parameters to more closely resemble actual working conditions.
[0003] However, existing robotic arm assembly simulations still have significant shortcomings in training process management and model consistency. On the one hand, parameters such as the mass, inertia, joint limits, friction, and control cycle of the robotic arm and assembly objects are scattered, with both factory documents and on-site calibration and maintenance records available. There is a lack of unified modeling and version management mechanisms, making it difficult to accurately trace the specific parameter combinations used during training. On the other hand, the simulation server, student terminals, and teacher terminals typically rely only on their respective local clocks or simple timestamps, lacking unified time synchronization and simulation step-level time base mapping. The correspondence between terminal control inputs and simulation steps is unclear, and the recorded operation timeline is difficult to strictly align with the internal simulation timeline. Furthermore, existing systems primarily record training process information in log files, final scores, or a few key events, lacking structured records organized by time windows that can correlate dynamic states and interactive behaviors. This makes it difficult to accurately replay and quantitatively analyze the differences in training sessions at different times after changing parameter configurations, upgrading simulation software, or introducing real robotic arm data.
[0004] Therefore, existing technologies are still insufficient to meet the following key technical requirements: In robotic arm assembly training simulation, how to structurally and versionically record the configuration of dynamic parameters of the robotic arm and the assembly object and the interaction process of the trainees under a unified time base, so that the model configuration, timeline and interaction behavior of each training session can be accurately traced and stably reproduced, and how to quantitatively evaluate the differences in simulation behavior between different sessions after parameter or working condition changes, thereby providing a reliable basis for training quality control and simulation model calibration. Summary of the Invention
[0005] To address the shortcomings of existing technologies, this invention provides an interactive simulation platform and method based on a physics engine to solve the problems mentioned in the background section.
[0006] To achieve the above objectives, the present invention provides the following technical solution: an interactive simulation method based on a physics engine, comprising:
[0007] S1. Read the mass, moment of inertia, joint limit parameters, friction parameters and control cycle of the robotic arm and assembly object in the simulation server, generate parameter vectors and corresponding parameter fingerprints, and configure rigid bodies and constraints in the physics engine accordingly.
[0008] S2. Set a unified time synchronization clock in the simulation server to synchronize the terminal time. In the physics engine, advance the simulation time in fixed steps and record the correspondence between the time synchronization moment and the simulation step moment to form a time base mapping table.
[0009] S3. The terminal controls the input and uploads according to the unified time stamp. The simulation server assigns the input to the corresponding simulation step according to the time base mapping table and arranges the input in chronological order to generate an interactive event sequence.
[0010] S4. Divide the running slices on the time base mapping table according to the time window. At the end of the running slice, extract the simulation state and combine it with the parameter fingerprint and the sequence of interactive events in the window to form an evidence node and record the node fingerprint.
[0011] S5. During the reproducibility training, the parameter version is restored based on the parameter fingerprint. The physical engine is driven to run according to the time base information and interaction event sequence in the evidence node. The simulation state is extracted at the running slice boundary and compared with the state in the evidence node to obtain the deviation index.
[0012] S6. Input the deviation index into the simulation configuration adjustment module, adjust the friction, contact stiffness and simulation step size to obtain a new parameter vector and parameter fingerprint.
[0013] Furthermore, S1 includes:
[0014] Set up a simulation server on the robotic arm assembly training production line;
[0015] The simulation server reads the mass, moment of inertia, joint limit parameters, friction parameters, and control cycle of the robotic arm and the assembled object. After completing the unit unification and consistency verification, it constructs a parameter vector according to the joint number and fixed field order.
[0016] Convert the parameter vector to text and perform a one-way mapping operation to generate parameter fingerprints;
[0017] Assign a parameter version number to the parameter vector, store the parameter version number, parameter vector, and parameter fingerprint in the device parameter library, and configure rigid bodies and constraints for the robotic arm and assembly objects in the physics engine based on the parameter vector.
[0018] Furthermore, S2 includes:
[0019] The simulation server is set to a unified time synchronization clock, and broadcasts time synchronization messages to the terminal using the local clock of the simulation server as the time base. The time synchronization messages carry the unified time synchronization time and the time base configuration version number.
[0020] The terminal calculates the time deviation based on the unified time synchronization time and the local time, stores the time deviation in the time base alignment module, and obtains a time stamp aligned with the unified time synchronization time based on the time deviation when generating control input messages;
[0021] The simulation server presets the simulation step size in the physics engine, reads the unified time at the beginning of each simulation step, and forms a time base record with the simulation step number and simulation time, and constructs a time base mapping table according to the simulation step number order.
[0022] Furthermore, S3 includes:
[0023] When generating control input, the terminal converts the local time into a unified time synchronization time according to the time base alignment module, and writes the unified time synchronization time, terminal identifier, session identifier and local sequence number into the control input message;
[0024] When receiving control input messages, the simulation server constructs an idempotent key based on the terminal identifier, session identifier, and local sequence number to deduplicate the control input.
[0025] The simulation server assigns control inputs to the corresponding simulation steps based on the time base mapping table, and generates an interactive event sequence within the simulation step by sorting them according to the unified time synchronization and terminal identifier.
[0026] Furthermore, S4 includes:
[0027] The simulation server divides the running slices according to the unified time synchronization based on the time base mapping table, and assigns a start unified time synchronization, an end unified time synchronization, and a window number to each running slice;
[0028] At the end of the slice operation, the robot arm's joint angles, joint angular velocities, assembly object poses, contact occurrences, assembly success status, and constraint solution convergence flags are read from the physics engine. Evidence nodes are generated by combining parameter fingerprints and summaries of interactive event sequences within the window.
[0029] Furthermore, the simulation server selects the window sequence number, window start time, window end time, parameter fingerprint value, assembly success status, number of contact occurrences, constraint solution convergence flag, and interaction event sequence summary value from the evidence nodes, constructs text in a fixed order and uniform format, and performs one-way summary operation to obtain node fingerprints;
[0030] The simulation server stores the evidence nodes and node fingerprints into the session storage area in the order of window number, forming an evidence chain that carries the session identifier, parameter version number, time base configuration version number and number of nodes.
[0031] Furthermore, S5 includes:
[0032] The simulation server retrieves the evidence chain, as well as the associated parameter fingerprint, parameter version number, and time base mapping table, based on the session identifier;
[0033] Based on the parameter fingerprint and parameter version number, the parameter vector is recovered from the device parameter library, and the correspondence between the rigid body, constraints, simulation steps and unified timing of the robotic arm is reconstructed in the physics engine.
[0034] Following the order of the running slices in the evidence chain, the sequence of interactive events of each running slice is applied to the physics engine. Simulation states are extracted at the boundaries of the running slices and compared with the simulation states recorded in the evidence nodes to generate deviation indices, which are used to characterize the consistency between the reproduction process and the original session.
[0035] Furthermore, S6 includes:
[0036] Configure the simulation configuration adjustment module in the simulation server;
[0037] After the simulation server completes the reproduction of the training session, it sends the comprehensive deviation statistics, session identifier, and parameter version number of the training session to the simulation configuration adjustment module.
[0038] When the deviation index exceeds the preset threshold and the number of training sessions completed since the last parameter adjustment reaches the preset minimum interval number of sessions, the simulation configuration adjustment module performs amplitude limiting adjustment on the friction parameters, contact stiffness parameters and simulation step size in the simulation parameter vector, generates a new parameter vector and parameter fingerprint, and writes the new and old parameter vectors, new and old parameter fingerprints and the deviation index that triggered the adjustment into the configuration change log.
[0039] On the other hand, the present invention provides an interactive simulation platform based on a physics engine, comprising:
[0040] The parameter modeling module is used to read the mass, moment of inertia, joint limit parameters, friction parameters and control cycle of the robotic arm and the assembled object in the simulation server, generate parameter vectors and corresponding parameter fingerprints, and configure the rigid body and constraints of the robotic arm in the physics engine based on the parameter vectors.
[0041] The time base configuration module is used to set a unified time clock in the simulation server to synchronize the terminal time, advance the simulation time in the physics engine in fixed steps, and record the correspondence between the unified time clock and the simulation step time to form a time base mapping table.
[0042] The control input processing module is used to enable the terminal to mark the control input according to the unified time synchronization and upload it, and to enable the simulation server to classify the control input into the corresponding simulation step according to the time base mapping table and arrange it in chronological order to generate an interactive event sequence.
[0043] The evidence node construction module is used to divide the running slice on the time base mapping table according to the time window, extract the simulation state at the end of the running slice, and combine the simulation state with the parameter fingerprint and the sequence of interactive events in the window to form an evidence node and record the node fingerprint.
[0044] The session reproduction module is used to recover the parameter version based on the parameter fingerprint during training reproduction, drive the physics engine to run according to the time base information and interaction event sequence in the evidence node, and extract the simulation state at the running slice boundary and compare it with the state in the evidence node to obtain the deviation index.
[0045] The simulation configuration adjustment module is used to receive deviation indicators and limit the adjustment of friction parameters, contact stiffness parameters and simulation step size in the parameter vector, and generate a new parameter vector and corresponding parameter fingerprint.
[0046] Compared with the prior art, the present invention has the following beneficial effects:
[0047] 1. By uniformly modeling the mass, inertia, limit, friction, and control cycle of the robotic arm and the assembled object on the simulation server side, constructing parameter vectors with parameter fingerprints and version numbers, and combining a unified timing clock, time base mapping table, interactive event sequence, and evidence chain organized by time window, the dynamic configuration and interaction process of each training session are fully recorded. This achieves the effect of one-to-one correspondence between the simulation model and the on-site equipment configuration, precise alignment between terminal control input and simulation steps, stable reproduction of historical sessions, and quantitative comparison of simulation behavior differences. This solves the problems of scattered parameter sources and inconsistent timelines in existing robotic arm assembly simulations, which lead to the untraceability and unreproducibility of the training process.
[0048] 2. By calculating deviation indicators such as end attitude and contact time based on evidence nodes during the reproduction process, and inputting the comprehensive deviation statistics into the simulation configuration adjustment module, controlled small-step adjustments are made to friction, contact stiffness and simulation step size under the constraints of safety boundaries and session intervals. Version locking and evidence chain recording are also performed. This achieves the effect of making simulation parameters adaptively converge with training data and simulation behavior gradually approach the target behavior without interfering with the operation of real equipment on site. At the same time, it avoids the impact of frequent and uncontrolled parameter tuning on the accuracy of existing session reproduction. Attached Figure Description
[0049] Figure 1 This is a flowchart illustrating an interactive simulation method based on a physics engine according to the present invention.
[0050] Figure 2 This is a schematic diagram of the structure of an interactive simulation platform based on a physics engine according to the present invention. Detailed Implementation
[0051] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0052] Example 1: Figure 1 A flowchart illustrating an interactive simulation method based on a physics engine according to the present invention is provided. The interactive simulation method based on a physics engine includes:
[0053] S1. Read the mass, moment of inertia, joint limit parameters, friction parameters, and control cycle of the robotic arm and assembly object from the simulation server, generate parameter vectors and corresponding parameter fingerprints, and configure rigid bodies and constraints in the physics engine accordingly. Specifically, the implementation is as follows:
[0054] A simulation server is set up on the production line used for robotic arm assembly training. The simulation server is an industrial computer equipped with simulation software and a physics engine. It is used to centrally execute simulation calculations related to robotic arm assembly training and record the simulation process. The robotic arm is an articulated robotic arm arranged at the training station. The assembly objects are the workpieces, fixtures, and tooling components that the robotic arm operates on. A session is the complete training process of a trainee from the start to the end of an assembly training operation.
[0055] To ensure that the simulation model used in each session is consistent with the field equipment, the simulation server performs parameter processing and model configuration uniformly before the session begins. The simulation server first reads the nominal mass, nominal moment of inertia, joint mechanical limit angle range, and recommended control cycle of each link and end-effector from the robot arm's factory technical documents. It then reads the actually activated joint limit angles and control cycles from the currently effective parameter configuration of the robot arm control system. Finally, it reads the mass correction value and inertia correction value from the field calibration records and obtains the friction coefficient range of the claw, tooling, and workpiece materials in contact with the assembly object from the material manual and friction test records.
[0056] In this embodiment, mass refers to the weight of a single link or end load under standard gravity conditions; inertia refers to the rotational inertia of the component relative to a specified joint axis; limit refers to the upper and lower limits of the angle at which the control system allows a certain joint to move; friction refers to the combined characteristics of static resistance and sliding resistance between the joint bearing and the contact surface between the end of the robotic arm and the assembly object; and control cycle refers to the time interval between the controller issuing action commands and receiving feedback.
[0057] The simulation server uniformly converts mass to kilograms, length to meters, angles to degrees, and time to seconds, ensuring that parameters from different sources use the same unit of measurement. When the factory technical documentation and field calibration records give different values for the same mass or inertia, the field calibration records take precedence, with the factory technical documentation serving as a reference. When the relative deviation between the two is greater than 10% but not more than 20%, the simulation server provides a prompt in the maintenance interface. Maintenance personnel can choose one or enter a compromise value based on the actual situation. When the relative deviation is greater than 20%, the simulation server marks the item as pending verification and does not directly participate in modeling. Maintenance personnel must verify the value and enter a confirmed value before continuing. When the current limit of the control system exceeds five degrees beyond the factory mechanical limit angle, the simulation server marks it as an abnormal configuration item and requires maintenance personnel to confirm.
[0058] For values that clearly exceed the physical limits of the equipment, such as a mass less than 0.1 kilogram and the component being a metal connecting rod or flange, or a mass that is zero or negative, an inertia that is zero or negative, or a limit that overlaps or has a difference of less than one degree, the simulation server will directly mark it as an error record and add it to the list to be reviewed, and it will not participate in subsequent modeling. For missing mass or inertia parameters, when the geometry of the assembly object is regular, the simulation server can estimate the volume based on the length, width, height, or diameter and height obtained from process drawings or on-site measurements, then estimate the mass based on the density of the material in the material manual, and then estimate the moment of inertia based on the rotational characteristics of the geometry about a specified axis. Preferably, for a cuboid, the rotational characteristics about the edge or central axis can be estimated according to the relationship that the mass is proportional to the square of the corresponding side length; for a cylinder, the rotational characteristics about the longitudinal or transverse axis can be estimated according to the relationship that the mass is proportional to the square of the radius or the square of the length. Those skilled in the art can select the appropriate commonly used calculation relationship according to the type of geometry. When the shape of the assembly object is irregular but the weight is not large, the typical moment of inertia value of similar parts can be used as an approximation. This typical moment of inertia value can be determined by taking the average or median value of the measurement results of similar parts in the historical calibration record. After the above estimated or alternative values are recorded in the maintenance interface and confirmed by the maintenance personnel, they are considered as available parameters for the current session.
[0059] After completing unit conversion, source selection, and missing data completion, the simulation server constructs a parameter vector according to a pre-defined field order. The parameter vector is a set of values arranged in a fixed order. The field order is preferably defined as follows: record the mass, moment of inertia, lower limit, and upper limit of the first joint to the end joint in sequence, then record the friction-related parameters associated with each joint, and then record the control cycle parameters. When adding joints or assembling different end loads on the same model of robotic arm, this order is expanded from the joint number in ascending order to ensure that the physical meaning of any parameter vector can be determined by the field position.
[0060] The simulation server converts each value in the parameter vector into text in a uniform decimal format, and concatenates them in field order using delimiters, appending the robot arm model, workstation identifier, and current date and time before and after, to obtain a text string with a fixed field order and content. Preferably, the decimal places can be set to three, that is, each value is uniformly retained to three decimal places, so as to ensure that the method of constructing parameter vector text is consistent in different sessions and different servers. Then, using a fixed constant as the initial value, each character in the text string is read sequentially. The character's encoding value is combined with the current accumulated value according to a predetermined rule. For example, when reading each character, the current value is multiplied by a fixed coefficient and then added to the character's encoding value. The result is then limited to a fixed upper limit. This process is repeated to traverse the entire text segment. The final integer obtained is used as the summary value of the parameter vector. In this embodiment, the summary value is defined as the parameter fingerprint. Preferably, the initial value can be set to zero, the fixed coefficient can be set to thirty-one, and the upper limit range can be set to a positive integer in the order of billions. For example, the upper limit range can be set to one multiplied by ten to the power of nine. When the accumulated value exceeds the upper limit range, it is modulo the upper limit range to maintain the stability of the numerical range and ensure sufficient distinguishability between different parameter versions.
[0061] Since changes in the character order and the specific value of each numerical value will alter the accumulated value trajectory during the traversal process, thus changing the final parameter fingerprint, those skilled in the art can implement a one-way mapping operation that uniquely represents the content of the parameter vector. The simulation server assigns a parameter version number to each set of parameter vectors and registers the parameter version number, the parameter vector itself, and the corresponding parameter fingerprint in the device parameter library. The device parameter library is a persistent storage area running on the simulation server, organizing records by robotic arm model, workstation identifier, and parameter version number, and supporting retrieval of the corresponding parameter set by version number. After completing parameter registration, the simulation server creates corresponding rigid bodies and constraints for each component of the robotic arm in the physics engine. Rigid bodies are dynamic entities within the physics engine used to represent the robotic arm links and assembled objects, while constraints are joint connection relationships and contact relationships that restrict the relative motion between rigid bodies.
[0062] The simulation server configures mass and inertia attributes for each rigid body based on the mass and inertia in the parameter vector, configures the allowable rotation range for each joint constraint based on the lower and upper limits, configures the static and sliding friction coefficients for each contact pair based on friction-related parameters, and configures the action command update time interval in the control logic module based on the control cycle, so that the virtual robotic arm is consistent with the on-site robotic arm in terms of inertial response, range of motion, and friction behavior.
[0063] Preferably, in a typical six-joint robotic arm assembly training production line, the mass of a single link can be set to the range of 2 kg to 50 kg, the joint limit angle can be set to the range of ±30 degrees to ±180 degrees, the control cycle can be set to the range of 1 millisecond to 20 milliseconds, the weight of the assembly object can be set to the range of 0.5 kg to 50 kg, and the static friction coefficient can be set to the range of 0.1 to 0.5. Within this range, the parameter vector values can cover working conditions from light-load precision assembly to medium-load assembly. Whenever maintenance personnel update any of the values of mass, inertia, limit, friction, or control cycle for process adjustment or model calibration, the simulation server reconstructs the parameter vector and calculates the new parameter fingerprint according to the above process, assigns a new parameter version number, and retains a complete record of the old version. This allows the system to restore the parameter set used at the time when reproducing historical sessions or analyzing training effects based on the evidence chain record formed in subsequent steps.
[0064] This embodiment presents a complete process through the above-described procedure, including obtaining key parameters of the robotic arm and assembly objects from the field, unifying units and selecting sources, filling in missing data and removing anomalies, constructing parameter vectors and parameter fingerprints, and configuring rigid bodies and constraints in the physics engine. Based on this disclosed content, the same modeling capability can be achieved on production lines with similar robotic arms and assembly objects, thereby providing a stable and consistent dynamic foundation for subsequent interactive simulation methods based on physics engines.
[0065] S2. Set a unified time synchronization clock in the simulation server to synchronize the terminal time. In the physics engine, advance the simulation time in fixed steps, and record the correspondence between the time synchronization moment and the simulation step moment to form a time base mapping table. The specific implementation is as follows:
[0066] On a production line used for robotic arm assembly training, after completing parameter modeling, a unified time clock is set on the simulation server to ensure that the simulation process corresponds one-to-one with the operation times recorded by each terminal and can be accurately reconstructed in subsequent session reproduction. The unified time clock is based on the high-precision local clock inside the simulation server. The local clock can be a hardware timing unit with a stable frequency source, capable of providing the current time at a resolution of one millisecond or higher. The workshop local area network is a wired or wireless network connecting the simulation server with each student terminal and teacher terminal. In this embodiment, its single message transmission latency is preferably controlled within the range of one to twenty milliseconds. Each terminal has its own local clock, which serves as the time source for the terminal's operating system and may drift over time.
[0067] To limit the drift of each terminal's local clock relative to the unified time clock, the simulation server periodically broadcasts time synchronization messages to each terminal before the session begins and during session execution, using the unified time clock as the reference. Each time synchronization message includes at least the current unified time and the time base configuration version number. The time base configuration version number identifies the time configuration parameters used in this session, such as the time synchronization broadcast period and simulation step size. When a terminal receives a time synchronization message, it reads the unified time from the message and simultaneously reads its current local time from its local clock. The difference between the two is taken as the time deviation for this sample, and the terminal updates its locally maintained time deviation value.
[0068] Preferably, the terminal does not directly modify the local system time. Instead, it stores the time deviation obtained from the most recent valid time synchronization message in the time base alignment module. When adding a time stamp for a control action, it first reads the local time and then subtracts the deviation to obtain a time stamp aligned with the unified time synchronization, thereby reducing the impact on other applications on the terminal. The simulation server pre-sets the simulation step size in the physics engine. The simulation step size is the time increment corresponding to each simulation state update. The simulation time is the amount of time accumulated from the session start time according to the simulation step size. The simulation step number is an integer that increments sequentially from the beginning to identify the order of each simulation step.
[0069] During session execution, the simulation server calls the unified time clock at the start of each simulation step to read the current unified time. This unified time, along with the current simulation step number and simulation time, is recorded as a time base record. The time base mapping table is a table composed of multiple time base records arranged in simulation step number order. Each record contains at least the simulation step number, simulation time, unified time, session identifier, and time base configuration version number. The session identifier is a unique number that distinguishes different training sessions, and the time base configuration version number indicates the time broadcast period and simulation step size used for the current record.
[0070] The time-base mapping table is stored in the simulation server's memory in ascending order of simulation step number. New records are written to persistent disk storage at fixed time intervals to prevent loss of the time-base mapping relationship due to unexpected power outages. Preferably, the fixed time interval can be set to one second, or a write operation can be performed every thousand simulation steps to achieve a balance between write frequency and disk load. To control memory usage, the simulation server preferably retains only the time-base records for the most recent ten to thirty minutes for each session in memory. After the session ends, the full time-base mapping table for that session is split and stored in persistent storage according to the session identifier.
[0071] When configuring a unified time synchronization clock, the simulation server simultaneously records the time synchronization broadcast period, the number of consecutively lost time synchronization messages allowed, and the deviation threshold between the unified time synchronization time and the simulation time. The deviation threshold is used to determine whether the simulation time and the unified time synchronization time are still within an acceptable range. Preferably, the number of consecutively lost time synchronization messages allowed can be set to three. When the number of consecutively lost messages exceeds three, the simulation server records an alarm and suggests that maintenance personnel check the network status. Preferably, in normal mode, the absolute difference between the unified time synchronization time and the simulation time accumulated according to the simulation step size can be set to no more than five milliseconds. When the difference is detected to exceed five milliseconds, the simulation server triggers a time base configuration check and records alarm information to remind maintenance personnel to assess whether it is necessary to adjust the simulation step size or the time synchronization broadcast strategy.
[0072] In field conditions where a unified time synchronization clock cannot be broadcast continuously and reliably, such as when the workshop network quality fluctuates significantly or cannot maintain high-precision time synchronization services for extended periods, this embodiment provides a degradation mode to maintain basic time alignment capabilities. In degradation mode, the simulation server continuously sends multiple time synchronization messages to each terminal at the beginning of each session. Preferably, the number of time synchronization message transmissions can be set to five to ten, and the interval between each time synchronization message can be set to fifty to one hundred milliseconds. When receiving each time synchronization message, the terminal simultaneously records its local time and the unified time synchronization time in the message, calculates the difference between each pair of local times and the unified time synchronization time, and obtains multiple sets of time deviation samples.
[0073] The terminal arranges these time deviation samples in the order they are received, extracts the first and last samples, calculates the time deviation difference between the two samples, and calculates the time interval between the local times of the two samples. The ratio of the time deviation difference to the local time interval is regarded as the linear drift rate of the local clock relative to the unified time clock. Combined with the time deviation of the first sample, a linear drift model that is approximately valid during the session is constructed. Specifically, at any time after the session, the terminal reads the local time, subtracts it from the local time recorded in the first sample to obtain the time interval, multiplies the time interval by the aforementioned drift rate, adds it to the time deviation of the first sample to obtain the current estimated time deviation, and then subtracts the estimated time deviation from the local time to obtain the time stamp aligned with the unified time clock.
[0074] When the terminal generates time stamps using the drift model, it simultaneously records the number of samples used, the sample time span, and the drift velocity estimate as part of the current time base state. This information is sent to the simulation server along with the control actions uploaded, allowing the simulation server to determine the timing accuracy level corresponding to the time stamp during subsequent alignment. In degenerate mode, the simulation server still accumulates the simulation time at the start of each simulation step according to the set simulation step size and writes the simulation step number and simulation time into the time base mapping table. For the unified timing time field, the unified timing time at the start of the session can be selected as the benchmark and linearly accumulated according to the simulation step size, or a finite number of timing measurements can be performed periodically during the session to correct the accumulated deviation. Because there may be a large error between the unified timing time in degenerate mode and the unified timing time calculated by the terminal, the simulation server uses a wider time deviation threshold than in normal mode when merging simulation steps for the terminal control actions according to the time base mapping table.
[0075] Preferably, in degradation mode, the absolute difference between the timestamp in the control action record and the unified timing time in the corresponding simulation step record is allowed to be no more than 50 milliseconds. As long as the difference is no more than 50 milliseconds, the control action is considered to be included in the simulation step. When the difference exceeds 50 milliseconds, it can be considered to be out of the current simulation step time window, and the simulation server will make a manual or semi-automatic judgment based on the most recent simulation step number and timestamp. In normal mode, in order to improve the accuracy of the alignment between the terminal operation and the simulation step, the broadcast period of the unified timing clock can preferably be set to 10 to 50 milliseconds, and the simulation step size can be set to 1 to 10 milliseconds. Under this configuration, combined with the network latency control within the range of 1 to 20 milliseconds, those skilled in the art can use the above-mentioned timing broadcast and deviation correction mechanism to control the alignment error between the timestamp of the terminal control action and the simulation step within the range of 2 to 20 milliseconds, thus meeting the time consistency requirements in the robotic arm assembly training scenario. In degradation mode, while the deviation threshold is relaxed to fifty milliseconds, the duration of a single session can be preferably limited to no more than thirty minutes. After each session ends, the terminal is required to re-perform timing sampling and drift model calculation to prevent excessive accumulation of time deviation when the time span of a single drift model is too large.
[0076] This embodiment sets up a unified time clock on the simulation server, periodically broadcasts the time synchronization time, records the correspondence between the unified time synchronization time and the simulation time at the beginning of each simulation step, constructs a session-level time base mapping table, and provides time alignment and deviation control strategies in normal mode and degradation mode respectively. This enables those skilled in the art to build a reproducible time base system on a production line with similar network and equipment conditions, thereby accurately classifying terminal control actions into the corresponding simulation steps in subsequent steps, and reconstructing a time relationship consistent with the actual training process based on this during session reproduction.
[0077] S3. The terminal controls the input and uploads according to the unified time stamp. The simulation server assigns the input to the corresponding simulation step according to the time base mapping table, and arranges the input in chronological order to generate an interactive event sequence. The specific implementation is as follows:
[0078] On the production line used for robotic arm assembly training, the simulation server connects to student and teacher terminals via the aforementioned workshop LAN. The student terminal includes a wearable display, a control handle, and a force feedback device, used by the student to issue joint movement, grasping, releasing, mode switching, and confirmation operations. The teacher terminal is used to view training progress, issue start or end commands, and provide necessary prompts. In this embodiment, control input refers to discrete action commands issued by a terminal to the robotic arm virtual model or training process at a specific moment. Specifically, this can be the target displacement of a single joint, grasping or releasing operations, training mode switching commands, and confirmation actions for prompts.
[0079] To ensure that the position of the control input on the timeline is consistent with the unified time synchronization clock, each terminal, when generating control input, first converts its local clock time to the unified time synchronization time based on the current time deviation obtained by its own time base alignment module. This unified time synchronization time is used as the time stamp for the control input. Simultaneously, the terminal identifier, session identifier, and local sequence number are recorded. The local sequence number is a monotonically increasing integer within a session, generated sequentially by the terminal, used to distinguish different control inputs from the same terminal within that session. When constructing a control input record, the terminal combines the control input type, control parameters, unified time synchronization time, terminal identifier, session identifier, local sequence number, and current time base status information into a single message, which is then sent to the simulation server via the workshop local area network.
[0080] After receiving a control input message, the simulation server first determines which training session the control input belongs to based on the session identifier. If the session identifier does not exist in the list of currently active sessions, the control input is recorded in the exception queue for subsequent review. For control inputs with valid session identifiers, the simulation server constructs an idempotent key based on the terminal identifier and the local sequence number. In this embodiment, the idempotent key is a combination of the session identifier, the terminal identifier, and the local sequence number, used to uniquely identify a control input of a certain terminal within a certain session.
[0081] When processing control inputs, the simulation server first checks whether the idempotent key already exists in the processed record table. If it does, the control input is marked as a duplicate message and written to the diagnostic log, and will no longer participate in the simulation calculation. If it does not exist, the idempotent key is registered as processed and enters the time alignment and simulation step merging stage.
[0082] In the time alignment process, the simulation server uses the aforementioned time base mapping table to compare the unified time synchronization time carried in the control input message with each record in the time base mapping table. It then searches for the simulation step record with the smallest absolute difference between the unified time synchronization time and the unified time synchronization time in each simulation step record, which does not exceed the alignment threshold. The alignment threshold is the maximum allowable time difference used to determine whether a control input can be assigned to a certain simulation step. When multiple simulation step records have the same difference from the unified time synchronization time of the control input and are all less than the alignment threshold, the simulation server selects the record with the smaller simulation step number as the merging target to ensure that the alignment rules remain consistent across all sessions.
[0083] Preferably, the alignment threshold can be set to half to one control cycle. For example, in a control cycle of ten milliseconds, the alignment threshold can be set to five to ten milliseconds. If no simulation step record that meets the alignment threshold is found, the control input is considered temporarily unable to align with an existing simulation step. The simulation server places the control input in the late-arriving control input buffer and records its unified time synchronization, session identifier, and local time of arrival at the server. The control input in the buffer will be repeatedly attempted to align within a subsequent preset buffer period. Once a new record is added to the time base mapping table as the simulation progresses, causing the difference between the unified time synchronization of the control input and a newly added simulation step record to fall within the alignment threshold range, the control input is assigned to the corresponding simulation step. Preferably, the preset buffer time can be set to three to ten times the control cycle. For example, when the control cycle is ten milliseconds, the buffer time can be set to thirty to one hundred milliseconds. If no simulation step record that meets the alignment threshold can be found by the end of the buffer time, the simulation server marks the control input as a timeout control input and records its unified timing time, reception time, time difference with the most recent simulation step record, and terminal identifier in the diagnostic log for subsequent analysis of workshop network jitter or abnormal terminal behavior.
[0084] Upon successful alignment, the simulation server appends control inputs to the control input set for the corresponding simulation step. Before the simulation step progresses to the state update, each control input in the control input set is sorted according to its unified time synchronization and terminal identifier. Preferably, the unified time synchronization from earliest to latest is used as the first sorting criterion, and the terminal identifier is used as the second sorting criterion. This ensures stable sorting even with identical timestamps. The sorted sequence yields the interaction event sequence for that simulation step. In this embodiment, the interaction event sequence refers to the list of all control inputs arranged chronologically that will act on that simulation step, driving the physics engine to update the virtual robotic arm's state and training process state in that simulation step.
[0085] When the simulation server executes simulation step updates, it applies each control input sequentially according to the order in the interaction event sequence. Within a control cycle, it only executes the set of control inputs within that cycle, thereby ensuring that the operations of each terminal during the simulation process are applied to the virtual scene in an orderly manner according to a unified time base. In this embodiment, control cycle jitter refers to the absolute deviation between the actual time interval between two consecutive control inputs and the target control cycle. Preferably, under typical robotic arm assembly training conditions, the control cycle jitter can be set to no more than two milliseconds, the alignment threshold can be set to five to ten milliseconds, and the preset buffer time can be set to thirty to one hundred milliseconds. Under this configuration, those skilled in the art can reliably classify control inputs from multiple student terminals and teacher terminals into the corresponding simulation steps and apply them to the physics engine in a fixed order through the steps of idempotent key deduplication, time alignment based on the time base mapping table, late-arriving control input buffering, and constructing an interaction event sequence by time sorting within the simulation step. This ensures that even in the event of network jitter and message out-of-order during the training process, the logical consistency and reproducibility between the simulation behavior and the operations of each terminal are maintained.
[0086] S4. Divide the running slices on the time base mapping table according to the time window. At the end of the running slice, extract the simulation state and combine it with the parameter fingerprint and the sequence of interactive events within the window to form evidence nodes and record the node fingerprints. The specific implementation is as follows:
[0087] During session execution, the simulation server, based on the established time base mapping table, uses the unified time synchronization time as the time axis and combines it with a pre-set time window length. It then divides a training session into several non-overlapping running slices, starting from the first simulation step of the session, with a fixed time length. Each running slice corresponds to a continuous unified time synchronization time interval and a set of simulation steps falling within that interval. In this embodiment, a running slice is identified by the start unified time synchronization time, the end unified time synchronization time, and the window number. The window number increments from the start. When generating the time base mapping table, the simulation server, for each record containing a simulation step number and a unified time synchronization time, assigns the simulation step to the running slice with the corresponding window number based on the time interval into which the unified time synchronization time falls. The time window length is the difference between the start unified time synchronization times of adjacent running slices. In this embodiment, a fixed length division is preferred over a sliding window, so that the corresponding time range can be directly located by the window number during reproduction.
[0088] When the unified timer for the end of a certain running slice arrives and all simulation steps within that window have completed their state updates, the simulation server calls the physics engine's state query interface to extract the simulation state information within that running slice from the physics engine. The simulation state information includes a representative state summary of each simulation step at the end of the running slice. The robot arm joint angles and angular velocities are the current angular positions and angular velocities read by the simulation server from joint number one to the end of the arm. The pose of the assembly object is the position and orientation parameters of the workpiece or tooling related to the end of the robot arm in three-dimensional space. The number of contact occurrences is the total number of contact events detected by the physics engine within that running slice or a count grouped by contact pairs. Whether the assembly is successful or not is a Boolean state given at the end of the running slice based on the assembly completion conditions pre-configured in the training task. The constraint solution convergence status is a marker indicating whether the physics engine has reached convergence within the limited number of iterations and error thresholds in the iterative solution of the constraint equations within that running slice.
[0089] For each running slice, the simulation server will also construct an interaction event sequence summary based on the aforementioned interaction event sequence. In this embodiment, the interaction event sequence summary may include the total number of control inputs within the window, the number of participating terminals, a count field categorized by control input type, and a text fingerprint obtained by applying a fixed summary operation to the entire interaction event sequence. The summary operation can refer to the parameter fingerprint generation method, converting each statistical value and key identifier into a text string according to a fixed field order and a uniform number of decimal places, and then performing weighted accumulation and modulo operation on each character of the text string according to predetermined rules to obtain an integer as the summary value of the interaction event sequence.
[0090] When a certain running slice ends, the simulation server combines the time window identifier corresponding to the running slice, the unified time synchronization time of the start and end of the window, the range of simulation step numbers included, the simulation status information at the end of the window, the summary of the interaction event sequence, and the parameter fingerprint used in this session into a record. In this embodiment, this record is defined as an evidence node, which is used to summarize the key features of the simulation behavior and interaction behavior within the time window.
[0091] To facilitate subsequent verification and rapid comparison of different sessions, the simulation server generates node fingerprints for evidence nodes. The node fingerprints adopt the same one-way digest method as the parameter fingerprints: The simulation server first selects key fields for digest from the evidence nodes. The key fields are fixed and include window number, window start time, window end time, parameter fingerprint value, assembly success status, number of contact occurrences, constraint solution convergence flag, and interaction event sequence digest value. The above fields are concatenated into text in a fixed order and uniform format. Session identifier and window number are appended to both ends of the text. Then, with zero as the initial value, the text string is read character by character. The current accumulated value is multiplied by a fixed coefficient of thirty-one and then added to the current character encoding value. At each step, the accumulated value is limited to the upper limit of one times ten to the power of nine. The integer obtained after all characters have been traversed is the node fingerprint.
[0092] The simulation server stores the evidence nodes and their fingerprints in the session storage area of the simulation server, and links them sequentially according to the window number from smallest to largest to form an evidence chain for a certain session. In this embodiment, the evidence chain refers to an ordered set of multiple evidence nodes arranged in the order of time windows, and carries the session identifier, parameter version number, time base configuration version number and number of nodes of the session, which is used to characterize the dynamic configuration and interaction process of the session throughout the training process. The start time of the evidence chain refers to the start time of the unified time synchronization of the running slice corresponding to the first evidence node in the evidence chain, and the end time of the evidence chain refers to the end time of the unified time synchronization of the running slice corresponding to the last evidence node in the evidence chain.
[0093] The simulation server provides the training management system with the session identifier, parameter fingerprint values, start and end times of the evidence chain, number of nodes, and necessary summary information through an external access interface. The training management system can then use this information to decide whether to request further details of individual evidence nodes for training quality assessment or process sampling. When the simulation server finds that an evidence node corresponding to a certain window number is missing, or that the recalculated node fingerprint is inconsistent with the stored node fingerprint, it will return a unified error flag to the caller. For example, it could return an error flag indicating a missing evidence node or an error flag indicating a failed node fingerprint verification, along with the session identifier and window number, so that the upper-layer system can locate and issue an alert.
[0094] In typical robotic arm assembly training scenarios, the time window length can be set to the range of one to two seconds. When the simulation step size is one to ten milliseconds, a running slice typically contains one hundred to two thousand simulation steps. The evidence chain of a training session lasting several minutes can contain twenty to one hundred running slices. Each evidence node records at least the end-effector posture, the number of contact occurrences, the number of constraint solution iterations, whether the assembly was successful or not, and key state summary fields such as the sequence summary of interaction events. Based on the above definitions and calculation processes, those skilled in the art can implement the same running slice division, evidence node construction, and evidence chain management logic on production lines with similar robotic arms, simulation servers, and training management systems, so that the dynamic process of each training session can be stably reproduced and quantitatively evaluated in the future.
[0095] S5. During reproducible training, the parameter version is recovered based on the parameter fingerprint. The physics engine is driven to run according to the time base information and interaction event sequence in the evidence nodes. Simulation states are extracted at the run slice boundaries and compared with the states in the evidence nodes to obtain deviation indices. The specific implementation is as follows:
[0096] When a training session needs to be reproduced, the training management system sends a request containing a session identifier and a reproduction mode to the simulation server through an external access interface. The reproduction mode indicates that only the consistency verification of the simulation process should be performed, or, if a real robotic arm operation record exists, the real trajectory should be compared with the simulation trajectory. After receiving the reproduction request, the simulation server first retrieves the corresponding evidence chain and session metadata in the session storage area based on the session identifier. It then reads the parameter fingerprint, parameter version number, time base configuration version number, and complete time base mapping table associated with the evidence chain. Based on the parameter fingerprint and parameter version number, it recovers the parameter vector used in this session from the device parameter library. In the physics engine, it reconfigures the rigid bodies and constraint relationships of the robotic arm according to the parameter vector, ensuring that the mass, inertia, limit, friction, and control cycle of the virtual robotic arm are consistent with the original session. At the same time, it reconstructs the correspondence between the simulation step number and the unified time synchronization time based on the time base configuration version number and the time base mapping table, ensuring that the simulation time rhythm during the reproduction process is consistent with the original session.
[0097] After completing the dynamics configuration and time base reconstruction, the simulation server resets the physics engine simulation time to the session start time, sets the initial state of the virtual robotic arm and assembly objects to the initial pose recorded in the session startup configuration, and aligns it with the start time of the unified timing corresponding to the first evidence node in the evidence chain. The session startup configuration refers to the initial pose and related training task parameters issued and recorded by the simulation server before the session begins. Then, the simulation is reproduced according to the time window order of the evidence nodes in the evidence chain: for each running slice, the simulation server, based on the unified timing of the start and end of the window recorded by the evidence node and the sequence of interaction events for each simulation step within the window, applies control inputs to the physics engine one by one within this time range, following the sequence of interaction events for each simulation step in the original session, so that the simulation time advances with the same simulation step size as the original session.
[0098] When the simulation time reaches the unified time synchronization of the end of the running slice, the simulation server extracts the current simulation state from the physics engine. The simulation state includes the end-effector posture, joint angles and angular velocities, assembly object pose, number of contact occurrences, and constraint solution convergence flags, etc., and compares them item by item with the corresponding fields stored in the evidence node to obtain the deviation index of the running slice. In this embodiment, the deviation index is used to measure the consistency between the reproduction process and the original session in key states, and can include end-effector position difference, end-effector posture angle difference, contact occurrence time difference, and assembly success or failure difference. The end-effector position difference is the distance between the position of the virtual robot arm end in three-dimensional space at the end of the running slice and the end-effector position recorded by the evidence node. The end-effector posture angle difference is the minimum rotation angle between the two end-effector postures. The contact occurrence time difference is the time difference between the unified time synchronization of the first contact event in the running slice and the first contact time recorded by the evidence node.
[0099] The simulation server can calculate the deviation index for each running slice individually and form a comprehensive deviation statistic for the entire evidence chain after the session ends. For example, it can take the maximum and average values of the differences at the end positions of each running slice, count the maximum value of the difference in contact time and the number of running slices that exceed the threshold, and combine this with the consistency of whether the assembly is successful to form a set of comprehensive deviation indices. To facilitate direct determination of whether the training consistency requirements are met, the preset thresholds for the comprehensive deviation statistics results can be set, for example, to a maximum end position difference of no more than five millimeters and an average value of no more than two millimeters, a maximum contact time difference of no more than twenty milliseconds, and require that the success or failure of assembly be consistent across all running slices.
[0100] The simulation server pre-configures thresholds for the aforementioned deviation indicators. These thresholds are used to determine whether the reproduction process remains within an acceptable range of consistency. Preferably, the end position difference threshold can be set to a range of one to five millimeters, the end attitude angle difference threshold can be set to a range of one to three degrees, and the contact time difference threshold can be set to a range of five to twenty milliseconds. When the deviation of a certain running slice exceeds the corresponding threshold, it can be recorded as an out-of-limit event. When the number of out-of-limit running slices in a session exceeds a preset proportion, such as exceeding ten percent of the total number of running slices, the simulation server can determine that the session is unstable in reproduction.
[0101] After completing a reproduction process, the simulation server returns the deviation indices for each running slice, the comprehensive deviation statistics, and the reproduction stability judgment results to the training management system. The training management system can then use this information to evaluate the stability of the simulation model and the consistency of the training process. When real robotic arm operation records exist, these records are the actual robotic arm end-effector trajectory and key state sequences marked with a unified time stamp. The simulation server can align the reproduced virtual trajectory with the real trajectory at the boundaries of each running slice and at selected intermediate moments, based on the same time base mapping table. By calculating the differences in end-effector position, attitude angle, and contact event occurrence times at corresponding moments, deviation indices characterizing the difference between simulation and actual behavior are formed. The selection of intermediate moments can be, for example, sampling at fixed time intervals, selecting a moment for comparison every 100 milliseconds, or selecting three to five equally spaced moments for comparison within each running slice, to achieve a balance between accuracy and computational load. When a session is detected to have a significant deviation index exceeding the threshold in multiple repetitions, such as when the comprehensive deviation statistics of three consecutive repetitions all exceed the aforementioned preset threshold, the simulation server can mark the session as one that needs to be investigated. At the same time, it records the corresponding parameter version number, time base configuration version number, and session environment information so that maintenance personnel can analyze whether there are problems such as parameter modeling errors, inaccurate sensor calibration, or abnormal network conditions.
[0102] To facilitate the upper-level system in distinguishing different failure reasons, the simulation server provides different error codes when it cannot complete the reproduction request: when the session identifier does not exist in the session storage area, it returns an error code indicating that the session record is missing; when the session exists but the corresponding parameter version number cannot be found or the parameter fingerprint verification fails, it returns an error code indicating that the parameter version is missing or inconsistent; when the time base mapping table or evidence chain is incomplete, causing the reproduction process to be unable to proceed, it returns an error code indicating that the evidence chain is incomplete. All of the above error codes are accompanied by session identifier and error occurrence stage information, enabling the training management system to provide targeted prompts to users or trigger background diagnostics.
[0103] Based on the above definitions, threshold settings, and calculation processes, those skilled in the art can implement the functions of reproducing training sessions and evaluating deviations in an environment with similar simulation servers, physics engines, and training management systems. This enables the simulation platform to replay historical training processes and quantitatively measure the consistency between the simulation model and the original sessions and the behavior of the real robotic arm, thereby supporting training quality control and process verification.
[0104] S6. Input the deviation index into the simulation configuration adjustment module, adjust the friction, contact stiffness, and simulation step size to obtain a new parameter vector and parameter fingerprint. The specific implementation is as follows:
[0105] A simulation configuration adjustment module is deployed in the simulation server used for robotic arm assembly training. The simulation configuration adjustment module is a set of program units running on the simulation server. Its function is to make limited adjustments to the simulation parameters according to the deviation index after the deviation evaluation is completed and record the adjustment process, so as to gradually reduce the difference between the simulation behavior and the target behavior within the boundary of ensuring system stability and safety. In this embodiment, the target behavior refers to the simulation behavior recorded in the original training session, or the behavior represented by the actual robotic arm running trajectory when there is a real robotic arm running record.
[0106] Once a training session is successfully reproduced and a deviation index is generated, the simulation server sends the comprehensive deviation statistics for that session, along with the session identifier, parameter version number, and evidence chain identifier, to the simulation configuration adjustment module. The simulation configuration adjustment module first determines whether to enter the adjustment phase based on the current deviation index: when the end-position difference, end-position angle difference, and contact occurrence time difference are all within their respective thresholds, and the number of slices exceeding the limits does not exceed a preset proportion, the session is considered an acceptable session, and only the evaluation result of deviation within the limits is recorded in the configuration change log, without adjusting the simulation parameters; when the comprehensive deviation statistics result that the deviation index significantly exceeds the threshold, and the exceeding phenomenon occurs in multiple consecutive reproductions, the simulation configuration adjustment module marks the current parameter version as the version to be optimized, and checks the number of sessions experienced since the last successful adjustment. Only when this number is not less than the preset minimum interval number of sessions is a new adjustment allowed to be triggered, in order to avoid frequent changes in simulation behavior due to multiple adjustments in a short period of time.
[0107] In this embodiment, the simulation parameters mainly include three dimensions: friction parameters, contact stiffness parameters, and simulation step size. Friction parameters describe the resistance characteristics of the joint and contact surface, contact stiffness parameters describe the stiffness and deformation response during contact collision, and simulation step size controls the time increment of each state update of the physics engine. When deciding to perform adjustments, the simulation configuration adjustment module first determines the adjustment direction of each parameter based on the deviation direction. For example, when the end position difference shows an overall trend of being small across multiple running slices and the contact occurrence time is generally earlier than the actual behavior, it can be inferred that the contact stiffness is low or the friction is small, and it is appropriate to slightly increase the contact stiffness and friction parameters within the allowable range. When the end position difference shows obvious oscillations in the dynamic action segment and is accompanied by difficulty in constraint solution convergence, the simulation step size can be appropriately reduced to improve numerical stability.
[0108] During the specific adjustment process, the simulation configuration adjustment module calculates a target adjustment amount for each parameter to be adjusted. This target adjustment amount is calculated based on the maximum and average deviations from the comprehensive deviation statistics using a pre-set proportional coefficient. After conversion, the adjustment amount is limited to prevent excessive single adjustments from causing abrupt changes in simulation behavior. For example, for the contact stiffness parameter, after calculating the target adjustment amount, the module limits the single adjustment range to 5% to 10% of the current contact stiffness value. When the calculated target adjustment amount exceeds this range, adjustments are made only according to the boundary values. Friction parameters can be adjusted according to the allowable variation range registered in the equipment parameter library. The adjustment range can be limited to one-tenth of the allowable range, ensuring that the friction characteristics gradually converge over several sessions rather than changing abruptly at once. As for the simulation step size, the module can be adjusted according to a predefined step size, which can be set between ten microseconds and one millisecond. When it is necessary to improve stability, the simulation step size can be adjusted to a smaller step size. When it is necessary to improve simulation efficiency and the deviation is still near the upper limit of the acceptable range, the simulation step size can be slightly increased without breaking the stability constraints.
[0109] After calculating the new values of each parameter, the simulation configuration adjustment module combines the friction parameters, contact stiffness parameters, and simulation step size into a new parameter vector. It then generates a new parameter fingerprint using a digest algorithm bound to the parameter vector. Subsequently, the new and old parameter vectors, the new and old parameter fingerprints, the deviation index that triggered the adjustment, the reason for the adjustment, the adjustment time, the session identifier that triggered the adjustment, and the operation account information when the adjustment was performed are written into the configuration change log. The configuration change log is stored in the persistent storage space of the simulation server to achieve version locking of simulation parameters and adjustment rules and evidence chain traceability.
[0110] In this embodiment, the simulation configuration adjustment module maintains the deviation records of the most recent ten training sessions for each parameter version. Only when the comprehensive deviation statistics of three consecutive reproductions corresponding to a certain parameter version exceed the aforementioned preset threshold, and at least five training sessions have been completed since the last parameter adjustment, is a new adjustment allowed. When the number of adjustments performed on a certain parameter version within its lifecycle reaches the preset upper limit (which can be set to three), the version is marked as a version requiring manual review, automatic adjustment is paused, and only subsequent deviations and reproduction results are recorded to avoid repeated fluctuations near the parameter space boundary.
[0111] In terms of safety and compliance, the simulation configuration adjustment module only updates the parameter vectors within the simulation server and does not issue any action commands to the on-site robotic arm control system. The on-site robotic arm and the simulation server are only associated through offline log files or read-only status channels, ensuring that any parameter adjustment will not directly affect the behavior of the on-site equipment. At the interface level, when a simulation configuration adjustment is successfully written to the configuration change log and a new parameter version number is generated, the simulation server returns a unified success identifier and the new parameter version number to the training management system. If it is detected that the same parameter version has been modified by other maintenance operations during the adjustment period, resulting in the current adjustment being based on an inconsistent old version with the latest version, the simulation configuration adjustment module identifies this as a parameter version conflict, rejects the adjustment, and returns an identifier indicating a parameter version conflict, while recording the conflict details in the configuration change log. When adjustment requests from the training management system or background tasks are repeatedly triggered within a short period of time and do not meet the aforementioned minimum interval session number condition, the simulation server returns an identifier indicating that the adjustment requests are too frequent, to prevent continuous parameter changes before the deviation has been fully converged and evaluated.
[0112] Those skilled in the art can implement the simulation configuration adjustment module in a similar simulation server and physics engine environment according to the above definitions, adjustment logic and limiting rules. This enables the system to adjust friction, contact stiffness and simulation step size in a controlled manner according to the reproduction deviation, while ensuring the safety boundary and the integrity of the evidence chain. This will gradually pull the simulation behavior back to the preset deviation threshold within several training sessions, without affecting the reproduction accuracy of historical sessions that have been stably verified.
[0113] Example 2: Figure 2 A schematic diagram of the structure of an interactive simulation platform based on a physics engine according to the present invention is provided. The interactive simulation platform based on a physics engine includes:
[0114] The parameter modeling module is used to read the mass, moment of inertia, joint limit parameters, friction parameters and control cycle of the robotic arm and the assembled object in the simulation server, generate parameter vectors and corresponding parameter fingerprints, and configure the rigid body and constraints of the robotic arm in the physics engine based on the parameter vectors.
[0115] The time base configuration module is used to set a unified time clock in the simulation server to synchronize the terminal time, advance the simulation time in the physics engine in fixed steps, and record the correspondence between the unified time clock and the simulation step time to form a time base mapping table.
[0116] The control input processing module is used to enable the terminal to mark the control input according to the unified time synchronization and upload it, and to enable the simulation server to classify the control input into the corresponding simulation step according to the time base mapping table and arrange it in chronological order to generate an interactive event sequence.
[0117] The evidence node construction module is used to divide the running slice on the time base mapping table according to the time window, extract the simulation state at the end of the running slice, and combine the simulation state with the parameter fingerprint and the sequence of interactive events in the window to form an evidence node and record the node fingerprint.
[0118] The session reproduction module is used to recover the parameter version based on the parameter fingerprint during training reproduction, drive the physics engine to run according to the time base information and interaction event sequence in the evidence node, and extract the simulation state at the running slice boundary and compare it with the state in the evidence node to obtain the deviation index.
[0119] The simulation configuration adjustment module is used to receive deviation indicators and limit the adjustment of friction parameters, contact stiffness parameters and simulation step size in the parameter vector, and generate a new parameter vector and corresponding parameter fingerprint.
[0120] In the operating scenario shown in this embodiment:
[0121] On a production line used for training in assembling automotive transmission housings, a six-DOF articulated robotic arm with a three-finger gripper at its end is positioned at a training station. This arm is used to assemble the transmission housing and its top cover, and to perform initial bolt tightening. The simulation server at this station is an industrial computer equipped with a physics engine. It is connected to two student terminals and one instructor terminal via the workshop LAN and is interconnected with a higher-level training management system. After logging into the training management system, a student selects the "Transmission Housing Top Cover Assembly" training project and clicks "Start." The training management system then sends the session identifier, training task parameters, and session startup configuration to the simulation server. The scheduled duration of this session is approximately three minutes.
[0122] In step S1, the simulation server, based on the robotic arm model, workstation identifier, and assembly object information recorded in the session startup configuration, reads the nominal mass and moment of inertia of the six links and end effector load from the robotic arm's factory technical documentation. For example, the mass of a single link is in the range of 8kg to 25kg, and the mass of the end effector claw is approximately 5kg. Simultaneously, it reads the mechanical limit angle range and recommended control cycle (e.g., 10ms) for each joint. The server then retrieves the actually activated joint limit angles and control cycles from the currently active configuration of the robotic arm control system, and reads the mass correction values and moment of inertia correction values for each link from the most recent field calibration record. For the claw, housing positioning fixture, and top cover parts that contact the assembly object, the simulation server obtains the static friction coefficient range (e.g., 0.15 to 0.35) for steel-aluminum and steel-steel contact pairs from the material handbook and friction test records. All masses are uniformly converted to kilograms, lengths to meters, angles to degrees, and times to seconds. When a deviation of 12% between the field-calibrated inertia of a joint and the factory value is detected, the simulation server provides a prompt on the maintenance interface, requiring maintenance personnel to confirm the use of the field-calibrated value. For example, if the system detects that the current limit of joint 3 is 7° beyond the factory mechanical limit, this configuration is marked as abnormal, requiring maintenance personnel to confirm before proceeding. For the top cover part, if complete inertia parameters are missing, the simulation server estimates the volume based on the length, width, and height given in the process drawings, estimates the mass based on the aluminum alloy density, and estimates the rotational inertia around the mounting hole axis according to the cuboid inertia calculation relationship. The estimated value is written to the current session after confirmation by the engineer on the maintenance interface. After completing unit unification, source selection, and missing parameter completion, the simulation server constructs a parameter vector in the order of "mass / inertia / lower limit / upper limit of joints 1 to 6 → friction parameters of each joint → control cycle," converting each value to three decimal places and appending the robot arm model, workstation identifier, and current date and time to form a text string. The simulation server iterates through the text string with an initial value of 0 and a fixed coefficient of 31, weighting and accumulating the encoded value of each character and then dividing by 10. 9 The modulus is taken to obtain an integer as the parameter fingerprint. Simultaneously, a new parameter version number is assigned to this parameter vector, and both the parameter fingerprint and the parameter vector itself are registered in the device parameter library. Based on this, the simulation server creates rigid bodies for the six-segment linkage, top cover, housing, and positioning fixture in the physics engine. It configures the rotation range of each joint constraint according to the limit parameters, the friction coefficients between the claw and the part, and between the part and the fixture according to the friction parameters, and the action update time interval of the control logic module according to the control cycle, so that the virtual robotic arm matches the on-site robotic arm in terms of inertial response and range of motion.
[0123] In step S2, to ensure accurate reproduction of the three-minute training session, the simulation server enables a unified time clock at session startup. Using its internal high-precision clock as a reference, it periodically broadcasts time messages to the two student terminals and the teacher terminal with a time broadcast cycle of 20ms. Upon receiving the time message, each terminal calculates the difference between its local time and the unified time and maintains the time deviation. Instead of directly modifying the system time, it subtracts the most recent valid deviation from its local time when generating control action time markers to obtain the unified time. The simulation server sets the simulation step size to 2ms within the physics engine, accumulating the simulation time according to the simulation step size from the session startup time, and assigning an incrementing simulation step number to each simulation step. At the beginning of each simulation step, the simulation server reads the unified time, writes "simulation step number + simulation time + unified time + session identifier + time base configuration version number" into the time base mapping table, and flushes the new record to disk every 1000 simulation steps (approximately 2 seconds). In normal mode, the system monitors the difference between the unified time synchronization and the simulation time to ensure that the absolute value does not exceed 5ms. If it does, an alarm is recorded in the background. In this session, the workshop network remained stable, and the number of consecutive lost time synchronization messages did not exceed 3, so there was no need to switch to degradation mode.
[0124] In step S3, the trainee wears a head-mounted display and controls a virtual robotic arm via a handle and force feedback device to perform actions such as grasping the top cover, moving it above the housing, aligning it with the hole, and slowly lowering it into position. On the trainee's end, whenever joint movement, grasping, releasing, or mode switching is triggered, the trainee terminal converts its local time to a unified time based on the currently maintained time deviation. This time is used as a control input time stamp, along with a terminal identifier, session identifier, and a monotonically increasing local sequence number. This, along with the control input type, parameters, and current time base status information, is encapsulated into a message and sent to the simulation server. Upon receiving the message, the simulation server first confirms that it belongs to the currently active session based on the session identifier. Then, it constructs an idempotent key using the combination of "session identifier + terminal identifier + local sequence number." After deduplication, only the first occurrence of the control input is processed. The server uses the time base mapping table maintained in S2 to compare the unified timing time on the control inputs with the unified timing time in each simulation step record. Within an alignment threshold of 8ms, it selects the record with the smallest time difference and the smallest simulation step number as the merging target. If a control input arrives before a corresponding simulation step record has been generated, the server places it in the late-arriving control input buffer and attempts to realign it at any time within the next 80ms (8 times the control cycle of 10ms). In this training, some interference traffic from another workstation caused some control inputs to arrive late, but all found matching simulation steps within the buffer time, and no timeout control inputs were generated. After alignment, before each simulation step progresses to the state update, the simulation server constructs the interaction event sequence of that simulation step by sorting it from earliest to latest according to the unified timing time and then by terminal identifier, ensuring that multiple terminal operations within the same simulation step are applied to the physics engine in an orderly manner according to the unified time base.
[0125] In step S4, the simulation server uses the unified time synchronization as the time axis and divides the current three-minute session into non-overlapping time windows of 1 second in length, thus forming approximately 180 running slices. For each running slice, the simulation server, based on the time base mapping table, assigns the simulation step number that falls within the start and end time interval of the window to the corresponding running slice, and calls the physics engine's state query interface to extract the simulation state summary at the end of the running slice: for example, at the end of the 30th running slice, it records the angles and angular velocities of the six joints, the pose of the top cover relative to the shell positioning surface (position error approximately 1.2 mm, attitude error approximately 0.8°), the total number of contact occurrences within the window (e.g., 5 contact attempts), the assembly success status (not yet successful), and whether the constraint solution has converged in each simulation step iteration, etc. Simultaneously, the simulation server counts the total number of control inputs within the window (e.g., 24), the number of participating terminals (1 student terminal), and the counts categorized by control type (18 joint movements, 4 grasp / release, and 2 mode switching). These statistical values and key identifiers are then combined into a text string in a fixed field order. This text string is then used to generate an interaction event sequence summary value through a one-way summary operation, similar to that used for parameter fingerprints. Subsequently, the simulation server combines the window number of the running slice, the window start and end times, the range of simulation step numbers included, the simulation status information at the end of the window, the interaction event sequence summary, and the parameter fingerprint used in this session into an evidence node record. From this record, key fields such as window number, start and end times, parameter fingerprint values, assembly success status, number of contact occurrences, constraint solution convergence flags, and interaction event sequence summary values are selected, concatenated into text, and used to generate a node fingerprint using a one-way summary algorithm. All evidence nodes are linked sequentially according to their window numbers to form the evidence chain for that session. The evidence chain carries metadata such as session identifier, parameter version number, time base configuration version number, and number of nodes. It also provides summary information such as session identifier, parameter fingerprint, and start and end time of the evidence chain to the training management system through an external interface for subsequent spot checks and quality assessments.
[0126] In step S5, during a random inspection, the training management system selects this session for reproduction verification, sending a reproduction request with a session identifier to the simulation server and indicating the reproduction mode as "simulation consistency verification + comparison with the actual robotic arm's trajectory". The simulation server retrieves the evidence chain and complete time base mapping table for this session in the session storage area. Based on the parameter fingerprints and parameter version numbers recorded in the evidence chain, it restores the parameter vectors used at that time from the device parameter library. In the physics engine, it reconfigures the mass, inertia, limit, friction, and control cycle of the virtual robotic arm according to these parameter vectors. Simultaneously, it reconstructs the correspondence between the simulation step number and the unified time synchronization time based on the time base configuration version number and the time base mapping table. The server resets the simulation time to the session start time, sets the initial state of the virtual robotic arm and assembly objects to the initial posture recorded in the session startup configuration, and aligns it with the start unified time synchronization time of the running slice corresponding to the first evidence node in the evidence chain. Subsequently, the simulation server reproduces the simulation according to the time window sequence of the evidence nodes in the evidence chain: for each running slice, the control inputs at that time are applied to the physics engine one by one according to the sequence of interactive events recorded in each simulation step within the window, advancing the simulation time with the same simulation step size as the original session. When the simulation time reaches the unified end time of a certain running slice, the simulation server extracts the current simulation state from the physics engine and compares it item by item with the end-effector attitude, number of contact occurrences, constraint solution convergence flags, etc. recorded in the evidence nodes, and calculates the deviation index of the running slice. In this reproduction, the simulation server statistically obtained that the maximum difference in end-effector position is 3.1mm, the average is 1.4mm, the maximum difference in end-effector attitude angle is 1.6°, and the maximum difference in contact time is 15ms. Moreover, the success or failure of assembly is consistent across all running slices, and the deviations are all below the preset thresholds (e.g., position threshold 5mm, attitude threshold 3°, contact time threshold 20ms). No running slices exceeding the limits were found. Based on this, the simulation server determined that the session reproduction was stable and returned the deviation index of each running slice and the comprehensive deviation statistics to the training management system. Meanwhile, since this session is bound to the end-effector trajectory collected by the real robotic arm under the same process, the simulation server also selects three equally spaced intermediate moments in each running slice, aligns the reproduced virtual end-effector position with the real trajectory and calculates the difference. The maximum position difference is 4.2mm and the average value is 2.0mm, which meets the acceptance threshold requirement of the training management system for "simulation approximating real behavior".
[0127] In step S6, assuming the system subsequently collects a batch of sessions under a different, heavier top-covering process, the reproduction deviation statistics show that the end-contact time is generally about 25ms earlier than the actual behavior, and there is significant oscillation in the early stage of contact, causing multiple running slices to continuously exceed the limits in terms of contact time difference and end-position difference. The training management system triggers the simulation configuration adjustment process for the corresponding parameter version of the process. The simulation server sends the comprehensive deviation statistics of these sessions, along with the session identifier, parameter version number, and evidence chain identifier, to the simulation configuration adjustment module. The adjustment module checks and finds that a certain parameter version has reproduced deviations exceeding the preset threshold three times in the last ten sessions, and has accumulated six training sessions since the last successful adjustment, meeting the minimum interval session number condition. Based on the deviation direction (too early contact, too large oscillation), the adjustment module infers that the contact stiffness is too low and the friction is too small. Therefore, it calculates the target adjustment amount for the contact stiffness and friction parameters respectively, and limits the single adjustment amplitude to within 8% of the current value; at the same time, the simulation step size is reduced from 2ms to 1.5ms to improve numerical stability. The simulation configuration adjustment module calculates new friction parameters, contact stiffness parameters, and simulation step size, constructs a new parameter vector, and generates a new parameter fingerprint according to the aforementioned summary algorithm. The new and old parameter vectors, new and old parameter fingerprints, the deviation index triggering the adjustment, the adjustment reason, and the adjustment time are written into the configuration change log, generating a new parameter version number. From then on, new sessions under the same process will use this new parameter version for simulation; while historical sessions will still be reproduced by restoring the original parameter vector using the parameter version number and parameter fingerprint recorded in the evidence chain, unaffected by this adjustment. This ensures that the simulation behavior gradually converges in subsequent sessions without disrupting the consistency between the existing evidence chain and historical training records. Through the above specific implementation examples, this invention completes a closed-loop operation process of "parameter modeling—unified timing—interactive alignment—evidence chain recording—session reproduction and deviation evaluation—controlled parameter adjustment" in an actual robotic arm assembly training scenario. Those skilled in the art can directly implement the interactive simulation method of this invention on similar production lines based on this.
[0128] All calculations involved in the embodiments are dimensionless numerical calculations, and the preset parameters and thresholds in the calculations are set by those skilled in the art according to the actual situation.
[0129] It should be noted that this invention can be deployed on the device itself to realize embedded applications, or it can run on a PC or other terminal with a user interface, thereby meeting various hardware environments and usage requirements.
[0130] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wireless or wired transmission; wired transmission methods include optical fiber, twisted pair, coaxial cable, etc.; wireless transmission includes infrared, microwave, etc. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center containing one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.
[0131] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and modules described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0132] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.
[0133] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0134] In addition, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.
[0135] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0136] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0137] In conclusion, the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. An interactive simulation method based on a physics engine, characterized in that, include: S1. Read the mass, moment of inertia, joint limit parameters, friction parameters and control cycle of the robotic arm and assembly object in the simulation server, generate parameter vectors and corresponding parameter fingerprints, and configure rigid bodies and constraints in the physics engine accordingly. S2. Set a unified time synchronization clock in the simulation server to synchronize the terminal time. In the physics engine, advance the simulation time in fixed steps and record the correspondence between the time synchronization moment and the simulation step moment to form a time base mapping table. S3. The terminal controls the input and uploads according to the unified time stamp. The simulation server assigns the input to the corresponding simulation step according to the time base mapping table and arranges the input in chronological order to generate an interactive event sequence. S4. Divide the running slices on the time base mapping table according to the time window. At the end of the running slice, extract the simulation state and combine it with the parameter fingerprint and the sequence of interactive events in the window to form an evidence node and record the node fingerprint. S5. During the reproducibility training, the parameter version is restored based on the parameter fingerprint. The physical engine is driven to run according to the time base information and interaction event sequence in the evidence node. The simulation state is extracted at the running slice boundary and compared with the state in the evidence node to obtain the deviation index. S6. Input the deviation index into the simulation configuration adjustment module, adjust the friction, contact stiffness and simulation step size to obtain a new parameter vector and parameter fingerprint.
2. The interactive simulation method based on a physics engine according to claim 1, characterized in that, S1 includes: Set up a simulation server on the robotic arm assembly training production line; The simulation server reads the mass, moment of inertia, joint limit parameters, friction parameters, and control cycle of the robotic arm and the assembled object. After completing the unit unification and consistency verification, it constructs a parameter vector according to the joint number and fixed field order. Convert the parameter vector to text and perform a one-way mapping operation to generate parameter fingerprints; Assign a parameter version number to the parameter vector, store the parameter version number, parameter vector, and parameter fingerprint in the device parameter library, and configure rigid bodies and constraints for the robotic arm and assembly objects in the physics engine based on the parameter vector.
3. The interactive simulation method based on a physics engine according to claim 1, characterized in that, S2 include: The simulation server is set to a unified time synchronization clock, and broadcasts time synchronization messages to the terminal using the local clock of the simulation server as the time base. The time synchronization messages carry the unified time synchronization time and the time base configuration version number. The terminal calculates the time deviation based on the unified time synchronization time and the local time, stores the time deviation in the time base alignment module, and obtains a time stamp aligned with the unified time synchronization time based on the time deviation when generating control input messages; The simulation server presets the simulation step size in the physics engine, reads the unified time at the beginning of each simulation step, and forms a time base record with the simulation step number and simulation time, and constructs a time base mapping table according to the simulation step number order.
4. The interactive simulation method based on a physics engine according to claim 1, characterized in that, S3 includes: When generating control input, the terminal converts the local time into a unified time synchronization time according to the time base alignment module, and writes the unified time synchronization time, terminal identifier, session identifier and local sequence number into the control input message; When receiving control input messages, the simulation server constructs an idempotent key based on the terminal identifier, session identifier, and local sequence number to deduplicate the control input. The simulation server assigns control inputs to the corresponding simulation steps based on the time base mapping table, and generates an interactive event sequence within the simulation step by sorting them according to the unified time synchronization and terminal identifier.
5. The interactive simulation method based on a physics engine according to claim 1, characterized in that, S4 includes: The simulation server divides the running slices according to the unified time synchronization based on the time base mapping table, and assigns a start unified time synchronization, an end unified time synchronization, and a window number to each running slice; At the end of the slice operation, the robot arm's joint angles, joint angular velocities, assembly object poses, contact occurrences, assembly success status, and constraint solution convergence flags are read from the physics engine. Evidence nodes are generated by combining parameter fingerprints and summaries of interactive event sequences within the window.
6. The interactive simulation method based on a physics engine according to claim 5, characterized in that: The simulation server selects the window sequence number, window start time, window end time, parameter fingerprint value, assembly success status, number of contact occurrences, constraint solution convergence flag, and interaction event sequence summary value from the evidence nodes, constructs text in a fixed order and uniform format, and performs one-way summary operation to obtain the node fingerprint; The simulation server stores the evidence nodes and node fingerprints into the session storage area in the order of window number, forming an evidence chain that carries the session identifier, parameter version number, time base configuration version number and number of nodes.
7. The interactive simulation method based on a physics engine according to claim 1, characterized in that, S5 include: The simulation server retrieves the evidence chain, as well as the associated parameter fingerprint, parameter version number, and time base mapping table, based on the session identifier; Based on the parameter fingerprint and parameter version number, the parameter vector is recovered from the device parameter library, and the correspondence between the rigid body, constraints, simulation steps and unified timing of the robotic arm is reconstructed in the physics engine. Following the order of the running slices in the evidence chain, the sequence of interactive events of each running slice is applied to the physics engine. Simulation states are extracted at the boundaries of the running slices and compared with the simulation states recorded in the evidence nodes to generate deviation indices, which are used to characterize the consistency between the reproduction process and the original session.
8. The interactive simulation method based on a physics engine according to claim 1, characterized in that, S6 include: Configure the simulation configuration adjustment module in the simulation server; After the simulation server completes the reproduction of the training session, it sends the comprehensive deviation statistics, session identifier, and parameter version number of the training session to the simulation configuration adjustment module. When the deviation index exceeds the preset threshold and the number of training sessions completed since the last parameter adjustment reaches the preset minimum interval number of sessions, the simulation configuration adjustment module performs amplitude limiting adjustment on the friction parameters, contact stiffness parameters and simulation step size in the simulation parameter vector, generates a new parameter vector and parameter fingerprint, and writes the new and old parameter vectors, new and old parameter fingerprints and the deviation index that triggered the adjustment into the configuration change log.
9. An interactive simulation platform based on a physics engine, used to implement the interactive simulation method based on a physics engine as described in any one of claims 1-8, characterized in that, include: The parameter modeling module is used to read the mass, moment of inertia, joint limit parameters, friction parameters and control cycle of the robotic arm and the assembled object in the simulation server, generate parameter vectors and corresponding parameter fingerprints, and configure the rigid body and constraints of the robotic arm in the physics engine based on the parameter vectors. The time base configuration module is used to set a unified time clock in the simulation server to synchronize the terminal time, advance the simulation time in the physics engine in fixed steps, and record the correspondence between the unified time clock and the simulation step time to form a time base mapping table. The control input processing module is used to enable the terminal to mark the control input according to the unified time synchronization and upload it, and to enable the simulation server to classify the control input into the corresponding simulation step according to the time base mapping table and arrange it in chronological order to generate an interactive event sequence. The evidence node construction module is used to divide the running slice on the time base mapping table according to the time window, extract the simulation state at the end of the running slice, and combine the simulation state with the parameter fingerprint and the sequence of interactive events in the window to form an evidence node and record the node fingerprint. The session reproduction module is used to recover the parameter version based on the parameter fingerprint during the reproduction training, drive the physics engine to run according to the time base information and interaction event sequence in the evidence node, and extract the simulation state at the running slice boundary and compare it with the state in the evidence node to obtain the deviation index. The simulation configuration adjustment module is used to receive deviation indicators and limit the adjustment of friction parameters, contact stiffness parameters and simulation step size in the parameter vector, and generate a new parameter vector and corresponding parameter fingerprint.