Robot motion control parameter optimization method and system, intelligent terminal and medium
By combining virtual and actual motion control testing, the robot motion control parameters are optimized, and the problems of large test workload and low optimization efficiency in the existing technology are solved, achieving more efficient parameter optimization.
Patent Information
- Application Number
- CN202411916661.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-24
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2044-12-24
AI Technical Summary
In the prior art, the optimization of robot motion control parameters depends on a large number of actual motion control tests, resulting in large test workload, large resource consumption, and low optimization efficiency.
By combining virtual motion control tests and actual motion control tests, robot motion control parameters are optimized. The specific steps include: obtaining the parameters to be optimized, performing an actual test to determine the threshold of the virtual test function, performing at least one virtual test to iteratively update the parameters, and repeating the above process until the optimization termination condition is met.
Reliance on actual motion control tests is reduced, testing workload and resource consumption is reduced, and parameter optimization efficiency is improved.
Smart Images

Figure CN119805916A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot control technology, and in particular to a robot motion control parameter optimization method, system, intelligent terminal and medium. Background Art
[0002] With the advancement of science and technology, robots are being used more and more widely. When controlling a robot, in order to improve the accuracy of motion control, it is necessary to optimize the robot's motion control parameters.
[0003] In the prior art, a large number of actual motion control tests are usually performed on the robot, and the motion control parameters are optimized according to the results of the actual motion control tests. The problem with the prior art is that the optimization of the motion control parameters only depends on the test results of the actual motion control tests, and a large number of actual motion control tests are required, which results in a large test workload and high resource consumption, and is not conducive to improving the efficiency of parameter optimization.
[0004] Therefore, relevant technologies still need to be improved and developed. Summary of the invention
[0005] The main purpose of this application is to provide a robot motion control parameter optimization method, system, intelligent terminal and medium, aiming to solve the technical problem that the optimization of motion control parameters in the related technology only depends on the test results of actual motion control tests, a large number of actual motion control tests are required, the testing workload is large, the resource consumption is large, and it is not conducive to improving the efficiency of parameter optimization.
[0006] In order to achieve the above-mentioned object, the first aspect of the present application provides a robot motion control parameter optimization method, wherein the robot motion control parameter optimization method comprises:
[0007] Obtaining motion control parameters to be optimized, performing an actual motion control test on the robot according to the motion control parameters to be optimized, and determining a virtual test function threshold based on a preset objective function and a result of the actual motion control test;
[0008] Performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized, so as to iteratively update the motion control parameters to be optimized, until a virtual test function value determined according to the result of the virtual motion control test and the objective function is not greater than the virtual test function threshold;
[0009] Performing an actual motion control test on the robot according to the motion control parameters to be optimized, and updating the objective function according to the result of the actual motion control test;
[0010] Return to the step of performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized, until the preset parameter optimization termination conditions are met, and the optimized target motion control parameters are obtained, wherein the parameter optimization termination conditions include the number of actual motion control tests performed reaching a preset maximum number of actual tests.
[0011] Optionally, the above-mentioned obtaining of the motion control parameters to be optimized, performing an actual motion control test on the robot according to the above-mentioned motion control parameters to be optimized, and determining the virtual test function threshold based on a preset objective function and the result of the above-mentioned actual motion control test, include:
[0012] Acquire motion control parameters to be optimized, wherein the motion control parameters to be optimized include at least one of motor torque, PID controller gain and joint angle;
[0013] Perform an actual motion control test on the robot according to the above motion control parameters to be optimized;
[0014] Determine a first actual test function value based on the objective function and the result of the actual motion control test;
[0015] Determine a function final target threshold value according to the first actual test function value, wherein the function final target threshold value is less than the first actual test function value;
[0016] A virtual test function threshold is determined according to the first actual test function value and the final target threshold of the function, wherein the virtual test function threshold is not greater than the first actual test function value and not less than the final target threshold of the function.
[0017] Optionally, the determining of the first actual test function value based on the objective function and the result of the actual motion control test includes:
[0018] Collecting actual state parameters of the robot during actual motion control testing;
[0019] Obtaining the desired state parameters corresponding to the motion control parameters to be optimized;
[0020] According to the above-mentioned actual state parameters and the above-mentioned expected state parameters, the above-mentioned first actual test function value is obtained by calculating the above-mentioned objective function.
[0021] Optionally, performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized to iteratively update the motion control parameters to be optimized until a virtual test function value determined according to the result of the virtual motion control test and the objective function is not greater than the virtual test function threshold, including:
[0022] Obtaining virtual control parameter generation rules;
[0023] Generate virtual test control parameters according to the virtual control parameter generation rule and the motion control parameters to be optimized;
[0024] Perform a virtual motion control test according to the virtual test control parameters, and determine a virtual test function value based on the objective function and the result of the virtual motion control test;
[0025] The above-mentioned motion control parameters to be optimized are updated according to the above-mentioned virtual test control parameters, and the step of generating virtual test control parameters according to the above-mentioned virtual control parameter generation rules and the above-mentioned motion control parameters to be optimized is returned to execute until the above-mentioned virtual test function value is not greater than the above-mentioned virtual test function threshold.
[0026] Optionally, the above method further includes:
[0027] When executing the above-mentioned virtual motion control test each time, if the virtual test function value corresponding to the virtual motion control test is not less than the above-mentioned first actual test function value, the above-mentioned virtual control parameter generation rule is updated, and new virtual test control parameters are generated according to the updated virtual control parameter generation rule, and the virtual motion control test is re-executed based on the above-mentioned new virtual test control parameters until the virtual test function value corresponding to the virtual motion control test is less than the above-mentioned first actual test function value.
[0028] Optionally, the objective function includes a plurality of preset calculation items of weighted summation;
[0029] The above-mentioned preset calculation items include position error item, speed error item, energy consumption item, state entropy item and control strategy entropy item;
[0030] The position error term is used to characterize the difference between the actual position and the expected position of the robot;
[0031] The speed error term is used to characterize the difference between the actual speed and the expected speed of the robot;
[0032] The energy consumption item is used to characterize the energy consumed by the robot to perform the movement;
[0033] The above-mentioned state entropy term is used to characterize the state disorder degree of the above-mentioned robot;
[0034] The control strategy entropy term is used to characterize the diversity of the control strategies of the robot.
[0035] Optionally, performing an actual motion control test on the robot according to the motion control parameters to be optimized, and updating the objective function according to the result of the actual motion control test, comprises:
[0036] Controlling the robot to return to the initial position;
[0037] Perform an actual motion control test on the robot according to the motion control parameters to be optimized;
[0038] Determine a second actual test function value based on the objective function and the result of the actual motion control test;
[0039] If the second actual test function value is not greater than the final target threshold of the function, the motion control parameter to be optimized is used as the target motion control parameter after optimization, and the motion control parameter optimization process ends;
[0040] If the second actual test function value is greater than the final target threshold of the function, the weight values corresponding to the preset calculation items in the target function are updated according to the second actual test function value.
[0041] A second aspect of the present application provides a robot motion control parameter optimization system, wherein the robot motion control parameter optimization system comprises:
[0042] A first actual test module is used to obtain motion control parameters to be optimized, perform an actual motion control test on the robot according to the motion control parameters to be optimized, and determine a virtual test function threshold based on a preset objective function and a result of the actual motion control test;
[0043] A virtual test module, used for performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized, so as to iteratively update the motion control parameters to be optimized, until a virtual test function value determined according to the result of the virtual motion control test and the objective function is not greater than the virtual test function threshold;
[0044] A second actual test module is used to perform an actual motion control test on the robot according to the motion control parameters to be optimized, and update the objective function according to the result of the actual motion control test;
[0045] An iterative control module is used to return to the step of performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized, until a preset parameter optimization termination condition is met, thereby obtaining the optimized target motion control parameters, wherein the parameter optimization termination condition includes the number of actual motion control tests performed reaching a preset maximum number of actual tests.
[0046] The third aspect of the present application provides an intelligent terminal, which includes a memory, a processor, and a robot motion control parameter optimization program stored in the memory and executable on the processor. When the robot motion control parameter optimization program is executed by the processor, any step of the robot motion control parameter optimization method is implemented.
[0047] A fourth aspect of the present application provides a computer-readable storage medium, on which a robot motion control parameter optimization program is stored. When the robot motion control parameter optimization program is executed by a processor, any step of the robot motion control parameter optimization method is implemented.
[0048] As can be seen from the above, in the scheme of the present application, the motion control parameters to be optimized are obtained, an actual motion control test is performed on the robot according to the above motion control parameters to be optimized, and a virtual test function threshold is determined based on a preset objective function and the result of the above actual motion control test; at least one virtual motion control test is performed on the above motion control parameters to be optimized to iteratively update the above motion control parameters to be optimized until the virtual test function value determined according to the result of the above virtual motion control test and the above objective function is not greater than the above virtual test function threshold; an actual motion control test is performed on the above robot according to the above motion control parameters to be optimized, and the above objective function is updated according to the result of the above actual motion control test; return to execute the above step of performing at least one virtual motion control test on the above robot according to the above motion control parameters to be optimized until the preset parameter optimization termination condition is met, and the optimized target motion control parameters are obtained, wherein the above parameter optimization termination condition includes the number of times the actual motion control test is performed reaching a preset maximum number of actual tests.
[0049] Compared with the prior art, in the scheme corresponding to the robot motion control parameter optimization method provided by the present application, when performing parameter optimization, it does not rely solely on the actual motion control test, but combines the virtual motion control test and the actual motion control test to perform parameter optimization. In this way, the introduction of the virtual motion control test to achieve the optimization of the motion control parameters to be optimized can reduce the dependence on the actual motion control test, thereby helping to reduce the test workload, reduce resource consumption, and help improve the efficiency of parameter optimization. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0051] Figure 1 It is a flow chart of a robot motion control parameter optimization method provided in an embodiment of the present application;
[0052] Figure 2 It is a specific flow chart of a robot motion control parameter optimization method provided in an embodiment of the present application;
[0053] Figure 3 It is a schematic diagram of the components of a robot motion control parameter optimization system provided by an embodiment of the present application;
[0054] Figure 4 It is a block diagram of the internal structure principle of a smart terminal provided in an embodiment of the present application. DETAILED DESCRIPTION
[0055] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.
[0056] It should be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.
[0057] It should also be understood that the terms used in this application specification are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in this application specification and the appended claims, the singular forms "a", "an" and "the" are intended to include plural forms unless the context clearly indicates otherwise.
[0058] It should be further understood that the term “and / or” used in the specification and appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0059] As used in this specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to being classified into," depending on the context. Similarly, the phrase "if it is determined" or "if classified into [described condition or event]" may be interpreted as meaning "upon determination" or "in response to determining" or "upon classification into [described condition or event]" or "in response to being classified into [described condition or event]," depending on the context.
[0060] The following is a clear and complete description of the technical solutions in the embodiments of the present application in conjunction with the drawings of the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0061] In the following description, many specific details are set forth to facilitate a full understanding of the present application, but the present application may also be implemented in other ways different from those described herein, and those skilled in the art may make similar generalizations without violating the connotation of the present application. Therefore, the present application is not limited to the specific embodiments disclosed below.
[0062] At present, robots are being used more and more widely, and the motion control of robots is also receiving more and more attention. When controlling robots, in order to improve the accuracy of motion control, it is necessary to optimize the robot's motion control parameters. In the field of robot motion control testing, especially the optimization of motion control strategies for humanoid robots, it currently mainly relies on a large number of actual motion tests.
[0063] In an application scenario, a parameter optimization method includes the following steps: Preset control parameters: According to experience or preliminary design, set the initial motion control parameters for the humanoid robot, such as motor torque, joint angle, etc. Actual motion test: Control the robot to perform actual motion according to the preset parameters, and record various parameters during the motion process through sensors, such as position, speed, acceleration, energy consumption, etc. Data analysis and adjustment: Analyze the test data, evaluate the robot's motion performance, and adjust the control parameters based on the evaluation results. Repeat the test: Repeat the above steps, and through multiple actual motion tests, gradually optimize the control parameters to achieve better control effects.
[0064] The above method has the disadvantages of large test workload, low test efficiency, large resource consumption, slow optimization speed, etc. Specifically, the above method relies on a large number of actual motion control tests, so the test workload is large. And each test requires the robot to perform actual movement, the test cycle is long, and affected by factors such as environment and equipment, the stability and repeatability of the test results are poor. When performing actual motion testing, a large amount of space needs to be occupied, a large amount of energy is consumed, and the test cost is increased. At the same time, because each test requires the robot to perform actual movement, the motion control strategy optimization speed is slow, which is not conducive to improving the efficiency of parameter optimization.
[0065] In order to solve at least one of the above-mentioned multiple technical problems, in the scheme of the present application, the motion control parameters to be optimized are obtained, an actual motion control test is performed on the robot according to the above-mentioned motion control parameters to be optimized, and a virtual test function threshold is determined based on a preset objective function and the result of the above-mentioned actual motion control test; at least one virtual motion control test is performed on the above-mentioned robot according to the above-mentioned motion control parameters to be optimized to iteratively update the above-mentioned motion control parameters to be optimized until the virtual test function value determined according to the result of the above-mentioned virtual motion control test and the above-mentioned objective function is not greater than the above-mentioned virtual test function threshold; an actual motion control test is performed on the above-mentioned robot according to the above-mentioned motion control parameters to be optimized, and the above-mentioned objective function is updated according to the result of the above-mentioned actual motion control test; and the step of performing at least one virtual motion control test on the above-mentioned robot according to the above-mentioned motion control parameters to be optimized is returned to execute until the preset parameter optimization termination condition is met, and the optimized target motion control parameters are obtained, wherein the above-mentioned parameter optimization termination condition includes that the number of times the actual motion control test is performed reaches a preset maximum number of actual tests.
[0066] Compared with the prior art, in the scheme corresponding to the robot motion control parameter optimization method provided by the present application, when performing parameter optimization, it does not rely solely on the actual motion control test, but combines the virtual motion control test and the actual motion control test to perform parameter optimization. In this way, the introduction of the virtual motion control test to achieve the optimization of the motion control parameters to be optimized can reduce the dependence on the actual motion control test, thereby helping to reduce the test workload, reduce resource consumption, and help improve the efficiency of parameter optimization.
[0067] like Figure 1 As shown, the embodiment of the present application provides a method for optimizing robot motion control parameters. Specifically, the method comprises the following steps:
[0068] Step S100, obtaining motion control parameters to be optimized, performing an actual motion control test on the robot according to the motion control parameters to be optimized, and determining a virtual test function threshold based on a preset objective function and the result of the actual motion control test.
[0069] Among them, the above-mentioned motion control parameters to be optimized are motion control parameters that need to be optimized. In an application scenario, preset initial motion control parameters are obtained or initial motion control parameters are input by the user, and the above-mentioned initial motion control parameters are used as the above-mentioned motion control parameters to be optimized.
[0070] In the embodiment of the present application, the motion control parameter is a parameter used to control the robot to move. It should be noted that the embodiment of the present application is specifically described by taking the motion control of a humanoid robot as an example, but it is not a specific limitation.
[0071] In the embodiment of the present application, the initial actual test of the robot and the acquisition of control parameters are first performed. Specifically, the humanoid robot starts from the initial state and moves according to the preset initial motion control parameters (such as motor torque, joint angle, etc.), which is recorded as the first test (for example, commanding the humanoid robot to move from position a to position b, or commanding the key center of gravity of the humanoid robot's legs to move from position c to position d). During the movement, the robot's position, speed, acceleration, energy consumption and other key parameters are recorded through sensors and other equipment.
[0072] Specifically, the above-mentioned obtaining of the motion control parameters to be optimized, performing an actual motion control test on the robot according to the above-mentioned motion control parameters to be optimized, and determining the virtual test function threshold based on a preset objective function and the result of the above-mentioned actual motion control test include:
[0073] Acquire motion control parameters to be optimized, wherein the motion control parameters to be optimized include at least one of motor torque, PID controller gain and joint angle;
[0074] Perform an actual motion control test on the robot according to the above motion control parameters to be optimized;
[0075] Determine a first actual test function value based on the objective function and the result of the actual motion control test;
[0076] Determine a function final target threshold value according to the first actual test function value, wherein the function final target threshold value is less than the first actual test function value;
[0077] A virtual test function threshold is determined according to the first actual test function value and the final target threshold of the function, wherein the virtual test function threshold is not greater than the first actual test function value and not less than the final target threshold of the function.
[0078] It should be noted that, in the embodiment of the present application, the motion control parameters to be optimized are represented and processed in a sequence. The above objective function is a pre-constructed function for evaluating the control level (e.g., control accuracy, robot state after control) of the motion control parameters to be optimized. The specific form of the above objective function can be set and adjusted according to actual needs, or the required objective function can be constructed in real time according to the actual motion control parameters to be optimized, which is not specifically limited here.
[0079] In the embodiment of the present application, the above objective function includes a plurality of preset calculation items of weighted summation;
[0080] The above-mentioned preset calculation items include position error item, speed error item, energy consumption item, state entropy item and control strategy entropy item;
[0081] The position error term is used to characterize the difference between the actual position and the expected position of the robot;
[0082] The speed error term is used to characterize the difference between the actual speed and the expected speed of the robot;
[0083] The energy consumption item is used to characterize the energy consumed by the robot to perform the movement;
[0084] The above-mentioned state entropy term is used to characterize the state disorder degree of the above-mentioned robot;
[0085] The control strategy entropy term is used to characterize the diversity of the control strategies of the robot.
[0086] In one application scenario, an objective function is constructed according to the actual test parameters. The objective function is shown in the following formula (1):
[0087]
[0088] And there is Wherein, J represents the function value calculated based on the objective function. u represents the control parameter sequence, for example, it can be the motion control parameter to be optimized, which can specifically include the control parameter sequence such as motor torque, PID controller gain, joint angle, etc. T represents the total time step of the test, and t represents the tth time step.
[0089] The weight coefficient representing the position error has been preset with the corresponding initial value, which can be set and adjusted according to actual needs. Its value depends on the importance of the position error to the control target. There is a minimum value limit, which can be set and adjusted according to actual needs. Represents the position error corresponding to the tth time step.
[0090] The weight coefficient representing the speed error has been preset with the corresponding initial value, which can be set and adjusted according to actual needs. Its value depends on the importance of the speed error to the control target. There is a minimum value limit, which can be set and adjusted according to actual needs. Represents the velocity error corresponding to the tth time step, which is used to emphasize the smoothness of motion.
[0091] w c The weight coefficient representing energy consumption has been preset with the corresponding initial value, which can be set and adjusted according to actual needs. Its value depends on the importance of energy consumption to the control target. There is a minimum value limit, which can be set and adjusted according to actual needs. t Represents the energy consumption corresponding to the tth time step.
[0092] The weight coefficient representing the state entropy has been preset with the corresponding initial value, which can be set and adjusted according to actual needs. Its value depends on the importance of the state entropy to the control target. There is a minimum value limit, which can be set and adjusted according to actual needs. Represents the state entropy corresponding to the tth time step, which is used to reflect the degree of confusion of the robot state.
[0093] The weight coefficient representing the entropy of the control strategy has been preset with a corresponding initial value, which can be set and adjusted according to actual needs. Its value depends on the importance of the entropy of the control strategy to the control target. There is a minimum value limit, which can be set and adjusted according to actual needs. Represents the control strategy entropy corresponding to the tth time step, which is used to reflect the diversity or uncertainty of the control strategy.
[0094] The above objective function is used to evaluate the performance of the motion control strategy (i.e., motion control parameters). The objective function includes multiple calculation items, including position error items, speed error items, energy consumption items, state entropy items, and control strategy entropy items. Other calculation items can also be set according to actual needs, which are not specifically limited here. The indicators in each calculation item correspond to corresponding weight coefficients. According to the measured control input parameter sequence, the position error, speed error, energy consumption, state entropy, and control strategy entropy can be calculated at this time to obtain the objective function value. Specifically, according to the results of the first actual motion control test, the corresponding objective function value is calculated based on the above objective function as the first actual test function value k1.
[0095] Furthermore, the function final target threshold k is set according to the first actual test function value k1. last , the final target threshold k of the function lastThe specific setting method can be set and adjusted according to actual needs. Generally, there are 0 <k last <k1。
[0096] In the embodiment of the present application, the meaning of each calculation item of the above objective function and its calculation method are also specifically described. Specifically, Represents an item in the objective function consisting of the position error term and its weight coefficient, which is used to characterize the weighted sum of the absolute values of the position error at time point t. It measures the difference between the actual position of the robot (or the center of gravity position of a part of the robot, such as the center of gravity position of the robot's legs) and the expected position.
[0097] Represents an item in the objective function consisting of the speed error term and its weight coefficient, which is used to characterize the weighted absolute value sum of the speed error at time point t. It measures the difference between the actual speed of the robot (or the center of gravity speed of a part of the robot, such as the center of gravity speed of the robot's legs) and the expected speed.
[0098] w c c t Represents an item in the objective function composed of energy consumption items and their weight coefficients, which is used to characterize the energy consumed by the robot to perform motion at time point t. The specific calculation formula depends on the energy consumption model and kinematic model of the robot. One calculation method for the above energy consumption item is shown in the following formula (2):
[0099]
[0100] Among them, c t represents the energy consumption of the robot or a part of the robot from the initial position to the time point t, and n represents the total number of motors corresponding to the robot or the part of the robot. i (t) represents the power of the i-th motor at time point t, which is generally calculated by the formula of motor torque and angular velocity, such as P = τω for a DC motor, where τ represents the torque and ω represents the angular velocity of the motor. Δt represents the time interval from the position of the robot or a part of the robot from the initial time to the time point t.
[0101] Represents an item in the objective function composed of the state entropy term and its weight coefficient, which is used to characterize the uncertainty or confusion of the robot's state at time point t. It is usually calculated using the entropy formula of probability distribution, as shown in the following formula (3):
[0102]
[0103] in, Represents the state entropy of the robot at time point t. In the motion control of humanoid robots, the state of the robot is defined as a series of variables related to the robot's motion. These variables can include robot joint angles, joint speeds, joint or limb positions and postures, external forces or torques acting on the robot, etc.; the state space of the robot can generally be defined as a combination of a series of discrete joint angles, joint speeds, positions and postures. The probability of the robot being in these states at each time point is estimated through sensor data or kinematic models, and the state entropy is calculated using the entropy calculation formula based on each probability distribution. The higher the state entropy, the more unstable the robot's motion state is or the greater the uncertainty is.
[0104] B i (t) represents the probability that the robot is in the i-th state at time point t, which is generally estimated by using a Bayesian network or a Markov Chain Monte Carlo method (MCMC), and m represents the number of possible states of the robot.
[0105] represents an item in the objective function composed of the control strategy entropy term and its weight coefficient, which is used to characterize the uncertainty or diversity of the control strategy. The probabilistic control strategy can be calculated using a similar entropy formula for probability distribution, as shown in the following formula (4):
[0106]
[0107] in, Represents the control strategy entropy of the robot at time point t. In the motion control of embodied intelligent humanoid robots, the control strategy entropy includes but is not limited to the robot's joint angles and speeds, the ground conditions, obstacle locations, lighting conditions, tasks that the robot needs to complete, such as walking, running, jumping, and grabbing objects, and the robot's battery power, temperature, motor status, and other internal parameters that may affect the robot's performance and stability. The control strategy entropy measures the uncertainty of the robot when it faces multiple possible control strategies at time t. For example, when facing an obstacle, the embodied intelligent robot can choose to bypass, jump, or stop. The higher the control strategy entropy, the more complex the decision-making faced by the robot in the current state, which means that the embodied intelligent robot needs to adjust its strategy more flexibly to deal with uncertainty. Therefore, it is necessary to minimize the control strategy entropy to encourage the robot to choose a more certain and efficient control strategy during motion control testing.
[0108] To calculate the control strategy entropy, we first need to identify all possible control strategies or actions that the robot may take. These strategies or actions constitute the robot's control strategy space. For each possible control strategy or action, we need to calculate its probability of appearing in the current state and use the entropy formula to calculate it.
[0109] q j (t) The probability that the robot chooses the jth control action at time t can be estimated using Bayesian networks or Markov chain Monte Carlo methods. h represents the number of possible control actions for the robot.
[0110] In one application scenario, the determining of the first actual test function value based on the objective function and the result of the actual motion control test includes:
[0111] Collecting actual state parameters of the robot during actual motion control testing;
[0112] Obtaining the desired state parameters corresponding to the motion control parameters to be optimized;
[0113] According to the above-mentioned actual state parameters and the above-mentioned expected state parameters, the above-mentioned first actual test function value is obtained by calculating the above-mentioned objective function.
[0114] In this way, the actual state parameters of the robot during actual motion control are collected, so as to obtain the first actual test function value according to the above objective function calculation. The specific actual state parameters to be collected are determined according to the specific form of the above objective function, which is not specifically limited here.
[0115] Step S200, performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized, so as to iteratively update the motion control parameters to be optimized, until the virtual test function value determined according to the result of the virtual motion control test and the objective function is not greater than the virtual test function threshold.
[0116] It should be noted that in the embodiment of the present application, parameter optimization is performed in combination with virtual motion control testing. Before performing virtual test iterations, the stage threshold of the objective function value of the last actual test is determined according to a preset rule and used as the virtual test function threshold k 1(1) , and there is k last ≤k 1(1) ≤k1. Virtual test function threshold k 1(1) The generation method can be set and adjusted according to actual needs. For example, it can be set to k 1(1) =αk1, 0<α<1, and k last ≤k 1(1) .
[0117] Specifically, the above-mentioned virtual motion control test is performed on the above-mentioned robot at least once according to the above-mentioned motion control parameters to be optimized, so as to iteratively update the above-mentioned motion control parameters to be optimized, until the virtual test function value determined according to the result of the above-mentioned virtual motion control test and the above-mentioned objective function is not greater than the above-mentioned virtual test function threshold, including:
[0118] Obtaining virtual control parameter generation rules;
[0119] Generate virtual test control parameters according to the virtual control parameter generation rule and the motion control parameters to be optimized;
[0120] Perform a virtual motion control test according to the virtual test control parameters, and determine a virtual test function value based on the objective function and the result of the virtual motion control test;
[0121] The above-mentioned motion control parameters to be optimized are updated according to the above-mentioned virtual test control parameters, and the step of generating virtual test control parameters according to the above-mentioned virtual control parameter generation rules and the above-mentioned motion control parameters to be optimized is returned to execute until the above-mentioned virtual test function value is not greater than the above-mentioned virtual test function threshold.
[0122] Furthermore, the above method also includes:
[0123] When executing the above-mentioned virtual motion control test each time, if the virtual test function value corresponding to the virtual motion control test is not less than the above-mentioned first actual test function value, the above-mentioned virtual control parameter generation rule is updated, and new virtual test control parameters are generated according to the updated virtual control parameter generation rule, and the virtual motion control test is re-executed based on the above-mentioned new virtual test control parameters until the virtual test function value corresponding to the virtual motion control test is less than the above-mentioned first actual test function value.
[0124] The virtual control parameter generation rule is used to adjust the motion control parameters to be optimized to generate virtual test control parameters required for virtual motion control testing. The virtual control parameter generation rule can be preset, or selected from a preset virtual control parameter generation rule library, or input or adjusted by the user in real time, which is not specifically limited here.
[0125] In an embodiment of the present application, for the previous actual test parameters (i.e., the motion control parameters to be optimized, such as motor torque, controller PID gain, joint angle, etc.), within the allowable range of each parameter setting (for example, the setting range of the motor torque allowed by the current posture of the robot's legs, or the range of values allowed by the controller PID gain, or the angle setting range allowed by the joints), virtual test control parameters are generated according to rules.
[0126] In an application scenario, the virtual control parameter generation rule includes: in each virtual motion control test iteration, calculate the virtual test control parameter value through the rule. For example, for a certain robot, the parameter to be optimized is θ. On the premise that θ1 satisfies the value range corresponding to this parameter, let θ1 = βθ, where 0 < β < 1. Here, θ1 is the virtual test control parameter generated based on the parameter θ to be optimized, and the value of β can be determined according to the actual rule.
[0127] It should be noted that in the first virtual motion control test, the value of the motion control parameter to be optimized can be adjusted to obtain the virtual test control parameter, or the motion control parameter to be optimized can be directly used as the virtual test control parameter for the current iteration, and no specific limitation is made here.
[0128] Calculate the virtual test function value k of the first iteration using the generated virtual test control parameter 1(v1) , that is, using the virtual generated control parameter sequence (virtual test control parameter sequence), through models such as the robot dynamics model, calculate the corresponding position error, velocity error, energy consumption, state entropy, and control strategy entropy, so as to determine the corresponding virtual test function value k 1(v1) . There should be k 1(v1) < k1, where k1 is the objective function value determined according to the previous actual motion control test, that is, the first actual test function value k1.
[0129] If k 1(v1) ≥ k1 at this time, then replace the corresponding virtual control parameter generation rule until k 1(v1) < k1. For example, the original virtual control parameter generation rule θ1 = βθ can be updated to θ1 = (1 + β)θ, where 0 < β < 1.
[0130] If the virtual test function value k 1(v1) is greater than the virtual test function threshold k determined based on the previous actual motion control test 1(1) , that is, k 1(v1) > k 1(1) , conduct the second virtual iteration and ensure that the virtual test function value k of the first virtual iteration 1(v1) is greater than the virtual test function value k of the second iteration 1(v2) , that is, k 1(v2) < k 1(v1) .
[0131] And so on, the virtual parameter iteration based on the virtual motion control test will continue until the virtual test function value k of the nth virtual iteration obtained by calculation 1(vn) is not greater than the above virtual test function threshold k 1(1) , that is, k 1(vn) ≤ k 1(1)The virtual test iteration is terminated at this time, and the parameter sequence obtained when the virtual iteration is completed (that is, the motion control parameters to be optimized after being updated based on the virtual motion control test) is used as the control parameter sequence for the next actual test.
[0132] Step S300: performing an actual motion control test on the robot according to the motion control parameters to be optimized, and updating the objective function according to the result of the actual motion control test.
[0133] Specifically, performing an actual motion control test on the robot according to the motion control parameters to be optimized, and updating the objective function according to the result of the actual motion control test, include:
[0134] Controlling the robot to return to the initial position;
[0135] Perform an actual motion control test on the robot according to the motion control parameters to be optimized;
[0136] Determine a second actual test function value based on the objective function and the result of the actual motion control test;
[0137] If the second actual test function value is not greater than the final target threshold of the function, the motion control parameter to be optimized is used as the target motion control parameter after optimization, and the motion control parameter optimization process ends;
[0138] If the second actual test function value is greater than the final target threshold of the function, the weight values corresponding to the preset calculation items in the target function are updated according to the second actual test function value.
[0139] Specifically, the robot is returned to its initial position, and the next actual motion control test is carried out according to the motion control parameters to be optimized obtained after the virtual test is completed. The key data such as the position, speed, acceleration, energy consumption, etc. of the robot in this test are recorded through sensors and other equipment. The objective function value of this actual motion control test, that is, the second actual test function value k2, is calculated based on the actually measured data.
[0140] If k2≤k last , then the actual test iteration ends, and the motion control parameters to be optimized at this time are used as the target motion control parameters for the final optimization.
[0141] Otherwise, if k2>k last ,By comparing the actual objective function values of the previous test with those of this actual test, we try to reset the weight coefficient values corresponding to the position error, speed error, energy consumption, state entropy and control strategy entropy in the next virtual test.
[0142] According to the objective function after updating the weight coefficient value, the actual test objective function value is recalculated as k 2,chg , and reset the function's final target threshold to k last,chg It should be noted that k 2,chg k is calculated based on the updated objective function using the same data used to calculate k2. last,chg To calculate k using last The same data at that time is calculated based on the updated objective function.
[0143] If k 2,chg ≤k last,chg , that is, the objective function value after resetting the objective function weight is not greater than the function's final target threshold, indicating that the objective function weight reset fails. At this time, the objective function weight and the function's final target threshold before resetting are restored, and the next virtual motion control test is returned for virtual test iteration.
[0144] If k 2,chg >k last,chg , indicating that the objective function weight is reset successfully, at this time, the objective function weight after reset and the function final target threshold are used, that is, the updated weight coefficient is retained, and k is set last =k last,chg , return to the next virtual motion control test for virtual test iteration.
[0145] Step S400, returns to the step of performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized, until the preset parameter optimization termination condition is met, and the optimized target motion control parameters are obtained, wherein the parameter optimization termination condition includes the number of actual motion control tests performed reaching a preset maximum number of actual tests.
[0146] Among them, the above parameter optimization termination condition can be set and adjusted according to actual needs, and the above preset maximum actual test number can also be set and adjusted according to actual needs, which is not specifically limited here. In the embodiment of the present application, the above parameter optimization termination condition also includes that the above second actual test function value is not greater than the final target threshold of the above function.
[0147] It should be noted that when updating the weight coefficients in the objective function, the update can be performed according to a preset update rule, and the corresponding update rule can be set and adjusted according to actual needs, which is not specifically limited here.
[0148] The present application also provides a specific method for updating the weight values of each item in the objective function. Specifically, the weight values of each item in the objective function are evaluated in two tests. w c c t , The contribution of each change value to the change in the objective function value is determined by adjusting the value of each weight coefficient according to the size of each contribution. A reset scheme is shown below.
[0149] Suppose that in two actual tests and The percentages of each change value to the change value of the objective function value of the two actual tests (Δk=k1-k2) are δ1, δ2, δ3, δ4 and δ5 respectively. The weights of each item after adjustment are set as follows:
[0150] After normalization, the new weight coefficient values shown in the following formulas (5) to (9) are obtained:
[0151]
[0152] At this time, the updated objective function is shown in the following formula (10):
[0153]
[0154] Among them, there are That is, the sum of the weight coefficients is 1.
[0155] According to the objective function after updating the weight coefficient value, the actual test objective function value is recalculated as k 2,chg , and reset the function's final target threshold to k last,chg Since the weights of the objective function change, the final target threshold of the reset function
[0156] If k 2,chg ≤k last,chg , then the weights and the final target threshold of the objective function before resetting are restored, and the next virtual motion control test is returned for virtual test iteration.
[0157] If k 2,chg >k last,chg , then use the weight after the objective function is reset and the final target threshold of the function, that is, keep the updated weight coefficient, and let k last =k last,chg , return to the next virtual motion control test for virtual test iteration.
[0158] As can be seen from the above, in the robot motion control parameter optimization method provided in the embodiment of the present application, the motion control parameters to be optimized are obtained, an actual motion control test is performed on the robot according to the above motion control parameters to be optimized, and a virtual test function threshold is determined based on a preset objective function and the result of the above actual motion control test; at least one virtual motion control test is performed on the above motion control parameters to be optimized to iteratively update the above motion control parameters to be optimized until the virtual test function value determined according to the result of the above virtual motion control test and the above objective function is not greater than the above virtual test function threshold; an actual motion control test is performed on the above robot according to the above motion control parameters to be optimized, and the above objective function is updated according to the result of the above actual motion control test; return to execute the above step of performing at least one virtual motion control test on the above robot according to the above motion control parameters to be optimized until the preset parameter optimization termination condition is met, and the optimized target motion control parameters are obtained, wherein the above parameter optimization termination condition includes the number of times the actual motion control test is performed reaching a preset maximum number of actual tests.
[0159] Compared with the prior art, in the scheme corresponding to the robot motion control parameter optimization method provided in the embodiment of the present application, when performing parameter optimization, it does not only rely on the actual motion control test, but combines the virtual motion control test and the actual motion control test to perform parameter optimization. In this way, the introduction of the virtual motion control test to achieve the optimization of the motion control parameters to be optimized can reduce the dependence on the actual motion control test, thereby helping to reduce the test workload, reduce resource consumption, and help improve the efficiency of parameter optimization.
[0160] In the embodiments of the present application, the above-mentioned robot motion control parameter optimization method is also described in detail based on a specific application scenario. Figure 2 Schematic diagram of a specific process of optimizing a robot motion control parameter provided by an embodiment of the present application. Figure 2 As shown, in the embodiment of the present application, step S1 is first executed, that is, an initial actual test is performed. Step S1 includes sub-step S11, specifically, the first actual test is performed using a preset control parameter sequence (that is, the initial motion control parameters to be optimized), and robot motion related data is collected.
[0161] Further, step S2 is executed, that is, the objective function is constructed. Specifically, it includes: sub-step S21, defining the input parameter sequence, time step and each weight coefficient; sub-step S22, calculating the position error, speed error, energy consumption, state entropy and control strategy entropy; sub-step S23, setting the objective function threshold k last(ie, the final target threshold of the function), and the target function value k1 (ie, the first actual test function value) is calculated based on the measured data. It should be noted that the above target function can be constructed in real time or in advance, which is not specifically limited here.
[0162] Further, step S3 is executed, that is, virtual test iteration is performed. Specifically, sub-step S31 is used to generate virtual test parameters (i.e., virtual test control parameters), and to specify the virtual test stage threshold k 1(1) (ie, the virtual test function threshold); Sub-step S32, calculating the virtual objective function value (ie, the virtual test function value during the virtual test) k 1(v1) , k 1(v2) , ...k 1(vn) , and ensure that it decreases with iteration; Sub-step S33, repeat the virtual iteration test until k 1(vn) ≤k 1(1) .
[0163] Further, execute step S4, that is, perform actual test iteration. Specifically, it includes: sub-step S41, control the robot to perform actual movement according to the parameters determined by the virtual iterative test iteration; sub-step S42, record key data and calculate the target function value k2 (i.e., the second actual test function value) of the actual test at this time; sub-step S43, if k2≤k last , then the actual test iteration ends, and the motion control parameters to be optimized at this time are used as the target motion control parameters for the final optimization; Sub-step S44, if k2>k last , reset the weight coefficients in the objective function, and recalculate the actual test objective function value k according to the objective function after updating the weight coefficient value 2,chg , and make the following determination: S441, if k 2,chg ≤k last , the objective function weight reset fails, restore the weights of the objective function before reset, and execute step S5; S442, if k 2,chg >k last , indicating that the objective function weight is reset successfully, and step S5 is executed. It should be noted that the above determination process can also be performed by 2,chg and the updated target threshold k determined based on the reset objective function last,chg For comparison, no specific limitation is given here.
[0164] Specifically, step S5 is to continue iteration, that is, return to and re-perform steps S3-S4 until the maximum number of actual test iterations is reached.
[0165] Thus, the method provided by the embodiment of the present application can be applied to the field of robot motion control test, and the motion control parameters or strategies of the robot (especially humanoid robot) are optimized by combining virtual and real test data to achieve better control effect. Specifically, the robot motion control test is carried out by using a virtual and real test method, and between every two actual motion control tests of the robot, the control strategy / parameters are iteratively optimized by using a virtual motion control test method, and the error of the robot reaching the target posture, the error of the robot reaching the target speed, the energy consumption of reaching the target posture, the state entropy of the reaching target posture, and the weight of the control strategy entropy of the reaching target posture in the virtual motion control strategy objective function can be dynamically adjusted, so as to adjust the control strategy / parameters of each robot motion control, so as to realize the iterative optimization of the actual motion control test of the robot, so that the final robot can achieve a better motion control effect. This method can reduce the workload of the actual motion control test of the robot, improve the test efficiency, and then improve the parameter optimization efficiency.
[0166] Specifically, a combined virtual and real testing method is provided in an embodiment of the present application, which combines the actual motion test and virtual motion test of the robot, performs iterative optimization through virtual testing, reduces the dependence on the actual motion test, thereby reducing the testing workload and improving the testing efficiency. Specifically, virtual motion test iterations are inserted between actual motion tests to reduce the dependence on actual motion tests.
[0167] In an embodiment of the present application, dynamic adjustment of the objective function weight is also implemented. According to the evaluation results of the previous motion control test, the weight coefficients of the position error, speed error, energy consumption, state entropy and control strategy entropy in the objective function are dynamically adjusted to make the objective function more in line with the current control goal, thereby more effectively guiding the iterative optimization process of virtual testing and actual testing.
[0168] Furthermore, an embodiment of the present application also provides a method for generating virtual test control parameters, and proposes a method for generating virtual test control parameters based on rules, so as to ensure that the virtual test control parameters are within a reasonable range and can gradually approach the optimal control parameters.
[0169] At the same time, in the embodiment of the present application, the constructed objective function comprehensively considers multiple factors such as position error, speed error, energy consumption, state entropy and control strategy entropy, which can more comprehensively evaluate the performance of the motion control strategy. In addition, a solution is proposed to reset the objective function weight based on the analysis of the change in the actual objective function value between the previous and current actual tests, so that the objective function is more in line with the current control goal, thereby improving the optimization efficiency.
[0170] like Figure 3As shown in , corresponding to the above-mentioned robot motion control parameter optimization method, the embodiment of the present application also provides a robot motion control parameter optimization system, and the above-mentioned robot motion control parameter optimization system includes:
[0171] A first actual test module 310 is used to obtain motion control parameters to be optimized, perform an actual motion control test on the robot according to the motion control parameters to be optimized, and determine a virtual test function threshold based on a preset objective function and a result of the actual motion control test;
[0172] A virtual test module 320, configured to perform at least one virtual motion control test on the robot according to the motion control parameters to be optimized, so as to iteratively update the motion control parameters to be optimized, until a virtual test function value determined according to the result of the virtual motion control test and the objective function is not greater than the virtual test function threshold;
[0173] A second actual test module 330 is used to perform an actual motion control test on the robot according to the motion control parameters to be optimized, and update the objective function according to the result of the actual motion control test;
[0174] The iterative control module 340 is used to return to the step of performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized, until the preset parameter optimization termination condition is met, and the optimized target motion control parameters are obtained, wherein the parameter optimization termination condition includes the number of actual motion control tests performed reaching a preset maximum number of actual tests.
[0175] Thus, in the scheme corresponding to the robot motion control parameter optimization method provided in the embodiment of the present application, when performing parameter optimization, it does not rely solely on the actual motion control test, but combines the virtual motion control test and the actual motion control test to perform parameter optimization. Thus, introducing the virtual motion control test to achieve the optimization of the motion control parameters to be optimized can reduce the dependence on the actual motion control test, thereby helping to reduce the test workload, reduce resource consumption, and help improve the efficiency of parameter optimization.
[0176] It should be noted that the specific structure and implementation of the above-mentioned robot motion control parameter optimization system and its various modules or units can refer to the corresponding description in the above-mentioned method embodiment, and will not be repeated here.
[0177] It should be noted that the division method of each module of the above robot motion control parameter optimization system is not unique and is not specifically limited here.
[0178] Based on the above embodiments, the present application also provides a smart terminal, whose principle block diagram can be as follows: Figure 4As shown. The above-mentioned intelligent terminal includes a processor, a memory, a network interface and a display screen connected through a system bus. Among them, the processor of the intelligent terminal is used to provide computing and control capabilities. The memory of the intelligent terminal includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a robot motion control parameter optimization program. The internal memory provides an environment for the operation of the operating system and the robot motion control parameter optimization program in the non-volatile storage medium. The network interface of the intelligent terminal is used to communicate with an external terminal through a network connection. When the robot motion control parameter optimization program is executed by the processor, the steps of any one of the above-mentioned robot motion control parameter optimization methods are implemented. The display screen of the intelligent terminal can be a liquid crystal display screen or an electronic ink display screen.
[0179] Those skilled in the art will understand that Figure 4 The principle block diagram shown in the figure is only a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the smart terminal to which the solution of the present application is applied. The specific smart terminal may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0180] In one embodiment, a smart terminal is provided, which includes a memory, a processor, and a robot motion control parameter optimization program stored in the memory and executable on the processor. When the robot motion control parameter optimization program is executed by the processor, the steps of any one of the robot motion control parameter optimization methods provided in the embodiments of the present application are implemented.
[0181] An embodiment of the present application also provides a computer-readable storage medium, on which a robot motion control parameter optimization program is stored. When the robot motion control parameter optimization program is executed by a processor, the steps of any one of the robot motion control parameter optimization methods provided in the embodiment of the present application are implemented.
[0182] It should be understood that the serial numbers of the steps in the above embodiments do not imply a sequence of execution. The execution sequence of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0183] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the above-mentioned device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned device can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.
[0184] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0185] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0186] In the embodiments provided in the present application, it should be understood that the disclosed system / terminal device and method can be implemented in other ways. For example, the system / terminal device embodiments described above are only schematic, for example, the division of the above modules or units is only a logical function division, and in actual implementation, other division methods can be used, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
[0187] If the above-mentioned integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The above-mentioned computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the above-mentioned computer program includes computer program code, and the above-mentioned computer program code can be in source code form, object code form, executable file or some intermediate form. The above-mentioned computer-readable medium may include: any entity or device capable of carrying the above-mentioned computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, electric signal and software distribution medium. It should be noted that the content contained in the above-mentioned computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction.
[0188] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A robot motion control parameter optimization method, characterized in that: The method comprises: Acquire motion control parameters to be optimized, perform an actual motion control test on the robot according to the motion control parameters to be optimized, and determine a virtual test function threshold based on a preset objective function and a result of the actual motion control test; Performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized, so as to iteratively update the motion control parameters to be optimized, until a virtual test function value determined according to the result of the virtual motion control test and the objective function is not greater than the virtual test function threshold; Performing an actual motion control test on the robot according to the motion control parameters to be optimized, and updating the objective function according to the result of the actual motion control test; Return to the step of performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized, until the preset parameter optimization termination condition is met, and the optimized target motion control parameters are obtained, wherein the parameter optimization termination condition includes the number of actual motion control tests performed reaching a preset maximum number of actual tests.
2. The robot motion control parameter optimization method according to claim 1, characterized in that: The step of obtaining the motion control parameters to be optimized, performing an actual motion control test on the robot according to the motion control parameters to be optimized, and determining a virtual test function threshold based on a preset objective function and a result of the actual motion control test includes: Acquiring a motion control parameter to be optimized, wherein the motion control parameter to be optimized includes at least one of a motor torque, a PID controller gain, and a joint angle; Performing an actual motion control test on the robot according to the motion control parameters to be optimized; determining a first actual test function value based on the objective function and a result of the actual motion control test; Determine a function final target threshold value according to the first actual test function value, wherein the function final target threshold value is less than the first actual test function value; A virtual test function threshold is determined according to the first actual test function value and the function final target threshold, wherein the virtual test function threshold is not greater than the first actual test function value and not less than the function final target threshold.
3. The robot motion control parameter optimization method according to claim 2, characterized in that: The determining of a first actual test function value based on the objective function and the result of the actual motion control test comprises: Collecting actual state parameters of the robot during actual motion control testing; Obtaining the desired state parameters corresponding to the motion control parameters to be optimized; The first actual test function value is obtained by calculating the objective function according to the actual state parameter and the expected state parameter.
4. The robot motion control parameter optimization method according to claim 2, characterized in that: The step of performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized to iteratively update the motion control parameters to be optimized, until a virtual test function value determined according to a result of the virtual motion control test and the objective function is not greater than the virtual test function threshold, comprises: Obtaining virtual control parameter generation rules; Generate virtual test control parameters according to the virtual control parameter generation rule and the motion control parameters to be optimized; Perform a virtual motion control test according to the virtual test control parameters, and determine a virtual test function value based on the objective function and a result of the virtual motion control test; The motion control parameters to be optimized are updated according to the virtual test control parameters, and the step of generating virtual test control parameters according to the virtual control parameter generation rule and the motion control parameters to be optimized is returned to execute until the virtual test function value is not greater than the virtual test function threshold.
5. The robot motion control parameter optimization method according to claim 4, characterized in that: The method further comprises: When executing the virtual motion control test each time, if the virtual test function value corresponding to the virtual motion control test is not less than the first actual test function value, the virtual control parameter generation rule is updated, and new virtual test control parameters are generated according to the updated virtual control parameter generation rule. The virtual motion control test is re-executed based on the new virtual test control parameters until the virtual test function value corresponding to the virtual motion control test is less than the first actual test function value.
6. The robot motion control parameter optimization method according to claim 2, characterized in that: The objective function includes a plurality of preset calculation items of weighted summation; The preset calculation items include a position error item, a speed error item, an energy consumption item, a state entropy item, and a control strategy entropy item; The position error term is used to characterize the difference between the actual position and the expected position of the robot; The speed error term is used to characterize the difference between the actual speed and the expected speed of the robot; The energy consumption item is used to characterize the energy consumed by the robot in performing the movement; The state entropy term is used to characterize the state disorder degree of the robot; The control strategy entropy item is used to characterize the diversity of the control strategies of the robot.
7. The robot motion control parameter optimization method according to claim 6, characterized in that: The step of performing an actual motion control test on the robot according to the motion control parameters to be optimized, and updating the objective function according to the result of the actual motion control test, comprises: Controlling the robot to return to an initial position; Performing an actual motion control test on the robot according to the motion control parameters to be optimized; determining a second actual test function value based on the objective function and the result of the actual motion control test; If the second actual test function value is not greater than the final target threshold of the function, the motion control parameter to be optimized is used as the target motion control parameter after optimization, and the motion control parameter optimization process ends; If the second actual test function value is greater than the function final target threshold, the weight values corresponding to each preset calculation item in the target function are updated according to the second actual test function value.
8. A robot motion control parameter optimization system, characterized in that: The system comprises: A first actual test module is used to obtain motion control parameters to be optimized, perform an actual motion control test on the robot according to the motion control parameters to be optimized, and determine a virtual test function threshold based on a preset objective function and a result of the actual motion control test; A virtual test module, used for performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized, so as to iteratively update the motion control parameters to be optimized, until a virtual test function value determined according to the result of the virtual motion control test and the objective function is not greater than the virtual test function threshold; A second actual test module is used to perform an actual motion control test on the robot according to the motion control parameters to be optimized, and update the objective function according to the result of the actual motion control test; An iterative control module is used to return to the step of performing at least one virtual motion control test on the robot according to the motion control parameters to be optimized until a preset parameter optimization termination condition is met, thereby obtaining the optimized target motion control parameters, wherein the parameter optimization termination condition includes the number of actual motion control tests performed reaching a preset maximum number of actual tests.
9. An intelligent terminal, characterized in that: The intelligent terminal includes a memory, a processor, and a robot motion control parameter optimization program stored in the memory and executable on the processor. When the robot motion control parameter optimization program is executed by the processor, the steps of the robot motion control parameter optimization method as described in any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a robot motion control parameter optimization program, which, when executed by a processor, implements the steps of the robot motion control parameter optimization method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Deep learning training method based on combination of robot simulation and physical sampling
CN107622276A
Simulation optimization method and device, computer equipment and storage medium
CN117252017A
Virtual scene interactive rehabilitation training robot based on lower limb connecting rod model and force sense information and control method thereof
US20200315895A1
AU2021401816A1