Robot motion control method, device, equipment and storage medium

By constructing a nonlinear optimization model and solving the predictive control vector, the stability and flexibility issues of legged robot motion control were solved, and precise motion control on complex terrain was achieved.

CN119292250BActive Publication Date: 2026-03-17GUANGZHOU SHIYUAN ELECTRONICS CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-28
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

How to effectively solve the motion control problem of legged robots, especially to achieve stable and flexible motion control in complex terrain.

Method used

By constructing a nonlinear optimization model, the current state vector of the target robot is obtained, and the optimization model is solved within the prediction time period to obtain the predicted control vector and state vector. Combined with friction cone constraints and dynamic equations, precise motion control of the robot is achieved.

Benefits of technology

It achieves accurate motion control of the robot, improves the motion control effect, and ensures the stability and flexibility of the robot in complex terrain.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292250B_ABST
    Figure CN119292250B_ABST
Patent Text Reader

Abstract

This application provides a robot motion control method, apparatus, device, and storage medium. The method includes: acquiring the current state vector of a target robot; constructing a nonlinear optimization model of the target robot within a predicted time period, wherein the nonlinear optimization model uses the state vector and control vector of the target robot within the predicted time period as optimization objectives; solving the nonlinear optimization model based on the current state vector to obtain the predicted control vector and predicted state vector of the target robot at each predicted moment within the predicted time period; and performing motion control on the target robot based on the predicted state vector and the predicted control vector. This technical solution can achieve accurate motion control of a robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and in particular to robot motion control methods, devices, equipment and storage media. Background Technology

[0002] Ground mobile robots can be classified into tracked, wheeled, legged, and hybrid types based on their structure and locomotion. Compared to wheeled robots, legged robots have advantages such as strong terrain adaptability and high flexibility, and are widely used in many fields to replace humans in performing various complex tasks.

[0003] How to control the movement of legged robots during their walking motion has become a pressing technical problem that needs to be solved. Summary of the Invention

[0004] This application provides a method, apparatus, device, and storage medium for robot motion control to solve the motion control problem of legged robots.

[0005] Firstly, a robot motion control method is provided, comprising:

[0006] Obtain the current state vector of the target robot, which is used to characterize the current body state and joint position of the target robot;

[0007] A nonlinear optimization model for the target robot is constructed within a predicted time period, the predicted time period including at least one predicted moment, the at least one predicted moment including the current moment, the nonlinear optimization model taking the state vector and control vector of the target robot within the predicted time period as optimization objectives, the control vector being used to characterize the plantar contact force and joint angular velocity of the target robot's legs;

[0008] The nonlinear optimization model is solved based on the current state vector to obtain the prediction control vector and prediction state vector of the target robot at each prediction time within the prediction time period.

[0009] The target robot is motion controlled based on the predicted state vector and the predicted control vector.

[0010] In this technical solution, the current state vector of the target robot is first obtained, and a nonlinear optimization model of the target robot within the predicted time period is constructed. Then, based on the current state vector of the target robot, the nonlinear optimization model is solved to obtain the predicted control vector and predicted state vector of the target robot within the predicted time period. Finally, based on the predicted control vector and predicted state vector of the target robot within the predicted time period, motion control of the target robot is achieved. In addition, by constructing and solving the nonlinear optimization model to obtain the predicted state vector and predicted control vector, motion control of the robot is achieved. By combining state planning and motion control as a whole optimization problem, accurate motion control can be performed, improving the motion control effect.

[0011] In conjunction with the first aspect, in one possible implementation, the nonlinear optimization model includes an optimization objective function, which constrains the error between the predicted data and the expected data of the target robot within the predicted time period. By constraining the error between the predicted data and the expected data in the nonlinear optimization model, the finally solved predicted control vector and predicted state vector can be made to meet the expectations.

[0012] In conjunction with the first aspect, in one possible implementation, the optimization objective function includes a first constraint function and a second constraint function. The first constraint function is used to constrain the error between the predicted control vector and the desired control vector of the target robot during the prediction time period, and the second constraint function is used to constrain the error between the predicted state vector and the desired state vector of the target robot during the prediction time period.

[0013] In conjunction with the first aspect, in one possible implementation, the optimization objective function is also used to constrain the plantar contact force of the target robot's legs. By constraining the plantar contact force of the target robot in a nonlinear optimization model, the target robot can achieve stable movement.

[0014] In conjunction with the first aspect, in one possible implementation, the optimization objective function includes a third constraint function, which is obtained based on the transformation of the friction cone constraint inequality.

[0015] In conjunction with the first aspect, in one possible implementation, the optimization objective function is also used to constrain the value range of the motion control variables of the target robot. By constraining the value range of the motion control variables of the target robot in the nonlinear optimization model, the hardware settings of the target robot can be met.

[0016] In conjunction with the first aspect, in one possible implementation, the nonlinear optimization model further includes a first set of constraint equations, which defines the relationship between the state vector at the next time step and the state vector and control vector at the previous time step. By defining the state vectors and control vectors at adjacent time steps in the nonlinear optimization model, the motion of the target robot can be made to conform to the laws of dynamics.

[0017] In conjunction with the first aspect, in one possible implementation, the first set of constraint equations includes a plurality of discrete dynamic equations, which are obtained by discretizing the continuous-form dynamic equations.

[0018] In conjunction with the first aspect, in one possible implementation, the nonlinear optimization model further includes a second set of constraint equations, which are used to limit the velocity of the target robot's leg end effector. By limiting the velocity of the target robot's leg end effector in the nonlinear optimization model, the motion of the target robot can be made to conform to the robot's gait period.

[0019] In conjunction with the first aspect, in one possible implementation, solving the nonlinear optimization model based on the current state vector to obtain the predicted control vector and predicted state vector of the target robot at each predicted moment within the predicted time period includes: substituting the current state vector into the nonlinear optimization model to obtain a target model, wherein the target model uses the control vector at each predicted moment within the predicted time period as independent variables; solving for the optimal independent variables of the target model to obtain the predicted control vector; and determining the predicted state vector based on the current state vector, the predicted control vector, and the relationship between the state vector and the control vector.

[0020] In conjunction with the first aspect, in one possible implementation, the step of performing motion control on the target robot based on the predicted state vector and the predicted control vector includes: obtaining the predicted control vector of the target robot at a first predicted time from the predicted control vector, and obtaining the joint angle position vector of the target robot at a second predicted time from the predicted state vector, wherein the first predicted time is any predicted time within the predicted time period, and the second predicted time is the next predicted time after the first predicted time within the predicted time period; and performing motion control on the target robot based on the predicted control vector of the target robot at the first predicted time and the joint angle position vector of the target robot at the second predicted time.

[0021] Secondly, a robot motion control device is provided, comprising:

[0022] The vector acquisition module is used to acquire the current state vector of the target robot, which represents the current body state and joint position of the target robot.

[0023] An optimization model building module is used to build a nonlinear optimization model of the target robot within a prediction time period. The prediction time period includes at least one prediction moment, and the at least one prediction moment includes the current moment. The nonlinear optimization model takes the state vector and control vector of the target robot within the prediction time period as optimization objectives. The control vector is used to characterize the plantar contact force and joint angular velocity of the target robot's legs.

[0024] The model solving module is used to solve the nonlinear optimization model based on the current state vector to obtain the predicted control vector and predicted state vector of the target robot at each prediction time within the prediction time period.

[0025] The motion control module is used to perform motion control on the target robot based on the predicted state vector and the predicted control vector.

[0026] Thirdly, a computer device is provided, including a memory and one or more processors, the memory being connected to the one or more processors, the one or more processors being configured to execute one or more computer programs stored in the memory, the one or more processors causing the computer device to implement the robot motion control method of the first aspect described above when executing the one or more computer programs.

[0027] Fourthly, a computer-readable storage medium is provided, which stores a computer program, the computer program including program instructions, which, when executed by a processor, cause the processor to perform the robot motion control method of the first aspect.

[0028] This application can achieve the following technical effects: it realizes the motion control of the robot; in addition, by constructing a nonlinear optimization model and solving it to obtain the predicted state vector and predicted control vector, the robot can be motion controlled. By combining state planning and motion control as a whole optimization problem, accurate motion control can be achieved and the motion control effect can be improved. Attached Figure Description

[0029] Figure 1 A flowchart illustrating a robot motion control method provided in an embodiment of this application;

[0030] Figure 2 This is a schematic diagram of the structure of a robot motion control device provided in an embodiment of this application;

[0031] Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0032] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.

[0033] The technical solution of this application is applicable to motion planning scenarios for robots, specifically for motion control of multi-legged robots. In this application, a multi-legged robot refers to a robot with multiple legs, which can specifically be a bipedal robot, a quadrupedal robot, or a hexapedal robot, etc.

[0034] The technical solution of this application can be applied to computer equipment. The computer equipment can be a multi-legged robot or a device connected to the multi-legged robot. The device connected to the multi-legged robot can be a back-end system that is compatible with the multi-legged robot, a cloud server in the cloud platform corresponding to the multi-legged robot, etc., and is not limited to the examples here.

[0035] The technical solution of this application is described in detail below.

[0036] See Figure 1 , Figure 1 This is a flowchart illustrating a robot motion control method provided in an embodiment of this application, as shown below. Figure 1 As shown, the method includes the following steps:

[0037] S101, Obtain the current state vector of the target robot.

[0038] Here, the current state vector of the target robot is used to characterize the current body state and joint positions of the target robot. In one feasible implementation, the current state vector of the target robot can be represented as x. i =[p i θ i v i ω i q i ]; where i represents the current time index, p i p represents the position of the target robot's body in the world coordinate system at the current moment. i It is a 3-dimensional vector; θ i θ represents the orientation of the target robot's body at the current moment. i Presented in Euler angles, it is a 3-dimensional vector; v i Let v represent the linear velocity of the target robot's body in the world coordinate system at the current moment. i It is a 3-dimensional vector; ω i ω represents the angular velocity of the target robot's body in the world coordinate system at the current moment.i q is a 3-dimensional vector; i q represents the joint angle position of the target robot. i The dimension of q depends on the structure of the target robot. For example, if the target robot is a quadruped robot with 12 joint motors, then q i It is a 12-dimensional vector.

[0039] In practice, the current state vector of the target robot can be obtained by collecting the current actual joint position, joint velocity, and joint torque value of the joint motors of the target robot, and calculating the robot's body posture, body position, body velocity, and body acceleration.

[0040] S102, Construct a nonlinear optimization model for the target robot within the predicted time period.

[0041] Here, the prediction time period refers to the prediction time period including the current time, and the prediction time period includes at least one prediction time. If the prediction time period includes one prediction time, the prediction time within the prediction time period is the current time; if the prediction time period includes multiple prediction times, the prediction times within the prediction time period include the current time and at least one time after the current time. Each prediction time in the prediction time period can be represented as {t}. i , t i+1 , t i+2 ,….t i+N-1}, where N is the total number of prediction times within the prediction time period.

[0042] The nonlinear optimization model aims to optimize the state vector and control vector of the target robot within the predicted time period. Specifically, it determines the state and control vectors suitable for the robot's motion within the predicted time period. These vectors can be called the predicted state vector and predicted control vector. The predicted state vector of the target robot within the predicted time period characterizes its body state and joint positions. The predicted state vector can be represented as x. i+k k = {0, 1, 2, ..., N-1}, the state vector of the target robot during the prediction time period is in the same form as the current state vector in step S101 above, i.e., x i+k =[p i+k θ i+k v i+k ω i+k q i+kThe predictive control vector of the target robot within the prediction time period is used to characterize the plantar contact force and joint angular velocity of the target robot's legs within the prediction time period. The predictive control vector of the target robot within the prediction time period can be represented as u. i+k k = {0, 1, 2, ..., N-1} f i+k f represents the plantar contact force of the target robot's leg at time (i+k). i+k It is a 3*n dimensional vector, where n is the number of legs of the target robot; This represents the joint angular velocity of the target robot. The dimension depends on the structure of the target robot. For example, if the target robot is a quadruped robot with 12 joint motors, then... It is a 12-dimensional vector. In a nonlinear optimization model, the predicted state vector x... i+k and predictive control vector u i+k The unknown quantity to be solved.

[0043] A nonlinear optimization model can include an objective function, the optimization objective of which is to minimize the value of the objective function. The objective function constrains the error between the predicted and expected data of the target robot within the prediction time period. The smaller the error between the predicted and expected data of the target robot within the prediction time period, the more accurate the optimized prediction data. Therefore, the constructed nonlinear optimization model includes: L k (x i+k u i+k To optimize the function value of the objective function.

[0044] Since the nonlinear optimization model takes the state vector and control vector within the prediction time period as the optimization objective, the prediction data of the target robot within the prediction time period includes the predicted state vector and the predicted control vector, which are respectively the aforementioned x. i+k and u i+k The target robot's expected data within the prediction time period includes the expected state vector and the expected control vector, which can be represented as follows: and Expected state expected vector With the predicted state vector x i+k They have the same form of expression, and the expected control vector With predictive control vector u i+k They have the same form of representation. Expected state vector and desired control vector Given the known quantities, the desired state vector The desired control vector can be determined based on the user's speed command. In The component is 0, and the f component is obtained by averaging the body weight of the target robot and the number of supporting legs.

[0045] The optimization objective function can specifically include a first constraint function and a second constraint function. The first constraint function constrains the error between the predicted control vector and the desired control vector of the target robot within the prediction time period, while the second constraint function constrains the error between the predicted state vector and the desired state vector of the target robot within the prediction time period. The function value of the optimization objective function is obtained based on the function values ​​of the first constraint function and the second constraint function.

[0046] In one feasible implementation, the error between the predicted data and the expected data can be measured based on the vector 2 norm, and the first constraint function can be expressed as follows: The second constraint function can be: Alternatively, other parameters can be used to measure the error between the predicted and expected data.

[0047] When the objective function includes both the first and second constraint functions, the objective function can be expressed as: By constraining the error between the predicted data and the expected data in the nonlinear optimization model, the final calculated predicted control vector and predicted state vector can meet the expectations.

[0048] Optionally, the objective function can also be used to constrain the plantar contact force of the target robot's legs. During the robot's motion, the plantar contact force affects its stability. The objective function is used to ensure that the plantar contact force conforms to the friction cone constraint, thereby improving the robot's motion stability.

[0049] The objective function for optimization can also include a third constraint function, which is obtained by transforming the friction cone constraint inequality.

[0050] In one feasible implementation, the friction cone constraint inequality can be:

[0051]

[0052] μ is the coefficient of friction. Let represent the z-component of the plantar contact force of the j-th leg of the target robot. Let x represent the component of the foot contact force of the j-th leg of the target robot in the x-direction. Let represent the component of the plantar contact force of the j-th leg of the target robot in the y-direction. composition Let be the plantar contact force of the j-th leg of the target robot. The third constraint function can be obtained by transforming the friction cone constraint inequality using methods such as the interior point method, the exterior point method, or the augmented Lagrange method. For example, the third constraint function obtained by transforming the friction cone constraint inequality using the exterior point method can be expressed as:

[0053]

[0054] ρ is a penalty factor introduced based on the exterior point method.

[0055] Alternatively, the friction cone constraint inequality can also be:

[0056]

[0057] ε is an adjustment parameter.

[0058] Accordingly, based on the external point method, the friction cone constraint inequality is transformed, and the resulting third constraint function can be expressed as:

[0059]

[0060] When the objective function also includes a third constraint function, the objective function can be expressed as follows:

[0061] Optionally, the objective function can also be used to constrain the range of values ​​for the target robot's motion control variables. These variables include the target robot's joint angular positions, joint angular velocities, and foot contact forces. The objective function is used to limit the target robot's motion control variables within a preset range.

[0062] The objective function can also include a fourth constraint function, which is derived from the transformation of the motion variable inequalities. The motion variable inequalities are as follows:

[0063] q min ≤q i+k ≤q max

[0064] f min ≤f i+k ≤f max

[0065]

[0066] Where, q min and q max f represents the maximum and minimum values ​​of the joint angle positions of the target robot, respectively. min and fmax Let represent the maximum and minimum values ​​of the plantar contact force of the target robot, respectively. and These represent the maximum and minimum joint angular velocities of the target robot, respectively.

[0067] Similarly, the fourth constraint function can be obtained by transforming the inequalities of motion variables using methods such as the interior-point method, the exterior-point method, and the augmented Lagrange method. The fourth constraint function can be expressed as...

[0068] When the objective function also includes a fourth constraint function, the objective function can be expressed as:

[0069]

[0070] By constraining the range of motion control variables of the target robot in the nonlinear optimization model, the hardware settings of the target robot can be met.

[0071] Optionally, the nonlinear optimization model may further include a first set of constraint equations, which defines the relationship between the state vector at the next time step and the state vector and control vector at the previous time step. The state vector of the target robot at the next time step is obtained based on the state vector and control vector at the previous time step, and the first set of constraint equations can be expressed as x i+k+1 =F k (x i+k u i+k ), k = 0, 1, 2, ..., N-1, F k This represents the relationship between the state vector at the next moment and the state vector and control vector at the previous moment.

[0072] The first set of constraint equations can include N discrete dynamic equations. These discrete dynamic equations can be obtained by discretizing the continuous-form dynamic equations, i.e., F k It is obtained by discretizing the continuous form of the dynamic equations.

[0073] Taking a quadruped robot as an example, the continuous-form dynamic equations are discretized to obtain F. k The process is as follows:

[0074] First, we obtain the continuous-form full dynamics equations of the quadruped robot. The continuous-form full dynamics equations are:

[0075]

[0076] Where M is the inertia matrix. and These represent the linear acceleration of the fuselage and the angular acceleration of the joints, respectively. denoted by ωi, representing the generalized fuselage angular acceleration. h represents the nonlinear term in the dynamic equations. S is the selection matrix. τ is the 12-dimensional joint torque. J is the contact Jacobian matrix. f is the plantar contact force.

[0077] Then, the above continuous-form total dynamic equations are simplified to obtain the central dynamic equations:

[0078] Where M1 is a 6×6 matrix in the top left corner of M. h1 is the first 6 rows of h. M2 is a 6×12 matrix in the top right corner of M. Divide the first 6 columns (12 rows) of matrix J into 4 groups of 3×6 matrices, J j Let f represent the single-leg Jacobian matrix respectively. j Let J represent the 3D plantar contact force vector on the j-th leg, and let J be the vector of the plantar contact force vector. j Correspondingly.

[0079] Next, based on the relationship The complete dynamic state-space equations of the robot continuous system are obtained. Finally, by discretizing the dynamic state-space equations, F is obtained. k .

[0080] By limiting the state vectors and control vectors at adjacent prediction times in the nonlinear optimization model, the motion of the target robot can be made to conform to the laws of dynamics.

[0081] Optionally, the nonlinear optimization model may also include a second set of constraint equations, which constrain the velocity of the target robot's end effector. The second set of constraint equations can be expressed as G... k (x i+k u i+k ) = 0. G k This represents the velocity constraint relationship at the end of the target robot's legs.

[0082] G k Specifically, it is used to represent the following constraint relationship: (1) For the j-th (j takes the value of 1 to n) leg of the target robot, if the j-th leg is in the swing phase, then the foot contact force f of the j-th leg is... j equals 0, that is, f j =0, the z-direction component V of the end-foot velocity corresponding to the j-th leg. z Equal to the planned value, i.e., V z The difference between V and the planned value is equal to 0. z -V0 = 0, where V0 is the planned value, obtained based on the gait sequence of the target robot within the prediction time period. zBased on the target robot's θ, v, ω, q, it is represented as follows: (2) If the j-th leg is the supporting phase, then the end velocity V of the corresponding foot of the j-th leg is equal to 0, that is, V = 0. Since the target robot has n legs, f j V is a 3-dimensional vector. z If G is a 1-dimensional vector and V is a 3-dimensional vector, then G... k The dimension is 4*(nm)+3*m=4n-m, where m is the number of supporting legs (i.e., the legs in the supporting phase) in the target robot. That is, the second set of constraint equations includes (4n-m)*N constraint equations.

[0083] By limiting the velocity of the target robot's leg end in a nonlinear optimization model, the robot's motion can be made to conform to the robot's gait cycle.

[0084] Based on the above description, the following nonlinear optimization model can be constructed:

[0085]

[0086] x i+k+1 =F k (x i+k u i+k k = 0, 1, 2, ..., N-1

[0087] G k (x i+k u i+k ) = 0, k = 0, 1, 2, ..., N-1

[0088] S103, based on the current state vector of the target robot, solve the nonlinear optimization model of the target robot within the prediction time period to obtain the prediction control vector and prediction state vector of the target robot at each prediction time within the prediction time period.

[0089] The nonlinear optimization model of the target robot within the prediction time period can be solved through the following steps A1-A3 to obtain the prediction control vector and prediction state vector of the target robot at each prediction time point within the prediction time period:

[0090] A1. Substitute the current state vector of the target robot into the nonlinear optimization model of the target robot within the prediction time period to obtain the target model.

[0091] Since the target robot's state vector at the next moment is related to the target robot's state vector and control vector at the previous moment, the target robot's state vector at the next moment can be represented by the target robot's state vector and control vector at the previous moment. After substituting the target robot's current state vector into the nonlinear optimization model of the target robot within the prediction time period, the state vector of the target robot at each prediction moment within the prediction time period can be represented by the target robot's current state vector and the target robot's control vector at each prediction moment.

[0092] Taking i=0 as an example, then:

[0093] x1 = F0(x0, u0)

[0094] x2=F1(x1,u1)=F1(F0(x0,u0),u1)

[0095]

[0096] x N-1 =F N-2 (x N-2 u N-2 ) = F N-2 (F N-3 (x N-3 u N-3 ), u1)

[0097] x0 is the current state vector of the target robot, and x0 is a known quantity. Using the current state vector x0 and control vectors u0, u1, u2, ..., u N-1 The state vector x1~x represents the state vector at the next time step. N-1 Then, the target model can be obtained, and the unknowns in the target model are the control vectors u0, u1, u2, ..., u N-1 That is, the target model uses the control vector at each prediction time within the prediction time period as the independent variable.

[0098] A2. Solve for the optimal independent variables of the target model to obtain the prediction control vector of the target robot at each prediction time within the prediction time period.

[0099] The optimal independent variables of the target model can be solved using methods such as gradient method, Newton's method, and conjugate gradient method, so as to obtain the prediction control vector of the target robot at each prediction time within the prediction time period.

[0100] A3. Based on the target robot's current state vector, the target robot's predictive control vector at each prediction moment within the prediction time period, and the relationship between the state vector and the control vector, determine the target robot's predictive state vector at each prediction moment within the prediction time period.

[0101] Here, the predicted state vector for the next prediction time is obtained based on the predicted state vectors for the previous prediction time, i.e., x i+k+1 =F k (x i+k u i+k ).

[0102] S104. Motion control is performed on the target robot based on the predicted control vector and predicted state vector of the target robot at each predicted moment within the predicted time period.

[0103] The target robot can be motion controlled through the following steps B1-B3:

[0104] B1. Obtain the prediction control vector of the target robot at the first prediction time from the prediction control vectors of the target robot at each prediction time within the prediction time period, and obtain the joint angle position vector of the target robot at the second prediction time from the prediction state vectors of the target robot at each prediction time within the prediction time period.

[0105] The first prediction time can be any prediction time within the prediction time period, and the first prediction time can be represented as t. i+k. The prediction control vector at the first prediction time is u. i+k =[f i+k q i+k The second prediction time is the next prediction time after the first prediction time, and the second prediction time can be represented as t. i+k+1 The predicted state vector x at the second prediction time i+k+1 =[p i+k+1 θ i+k+1 v i+k+1 ω i+k+1 q i+k+1 The joint angle position vector of the target robot at the second prediction time is obtained from the predicted state vector at the second prediction time. i+k+1 .

[0106] B2. Motion control of the target robot is performed based on the predicted control vector of the target robot at the first prediction time and the joint angle position vector of the target robot at the second prediction time.

[0107] Specifically, the joint position, joint velocity, and torque feedforward of the target robot's legs can be calculated based on the predicted control vector of the target robot at the first prediction time and the joint angular position vector of the target robot at the second prediction time. The joint movement of the target robot can be controlled based on the joint position, joint velocity, and torque feedforward of the target robot's legs to enable the target robot to move.

[0108] In the above Figure 1 In the corresponding technical solution, the current state vector of the target robot is first obtained, and a nonlinear optimization model of the target robot within the predicted time period is constructed. Then, based on the current state vector of the target robot, the nonlinear optimization model is solved to obtain the predicted control vector and predicted state vector of the target robot within the predicted time period. Finally, based on the predicted control vector and predicted state vector of the target robot within the predicted time period, motion control of the target robot is performed, thus realizing motion control of the robot. In addition, by constructing a nonlinear optimization model and solving it to obtain the predicted state vector and predicted control vector, motion control of the robot is performed. By combining state planning and motion control as a whole optimization problem, accurate motion control can be achieved, improving the motion control effect.

[0109] The method of this application has been described above; the apparatus of this application will be described below.

[0110] See Figure 2 , Figure 2 This is a schematic diagram of the structure of a robot motion control device provided in an embodiment of this application. Figure 2 As shown, the robot motion control device 20 includes:

[0111] The vector acquisition module 201 is used to acquire the current state vector of the target robot, wherein the current state vector is used to characterize the current body state and joint position of the target robot;

[0112] The optimization model construction module 202 is used to construct a nonlinear optimization model of the target robot within a prediction time period. The prediction time period includes at least one prediction moment, and the at least one prediction moment includes the current moment. The nonlinear optimization model takes the state vector and control vector of the target robot within the prediction time period as optimization objectives. The control vector is used to characterize the plantar contact force and joint angular velocity of the target robot's legs.

[0113] The model solving module 203 is used to solve the nonlinear optimization model based on the current state vector to obtain the prediction control vector and prediction state vector of the target robot at each prediction time within the prediction time period.

[0114] The motion control module 204 is used to perform motion control on the target robot based on the predicted state vector and the predicted control vector.

[0115] In one possible design, the nonlinear optimization model includes an optimization objective function that constrains the error between the predicted data and the expected data of the target robot during the prediction time period.

[0116] In one possible design, the optimization objective function includes a first constraint function and a second constraint function. The first constraint function is used to constrain the error between the predicted control vector and the desired control vector of the target robot during the prediction time period, and the second constraint function is used to constrain the error between the predicted state vector and the desired state vector of the target robot during the prediction time period.

[0117] In one possible design, the optimization objective function is also used to constrain the plantar contact force of the target robot's legs.

[0118] In one possible design, the optimization objective function includes a third constraint function, which is obtained based on the transformation of the friction cone constraint inequality.

[0119] In one possible design, the optimization objective function is also used to constrain the range of values ​​for the motion control variables of the target robot.

[0120] In one possible design, the nonlinear optimization model further includes a first set of constraint equations, which defines the relationship between the state vector at the next time step and the state vector and control vector at the previous time step.

[0121] In one possible design, the first set of constraint equations includes multiple discrete dynamic equations, which are obtained by discretizing the continuous-form dynamic equations.

[0122] In one possible design, the nonlinear optimization model further includes a second set of constraint equations, which are used to limit the velocity of the end effector of the target robot's legs.

[0123] In one possible design, the model solving module 203 is specifically used to: substitute the current state vector into the nonlinear optimization model to obtain a target model, wherein the target model uses the control vectors at each prediction time within the prediction time period as independent variables; solve for the optimal independent variables of the target model to obtain the predicted control vector; and determine the predicted state vector based on the current state vector, the predicted control vector, and the relationship between the state vector and the control vector.

[0124] In one possible design, the motion control module 204 is specifically used to: obtain the predicted control vector of the target robot at a first predicted time from the predicted control vector, and obtain the joint angle position vector of the target robot at a second predicted time from the predicted state vector, wherein the first predicted time is any predicted time within the predicted time period, and the second predicted time is the next predicted time after the first predicted time within the predicted time period; and perform motion control on the target robot based on the predicted control vector of the target robot at the first predicted time and the joint angle position vector of the target robot at the second predicted time.

[0125] It should be noted that, Figure 2 For any content not mentioned in the corresponding embodiments, please refer to the description of the foregoing method embodiments, which will not be repeated here.

[0126] The aforementioned device first acquires the current state vector of the target robot and constructs a nonlinear optimization model of the target robot within the predicted time period. Then, based on the current state vector of the target robot, it solves the nonlinear optimization model to obtain the predicted control vector and predicted state vector of the target robot within the predicted time period. Finally, based on the predicted control vector and predicted state vector of the target robot within the predicted time period, it performs motion control on the target robot, thus realizing motion control of the robot. In addition, by constructing and solving the nonlinear optimization model to obtain the predicted state vector and predicted control vector, and then performing motion control on the robot, state planning and motion control are combined as a whole optimization problem to be solved, which enables accurate motion control and improves the motion control effect.

[0127] See Figure 3 , Figure 3 This is a schematic diagram of the structure of a computer device 30 provided in an embodiment of this application. The computer device 30 includes a processor 301 and a memory 302. The memory 302 is connected to the processor 301, for example, via a bus.

[0128] Processor 301 is configured to support the computer device 30 in performing the corresponding functions in the methods described in the above method embodiments. Processor 301 may be a central processing unit (CPU), a network processor (NP), a hardware chip, or any combination thereof. The aforementioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0129] Memory 302 is used to store program code, etc. Memory 302 may include volatile memory (VM), such as random access memory (RAM); memory 302 may also include non-volatile memory (NVM), such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); memory 302 may also include combinations of the above types of memory.

[0130] Processor 301 can call the program code to perform the following operations:

[0131] Obtain the current state vector of the target robot, which is used to characterize the current body state and joint position of the target robot;

[0132] A nonlinear optimization model for the target robot is constructed within a predicted time period, the predicted time period including at least one predicted moment, the at least one predicted moment including the current moment, the nonlinear optimization model taking the state vector and control vector of the target robot within the predicted time period as optimization objectives, the control vector being used to characterize the plantar contact force and joint angular velocity of the target robot's legs;

[0133] The nonlinear optimization model is solved based on the current state vector to obtain the prediction control vector and prediction state vector of the target robot at each prediction time within the prediction time period.

[0134] The target robot is motion controlled based on the predicted state vector and the predicted control vector.

[0135] This application also provides a computer-readable storage medium storing a computer program, the computer program including program instructions, which, when executed by a computer, cause the computer to perform the method described in the foregoing embodiments.

[0136] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.

[0137] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.

Claims

1. A robot motion control method characterized by, The method comprises: obtaining a current state vector of a target robot, the current state vector being used to represent a current body state and joint position of the target robot; constructing a nonlinear optimization model of the target robot in a prediction time period, the prediction time period comprising at least one prediction time point, the at least one prediction time point comprising a current time point, the nonlinear optimization model taking a state vector and a control vector of the target robot in the prediction time period as an optimization objective, the control vector being used to represent a foot contact force and a joint angular velocity of a leg of the target robot; solving the nonlinear optimization model based on the current state vector to obtain a prediction control vector and a prediction state vector of the target robot at each prediction time point in the prediction time period, comprising: substituting the current state vector into the nonlinear optimization model to obtain a target model, the target model taking the control vector at each prediction time point in the prediction time period as an independent variable; solving an optimal independent variable of the target model to obtain the prediction control vector; and determining the prediction state vector according to the current state vector, the prediction control vector, and a relationship between the state vector and the control vector; controlling motion of the target robot according to the prediction state vector and the prediction control vector.

2. The method of claim 1, wherein, The nonlinear optimization model comprises an optimization objective function, the optimization objective function being used to constrain an error between prediction data and expected data of the target robot in the prediction time period.

3. The method of claim 2, wherein, The optimization objective function comprises a first constraint function and a second constraint function, the first constraint function being used to constrain an error between the prediction control vector and an expected control vector of the target robot in the prediction time period, and the second constraint function being used to constrain an error between the prediction state vector and an expected state vector of the target robot in the prediction time period.

4. The method of claim 2, wherein, The optimization objective function is also used to constrain the foot contact force of the leg of the target robot, and / or the optimization objective function is also used to constrain a value range of a motion control variable of the target robot.

5. The method of claim 4, wherein, The optimization objective function comprises a third constraint function, the third constraint function being obtained based on conversion of a friction cone constraint inequality.

6. The method of claim 2, wherein, The nonlinear optimization model further comprises a first constraint equation set and / or a second constraint equation set, the first constraint equation set being used to define a relationship between a state vector at a next time point and a state vector and a control vector at a previous time point, and the second constraint equation set being used to define a velocity of a leg end of the target robot.

7. The method of claim 6, wherein, The first constraint equation set comprises a plurality of discrete dynamic equations, the discrete dynamic equations being obtained by discretization of a continuous form of dynamic equation.

8. The method according to any one of claims 1 to 7, characterized in that, The controlling motion of the target robot according to the prediction state vector and the prediction control vector comprises: obtain a predicted control vector of the target robot at a first predicted time from the predicted control vectors, and obtain a joint angle position vector of the target robot at a second predicted time from the predicted state vectors, the first predicted time being any predicted time within the predicted time period, and the second predicted time being a next predicted time of the first predicted time within the predicted time period; perform motion control on the target robot according to the predicted control vector of the target robot at the first predicted time and the joint angle position vector of the target robot at the second predicted time.

9. A robot motion control apparatus characterized by comprising: The method comprises the following steps: obtaining a current state vector of a target robot, the current state vector being used to represent a current body state and joint position of the target robot; constructing a nonlinear optimization model of the target robot within a predicted time period, the predicted time period comprising at least one predicted time, the at least one predicted time comprising a current time, the nonlinear optimization model taking a state vector and a control vector of the target robot within the predicted time period as an optimization objective, the control vector being used to represent a foot contact force and a joint angular velocity of a leg of the target robot; solving the nonlinear optimization model based on the current state vector to obtain a predicted control vector and a predicted state vector of the target robot at each predicted time within the predicted time period, and specifically used for: substituting the current state vector into the nonlinear optimization model to obtain a target model, the target model taking the control vector at each predicted time within the predicted time period as an independent variable; solving an optimal independent variable of the target model to obtain the predicted control vector; and determining the predicted state vector according to the current state vector, the predicted control vector, and a relationship between the state vector and the control vector; performing motion control on the target robot according to the predicted state vector and the predicted control vector.

10. A computer device, comprising: The computer device comprises a memory and a processor, the memory is connected to the processor, and the processor is used to execute one or more computer programs stored in the memory, and the processor, when executing the one or more computer programs, causes the computer device to implement the method in any one of claims 1-8.

11. A computer readable storage medium, characterized in that, The computer readable storage medium stores a computer program, the computer program comprises program instructions, and the program instructions, when executed by a processor, cause the processor to execute the method in any one of claims 1-8. The computer readable storage medium stores a computer program, the computer program comprises program instructions, and the program instructions, when executed by a processor, cause the processor to execute the method in any one of claims 1-8.

Citation Information

Patent Citations

  • Global balance control method and device for foot-type robot and foot-type robot

    CN114137840A