Robot simulation parameter automatic identification method, device, equipment, medium and product
Patent Information
- Application Number
- CN202611507091.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-28
- Publication Date
- 2026-11-03
AI Technical Summary
The parameter adjustment process of existing robot simulation models relies on human experience, which results in low parameter adjustment efficiency and poor consistency between simulation response and real response, making it difficult to stably reproduce the results.
By acquiring a real robot model and the vector of parameters to be identified, the target parameters are determined. The identifiable information is used to select the excitation trajectory, control the real robot to execute and acquire response data, and adjust the simulation model parameters to improve consistency.
This reduces reliance on manual parameter tuning, improves parameter identification efficiency and consistency between simulation models and real robot responses, and forms a closed-loop parameter identification, verification, and adjustment process.
Smart Images

Figure CN123025303A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, specifically to a method, apparatus, equipment, medium, and product for automatic identification of robot simulation parameters. Background Technology
[0002] In the development of robot control algorithms, a simulated robot model corresponding to the real robot is usually built in a simulation environment first, and the control algorithm is developed and debugged in the simulation environment. Then, the control algorithm is migrated to the real robot for verification.
[0003] Simulated robot models typically include joint parameters, friction parameters, damping parameters, load parameters, control parameters, and time delay parameters. Due to factors such as individual robot differences, end-effector loads, and implementation differences between the simulation model and the real robot, the parameters in the simulated robot model may deviate from the actual operating characteristics of the real robot. Therefore, under the same joint commands, the simulated responses—joint positions, joint velocities, and response timings—generated by the simulated robot model may differ from the actual responses generated by the real robot, thus affecting the reliability of the simulation results and the transfer effectiveness of the control algorithm from the simulation environment to the real robot.
[0004] In related technologies, technicians typically control a real robot to execute a test trajectory, compare the responses of the real robot and a simulated robot model when executing the test trajectory, and manually adjust the parameters in the simulated robot model based on the comparison results. Technicians need to repeatedly execute the test trajectory, modify parameters, and compare the response differences before and after parameter modifications until the response of the simulated robot model and the real robot reach the expected level of consistency.
[0005] However, different types of parameters can collectively affect the response of a simulated robot model, and the response change resulting from adjusting one parameter may be influenced by other parameters. When manually adjusting multiple parameters, the selection of parameters, the order of adjustment, and the magnitude of adjustment rely heavily on the experience of technicians, making the parameter tuning process difficult to reproduce stably. Furthermore, it usually requires multiple rounds of real machine testing and simulation comparison, resulting in low parameter tuning efficiency. The parameters obtained may also be insufficient to ensure that the simulated robot model maintains good response consistency under different motion states.
[0006] Therefore, the existing robot simulation model parameter adjustment process suffers from problems such as high dependence on manual parameter tuning, low parameter identification efficiency, and poor response consistency between the simulation robot model and the real robot. Summary of the Invention
[0007] The embodiments of this application propose a method, apparatus, device, medium, and product for automatic identification of robot simulation parameters.
[0008] In a first aspect, this application provides a method for automatic identification of robot simulation parameters, the method comprising: Obtain the simulated robot model corresponding to the real robot, the parameter vector to be identified, and the execution constraints of the real robot; The target parameters are determined from the vector of parameters to be identified. The target parameters in the simulation robot model are changed for each candidate excitation trajectory and the corresponding simulation response is obtained. Based on the simulation response, the identifiability information characterizing the response degree of the target parameters and the correlation between responses between parameters is determined. Based on the identifiability information and the execution constraints, an excitation trajectory is selected, the real robot is controlled to execute the excitation trajectory, and the actual joint commands sent and the corresponding real response data are obtained. The parameters participating in this round of identification are determined based on the identifiability information, the joint commands are used to drive the simulation robot model, and the candidate parameter vector is determined based on the response residual between the simulation response data and the real response data. The candidate parameter vector is written into the simulation robot model, and the model is verified using verification data that did not participate in the candidate parameter vector determination process to obtain the verification results and verification response residuals. When the verification result meets the preset acceptance conditions, the simulation robot model is updated using the candidate parameter vector; When the verification result does not meet the preset acceptance conditions, subsequent identification actions are determined based on the working condition distribution of the verification response residual and the identifiability information. At least one of the following is adjusted based on the subsequent identification actions: target parameters, excitation trajectory, parameters participating in this round of identification, parameter value range, identification objective function or solution method. Parameter identification and verification are then performed again.
[0009] In some optional implementations, determining the identifiable information characterizing the degree of response of the target parameter and the correlation between responses based on the simulation response includes: For each candidate excitation trajectory, obtain the baseline simulation response when the target parameter is at its current value; Change each target parameter separately, while keeping the other target parameters unchanged when changing any target parameter, and obtain the simulation response corresponding to the change of each target parameter; Based on the difference between the baseline simulation response and the changed simulation response, determine the response change information corresponding to each target parameter; Based on the response change magnitude characterized by the response change information, the response degree of the corresponding target parameter is determined, and based on the similarity between the response change characteristics corresponding to different target parameters, the response correlation between the corresponding target parameters is determined. The identifiability information is generated based on the response level of each target parameter and the response correlation between different target parameters.
[0010] In some optional implementations, selecting the excitation trajectory based on the identifiability information and the execution constraints includes: Based on the response level of the target parameter corresponding to each candidate excitation trajectory, the excitation capability of the corresponding candidate excitation trajectory for the target parameter is determined; Based on the correlation of responses between parameters corresponding to each candidate excitation trajectory, determine the parameter discrimination capability of the corresponding candidate excitation trajectory for different target parameters; Based on the execution constraints, an executable stimulus trajectory that the real robot is allowed to execute is determined from each candidate stimulus trajectory; Based on the excitation capability and parameter differentiation capability corresponding to the executable excitation trajectory, an excitation trajectory for controlling the execution of the real robot is selected from the executable excitation trajectories.
[0011] In some optional implementations, before changing the target parameters in the simulated robot model for each candidate excitation trajectory and obtaining the corresponding simulation response, the method further includes: Candidate excitation trajectories are generated based on the target parameters, the current estimated values of the parameter vector to be identified, the state of the real robot, and the execution constraints. The step of generating candidate excitation trajectories based on the target parameters, the current estimated value of the parameter vector to be identified, the state of the real robot, and the execution constraints includes: The trajectory form is determined based on the target parameters; Based on the current estimated value of the parameter vector to be identified, the state of the real robot, and the execution constraints, trajectory configuration parameters adapted to the trajectory form are determined, wherein the trajectory configuration parameters include at least one of the following: joint to be excited, direction of motion, velocity, acceleration, frequency, amplitude, and duration. The candidate excitation trajectory is generated based on the trajectory form and the trajectory configuration parameters.
[0012] In some optional implementations, generating the candidate excitation trajectory based on the trajectory form and the trajectory configuration parameters includes: Select at least two trajectory forms from the trajectory forms determined according to the target parameters; Based on the trajectory configuration parameters, generate trajectory segments corresponding to at least two selected trajectory forms; The order of the generated trajectory segments is determined based on the excitation coverage of the target parameters, the attitude transition cost between different trajectory segments, the thermal drift effect, and the execution risk. The generated trajectory segments are connected according to the stated arrangement order, and the position, velocity, and acceleration between adjacent trajectory segments are made continuous to generate the candidate excitation trajectory.
[0013] In some optional implementations, determining the parameters participating in this round of identification based on the identifiability information includes: Based on the response level of each target parameter, determine whether each target parameter meets the preset identifiable conditions; Based on the response correlation between different target parameters, determine whether the different target parameters meet the preset parameter differentiation conditions; The target parameters that simultaneously satisfy the preset identifiable conditions and the preset parameter distinguishing conditions are determined as the parameters participating in this round of identification. For target parameters that do not meet the preset identifiable conditions, maintain the current value of the corresponding target parameter; For at least two target parameters that do not meet the preset parameter differentiation conditions, fix at least one of the target parameters, or replace the at least two target parameters with a combination parameter that characterizes their combined effect.
[0014] In some optional implementations, the step of using the joint commands to drive the simulated robot model and determining the candidate parameter vector based on the response residual between the simulated response data and the actual response data includes: Based on the joint commands and actual response data corresponding to different motion stages, as well as the identifiability information corresponding to each target parameter, the identification order of the parameters participating in this round of identification is determined. For each identification stage, the simulated robot model is driven by the joint commands of the corresponding motion stage, and the parameters corresponding to the identification stage are adjusted according to the response residual between the obtained simulation response data and the actual response data of the corresponding motion stage to obtain the parameter estimate value of the corresponding identification stage. The parameter estimates obtained in the previous identification stage are written into the simulation robot model used in the next identification stage. The reliability of the parameters identified in the previous identification stage is determined based on the data quality of the joint commands and real response data corresponding to the previous identification stage, the consistency of multiple identification results, and the response correlation between the parameters identified in the previous identification stage and other target parameters. Based on the reliability of the parameters, the processing method of the parameters identified in the previous identification stage in the next identification stage is determined. Specifically, parameters whose reliability meets the preset reliability conditions are fixed or their value range is narrowed, while parameters whose reliability does not meet the preset reliability conditions are expanded within the physical constraints of the corresponding parameters. The joint commands are used to drive a simulated robot model containing parameter estimates for each identification stage. Based on the response residuals between the obtained simulated response data and the actual response data, the parameter estimates for each identification stage are jointly adjusted to obtain the candidate parameter vector.
[0015] In some optional implementations, the method of using the joint commands to drive the simulated robot model containing parameter estimates for each identification stage, and jointly adjusting the parameter estimates for each identification stage based on the response residuals between the obtained simulated response data and the actual response data to obtain the candidate parameter vector, includes: The simulated response data and the real response data are divided according to the motion stage to obtain the simulated stage response data and the real stage response data corresponding to each motion stage. Based on the difference between the simulation response data and the actual response data for each motion stage, determine at least one of the position response residual, velocity response residual, and torque response residual for each motion stage. Based on the identification task corresponding to each motion stage, at least one target response residual is determined from the position response residual, velocity response residual, and torque response residual corresponding to the corresponding motion stage; Based on the engineering allowable error, noise level, or physical quantity range corresponding to different target response residuals, scaling is performed on different types of target response residuals. Based on the data quality of the joint commands corresponding to the corresponding motion phase and the actual phase response data, the error weights corresponding to different target response residuals are determined, and the identification target function is constructed based on the processed target response residuals, the error weights, and the parameter change constraints corresponding to the parameter estimates of each identification phase. The parameter estimates for each identification stage are iteratively adjusted according to the identification objective function. After each adjustment, the joint commands are used to drive the simulation robot model containing the adjusted parameter estimates. The target response residual and the identification objective function are updated according to the obtained simulation response data until the change of the identification objective function meets the preset termination condition. The parameter estimates for each identification stage at the time of termination of iteration are determined as the candidate parameter vector.
[0016] In some optional implementations, determining subsequent identification actions based on the operating condition distribution of the verification response residuals and the identifiability information includes: If the response level of the target parameter does not meet the preset identifiable conditions, an excitation trajectory will be generated to enhance the response of the corresponding target parameter, or the corresponding target parameter will be removed from the parameters participating in this round of identification and determined as the subsequent identification action. If the response correlation between at least two target parameters does not meet the preset parameter differentiation condition, an excitation trajectory for differentiating the at least two target parameters will be generated, or the number of parameters participating in this round of identification will be reduced, and the subsequent identification action will be determined. When the verification response residuals are concentrated in the working conditions corresponding to specific speeds, directions of motion, loads, or frequencies, an excitation trajectory covering the corresponding working conditions will be generated, the real robot will be controlled to execute the generated excitation trajectory, and the actual joint commands sent and the corresponding real response data will be obtained and determined as the subsequent identification action.
[0017] In some optional implementations, the subsequent identification actions are further determined according to the value state of the parameters participating in this round of identification and the convergence state of the parameter identification process, in the following manner: If a parameter participating in this round of identification reaches the boundary of its corresponding value range multiple times consecutively during the parameter identification process, the parameter value range will be adjusted according to the physical constraints of the corresponding parameter, and this will be determined as the subsequent identification action. If the identification results obtained by using different initial parameter values are inconsistent or the parameter identification process does not converge, at least one of the following will be adjusted: the range of parameter values, the identification objective function, or the solution method. If the parameters participating in this round of identification are within the corresponding physical constraints and the parameter identification process converges, and the verification response residual still recurs under the same type of working conditions, the verification response residual is identified as a structural residual, and the following processing is determined as the subsequent identification action: adding a candidate sub-model to the simulation robot model to describe the physical factors corresponding to the structural residual, and determining the parameters corresponding to the candidate sub-model as the target parameters for the next round.
[0018] Secondly, this application provides an automatic identification device for robot simulation parameters, the device comprising: The acquisition unit is used to acquire the simulation robot model corresponding to the real robot, the parameter vector to be identified, and the execution constraints of the real robot; The identifiability analysis unit is used to determine the target parameters from the parameter vector to be identified, change the target parameters in the simulation robot model for each candidate excitation trajectory and obtain the corresponding simulation response, and determine identifiability information characterizing the response degree of the target parameters and the correlation between responses of the parameters based on the simulation response. The excitation execution unit is used to select an excitation trajectory based on the identifiability information and the execution constraints, control the real robot to execute the excitation trajectory, and acquire the actual joint commands sent and the corresponding real response data. The parameter identification unit is used to determine the parameters participating in this round of identification based on the identifiability information, drive the simulation robot model using the joint commands, and determine the candidate parameter vector based on the response residual between the simulation response data and the real response data. The verification unit is used to write the candidate parameter vector into the simulation robot model, perform verification using verification data that did not participate in the candidate parameter vector determination process, and obtain the verification result and the verification response residual. The model update unit is used to update the simulation robot model using the candidate parameter vector when the verification result meets the preset acceptance conditions. The feedback identification unit is used to determine subsequent identification actions based on the working condition distribution of the verification response residual and the identifiability information when the verification result does not meet the preset acceptance conditions, and to adjust at least one of the target parameters, excitation trajectory, parameters participating in this round of identification, parameter value range, identification objective function or solution method according to the subsequent identification actions, and to re-identify and verify the parameters.
[0019] In some optional implementations, the identifiability analysis unit is specifically used for: For each candidate excitation trajectory, obtain the baseline simulation response when the target parameter is at its current value; Change each target parameter separately, while keeping the other target parameters unchanged when changing any target parameter, and obtain the simulation response corresponding to the change of each target parameter; Based on the difference between the baseline simulation response and the changed simulation response, determine the response change information corresponding to each target parameter; Based on the response change magnitude characterized by the response change information, the response degree of the corresponding target parameter is determined, and based on the similarity between the response change characteristics corresponding to different target parameters, the response correlation between the corresponding target parameters is determined. The identifiability information is generated based on the response level of each target parameter and the response correlation between different target parameters.
[0020] In some optional implementations, the excitation execution unit is specifically used for: Based on the response level of the target parameter corresponding to each candidate excitation trajectory, the excitation capability of the corresponding candidate excitation trajectory for the target parameter is determined; Based on the correlation of responses between parameters corresponding to each candidate excitation trajectory, determine the parameter discrimination capability of the corresponding candidate excitation trajectory for different target parameters; Based on the execution constraints, an executable stimulus trajectory that the real robot is allowed to execute is determined from each candidate stimulus trajectory; Based on the excitation capability and parameter differentiation capability corresponding to the executable excitation trajectory, an excitation trajectory for controlling the execution of the real robot is selected from the executable excitation trajectories.
[0021] In some optional embodiments, the apparatus further includes a candidate excitation trajectory generation unit, which is used to generate candidate excitation trajectories based on the target parameters, the current estimated value of the parameter vector to be identified, the state of the real robot, and the execution constraints before the identifiability analysis unit changes the target parameters in the simulation robot model for each candidate excitation trajectory and obtains the corresponding simulation response. The candidate excitation trajectory generation unit is specifically used for: The trajectory form is determined based on the target parameters; Based on the current estimated value of the parameter vector to be identified, the state of the real robot, and the execution constraints, trajectory configuration parameters adapted to the trajectory form are determined, wherein the trajectory configuration parameters include at least one of the following: joint to be excited, direction of motion, velocity, acceleration, frequency, amplitude, and duration. The candidate excitation trajectory is generated based on the trajectory form and the trajectory configuration parameters.
[0022] In some optional implementations, the candidate excitation trajectory generation unit is specifically used for: Select at least two trajectory forms from the trajectory forms determined according to the target parameters; Based on the trajectory configuration parameters, generate trajectory segments corresponding to at least two selected trajectory forms; The order of the generated trajectory segments is determined based on the excitation coverage of the target parameters, the attitude transition cost between different trajectory segments, the thermal drift effect, and the execution risk. The generated trajectory segments are connected according to the stated arrangement order, and the position, velocity, and acceleration between adjacent trajectory segments are made continuous to generate the candidate excitation trajectory.
[0023] In some optional implementations, the parameter identification unit is specifically used for: Based on the response level of each target parameter, determine whether each target parameter meets the preset identifiable conditions; Based on the response correlation between different target parameters, determine whether the different target parameters meet the preset parameter differentiation conditions; The target parameters that simultaneously satisfy the preset identifiable conditions and the preset parameter distinguishing conditions are determined as the parameters participating in this round of identification. For target parameters that do not meet the preset identifiable conditions, maintain the current value of the corresponding target parameter; For at least two target parameters that do not meet the preset parameter differentiation conditions, fix at least one of the target parameters, or replace the at least two target parameters with a combination parameter that characterizes their combined effect.
[0024] In some optional implementations, the parameter identification unit is specifically used for: Based on the joint commands and actual response data corresponding to different motion stages, as well as the identifiability information corresponding to each target parameter, the identification order of the parameters participating in this round of identification is determined. For each identification stage, the simulated robot model is driven by the joint commands of the corresponding motion stage, and the parameters corresponding to the identification stage are adjusted according to the response residual between the obtained simulation response data and the actual response data of the corresponding motion stage to obtain the parameter estimate value of the corresponding identification stage. The parameter estimates obtained in the previous identification stage are written into the simulation robot model used in the next identification stage. The reliability of the parameters identified in the previous identification stage is determined based on the data quality of the joint commands and real response data corresponding to the previous identification stage, the consistency of multiple identification results, and the response correlation between the parameters identified in the previous identification stage and other target parameters. Based on the reliability of the parameters, the processing method of the parameters identified in the previous identification stage in the next identification stage is determined. Specifically, parameters whose reliability meets the preset reliability conditions are fixed or their value range is narrowed, while parameters whose reliability does not meet the preset reliability conditions are expanded within the physical constraints of the corresponding parameters. The joint commands are used to drive a simulated robot model containing parameter estimates for each identification stage. Based on the response residuals between the obtained simulated response data and the actual response data, the parameter estimates for each identification stage are jointly adjusted to obtain the candidate parameter vector.
[0025] In some optional implementations, the parameter identification unit is specifically used for: The simulated response data and the real response data are divided according to the motion stage to obtain the simulated stage response data and the real stage response data corresponding to each motion stage. Based on the difference between the simulation response data and the actual response data for each motion stage, determine at least one of the position response residual, velocity response residual, and torque response residual for each motion stage. Based on the identification task corresponding to each motion stage, at least one target response residual is determined from the position response residual, velocity response residual, and torque response residual corresponding to the corresponding motion stage; Based on the engineering allowable error, noise level, or physical quantity range corresponding to different target response residuals, scaling is performed on different types of target response residuals. Based on the data quality of the joint commands corresponding to the corresponding motion phase and the actual phase response data, the error weights corresponding to different target response residuals are determined, and the identification target function is constructed based on the processed target response residuals, the error weights, and the parameter change constraints corresponding to the parameter estimates of each identification phase. The parameter estimates for each identification stage are iteratively adjusted according to the identification objective function. After each adjustment, the joint commands are used to drive the simulation robot model containing the adjusted parameter estimates. The target response residual and the identification objective function are updated according to the obtained simulation response data until the change of the identification objective function meets the preset termination condition. The parameter estimates for each identification stage at the time of termination of iteration are determined as the candidate parameter vector.
[0026] In some optional implementations, the feedback identification unit is specifically used for: If the response level of the target parameter does not meet the preset identifiable conditions, an excitation trajectory will be generated to enhance the response of the corresponding target parameter, or the corresponding target parameter will be removed from the parameters participating in this round of identification and determined as the subsequent identification action. If the response correlation between at least two target parameters does not meet the preset parameter differentiation condition, an excitation trajectory for differentiating the at least two target parameters will be generated, or the number of parameters participating in this round of identification will be reduced, and the subsequent identification action will be determined. When the verification response residuals are concentrated in the working conditions corresponding to specific speeds, directions of motion, loads, or frequencies, an excitation trajectory covering the corresponding working conditions will be generated, the real robot will be controlled to execute the generated excitation trajectory, and the actual joint commands sent and the corresponding real response data will be obtained and determined as the subsequent identification action.
[0027] In some optional implementations, the feedback identification unit is further configured to determine the subsequent identification action according to the value state of the parameters participating in this round of identification and the convergence state of the parameter identification process, in the following manner: If a parameter participating in this round of identification reaches the boundary of its corresponding value range multiple times consecutively during the parameter identification process, the parameter value range will be adjusted according to the physical constraints of the corresponding parameter, and this will be determined as the subsequent identification action. If the identification results obtained by using different initial parameter values are inconsistent or the parameter identification process does not converge, at least one of the following will be adjusted: the range of parameter values, the identification objective function, or the solution method. If the parameters participating in this round of identification are within the corresponding physical constraints and the parameter identification process converges, and the verification response residual still recurs under the same type of working conditions, the verification response residual is identified as a structural residual, and the following processing is determined as the subsequent identification action: adding a candidate sub-model to the simulation robot model to describe the physical factors corresponding to the structural residual, and determining the parameters corresponding to the candidate sub-model as the target parameters for the next round.
[0028] Thirdly, this application provides an electronic device, including: one or more processors; a storage device having one or more programs stored thereon; and when the one or more programs are executed by the one or more processors, causing the one or more processors to implement the method described in any embodiment of the first aspect of this application.
[0029] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in any embodiment of the first aspect of this application.
[0030] Fifthly, this application provides a computer program product, including a computer program / instructions, which, when executed by a processor, implement the method described in any embodiment of the first aspect of this application.
[0031] This application discloses a method, apparatus, device, medium, and product for automatic identification of robot simulation parameters. First, it acquires a simulation robot model corresponding to the real robot, a vector of parameters to be identified, and the execution constraints of the real robot. Target parameters are determined from the vector of parameters to be identified. For each candidate excitation trajectory, the target parameters in the simulation robot model are changed, and the corresponding simulation response is obtained. Based on the simulation response, identifiability information characterizing the degree of response of the target parameters and the correlation between responses between parameters is determined. Second, an excitation trajectory is selected based on the identifiability information and execution constraints. The real robot is controlled to execute the excitation trajectory, and the actually sent joint commands and corresponding real response data are acquired. Third, the parameters participating in this round of identification are determined based on the identifiability information, and the joint commands are used to drive… A simulated robot model is constructed, and candidate parameter vectors are determined based on the response residuals between the simulated and actual response data. These candidate parameter vectors are then written into the simulated robot model, and verification is performed using validation data not involved in the candidate parameter vector determination process to obtain the validation results and validation response residuals. Finally, if the validation results meet the preset acceptance conditions, the simulated robot model is updated using the candidate parameter vectors. If the validation results do not meet the preset acceptance conditions, subsequent identification actions are determined based on the working condition distribution and identifiability information of the validation response residuals. Based on these subsequent identification actions, at least one of the following is adjusted: target parameters, excitation trajectory, parameters participating in this round of identification, parameter value range, identification objective function, or solution method. Parameter identification and verification are then performed again.
[0032] Through the above technical solution, before executing the excitation trajectory on the real robot, this application first uses a simulated robot model to determine the response degree of the target parameters under different candidate excitation trajectories and the correlation of responses between parameters, and then selects the excitation trajectory in combination with the execution constraints of the real robot. Therefore, it can reduce the situation where the selected excitation trajectory cannot effectively reflect changes in the target parameters or is unsuitable for execution by the real robot. Simultaneously, determining the parameters participating in this round of identification based on identifiability information can reduce the situation where parameters with insufficient response degree or significant mutual influence participate in the identification simultaneously, reducing the impact of parameter coupling on the identification process, thereby reducing the reliance on repeated parameter selection and excitation trajectory adjustments based on human experience, and improving parameter identification efficiency. Furthermore, this application obtains the joint commands actually sent by the real robot during the execution of the excitation trajectory and uses these joint commands to drive the simulated robot model, enabling the simulated robot model and the real robot to generate responses based on corresponding command inputs. Therefore, it can reduce the impact of inconsistencies between the initially planned excitation trajectory and the joint commands actually executed by the real robot on the parameter identification results, allowing the response residuals between the simulated response data and the real response data to more accurately reflect the response differences between the simulated robot model and the real robot, thereby improving the reliability of the candidate parameter vectors. Furthermore, this application utilizes verification data not involved in the candidate parameter vector determination process to verify the candidate parameter vectors, and only updates the simulation robot model using the candidate parameter vectors when the verification results meet preset acceptance conditions. Therefore, it reduces the likelihood that candidate parameter vectors are only used for the data employed in parameter identification, improving the response consistency between the updated simulation robot model and the real robot. When the verification results do not meet the preset acceptance conditions, this application determines subsequent identification actions based on the working condition distribution and identifiability information of the verification response residuals, and adjusts the subsequent parameter identification process accordingly. Therefore, it reduces the reliance on manual experience for untargeted repeated parameter tuning after verification failure, forming a closed-loop process of parameter identification, verification, and adjustment, further reducing reliance on manual parameter tuning and improving the stability and efficiency of the robot simulation parameter identification process. Attached Figure Description
[0033] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings. The drawings are for illustrative purposes only and are not intended to limit the scope of this application. In the drawings: Figure 1 This is a system architecture diagram of one embodiment of the robot simulation parameter automatic identification method of this application; Figure 2 This is a flowchart of an embodiment of the robot simulation parameter automatic identification method according to this application; Figure 3This is an exploded flowchart of an embodiment of step S202 of this application; Figure 4 This is an exploded flowchart of an embodiment of step S203 of this application; Figure 5 This is an exploded flowchart of an embodiment of step S204 of this application; Figure 6 This is an exploded flowchart of an embodiment of step S205 of this application; Figure 7 This is an exploded flowchart of an embodiment of step S207 of this application; Figure 8 This is a schematic diagram of a structure of an embodiment of the robot simulation parameter automatic identification device according to this application; Figure 9 This is a schematic diagram of the structure of an electronic device suitable for implementing the embodiments of this application. Detailed Implementation
[0034] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.
[0035] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0036] Figure 1 An exemplary system architecture 100 is shown, in which the robot simulation parameter automatic identification method of this application can be applied.
[0037] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, and 103, a network 104, and a server 105. Network 104 provides a communication link between terminal devices 101, 102, and 103 and server 105. Network 104 may include various connection types, such as wired communication links, wireless communication links, or fiber optic communication links.
[0038] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send data. Terminal devices 101, 102, and 103 can be equipped with applications related to robot simulation parameter identification, robot control, robot simulation, robot operation data acquisition, or other applications related to robot simulation parameter identification.
[0039] Terminal devices 101, 102, and 103 can be either hardware or software. When terminal devices 101, 102, and 103 are hardware, they can be desktop computers, portable computers, workstations, robot controllers, edge computing devices, or other electronic devices with data processing capabilities. When terminal devices 101, 102, and 103 are software, they can be installed in the aforementioned electronic devices. Terminal devices 101, 102, and 103 can be implemented as multiple software programs or software units, or as a single software program or software unit; no specific limitation is made here.
[0040] Server 105 can be a server providing various services, such as a backend server processing robot simulation parameter identification requests sent by terminal devices 101, 102, and 103. The backend server can obtain the simulation robot model corresponding to the real robot, the parameter vector to be identified, and the execution constraints of the real robot. It determines the target parameters from the parameter vector to be identified, changes the target parameters in the simulation robot model for candidate excitation trajectories and obtains the corresponding simulation response, determines identifiability information based on the simulation response, selects an excitation trajectory based on the identifiability information and execution constraints, and sends the selected excitation trajectory to terminal devices 101, 102, and 103. The backend server can also obtain the joint commands actually sent by the real robot during the execution of the excitation trajectory and the corresponding real response data. It determines the candidate parameter vector based on the joint commands and real response data, verifies the candidate parameter vector using verification data, and updates the simulation robot model or determines subsequent identification actions based on the verification results. The backend server can also send the parameter identification results, verification results, verification response residuals, or the updated simulation robot model to terminal devices 101, 102, and 103.
[0041] In some cases, the automatic identification method for robot simulation parameters provided in this application can be jointly executed by terminal devices 101, 102, and 103 and server 105. For example, the processing of controlling the real robot to execute the excitation trajectory and obtaining the actual joint commands sent and the corresponding real response data can be performed by terminal devices 101, 102, and 103, while the processing of determining identifiability information, selecting the excitation trajectory, determining candidate parameter vectors, verifying the candidate parameter vectors, and updating the simulation robot model can be performed by server 105. This application does not limit this. Accordingly, different functional units of the automatic identification device for robot simulation parameters can also be respectively set in terminal devices 101, 102, and 103 and server 105.
[0042] In some cases, the automatic identification method for robot simulation parameters provided in this application can be executed by server 105, and correspondingly, the automatic identification device for robot simulation parameters can also be set in server 105. In this case, system architecture 100 may not include terminal devices 101, 102, and 103.
[0043] In some cases, the automatic identification method for robot simulation parameters provided in this application can be executed by terminal devices 101, 102, and 103, and correspondingly, the automatic identification device for robot simulation parameters can also be set in terminal devices 101, 102, and 103. In this case, the system architecture 100 may not include server 105.
[0044] Server 105 can be either hardware or software. When server 105 is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When server 105 is software, it can be implemented as multiple software programs or software units, or as a single software program or software unit; no specific limitation is made here.
[0045] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown in the diagram is for illustrative purposes only. Depending on the specific implementation requirements, system architecture 100 may include any number of terminal devices, networks, and servers.
[0046] Continue to refer to Figure 2 , Figure 2 The flowchart S200 of one embodiment of the automatic identification method for robot simulation parameters according to this application is shown.
[0047] Figure 2 The method shown can be derived from Figure 1 The process is executed by the terminal device or server in the process. This process S200 includes the following steps S201 to S207.
[0048] Step S201: Obtain the simulation robot model corresponding to the real robot, the parameter vector to be identified, and the execution constraints of the real robot.
[0049] In this embodiment, the real robot can be an industrial robot, a collaborative robot, a robotic arm, or other robot capable of performing movements according to joint commands. The simulated robot model is a model used to simulate the motion and response of a real robot in a simulation environment. The simulated robot model has a corresponding robot structure, joint configuration, and control method as the real robot, thus enabling it to generate a simulated response corresponding to the real robot after inputting joint commands.
[0050] The simulated robot model can be pre-stored in the terminal device or server, or it can be created based on the structural and configuration information of a real robot. The information used to create the simulated robot model may include at least one of the following: Unified Robot Description Format (URDF) file, Denavit-Hartenberg parameters, joint limits, link mass, link inertia, control cycle, and drive interface configuration. The simulated robot model may include at least one of the following: robot kinematics model, robot dynamics model, joint actuation model, and control response model. In one example, the simulated robot model may be a robot model created in the Isaac Sim simulation platform.
[0051] The parameter vector to be identified represents the parameters in the simulated robot model that need to be determined or adjusted based on the response of the real robot. Each parameter in the parameter vector to be identified can have a corresponding current estimated value and physical constraint range. The current estimated value of the parameter can be derived from the robot's nominal parameters, the initial configuration of the simulated robot model, historical valid parameter versions, or the results of the previous round of parameter identification.
[0052] It should be noted that the simulated robot model can also be configured with the existing calibration zero points of the real robot. In this embodiment, the existing zero-point calibration results of the real robot are used, and the existing calibration zero points are used as a fixed configuration of the simulated robot model, rather than as parameters that need to be automatically identified or adjusted.
[0053] In some optional implementations, the parameter vector to be identified may include at least one of the following: equivalent time delay parameter, proportional parameter of simulated position drive, differential parameter of simulated position drive, Coulomb friction parameter, viscous friction parameter, static friction parameter, joint damping parameter, compliance parameter, transmission clearance parameter, load mass parameter, load center of mass parameter, and load inertia parameter.
[0054] The equivalent delay parameter describes the response delay between the recorded joint command input and the recorded robot feedback output relative to the simulated robot model. This response delay can comprehensively reflect the timing effects of at least one of the following factors: communication, command queuing, control cycle maintenance, drive response, sensor sampling, and feedback transmission. When the timestamps corresponding to different processing stages are unavailable, the aforementioned timing effects can be described as an overall equivalent delay.
[0055] The proportional parameters of the simulated position drive describe the degree to which the simulated robot model generates a driving action based on the positional difference between the target joint position and the current joint position. The differential parameters of the simulated position drive describe the degree to which the simulated robot model generates a damping action based on changes in joint motion velocity, target velocity, or positional difference. Both the proportional and differential parameters of the simulated position drive are used to make the position closed-loop response of the simulated robot model approximate the position closed-loop response of the real robot, and are not limited to the control gain used by the internal controller of the real robot.
[0056] Coulomb friction parameters are used to describe the frictional forces acting in the opposite direction of robot joint motion, and which are relatively unaffected by the magnitude of the motion speed within a corresponding speed range. Coulomb friction parameters can be used to describe the frictional forces acting in both the forward and reverse directions of robot joint motion, or the same parameter can be used to describe the equivalent Coulomb frictional forces in both motion directions.
[0057] Viscous friction parameters are used to describe the frictional effect that varies with the joint speed during robot joint movement. When the magnitude or direction of the joint speed changes, the frictional effect corresponding to the viscous friction parameters can also change accordingly, thus affecting the robot's motion response in different speed ranges.
[0058] Static friction parameters describe the frictional forces that a robot joint needs to overcome when transitioning from a stationary state to a moving state, or when changing direction during low-speed motion. Static friction parameters can affect the response changes of a robot joint before and after initiation, as well as during low-speed reversal.
[0059] Joint damping parameters describe the energy dissipation caused by joint motion during the movement of robot joints or transmission mechanisms. Joint damping parameters can affect changes in joint motion velocity, vibration damping, and the response during stopping. When joint damping parameters and viscous friction parameters act on the same degree of freedom, and both produce responses related to joint motion velocity, one parameter can be fixed, or the two can be combined into a single parameter characterizing their combined effect, thus reducing redundant identification of parameters with similar responses.
[0060] Compliance parameters describe the ability of a robot's joints, links, or transmission mechanisms to elastically deform under the influence of forces or torques. Compliance parameters can affect the positional deviation and dynamic response of a simulated robot model during load application, acceleration / deceleration, or direction changes.
[0061] Backlash parameters describe the idle travel, response lag, or positional backlash that occurs in the transmission mechanism of a robot joint when switching motion directions due to mechanical backlash. Backlash parameters can affect the position, velocity, or torque response of a robot joint before and after switching motion directions.
[0062] The load mass parameter describes the mass of the load mounted on the robot's end effector. The load mass parameter can affect the gravitational forces acting on each joint when the robot is stationary or undergoing quasi-static motion in different postures, and can also affect the robot's inertial response during dynamic motion.
[0063] The load centroid parameter describes the position of the end-effector's centroid relative to the robot's end-effector reference coordinate system. Changes in the load centroid position can alter the torque exerted by the end-effector on different robot joints, thus affecting the robot's static or quasi-static response under different postures.
[0064] The load inertia parameter describes the rotational inertia of the end effector relative to a preset reference point or reference coordinate system. The load inertia parameter can affect the dynamic response of the robot when it accelerates, decelerates, or changes its attitude in different directions.
[0065] When viscous friction parameters and joint damping parameters act on the same degree of freedom and produce the same or similar response effects, one of the parameters can be kept at its current value, or a combination parameter used to characterize the combined effect of the two can be used to reduce the need for repeated identification of parameters with similar effects.
[0066] Execution constraints are used to define the movements that a real robot is allowed to perform and their safety boundaries. Execution constraints can be obtained from the real robot's technical parameters, controller configuration, safety configuration, and current operating configuration. Execution constraints may include at least one of the following: joint position limits, joint velocity limits, joint acceleration limits, applicable joint jerk limits, joint torque limits, joint current limits, self-collision limits, workspace limits, control cycle limits, and load conditions.
[0067] In some alternative implementations, execution constraints may further include operational limitations determined based on the current load, temperature, and joint state of the real robot. Temperature can be used when the real robot can provide temperature data or a reliable temperature estimate can be obtained. When the relevant temperature data is unavailable, temperature may not be used as a basis for determining execution constraints.
[0068] Step S202: Determine the target parameters from the parameter vector to be identified, change the target parameters in the simulation robot model for each candidate excitation trajectory and obtain the corresponding simulation response, and determine the identifiability information that characterizes the response degree of the target parameters and the correlation between responses of the parameters based on the simulation response.
[0069] Target parameters are one or more parameters whose response characteristics need to be analyzed during the current identification process. Target parameters can be determined from the parameter vector to be identified based on the current identification task, the current state of each parameter in the parameter vector to be identified, the results of the previous round of parameter identification, or the results of the previous round of verification. During the initial parameter identification, target parameters can be determined from the parameter vector to be identified based on the pre-configured identification task; during subsequent parameter identification, target parameters can be re-determined from the parameter vector to be identified based on the operating condition distribution of the response residuals from the previous round of verification.
[0070] Candidate excitation trajectories are alternative trajectories used to induce corresponding motion responses in simulated robot models and real robots, and are selected from among them as the actual execution trajectory. Different candidate excitation trajectories can have different joints to be excited, motion directions, velocities, accelerations, frequencies, amplitudes, or durations, thereby causing different degrees of response changes in the target parameters under different motion forms or different operating conditions.
[0071] In some alternative implementations, before changing the target parameters in the simulated robot model for each candidate excitation trajectory and obtaining the corresponding simulation response, candidate excitation trajectories can be generated based on the target parameters, the current estimated values of the parameter vector to be identified, the state of the real robot, and the execution constraints.
[0072] Specifically, the process of generating candidate excitation trajectories may include: determining the trajectory form based on the target parameters; determining trajectory configuration parameters that match the trajectory form based on the current estimated value of the parameter vector to be identified, the state of the real robot, and execution constraints; and generating candidate excitation trajectories based on the trajectory form and the trajectory configuration parameters.
[0073] The trajectory form is used to define the basic motion mode of the candidate excitation trajectory, such as constant speed motion, low speed start, low speed reversal, static hold, quasi-static motion, multi-frequency motion, or dynamic acceleration motion. The trajectory configuration parameters are used to define the specific execution content of the corresponding motion mode, and may include at least one of the following: the joint to be excited, the direction of motion, the speed, the acceleration, the frequency, the amplitude, and the duration.
[0074] The state of a real robot can include at least one of the following: current joint position, current joint speed, end effector load, temperature, and control state. The control state can be used to represent the current operating mode and safety state of the real robot, such as servo enabled state, position control state, controlled stop state, or protective shutdown state.
[0075] When determining the joint to be excited, one or more joints can be selected from the joints of the real robot based on the target parameter's acting object and its correspondence with the robot joints. For parameters acting on a specific joint, the corresponding joint can be selected as the joint to be excited; for parameters such as load mass parameters, load center of mass parameters, or load inertia parameters that can affect the response of multiple joints, multiple joints can be selected for motion.
[0076] When determining the direction of motion, you can choose a positive direction, a negative direction, or both, based on the current joint position and the remaining motion space in the corresponding direction. The remaining motion space represents the available range of motion for the robot joint from its current position along the corresponding direction to its joint position limit. When the real robot is approaching the joint position limit in a motion direction, you can reduce the trajectory amplitude in that direction or choose the opposite direction of motion.
[0077] When determining velocity, acceleration, frequency, amplitude, and duration, an initial configuration for the corresponding trajectory form can be determined based on the current estimated value of the parameter vector to be identified. This initial configuration can then be restricted or adjusted according to the state and execution constraints of the actual robot. For example, when the end effector load is high or the temperature is high, the trajectory velocity or acceleration can be reduced. When the joint position, joint velocity, joint acceleration, joint torque, or joint current corresponding to the trajectory exceeds the execution constraints, the trajectory amplitude, velocity, or acceleration can be reduced. When the actual robot is in a control state where stimulating motion is not permitted, the corresponding candidate stimulating trajectory can be temporarily not generated.
[0078] In some alternative implementations, determining the trajectory form based on the target parameters may include the following processing.
[0079] When the target parameters include equivalent time delay parameters, proportional parameters of simulated position driving, or differential parameters of simulated position driving, the determined trajectory form can include at least one of smooth multi-frequency trajectories and frequency-sweeping trajectories. A smooth multi-frequency trajectory can include multiple frequency components, allowing the motion corresponding to different frequency components to change continuously. A frequency-sweeping trajectory can allow the motion frequency to change continuously or in segments within a preset frequency range. After determining the motion amplitude and duration corresponding to each frequency based on the execution constraints, candidate excitation trajectories reflecting the dynamic response at different frequencies can be obtained.
[0080] When the target parameters include Coulomb friction parameters or viscous friction parameters, the determined trajectory form can include constant-velocity trajectories in both directions within the same attitude neighborhood. The same attitude neighborhood can be a motion region where changes in robot joint configuration or end-effector posture are within a preset range. Constant-velocity trajectories in both directions can include constant-velocity trajectory segments moving in the forward direction and constant-velocity trajectory segments moving in the reverse direction, and can also include multiple constant-velocity trajectory segments with different speeds. Therefore, it is possible to obtain the robot's response to changes in motion direction and speed under conditions of relatively small attitude changes.
[0081] When the target parameters include static friction parameters, the determined trajectory form can include at least one of a low-speed start-up trajectory after a stop and a low-speed reversal trajectory. The low-speed start-up trajectory after a stop can include a stop trajectory segment and a low-speed start-up trajectory segment connected to the stop trajectory segment, to obtain the response of the robot joint when it transitions from a stop state to a moving state. The low-speed reversal trajectory can include a trajectory segment moving at low speed along a first direction and a trajectory segment moving at low speed in the opposite direction, to obtain the response of the robot joint before and after a low-speed reversal.
[0082] When the target parameters include load mass parameters or load center of mass parameters, the determined trajectory form can include at least one of static hold trajectories and quasi-static motion trajectories under different postures. A static hold trajectories allow a real or simulated robot model to maintain a preset posture for a preset duration. Quasi-static motion trajectories allow the robot to move between different postures at lower speeds and accelerations, minimizing the inertial effect relative to the gravitational effect of the end-effector load. By setting multiple different postures, the interaction between the end-effector load and each robot joint can be altered to obtain a response that reflects the influence of the load mass parameters or load center of mass parameters.
[0083] When the target parameters include load inertia parameters, the trajectory can include dynamic acceleration trajectories in different directions. At least one acceleration direction can be selected based on the robot's current posture and workspace, and the corresponding acceleration, amplitude, and duration can be determined according to joint acceleration limits, joint torque limits, or joint current limits. Dynamic acceleration trajectories in different directions can induce inertial responses in different directions for the end effector, thereby obtaining a response that reflects the influence of the load inertia parameters.
[0084] The above trajectory formats can be used individually to generate candidate excitation trajectories, or they can be combined to generate candidate excitation trajectories.
[0085] In some optional implementations, generating candidate excitation trajectories based on trajectory types and trajectory configuration parameters may include: selecting at least two trajectory types from those determined according to target parameters; generating trajectory segments corresponding to the selected at least two trajectory types, respectively, based on the trajectory configuration parameters; determining the arrangement order of the generated trajectory segments based on the excitation coverage of the target parameters, the attitude transition cost between different trajectory segments, thermal drift effects, and execution risks; and connecting the generated trajectory segments in the arrangement order, ensuring continuity of position, velocity, and acceleration between adjacent trajectory segments to generate candidate excitation trajectories.
[0086] The excitation coverage of the target parameters represents the target parameters and motion conditions that each trajectory segment can cover. The attitude transition cost can be determined based on the difference between the ending attitude of one trajectory segment and the starting attitude of the next. Thermal drift effect represents the impact of temperature changes caused by continuous operation of a real robot on frictional characteristics, drive response, or other motion characteristics. Execution risk can be determined based on the degree of proximity of the trajectory segment to joint positions, velocity, acceleration, torque, current, self-collision, or workspace limitations.
[0087] For example, trajectory segments with smaller amplitudes, lower speeds, and lower execution risks can be arranged first, followed by trajectory segments with higher motion intensity. Alternatively, trajectory segments corresponding to similar robot postures can be arranged adjacently to reduce posture transitions between different trajectory segments. After determining the arrangement order, transition intervals can be set between adjacent trajectory segments to ensure that the ending position, velocity, and acceleration of the previous trajectory segment are continuous with the starting position, velocity, and acceleration of the next trajectory segment.
[0088] After generating candidate excitation trajectories based on the trajectory form and trajectory configuration parameters, a feasibility check can be performed on the candidate excitation trajectories using a simulated robot model. For candidate excitation trajectories that do not meet the execution constraints, the corresponding trajectory configuration parameters can be adjusted and regenerated. Trajectories that still do not meet the execution constraints after adjustment can no longer be considered as candidate excitation trajectories. Thus, one or more candidate excitation trajectories that are adapted to the target parameters and meet the execution requirements of the real robot can be obtained, for subsequent simulation responses and identification information.
[0089] like Figure 3 As shown, in some optional embodiments, step S202 may include steps S2021 to S2025.
[0090] Step S2021: For each candidate excitation trajectory, obtain the baseline simulation response when the target parameter is at its current value.
[0091] Specifically, the current estimated value of the parameter vector to be identified can be written into the simulation robot model, and the simulation robot model can be driven using the corresponding candidate excitation trajectory to obtain the baseline simulation response when the target parameter is at its current value. The baseline simulation response can include at least one of the following: joint position response, joint velocity response, and joint torque response corresponding to the physical diameter of the real robot.
[0092] When running a simulated robot model for different candidate excitation trajectories, the same simulation configuration and initial state corresponding to the respective candidate excitation trajectory can be used. The simulation configuration may include at least one of the following: control cycle, physical step size, drive type, and solver configuration, to reduce the impact of simulation configuration changes on the comparison results of different simulation responses.
[0093] Step S2022: Change each target parameter separately, while keeping the other target parameters unchanged when changing any target parameter, and obtain the simulation response corresponding to the change of each target parameter.
[0094] Specifically, based on the parameter scale and physical constraint range of the target parameters, the corresponding parameter change can be determined near the current value of the target parameters. Each time, one target parameter is selected for modification, while the other target parameters remain at their respective current values. Subsequently, the simulated robot model with the modified target parameters is driven using the same candidate excitation trajectory as when obtaining the baseline simulation response, thus obtaining the simulation response corresponding to the modified target parameters.
[0095] The change in the target parameter can be a preset proportion relative to its current value, or it can be a change determined after normalization based on the parameter scale. The changed value of the target parameter should remain within the physical constraints corresponding to that parameter. If changing the target parameter in a preset direction would exceed the physical constraints, the change can be reduced, or the target parameter can be changed in the opposite direction.
[0096] Step S2023: Based on the difference between the baseline simulation response and the changed simulation response, determine the response change information corresponding to each target parameter.
[0097] Response change information is used to represent the change in the output of the simulated robot model relative to the baseline simulation response after changing the corresponding target parameters. Response change information may include at least one of the following: magnitude, direction, time of occurrence, duration, and trend of change with the candidate excitation trajectory.
[0098] In some optional implementations, response change information, characterizing the relationship between changes in target parameters and changes in simulation responses, can be determined based on the difference between the baseline simulation response and the varied simulation response, as well as the change in the corresponding target parameters. For multiple target parameters, the response change information corresponding to each target parameter can be combined according to the order of the target parameters to form a matrix H characterizing the response change features corresponding to multiple target parameters. Each column in matrix H can correspond to a target parameter, and the elements in each column can represent the changes in the simulation response at different sampling times or different response types when the target parameter undergoes a normalized change.
[0099] Step S2024: Based on the response change magnitude characterized by the response change information, determine the response degree of the corresponding target parameter, and based on the similarity between the response change characteristics corresponding to different target parameters, determine the response correlation between the corresponding target parameters.
[0100] The responsiveness of the target parameter characterizes the degree to which the simulation response changes when the target parameter is altered under a corresponding candidate excitation trajectory. A larger change in the response corresponding to the target parameter indicates that the candidate excitation trajectory more readily reflects the change in the target parameter in the simulation response. The responsiveness of the target parameter can be determined based on one of the position response, velocity response, and torque response, or it can be determined based on a combination of multiple simulation responses.
[0101] The response correlation between target parameters is used to characterize the similarity of response changes when different target parameters change. When the direction, timing, or trend of response changes of two target parameters are similar, it can be determined that the two target parameters have a high response correlation; when the response changes of two target parameters are significantly different, it can be determined that the two target parameters have a low response correlation.
[0102] In some optional implementations, the parameter differentiation of the corresponding candidate excitation trajectories can be determined based on matrix H. For example, the correlation between the columns corresponding to different target parameters can be used to evaluate the response correlation of different target parameters. The overall excitation quality corresponding to the candidate excitation trajectory can also be evaluated based on at least one of the minimum eigenvalue, condition number, or regularized logarithmic determinant of the weighted information matrix HᵀWH. Here, H represents a matrix composed of response change information corresponding to each target parameter, Hᵀ represents the transpose of matrix H, and W represents a weight matrix determined according to the scale or reliability of different response data. The minimum eigenvalue can be used to reflect the degree of excitation of the candidate excitation trajectory towards the weaker parameter direction, the condition number can be used to reflect the difficulty of distinguishing between responses of different parameters, and the regularized logarithmic determinant can be used to reflect the comprehensive coverage of multiple target parameters by the candidate excitation trajectory.
[0103] The evaluation method described above is only one optional implementation for determining the response level of the target parameters and the correlation between responses of the parameters, and it is not required to use a specific matrix index. Alternatively, the response level of the corresponding target parameters and the correlation between responses of different target parameters can be determined directly based on the response difference between the baseline simulation response and the varied simulation response.
[0104] Step S2025: Generate identifiability information based on the response degree of each target parameter and the response correlation between different target parameters.
[0105] Identifiability information can be organized according to candidate excitation trajectories. The identifiability information corresponding to each candidate excitation trajectory may include the trajectory identifier of the candidate excitation trajectory, the parameter identifier of each target parameter, the response degree of each target parameter, and the response correlation between different target parameters. Identifiability information may also include at least one of the following: response type, motion condition, and overall excitation quality corresponding to the candidate excitation trajectory.
[0106] In one example, when the target parameters include an equivalent time delay parameter and a viscous friction parameter, the simulated robot model can be driven using a smooth multi-frequency trajectory and a constant-velocity trajectory in both directions, respectively. If the equivalent time delay parameter exhibits a significant response change under the smooth multi-frequency trajectory, and the response change characteristics differ considerably from those corresponding to the viscous friction parameter, then the identifiability information corresponding to the smooth multi-frequency trajectory indicates that the equivalent time delay parameter has a high degree of response, and that there is a low response correlation between the equivalent time delay parameter and the viscous friction parameter. If the response changes of the two target parameters under another candidate excitation trajectory are neither significant nor have similar response change characteristics, then the corresponding identifiability information indicates that the candidate excitation trajectory is not conducive to distinguishing the two target parameters.
[0107] Step S203: Select the excitation trajectory based on the identifiability information and execution constraints, control the real robot to execute the excitation trajectory, and obtain the actual joint commands sent and the corresponding real response data.
[0108] Step S203 can evaluate the excitation ability and parameter discrimination ability of each candidate excitation trajectory to the target parameter based on the identifiability information, and eliminate candidate excitation trajectories that are not allowed to be executed by the real robot according to the execution constraints, and select the excitation trajectory that controls the execution of the real robot from the remaining candidate excitation trajectories.
[0109] like Figure 4 As shown, in some optional embodiments, step S203 may include steps S2031 to S2034.
[0110] Step S2031: Determine the excitation capability of the corresponding candidate excitation trajectory for the target parameter based on the response degree of the target parameter corresponding to each candidate excitation trajectory.
[0111] The excitation capability of a candidate excitation trajectory to the target parameter indicates the degree to which changes in the target parameter are reflected in the response when a real or simulated robot model executes the candidate excitation trajectory. The higher the degree of response of the target parameter corresponding to the candidate excitation trajectory, the stronger the excitation capability of the candidate excitation trajectory to the corresponding target parameter.
[0112] When a candidate stimulus trajectory corresponds to multiple target parameters, the stimulus capability of the candidate stimulus trajectory for each target parameter can be determined separately. Alternatively, the response levels of each target parameter can be combined according to their importance in the current identification task to obtain the comprehensive stimulus capability corresponding to the candidate stimulus trajectory.
[0113] Step S2032: Based on the response correlation between parameters corresponding to each candidate excitation trajectory, determine the parameter discrimination ability of the corresponding candidate excitation trajectory for different target parameters.
[0114] Parameter discrimination capability is used to represent the ability to distinguish the influence of different target parameters based on the response generated by a candidate excitation trajectory. When the correlation between the responses of different target parameters under a candidate excitation trajectory is low, that is, when the response change characteristics generated by different target parameters are significantly different, it can be determined that the candidate excitation trajectory has strong parameter discrimination capability. When the response change characteristics generated by different target parameters are relatively similar, it can be determined that the parameter discrimination capability of the candidate excitation trajectory is weak.
[0115] For cases involving multiple target parameters, the parameter discrimination capability can be determined based on the response correlation between any two target parameters, or the parameter discrimination capability can be determined primarily based on the combination of target parameters with high response correlation, in order to reduce the situation of different parameters compensating for each other in the subsequent parameter identification process.
[0116] Step S2033: Based on the execution constraints, determine the executable stimulus trajectory that the real robot is allowed to execute from each candidate stimulus trajectory.
[0117] Specifically, a simulated robot model can be used to pre-execute the candidate excitation trajectory, and the candidate excitation trajectory can be checked based on the pre-execution result to see if it meets at least one of the following constraints: joint position constraint, joint velocity constraint, joint acceleration constraint, applicable joint jerk constraint, joint torque constraint, joint current constraint, self-collision constraint, and workspace constraint.
[0118] Candidate stimulus trajectories that satisfy execution constraints and retain corresponding safety margins can be identified as executable stimulus trajectories. Candidate stimulus trajectories that do not satisfy execution constraints can be re-examined after adjusting the corresponding trajectory configuration parameters. Candidate stimulus trajectories that still do not satisfy execution constraints after adjustment can be excluded from being identified as executable stimulus trajectories.
[0119] Step S2034: Select the excitation trajectory that controls the execution of the real robot from the executable excitation trajectories based on the excitation capability and parameter differentiation capability corresponding to the executable excitation trajectory.
[0120] In some optional implementations, executable excitation trajectories that satisfy preset excitation conditions for both the excitation capability of the target parameters and the parameter differentiation capability of different target parameters satisfy preset differentiation conditions can be preferentially selected. When there is no single executable excitation trajectory that simultaneously satisfies both conditions, multiple executable excitation trajectories can be selected so that multiple executable excitation trajectories can jointly cover the target parameters and motion conditions that need to be identified.
[0121] When multiple executable excitation trajectories have similar excitation capabilities and parameter differentiation capabilities, the excitation trajectory that can be actually controlled to be executed by the real robot can be selected from them based on execution time, number of posture transitions, distance from execution constraint boundaries, or expected execution risks.
[0122] In some alternative implementations, step S203 may also include steps S2035 to S2038.
[0123] Step S2035: Control the real robot to execute the selected excitation trajectory, and determine the execution state of the real robot based on at least one of joint current, joint torque and trajectory tracking error during the execution of the excitation trajectory.
[0124] In this embodiment, joint position commands corresponding to the excitation trajectory can be sent through the position control interface of the real robot. The trajectory tracking error can be determined based on the difference between the joint position command and the joint position feedback at the same sampling moment. The execution state is used to indicate whether the real robot is in a state that allows continued execution, requires warning processing, or needs to stop execution during the execution of the excitation trajectory.
[0125] Step S2036: If the execution state meets the warning conditions, reduce the speed or acceleration of the excitation trajectory.
[0126] The warning conditions can be determined based on the rated limits, safety configurations, and preset safety margins of the actual robot. For example, when the joint current, joint torque, or trajectory tracking error is close to the corresponding limit but has not yet reached the termination threshold, it can be determined that the execution state meets the warning conditions, and the speed or acceleration corresponding to subsequent joint commands can be smoothly reduced.
[0127] In some alternative implementations, when a predefined safe trajectory exists, and this safe trajectory is reachable from the current state of the real robot and passes the constraint check, the real robot can be controlled to switch to the safe trajectory after reducing the speed or acceleration of the excitation trajectory. The safe trajectory is used to bring the real robot into a preset safe state, and trajectories that fail the constraint check are not executed as safe trajectories.
[0128] Step S2037: If the execution state meets the termination condition, control the real robot to stop executing the excitation trajectory.
[0129] The termination conditions can be determined based on the rated limits, safety configurations, and preset safety margins of the real robot. For example, when the joint current, joint torque, or trajectory tracking error reaches the corresponding termination threshold, or when collision protection, emergency stop, or other events that do not allow continued movement are detected, it can be determined that the execution state meets the termination conditions, and the existing controlled stop or protective shutdown functions of the real robot can be invoked to stop the execution of the excitation trajectory.
[0130] Step S2038: Record the joint commands actually sent during execution, the real response data corresponding to the joint commands, and the event markers generated during execution.
[0131] The joint commands actually sent are those that have undergone speed adjustment, acceleration adjustment, safety limits, or other control processing before being sent to the real robot. When the speed or acceleration of the excitation trajectory is reduced according to warning conditions during execution, the recorded joint commands are the adjusted joint commands, not the initial planned commands before adjustment.
[0132] Real-world response data includes at least joint position feedback, and may also include at least one of the following: joint velocity, joint acceleration, joint current, and joint torque, which can be acquired or determined based on the joint position feedback. Event markers can be used to record at least one of the following events: warning, deceleration, abort, collision protection, joint saturation, control mode switching, and data loss, as well as the time of occurrence of the corresponding event.
[0133] In some optional implementations, at least one of the following can also be recorded: the instruction sequence number corresponding to the joint command and the host transmission time; and the feedback sequence number, device timestamp, and host reception time corresponding to the actual response data. The device timestamp is a time record generated by the robot controller or data acquisition device, while the host transmission time and host reception time are times recorded by the terminal device or server executing the parameter identification method.
[0134] For ease of description, the actual joint commands sent, real response data, timestamps, and event markers obtained during the execution of the same excitation trajectory can be collectively referred to as trajectory data. Trajectory data can be organized according to complete excitation trajectories, complete test batches, or effective motion intervals divided by event markers.
[0135] In some alternative implementations, the joint commands and real response data can be synchronized in time and preprocessed before being used for parameter identification. Time synchronization is used to map joint commands and real response data from different data channels to a unified time axis without eliminating the actual response lag present in the real robot by shifting the real response data.
[0136] When the actual response data has a device timestamp, the device timestamp can be mapped to the host time using common events, clock synchronization information, or clock mapping relationships. A clock mapping relationship can be represented as follows: 。
[0137] in, This represents the mapped host time. Indicates device time. This indicates the time scale relationship between the device clock and the host clock. This indicates the time offset between the device clock and the host clock. Parameter and parameters It can be determined based on the corresponding event or synchronous sampling data. When only the host reception time is available, a unified timeline can be constructed based on the host record, and the impact of feedback transmission can be retained in the subsequent equivalent delay to be identified.
[0138] For data with different sampling periods, resampling can be performed within the valid data range. Continuously changing joint position feedback can be mapped to a unified time axis using interpolation. Discrete joint position commands can be reconstructed based on the actual command preservation method or interpolation method used. When downsampling data, anti-aliasing processing can be performed before downsampling. When calculating joint velocity or joint acceleration based on joint position, the joint position can be appropriately filtered while preserving the phase effects caused by the filtering.
[0139] For a small amount of short-term missing data, if the missing duration is less than the configuration limit, the robot motion state corresponding to adjacent data is stable, and there are no protection events or saturation events, the missing data can be interpolated and its data reliability reduced. For long-term missing data, unrecoverable out-of-order timestamps, or large-scale data distortion, the corresponding data can be removed and the trajectory data can be divided into multiple valid data segments. For intervals corresponding to emergency stops, collision protection, or control mode switching, the event occurrence intervals and related transition intervals can be removed; for joint saturation data, it can be retained if the simulation robot model includes the corresponding limiting mechanism and the current identification task requires the identification of this mechanism; otherwise, it can be removed.
[0140] By selecting excitation trajectories based on identifiability information and execution constraints, the selected trajectory can better reflect changes in target parameters and distinguish the effects of different target parameters, while ensuring that the trajectory can be executed by the real robot. By recording the adjusted joint commands and corresponding real response data, subsequent simulation playback and the real robot execution process can use corresponding command inputs, reducing the impact of differences between the initial planning commands and the actual commands on the parameter identification results.
[0141] Step S204: Determine the parameters participating in this round of identification based on the identifiability information, drive the simulation robot model using joint commands, and determine the candidate parameter vector based on the response residual between the simulation response data and the real response data.
[0142] The parameters participating in this round of identification are the target parameters that are allowed to be adjusted during this round of parameter identification. For parameters not participating in this round of identification, their current values can be retained or valid parameter values that match the current robot configuration can be used. The candidate parameter vector is a parameter vector obtained through this round of parameter identification and awaits verification in subsequent steps.
[0143] like Figure 5 As shown, in some optional embodiments, step S204 may include steps S2041 to S20410.
[0144] Step S2041: Determine whether each target parameter meets the preset identifiable conditions based on the response level of each target parameter.
[0145] Preset identifiable conditions are used to determine whether changes in the target parameters can be sufficiently reflected in the response under the current excitation trajectory and actual response data. Preset identifiable conditions can be determined based on at least one of the following: the noise level of the response data, engineering tolerance error, the magnitude of response changes corresponding to the target parameters, and historical identification results.
[0146] When the response of a target parameter can be distinguished from noise or fluctuations in the response data, it can be determined that the target parameter meets the preset identifiable condition; when the response of a target parameter is insufficient to distinguish from noise or fluctuations in the response data, it can be determined that the target parameter does not meet the preset identifiable condition.
[0147] Step S2042: Based on the response correlation between different target parameters, determine whether the different target parameters meet the preset parameter differentiation conditions.
[0148] The preset parameter differentiation criteria are used to determine whether the response change characteristics of different target parameters can be distinguished from each other. When the response correlation between at least two target parameters is within the allowable range, it can be determined that the corresponding target parameter meets the preset parameter differentiation criteria; when the response correlation between at least two target parameters is high, such that adjustments to different parameters may produce similar response changes, it can be determined that the corresponding target parameter does not meet the preset parameter differentiation criteria.
[0149] Step S2043: The target parameters that simultaneously meet the preset identifiable conditions and the preset parameter distinguishing conditions are determined as the parameters participating in this round of identification.
[0150] The parameters participating in this round of identification are those whose values are allowed to change during the parameter identification process. For a target parameter that simultaneously meets the preset identifiable condition and the preset parameter distinguishing condition, its changes can be reflected in the current response data and can be distinguished from the response changes produced by other target parameters. Therefore, this target parameter can be identified as a parameter participating in this round of identification.
[0151] Step S2044: For target parameters that do not meet the preset identifiable conditions, maintain the current value of the corresponding target parameter.
[0152] The current value of the target parameter can be the current estimated value of the target parameter in the parameter vector to be identified. Since the response change of the target parameter that does not meet the preset identifiable conditions under the current excitation trajectory is insufficient to be distinguished from data noise or response fluctuations, the target parameter will not be adjusted in this round of parameter identification to avoid obtaining unstable parameter values using data that is insufficient to reflect the corresponding parameter changes.
[0153] Step S2045: For at least two target parameters that do not meet the preset parameter differentiation conditions, fix at least one of the target parameters, or replace at least two target parameters with combined parameters that characterize their joint effect.
[0154] Fixing at least one target parameter means keeping the fixed parameter at its current value, allowing only the remaining target parameters to be adjusted during this round of parameter identification. Combined parameters are used to characterize the combined effect of at least two target parameters on the robot's response using a single parameter.
[0155] For example, when viscous friction parameters and joint damping parameters act on the same degree of freedom, and both produce responses related to joint motion velocity, one parameter can be fixed, and only the other can be identified; alternatively, an equivalent resistance parameter characterizing the combined effect of both can be used as the combined parameter. When using a combined parameter, the correspondence between the combined parameter and the original target parameter can be recorded so that the identified combined parameter can be written into the simulation robot model or used for subsequent parameter processing.
[0156] Step S2046: Based on the joint commands and real response data corresponding to different motion stages and the identifiability information corresponding to each target parameter, determine the identification order of the parameters participating in this round of identification.
[0157] Motion phases can be divided based on the motion pattern of the excitation trajectory, the robot's motion state, or the identification task. For example, motion phases may include at least one of the following: a stationary phase, a low-speed start-up phase, a low-speed reversal phase, a constant-speed motion phase, a quasi-static motion phase, and a dynamic acceleration phase. Different motion phases may contain response information suitable for identifying different parameters.
[0158] The order of parameter identification can be determined based on the response information contained in different motion stages and the identifiability information corresponding to each parameter. For example, the load mass parameter or load centroid parameter can be identified using the quasi-static motion stage under different attitudes, the Coulomb friction parameter or viscous friction parameter can be identified using the constant velocity motion stage in both directions, and the simulation position driving parameter or load inertia parameter can be identified using the dynamic motion stage.
[0159] When multiple parameters all exhibit response levels that satisfy preset identifiable conditions during the same motion phase, and also satisfy preset parameter distinguishing conditions, these multiple parameters can be identified in the same identification phase. When the response correlation between parameters is high, the identification order of the corresponding parameters can be adjusted, or the corresponding parameters can be processed in a subsequent joint adjustment process.
[0160] Step S2047: For each identification stage, the joint commands of the corresponding motion stage are used to drive the simulation robot model, and the parameters corresponding to the corresponding identification stage are adjusted according to the response residual between the obtained simulation response data and the actual response data of the corresponding motion stage, so as to obtain the parameter estimate value of the corresponding identification stage.
[0161] For a given identification stage, the joint commands and actual response data corresponding to that stage can be determined from the joint commands and actual response data obtained in step S203. The joint commands actually sent in the corresponding motion stage are input into the simulation robot model to obtain the simulation response data for the corresponding motion stage. The simulation response data is then compared with the actual response data to obtain the response residual.
[0162] After adjusting the parameters corresponding to the identification stage based on the response residuals, the joint commands of the corresponding motion stage can be used again to drive the simulated robot model with adjusted parameters. This parameter adjustment and simulation run is repeated until the response residuals or parameter changes of the corresponding identification stage meet the stage termination condition, thus obtaining the parameter estimates for that identification stage.
[0163] When rerunning the simulated robot model between data segments corresponding to different motion stages, the joint positions and velocities of the simulated robot model can be initialized based on the actual response data at the start of the corresponding data segment. For control states or other internal states that cannot be directly initialized, a warm-up interval can be set before the corresponding data segment to allow the simulated robot model to run to a state that adapts to the corresponding data segment, and the response residuals corresponding to the warm-up interval are not included in the main identification error.
[0164] Step S2048: Write the parameter estimates obtained in the previous identification stage into the simulation robot model for the next identification stage, and determine the parameter reliability of the parameters identified in the previous identification stage based on the data quality of the joint commands and real response data corresponding to the previous identification stage, the consistency of multiple identification results, and the response correlation between the parameters identified in the previous identification stage and other target parameters.
[0165] By writing the parameter estimates obtained in the previous identification stage into the simulation robot model used in the next identification stage, the next identification stage can continue to identify parameters based on the parameter estimates obtained in the previous stage, instead of having to start the identification from the initial parameters again in each identification stage.
[0166] Data quality can be determined based on at least one of the following: missing data, noise level, outliers, number of valid samples, and data reliability. The consistency of multiple identification results can be determined by the differences between parameter estimates obtained using different initial parameter values, different valid data segments, or multiple repeated trials. The smaller the differences between different identification results, the higher the consistency of the corresponding parameter estimates.
[0167] Parameter reliability characterizes the degree to which parameter estimates obtained in the previous identification stage can be used in the subsequent identification stage. A high level of reliability is indicated when the data quality is high, the consistency of multiple identification results is high, and the corresponding parameter exhibits low correlation with other target parameters. Conversely, a low level of reliability is indicated when the data quality is low, the differences between multiple identification results are large, or the corresponding parameter exhibits high correlation with other target parameters.
[0168] Step S2049: Based on the parameter confidence level, determine the processing method of the parameters identified in the previous identification stage in the next identification stage. Specifically, for parameters whose confidence level meets the preset confidence conditions, fix or narrow their value range. For parameters whose confidence level does not meet the preset confidence conditions, expand their value range within the physical constraints of the corresponding parameters.
[0169] For parameters whose confidence level meets the preset confidence conditions, their estimated values can be kept unchanged in the next identification stage, or a smaller value range can be set based on the estimated value of the parameter so that the next identification stage does not need to repeatedly search for the parameter within a larger parameter range.
[0170] For parameters whose reliability does not meet the preset reliability conditions, their value range can be expanded within the corresponding physical constraints, and the parameter can be further adjusted in the next identification stage. The expanded value range does not exceed the corresponding physical constraints to avoid obtaining parameter values that do not conform to the physical meaning of the parameter or the configuration requirements of the simulation robot model.
[0171] Step S20410: Use joint commands to drive the simulation robot model containing parameter estimates for each identification stage, and adjust the parameter estimates for each identification stage together based on the response residuals between the obtained simulation response data and the real response data to obtain a candidate parameter vector.
[0172] Joint adjustment is used to uniformly adjust the parameter estimates of each identification stage after obtaining parameter estimates at each identification stage, using joint commands and real response data corresponding to multiple motion stages, in order to reduce local biases caused by determining parameters based on only a single motion stage.
[0173] In some alternative implementations, step S20410 may include A1 to A6.
[0174] A1. The simulation response data and the real response data are divided according to the motion stage to obtain the simulation stage response data and the real stage response data corresponding to each motion stage.
[0175] Simulated response data and real response data can be divided according to the same motion stage boundaries. Motion stage boundaries can be determined based on the start and end times of different trajectory segments in the excitation trajectory, the times of robot motion state changes, or the event markers recorded in step S203. By using the same motion stage boundaries, the simulated stage response data and the real stage response data corresponding to each motion stage can be made mutually correspond.
[0176] A2. Based on the difference between the simulation response data and the actual response data for each motion stage, determine at least one of the position response residual, velocity response residual, and torque response residual for each motion stage.
[0177] The position response residual can be determined based on the difference between the simulated joint position and the actual joint position. The velocity response residual can be determined based on the difference between the simulated joint velocity and the actual joint velocity. The torque response residual can be determined based on the difference between the torque of the simulated joint and the actual joint torque with the same physical diameter.
[0178] Having the same physical caliber means that the torque data being compared have corresponding physical meanings, application locations, positive and negative directions, and units of measurement. For example, the equivalent torque on the motor side and the torque at the joint output end belong to different physical calibers and should not be directly compared without proper conversion.
[0179] A3. Based on the identification task corresponding to each motion stage, determine at least one target response residual from the position response residual, velocity response residual, and torque response residual corresponding to the corresponding motion stage.
[0180] For example, during the constant-speed motion phase, the torque response residual related to friction can be selected as the target response residual. During the quasi-static motion phase, the torque response residual related to the load gravity can be selected as the target response residual. During the dynamic acceleration phase, at least one of the position response residual, velocity response residual, and torque response residual with the same physical diameter can be selected as the target response residual.
[0181] When a reliable real joint torque cannot be obtained, or the joint current cannot be converted into a torque with the same physical diameter as the simulated joint torque, the torque response residual can be left out as the target response residual.
[0182] A4. Based on the engineering allowable error, noise level, or physical quantity range corresponding to different target response residuals, scale the target response residuals for different types.
[0183] The scale value used for scaling can be determined based on the engineering tolerance, independent noise estimation, or physical quantity range corresponding to the target response residual. The scale value and the corresponding target response residual have the same unit of measurement, allowing different types of target response residuals after scaling to be used in the same identification objective function.
[0184] The scale value should be positive, and a positive lower limit can be set to avoid the scale value being zero or too small, which would cause the corresponding target response residual to be unreasonably amplified.
[0185] A5. Based on the data quality of the joint commands corresponding to the corresponding motion phase and the actual phase response data, the error weights corresponding to different target response residuals are determined. Based on the processed target response residuals, error weights, and parameter change constraints corresponding to the parameter estimates of each identification phase, the identification target function is constructed.
[0186] Error weights are used to represent the degree of influence of different target response residuals in the joint adjustment process. For real-stage response data that is complete, has low noise, and has not detected any anomalies, a higher error weight can be set; for real-stage response data that has undergone interpolation, is close to saturation, or has high noise, the corresponding error weight can be reduced. Data determined to be invalid can be excluded from the identification objective function.
[0187] In some alternative implementations, the objective function is identified. It can be represented as: in, This represents the parameter vector composed of the parameters participating in the joint adjustment; This represents the set of movement phases participating in the joint adjustment. express One of the stages of motion; Indicates the stage of movement The number of valid samples in the sample; Indicates the stage of movement The set of sampling times in; Indicates the stage of movement One of the sampling moments; Indicates the stage of movement The set of target response residual types used; Represents the set of target response residual types One type of target response residual; Indicates the use of parameter vectors At that time, sampling time The corresponding number Target response residuals; Indicates the type of target response residual The corresponding scale, namely the target response residual scale; This indicates that the target response residuals have been scaled. Indicates the stage of movement Types of residuals in target response The corresponding stage task weights; Indicates the sampling time Corresponding target response residual type Data credibility weight; This represents the loss function used to convert the scaled target response residuals into error values. This represents the regularization weight corresponding to the parameter variation constraint. Indicates the parameter scale corresponding to each parameter; This represents the initial value of each parameter or a valid reference value that matches the current robot configuration. This indicates nested summation, for the motion phase. First, for each sampling time, the weighted errors corresponding to the residual types of the target responses used in that motion phase are summed, and then the summation results corresponding to each sampling time are accumulated.
[0188] Target response residual scale The target response residuals have the same units of measurement as the corresponding target response residuals, making the scaled target response residuals dimensionless data. Parameter Scale Having the same unit of measurement as the corresponding parameters allows for comparison of changes in different types of parameters relative to reference values within the same identification objective function.
[0189] Stage task weight Used to represent the type of target response residual. During the exercise phase The degree of its role in the identification task. Data credibility weight. Based on sampling time The missing data, noise level, outliers, and valid states are determined. Loss function. You can use the identity function corresponding to the squared loss, or you can use a robust loss function to reduce the impact of isolated outliers.
[0190] Parameter variation constraints are used to limit the degree of change of the parameters participating in this round of identification relative to their initial values or valid reference values, and together with the physical constraint range of the corresponding parameters, they limit the parameter adjustment results. When there are no valid samples in a certain motion phase, i.e. When the value is zero, this motion phase can be excluded from the identification objective function.
[0191] A6. The parameter estimates of each identification stage are iteratively adjusted according to the identification objective function. After each adjustment, the simulation robot model containing the adjusted parameter estimates is driven by joint commands. The target response residual and the identification objective function are updated according to the obtained simulation response data until the change of the identification objective function meets the preset termination condition. The parameter estimates of each identification stage at the time of termination of iteration are determined as candidate parameter vectors.
[0192] Depending on the objective function, at least one of the following methods can be used to adjust the parameter estimates at each identification stage: least squares method, Levenberg-Marquardt method, sequential quadratic programming method, Bayesian optimization method, or evolutionary search method.
[0193] After each adjustment, the adjusted parameter estimates can be written into the simulation robot model. The simulation robot model is then re-driven using the actual joint commands sent, and the target response residual is calculated and the identification objective function is updated based on the newly obtained simulation response data. This process of parameter adjustment, simulation running, and identification objective function updating is repeated until the change in the identification objective function meets the preset termination condition.
[0194] Preset termination conditions may include identifying that the change in the objective function between two adjacent iterations is less than a preset change threshold, or identifying that the change in the objective function over multiple consecutive iterations no longer meets preset improvement conditions. A maximum number of iterations can also be set to terminate the current round of joint adjustment when the maximum number of iterations is reached.
[0195] After the iteration terminates, the parameter estimates from each identification stage at the time of termination can be combined with other parameters that retain their current values to obtain a candidate parameter vector. The candidate parameter vector may include at least one of the following: parameter identifier, parameter value, physical constraint range, parameter confidence level, and data identifier used in this round of identification.
[0196] By selecting parameters for this round of identification based on identifiability information, the number of parameters with insufficient response or high response correlation participating in the adjustment can be reduced. By determining parameter estimates in stages according to different motion phases and determining the processing method for corresponding parameters in subsequent identification stages based on parameter reliability, the parameter information obtained at different stages can be utilized in subsequent identification processes. By jointly adjusting the parameter estimates at each identification stage, local biases caused by staged identification can be reduced, ensuring that the resulting candidate parameter vector reflects the response of the real robot at different motion phases.
[0197] Step S205: Write the candidate parameter vector into the simulation robot model, and use the verification data that did not participate in the candidate parameter vector determination process to perform verification, and obtain the verification result and verification response residual.
[0198] The validation data is used to evaluate the response of the simulated robot model on data that were not involved in this round of parameter identification after the candidate parameter vectors are written into the simulated robot model.
[0199] like Figure 6 As shown, in some optional embodiments, step S205 may include steps S2051 to S2055.
[0200] Step S2051: Obtain the verification data corresponding to the verification trajectory that was not used to determine the candidate parameter vector.
[0201] The verification data includes the actual verification joint commands sent by the real robot when executing the verification trajectory and the corresponding actual verification response data.
[0202] The verification trajectory can be a pre-determined trajectory before parameter identification begins, or it can be a trajectory selected from those that did not participate in the candidate parameter vector determination process after candidate parameter vectors are obtained. The verification trajectory can include at least one of a fixed reference trajectory and a targeted trajectory. The fixed reference trajectory is used to evaluate different candidate parameter vectors according to relatively fixed motion patterns. The targeted trajectory can be determined based on the currently participating parameters to cover motion conditions related to the corresponding parameters.
[0203] In some alternative implementations, the verification trajectory may include at least one of a fixed baseline trajectory and a targeted trajectory. The fixed baseline trajectory is used to evaluate different candidate parameter vectors according to a relatively fixed motion pattern, such as an S-shaped trajectory. The targeted trajectory can be determined based on the parameters currently being identified to cover motion conditions related to the corresponding parameters.
[0204] In some optional implementations, the targeted trajectory may include at least one of the following: low-speed reversal trajectory, multi-speed platform trajectory, multi-frequency dynamic trajectory, multi-joint coupling trajectory, and trajectory under different configured loads. One or more verification trajectories can be selected for verification based on the parameters contained in the candidate parameter vector and the motion conditions to be verified.
[0205] Verification data can be reacquired when the real robot executes the verification trajectory, or it can be obtained from pre-collected data that was not used to determine the candidate parameter vector. When the real robot executes the verification trajectory, the same safety monitoring and data recording methods as in step S203 can be used. Verification joint commands are the joint commands actually sent to the real robot after executing safety limits, speed adjustments, or acceleration adjustments.
[0206] The actual verification response data includes at least the joint position feedback corresponding to the verification joint command, and may also include at least one of joint velocity, joint acceleration, joint current, and joint torque. The verification data may also include timestamps, event markers, and data reliability corresponding to the verification joint command and the actual verification response data.
[0207] To avoid adjacent sampled data from the same trajectory being used for both parameter identification and validation simultaneously, data for parameter identification and validation can be separated according to the complete excitation trajectory or complete test batch. This reduces the impact of correlation between adjacent sampled data on the validation results.
[0208] In some optional implementations, version management can be performed on the candidate parameter vectors. After obtaining the candidate parameter vectors, candidate parameter versions corresponding to the candidate parameter vectors can be established, and the candidate parameter versions can be associated with at least one applicable condition among robot model, robot individual identifier, end effector, load range, control cycle, software version, simulation platform version, and simulation configuration.
[0209] The candidate parameter version records the candidate parameter vector and its version state before successful verification. The applicability conditions limit the robots and operating environments to which the candidate parameter vectors can be applied. Simulation configuration can include at least one of drive type, physical step size, solver configuration, and control interface configuration. By associating the candidate parameter version with the applicability conditions, candidate parameter vectors corresponding to different robot individuals, end effectors, loads, or software configurations can be distinguished.
[0210] Step S2052: Write the candidate parameter vector into the simulation robot model to obtain the candidate simulation robot model.
[0211] Writing candidate parameter vectors into a simulation robot model refers to replacing or configuring the current values of corresponding parameters in the simulation robot model using the values of each parameter in the candidate parameter vector. During the writing process, the corresponding parameters in the simulation robot model can be determined based on the parameter identifiers in the candidate parameter vectors, and the corresponding parameter values can be written according to the units, coordinate system, and parameter configuration interface used by the simulation robot model.
[0212] When a candidate parameter vector corresponds to a candidate parameter version, the candidate parameter vector corresponding to that version can be written into the simulation robot model. The candidate parameter version itself serves as a version identifier and association information, and is not written into the simulation robot model as a simulation parameter.
[0213] A candidate simulation robot model is a simulation robot model that has been written into the candidate parameter vector but whose validity has not yet been determined based on the verification results. Candidate simulation robot models can be saved separately from the currently used simulation robot model to avoid changing the currently valid simulation robot model before the candidate parameter vector passes verification.
[0214] Step S2053: Use the verification joint commands to drive the candidate simulation robot model and obtain simulation verification response data.
[0215] Specifically, the verification joint commands can be input into the candidate simulation robot model according to the actual sending order, command update time, and command retention method. When running the candidate simulation robot model, the initial state and simulation configuration corresponding to the verification data can be adopted so that the simulation verification response data and the real verification response data have corresponding input conditions.
[0216] The initial state can include the joint position and joint velocity at the start of the verification trajectory. For control states or internal simulation states that cannot be directly set, a warm-up interval can be set before the formal playback verification of joint commands, and the response data generated during the warm-up interval will not be used as the simulation verification response data.
[0217] Simulation verification response data may include at least one of the following: simulated joint position, simulated joint velocity, and simulated joint torque with the same physical diameter as the actual verification response data. When the actual verification response data does not include reliable joint torque, or when it is impossible to unify the actual joint torque with the simulated joint torque to the same physical diameter, simulation joint torque may not be acquired or used for verification.
[0218] Step S2054: Determine the verification response residual based on the difference between the actual verification response data and the simulation verification response data.
[0219] The verification response residual can include at least one of position verification response residual, velocity verification response residual, and torque verification response residual. The position verification response residual can be determined based on the difference between the actual joint position and the simulated joint position at the same verification moment. The velocity verification response residual can be determined based on the difference between the actual joint velocity and the simulated joint velocity. The torque verification response residual can be determined based on the difference between the actual joint torque and the simulated joint torque with the same physical diameter.
[0220] The verification response residuals can be organized according to the verification trajectory, motion phase, or motion condition. The motion condition can be determined by at least one of motion speed, motion direction, acceleration, load, motion frequency, and robot posture. For example, the verification response residuals under low-speed motion condition, reversal condition, dynamic acceleration condition, or different load conditions can be recorded separately to determine the distribution of the verification response residuals under different motion conditions.
[0221] In some optional implementations, at least one verification metric among the following—root mean square error of joint position, peak error, equivalent time delay error, and trajectory shape similarity—can be determined based on the verification response residual. Alternatively, forward kinematics calculations can be performed separately based on the actual verification joint positions and the simulated verification joint positions, and the end-effector pose verification metric can be determined based on the difference between the calculated end-effector poses. The end-effector pose obtained from forward kinematics calculations of joint positions is derived data and is not used as independent external pose measurement data.
[0222] Step S2055: Determine the verification result based on the verification response residual and the preset acceptance conditions.
[0223] Pre-set acceptance criteria can be determined based on the application requirements of the real robot, the purpose of the simulated robot model, and the allowable engineering errors corresponding to different verification indicators. Pre-set acceptance criteria can define the allowable range for different verification trajectories, different motion conditions, or different verification indicators, or they can include overall conditions for evaluating multiple verification trajectories.
[0224] When the verification response residual and its corresponding verification index are both within the allowable range defined by the preset acceptance conditions, the verification result can be determined to meet the preset acceptance conditions. When any necessary verification trajectory, necessary motion condition, or necessary verification index does not meet the corresponding allowable range, the verification result can be determined to not meet the preset acceptance conditions.
[0225] For verification indicators with different units of measurement, such as position, velocity, torque, and end-effector pose, corresponding acceptance thresholds can be set separately, avoiding direct numerical comparisons of verification indicators with different units of measurement. Pre-set acceptance conditions can be determined before verifying candidate parameter vectors and remain unchanged during this round of verification, preventing the candidate parameter vectors from obtaining a passing result by altering the acceptance conditions.
[0226] By using validation data that was not involved in the candidate parameter vector determination process, it is possible to evaluate whether the candidate parameter vectors can still enable the simulated robot model to approximate the response of the real robot under trajectories and motion conditions outside of the data used in parameter identification. By recording the validation response residuals according to the motion conditions, it is also possible to provide a basis for determining the identification steps that need to be adjusted when validation fails.
[0227] Step S206: When the verification results meet the preset acceptance conditions, update the simulation robot model using the candidate parameter vector.
[0228] Updating a simulation robot model using candidate parameter vectors refers to determining the candidate parameter vectors as the currently valid parameter vectors after they have passed verification, and then using these candidate parameter vectors in subsequent simulation runs. The update can include at least one of the following: writing the candidate parameter vectors into the currently used simulation robot model, saving the updated model configuration, and setting the updated simulation robot model as the currently valid model.
[0229] When version management is implemented for candidate parameter vectors, a candidate parameter version can be determined as a valid parameter version when the verification results meet preset acceptance conditions. The simulation robot model is then updated using the candidate parameter vectors corresponding to the valid parameter version. The valid parameter version can retain the applicable conditions, verification data identifiers, verification indicators, and verification results associated with the candidate parameter version, which can be used for subsequent selection of parameter versions that match the current robot configuration.
[0230] In some optional implementations, a matching valid parameter version can be selected from verified valid parameter versions based on at least one of the following current applicable conditions: robot model, robot individual identifier, end effector, payload range, control cycle, software version, simulation platform version, and simulation configuration. The parameter vector corresponding to this valid parameter version is then configured into the simulated robot model. If no valid parameter version matching the current applicable conditions is found, a parameter check or re-identification of parameters can be triggered.
[0231] Step S206 outputs the updated simulation robot model. The updated simulation robot model can be used for robot control algorithm development, robot motion simulation, or verification of the migration from the simulation environment to a real robot.
[0232] By updating the simulation robot model only when the verification results meet preset acceptance criteria, it is possible to avoid replacing the currently valid parameters with candidate parameter vectors that have not passed verification. By associating the versions of valid parameters with corresponding applicable conditions, the simulation robot model can use verified parameter vectors according to the current robot and operating configuration, thereby improving the traceability of the model parameter update process.
[0233] Step S207: When the verification result does not meet the preset acceptance conditions, determine the subsequent identification action based on the working condition distribution and identifiability information of the verification response residual, and adjust at least one of the following based on the subsequent identification action: target parameters, excitation trajectory, parameters participating in this round of identification, parameter value range, identification objective function or solution method, and re-identify and verify the parameters.
[0234] The conditional distribution of the verification response residuals is used to represent the magnitude and occurrence of the verification response residuals under different motion conditions. Motion conditions can be determined by at least one of motion speed, direction of motion, acceleration, load, motion frequency, and robot posture. By associating the verification response residuals with the corresponding motion conditions, it can be determined whether the verification response residuals are concentrated in specific types of motion conditions.
[0235] In some optional implementations, when version management is performed on the candidate parameter vectors, if the verification results do not meet the preset acceptance conditions, the candidate parameter version is rejected, and the simulation robot model continues to use or reverts to using the parameter vector corresponding to the previous valid parameter version.
[0236] After rejecting a candidate parameter version, the verification response residual, verification result, and applicable conditions corresponding to that candidate parameter version can be retained to determine subsequent identification actions, but the candidate parameter vector corresponding to that candidate parameter version will not be used as the current valid parameter vector.
[0237] like Figure 7 As shown, in some optional embodiments, step S207 may include steps S2071 to S2076.
[0238] In step S2071, if the response level of the target parameter does not meet the preset identifiable conditions, an excitation trajectory for enhancing the response of the corresponding target parameter will be generated, or the corresponding target parameter will be removed from the parameters participating in this round of identification and determined as a subsequent identification action.
[0239] If the response level of the target parameter does not meet the preset identifiable conditions, it indicates that the current excitation trajectory does not fully reflect the changes in the target parameter in the robot's response. In this case, the trajectory form can be redetermined or the trajectory configuration parameters can be adjusted based on the type of the target parameter to generate an excitation trajectory that enhances the response of the target parameter.
[0240] For example, when the response of friction parameters does not meet the preset identifiable conditions, constant velocity trajectory segments in both directions with different speeds can be added; when the response of load inertia parameters does not meet the preset identifiable conditions, dynamic acceleration trajectory segments in different directions can be added within the limits allowed by the execution constraints. The regenerated excitation trajectory still needs to meet the execution constraints of the real robot.
[0241] When an excitation trajectory that satisfies the preset identifiable conditions for the corresponding target parameter cannot be generated under the current execution constraints, the target parameter can be removed from the parameters participating in this round of identification, and the current value of the target parameter can be maintained to avoid adjusting it using data that is insufficient to reflect the changes in the target parameter.
[0242] In step S2072, if the response correlation between at least two target parameters does not meet the preset parameter differentiation conditions, an excitation trajectory for differentiating at least two target parameters will be generated, or the number of parameters participating in this round of identification will be reduced, and the parameters will be determined as subsequent identification actions.
[0243] If the response correlation between at least two target parameters does not meet the preset parameter differentiation condition, it can be said that the at least two target parameters produce similar response changes under the current excitation trajectory, making it difficult to determine the value of each target parameter separately based on the response residual.
[0244] In this case, based on the response characteristics corresponding to at least two target parameters, trajectory forms or motion conditions that produce different response change characteristics can be added. For example, when two target parameters produce similar response changes during the constant velocity motion phase, excitation trajectories can be added during the dynamic motion phase or under different motion directions to increase the difference between their corresponding response change characteristics.
[0245] When increasing the excitation trajectory still fails to make the corresponding target parameters meet the preset parameter differentiation conditions, the number of parameters participating in this round of identification can be reduced. Reducing the number of parameters participating in this round of identification may include fixing one of the at least two target parameters, or replacing the at least two target parameters with a combination parameter that characterizes their combined effect.
[0246] Step S2073: When the verification response residual is concentrated in the working condition corresponding to a specific speed, motion direction, load or frequency, an excitation trajectory covering the corresponding working condition will be generated, the real robot will be controlled to execute the generated excitation trajectory, and the actual joint commands sent and the corresponding real response data will be obtained and determined as the subsequent identification action.
[0247] The verification response residuals are concentrated in a specific working condition. This can be because the verification response residuals under the corresponding working condition are consistently greater than those under other working conditions, or the verification response residuals under the corresponding working condition do not meet the preset acceptance conditions while the verification response residuals under other working conditions do meet the preset acceptance conditions.
[0248] For example, when the verification response residual is mainly concentrated in low-speed commutation conditions, an excitation trajectory including the low-speed commutation trajectory segment can be generated. When the verification response residual is mainly concentrated in a specific speed range, a constant-speed trajectory covering that speed range can be generated. When the verification response residual is mainly concentrated in a specific load condition, corresponding static, quasi-static, or dynamic excitation trajectories can be generated after configuring the appropriate load. When the verification response residual is mainly concentrated in a specific frequency range, a multi-frequency trajectory or a swept-frequency trajectory covering that frequency range can be generated.
[0249] After generating the excitation trajectory covering the corresponding working conditions, the real robot can be controlled to execute the excitation trajectory according to step S203, and the joint commands actually sent during execution and the corresponding real response data can be obtained. The newly obtained joint commands and real response data can be used to redetermine the candidate parameter vector.
[0250] In some optional implementations, subsequent identification actions are further determined according to the value status of the parameters participating in this round of identification and the convergence status of the parameter identification process, following steps S2074 to S2076.
[0251] Step S2074: If the parameter participating in this round of identification reaches the boundary of the corresponding parameter value range multiple times in the parameter identification process, the parameter value range will be adjusted according to the physical constraints of the corresponding parameter, and determined as the subsequent identification action.
[0252] If a parameter repeatedly reaches the boundary of its value range, it indicates that the currently set parameter value range is insufficient to cover the parameter values pointed to by the identification objective function, or it may indicate that the corresponding parameter is compensating for other errors in the simulated robot model. Therefore, before adjusting the parameter value range, it is advisable to check the physical meaning, unit, initial value, data caliber, and response correlation between the parameters.
[0253] When there is independent physical evidence indicating that a parameter can take values outside its current range, the parameter's range can be expanded within its physical constraints. Conversely, when the current parameter's range exceeds its reasonable physical range, the range can be narrowed or shifted based on physical constraints. The adjusted parameter range should not exceed the physical constraints of the parameter, and should not absorb other errors in the simulated robot model by infinitely expanding the parameter range.
[0254] Step S2075: If the identification results obtained by using different initial parameter values are inconsistent or the parameter identification process does not converge, at least one of adjusting the parameter value range, the identification objective function, or the solution method will be determined as the subsequent identification action.
[0255] Inconsistent identification results obtained using different initial parameter values may indicate the existence of multiple candidate results for the identification objective function, strong coupling between parameters, or insufficient current data to stably determine the corresponding parameters. Non-convergence in the parameter identification process may indicate that the changes in the identification objective function have not met the preset termination condition before reaching the maximum number of iterations, or that the parameter estimates fluctuate continuously throughout different iterations.
[0256] In this case, the parameter value range can be adjusted based on the physical constraints of the parameters and the current identification results. The identification objective function can be adjusted based on the scale of the target response residuals, error weights, parameter variation constraints, and data reliability. Alternatively, the current solution method can be replaced with another. For example, after checking the scale of different target response residuals and parameter scales, the initial parameter values or solution method can be changed, and parameter identification can be performed again.
[0257] When adjusting the identification objective function, the preset acceptance conditions used in step S205 are kept unchanged, and the newly determined candidate parameter vector is not made to pass the test by lowering the acceptance requirements.
[0258] Step S2076: If the parameters participating in this round of identification are within the corresponding physical constraints and the parameter identification process converges, and the verification response residual still recurs under the same type of working conditions, the verification response residual is identified as a structural residual, and the following processing is determined as the subsequent identification action: adding a candidate sub-model to the simulation robot model to describe the physical factors corresponding to the structural residual, and determining the parameters corresponding to the candidate sub-model as the target parameters for the next round.
[0259] Structural residuals refer to the verification response residuals that repeatedly exhibit similar variation characteristics under the same type of working conditions, even after the parameters are within the corresponding physical constraints and the parameter identification process has converged. Structural residuals can indicate that the current simulated robot model has not fully described the physical factors related to the corresponding working conditions.
[0260] For example, when structural residuals repeatedly occur during motion direction switching conditions, a candidate sub-model can be established to describe transmission backlash; when structural residuals repeatedly occur with temperature changes, a candidate sub-model can be established to describe temperature drift; when structural residuals repeatedly occur under load or dynamic acceleration conditions, a candidate sub-model can be established to describe compliance or other dynamic effects; when structural residuals repeatedly occur under conditions where joint torque or joint current is close to its limit, a candidate sub-model can be established to describe limiting effects.
[0261] Candidate sub-models are model structures that await re-identification and verification to determine whether to include them in the simulated robot model. Since the unique physical cause cannot be directly determined solely based on the characteristics of structural residual changes, one or more candidate sub-models can be established for possible physical factors, and the parameters corresponding to each candidate sub-model can be determined as the target parameters for the next round.
[0262] After adding candidate sub-models, parameters can be re-identified using newly acquired or existing relevant working condition data, and the simulation robot model with added candidate sub-models can be verified using verification data that did not participate in the re-identification process. The corresponding candidate sub-model and its parameters are retained only if the verification results meet the preset acceptance conditions.
[0263] Furthermore, based on subsequent identification actions, at least one of the following is adjusted: target parameters, excitation trajectory, parameters participating in this round of identification, parameter value range, identification objective function, or solution method. Parameter identification and verification are then performed again.
[0264] When subsequent identification actions include adjusting the target parameters or generating new candidate excitation trajectories, step S202 can be re-executed to determine the candidate excitation trajectories and identifiability information corresponding to the adjusted target parameters, and steps S203 to S205 can continue to be executed.
[0265] When subsequent identification actions include controlling the real robot to execute a new excitation trajectory and obtaining joint commands and real response data, the updated joint commands and real response data can be obtained according to step S203, and steps S204 and S205 can continue to be executed.
[0266] When subsequent identification actions include adjusting the parameters involved in this round of identification, the range of parameter values, the identification objective function, or the solution method, step S204 can be re-executed based on the adjusted content to determine a new candidate parameter vector, and then step S205 can continue to be executed.
[0267] When the verification response residual corresponding to the current verification data has been used to determine subsequent identification actions, this verification data has already participated in the process of re-determining the candidate parameter vector. When verifying the re-determined candidate parameter vector, new verification data can be selected from the data that did not participate in the process of re-determining the candidate parameter vector, or the real robot can be controlled to execute a new verification trajectory to reacquire verification data.
[0268] It can record the verification results, verification response residuals, subsequent identification actions, and number of re-identifications for each round of parameter identification, and set a maximum number of re-identifications. When the maximum number of re-identifications is reached but a candidate parameter vector that meets the preset acceptance conditions is still not obtained, automatic re-identification can be stopped, the previous valid parameter version can be used, and the corresponding verification results and reasons for pending review can be output.
[0269] By determining subsequent identification actions based on the target parameter response degree, the correlation between parameter responses, the operating condition distribution of the verification response residuals, the parameter value status, and the convergence status of the parameter identification process, the corresponding identification steps can be adjusted for different reasons for verification failure, reducing the repetition of the same parameter identification process. By using new verification data to verify the newly determined candidate parameter vectors, the data distinction between the re-identification process and subsequent verification processes can be maintained.
[0270] The automatic identification method for robot simulation parameters in this application first obtains a simulation robot model corresponding to the real robot, a vector of parameters to be identified, and the execution constraints of the real robot. Target parameters are determined from the vector of parameters to be identified. For each candidate excitation trajectory, the target parameters in the simulation robot model are changed to obtain the corresponding simulation response. Based on the simulation response, identifiability information characterizing the degree of response of the target parameters and the correlation between responses between parameters is determined. Second, an excitation trajectory is selected based on the identifiability information and execution constraints. The real robot is controlled to execute the excitation trajectory, and the actually sent joint commands and corresponding real response data are obtained. Third, based on the identifiability information, the parameters participating in this round of identification are determined, and the joint commands are used to drive the simulation robot model. The simulation robot model is constructed by first determining the candidate parameter vector based on the response residual between the simulated and actual response data. Then, the candidate parameter vector is written into the simulation robot model and verified using verification data that was not involved in the candidate parameter vector determination process to obtain the verification result and the verification response residual. Finally, when the verification result meets the preset acceptance conditions, the simulation robot model is updated using the candidate parameter vector. When the verification result does not meet the preset acceptance conditions, the subsequent identification action is determined based on the working condition distribution and identifiability information of the verification response residual. Based on the subsequent identification action, at least one of the following is adjusted: target parameters, excitation trajectory, parameters participating in this round of identification, parameter value range, identification objective function, or solution method. The parameter identification and verification are then performed again.
[0271] Through the above technical solution, before executing the excitation trajectory on the real robot, this application first uses a simulated robot model to determine the response degree of the target parameters under different candidate excitation trajectories and the correlation of responses between parameters, and then selects the excitation trajectory in combination with the execution constraints of the real robot. Therefore, it can reduce the situation where the selected excitation trajectory cannot effectively reflect the changes in the target parameters or is unsuitable for the execution of the real robot. At the same time, determining the parameters participating in this round of identification based on identifiability information can reduce the situation where parameters with insufficient response degree or large mutual influence participate in the identification at the same time, reduce the impact of parameter coupling on the identification process, thereby reducing the operation of repeatedly selecting parameters and adjusting the excitation trajectory based on human experience, and improving the efficiency of parameter identification.
[0272] Simultaneously, this application obtains the joint commands actually sent by the real robot during the execution of the excitation trajectory, and uses these joint commands to drive the simulation robot model, enabling the simulation robot model and the real robot to generate responses based on corresponding command inputs. Therefore, it can reduce the impact of the inconsistency between the initially planned excitation trajectory and the joint commands actually executed by the real robot on the parameter identification results, and enable the response residuals between the simulation response data and the real response data to more accurately reflect the response differences between the simulation robot model and the real robot, thereby improving the reliability of the candidate parameter vector.
[0273] Furthermore, this application utilizes verification data not involved in the candidate parameter vector determination process to verify the candidate parameter vectors, and only updates the simulation robot model using the candidate parameter vectors when the verification results meet preset acceptance conditions. Therefore, it reduces the likelihood that candidate parameter vectors are only used for the data employed in parameter identification, improving the response consistency between the updated simulation robot model and the real robot. When the verification results do not meet the preset acceptance conditions, this application determines subsequent identification actions based on the working condition distribution and identifiability information of the verification response residuals, and adjusts the subsequent parameter identification process accordingly. Therefore, it reduces the reliance on manual experience for untargeted repeated parameter tuning after verification failure, forming a closed-loop process of parameter identification, verification, and adjustment, further reducing reliance on manual parameter tuning and improving the stability and efficiency of the robot simulation parameter identification process.
[0274] refer to Figure 8 , Figure 8 A schematic diagram of one embodiment of the robot simulation parameter automatic identification device according to this application is shown.
[0275] like Figure 8 As shown, the robot simulation parameter automatic identification device 800 includes an acquisition unit 801, an identifiability analysis unit 802, an excitation execution unit 803, a parameter identification unit 804, a verification unit 805, a model update unit 806, and a feedback identification unit 807.
[0276] The acquisition unit 801 is used to acquire the simulated robot model corresponding to the real robot, the parameter vector to be identified, and the execution constraints of the real robot. The identifiability analysis unit 802 is used to determine the target parameters from the parameter vector to be identified, change the target parameters in the simulated robot model for each candidate excitation trajectory and obtain the corresponding simulation response, and determine identifiability information characterizing the degree of response of the target parameters and the correlation between responses between parameters based on the simulation response. The excitation execution unit 803 is used to select the excitation trajectory based on the identifiability information and execution constraints, control the real robot to execute the excitation trajectory, and acquire the actually sent joint commands and the corresponding real response data. The parameter identification unit 804 is used to determine the parameters participating in this round of identification based on the identifiability information, drive the simulated robot model using joint commands, and determine the candidate parameter vector based on the response residual between the simulation response data and the real response data. The verification unit 805 is used to write the candidate parameter vector into the simulated robot model, perform verification using verification data that did not participate in the candidate parameter vector determination process, and obtain the verification result and the verification response residual. The model update unit 806 is used to update the simulation robot model using candidate parameter vectors when the verification result meets the preset acceptance conditions. The feedback identification unit 807 is used to determine the subsequent identification actions based on the working condition distribution and identifiability information of the verification response residual when the verification result does not meet the preset acceptance conditions, and to adjust at least one of the following based on the subsequent identification actions: target parameters, excitation trajectory, parameters participating in this round of identification, parameter value range, identification objective function or solution method, and re-identify and verify the parameters.
[0277] In some optional implementations, the identifiability analysis unit 802 is specifically used to: for each candidate excitation trajectory, obtain the baseline simulation response when the target parameter is at its current value; change each target parameter individually, keeping other target parameters constant while changing any one target parameter, and obtain the corresponding changed simulation response after the change of each target parameter; determine the response change information corresponding to each target parameter based on the difference between the baseline simulation response and the changed simulation response; determine the response degree of the corresponding target parameter based on the response change magnitude represented by the response change information, and determine the response correlation between the corresponding target parameters based on the similarity between the response change characteristics corresponding to different target parameters; and generate identifiability information based on the response degree of each target parameter and the response correlation between different target parameters.
[0278] In some optional implementations, the excitation execution unit 803 is specifically configured to: determine the excitation capability of the corresponding candidate excitation trajectory for the target parameter based on the response degree of the target parameter corresponding to each candidate excitation trajectory; determine the parameter discrimination capability of the corresponding candidate excitation trajectory for different target parameters based on the response correlation between the parameters corresponding to each candidate excitation trajectory; determine the executable excitation trajectory allowed to be executed by the real robot from each candidate excitation trajectory according to the execution constraints; and select the excitation trajectory for controlling the execution of the real robot from the executable excitation trajectories based on the excitation capability and parameter discrimination capability corresponding to the executable excitation trajectory.
[0279] In some optional embodiments, the apparatus further includes a candidate excitation trajectory generation unit (not shown in the figure), which is used to generate candidate excitation trajectories based on the target parameters, the current estimated value of the parameter vector to be identified, the state of the real robot, and the execution constraints before the identifiability analysis unit changes the target parameters in the simulation robot model for each candidate excitation trajectory and obtains the corresponding simulation response.
[0280] The candidate excitation trajectory generation unit is specifically used for: determining the trajectory form based on the target parameters; determining trajectory configuration parameters adapted to the trajectory form based on the current estimated value of the parameter vector to be identified, the state of the real robot, and execution constraints, wherein the trajectory configuration parameters include at least one of the following: the joint to be excited, the direction of motion, velocity, acceleration, frequency, amplitude, and duration; and generating candidate excitation trajectories based on the trajectory form and the trajectory configuration parameters.
[0281] In some optional implementations, the candidate excitation trajectory generation unit is specifically used to: select at least two trajectory forms from the trajectory forms determined according to the target parameters; generate trajectory segments corresponding to the at least two selected trajectory forms according to the trajectory configuration parameters; determine the arrangement order of the generated trajectory segments based on the excitation coverage of the target parameters, the attitude transition cost between different trajectory segments, the thermal drift effect, and the execution risk; and connect the generated trajectory segments according to the arrangement order, ensuring continuity of position, velocity, and acceleration between adjacent trajectory segments to generate candidate excitation trajectories.
[0282] In some optional implementations, the parameter identification unit 804 is specifically used to: determine whether each target parameter meets a preset identifiable condition based on the response degree of each target parameter; determine whether different target parameters meet a preset parameter differentiation condition based on the response correlation between different target parameters; identify target parameters that simultaneously meet both the preset identifiable condition and the preset parameter differentiation condition as parameters participating in this round of identification; maintain the current value of the corresponding target parameter for target parameters that do not meet the preset identifiable condition; and fix at least one of the target parameters that do not meet the preset parameter differentiation condition, or replace at least two target parameters with a combined parameter that characterizes their combined effect.
[0283] In some optional implementations, the parameter identification unit 804 is specifically used to: determine the identification order of parameters participating in the current identification based on the joint commands and actual response data corresponding to different motion stages and the identifiability information corresponding to each target parameter. For each identification stage, the joint commands of the corresponding motion stage are used to drive the simulation robot model, and the parameters corresponding to the corresponding identification stage are adjusted according to the response residual between the obtained simulation response data and the actual response data of the corresponding motion stage to obtain the parameter estimate value of the corresponding identification stage. The parameter estimate value obtained in the previous identification stage is written into the simulation robot model used in the next identification stage, and the parameter reliability of the parameters identified in the previous identification stage is determined based on the data quality of the joint commands and actual response data corresponding to the previous identification stage, the consistency of multiple identification results, and the response correlation between the parameters identified in the previous identification stage and other target parameters. Based on parameter confidence levels, the processing method for parameters identified in the previous identification stage in the next identification stage is determined. Specifically, parameters whose confidence levels meet preset confidence conditions are either fixed or have their value range narrowed; for parameters whose confidence levels do not meet preset confidence conditions, their value range is expanded within the corresponding physical constraints. A simulated robot model containing parameter estimates from each identification stage is driven using joint commands. Based on the response residuals between the obtained simulated response data and the actual response data, the parameter estimates from each identification stage are jointly adjusted to obtain a candidate parameter vector.
[0284] In some optional implementations, the parameter identification unit 804 is specifically used to: divide the simulated response data and the real response data according to the motion stage to obtain the simulated stage response data and the real stage response data corresponding to each motion stage; determine at least one of the position response residual, velocity response residual, and torque response residual corresponding to each motion stage based on the difference between the simulated stage response data and the real stage response data corresponding to each motion stage; determine at least one target response residual from the position response residual, velocity response residual, and torque response residual corresponding to the corresponding motion stage according to the identification task corresponding to each motion stage; scale different types of target response residuals according to the engineering allowable error, noise level, or physical quantity range corresponding to different target response residuals; determine the error weights corresponding to different target response residuals according to the data quality of the joint commands and the real stage response data corresponding to the corresponding motion stage; and construct an identification objective function based on the processed target response residuals, error weights, and parameter change constraints corresponding to the parameter estimates of each identification stage. The parameter estimates for each identification stage are iteratively adjusted according to the identification objective function. After each adjustment, the simulation robot model containing the adjusted parameter estimates is driven by joint commands. The target response residual and the identification objective function are updated according to the obtained simulation response data until the change of the identification objective function meets the preset termination condition. The parameter estimates for each identification stage at the time of termination of iteration are determined as candidate parameter vectors.
[0285] In some optional implementations, the feedback identification unit 807 is specifically used to: generate an excitation trajectory to enhance the response of the corresponding target parameter when the response level of the target parameter does not meet the preset identifiable conditions, or remove the corresponding target parameter from the parameters participating in this round of identification, and determine it as a subsequent identification action. When the response correlation between at least two target parameters does not meet the preset parameter differentiation conditions, generate an excitation trajectory to differentiate at least two target parameters, or reduce the parameters participating in this round of identification, and determine it as a subsequent identification action. When verifying that the response residual is concentrated in the working condition corresponding to a specific speed, motion direction, load, or frequency, generate an excitation trajectory covering the corresponding working condition, control the real robot to execute the generated excitation trajectory, and obtain the actually sent joint commands and the corresponding real response data, and determine it as a subsequent identification action.
[0286] In some optional implementations, the feedback identification unit 807 is further configured to determine subsequent identification actions based on the value state of the parameters participating in the current identification round and the convergence state of the parameter identification process, in the following manner: If the parameters participating in the current identification round repeatedly reach the boundary of the corresponding parameter value range during the parameter identification process, the parameter value range will be adjusted according to the physical constraints of the corresponding parameters, and this will be determined as a subsequent identification action. If the identification results obtained using different initial parameter values are inconsistent or the parameter identification process does not converge, at least one of adjusting the parameter value range, the identification objective function, or the solution method will be determined as a subsequent identification action. If the parameters participating in the current identification round are within the corresponding physical constraints and the parameter identification process has converged, but the verification response residual still recurs under the same type of working condition, the verification response residual will be determined as a structural residual, and the following processing will be determined as a subsequent identification action: adding a candidate sub-model to the simulation robot model to describe the physical factors corresponding to the structural residual, and determining the parameters corresponding to the candidate sub-model as the target parameters for the next round.
[0287] The specific processing of each unit in the device embodiment, the meaning of related terms, optional implementation methods, and their technical effects can be found in the descriptions of the corresponding steps in the foregoing method embodiments, and will not be repeated here. The above units can be implemented by software, hardware, firmware, or a combination thereof, and can also be combined or further split according to the deployment method of computing and storage resources.
[0288] The following is for reference. Figure 9 It shows a schematic diagram of the structure of a computer system 900 suitable for implementing the electronic device of the present application. Figure 9 The computer system 900 shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of this application.
[0289] In some alternative embodiments, this application also provides an electronic device including one or more processors and a storage device storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement any of the foregoing method embodiments.
[0290] Specifically, one or more processors can correspond to Figure 9 The processing device 901 shown may include a central processing unit, a graphics processing unit, or other general-purpose or dedicated processors. Different processors may respectively undertake at least one of the following processing steps: acquiring simulated robot models and related data, determining identifiability information, generating and selecting candidate excitation trajectories, controlling and acquiring real robot data, determining candidate parameter vectors, verifying candidate parameter vectors, updating simulated robot models, and determining subsequent identification actions.
[0291] The storage device may include at least one of read-only memory (ROM) 902, random access memory (RAM) 903, and storage device 908. ROM 902 may store a boot program or a firmware program; RAM 903 may store programs and data used during the operation of the electronic device; storage device 908 may include a disk, solid-state drive, flash memory device, or other non-volatile storage device, and may store one or more programs for implementing a method for automatically identifying robot simulation parameters.
[0292] The storage device 908 may also store at least one of the following: a simulated robot model, a parameter vector to be identified, execution constraints of the real robot, candidate excitation trajectories, identifiability information, actual joint commands sent, actual response data, candidate parameter vectors, verification data, verification results, verification response residuals, and parameter version information.
[0293] like Figure 9 As shown, the processing device 901, ROM 902, and RAM 903 can be connected to each other via bus 904. Input / output (I / O) interface 905 can also be connected to bus 904. When the electronic device is running, the processing device 901 can execute the processing corresponding to the automatic identification method of robot simulation parameters according to the program stored in ROM 902 or the program loaded from storage device 908 into RAM 903.
[0294] I / O interface 905 can connect to input device 906, output device 907, storage device 908, and communication device 909. Input device 906 may include a keyboard, mouse, touch device, robot operating device, robot operation data acquisition device, or other devices used for inputting simulation configuration, parameter configuration, and task identification. Output device 907 may include a display, status indicator, robot control command output interface, or other devices used for outputting excitation trajectory, parameter identification results, verification results, verification response residuals, and simulation robot model update results.
[0295] The communication device 909 enables wired or wireless communication between electronic devices and real robots, robot controllers, simulation computing devices, robot operation data acquisition devices, parameter storage devices, or other electronic devices. Electronic devices can receive robot structural information, simulated robot models, parameter vectors to be identified, execution constraints, actually sent joint commands, actual response data, and verification data through the communication device 909. They can also send joint commands corresponding to the excitation trajectory to the real robot or robot controller, and provide candidate parameter vectors, verification results, or updated simulated robot models to the simulation computing device or other callers.
[0296] In some embodiments, the processing device 901 may include multiple processors. One processor may perform candidate excitation trajectory generation, simulated robot model operation, and identifiability information determination; another processor may perform real robot control, joint command recording, and real response data acquisition; and yet another processor may perform parameter identification, candidate parameter vector verification, and simulated robot model updating. The multiple processors may share RAM 903 or each have its own device memory, and may transmit candidate excitation trajectories, simulated response data, actually transmitted joint commands, real response data, candidate parameter vectors, verification data, and verification response residuals via high-speed interconnects.
[0297] In some implementations, the electronic device can be a robot control device, a robot simulation server, a parameter identification server, an edge computing device, or other computing devices with robot simulation or data processing capabilities, or it can be a distributed electronic device composed of multiple computing nodes.
[0298] When the electronic device is a distributed electronic device, the acquisition unit 801, the identifiability analysis unit 802, the excitation execution unit 803, the parameter identification unit 804, the verification unit 805, the model update unit 806, and the feedback identification unit 807 can be deployed on the same computing node or on different computing nodes that can communicate with each other. For example, the excitation execution unit 803 can be deployed in a robot control device connected to a real robot, the identifiability analysis unit 802 and the parameter identification unit 804 can be deployed in a robot simulation server or a parameter identification server, and the verification unit 805 and the model update unit 806 can be deployed in a computing device used to manage the simulation robot model.
[0299] Components in electronic devices are not required to all conform to Figure 9 The setup is as shown. Depending on the specific implementation requirements, the electronic device may omit some input or output devices, or it may add a graphics processor, robot control interface, robot operation data acquisition interface, high-speed network interface, or other components suitable for automatically identifying and processing robot simulation parameters.
[0300] In some alternative embodiments, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the aforementioned method embodiments.
[0301] Specifically, a computer-readable storage medium can be a tangible medium capable of containing or storing computer programs. Computer-readable storage media can include portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory, flash memory, solid-state drives, optical storage devices, magnetic storage devices, or any combination of the above media.
[0302] The computer-readable storage medium may be disposed within the aforementioned electronic device or independently of the aforementioned electronic device. The computer program stored in the computer-readable storage medium may include program instructions for causing the processor to execute a simulated robot model, acquire the parameter vector to be identified and the execution constraint, determine identifiability information, select excitation trajectory, control the real robot, acquire joint commands and real response data, determine candidate parameter vectors, verify candidate parameter vectors, update the simulated robot model, and determine subsequent identification actions.
[0303] When a computer program is executed by one or more processors, the one or more processors may perform all or part of the steps in the foregoing method embodiments. When executed jointly by multiple processors, different processors may respectively perform different processes in the simulation robot model operation, candidate excitation trajectory generation, identifiability information determination, real robot control, robot operation data acquisition, candidate parameter vector determination, and candidate parameter vector verification.
[0304] In some alternative implementations, this application also provides a computer program product, including a computer program or computer instructions, which, when executed by a processor, implement any of the foregoing method embodiments.
[0305] Specifically, computer program products may include computer programs or computer instructions for implementing methods for automatically identifying robot simulation parameters. These computer programs or instructions may be downloaded from a network and installed on an electronic device, or loaded onto an electronic device from a computer-readable storage medium.
[0306] When executed by the processor, the computer program or computer instructions enable the electronic device to acquire the simulated robot model, the parameter vector to be identified, and the execution constraints corresponding to the real robot. It determines the identifiability information that characterizes the response degree of the target parameters and the correlation between responses between parameters. Based on the identifiability information and the execution constraints, it selects the excitation trajectory, controls the real robot to execute the excitation trajectory, and acquires the actual joint commands sent and the corresponding real response data. Based on the response residual between the simulated response data and the real response data, it determines the candidate parameter vector. It uses the verification data to verify the candidate parameter vector and updates the simulated robot model or determines the subsequent identification action based on the verification results.
[0307] Computer programs or instructions can be written in one or more programming languages and can be executed entirely on a single electronic device, or they can be executed separately on robot control nodes, robot operation data acquisition nodes, simulation calculation nodes, parameter identification nodes, verification nodes, and model management nodes. The program parts executed at different nodes can exchange simulated robot models, candidate excitation trajectories, joint commands, real response data, simulated response data, candidate parameter vectors, verification data, verification results, and verification response residuals through wired or wireless networks.
[0308] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a unit, segment, or portion of code, which includes one or more executable instructions for implementing a specified logical function.
[0309] It should be noted that in some alternative implementations, the functions marked in the boxes may be executed in a different order than that shown in the accompanying drawings. For example, two consecutively shown boxes may actually be executed substantially in parallel, or in reverse order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, as well as combinations of boxes in the block diagram and / or flowchart, may be implemented by a dedicated hardware system that performs the specified function or operation, or by a combination of dedicated hardware and computer instructions.
[0310] The units involved in the embodiments of this application can be implemented in software, in hardware, or in a combination of both. The name of a unit does not necessarily limit the unit itself. For example, the identifiability analysis unit 802 can also be described as "a unit that changes the target parameters in the simulation robot model for each candidate excitation trajectory and determines identifiability information based on the corresponding simulation response."
[0311] The above description is merely a preferred embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with, but not limited to, technical features disclosed in this application that have similar functions.
Claims
1. A method for automatic identification of robot simulation parameters, characterized in that, The method includes: Obtain the simulated robot model corresponding to the real robot, the parameter vector to be identified, and the execution constraints of the real robot; The target parameters are determined from the vector of parameters to be identified. The target parameters in the simulation robot model are changed for each candidate excitation trajectory and the corresponding simulation response is obtained. Based on the simulation response, the identifiability information characterizing the response degree of the target parameters and the correlation between responses between parameters is determined. Based on the identifiability information and the execution constraints, an excitation trajectory is selected, the real robot is controlled to execute the excitation trajectory, and the actual joint commands sent and the corresponding real response data are obtained. The parameters participating in this round of identification are determined based on the identifiability information, the joint commands are used to drive the simulation robot model, and the candidate parameter vector is determined based on the response residual between the simulation response data and the real response data. The candidate parameter vector is written into the simulation robot model, and the model is verified using verification data that did not participate in the candidate parameter vector determination process to obtain the verification results and verification response residuals. When the verification result meets the preset acceptance conditions, the simulation robot model is updated using the candidate parameter vector; When the verification result does not meet the preset acceptance conditions, subsequent identification actions are determined based on the working condition distribution of the verification response residual and the identifiability information. At least one of the following is adjusted based on the subsequent identification actions: target parameters, excitation trajectory, parameters participating in this round of identification, parameter value range, identification objective function or solution method. Parameter identification and verification are then performed again.
2. The method according to claim 1, characterized in that, The identifiable information for determining the degree of response of the target parameter and the correlation between responses based on the simulation response includes: For each candidate excitation trajectory, obtain the baseline simulation response when the target parameter is at its current value; Change each target parameter separately, while keeping the other target parameters unchanged when changing any target parameter, and obtain the simulation response corresponding to the change of each target parameter; Based on the difference between the baseline simulation response and the changed simulation response, determine the response change information corresponding to each target parameter; Based on the response change magnitude characterized by the response change information, the response degree of the corresponding target parameter is determined, and based on the similarity between the response change characteristics corresponding to different target parameters, the response correlation between the corresponding target parameters is determined. The identifiability information is generated based on the response level of each target parameter and the response correlation between different target parameters.
3. The method according to claim 1, characterized in that, The step of selecting the excitation trajectory based on the identifiability information and the execution constraints includes: Based on the response level of the target parameter corresponding to each candidate excitation trajectory, the excitation capability of the corresponding candidate excitation trajectory for the target parameter is determined; Based on the correlation of responses between parameters corresponding to each candidate excitation trajectory, determine the parameter discrimination capability of the corresponding candidate excitation trajectory for different target parameters; Based on the execution constraints, an executable stimulus trajectory that the real robot is allowed to execute is determined from each candidate stimulus trajectory; Based on the excitation capability and parameter differentiation capability corresponding to the executable excitation trajectory, an excitation trajectory for controlling the execution of the real robot is selected from the executable excitation trajectories.
4. The method according to claim 1, characterized in that, Before changing the target parameters in the simulation robot model for each candidate excitation trajectory and obtaining the corresponding simulation response, the method further includes: Candidate excitation trajectories are generated based on the target parameters, the current estimated values of the parameter vector to be identified, the state of the real robot, and the execution constraints. The step of generating candidate excitation trajectories based on the target parameters, the current estimated value of the parameter vector to be identified, the state of the real robot, and the execution constraints includes: The trajectory form is determined based on the target parameters; Based on the current estimated value of the parameter vector to be identified, the state of the real robot, and the execution constraints, trajectory configuration parameters adapted to the trajectory form are determined, wherein the trajectory configuration parameters include at least one of the following: joint to be excited, direction of motion, velocity, acceleration, frequency, amplitude, and duration. The candidate excitation trajectory is generated based on the trajectory form and the trajectory configuration parameters.
5. The method according to claim 4, characterized in that, The step of generating the candidate excitation trajectory based on the trajectory form and the trajectory configuration parameters includes: Select at least two trajectory forms from the trajectory forms determined according to the target parameters; Based on the trajectory configuration parameters, generate trajectory segments corresponding to at least two selected trajectory forms; The order of the generated trajectory segments is determined based on the excitation coverage of the target parameters, the attitude transition cost between different trajectory segments, the thermal drift effect, and the execution risk. The generated trajectory segments are connected according to the stated arrangement order, and the position, velocity, and acceleration between adjacent trajectory segments are made continuous to generate the candidate excitation trajectory.
6. The method according to claim 1, characterized in that, The step of determining the parameters participating in this round of identification based on the identifiability information includes: Based on the response level of each target parameter, determine whether each target parameter meets the preset identifiable conditions; Based on the response correlation between different target parameters, determine whether the different target parameters meet the preset parameter differentiation conditions; The target parameters that simultaneously satisfy the preset identifiable conditions and the preset parameter distinguishing conditions are determined as the parameters participating in this round of identification. For target parameters that do not meet the preset identifiable conditions, maintain the current value of the corresponding target parameter; For at least two target parameters that do not meet the preset parameter differentiation conditions, fix at least one of the target parameters, or replace the at least two target parameters with a combination parameter that characterizes their combined effect.
7. The method according to claim 1, characterized in that, The step of driving the simulated robot model using the joint commands and determining the candidate parameter vector based on the response residual between the simulated response data and the actual response data includes: Based on the joint commands and actual response data corresponding to different motion stages, as well as the identifiability information corresponding to each target parameter, the identification order of the parameters participating in this round of identification is determined. For each identification stage, the simulated robot model is driven by the joint commands of the corresponding motion stage, and the parameters corresponding to the identification stage are adjusted according to the response residual between the obtained simulation response data and the actual response data of the corresponding motion stage to obtain the parameter estimate value of the corresponding identification stage. The parameter estimates obtained in the previous identification stage are written into the simulation robot model used in the next identification stage. The reliability of the parameters identified in the previous identification stage is determined based on the data quality of the joint commands and real response data corresponding to the previous identification stage, the consistency of multiple identification results, and the response correlation between the parameters identified in the previous identification stage and other target parameters. Based on the reliability of the parameters, the processing method of the parameters identified in the previous identification stage in the next identification stage is determined. Specifically, parameters whose reliability meets the preset reliability conditions are fixed or their value range is narrowed, while parameters whose reliability does not meet the preset reliability conditions are expanded within the physical constraints of the corresponding parameters. The joint commands are used to drive a simulated robot model containing parameter estimates for each identification stage. Based on the response residuals between the obtained simulated response data and the actual response data, the parameter estimates for each identification stage are jointly adjusted to obtain the candidate parameter vector.
8. The method according to claim 7, characterized in that, The simulation robot model, driven by the joint commands, includes parameter estimates for each identification stage. Based on the response residual between the obtained simulation response data and the actual response data, the parameter estimates for each identification stage are jointly adjusted to obtain the candidate parameter vector, including: The simulated response data and the real response data are divided according to the motion stage to obtain the simulated stage response data and the real stage response data corresponding to each motion stage. Based on the difference between the simulation response data and the actual response data for each motion stage, determine at least one of the position response residual, velocity response residual, and torque response residual for each motion stage. Based on the identification task corresponding to each motion stage, at least one target response residual is determined from the position response residual, velocity response residual, and torque response residual corresponding to the corresponding motion stage. Based on the engineering allowable error, noise level, or physical quantity range corresponding to different target response residuals, scaling is performed on different types of target response residuals. Based on the data quality of the joint commands corresponding to the corresponding motion phase and the actual phase response data, the error weights corresponding to different target response residuals are determined, and the identification target function is constructed based on the processed target response residuals, the error weights, and the parameter change constraints corresponding to the parameter estimates of each identification phase. The parameter estimates for each identification stage are iteratively adjusted according to the identification objective function. After each adjustment, the joint commands are used to drive the simulation robot model containing the adjusted parameter estimates. The target response residual and the identification objective function are updated according to the obtained simulation response data until the change of the identification objective function meets the preset termination condition. The parameter estimates for each identification stage at the time of termination of iteration are determined as the candidate parameter vector.
9. The method according to claim 1, characterized in that, The step of determining subsequent identification actions based on the operating condition distribution of the verification response residuals and the identifiability information includes: If the response level of the target parameter does not meet the preset identifiable conditions, an excitation trajectory will be generated to enhance the response of the corresponding target parameter, or the corresponding target parameter will be removed from the parameters participating in this round of identification and determined as the subsequent identification action. If the response correlation between at least two target parameters does not meet the preset parameter differentiation condition, an excitation trajectory for differentiating the at least two target parameters will be generated, or the number of parameters participating in this round of identification will be reduced, and the subsequent identification action will be determined. When the verification response residuals are concentrated in the working conditions corresponding to specific speeds, directions of motion, loads, or frequencies, an excitation trajectory covering the corresponding working conditions will be generated, the real robot will be controlled to execute the generated excitation trajectory, and the actual joint commands sent and the corresponding real response data will be obtained and determined as the subsequent identification action.
10. The method according to claim 1, characterized in that, The subsequent identification actions are also determined according to the value state of the parameters participating in this round of identification and the convergence state of the parameter identification process, in the following manner: If a parameter participating in this round of identification reaches the boundary of its corresponding value range multiple times consecutively during the parameter identification process, the parameter value range will be adjusted according to the physical constraints of the corresponding parameter, and this will be determined as the subsequent identification action. If the identification results obtained by using different initial parameter values are inconsistent or the parameter identification process does not converge, at least one of the following will be adjusted: the range of parameter values, the identification objective function, or the solution method. If the parameters participating in this round of identification are within the corresponding physical constraints and the parameter identification process converges, and the verification response residual still recurs under the same type of working conditions, the verification response residual is identified as a structural residual, and the following processing is determined as the subsequent identification action: adding a candidate sub-model to the simulation robot model to describe the physical factors corresponding to the structural residual, and determining the parameters corresponding to the candidate sub-model as the target parameters for the next round.
11. An automatic identification device for robot simulation parameters, characterized in that, The device includes: The acquisition unit is used to acquire the simulation robot model corresponding to the real robot, the parameter vector to be identified, and the execution constraints of the real robot; The identifiability analysis unit is used to determine the target parameters from the parameter vector to be identified, change the target parameters in the simulation robot model for each candidate excitation trajectory and obtain the corresponding simulation response, and determine identifiability information characterizing the response degree of the target parameters and the correlation between responses of the parameters based on the simulation response. The excitation execution unit is used to select an excitation trajectory based on the identifiability information and the execution constraints, control the real robot to execute the excitation trajectory, and acquire the actual joint commands sent and the corresponding real response data. The parameter identification unit is used to determine the parameters participating in this round of identification based on the identifiability information, drive the simulation robot model using the joint commands, and determine the candidate parameter vector based on the response residual between the simulation response data and the real response data. The verification unit is used to write the candidate parameter vector into the simulation robot model, perform verification using verification data that did not participate in the candidate parameter vector determination process, and obtain the verification result and the verification response residual. The model update unit is used to update the simulation robot model using the candidate parameter vector when the verification result meets the preset acceptance conditions. The feedback identification unit is used to determine subsequent identification actions based on the working condition distribution of the verification response residual and the identifiability information when the verification result does not meet the preset acceptance conditions, and to adjust at least one of the target parameters, excitation trajectory, parameters participating in this round of identification, parameter value range, identification objective function or solution method according to the subsequent identification actions, and to re-identify and verify the parameters.
12. An electronic device, characterized in that, include: One or more processors; A storage device on which one or more programs are stored; When the one or more programs are executed by the one or more processors, the one or more processors implement the method of any one of claims 1 to 10.
13. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 10.
14. A computer program product, characterized in that, Includes a computer program / instruction, which, when executed by a processor, implements the method of any one of claims 1 to 10.
