Robot motion control method and device, computer device, medium and product

By using a prediction model and objective function based on the robot dynamics model, the problem of insufficient accuracy of traditional incremental PID control algorithms in robot motion control is solved, and higher motion control precision is achieved.

CN117162096BActive Publication Date: 2026-05-01CHINA GENERAL NUCLEAR POWER OPERATION
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA GENERAL NUCLEAR POWER OPERATION
Filing Date
2023-09-26
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Traditional incremental PID control algorithms suffer from low accuracy in robot motion control.

Method used

By employing a prediction model and objective function based on robot dynamics, the robot's predicted motion speed, predicted motion control variables, and desired motion information at the current moment are constructed to accurately predict and control the robot's motion speed and control variables at the next moment.

Benefits of technology

It improves the accuracy of robot motion control, enabling it to more accurately reflect the dynamic relationship between the robot's motion speed and motion control variables at each moment during the motion process, thus enhancing the precision of control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117162096B_ABST
    Figure CN117162096B_ABST
Patent Text Reader

Abstract

The application relates to a robot motion control method and device, computer equipment, medium and product. The method comprises the following steps: obtaining a predicted motion speed of the robot at a next moment according to a predicted motion speed of the robot at a current moment, a predicted motion control variable and a predicted model of the motion speed of the robot; the predicted model is constructed based on a dynamics model of the robot; constructing a target function according to predicted motion information of the robot at the current moment, expected motion information, the predicted motion speed and the predicted motion control variable; obtaining a predicted motion control variable of the robot at the next moment according to the predicted motion speed of the robot at the next moment and the target function. The method can improve the accuracy of robot motion control.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of industrial robot control technology, and in particular to a robot motion control method, device, computer equipment, storage medium and product. Background Technology

[0002] As a crucial piece of equipment in the power system, the operating status of oil-immersed transformers directly impacts the safe and reliable operation of nuclear power plants. When a fault occurs in an oil-immersed transformer, an underwater robot is needed for fault inspection, and the robot's motion control is key to this process.

[0003] Traditional technologies often employ incremental PID control algorithms for robot motion control. However, this method suffers from relatively low accuracy in robot motion control. Summary of the Invention

[0004] Therefore, it is necessary to provide a robot motion control method, device, computer equipment, medium, and product to address the aforementioned technical problems and improve the accuracy of robot motion control.

[0005] Firstly, this application provides a robot motion control method. The method includes:

[0006] Based on the robot's predicted motion speed at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed, the predicted motion speed of the robot at the next moment is obtained; the prediction model is constructed based on the robot's dynamic model.

[0007] Based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment, construct an objective function;

[0008] Based on the robot's predicted motion speed at the next moment and the objective function, the predicted motion control variables of the robot at the next moment are obtained.

[0009] In one embodiment, the method further includes:

[0010] Obtain the dynamic model of the robot;

[0011] The dynamic model of the robot is linearized and discretized to obtain a predictive model of the robot's motion speed.

[0012] In one embodiment, obtaining the predicted motion speed of the robot at the next moment based on the robot's predicted motion speed at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed includes:

[0013] The prediction model of the motion speed is incrementally processed to obtain the target prediction model of the motion speed;

[0014] The predicted motion speed and predicted motion control variables of the robot at the current moment are incrementally processed to obtain the increment of the predicted motion speed and the increment of the predicted motion control variables.

[0015] The increment of the predicted motion speed and the increment of the predicted motion control variable are input into the target prediction model of the motion speed for processing to obtain the increment of the predicted motion speed of the robot at the next moment.

[0016] The predicted motion speed of the robot at the next moment is obtained based on the increment of the robot's predicted motion speed at the current moment and the robot's predicted motion speed at the current moment.

[0017] In one embodiment, the step of inputting the increment of the predicted motion velocity and the increment of the predicted motion control variable into the target prediction model of the motion velocity for processing to obtain the increment of the predicted motion velocity of the robot at the next moment includes:

[0018] Obtain the prediction time domain and control time domain of the target prediction model for the motion speed;

[0019] Based on the target prediction model of the motion speed, the increment of the predicted motion speed and the increment of the predicted motion control variable are processed in the prediction time domain and control time domain to obtain the increment of the predicted motion speed and the increment of the predicted motion control variable corresponding to the prediction time domain, and the increment of the predicted motion speed and the increment of the predicted motion control variable corresponding to the control time domain.

[0020] The increments of the predicted motion speed and the predicted motion control variables corresponding to the prediction time domain, and the increments of the predicted motion speed and the predicted motion control variables corresponding to the control time domain, are input into the target prediction model of the motion speed for processing to obtain the increment of the robot's predicted motion speed at the next moment.

[0021] In one embodiment, if the predicted motion information includes predicted depth information and the desired motion information includes desired depth information, then the step of constructing the objective function based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment includes:

[0022] Obtain the robot's predicted depth information, expected depth information, first weight matrix, second weight matrix, and predicted motion control variables at the current moment;

[0023] The predicted motion control variables of the robot at the current moment are incremented to obtain the increment of the predicted motion control variables of the robot at the current moment.

[0024] Calculate the difference between the robot's predicted depth information and expected depth information at the current moment, and obtain a first function based on the difference and the first weight matrix;

[0025] Based on the robot's predicted motion control variables at the current moment and the second weight matrix, the second function is obtained;

[0026] The target function is obtained based on the first function and the second function.

[0027] In one embodiment, if the predicted motion information includes predicted posture information and the desired motion information includes desired posture information, then the step of constructing the objective function based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment includes:

[0028] Obtain the robot's predicted posture information, desired posture information, third weight matrix and fourth weight matrix at the current moment, and the robot's predicted motion control variables at the current moment;

[0029] The predicted motion control variables of the robot at the current moment are incremented to obtain the increment of the predicted motion control variables of the robot at the current moment.

[0030] Calculate the difference between the robot's predicted posture information and expected posture information at the current moment, and obtain the third function based on the difference and the third weight matrix;

[0031] Based on the robot's predicted motion control variables and the fourth weight matrix at the current moment, the fourth function is obtained;

[0032] The target function is obtained based on the third function and the fourth function.

[0033] In one embodiment, obtaining the predicted motion control variables of the robot at the next moment based on the robot's predicted motion velocity at the next moment and the objective function includes:

[0034] The predicted motion control variables of the robot at the next moment are incremented to obtain the increment of the predicted motion control variables of the robot at the next moment.

[0035] Obtain the threshold for the increment of the predicted motion control variables of the robot at the next moment;

[0036] Based on the threshold of the predicted motion control variable increment of the robot at the next moment and the quadratic programming algorithm, the predicted motion control variable increment of the robot at the next moment is obtained.

[0037] Based on the increment of the robot's predicted motion control variables at the next moment and the robot's predicted motion control variables at the current moment, the robot's predicted motion control variables at the next moment are obtained.

[0038] Secondly, this application also provides a robot motion control device. The device includes:

[0039] The prediction module is used to obtain the predicted motion speed of the robot at the next moment based on the predicted motion speed of the robot at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed; the prediction model is constructed based on the robot's dynamic model.

[0040] The objective function construction module is used to construct an objective function based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment.

[0041] The data acquisition module is used to obtain the predicted motion control variables of the robot at the next moment based on the robot's predicted motion speed at the next moment and the objective function.

[0042] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps of the method described in any of the first aspects above.

[0043] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the steps of the method described in any of the first aspects above.

[0044] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the steps of the method described in any of the first aspects above.

[0045] The aforementioned robot motion control methods, devices, computer equipment, media, and products, firstly, utilize a robot motion speed prediction model constructed from the robot's dynamic model. This model accurately reflects the dynamic relationship between the robot's motion speed and motion control variables at each moment during motion. Therefore, the predicted motion speed of the robot at the next moment, obtained from the robot's predicted motion speed, predicted motion control variables, and the robot's motion speed prediction model at the current moment, is also relatively accurate. Secondly, the objective function is constructed based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment. This function comprehensively considers the correlation between the predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables. Consequently, based on the relatively accurate predicted motion speed of the robot at the next moment and the objective function, a relatively accurate predicted motion control variable of the robot at the next moment can be obtained. Attached Figure Description

[0046] Figure 1 This is an application environment diagram of a robot motion control method in one embodiment;

[0047] Figure 2 This is a flowchart illustrating a robot motion control method in one embodiment;

[0048] Figure 3 This is a flowchart illustrating the process of obtaining a prediction model for the robot's motion speed in one embodiment.

[0049] Figure 4 This is a schematic diagram illustrating the process of obtaining the robot's predicted motion speed at the next moment in one embodiment;

[0050] Figure 5 This is a schematic diagram of the process for obtaining the increment of the robot's predicted motion speed at the next moment in one embodiment.

[0051] Figure 6 This is a flowchart illustrating the process of constructing an objective function in one embodiment, where the predicted motion information includes predicted depth information and the desired motion information includes desired depth information.

[0052] Figure 7 This is a flowchart illustrating the process of constructing an objective function in one embodiment, where the predicted motion information includes predicted pose information and the desired motion information includes desired pose information.

[0053] Figure 8This is a flowchart illustrating the process of obtaining the robot's predicted motion control variables at the next moment based on the robot's predicted motion speed and objective function in one embodiment.

[0054] Figure 9 This is a flowchart illustrating a robot depth-control method in an exemplary embodiment.

[0055] Figure 10 This is a flowchart illustrating a robot posture control method in an exemplary embodiment.

[0056] Figure 11 This is a schematic diagram of the system structure of a robot motion control method in an exemplary embodiment;

[0057] Figure 12 This is a structural block diagram of a robot motion control device in one embodiment;

[0058] Figure 13 This is a diagram of the internal structure of a server in one embodiment;

[0059] Figure 14 This is a diagram of the internal structure of a terminal in one embodiment. Detailed Implementation

[0060] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0061] The robot motion control method provided in this application embodiment can be applied to, for example, Figure 1 The application environment shown includes a computer device 102. The computer device 102 obtains the predicted motion speed of the robot at the next moment based on the robot's predicted motion speed, predicted motion control variables, and a prediction model of the robot's motion speed at the current moment. The prediction model is constructed based on the robot's dynamics model. An objective function is constructed based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment. The predicted motion control variables of the robot at the next moment are obtained based on the predicted motion speed and the objective function. The computer device 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, etc. Portable wearable devices can include smartwatches, smart bracelets, head-mounted devices, etc.

[0062] In one embodiment, such as Figure 2As shown, a robot motion control method is provided, which can be applied to... Figure 1 Taking computer device 102 as an example, the following steps are included:

[0063] Step 202: Based on the robot's predicted motion speed at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed, obtain the robot's predicted motion speed at the next moment; the prediction model is constructed based on the robot's dynamic model.

[0064] Among them, predicting motion control variables is input into the controller to achieve robot control.

[0065] Optionally, firstly, a predictive model is constructed based on the physical parameters involved in robot motion control; then, the predicted motion speed and predicted motion control variables of the robot at the current moment are input into the predictive model, and the predicted motion speed of the robot at the next moment is obtained through calculation by the predictive model. The physical parameters here can be the robot's motion speed, weight, damping, etc., which are not limited in this application.

[0066] Step 204: Construct the objective function based on the robot's predicted motion information, expected motion information, predicted motion speed, and predicted motion control variables at the current moment.

[0067] Among them, the expected motion information represents the motion state that the robot expects to achieve at the current moment.

[0068] Optionally, firstly, based on the robot's predicted motion speed at the current moment and the predicted motion information at the previous moment, the robot's predicted motion information at the current moment is calculated; then, based on the robot's predicted motion information at the current moment, the desired motion information, and the predicted motion control variables, the objective function is obtained.

[0069] Step 206: Based on the robot's predicted motion speed and objective function at the next moment, obtain the robot's predicted motion control variables at the next moment.

[0070] Optionally, the predicted motion speed of the robot at the next moment is input into the objective function, and a preset algorithm is used to obtain the predicted motion control variable that minimizes the value of the objective function. This predicted motion control variable is then used as the predicted motion control variable of the robot at the next moment.

[0071] In the above-mentioned robot motion control method, the predicted motion speed of the robot at the next moment is obtained based on the predicted motion speed, predicted motion control variables, and the prediction model of the robot's motion speed at the current moment; the prediction model is constructed based on the robot's dynamic model; an objective function is constructed based on the predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables of the robot at the current moment; and the predicted motion control variables of the robot at the next moment are obtained based on the predicted motion speed and the objective function. First, the robot's motion speed prediction model is constructed from the robot's dynamic model, which can accurately reflect the dynamic relationship between the robot's motion speed and motion control variables at each moment during the motion process. Therefore, the robot's predicted motion speed at the next moment, obtained from the robot's predicted motion speed, predicted motion control variables, and the robot's motion speed prediction model at the current moment, is also relatively accurate. Second, the objective function is constructed based on the robot's predicted motion information, expected motion information, predicted motion speed, and predicted motion control variables at the current moment. It can comprehensively consider the correlation between the predicted motion information, expected motion information, predicted motion speed, and predicted motion control variables. Furthermore, based on the relatively accurate predicted motion speed of the robot at the next moment and the objective function, a relatively accurate predicted motion control variable of the robot at the next moment can be obtained.

[0072] The previous embodiment involved the process of obtaining the robot's predicted motion control variables at the next moment. This embodiment further describes the process of obtaining the predictive model of the robot's motion speed, such as... Figure 3 As shown, the method also includes:

[0073] Step 302: Obtain the robot's dynamic model.

[0074] The robot's dynamics model characterizes how its motion speed changes with motion control variables. During movement, the robot uses five thrusters to control its motion: three vertical thrusters for depth control and two horizontal thrusters for attitude control. The robot's dynamics model includes both depth control and attitude control models. Depth control aims to control the robot to reach a predetermined depth, while attitude control aims to control the robot to achieve a specific posture, i.e., controlling the robot's attitude with preset roll, pitch, and yaw angles.

[0075] Optionally, the scenario of the robot moving in an underwater environment is used as an example for illustration. When the robot moves in an underwater environment, the dynamic model of depth control can be represented by formula (1), as shown below.

[0076]

[0077] In formula (1), M is the robot's mass matrix, D is the robot's motion damping matrix, v is the robot's linear velocity in the inertial coordinate system, W is the robot's weight, B is the buoyancy force acting on the robot, T is the thrust matrix with respect to the robot's thruster input, and C... A The skew-symmetric matrix generated by the added mass is generally used for ultra-small underwater robots, where the body mass is small and the speed is sufficiently low. A Ignore, u z Let W be the motion control variable for the robot, and let g be the function representing the linear relationship between W and B.

[0078] When the robot moves in an oily environment, the dynamic model of attitude control can be represented by formulas (2), (3), and (4), as shown below.

[0079]

[0080]

[0081]

[0082] Among them, I x I y I z Let M represent the robot's moments of inertia in the x, y, and z directions, respectively; u, v, and w represent the robot's velocities in the x, y, and z directions, respectively; p, q, and r represent the robot's angular velocities in the roll, pitch, and yaw directions, respectively; and M represent the robot's angular velocities in the roll, pitch, and yaw directions, respectively. K M M M N These represent the torques of the robot in the roll, pitch, and yaw directions, respectively.

[0083] Step 304: Linearize and discretize the robot's dynamic model to obtain a prediction model of the robot's motion speed.

[0084] Optionally, the dynamic model of the robot's depth control in step 302 is linearized, and the linearized dynamic model of the depth control is shown in formula (5).

[0085]

[0086] In formula (5), M is the robot's mass matrix, D is the robot's motion damping matrix, v is the robot's linear velocity in the inertial coordinate system, W is the robot's weight, B is the buoyancy force acting on the robot, T is the thrust matrix with respect to the robot's thruster input, and u... z Let W be the motion control variable for the robot, and let g be the function representing the linear relationship between W and B.

[0087] In the problem of depth control of a robot, the main focus is on the robot's motion in the vertical direction (i.e., the z-axis direction). Therefore, formula (5) can be simplified to formula (6), which is shown below.

[0088]

[0089] In formula (6), M is the robot's mass matrix, D is the robot's motion damping matrix, and v z U is the linear velocity of the robot along the z-axis, W is the weight of the robot, B is the buoyancy force acting on the robot, T is the thrust matrix with respect to the thruster input, and u is the linear velocity of the robot along the z-axis. z Let W be the motion control variable for the robot, and let g be the function representing the linear relationship between W and B.

[0090] Set the discrete time step to Δt, and discretize formula (6) to obtain the dynamic model of the robot's depth control after discretization, as shown in formulas (7) and (8).

[0091] v(k+1)=A·v(k)+B·u(k) (7)

[0092] y(k)=Cv(k)(8)

[0093] In formulas (7) and (8), v(k) is the predicted motion velocity of the robot at time k, u(k) is the predicted motion control variable of the robot at time k, and y(k) is the actual motion velocity of the robot at time k. A, B, and C are all discretized coefficients. A, B, and C are based on multiple sets of robot motion control variables u in formula (6). z and u z The corresponding linear velocity v of the robot in the z-axis direction z Obtained through linearization calculations.

[0094] Formulas (7) and (8) are used as prediction models for the robot's motion speed in a constant depth control scenario.

[0095] Optionally, the dynamic model of robot posture control in step 302 is linearized and discretized to obtain a prediction model of robot motion speed under posture control scenario. Equations (2), (3), and (4) are linearized and discretized as shown in equations (9) and (10).

[0096] v(k+1)=A1·v(k)+B1·u(k) (9)

[0097] y(k)=C1v(k) (10)

[0098] In formula (8), v(k) is the predicted motion velocity of the robot at time k, u(k) is the predicted motion control variable of the robot at time k, and y(k) is the actual motion velocity of the robot at time k. A1, B1, and C1 are all discretized coefficients. A1, B1, and C1 are based on the torques M of the robot in the roll, pitch, and yaw directions in formulas (2), (3), and (4). K M M M N and M K M M M N The corresponding robot velocities in the x, y, and z directions, and angular velocities in the roll, pitch, and yaw directions are obtained through linearized calculations.

[0099] Formulas (9) and (10) are used as prediction models for the robot's motion speed in attitude control scenarios.

[0100] In this embodiment, a robot's dynamic model is obtained; the dynamic model is then linearized and discretized to obtain a prediction model for the robot's motion speed. The prediction model is constructed from the robot's dynamic model. Linearizing the prediction model accurately reflects the linear relationship between the robot's motion speed and motion control variables at each moment during its movement. Discretizing the prediction model reduces calculation errors. Consequently, when the predicted motion speed and predicted motion control variables of the robot at the current moment are input into the prediction model, the predicted motion speed for the next moment becomes more accurate.

[0101] The previous embodiment involved the process of obtaining a predictive model of the robot's motion speed. This embodiment further describes how, based on the robot's predicted motion speed at the current moment, the predicted motion control variables, and the predictive model of the robot's motion speed, the predicted motion speed of the robot at the next moment is obtained. The process is as follows: Figure 4 As shown, it includes:

[0102] Step 402: Incremental processing is performed on the motion speed prediction model to obtain the target motion speed prediction model.

[0103] Optionally, the prediction model of the robot's motion speed in the fixed-depth control scenario in step 304 is incrementally processed to obtain the target prediction model of the motion speed, as shown in formulas (11) and (12).

[0104] Δv(k+1)=AΔv(k)+BΔu(k) (11)

[0105] y(k)=CΔv(k)+y(k-1) (12)

[0106] In formulas (11) and (12), A, B, and C are all discretized coefficients. A, B, and C are based on the multiple sets of robot motion control variables u in formula (6). z and u z The corresponding linear velocity v of the robot in the z-axis direction z The values ​​are obtained through linearization calculations. Δv(k+1) is the increment of the predicted motion velocity at time (k+1) relative to the predicted motion velocity at time k, Δv(k) is the increment of the predicted motion velocity at time k relative to the predicted motion velocity at time (k-1), Δu(k) is the increment of the predicted motion control variable at time k relative to the predicted motion control variable at time (k-1), y(k) is the robot's actual motion velocity at time k, and y(k-1) is the robot's actual motion velocity at time (k-1).

[0107] The prediction model of the robot's motion speed in the attitude control scenario in step 304 is incrementally processed to obtain the target prediction model of motion speed, as shown in formulas (13) and (14).

[0108] Δv(k+1)=A1Δv(k)+B1Δu(k) (13)

[0109] y(k)=C1Δv(k)+y(k-1) (14)

[0110] In formulas (13) and (14), Δv(k+1) is the increment of the predicted motion velocity at time (k+1) relative to the predicted motion velocity at time k, Δv(k) is the increment of the predicted motion velocity at time k relative to the predicted motion velocity at time (k-1), Δu(k) is the increment of the predicted motion control variable at time k relative to the predicted motion control variable at time (k-1), y(k) is the actual motion velocity of the robot at time k, and y(k-1) is the actual motion velocity of the robot at time (k-1). A1, B1, and C1 are the torques M of multiple robot components in the roll, pitch, and yaw directions based on formulas (2), (3), and (4). K M M M N and M K M M M N The corresponding robot velocities in the x, y, and z directions, and angular velocities in the roll, pitch, and yaw directions are obtained through linearized calculations.

[0111] Step 404: Increment the robot's predicted motion speed and predicted motion control variables at the current moment to obtain the increments of the predicted motion speed and the predicted motion control variables.

[0112] Optionally, assuming the current time is k, the predicted velocity at time k is v(k), and the predicted velocity at time (k-1) is v(k-1), then the increment of the predicted velocity at the current time is Δv(k) = v(k) - v(k-1). The increment of the predicted velocity at the current time, Δv(k), is input into the objective function, and the objective function is minimized to obtain the increment of the predicted motion control variable, Δu(k), at the current time.

[0113] Step 406: Input the increment of the predicted motion speed and the increment of the predicted motion control variables into the target prediction model of the motion speed for processing, and obtain the increment of the predicted motion speed of the robot at the next moment.

[0114] Optionally, the increment Δv(k) of the robot's predicted motion velocity at the current moment and the increment Δu(k) of the predicted motion control variable at the current moment in step 404 are input into formula ( 11 In the equation, the increment Δv(k+1) of the robot's predicted motion velocity at the next moment is obtained.

[0115] Step 408: Based on the increment of the robot's predicted motion speed at the next moment and the robot's predicted motion speed at the current moment, obtain the robot's predicted motion speed at the next moment.

[0116] Optionally, assuming the current time is time k and the predicted motion speed at time k is v(k), the increment Δv(k+1) of the robot's predicted motion speed at the next time obtained in step 406 is added to the predicted motion speed at time k, v(k), to obtain the robot's predicted motion speed at the next time.

[0117] In this embodiment, the motion speed prediction model is incrementally processed to obtain a target motion speed prediction model. The predicted motion speed and predicted motion control variables of the robot at the current moment are also incrementally processed to obtain the increments of the predicted motion speed and the predicted motion control variables. These increments are then input into the target motion speed prediction model for processing to obtain the increment of the robot's predicted motion speed at the next moment. Based on the increment of the robot's predicted motion speed at the next moment and the robot's predicted motion speed at the current moment, the predicted motion speed of the robot at the next moment is obtained. The incremental processing of the motion speed prediction model to obtain the target motion speed prediction model aims to introduce integration to reduce static errors, making the prediction results of the motion speed prediction model more accurate. Consequently, the increments of the predicted motion speed and the predicted motion control variables obtained by inputting them into the target motion speed prediction model are also more accurate.

[0118] The previous embodiment described the process of obtaining the robot's predicted motion speed at the next moment. This embodiment further describes the process of inputting the increment of the predicted motion speed and the increment of the predicted motion control variables into the target prediction model for motion speed to obtain the increment of the robot's predicted motion speed at the next moment. The process is as follows: Figure 5 As shown, it includes:

[0119] Step 502: Obtain the prediction time domain and control time domain of the target prediction model for motion speed.

[0120] In this context, the prediction time domain P represents the size of the time step that the target prediction model for motion speed needs to predict, while the control time domain M represents the number of increments of the predicted motion control variables required for the calculation of the target prediction model for motion speed.

[0121] Optionally, the prediction time domain and control time domain of the target velocity prediction model can be designed directly using the MPC (Model Predictive Control) toolbox in the SIMULINK simulation software, or the prediction time domain P and control time domain M can be manually set. The value of P cannot be too small, otherwise the robot's control system may be unable to react due to sudden changes in the reference output; the value of P also cannot be too large, otherwise the robot's control system will react slowly to disturbances. Therefore, the value of P must be at least greater than the settling time Ts of the robot control system's open-loop response. Generally, the value of M is less than or equal to the value of P, and is typically chosen from either 10%-20% of the value of P or 10%-20% of the value of Ts.

[0122] Step 504: Based on the prediction time domain and control time domain of the target prediction model for motion speed, process the increment of the predicted motion speed and the increment of the predicted motion control variable to obtain the increment of the predicted motion speed and the increment of the predicted motion control variable in the prediction time domain, and obtain the increment of the predicted motion speed and the increment of the predicted motion control variable in the control time domain.

[0123] Optionally, assuming m is the value in the control time domain, p is the value in the prediction time domain, the current time is k, Δv(k+p-1|k) is the increment of the predicted motion velocity in the prediction time domain, Δu(k+p-1) is the increment of the predicted motion control variable in the prediction time domain, Δu(k+m-1) is the increment of the predicted motion control variable in the control time domain, and Δv(k+m-1|k) is the increment of the predicted motion velocity in the control time domain.

[0124] Step 506: Input the increment of the predicted motion speed and the increment of the predicted motion control variable in the prediction time domain, and the increment of the predicted motion speed and the increment of the predicted motion control variable in the control time domain into the target prediction model of motion speed for processing, so as to obtain the increment of the predicted motion speed of the robot in the next moment.

[0125] Optionally, in the scenario of constant depth control, the increments of the predicted motion velocity Δv(k+p-1|k) in the prediction time domain, the increments of the predicted motion control variables Δu(k+p-1) in the prediction time domain, the increments of the predicted motion control variables Δu(k+m-1) in the control time domain, and the increments of the predicted motion velocity Δv(k+m-1|k) in the control time domain are calculated using formula (…). 11 Formulas (15) and (16) are obtained as follows.

[0126] Δv(k+m|k)=AΔv(k+m-1|k)+BΔu(k+m-1) (15)

[0127] Δv(k+p|k)=AΔv(k+p-1|k)+BΔu(k+p-1) (16)

[0128] In formulas (15) and (16), m is the value in the control time domain and p is the value in the prediction time domain.

[0129] The calculation results of formulas (15) and (16) are integrated to obtain the increment of the robot's predicted motion speed at the next moment.

[0130] In the context of attitude control, the increments of the predicted motion velocity Δv(k+p-1|k) in the prediction time domain, the increments of the predicted motion control variables Δu(k+p-1) in the prediction time domain, the increments of the predicted motion control variables Δu(k+m-1) in the control time domain, and the increments of the predicted motion velocity Δv(k+m-1|k) in the control time domain are input into formula (13) to obtain formulas (17) and (18), as shown below.

[0131] Δv(k+m|k)=A1Δv(k+m-1|k)+B1Δu(k+m-1) (17)

[0132] Δv(k+p|k)=A1Δv(k+p-1|k)+B1Δu(k+p-1) (18)

[0133] In formulas (17) and (18), m is the value in the control time domain and p is the value in the prediction time domain.

[0134] The calculation results of formulas (17) and (18) are integrated to obtain the increment of the robot's predicted motion speed at the next moment.

[0135] In this embodiment, the prediction time domain and control time domain of the target prediction model for motion speed are obtained. Based on the prediction time domain and control time domain of the target prediction model for motion speed, the increments of the predicted motion speed and the predicted motion control variables are processed to obtain the increments of the predicted motion speed and the predicted motion control variables corresponding to the prediction time domain, and the increments of the predicted motion speed and the predicted motion control variables corresponding to the control time domain. These increments are then input into the target prediction model for motion speed for processing to obtain the increment of the robot's predicted motion speed at the next moment. Specifically, predicting the increment of the robot's predicted motion speed at the next moment based on the prediction time domain and control time domain of the target prediction model for motion speed improves the accuracy of the target prediction model for motion speed while maintaining computational speed. Therefore, the increment of the robot's predicted motion speed at the next moment obtained based on a more accurate target prediction model for motion speed is also more accurate.

[0136] The previous embodiment involved the process of obtaining the increment of the robot's predicted motion speed at the next moment. In this embodiment, it is further described that if the predicted motion information includes predicted depth information and the desired motion information includes desired depth information, then based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment, an objective function is constructed, as follows: Figure 6 As shown, it includes:

[0137] Step 602: Obtain the robot's predicted depth information, expected depth information, first weight matrix, second weight matrix, and predicted motion control variables at the current moment.

[0138] Optionally, the robot's desired depth information at the current moment is set to z. ref Let Q be the first weight matrix and R be the second weight matrix. Assume that the robot's predicted depth information at the current moment is z(k), which is obtained based on the robot's predicted depth information at the previous moment and the increment of the predicted motion velocity at the current moment. Assume that the robot's predicted motion control variable at the current moment is u(k).

[0139] Step 604: Increment the predicted motion control variables of the robot at the current moment to obtain the increment of the predicted motion control variables of the robot at the current moment.

[0140] Optionally, assuming the robot's predicted motion control variable at the current moment is u(k), u(k) is incremented to obtain the increment Δu(k) of the robot's predicted motion control variable at the current moment.

[0141] Step 606: Calculate the difference between the robot's predicted depth information and expected depth information at the current moment, and obtain the first function based on the difference and the first weight matrix.

[0142] Optionally, the robot's desired depth information at the current moment is set to z. ref Let Q be the first weight matrix. Assume the robot's predicted depth information at the current moment is z(k), which is obtained based on the robot's predicted depth information at the previous moment and the increment of the predicted motion velocity at the current moment. Then the first function is f1 = Q·(z(k) - z ref ) 2 .

[0143] Step 608: Based on the robot's predicted motion control variables and the second weight matrix at the current moment, the second function is obtained.

[0144] Optionally, assuming the robot's predicted motion control variable at the current moment is u(k), u(k) is incremented to obtain the increment Δu(k) of the robot's predicted motion control variable at the current moment. The second weight matrix of the robot at the current moment is set to R, then the second function is f2 = R·Δu(k). 2 .

[0145] Step 610: Based on the first function and the second function, obtain the target function.

[0146] Optionally, the first function in step 606 and the second function in step 608 are summed to obtain the target function, as shown in formula (19).

[0147] minimize J(v, u) = Q·(z(k) - z) ref ) 2 +R·Δu(k) 2 (19)

[0148] In formula (19), minimizeJ(v, u) is the objective function, z ref Let Q be the desired depth information, Q be the first weight matrix, R be the second weight matrix, z(k) be the predicted depth information of the robot at the current time, and Δu(k) be the increment of the predicted motion control variables of the robot at the current time.

[0149] In this embodiment, the predicted depth information, expected depth information, first weight matrix, second weight matrix, and predicted motion control variables of the robot at the current moment are obtained. The predicted motion control variables at the current moment are incrementally processed to obtain the increment of the predicted motion control variables at the current moment. The difference between the predicted depth information and expected depth information at the current moment is calculated. Based on the difference and the first weight matrix, a first function is obtained. Based on the predicted motion control variables at the current moment and the second weight matrix, a second function is obtained. Based on the first function and the second function, a target function is obtained. The first function characterizes the difference between the predicted depth information and the expected depth information, and different weight matrices are assigned to this difference relationship and the predicted motion control variables at the current moment. The influence of the first function and the second function on the target function value is comprehensively considered. That is, the target function improves the accuracy of calculating the predicted motion control variables of the robot at the next moment by reducing the difference between the predicted depth information and the expected depth information.

[0150] The previous embodiment described the process of obtaining an objective function if the predicted motion information includes predicted depth information and the desired motion information includes desired depth information. This embodiment further describes that if the predicted motion information includes predicted pose information and the desired motion information includes desired pose information, then the objective function is constructed based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment. The process is as follows: Figure 7 As shown, it includes:

[0151] Step 702: Obtain the robot's predicted posture information, desired posture information, third weight matrix and fourth weight matrix, and the robot's predicted motion control variables at the current moment.

[0152] The predicted attitude information includes: predicted roll angle information, predicted pitch angle information, and predicted yaw angle information; the desired attitude information includes: desired roll angle information, desired pitch angle information, and desired yaw angle information.

[0153] Optionally, the robot's desired roll angle at the current moment is set as follows: The third weight matrix corresponding to the robot's predicted roll angle information at the current moment is: The fourth weight matrix corresponding to the robot's predicted roll angle information at the current moment is: Assume the robot's predicted roll angle at the current moment is: It is derived from the robot's predicted roll angle information at the previous moment and the increment of the predicted motion velocity at the current moment. Assuming the robot's predicted motion control variable at the current moment is...

[0154] Let θ be the robot's desired pitch angle at the current moment. ref The third weight matrix corresponding to the robot's predicted pitch angle information at the current moment is Q. θ The fourth weight matrix corresponding to the robot's predicted pitch angle information at the current moment is R. θ Assuming the robot's predicted pitch angle information at the current moment is θ(k), it is obtained based on the robot's predicted pitch angle information at the previous moment and the increment of the predicted motion velocity at the current moment. Assuming the robot's predicted motion control variable at the current moment is u... θ (k).

[0155] Let ψ be the robot's desired yaw angle at the current moment. ref The third weight matrix corresponding to the robot's predicted yaw angle information at the current moment is Q. ψ The fourth weight matrix corresponding to the robot's predicted yaw angle information at the current moment is R. ψ Assuming the robot's predicted yaw angle information at the current moment is ψ(k), it is obtained based on the robot's predicted yaw angle information at the previous moment and the increment of the predicted motion velocity at the current moment. Assuming the robot's predicted motion control variable at the current moment is u... ψ (k).

[0156] Step 704: Increment the predicted motion control variables of the robot at the current moment to obtain the increment of the predicted motion control variables of the robot at the current moment.

[0157] Optionally, assuming the current time is time k, and assuming the predicted roll angle information of the robot at the current time corresponds to the predicted motion control variable as follows: right Incremental processing is performed to obtain the increment of the predicted motion control variables corresponding to the robot's predicted roll angle information at the current moment.

[0158] Suppose that the predicted motion control variable corresponding to the robot's predicted pitch angle information at the current moment is u. θ (k), for u θ (k) Perform incremental processing to obtain the increment Δu of the predicted motion control variable corresponding to the predicted pitch angle information of the robot at the current moment. θ (k).

[0159] Assume that the predicted motion control variable corresponding to the robot's predicted yaw angle information at the current moment is u. ψ (k), for u ψ (k) Perform incremental processing to obtain the increment Δu of the predicted motion control variable corresponding to the robot's predicted yaw angle information at the current moment. ψ (k)

[0160] Step 706: Calculate the difference between the robot's predicted posture information and the desired posture information at the current moment, and obtain the third function based on the difference and the third weight matrix.

[0161] Optionally, assuming the current time is time k, the robot's expected roll angle information at the current time is set as follows: The third weight matrix is Assume the robot's predicted roll angle at the current moment is: It is obtained based on the robot's predicted roll angle information from the previous moment and the increment of the predicted motion velocity at the current moment. Therefore, the third function corresponding to the robot's predicted roll angle information at the current moment is:

[0162] Let θ be the robot's desired pitch angle at the current moment. ref The third weight matrix is ​​Q. θ Assuming the robot's predicted pitch angle at the current moment is θ(k), which is obtained based on the robot's predicted pitch angle at the previous moment and the increment of the predicted motion velocity at the current moment, then the third function corresponding to the robot's predicted pitch angle at the current moment is θ3 = Q. θ (θ(k)-θ ref ) 2 .

[0163] Let ψ be the robot's desired yaw angle at the current moment. ref The third weight matrix is ​​Q. ψ The fourth weight matrix is ​​R ψAssuming the robot's predicted yaw angle at the current moment is ψ(k), which is obtained based on the robot's predicted yaw angle at the previous moment and the increment of the predicted velocity at the current moment, then the third function corresponding to the robot's predicted yaw angle at the current moment is ψ3 = Q. ψ ·(ψ(k)-ψ ref ) 2 .

[0164] Step 708: Based on the robot's predicted motion control variables and the fourth weight matrix at the current moment, the fourth function is obtained.

[0165] Optionally, assuming the current time is time k, and assuming the predicted roll angle information of the robot at the current time corresponds to the predicted motion control variable as follows: right Incremental processing is performed to obtain the increment of the predicted motion control variables corresponding to the robot's predicted roll angle information at the current moment. Let the fourth weight matrix corresponding to the robot's predicted roll angle information at the current moment be: Then the fourth function corresponding to the robot's predicted roll angle information at the current moment is:

[0166] Suppose that the predicted motion control variable corresponding to the robot's predicted pitch angle information at the current moment is u. θ (k), for u θ (k) Perform incremental processing to obtain the increment Δu of the predicted motion control variable corresponding to the predicted pitch angle information of the robot at the current moment. θ (k), where R is the fourth weight matrix corresponding to the robot's predicted pitch angle information at the current moment. θ Then the fourth function corresponding to the robot's predicted pitch angle information at the current moment is θ4 = R. θ ·Δu θ (k) 2 .

[0167] Assume that the predicted motion control variable corresponding to the robot's predicted yaw angle information at the current moment is u. ψ (k), for u ψ (k) Perform incremental processing to obtain the increment Δu of the predicted motion control variable corresponding to the robot's predicted yaw angle information at the current moment. ψ (k), where R is the fourth weight matrix corresponding to the robot's predicted yaw angle information at the current moment. ψ Then the fourth function corresponding to the robot's predicted yaw angle information at the current moment is ψ4 = R. ψ ·u ψ (k) 2 .

[0168] Step 710: Based on the third and fourth functions, obtain the target function.

[0169] Optionally, assuming the current time is time k, the third function and the fourth function corresponding to the robot's predicted roll angle information at the current time are summed to obtain the objective function corresponding to the robot's predicted roll angle information at the current time, as shown in formula (20).

[0170]

[0171] In formula (20), minimizeJ1(v, u) is the objective function corresponding to the predicted roll angle information of the robot at the current moment. Information on the robot's expected roll angle at the current moment, The third weight matrix corresponding to the robot's predicted roll angle information at the current moment. This is the fourth weight matrix corresponding to the robot's predicted roll angle information at the current moment. This provides the robot with the predicted roll angle information for the current moment. This is used to predict the increment of the motion control variables corresponding to the roll angle information of the robot at the current moment.

[0172] The third and fourth functions corresponding to the robot's predicted pitch angle information at the current moment are summed to obtain the objective function corresponding to the robot's predicted pitch angle information at the current moment, as shown in formula (21).

[0173] minimize J2(v, u) = Q θ ·(θ(k)-θ ref ) 2 +R θ ·Δu θ (k) 2 (twenty one)

[0174] In formula (21), minimizeJ2(v, u) is the objective function corresponding to the robot's predicted pitch angle information at the current moment, θ ref For the robot's desired pitch angle information at the current moment, Q θ The third weight matrix R corresponds to the robot's predicted pitch angle information at the current moment. θ Let θ(k) be the fourth weight matrix corresponding to the robot's predicted pitch angle information at the current moment, and let Δu be the robot's predicted pitch angle information at the current moment. θ (k) represents the increment of the predicted motion control variable corresponding to the robot's predicted pitch angle information at the current moment.

[0175] The third and fourth functions corresponding to the robot's predicted yaw angle information at the current moment are summed to obtain the objective function corresponding to the robot's predicted yaw angle information at the current moment, as shown in formula (22).

[0176] minimize J3(v, u) = Q ψ ·(ψ(k)-ψ ref ) 2 +R ψ ·u ψ (k) 2 (twenty two)

[0177] In formula (22), minimizeJ3(v, u) is the objective function corresponding to the robot's predicted yaw angle information at the current moment, ψ ref For the robot's expected yaw angle information at the current moment, Q ψ The third weight matrix R corresponds to the robot's predicted yaw angle information at the current moment. ψ Let ψ(k) be the fourth weight matrix corresponding to the robot's predicted yaw angle information at the current moment, and let Δu be the robot's predicted yaw angle information at the current moment. ψ (k) represents the increment of the predicted motion control variable corresponding to the robot's predicted yaw angle information at the current moment.

[0178] In this embodiment, the robot's predicted posture information, desired posture information, third and fourth weight matrices, and predicted motion control variables at the current moment are obtained. The predicted motion control variables at the current moment are incrementally processed to obtain their increment. The difference between the predicted and desired posture information is calculated, and a third function is obtained based on this difference and the third weight matrix. A fourth function is obtained based on the predicted motion control variables at the current moment and the fourth weight matrix. Finally, a target function is obtained based on the third and fourth functions. The third function characterizes the difference between the predicted and desired posture information, and different weight matrices are assigned to this difference and the predicted motion control variables at the current moment. The influence of both the third and fourth functions on the target function value is comprehensively considered. In other words, the target function improves the accuracy of calculating the robot's predicted motion control variables at the next moment by reducing the difference between the predicted and desired posture information.

[0179] The previous embodiment involved obtaining the objective function if the predicted motion information included predicted posture information and the desired motion information included desired posture information. This embodiment further describes obtaining the predicted motion control variables for the robot at the next moment based on the robot's predicted motion velocity and the objective function, as follows: Figure 8 As shown, it includes:

[0180] Step 802: Increment the predicted motion control variables of the robot at the next moment to obtain the increment of the predicted motion control variables of the robot at the next moment.

[0181] Optionally, assuming the current time is time k, and assuming the robot's predicted motion control variable at the next time is u(k+1), u(k+1) is incremented to obtain the increment Δu(k+1) of the robot's predicted motion control variable at the current time.

[0182] Step 804: Obtain the threshold for the increment of the robot's predicted motion control variables at the next moment.

[0183] Optionally, a threshold is set for the increment of the robot's predicted motion control variables at the next moment, and the calculated increment of the robot's predicted motion control variables at the next moment must be greater than this threshold.

[0184] Step 806: Based on the threshold of the predicted motion control variable increment of the robot in the next moment, the quadratic programming algorithm, and the objective function, obtain the predicted motion control variable increment of the robot in the next moment.

[0185] Optionally, assuming the current time is k, the threshold for the increment of the robot's predicted motion control variable in the next time step is set to s. At the same time, the objective function is minimized using a quadratic programming algorithm to calculate the increment of the robot's predicted motion control variable in the next time step, Δu(k+1). Δu(k+1) is the increment of the robot's predicted motion control variable in the next time step corresponding to the minimum value of the objective function, and the value of Δu(k+1) is greater than s.

[0186] Step 808: Based on the increment of the robot's predicted motion control variables at the next moment and the robot's predicted motion control variables at the current moment, the robot's predicted motion control variables at the next moment are obtained.

[0187] Optionally, assuming the current time is time k, the increment Δu(k+1) of the robot's predicted motion control variable at the next time step in step 806 is summed with the predicted motion control variable u(k) at the current time to obtain the robot's predicted motion control variable at the next time step.

[0188] In this embodiment, the predicted motion control variables of the robot at the next time step are incrementally processed to obtain the increment of the predicted motion control variables of the robot at the next time step; a threshold for the increment of the predicted motion control variables of the robot at the next time step is obtained; based on the threshold for the increment of the predicted motion control variables of the robot at the next time step, a quadratic programming algorithm, and an objective function, the increment of the predicted motion control variables of the robot at the next time step is obtained; based on the increment of the predicted motion control variables of the robot at the next time step and the predicted motion control variables of the robot at the current time step, the predicted motion control variables of the robot at the next time step are obtained. Specifically, the threshold for the increment of the predicted motion control variables of the robot at the next time step is used to impose a conditional constraint on the calculated increment of the predicted motion control variables of the robot at the next time step. Simultaneously, the quadratic programming algorithm is used to calculate the objective function, ensuring that the obtained increment of the predicted motion control variables of the robot at the next time step is optimal. That is, the conditional constraints and the quadratic programming algorithm ensure the accuracy of the calculated increment of the predicted motion control variables of the robot at the next time step.

[0189] In one exemplary embodiment, a robot motion control method is provided, wherein the robot motion control method includes a robot depth control method and a robot posture control method.

[0190] The process of robot depth control method is as follows: Figure 9 As shown, it includes:

[0191] Step 901: Obtain the robot's dynamic model.

[0192] Step 902: Linearize and discretize the robot's dynamic model to obtain a prediction model of the robot's motion speed.

[0193] Step 903: Incremental processing is performed on the prediction model of motion speed to obtain the target prediction model of motion speed.

[0194] Step 904: Increment the robot's predicted motion speed and predicted motion control variables at the current moment to obtain the increments of the predicted motion speed and the predicted motion control variables.

[0195] Step 905: Obtain the prediction time domain and control time domain of the target prediction model for motion speed.

[0196] Step 906: Based on the prediction time domain and control time domain of the target prediction model for motion speed, process the increment of the predicted motion speed and the increment of the predicted motion control variable to obtain the increment of the predicted motion speed and the increment of the predicted motion control variable in the prediction time domain, and obtain the increment of the predicted motion speed and the increment of the predicted motion control variable in the control time domain.

[0197] Step 907: Input the increment of the predicted motion speed and the increment of the predicted motion control variable in the prediction time domain, and the increment of the predicted motion speed and the increment of the predicted motion control variable in the control time domain into the target prediction model of motion speed for processing, so as to obtain the increment of the predicted motion speed of the robot in the next moment.

[0198] Step 908: Based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment, construct the objective function, including:

[0199] Step 908a: Obtain the robot's predicted depth information, expected depth information, first weight matrix, second weight matrix, and predicted motion control variables at the current moment.

[0200] Step 908b: Increment the predicted motion control variables of the robot at the current moment to obtain the increment of the predicted motion control variables of the robot at the current moment.

[0201] Step 908c: Calculate the difference between the robot's predicted depth information and expected depth information at the current moment, and obtain the first function based on the difference and the first weight matrix.

[0202] Step 908d: Based on the robot's predicted motion control variables and the second weight matrix at the current moment, the second function is obtained.

[0203] Step 908e: Based on the first function and the second function, the target function is obtained.

[0204] Step 909: Increment the predicted motion control variables of the robot at the next moment to obtain the increment of the predicted motion control variables of the robot at the next moment.

[0205] Step 910: Obtain the threshold for the increment of the robot's predicted motion control variables at the next moment.

[0206] Step 911: Based on the threshold of the predicted motion control variable increment of the robot at the next moment, the quadratic programming algorithm, and the objective function, obtain the predicted motion control variable increment of the robot at the next moment.

[0207] Step 912: Based on the increment of the robot's predicted motion control variables at the next moment and the robot's predicted motion control variables at the current moment, obtain the robot's predicted motion control variables at the next moment.

[0208] The process of robot posture control method is as follows: Figure 10 As shown, it includes:

[0209] Step 1001: Obtain the dynamic model of the robot.

[0210] Step 1002: Linearize and discretize the robot's dynamic model to obtain a prediction model of the robot's motion speed.

[0211] Step 1003: Incremental processing is performed on the motion speed prediction model to obtain the target motion speed prediction model.

[0212] Step 1004: Increment the robot's predicted motion speed and predicted motion control variables at the current moment to obtain the increments of the predicted motion speed and the predicted motion control variables.

[0213] Step 1005: Obtain the prediction time domain and control time domain of the target prediction model for motion speed.

[0214] Step 1006: Based on the prediction time domain and control time domain of the target prediction model for motion speed, process the increment of the predicted motion speed and the increment of the predicted motion control variable to obtain the increment of the predicted motion speed and the increment of the predicted motion control variable in the prediction time domain, and obtain the increment of the predicted motion speed and the increment of the predicted motion control variable in the control time domain.

[0215] Step 1007: Input the increment of the predicted motion speed and the increment of the predicted motion control variable in the prediction time domain, and the increment of the predicted motion speed and the increment of the predicted motion control variable in the control time domain into the target prediction model of motion speed for processing, so as to obtain the increment of the predicted motion speed of the robot in the next moment.

[0216] Step 1008: Based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment, construct the objective function, including:

[0217] Step 1008a: Obtain the robot's predicted posture information, desired posture information, third weight matrix and fourth weight matrix, and the robot's predicted motion control variables at the current moment.

[0218] Step 1008b: Increment the predicted motion control variables of the robot at the current moment to obtain the increment of the predicted motion control variables of the robot at the current moment.

[0219] Step 1008c: Calculate the difference between the robot's predicted posture information and the desired posture information at the current moment. Based on the difference and the third weight matrix, obtain the third function.

[0220] Step 1008d: Based on the robot's predicted motion control variables and the fourth weight matrix at the current moment, the fourth function is obtained.

[0221] Step 1008e: Based on the third and fourth functions, the objective function is obtained.

[0222] Step 1009: Increment the predicted motion control variables of the robot at the next moment to obtain the increment of the predicted motion control variables of the robot at the next moment.

[0223] Step 1010: Obtain the threshold for the increment of the robot's predicted motion control variables at the next moment.

[0224] Step 1011: Based on the threshold of the predicted motion control variable increment of the robot in the next moment, the quadratic programming algorithm, and the objective function, obtain the predicted motion control variable increment of the robot in the next moment.

[0225] Step 1012: Based on the increment of the robot's predicted motion control variables at the next moment and the robot's predicted motion control variables at the current moment, obtain the robot's predicted motion control variables at the next moment.

[0226] Combining the flowcharts of robot depth control and robot posture control methods, the system structure of the robot motion control method is obtained, as shown in the figure below. Figure 11 As shown.

[0227] Figure 11 In this process, the robot's reference trajectory can be obtained based on the increment of the robot's predicted motion velocity and the increment of the predicted motion control variables at the current moment. The MPC controller is used to obtain the robot's predicted motion control variables at the next moment. The MPC controller includes a prediction model module, an objective function module, a constraint condition module, and an optimization solution module.

[0228] The system comprises several modules: a prediction model module (including the target prediction model for motion speed from the previous steps), a constraint module (processing the increments of the predicted motion speed and the predicted motion control variables to obtain the robot's predicted motion speed at the next moment), and an objective function module (constructing the objective function based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment), a constraint module (obtaining the threshold for the increment of the robot's predicted motion control variables at the next moment), and an optimization solution module (using the threshold, quadratic programming algorithm, and objective function to obtain the increment of the robot's predicted motion control variables at the next moment). The robot's reference trajectory is input into the MPC controller to obtain the robot's predicted motion control variables at the next moment. These predicted motion control variables are then input into the robot's body model, allowing the robot's body model to execute corresponding actions based on these predicted motion control variables.

[0229] In the aforementioned robot motion control method, firstly, the robot's motion speed prediction model is constructed from the robot's dynamic model, which can accurately reflect the dynamic relationship between the robot's motion speed and motion control variables at each moment during motion. Therefore, the robot's predicted motion speed at the next moment, obtained from the robot's predicted motion speed, predicted motion control variables, and the robot's motion speed prediction model at the current moment, is also relatively accurate. Secondly, the objective function is constructed based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment, and can comprehensively consider the correlation between the predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables. Furthermore, based on the relatively accurate predicted motion speed and objective function of the robot at the next moment, a relatively accurate predicted motion control variable of the robot at the next moment can be obtained.

[0230] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0231] Based on the same inventive concept, this application also provides a robot motion control device for implementing the robot motion control method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more robot motion control device embodiments provided below can be found in the limitations of the robot motion control method described above, and will not be repeated here.

[0232] In one embodiment, such as Figure 12 As shown, a robot motion control device 1200 is provided, including: a prediction module 1220, an objective function construction module 1240, and a data acquisition module 1260, wherein:

[0233] The prediction module 1220 is used to obtain the predicted motion speed of the robot at the next moment based on the predicted motion speed of the robot at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed; the prediction model is constructed based on the robot's dynamic model.

[0234] The objective function construction module 1240 is used to construct an objective function based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment.

[0235] The data acquisition module 1260 is used to obtain the predicted motion control variables of the robot in the next moment based on the robot's predicted motion speed and objective function in the next moment.

[0236] In one embodiment, the prediction module 1220 is further configured to: acquire the robot's dynamic model; and perform linearization and discretization processing on the robot's dynamic model to obtain a prediction model of the robot's motion speed.

[0237] In one embodiment, the prediction module 1220 is further configured to: incrementally process the prediction model of motion speed to obtain a target prediction model of motion speed; incrementally process the predicted motion speed and predicted motion control variables of the robot at the current moment to obtain the increment of the predicted motion speed and the increment of the predicted motion control variables; input the increment of the predicted motion speed and the increment of the predicted motion control variables into the target prediction model of motion speed for processing to obtain the increment of the predicted motion speed of the robot at the next moment; and obtain the predicted motion speed of the robot at the next moment based on the increment of the predicted motion speed of the robot at the next moment and the predicted motion speed of the robot at the current moment.

[0238] In one embodiment, the prediction module 1220 is further configured to: acquire the prediction time domain and control time domain of the target prediction model for motion speed; process the increment of the predicted motion speed and the increment of the predicted motion control variable based on the prediction time domain and control time domain of the target prediction model for motion speed to obtain the increment of the predicted motion speed and the increment of the predicted motion control variable corresponding to the prediction time domain, and obtain the increment of the predicted motion speed and the increment of the predicted motion control variable corresponding to the control time domain; input the increment of the predicted motion speed and the increment of the predicted motion control variable corresponding to the prediction time domain, and the increment of the predicted motion speed and the increment of the predicted motion control variable corresponding to the control time domain into the target prediction model for motion speed for processing to obtain the increment of the predicted motion speed of the robot at the next moment.

[0239] In one embodiment, the objective function construction module 1240 is further configured to: acquire the robot's predicted depth information, expected depth information, first weight matrix, second weight matrix, and predicted motion control variables of the robot at the current moment; perform incremental processing on the robot's predicted motion control variables at the current moment to obtain the increment of the robot's predicted motion control variables at the current moment; calculate the difference between the robot's predicted depth information and expected depth information at the current moment, and obtain a first function based on the difference and the first weight matrix; obtain a second function based on the robot's predicted motion control variables at the current moment and the second weight matrix; and obtain an objective function based on the first function and the second function.

[0240] In one embodiment, the objective function construction module 1240 is further configured to: acquire the robot's predicted posture information, desired posture information, third weight matrix and fourth weight matrix, and the robot's predicted motion control variables at the current moment; perform incremental processing on the robot's predicted motion control variables at the current moment to obtain the increment of the robot's predicted motion control variables at the current moment; calculate the difference between the robot's predicted posture information and desired posture information at the current moment, and obtain a third function based on the difference and the third weight matrix; obtain a fourth function based on the robot's predicted motion control variables at the current moment and the fourth weight matrix; and obtain the objective function based on the third function and the fourth function.

[0241] In one embodiment, the data acquisition module 1260 is further configured to: perform incremental processing on the robot's predicted motion control variables at the next moment to obtain the increment of the robot's predicted motion control variables at the next moment; obtain a threshold for the increment of the robot's predicted motion control variables at the next moment; obtain the increment of the robot's predicted motion control variables at the next moment based on the threshold, the quadratic programming algorithm, and the objective function; and obtain the robot's predicted motion control variables at the next moment based on the increment of the robot's predicted motion control variables at the next moment and the robot's predicted motion control variables at the current moment.

[0242] Each module in the aforementioned robot motion control device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0243] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 13As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores data. The network interface communicates with external terminals via a network connection. When the computer program is executed by the processor, it implements a robot motion control method.

[0244] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 14 As shown, the computer device includes a processor, memory, communication interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a robot motion control method. The display screen can be an LCD screen or an e-ink screen. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.

[0245] Those skilled in the art will understand that Figure 13 , Figure 14 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0246] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0247] Based on the robot's predicted motion speed at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed, the predicted motion speed of the robot at the next moment is obtained; the prediction model is constructed based on the robot's dynamic model.

[0248] Based on the robot's predicted motion information, expected motion information, predicted motion speed, and predicted motion control variables at the current moment, construct the objective function;

[0249] Based on the robot's predicted motion speed and objective function at the next moment, the robot's predicted motion control variables at the next moment are obtained.

[0250] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.

[0251] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0252] Based on the robot's predicted motion speed at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed, the predicted motion speed of the robot at the next moment is obtained; the prediction model is constructed based on the robot's dynamic model.

[0253] Based on the robot's predicted motion information, expected motion information, predicted motion speed, and predicted motion control variables at the current moment, construct the objective function;

[0254] Based on the robot's predicted motion speed and objective function at the next moment, the predicted motion control variables of the robot at the next moment are obtained.

[0255] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0256] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:

[0257] Based on the robot's predicted motion speed at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed, the predicted motion speed of the robot at the next moment is obtained; the prediction model is constructed based on the robot's dynamic model.

[0258] Based on the robot's predicted motion information, expected motion information, predicted motion speed, and predicted motion control variables at the current moment, construct the objective function;

[0259] Based on the robot's predicted motion speed and objective function at the next moment, the predicted motion control variables of the robot at the next moment are obtained.

[0260] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0261] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0262] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0263] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0264] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A robot motion control method, characterized in that, The method includes: Based on the robot's predicted motion speed at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed, the predicted motion speed of the robot at the next moment is obtained; the prediction model is constructed based on the robot's dynamic model. Based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment, construct an objective function; Based on the robot's predicted motion speed at the next moment and the objective function, the robot's predicted motion control variables at the next moment are obtained. The step of obtaining the predicted motion speed of the robot at the next moment based on the robot's predicted motion speed at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed includes: The prediction model of the motion speed is incrementally processed to obtain the target prediction model of the motion speed; The predicted motion speed and predicted motion control variables of the robot at the current moment are incrementally processed to obtain the increment of the predicted motion speed and the increment of the predicted motion control variables. Obtain the prediction time domain and control time domain of the target prediction model for the motion speed; Based on the target prediction model of the motion speed, the increment of the predicted motion speed and the increment of the predicted motion control variable are processed in the prediction time domain and control time domain to obtain the increment of the predicted motion speed and the increment of the predicted motion control variable corresponding to the prediction time domain, and the increment of the predicted motion speed and the increment of the predicted motion control variable corresponding to the control time domain. The increments of the predicted motion speed and the predicted motion control variables corresponding to the prediction time domain, and the increments of the predicted motion speed and the predicted motion control variables corresponding to the control time domain, are input into the target prediction model of the motion speed for processing to obtain the increment of the robot's predicted motion speed at the next moment. The predicted motion speed of the robot at the next moment is obtained based on the increment of the robot's predicted motion speed at the current moment and the robot's predicted motion speed at the current moment.

2. The method according to claim 1, characterized in that, The method further includes: Obtain the dynamic model of the robot; The dynamic model of the robot is linearized and discretized to obtain a predictive model of the robot's motion speed.

3. The method according to claim 1 or 2, characterized in that, If the predicted motion information includes predicted depth information, and the desired motion information includes desired depth information, then the step of constructing an objective function based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment includes: Obtain the robot's predicted depth information, expected depth information, first weight matrix, second weight matrix, and predicted motion control variables at the current moment; The predicted motion control variables of the robot at the current moment are incremented to obtain the increment of the predicted motion control variables of the robot at the current moment. Calculate the difference between the robot's predicted depth information and expected depth information at the current moment, and obtain a first function based on the difference and the first weight matrix; Based on the robot's predicted motion control variables at the current moment and the second weight matrix, the second function is obtained; The target function is obtained based on the first function and the second function.

4. The method according to claim 1 or 2, characterized in that, If the predicted motion information includes predicted posture information, and the desired motion information includes desired posture information, then the step of constructing an objective function based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment includes: Obtain the robot's predicted posture information, desired posture information, third weight matrix and fourth weight matrix at the current moment, and the robot's predicted motion control variables at the current moment; The predicted motion control variables of the robot at the current moment are incremented to obtain the increment of the predicted motion control variables of the robot at the current moment. Calculate the difference between the robot's predicted posture information and expected posture information at the current moment, and obtain the third function based on the difference and the third weight matrix; Based on the robot's predicted motion control variables and the fourth weight matrix at the current moment, the fourth function is obtained; The target function is obtained based on the third function and the fourth function.

5. The method according to claim 1, characterized in that, The step of obtaining the predicted motion control variables of the robot at the next moment based on the robot's predicted motion velocity at the next moment and the objective function includes: The predicted motion control variables of the robot at the next moment are incremented to obtain the increment of the predicted motion control variables of the robot at the next moment. Obtain the threshold for the increment of the predicted motion control variables of the robot at the next moment; Based on the threshold of the predicted motion control variable increment of the robot at the next moment, the quadratic programming algorithm, and the objective function, the predicted motion control variable increment of the robot at the next moment is obtained. Based on the increment of the robot's predicted motion control variables at the next moment and the robot's predicted motion control variables at the current moment, the robot's predicted motion control variables at the next moment are obtained.

6. A robot motion control device, characterized in that, The device includes: The prediction module is used to obtain the predicted motion speed of the robot at the next moment based on the predicted motion speed of the robot at the current moment, the predicted motion control variables, and the prediction model of the robot's motion speed; the prediction model is constructed based on the robot's dynamic model. The objective function construction module is used to construct an objective function based on the robot's predicted motion information, desired motion information, predicted motion speed, and predicted motion control variables at the current moment. The data acquisition module is used to obtain the predicted motion control variables of the robot at the next moment based on the robot's predicted motion speed at the next moment and the objective function; Specifically, the prediction module is used to incrementally process the prediction model of the motion speed to obtain the target prediction model of the motion speed; incrementally process the predicted motion speed and predicted motion control variables of the robot at the current moment to obtain the increment of the predicted motion speed and the increment of the predicted motion control variables; obtain the prediction time domain and control time domain of the target prediction model of the motion speed; and process the increment of the predicted motion speed and the increment of the predicted motion control variables based on the prediction time domain and control time domain of the target prediction model of the motion speed to obtain the increment of the predicted motion speed and the increment of the predicted motion control variables corresponding to the prediction time domain. The increment of the motion control variable is calculated, and the increment of the predicted motion speed and the increment of the predicted motion control variable corresponding to the control time domain are obtained. The increment of the predicted motion speed and the increment of the predicted motion control variable corresponding to the control time domain are input into the target prediction model of the motion speed for processing to obtain the increment of the predicted motion speed of the robot at the next moment. Based on the increment of the predicted motion speed of the robot at the next moment and the predicted motion speed of the robot at the current moment, the predicted motion speed of the robot at the next moment is obtained.

7. The apparatus according to claim 6, characterized in that, The prediction module is also used to obtain the dynamic model of the robot; and to perform linearization and discretization processing on the dynamic model of the robot to obtain a prediction model of the robot's motion speed.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 5.

9. 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 steps of the method according to any one of claims 1 to 5.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Machine animal control method, controller and machine animal

    CN115327917A