A High-Dynamic Jumping Motion Control Method for Humanoid Robots Based on Online Centroid Trajectory Optimization
By decomposing the jumping process based on a humanoid robot dynamics model and optimizing the center of mass trajectory, and using a model predictive controller and a whole-body controller to achieve online center of mass trajectory optimization, the problem of jumping motion control of humanoid robots in complex environments is solved, improving control accuracy and real-time performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-12
- Publication Date
- 2026-04-03
AI Technical Summary
Existing humanoid robots struggle to optimize their jumping trajectories online in complex environments, resulting in poor real-time performance and reduced control accuracy, making them unsuitable for complex working conditions.
Based on the dynamics model of a humanoid robot, the jumping process is decomposed into the stages of take-off, airborne and landing. A single rigid body model is constructed and the center of mass trajectory is optimized. The model predictive controller is used to track the center of mass trajectory and calculate the foot contact force. Combined with the whole body controller, the joint motion is calculated to achieve high dynamic jump control.
It significantly improves the control accuracy and real-time performance of humanoid robot jumping motion, enhances adaptability in unknown environments, avoids the problems of large computational load and long time, and improves the stable control of the robot in irregular terrain environments.
Smart Images

Figure CN118682750B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization, belonging to the fields of robotics and artificial intelligence. Background Technology
[0002] Dynamic mobility is a key performance indicator for humanoid robots, with jumping significantly enhancing their flexibility and adaptability to unstructured terrain. When navigating complex, unstructured environments such as staircases, rainforests, and ruins, humanoid robots must jump to overcome obstacles due to the varied and challenging terrain. Failure to meet the demands of such complex and dynamic environments, or unstable control during jumps, can damage the robot's body and associated electronic equipment, and severely impact its overall control performance. Therefore, effective jump control is a crucial component of a humanoid robot's dynamic mobility.
[0003] Numerous scholars have proposed various innovative control strategies and methods for jumping control of humanoid robots, with Virtual Model Control (VMC) and whole-body motion planning being the main approaches. Within VMC, the Spring Loaded Inverted Pendulum Model (SLIP) is widely used for dynamic running and jumping movements in monopedal and bipedal robots with a concentrated center of mass due to its simple construction and intuitive control method. However, as a simplified model, it is difficult to directly apply to humanoid robots with complex dynamic systems. Currently, a common approach is to use a nonlinear controller to synchronize the SLIP model with the humanoid robot's dynamics, causing the robot's center of mass to move according to the SLIP model's motion pattern. However, this method struggles to incorporate task constraints or motion constraints (such as humanoid robot stability, maximum joint torque, etc.), and heuristic control strategies reduce robot motion accuracy, making it difficult to adapt to complex working conditions caused by changes in the external environment.
[0004] Full-body trajectory optimization is commonly used for motion planning in robots under complex constraints. The optimized joint motion and torque information is input as control and feedforward variables into the robot's joint motion control closed loop, demonstrating good control performance. However, these methods are not limited to a single task objective but seek optimal solutions across a broader task space. Trajectory optimization is also the most common method for controlling jumping motion in humanoid robots, but existing methods suffer from high computational costs and long optimization times, and cannot achieve online trajectory generation. Furthermore, in continuous and complex task scenarios, due to the lack of online adjustment capabilities, the cumulative tracking error of the robot on the preset trajectory or changes in the working environment directly affect the robot's control performance. This makes full-body trajectory optimization difficult to apply in real-world work scenarios.
[0005] In contrast, in real life, when humans jump, they first determine the landing point based on the actual movement scenario, and then proceed with the three stages of takeoff, flight, and landing in sequence, without needing a highly accurate and lengthy trajectory planning process. Analogously, the challenge for humanoid robots in mimicking human jumps lies in how to quickly plan and accurately control the robot system after receiving the target landing point.
[0006] In summary, there is an urgent need for a method based on online centroid trajectory optimization and high dynamic motion control in humanoid robot jumping motion control technology. Summary of the Invention
[0007] To address the problems of existing humanoid robot jumping motion control in complex environments, such as the inability to optimize motion trajectory online, poor real-time performance, and reduced control accuracy, this invention provides a high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization.
[0008] This invention discloses a high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization.
[0009] Based on the humanoid robot dynamics model, the humanoid robot's center of mass dynamics model is obtained;
[0010] Based on the analysis of the complete human jumping process, the humanoid robot jumping process is divided into three stages: take-off, take-off, and landing. The centroid dynamics model is transformed into a single rigid body model. The constraints of the single rigid body model are constructed, and the centroid trajectory of the humanoid robot in the expected jumping motion is optimized under the conditions of setting the initial position, setting the target position, and setting the cost function weight.
[0011] The model predictive controller is used to track the trajectory of the center of mass of the desired jump motion and calculate the contact force of the humanoid robot's feet during the tracking process; then the whole body controller is used to calculate the desired position, desired velocity and desired driving torque of the humanoid robot's whole body drive joints during the tracking process, and the humanoid robot's jump motion is controlled by the actuator.
[0012] The present invention provides a high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization.
[0013] The humanoid robot dynamics model includes the system's generalized position vector expression and the humanoid robot's equations of motion about the inertial frame; whereby the system's generalized position vector expression is:
[0014]
[0015] In the formula, q is the system generalized position vector of the humanoid robot. Let be the position vector of the floating base of the humanoid robot in the world coordinate system. Let n be the joint position vector of the humanoid robot, where n is the number of degrees of freedom. It is the set of real numbers;
[0016] The equations of motion for the humanoid robot about the inertial frame are:
[0017]
[0018] In the formula The inertia matrix, To account for the Coriolis effect and the centrifugal effect in the matrix, For gravity, The selection matrix for driving the degrees of freedom of a humanoid robot For the driving joint torque vector, Let be the stacked foot contact torque vector. Let n be the stacked foot contact Jacobian matrix. c For the sufficient number of parts in contact with the ground;
[0019] Assuming the humanoid robot does not slip after its feet contact the ground:
[0020]
[0021] The resulting dynamic model of the humanoid robot's center of mass is:
[0022]
[0023] In the formula, m is the total mass of the humanoid robot. Let f be the position of the center of mass of the humanoid robot in the world coordinate system. cρ Let ρ be the contact force between the foot and the ground at the ρ-th point. It is the acceleration due to gravity. To utilize the system's generalized position vector q and The calculated angular momentum of the center of mass; The differential of the angular momentum at the center of mass is equal to the resultant torque at the center of mass at each point of contact between the soles of the feet and the ground; c ρ Let τ be the position of the ρ-th foot contact point with the ground in the world coordinate system. c ρ Let be the contact torque of the center of mass about the ρth foot contact point with the ground.
[0024] The present invention provides a high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization.
[0025] By transforming formulas (5) and (6) corresponding to the center-of-mass dynamics model of the humanoid robot, the single rigid body model is obtained as follows:
[0026]
[0027] In the formula m s Let be the total mass of the humanoid robot in the single rigid body model. This represents the location of the center of mass of the single rigid body model. For the contact force between the single rigid body model and the ground, I s For the moment of inertia of a single rigid body model, Let be the Euler attitude angle of the center of mass of the single rigid body model, and P be the position of the ρ-th contact point between the single rigid body model and the ground. The contact moment between the single rigid body model and the ground. Let be the angular acceleration of the center of mass of the single rigid body model.
[0028] The present invention provides a high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization.
[0029] The constraints for constructing a single rigid body model include:
[0030] For each time node k, the motion state x(k) and input state variable u(k) of the single rigid body model are defined as follows:
[0031]
[0032] In the formula Let k be the linear velocity of the center of mass of the single rigid body model at time node k. Let k be the Euler angular velocity of the center of mass of the single rigid body model at time node k.
[0033] Constraints for constructing a single rigid body model:
[0034]
[0035] stx(k+1)=f(x(k),u(k)) (11-1),
[0036] x(0)=x ini (11-2),
[0037] x(N)=x fin (11-3),
[0038] t min ≤dt(k)≤t max (11-4),
[0039] l min ≤||r s (k)-P(k)|| 2 ≤l max (11-5),
[0040]
[0041] In the formula, N is the total number of time nodes, ξ is the cost function of the difference in input state variables between adjacent time nodes, γ is the cost function of the center of mass angular momentum, l is the cost function of the takeoff point angular momentum, and N tf Let f(x(k),u(k)) be the time step for the humanoid robot to jump, and let f(x(k),u(k)) be a function of the dynamics with respect to (x(k),u(k)). ini As the initial motion state, x fin Let t(k) represent the target motion state, and t(k) represent the time step. min For the minimum time step, t max For the maximum time step, l min The shortest distance from the center of mass to the sole of the foot, l max N is the longest distance from the center of mass to the sole of the foot. ld For the ground contact time step, p fin The target standing position of the humanoid robot; if the soles of its feet are in contact with the ground:
[0042] P(k)=p ini (k∈[1,N tf ]) (11-7),
[0043] P(k)=p fin (k∈[N ld ,N]) (11-8),
[0044]
[0045] In the formula p ini The initial standing position for the humanoid robot to jump. The foot contact force along the Z-axis of the humanoid robot. Maximum plantar contact force for a humanoid robot; A f Calculate matrix 1 for the friction cone, τ min τ is the minimum contact torque. max This represents the maximum contact torque.
[0046] If the soles of the feet are off the ground:
[0047] f c s (k)=0 (11-12).
[0048] The present invention provides a high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization.
[0049] The cost function ξ, which represents the difference in input state variables between adjacent time points, is defined as follows:
[0050] ξ=ω r ||u(k)|| 2 +ω e ||u(k+1)-u(k)|| 2 (12),
[0051] In the formula ω r For the input weights, ω e Input continuous weights;
[0052] The cost function γ of the center of mass angular momentum is:
[0053] γ=ω m ||f c s (k)(r s (k)-P(k))dt(k)|| 2 (13),
[0054] ω m Weighted by angular momentum;
[0055] The takeoff point angular momentum cost function l is:
[0056]
[0057] In the formula ω tf Weighted by angular velocity;
[0058] By using a nonlinear solver to solve all cost functions, the expected centroid trajectory of the humanoid robot during its jump motion is obtained under the conditions of a set initial position, a set target position, and set cost function weights.
[0059] According to the high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization of the present invention, the method for calculating the foot contact force of the humanoid robot during tracking is as follows:
[0060] Ignoring the rotation of the single rigid body model, equation (7) can be rewritten as:
[0061]
[0062] The intermediate variables in the formula are:
[0063] u = [0 1×3 f mpc T ] T (16),
[0064]
[0065] B = [0 3×3 Ι 3×3 / m s (19),
[0066] In the formula The optimal plantar contact force; Ι is the identity matrix;
[0067] Solving formula (15) yields the optimal plantar contact force f. mpc .
[0068] The beneficial effects of the present invention are that the method of the present invention can significantly improve the control accuracy and real-time performance of humanoid robot jumping motion, and can realize the dynamic jumping motion control of humanoid robot in complex environments.
[0069] The humanoid robot jumping motion control framework provided by the method of this invention avoids the problems of large computation and long time in existing whole-body motion trajectory optimization schemes, and improves the robot's adaptability in unknown environments and irregular terrain environments.
[0070] The present invention designs a hierarchical WBC for the jumping motion control of humanoid robots. It optimizes the kinematic WBC using dynamic task priority and the dynamic WBC using dynamic weight coefficients, thereby achieving stable control of jumping motion by the WBC. Attached Figure Description
[0071] Figure 1 This is a flowchart of the high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization as described in this invention;
[0072] Figure 2 This is a schematic diagram of the control framework of the method of the present invention;
[0073] Figure 3 These are images of a humanoid robot prototype.
[0074] Figure 4 These are screenshots from a sequential simulation experiment of a humanoid robot performing a 45cm standing long jump.
[0075] Figures 5 to 8 This is the position servo control curve of a humanoid robot performing a 45cm standing long jump in a simulated environment; among which... Figure 5 The position tracking curve of the humanoid robot's center of mass in the x-coordinate direction in the world coordinate system; Figure 6 The position tracking curve of the humanoid robot's center of mass in the z-coordinate direction in the world coordinate system; Figure 7 The tracking curve of the humanoid robot's body posture coordinates in the world coordinate system; Figure 8 The position tracking curves of the hip joint pitch, knee joint, and ankle joint of the humanoid robot in the world coordinate system;
[0076] Figure 9 The curves showing the comparison between the expected and actual contact forces of a humanoid robot's feet in a simulated environment along the x and z axes of the world coordinate system.
[0077] Figure 10 Screenshot of a simulation experiment showing a humanoid robot jumping over a 15cm high obstacle;
[0078] Figures 11 to 14 The position servo control curve for a humanoid robot jumping over a 15cm high obstacle in a simulated environment; among which... Figure 11 The position tracking curve of the humanoid robot's center of mass in the x-coordinate direction in the world coordinate system; Figure 12 The position tracking curve of the humanoid robot's center of mass in the z-coordinate direction in the world coordinate system; Figure 13 The tracking curve of the humanoid robot's body posture coordinates in the world coordinate system; Figure 14 The position tracking curves of the hip joint pitch, knee joint, and ankle joint of the humanoid robot in the world coordinate system;
[0079] Figure 15 Screenshots of a sequence of experiments showing a humanoid robot prototype performing a 10cm high jump from a standing position. Detailed Implementation
[0080] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0081] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.
[0082] The present invention will be further described below with reference to the accompanying drawings and specific embodiments, but this is not intended to limit the scope of the invention.
[0083] Specific Implementation Method 1: Combination Figure 1 and Figure 2 As shown, this invention provides a high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization.
[0084] Based on the humanoid robot dynamics model, an extended humanoid robot center of mass dynamics model is obtained;
[0085] Based on the analysis of the complete human jumping process and the differences in dynamic characteristics at each moment, the complete jumping process of the humanoid robot is divided into three stages: take-off, take-off, and landing. To further improve the integrity of the model, the centroid dynamic model is transformed into a single rigid body model to plan the centroid trajectory of the humanoid robot during the jumping process. The constraints of the single rigid body model are constructed, and the centroid trajectory of the humanoid robot in the expected jumping motion under the conditions of setting the initial position, setting the target position, and setting the cost function weights is optimized.
[0086] The model predictive controller is used to track the trajectory of the center of mass of the desired jump motion and calculate the contact force of the humanoid robot's feet during the tracking process; then the whole body controller is used to calculate the desired position, desired velocity and desired driving torque of the humanoid robot's whole body drive joints during the tracking process, and the humanoid robot's jump motion is controlled by the actuator.
[0087] This implementation uses a model predictive controller to solve for the contact force on the soles of the humanoid robot's feet; it uses a whole-body controller to solve for the motion trajectory and driving torque of the humanoid robot's whole-body drive joints; and finally, it completes the jumping motion control of the humanoid robot and builds a control system according to the control flow.
[0088] The specific process of obtaining the center of mass dynamic model includes: analyzing the humanoid robot system, considering various body components such as arms, legs, head, and torso, and calculating the robot's total mass and center of mass position. Based on Newtonian mechanics, a dynamic model of the robot's center of mass is established.
[0089] Transforming the center-of-mass dynamics model into a single rigid body model, methods for planning the center-of-mass trajectory during a humanoid robot's jumping process include:
[0090] Since the center of mass angle in the center of mass dynamics model has no practical physical meaning in actual robots, the center of mass dynamics model is converted into a single rigid body model. The mass of the single rigid body model is the total mass of the robot, and its moment of inertia is selected as the maximum value that the humanoid robot can achieve.
[0091] Based on the single rigid body model, the centroid trajectory optimization problem is constructed using the direct collocation method. Constraints such as state constraints, dynamic constraints, friction constraints, and kinematic constraints are set to ensure that the obtained trajectory meets the physical environment and the robot's kinematic and dynamic requirements.
[0092] The specific method for calculating the plantar contact force of the humanoid robot during tracking is as follows:
[0093] Even after inputting the centroid trajectory as the desired signal into the robot system, a high-performance online controller is still needed to track it to achieve good motion control. A model predictive controller (MPC) can optimize the current control input based on predictions of the system's future state, making it suitable for humanoid robots with more continuous motion.
[0094] By using MPC (Multi-Process Control) to provide feedback control over the center of mass position, the optimal desired plantar contact force under the current motion state can be obtained. Simultaneously, the algorithm setting that only follows the trajectory of the center of mass position significantly reduces the computational load of MPC, greatly improving the real-time performance of the control framework. Subsequently, by using a quadratic programming algorithm to allocate the desired plantar contact force of the robot, the desired plantar contact forces for the left and right feet can be obtained separately.
[0095] Specific methods for solving the motion trajectory and driving torque of the whole-body driven joints of a humanoid robot using a whole-body controller include:
[0096] A whole-body controller (WBC) is a control method capable of coordinating multiple task requirements. To effectively process the robot's kinematic and dynamic information, the controller can be divided into kinematic and dynamic components.
[0097] High-latitude humanoid robots often face multiple task requirements in their working environments. A key problem to be solved by the kinematics department is how to achieve the robot's desired movement according to specified task priorities. The main role of the dynamics department is to fuse the real-time plantar contact force expectation information obtained from model predictive control with the joint motion information provided by the kinematics department, solving for the driving torque of each joint while ensuring that constraints are met. It is worth noting that dynamic task priorities are set to optimize the WBC (Working Balance) according to different task requirements, making the control framework more flexible and stable.
[0098] The specific methods for controlling the jumping motion of a humanoid robot and building a control system based on the control process include:
[0099] By utilizing multithreading concepts in C++, synchronous operation between modules is achieved, and global variables are defined to enable data flow transmission between modules. Finally, simulation and experimental results verify the feasibility of the control method and control system.
[0100] Furthermore, the humanoid robot dynamics model includes the system's generalized position vector expression and the humanoid robot's equations of motion about the inertial frame; wherein the system's generalized position vector expression is:
[0101]
[0102] In the formula, q is the system generalized position vector of the humanoid robot. This is the position vector of the humanoid robot's floating base in the world coordinate system, including position and orientation. Let n be the joint position vector of the humanoid robot, where n is the number of degrees of freedom. It is the set of real numbers;
[0103] When a humanoid robot comes into contact with its environment, its complete whole-body dynamics can be described using the Euler-Lagrange form. The equations of motion for the humanoid robot in the inertial frame are:
[0104]
[0105] In the formula The inertia matrix, To account for the Coriolis effect and the centrifugal effect in the matrix, For gravity, The selection matrix for driving the degrees of freedom of a humanoid robot For the driving joint torque vector, Let be the stacked foot contact torque vector. Let n be the stacked foot contact Jacobian matrix. c For the sufficient number of parts in contact with the ground;
[0106] Assuming the humanoid robot does not slip after its feet contact the ground:
[0107]
[0108] The resulting dynamic model of the humanoid robot's center of mass is:
[0109]
[0110] In the formula, m is the total mass of the humanoid robot. Let f be the position of the center of mass of the humanoid robot in the world coordinate system. The position of the center of mass can be solved using the generalized coordinate q and the dynamic parameters of each link. c ρLet ρ be the contact force between the foot and the ground at the ρ-th point. It is the acceleration due to gravity. To utilize the system's generalized position vector q and The calculated angular momentum of the center of mass; The differential of the angular momentum at the center of mass is equal to the resultant torque at the center of mass at each point of contact between the soles of the feet and the ground; c ρ Let τ be the position of the ρ-th foot contact point with the ground in the world coordinate system. c ρ Let be the contact torque of the center of mass about the ρth foot contact point with the ground.
[0111] Next, we analyze the human jumping process, extend the center of mass dynamics model to a single rigid body model, and use the single rigid body model to plan the center of mass trajectory of the humanoid robot during the jumping process.
[0112] A complete human jump can be described as follows: First, the human lowers their center of gravity to provide sufficient acceleration space for the knee and hip joints. After completing the preparatory action, the human quickly contracts their leg muscles and forcefully stomps on the ground to obtain the ground's reaction force, thus gaining enough energy to achieve initial velocity at the moment of takeoff. Then, the human enters the flight phase after both feet leave the ground. During this phase, the human does not generate contact forces with the external environment, and their center of gravity follows a parabolic trajectory. Finally, from the moment of touchdown, the human uses coordination of all joints to cushion the impact between their feet and the ground and regain stability. Similar to humans, the humanoid robot's jump can be divided into three phases: takeoff, flight, and landing. The dynamic characteristics of each phase are analyzed in detail below:
[0113] 1) Takeoff Phase: This is the most crucial phase of the jump. During this phase, the humanoid robot first enters its initial posture. This initial posture must ensure sufficient acceleration distance so that the center of mass reaches the planned position and velocity the moment the feet leave the ground. It's important to note that as the jump distance and height increase, the time spent in the air increases accordingly. During airborne phase, the robot is only affected by gravity; angular momentum determines its rotation during flight. Therefore, angular momentum control is paramount during takeoff. If rotation becomes uncontrollable, the landing posture becomes difficult to control, ultimately leading to robot control failure.
[0114] 2) Takeoff Phase: During the takeoff phase, the humanoid robot is only subject to gravity and has no external contact force input. The overall motion follows the law of conservation of angular momentum. The key task in this phase is to swing the legs to the expected ground contact angle, which is related to the takeoff speed of the humanoid robot during the takeoff phase.
[0115] 3) Landing Phase: The main challenge during landing is overcoming the collision between the robot's feet and the ground. This collision primarily occurs during the brief period of contact between the feet and the ground. Therefore, to prevent the collision force from interfering with the robot's motion (especially its center of mass angular momentum), the legs need to be swung to an appropriate angle during the airborne phase to minimize the impact of the collision force between the feet and the ground on the center of mass angular momentum at the moment of landing. Furthermore, the robot's posture needs to be carefully controlled during landing until it returns to a stable state according to a preset trajectory.
[0116] To achieve rapid response to jump commands in real-world working scenarios for humanoid robots, the kinematics of the robot's joint range are ignored. The optimization problem will plan the trajectory of the robot's center of mass during movement based on the center-of-mass dynamics model, the coordinates of the standing position, and the coordinates of the desired landing position.
[0117] The single rigid body dynamics model is more intuitive than the center-of-mass dynamics model. Therefore, formulas (5) and (6) corresponding to the center-of-mass dynamics model of the humanoid robot are transformed to obtain the single rigid body model:
[0118]
[0119] In the formula m s Let be the total mass of the humanoid robot in the single rigid body model. This represents the location of the center of mass of the single rigid body model. For the contact force between the single rigid body model and the ground, I s For the moment of inertia of a single rigid body model, Let be the Euler attitude angle of the center of mass of the single rigid body model, and P be the position of the ρ-th contact point between the single rigid body model and the ground. The contact moment between the single rigid body model and the ground. Let be the angular acceleration of the center of mass of the single rigid body model.
[0120] The single rigid body model equations differ from the center-of-mass dynamics model in that they define a specific moment of inertia I. s It also assigns an attitude angle θ with practical physical meaning. s The fundamental goal of the trajectory optimization problem is to provide a feasible centroid trajectory for the humanoid robot control system; therefore, I s Based on the parallel axis theorem, the moment of inertia when the robot is fully upright is selected (the moment of inertia is maximum within the robot's motion space). The entire jumping motion is discretized into N time nodes. In the optimization problem, to prevent the failure of solving the nonlinear optimization problem, the time T of the entire jumping process is set to be variable.
[0121] Furthermore, the constraints for constructing the single rigid body model include:
[0122] For each time node k, the motion state x(k) and input state variable u(k) of the single rigid body model are defined as follows:
[0123]
[0124] In the formula Let k be the linear velocity of the center of mass of the single rigid body model at time node k. Let k be the Euler angular velocity of the center of mass of the single rigid body model at time node k.
[0125] The constraints for constructing the single rigid body model are as follows, in order to perform complete trajectory optimization:
[0126]
[0127] stx(k+1)=f(x(k),u(k)) (11-1),
[0128] x(0)=x ini (11-2),
[0129] x(N)=x fin (11-3),
[0130] t min ≤dt(k)≤t max (11-4),
[0131] l min ≤||r s (k)-P(k)|| 2 ≤l max (11-5),
[0132]
[0133] In the formula, N is the total number of time nodes, ξ is the cost function of the difference in input state variables between adjacent time nodes, γ is the cost function of the center of mass angular momentum, l is the cost function of the takeoff point angular momentum, and N tf Let f(x(k),u(k)) be the time step for the humanoid robot to jump, and let f(x(k),u(k)) be a function of the dynamics with respect to (x(k),u(k)). ini As the initial motion state, x fin Let t(k) represent the target motion state, and t(k) represent the time step. min For the minimum time step, t max For the maximum time step, l min The shortest distance from the center of mass to the sole of the foot, l max N is the longest distance from the center of mass to the sole of the foot. ld For the ground contact time step, p fin The target standing position of the humanoid robot; if the soles of its feet are in contact with the ground:
[0134] P(k)=p ini (k∈[1,N tf ]) (11-7),
[0135] P(k)=p fin (k∈[N ld ,N]) (11-8),
[0136]
[0137] In the formula p ini The initial standing position of the humanoid robot when jumping, f c s,z The foot contact force along the Z-axis of the humanoid robot. Maximum plantar contact force for a humanoid robot; A f Calculate matrix 1 for the friction cone, τ min τ is the minimum contact torque. max This represents the maximum contact torque.
[0138] If the soles of the feet are off the ground:
[0139] f c s (k)=0 (11-12).
[0140] The cost function of the optimization problem is to minimize the input quantity to optimize the energy consumption of the entire motion process, while setting the difference in input quantity between adjacent nodes as the minimization objective to ensure that the input quantity curve achieves smooth motion with a small change range.
[0141] In this embodiment, the cost function ξ for the difference in input state variables between adjacent time nodes is defined as:
[0142] ξ=ω r ||u(k)|| 2 +ω e ||u(k+1)-u(k)|| 2 (12),
[0143] In the formula ω r For the input weights, ω e Input continuous weights;
[0144] To minimize the center-of-mass angular momentum caused by contact forces during motion, the cost function for the center-of-mass angular momentum γ is:
[0145] γ=ω m ||f c s (k)(r s (k)-P(k))dt(k)|| 2 (13),
[0146] ω m Weighted by angular momentum;
[0147] It is worth noting that the cost function introduces the cost at the takeoff point N. tf The angular momentum cost function can optimize the angular momentum of the single rigid body model at the moment of takeoff, preventing the robot from rotating significantly during the takeoff phase.
[0148] The takeoff point angular momentum cost function l is:
[0149]
[0150] In the formula ω tf Weighted by angular velocity;
[0151] By using a nonlinear solver to solve all cost functions, the expected centroid trajectory of the humanoid robot during its jump motion is obtained under the conditions of a set initial position, a set target position, and set cost function weights.
[0152] Contact sequence constraint: It is assumed that there is no relative displacement between the robot's feet and the ground during the jump. Based on this, the robot's feet are defined as being in the initial position during the entire takeoff process and in the target landing position during the descent. The contact sequence between the robot's feet and the ground during the entire jump process is defined as a constraint-stable equality constraint.
[0153] Kinematic constraints: These constrain the distance between the contact point and the center of mass to prevent the leg kinematics from exceeding the maximum feasible range of motion.
[0154] Ground contact angle constraint: This constraint is set at ground contact time step N to reduce the impact of the collision between the foot and the ground on the robot's angular momentum, which could lead to motion failure. ld At that point, the line connecting the center of mass to the point of contact with the target is in the same direction as the velocity of the center of mass.
[0155] Contact wrench constraint: During trajectory optimization of the single rigid body model, the contact wrench at the contact point must conform to mechanical constraints. Ground force constraint: Sets a unilateral constraint on the foot contact force. During takeoff and ground contact, the contact force must be greater than 0 and less than the maximum thrust that the robot can apply. In the horizontal direction, it is necessary to ensure that the contact foot does not generate relative motion with the ground, thus affecting the robot's horizontal acceleration process. Friction cone: Sets the friction cone constraint at the foot end, ensuring that the force applied to the foot by the ground is always within the friction constraint. Contact point torque constraint on the foot contact torque sets the boundary constraint conditions for the foot reaction torque.
[0156] By using a nonlinear solver to solve the above optimization problem, the trajectory of the robot's centroid during jumping motion with a set initial position, target position, and cost function weights can be obtained.
[0157] Furthermore, the method for calculating the foot contact force of the humanoid robot during the tracking process is as follows:
[0158] The main function of the model predictive controller is to calculate the expected foot force of the robot using the expected center-of-mass trajectory and the actual center-of-mass trajectory. Ignoring the rotation of the single rigid body model, formula (7) can be rewritten as:
[0159]
[0160] The intermediate variables in the formula are:
[0161] u = [0 1×3 f mpc T ] T (16),
[0162]
[0163] B = [0 3×3 Ι 3×3 / m s (19),
[0164] In the formula The optimal plantar contact force; Ι is the identity matrix;
[0165] Solving formula (15) yields the optimal plantar contact force f. mpc .
[0166] In this embodiment, the optimal plantar contact force f is solved. mpc The method is as follows:
[0167] To implement the iterative rolling optimization strategy of MPC, equations (7) and (8) are discretized, and at each time node k:
[0168]
[0169] In the formula Let x(k) be the discrete value of the motion state. For discrete state matrices, It is a discrete input matrix;
[0170] For subsequent calculations, gravitational acceleration is included in the extended state variables. middle. It is a constant matrix, calculated based on matrix A and the single-step time Δt. Discrete input matrix. It is a constant matrix, obtained from B and the single-step time Δt.
[0171] The MPC problem with finite time margin, which minimizes the error between the desired state and the predicted state while simultaneously minimizing the input state quantity u(k), can be described as follows:
[0172]
[0173] In the formula, m0 is the prediction time step, x ref For the predicted state, Q is the first state weight matrix, and R is the first control weight matrix;
[0174] in:
[0175]
[0176] C k u≤0,k=0...m0-1 (23),
[0177] In the formula C k Calculate matrix two for the friction cone;
[0178] Under constraints, a cost function within a finite range is constructed and minimized. The resulting optimization is the optimal solution for the current time step. MPC ultimately solves for the contact force and torque between the foot and the ground. Therefore, the inequality constraint (23) includes friction constraints and unilateral constraints on contact forces.
[0179] In this step, the main purpose of MPC is to track the generated desired jumping motion center of mass trajectory and produce the desired foot contact force for subsequent control algorithms. MPC can adjust the foot contact force based on the feedback robot state information, thereby completing online closed-loop control of the center of mass trajectory.
[0180] Combining the linear finite-time model predictive controller algorithm, the discrete values of the humanoid robot's motion state for the next m0 steps are obtained through iteration using formula (20). The future m0-step motion state of the humanoid robot is used as a dynamic constraint for the QP problem:
[0181] X = A qp x0+B qp U (24),
[0182] In the formula, X is the superposition of the motion state vectors of the humanoid robot in the next m0 steps, x0 is the current motion state of the humanoid robot, and A qp The state matrix of a humanoid robot, B qp Let U be the input matrix for the humanoid robot, and U be the superposition of the future input vectors for the humanoid robot.
[0183]
[0184] U = [u1 u2 … u] m0-1 ] T (28);
[0185] In the formula The m0th step motion state of the humanoid robot, u m0-1 Let m0-1 be the input vector for the humanoid robot;
[0186] The quadratic optimization problem of the model predictive controller is:
[0187]
[0188] C qp U≤d (30),
[0189] In the formula, H is a positive definite symmetric matrix. Let C be the coefficient vector of the linear terms. qp Let C be the constraint matrix, where d is the right-hand side of the inequality constraints, representing all inequality constraints; qp It forms an inequality constraint with d, where:
[0190]
[0191] In the formula, Q1 is the second state weight matrix, which is a diagonal matrix, R1 is the second control weight matrix, and X... ref For the predicted state vector;
[0192] The optimal plantar contact force f can be obtained in real time using a quadratic programming solver. mpc .
[0193] In this optimization problem, the dimensionality of the dynamic equations used for predictive control was reduced as much as possible, and the single-rigid-body attitude control problem was extracted from the MPC. This strategy not only reduces the computational cost of MPC, allowing it to focus on providing optimal contact force for the robot's center of mass control, but also further improves the real-time performance of MPC. In actual operation, the single-step solution speed of MPC is less than 15ms.
[0194] In MPC, the optimal three-dimensional force f on the sole of the foot is obtained using a single rigid body model. mpc Using Q1P to f mpc Optimal allocation to the soles of the two supporting feet:
[0195] f mpc The optimization problem of allocation is constructed as follows:
[0196]
[0197] A eq F mpc =[f mpc 03×1 ] T (34),
[0198] In the formula F mpc This is the superposition of the plantar contact force and the desired driving torque vector:
[0199] This is the superposition of the contact force and torque vector of the left supporting foot. The superposition of the contact force and moment vector of the right supporting foot sole; A eq Given the equality constraint matrix, in this optimization problem, the resultant force of the contact forces of the left and right feet is set to the desired contact force f obtained through optimization, using the equality constraints. mpc Furthermore, the contact forces of the left and right feet relative to the center position of the contact surface and the torque are 0; w0 is a positive definite symmetric matrix.
[0200] Furthermore, the method for calculating the desired position and desired velocity of the humanoid robot's whole-body driven joints during tracking using a whole-body controller is as follows:
[0201] The motion trajectory and driving torque of the whole-body driven joints of a humanoid robot are solved using a whole-body controller.
[0202] To address the differences in motion state and dynamic characteristics during the three phases of jumping—takeoff, flight, and landing—the Robotic Balancer (WBC) is designed as two parts: kinematics and dynamics. Kinematics generates the robot's full-body motion trajectory based on set task priorities, without including the robot's dynamic information. Dynamics optimizes the joint drive torques by combining the foot force information provided by the upper-level controller with the joint motion trajectories provided by the kinematics. This strategy allows for separate processing of robot kinematics and dynamics, offering greater flexibility compared to an integrated WBC.
[0203] Kinematic WBC: The main idea of this method is to map the error between each expected task and the actual motion to the null space of the driving joint of the high priority task through the task space sequence using the null space matrix, and then add it to the original joint position to obtain the expected joint position that satisfies the task sequence.
[0204] Calculate the change Δq of the driving joint position vector obtained after the i-th task iteration in the dynamic task sequence. i :
[0205]
[0206]
[0207]
[0208] In the formula J i Let e be the Jacobian matrix for the i-th task;i J represents the tracking error for the i-th task; i|pre Let be the projection of the Jacobian matrix of the i-th task onto the null space of the previous tasks, and let be the priority Jacobian matrix. This is the pseudo-inverse of the corresponding matrix obtained using the Singular Value Decomposition (SVD) or QR decomposition methods.
[0209] The priority Jacobian matrix is in the form of:
[0210] J i|pre =J i N i-1 (38),
[0211] N i-1 =N 1|0 …N i-1|i-2 (39),
[0212]
[0213] N0=I (41),
[0214] In the formula N i-1|i-2 Let be the projection matrix of the (i-1)th task onto the null space of the (i-2)th task;
[0215] Based on the above formula, the joint space velocity and acceleration are calculated as follows:
[0216]
[0217] In the formula Let be the speed of the driving joint obtained after the i-th task iteration. Let be the expected speed of the i-th task. The driving joint speed is set after the (i-1)th task iteration. Let be the acceleration of the driving joint obtained after the i-th task iteration. The acceleration is set for the i-th task by... With task space state With actual state w i Feedback components; The acceleration of the driving joint is set after the (i-1)th task iteration; Let K be the expected acceleration for the i-th task. p For position feedback gain, For the expectation of the i-th task, w i For the i-th task, K d For speed feedback gain, Let be the actual speed of the i-th task.
[0218] The desired position, velocity, and acceleration of the generalized state q can be obtained using formulas (42), (43), and (44), where q contains information about the floating basis and joint motion. The fundamental reason for choosing null-space projection when processing kinematics is that in jumping motion, the robot has a strict task priority ranking at each stage of motion. The null-space projection method ensures that lower-priority tasks will never conflict with higher-priority tasks. Compared to priority processing based on cost functions, it eliminates the need for complex weight adjustments. Furthermore, the strict priority setting ensures that the robot will not fail to move due to "compromise" on multiple task objectives during multi-task processing, making it more suitable for humanoid robot jumping motion.
[0219] Dynamic WBC: The main function of dynamic WBC is to fuse the real-time foot-ground force expectation information obtained by MPC with the joint motion information provided by kinematic WBC, and solve the driving torque of each joint while ensuring that the constraints are satisfied.
[0220] The method for calculating the desired driving torque of the humanoid robot's whole-body driven joints during tracking using a whole-body controller is as follows: An optimization problem for the desired driving torque is constructed using quadratic programming.
[0221]
[0222] stκF r ≥0 (46),
[0223]
[0224]
[0225]
[0226] In the formula For the desired angular acceleration, F r The vector of the contact force on the sole of the foot. Let be the relaxation factor for angular acceleration. It is a positive definite symmetric matrix. The relaxation amount of the plantar contact force vector. It is a positive definite symmetric matrix four. Let w be the relative displacement acceleration between the foot and the ground. c κ is a positive definite symmetric matrix; S is the parameter matrix of the friction cone constraint; and κ is the parameter matrix of the unilateral constraint force. S is the vector of the maximum contact force on the sole of the foot. f For the selection of matrices, M is the mass matrix, C is the Coriolis force matrix, and G is the gravity term; The desired angular acceleration provided for the whole-body controller.
[0227] Furthermore, the definitions and specific solution formulas for each task in the optimization problem of the desired driving torque are as follows:
[0228] After the foot contacts the ground, assuming there is no relative motion between the sole of the foot and the ground, the sole contact task is defined as:
[0229]
[0230] The floating base attitude task can be derived from the foot contact task through a simple equation transformation. The model's kinematic and dynamic parameters can be obtained through measurement and identification methods. The coordinates of the center of mass of each joint can be obtained through the DH transformation. The position of the center of mass can be obtained from the positions of the centers of mass of each link; therefore, the position r of the center of mass is:
[0231]
[0232] m n Let p be the mass of component n. c,n Let n be the coordinates of the centroid of component n in the world coordinate system.
[0233] The task of mapping the center of mass velocity to joint velocities is as follows:
[0234]
[0235] In the formula J CoM The center-of-mass Jacobian matrix can be derived using the formula for the center-of-mass position.
[0236] The robot's center-of-mass angular momentum can be obtained by adding the momentum of all structural members relative to the center of mass. The task of converting joint velocities into center-of-mass angular momentum is as follows:
[0237]
[0238] In the formula A CAM It is the center-of-mass angular momentum mapping matrix.
[0239] The specific implementation details of the dynamic task sequence and dynamic weight matrix for each motion stage are as follows:
[0240] Take-off Phase: The take-off phase of a jump begins from the initial standing posture and ends when both feet leave the ground. During this phase, the robot needs to follow a pre-planned center-of-mass trajectory to achieve the desired center-of-mass velocity at the expected take-off position. In this process, the reaction force between the feet and the ground directly affects the motion state of the center of mass. In this framework, the Dynamic Process Control (MPC) acts as a feedback controller for the center-of-mass position, iteratively updating the optimal foot-to-ground contact force at the current time step based on the desired and actual center-of-mass positions. Therefore, a large dynamic WBC is used in the take-off process. This ensures that the real-time ground force calculated by MPC can play a major driving role in the movement.
[0241] Table 1
[0242]
[0243] Meanwhile, to coordinate with the plantar force calculated by MPC, the kinematic WBC needs to prioritize tasks during the jump phase, as shown in Table 1. The first priority is defined as preventing slippage and rollover between the foot and the ground. The second priority is defined as the linear velocity of the center of mass; in the takeoff phase, the most important thing is to achieve the desired velocity at the moment of takeoff to ensure stability during flight. The third priority is the angular momentum of the center of mass; in robot high jumps or long jumps, excessive initial angular momentum at takeoff can cause the robot's body to rotate beyond expectations, leading to the failure of the entire jump. The fourth task is defined as the floating base posture. In many WBC applications, posture is usually placed as a high priority; however, in jump situations (especially without arm swing), body posture can serve as a relaxation factor to ensure the successful completion of high-priority tasks.
[0244] Airborne Phase: The airborne phase in jumping motion begins when both feet leave the ground (end of the takeoff phase) and ends when both feet touch the ground. During this phase, the body is not acted upon by external forces, and the trajectory of the center of mass depends only on its velocity and position at the instant of takeoff. Therefore, MPC (Multi-Purpose Control) used for center of mass trajectory tracking is ineffective during this phase. In dynamics WBC (Warrior Balanced Beam)... with w c When set to zero, the robot's motion state is driven by the kinematic WBC.
[0245] Table 2
[0246]
[0247] The kinematic WBC task priorities are shown in Table 2. The first priority defines the position and posture of the swing leg foot to ensure that the foot can swing to the desired ground contact angle before entering the ground contact phase. The second priority is defined as body posture control. The addition of this task priority enables the robot to appropriately adjust its body posture using redundant degrees of freedom during the take-off phase, preventing large-scale body rotation that would reduce the robot's stability upon ground contact.
[0248] Ground contact phase: The ground contact phase in a jump begins when both feet touch the ground (end of the airborne phase) and ends when the robot returns to its default standing posture. The main challenge in this phase is that at the moment of contact, the robot's feet collide with the ground, and the collision force increases with jump height and distance. In the control framework of this method, the robot's posture is controlled by the WBC (Wide Balanced Beam), therefore, a relatively large weighting coefficient is used in the dynamics WBC. This is to ensure that the WBC can play a major driving role in the movement.
[0249] Table 3
[0250]
[0251] Kinematic WBC requires prioritizing tasks during the ground contact phase, as shown in Table 3. The first priority, consistent with the takeoff phase, is defined as preventing slippage and rollover between the feet and the ground. The second priority is defined as the robot's attitude, ensuring effective feedback control under strong disturbances. The third priority is the center-of-mass velocity, ensuring the robot moves along the desired center-of-mass trajectory. Angular momentum is defined as the lowest priority, primarily providing sufficient relaxation for attitude and center-of-mass velocity adjustments to ensure the smooth execution of higher-priority tasks.
[0252] Step 105: Control the humanoid robot to jump according to the control process.
[0253] By utilizing the multithreaded programming framework in the C++ programming language to implement the above process, a dynamic jumping motion control system for humanoid robots that can be directly applied can be formed.
[0254] While the invention has been described herein with reference to specific embodiments, it should be understood that these embodiments are merely examples of the principles and applications of the invention. Therefore, it should be understood that many modifications can be made to the exemplary embodiments, and other arrangements can be designed without departing from the spirit and scope of the invention as defined by the appended claims. It should be understood that different dependent claims and features described herein can be combined in ways different from those described in the original claims. It is also understood that features described in conjunction with individual embodiments can be used in other described embodiments.
Claims
1. A high-dynamic jumping motion control method for a humanoid robot based on online centroid trajectory optimization, characterized in that, Based on the humanoid robot dynamics model, the humanoid robot's center of mass dynamics model is obtained; Based on the analysis of the complete human jumping process, the humanoid robot jumping process is divided into three stages: take-off, take-off, and landing. The centroid dynamics model is transformed into a single rigid body model. The constraints of the single rigid body model are constructed, and the centroid trajectory of the humanoid robot in the expected jumping motion is optimized under the conditions of setting the initial position, setting the target position, and setting the cost function weight. The model predictive controller is used to track the trajectory of the center of mass of the desired jump motion and calculate the contact force of the humanoid robot's feet during the tracking process; then the whole body controller is used to calculate the desired position, desired velocity and desired driving torque of the humanoid robot's whole body drive joints during the tracking process, and the humanoid robot's jump motion is controlled by the actuator. The method for calculating the desired position and desired velocity of the humanoid robot's whole-body driven joints during tracking using a whole-body controller is as follows: Calculate the change Δq of the driving joint position vector obtained after the i-th task iteration in the dynamic task sequence. i : In the formula J i Let e be the Jacobian matrix for the i-th task; i J represents the tracking error for the i-th task; i|pre Let be the projection of the Jacobian matrix of the i-th task onto the null space of the previous tasks, and let be the priority Jacobian matrix. This is the pseudo-inverse of the corresponding matrix obtained using the Singular Value Decomposition (SVD) or QR decomposition methods. The priority Jacobian matrix is in the form of: J i|pre *J i N i-1 (38), N i-1 =N 1|0 …N i-1|i-2 (39), N0=I(41), In the formula N i-1|i-2 Let be the projection matrix of the (i-1)th task onto the null space of the (i-2)th task; The calculation yielded: In the formula Let be the speed of the driving joint obtained after the i-th task iteration. Let be the expected speed of the i-th task. The driving joint speed is set after the (i-1)th task iteration. Let be the acceleration of the driving joint obtained after the i-th task iteration. Set the acceleration for the i-th task. The acceleration of the driving joint is set after the (i-1)th task iteration; Let K be the expected acceleration for the i-th task. p For position feedback gain, For the expectation of the i-th task, w i For the i-th task, K d For speed feedback gain, The actual speed of the i-th task; The method for calculating the desired driving torque of the humanoid robot's full-body drive joints during tracking using a full-body controller is as follows: An optimization problem for the desired driving torque is constructed using quadratic programming. s.t.κF r ≥0(46), In the formula For the desired angular acceleration, F r The vector of the contact force on the sole of the foot. Let be the relaxation factor for angular acceleration. It is a positive definite symmetric matrix. The relaxation amount of the plantar contact force vector. It is a positive definite symmetric matrix four. Let w be the relative displacement acceleration between the foot and the ground. c κ is a positive definite symmetric matrix; S is the parameter matrix of the friction cone constraint; and κ is the parameter matrix of the unilateral constraint force. S is the vector of the maximum contact force on the sole of the foot. f For the selection of matrices, M is the mass matrix, C is the Coriolis force matrix, and G is the gravity term; The desired angular acceleration provided for the whole-body controller; This is the selection matrix for the degrees of freedom of the humanoid robot, where n is the number of degrees of freedom. It is the set of real numbers; Let n be the stacked foot contact Jacobian matrix. c The number of samples in contact with the ground; τ min τ is the minimum contact torque. max This represents the maximum contact torque.
2. The high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization according to claim 1, characterized in that, The humanoid robot dynamics model includes the system's generalized position vector expression and the humanoid robot's equations of motion about the inertial frame; whereby the system's generalized position vector expression is: In the formula, q is the system generalized position vector of the humanoid robot. Let be the position vector of the floating base of the humanoid robot in the world coordinate system. This refers to the joint position vectors of a humanoid robot. The equations of motion for the humanoid robot about the inertial frame are: In the formula The inertia matrix, To account for the Coriolis effect and the centrifugal effect in the matrix, For gravity, For the driving joint torque vector, The vector of the stacked foot contact torques; Assuming the humanoid robot's feet do not slip after contacting the ground: The resulting dynamic model of the humanoid robot's center of mass is: In the formula, m is the total mass of the humanoid robot. Let be the position of the center of mass of the humanoid robot in the world coordinate system. Let p be the contact force of the foot at the ρ-th point where the foot contacts the ground. It is the acceleration due to gravity. To utilize the system's generalized position vector q and The calculated angular momentum of the center of mass; The differential of the angular momentum at the center of mass is equal to the resultant torque at the center of mass at each point of contact between the soles of the feet and the ground; c ρ Let τ be the position of the ρ-th foot contact point with the ground in the world coordinate system. c ρ Let be the contact torque of the center of mass about the ρth foot contact point with the ground.
3. The high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization according to claim 2, characterized in that, By transforming formulas (5) and (6) corresponding to the center-of-mass dynamics model of the humanoid robot, the single rigid body model is obtained as follows: In the formula m s Let be the total mass of the humanoid robot in the single rigid body model. This represents the location of the center of mass of the single rigid body model. For the contact force between the single rigid body model and the ground, I s For the moment of inertia of a single rigid body model, Let ρ be the Euler attitude angle of the center of mass of the single rigid body model, and P(ρ) be the position of the ρ-th contact point between the single rigid body model and the ground. The contact moment between the single rigid body model and the ground. Let be the angular acceleration of the center of mass of the single rigid body model.
4. The high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization according to claim 3, characterized in that, The constraints for constructing a single rigid body model include: For each time node k, the motion state x(k) and input state variable u(k) of the single rigid body model are defined as follows: In the formula Let k be the linear velocity of the center of mass of the single rigid body model at time node k. The Euler angular velocity of the center of mass of the single rigid body model at time node k; Constraints for constructing a single rigid body model: stx(k+1)=f(x(k),u(k))(11-1), x(0)=x ini (11-2), x(N)=x fin (11-3), t min ≤dt(k)≤t max (11-4), l min ≤||r s (k)-P(k)|| 2 ≤l max (11-5), In the formula, N is the total number of time nodes, ξ is the cost function of the difference in input state variables between adjacent time nodes, and γ is the cost function of the center of mass angular momentum. Let N be the angular momentum cost function at the takeoff point. tf Let f(x(k),u(k)) be the time step for the humanoid robot to jump, and let f(x(k),u(k)) be a function of the dynamics with respect to (x(k),u(k)). ini As the initial motion state, x fin Let t(k) represent the target motion state, and t(k) represent the time step. min For the minimum time step, t max For the maximum time step, l min The shortest distance from the center of mass to the sole of the foot, l max N is the longest distance from the center of mass to the sole of the foot. ld For the ground contact time step, p fin The target standing position of the humanoid robot; if the soles of its feet are in contact with the ground: P(k)=p ini (k∈[1,N tf ])(11-7), P(k)=p fin (k∈[N ld ,N])(11-8), In the formula p ini The initial standing position for the humanoid robot to jump. The foot contact force along the Z-axis of the humanoid robot. Maximum plantar contact force for a humanoid robot; A f Calculate matrix one for the friction cone; If the soles of the feet are off the ground:
5. The high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization according to claim 4, characterized in that, The cost function ξ, which represents the difference in input state variables between adjacent time points, is defined as follows: ξ=ω r ||u(k)|| 2 +oh e ||u(k+1)-u(k)|| 2 (12), In the formula ω r For the input weights, ω e Input continuous weights; The cost function γ of the center of mass angular momentum is: ω m Weighted by angular momentum; Takeoff point angular momentum cost function for: In the formula ω tf Weighted by angular velocity; By using a nonlinear solver to solve all cost functions, the expected centroid trajectory of the humanoid robot during its jump motion is obtained under the conditions of a set initial position, a set target position, and set cost function weights.
6. The high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization according to claim 5, characterized in that, The method for calculating the plantar contact force of the humanoid robot during tracking is as follows: Ignoring the rotation of the single rigid body model, equation (7) can be rewritten as: The intermediate variables in the formula are: u=[0 1×3 f mpc T ] T (16), B=[0 3×3 I 3×3 / m s ](19), In the formula The optimal plantar contact force; Ι is the identity matrix; Solving formula (15) yields the optimal plantar contact force f. mpc .
7. The high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization according to claim 6, characterized in that, Solve for the optimal plantar contact force f mpc The method is as follows: Discretize equations (7) and (8) at each time node k: In the formula Let x(k) be the discrete value of the motion state. The discrete state matrix, It is a discrete input matrix; Minimize the error between the desired state and the predicted state, while simultaneously minimizing the input state quantity u(k): In the formula, m0 is the prediction time step, x ref For the predicted state, Q is the first state weight matrix, and R is the first control weight matrix; in: C k u≤0,k=0...m0-1(23), In the formula C k Calculate matrix two for the friction cone; Combining the linear finite-time model predictive controller algorithm, the discrete values of the humanoid robot's motion state in the future m0 steps are obtained through iterative processing using formula (20). The future m0-step motion state of the humanoid robot is used as a dynamic constraint for the QP problem: X=A qp x0+B qp U(24), In the formula, X is the superposition of the motion state vectors of the humanoid robot in the next m0 steps, x0 is the current motion state of the humanoid robot, and A qp The state matrix of a humanoid robot, B qp Let U be the input matrix for the humanoid robot, and U be the superposition of the future input vectors for the humanoid robot. U=[u1 u2 … u m0-1 ] T (28); In the formula The m0th step motion state of the humanoid robot, u m0-1 Let m0-1 be the input vector for the humanoid robot; The quadratic optimization problem of the model predictive controller is: C qp U≤d(30), In the formula, H is a positive definite symmetric matrix. Let C be the coefficient vector of the linear terms. qp Let be the constraint matrix, and d be the right-hand side term in the inequality constraints, representing all inequality constraints; In the formula, Q1 is the second state weight matrix, R1 is the second control weight matrix, and X... ref For the predicted state vector; The optimal plantar contact force f is obtained using a quadratic programming solver. mpc Using Q1P to f mpc Optimal allocation to the soles of the two supporting feet: f mpc The optimization problem of allocation is constructed as follows: A eq F mpc =[f mpc 0 3×1 ] T (34), In the formula F mpc This is the superposition of the plantar contact force and the desired driving torque vector: This is the superposition of the contact force and torque vector of the left supporting foot. The superposition of the contact force and moment vector of the right supporting foot sole; A eq Let w0 be the equality constraint matrix, and w0 be a positive definite symmetric matrix.
8. The high-dynamic jumping motion control method for humanoid robots based on online centroid trajectory optimization according to claim 7, characterized in that, The task definitions and specific solution formulas for the optimization problem of the desired driving torque are as follows: Assuming no relative motion occurs between the foot and the ground, the foot contact task is defined as follows: The position of the centroid r is: m n Let p be the mass of component n. c,n Let n be the coordinates of the centroid of component n in the world coordinate system. The task of mapping the center of mass velocity to joint velocities is as follows: In the formula J CoM The center-of-mass Jacobian matrix; The angular momentum of the center of mass is: In the formula A CAM It is the center-of-mass angular momentum mapping matrix.
Citation Information
Patent Citations
Robot fixed-point operation trajectory tracking optimization method
CN114102598A
Biped robot cascade control method and device based on task hierarchical optimization
CN115328186A