Humanoid robot single-leg gait transition action design and control method thereof
By combining model prediction control and whole-body motion control, the single-leg gait transition motion design is used to utilize finite state machine and centroid trajectory control, the problem of insufficient stability of the humanoid robot in the single-leg gait transition stage is solved, and gait switching with high stability and high flexibility is achieved.
Patent Information
- Application Number
- CN202411633013.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-15
- Publication Date
- 2025-03-07
AI Technical Summary
Existing humanoid robots are not stable enough during the transition stage of single-leg gait, especially when transitioning between bipedal support and single-leg support, which are prone to problems of center of gravity shift and posture instability.
A single-leg gait transition motion design combining model predictive control (MPC) and full-body motion control (WBC) is adopted, and smooth switching and stable control between different gaits are achieved through finite state machine (FSM) algorithm module and centroid trajectory control.
The robot's gait control ability in complex environments is significantly improved, especially in the single foot support and single leg jump stages, reducing the possibility of tilt and imbalance, and achieving high stability and flexibility of single leg gait switching.
Smart Images

Figure CN119575806A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of humanoid robots, and in particular to a single-leg gait transition motion design of a humanoid robot and a control method thereof. Background Art
[0002] In the field of humanoid robots, bipedal robot gait control technology has always been a research hotspot. The stability and accuracy of the robot's gait during walking, running, turning, etc. determine its ability to adapt to complex environments. At present, the most common gait control methods are based on the traditional zero moment point (ZMP) and model predictive control (MPC). These methods can better control joint motion when the robot's dynamic model is known. However, traditional control methods still face many challenges in the gait transition stage, such as insufficient gait stability, especially when the robot transitions from the bipedal support stage to the unipedal support stage, the center of gravity shift and posture instability are prone to problems.
[0003] Existing gait control methods lack stability in the single-leg gait transition stage, especially when switching between bipedal standing, unipedal standing, and unipedal hopping. The center of gravity offset and stability problems caused by model errors seriously affect the overall performance of the robot.
[0004] And the existing less control methods still have the following problems:
[0005] (1) Insufficient dynamic response: In complex environments, the robot cannot make rapid dynamic responses to environmental changes, resulting in unstable gait.
[0006] (2) Lack of conversion control mechanism between single-leg gait and general gait: Existing control methods often do not specifically deal with single-leg gait, and cannot be integrated into the same framework, or it is difficult to maintain the relative independence between different gaits after integration.
[0007] (3) Lack of feedback and correction mechanism for model errors: There is no effective feedback on the actual state of the robot, which makes it impossible to fully utilize multi-source data to correct model errors.
[0008] In the prior art, the basic control framework of humanoid robots is as follows Figure 1As shown, the expected trajectory generation module can generate the expected trajectory of the robot according to the user instructions and the estimated robot state. The model predictive control module can predict the state of a period of time in the future based on the single rigid body dynamics + complete kinematics model, and optimize the current control input to make the robot state follow the target trajectory. The goal of the whole body control module is to coordinate the torque input of multiple joints, solve based on complete rigid body dynamics and kinematics, and strictly hierarchically optimize tasks of different priorities to achieve coordinated control of multi-joint motion.
[0009] The NMPC optimization problem can be expressed as:
[0010]
[0011] in:
[0012] x k : state vector at time k (including joint angles, velocities, etc.);
[0013] x d : desired state vector;
[0014] u k : Control input (joint torque) at time k;
[0015] Q and R: weight matrices, used to weight the state error and control input respectively.
[0016] WBC optimization goals and their priorities are as follows Figure 2 As shown,
[0017] The decision variables in WBC are
[0018]
[0019] in is the second-order derivative of the generalized coordinates, that is, the generalized acceleration, and τ is the joint torque.
[0020] In addition, the robot obtains data such as current posture and joint status in real time through a variety of sensors (such as IMU and force sensors), and uses PD controller for feedback control. The PD control law is as follows:
[0021]
[0022] Where K p , K d are proportional and differential gains respectively; q d and are the desired joint angle and angular velocity, q(t) and is the current joint angle and angular velocity, τ ff is the feedforward torque.
[0023] The above framework works well in most common gaits, such as standing on two legs, stepping left and right, and jumping on two legs. However, if gaits such as standing on one leg or jumping on one leg are directly executed, it will immediately become unstable and fall to the side of the free leg. This is because the model predictive control module in the framework uses a single rigid body dynamics + full kinematics model. When considering the system dynamics, the robot is regarded as a single rigid body fixed on a floating base, while the dynamics of the limbs are ignored. This significantly simplified single rigid body dynamics model can still work well in some cases where the deviation between the actual center of mass of the robot and the center of mass of the single rigid body is not large. However, when performing single-leg gait movements, the actual center of mass and the model center of mass always maintain a large deviation. The dynamic effect of the free leg will make it difficult for the MPC optimization results to maintain system balance. Summary of the invention
[0024] The present invention proposes a humanoid robot single-leg gait transition motion design and a control method thereof that combines model predictive control with whole-body motion control, aiming to improve the stability and control accuracy during the gait transition process.
[0025] To achieve the above object, the technical solution adopted by the present invention is:
[0026] A single-leg gait transition action of a humanoid robot, characterized by:
[0027] Single-leg gait control state design:
[0028] All possible control modes of the robot are considered as one state. When the robot is running, it can switch between different states according to the trigger or transfer conditions between states, so as to easily integrate different control modes and keep the modes relatively independent.
[0029] 1. Position control of the legs in an upright position
[0030] In the position-controlled double-leg upright state, MPC and WBC are closed, and each joint of the robot adopts position control, and PD control is used to keep the robot's legs upright;
[0031] 2. Control your legs while standing
[0032] In the force-controlled two-legged standing state, MPC and WBC are turned on, the expected trajectory generation module is turned on, the robot will keep the center of mass at the center of the two-legged support area according to the state estimator, and the two-legged standing related parameters will take effect;
[0033] 3. Single-leg standing position
[0034] In the single-leg standing state, MPC and WBC are turned on, the expected trajectory generation module is turned on, the robot will keep the center of mass at the center of the single-leg support area according to the state estimator, and the single-leg standing related parameters will take effect;
[0035] 4. Single-leg hopping
[0036] In the single-leg jump state, MPC and WBC are turned on, the expected trajectory generation module is turned off, and the single-leg jump related parameters are effective;
[0037] Single-leg gait transition motion design and control:
[0038] The initial state of the robot is the position-controlled two-leg upright state, the initial state of the single-leg motion state is the force-controlled two-leg standing state, the single-leg gait transition action is the switching between the initial state and the force-controlled two-leg standing state, and the fast and smooth transition action between the force-controlled two-leg standing state, the single-leg standing state and the single-leg jumping state in the single-leg motion state.
[0039] The switching logic of the transition action treats each state mode as a state in the FSM, so a total of four pairs of transition actions need to be designed:
[0040] 1. The position-controlled double-leg upright state of the recovery standing state and the force-controlled double-leg standing state of the single-leg movement state:
[0041] When the robot is in the position-controlled double-leg upright state of the recovery state, the robot's trunk and floating base are at a high height, and the knee joint is about to reach the limit. Therefore, the robot body height needs to be lowered when switching to the single-leg motion state.
[0042] The NMPC and WBC parameters in the single-leg motion state, including the cost function weight in NMPC, the foot-end posture error feedback coefficient, the swing foot-end trajectory parameter, the expected joint state, and the task weight parameter in WBC, are different from the parameters for recovering to the standing state and need to be switched according to the robot state.
[0043] When recovering to the standing state, only the PD control of each joint is performed. When switching to the single-leg motion state, the expected trajectory generation module needs to be added, and the center of the support area is set to the center of both feet.
[0044] On the contrary, when switching from the single-leg motion state to the standing state, it is necessary to restore the default robot body height, switch to the default NMPC and WBC parameters, and turn off the expected trajectory generation module.
[0045] 2. Force-controlled double-leg standing state and single-leg standing state in single-leg movement state:
[0046] The center of the support domain is switched immediately. The expected trajectory generation module for the force-controlled double-leg standing state in the single-leg motion state uses the center of the double feet as the center of the support domain. When switching to the single-leg standing state, it must be switched to the center of the supporting foot immediately.
[0047] On the contrary, when switching from the single-leg standing state to the force-controlled double-leg standing state, the center of the support area must first be switched to the preset fixed coordinate relative to the supporting foot, and then switched to the center of both feet after the vacated foot lands. The center of both feet at the moment of gait switching is too close to the center of the supporting foot and cannot be used as the reference position of the center of gravity when standing with both legs.
[0048] The real-time centers of both feet are constantly changing during the gait switching process. Therefore, in the time interval between the gait switching and the landing of the free foot, a fixed coordinate relative to the center of the supporting foot is preset as the reference value of the center of gravity coordinate. The center of the supporting area is set as the real-time center of both feet after the free foot lands to maintain balance.
[0049] 3. Single-leg standing and single-leg jumping in single-leg movement:
[0050] In the single-leg standing state, the desired trajectory generation module takes effect, and the desired fuselage position command entered by the user on the control panel is taken over by the center of mass controller, so the position command is invalid, but the user can still control the desired fuselage posture through the command.
[0051] On the contrary, in the single-leg jumping state, the expected trajectory generation module fails, the user's expected body posture command fails, and the expected body position allows the user to control it through position commands.
[0052] In addition, there will be deviations in the robot's body position between the single-leg standing state and the single-leg jumping state, which needs to be corrected by the preset expected posture offset.
[0053] 4. Force-controlled double-leg standing and single-leg jumping in single-leg motion state;
[0054] When the force-controlled two-leg standing state is switched to the single-leg jumping state, the expected trajectory generation module and the user body posture command are invalid, the preset expected position bias and the user body position command take effect, and the support domain center is switched to the support foot center in preparation for switching to the single-leg standing state, and the preset expected position bias needs to be debugged separately; conversely, when the single-leg jumping state is switched to the force-controlled two-leg standing state, the preset expected position bias and the user body position command are invalid, the expected trajectory generation module and the user body posture command take effect, and the support domain center is switched to the center of the two feet.
[0055] A method for controlling a single-leg gait transition motion of a humanoid robot, characterized in that it comprises the following steps:
[0056] S1. Design single-leg gait transition motion control:
[0057] S11. Robot operation and control mode design;
[0058] S12, operation control state design, state transfer condition design, state transfer action design;
[0059] S121. Conversion from the standing state to the single-leg movement state:
[0060] S1211, switch between position-controlled double-leg upright state and force-controlled double-leg standing state:
[0061] Switching from the position-controlled double-leg upright state to the force-controlled double-leg standing state:
[0062] Make the robot resume standing state, that is, the robot is in the position-controlled two-leg upright state. When the position-controlled two-leg upright state is converted to the force-controlled two-leg standing state, the MPC and MBC parameters are switched to the single-leg state, the robot body height is reduced, and the expected trajectory generation module takes effect;
[0063] Switch from force-controlled double-leg standing state to position-controlled double-leg upright state:
[0064] When the force-controlled double-leg standing state switches to the position-controlled double-leg upright state, the MPC and MBC parameters switch to the general gait, the robot body height is restored, and the expected trajectory generation module becomes invalid;
[0065] S1212: When the robot is in the position-controlled double-leg upright state, the process ends directly;
[0066] S122, switching between single-leg movement states:
[0067] S1221, force control switching between double-leg standing state and single-leg standing state:
[0068] When the force-controlled double-leg standing state switches to the single-leg standing state: the center of the support area is immediately switched to the center of the supporting foot.
[0069] When switching from the single-leg standing state to the force-controlled double-leg standing state: the center of the support area is immediately switched to the center of the two feet, and the center of gravity is switched with a delay referring to the left side;
[0070] S1222, switching between single-leg standing state and single-leg jumping state:
[0071] When the single-leg standing state switches to the single-leg jumping state: the expected trajectory generation module fails, the user posture command fails, the user position command fails, and the preset expected posture bias takes effect;
[0072] When the single-leg jumping state switches to the single-leg standing state: the expected trajectory generation module fails, the user posture command fails, the user position command fails, and the preset expected posture bias takes effect;
[0073] S1223. Switching between single-leg jumping state and force-controlled double-leg standing state:
[0074] When the single-leg jumping state switches to the force-controlled double-leg standing state: the center of the support area switches to the center of the two feet, the expected trajectory generation module takes effect, the user posture command takes effect, the user position command becomes invalid, and the preset expected posture offset becomes invalid;
[0075] When the force-controlled double-leg standing state switches to the single-leg jumping state: the center of the support area switches to the center of the supporting foot, the expected trajectory generation module becomes invalid, the user posture command becomes invalid, the user position command becomes effective, and the preset expected posture offset becomes effective;
[0076] S13, obtaining the complete logic of single-leg gait transition action;
[0077] S14, running the single-leg gait switching controller;
[0078] S2. Model predictive control:
[0079] S21, generating a fuselage state trajectory sequence;
[0080] S22, MPC optimizes ground contact force and joint motor commands;
[0081] S3. Whole body control:
[0082] S31, WBC generates joint motor instructions;
[0083] S32, PVT-PD joint motor control;
[0084] S4. Realize single-leg gait transition motion control.
[0085] Compared with the prior art, the present invention has the following beneficial effects:
[0086] The present invention can effectively solve the problems of center of gravity offset and insufficient control accuracy of bipedal robots during gait transition through the algorithm module of finite state machine and single-leg gait transition action design. This method significantly improves the gait control ability of the robot in complex environments, especially in the single-leg support and single-leg jumping stages, the robot can stably switch to the corresponding gait, reducing the possibility of tilting and imbalance.
[0087] The details are as follows:
[0088] (1) The single-leg gait switching state machine is designed to achieve high stability and high flexibility in single-leg gait switching by specifically defining single-leg gaits and designing the transfer conditions and transition actions between multiple gaits.
[0089] (2) Center of mass trajectory control: By controlling the expected trajectory of the center of mass during gait switching, the shortcomings of the single rigid body dynamics model are compensated and tilting and instability during gait transition are avoided.
[0090] (3) Real-time feedback control: Through the fusion of kinematics and sensor data, combined with the feedback controller, the robot state is adjusted in real time to achieve stable control of gait switching. BRIEF DESCRIPTION OF THE DRAWINGS
[0091] Figure 1 It is the flow chart of the existing basic control framework;
[0092] Figure 2 It is a table diagram of WBC’s optimization goals and their priorities;
[0093] Figure 3 It is the overall control framework flow chart of the present invention;
[0094] Figure 4 It is the reference coordinate change diagram of the center of gravity on the horizontal projection plane of the ground;
[0095] Figure 5 It is the logic block diagram of the single-leg movement gait transition action algorithm. DETAILED DESCRIPTION
[0096] The present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments:
[0097] In the basic framework of the humanoid robot motion control algorithm in the prior art, in order to facilitate the switching between different control principles, control logics or control parameters,
[0098] The present invention adopts a finite state machine (FSM) algorithm module, that is, different control modes that the robot may adopt are regarded as one state. When the robot is running, it can switch between different states according to the trigger or transfer conditions between the states, thereby conveniently integrating different control modes and maintaining relative independence between the modes. The specific technical solution is as follows:
[0099] like Figure 3-5 As shown, the present invention proposes a single-leg gait transition action of a humanoid robot.
[0100] Single-leg gait control state design:
[0101] All possible control modes of the robot are considered as one state. When the robot is running, it can switch between different states according to the trigger or transfer conditions between states, so as to easily integrate different control modes and keep the modes relatively independent.
[0102] 1. Position control of the legs in an upright position
[0103] In the position-controlled double-leg upright state, MPC and WBC are closed, and each joint of the robot adopts position control, and PD control is used to keep the robot's legs upright;
[0104] 2. Control your legs while standing
[0105] In the force-controlled two-legged standing state, MPC and WBC are turned on, the expected trajectory generation module is turned on, the robot will keep the center of mass at the center of the two-legged support area according to the state estimator, and the two-legged standing related parameters will take effect;
[0106] 3. Single-leg standing position
[0107] In the single-leg standing state, MPC and WBC are turned on, the expected trajectory generation module is turned on, the robot will keep the center of mass at the center of the single-leg support area according to the state estimator, and the single-leg standing related parameters will take effect;
[0108] 4. Single-leg hopping
[0109] In the single-leg jump state, MPC and WBC are turned on, the expected trajectory generation module is turned off, and the single-leg jump related parameters are effective;
[0110] Single-leg gait transition motion design and control:
[0111] The initial state of the robot is the position-controlled two-leg upright state, the initial state of the single-leg motion state is the force-controlled two-leg standing state, the single-leg gait transition action is the switching between the initial state and the force-controlled two-leg standing state, and the fast and smooth transition action between the force-controlled two-leg standing state, the single-leg standing state and the single-leg jumping state in the single-leg motion state.
[0112] The switching logic of the transition action treats each state mode as a state in the FSM, so a total of four pairs of transition actions need to be designed:
[0113] 1. The position-controlled double-leg upright state of the recovery standing state and the force-controlled double-leg standing state of the single-leg movement state:
[0114] When the robot is in the position-controlled double-leg upright state of the recovery state, the robot's trunk and floating base are high, and the knee joints almost reach the limit, which is not conducive to leg bending and real-time adjustment of the center of mass position during single-leg movement. Therefore, the robot body height needs to be lowered when switching to the single-leg movement state.
[0115] The NMPC and WBC parameters in the single-leg motion state, including the cost function weight in NMPC, the foot-end posture error feedback coefficient, the swing foot-end trajectory parameter, the expected joint state, and the task weight parameter in WBC, are different from the parameters for recovering to the standing state and need to be switched according to the robot state.
[0116] When recovering to the standing state, only the PD control of each joint is performed. When switching to the single-leg motion state, the expected trajectory generation module needs to be added, and the center of the support area is set to the center of both feet.
[0117] On the contrary, when switching from the single-leg motion state to the standing state, it is necessary to restore the default robot body height, switch to the default NMPC and WBC parameters, and turn off the expected trajectory generation module.
[0118] 2. Force-controlled double-leg standing state and single-leg standing state in single-leg movement state:
[0119] The center of the support domain is switched immediately. The expected trajectory generation module for the force-controlled double-leg standing state in the single-leg motion state uses the center of the double feet as the center of the support domain. When switching to the single-leg standing state, it must be switched to the center of the supporting foot immediately, otherwise the balance will be lost and fall.
[0120] On the contrary, when switching from the single-leg standing state to the force-controlled double-leg standing state, the center of the support domain must first be switched to the preset fixed coordinate relative to the supporting foot, and then switched to the center of the two feet after the free foot lands. This is because the position of the free foot in single-leg standing has great uncertainty, and the center of the two feet at the moment of gait switching is too close to the center of the supporting foot, and cannot be used as the reference position of the center of gravity when standing with two legs.
[0121] The real-time centers of both feet are constantly changing during the gait switching process. As the reference value of PID, it is very easy for the controlled quantity to drift significantly. Therefore, in the time interval between the gait switching and the landing of the free foot, a fixed coordinate relative to the center of the supporting foot is preset as the reference value of the gravity center coordinate. After the free foot lands, the center of the supporting area is set as the real-time center of both feet to maintain balance.
[0122] In summary, when the single-leg standing gait switches to the double-leg standing gait, the reference coordinates of the center of gravity on the horizontal projection plane of the ground change as follows: Figure 4 shown.
[0123] 3. Single-leg standing and single-leg jumping in single-leg movement:
[0124] In the single-leg standing state, the desired trajectory generation module takes effect, and the desired fuselage position command entered by the user on the control panel is taken over by the center of mass controller, so the position command is invalid, but the user can still control the desired fuselage posture through the command.
[0125] On the contrary, in the single-leg jumping state, the expected trajectory generation module fails, the user's expected body posture command fails, and the expected body position allows the user to control it through position commands.
[0126] In addition, there will be deviations in the robot's body position between the single-leg standing state and the single-leg jumping state, which needs to be corrected by the preset expected posture offset.
[0127] In summary, when switching from single-leg standing to single-leg jumping, the expected trajectory generation module and the user's body posture command are invalid, and the preset expected position bias and the user's body position command take effect; when switching from single-leg jumping to single-leg standing, the preset expected position bias and the user's body position command are invalid, and the expected trajectory generation module and the user's body posture command take effect.
[0128] 4. Force-controlled double-leg standing and single-leg jumping in single-leg motion state;
[0129] When the force-controlled double-leg standing state is switched to the single-leg jumping state, similar to the switch from single-leg standing to single-leg jumping, the expected trajectory generation module and the user body posture command are invalid, and the preset expected position bias and the user body position command are effective, but the support domain center needs to be additionally switched to the support foot center in preparation for switching to single-leg standing, and the preset expected position bias needs to be debugged separately; conversely, when the single-leg jumping state is switched to the force-controlled double-leg standing state, the preset expected position bias and the user body position command are invalid, the expected trajectory generation module and the user body posture command are effective, and the support domain center is switched to the center of both feet.
[0130] Combine all the above eight states and gait transition movements.
[0131] like Figure 3 and Figure 5 As shown, the present invention also proposes a method for controlling a single-leg gait transition motion of a humanoid robot, comprising the following steps:
[0132] S1. Design single-leg gait transition motion control:
[0133] S11. Robot operation and control mode design;
[0134] S12, operation control state design, state transfer condition design, state transfer action design;
[0135] S121. Conversion from the standing state to the single-leg movement state:
[0136] S1211, switch between position-controlled double-leg upright state and force-controlled double-leg standing state:
[0137] Switching from the position-controlled double-leg upright state to the force-controlled double-leg standing state:
[0138] Make the robot resume standing state, that is, the robot is in the position-controlled two-leg upright state. When the position-controlled two-leg upright state is converted to the force-controlled two-leg standing state, the MPC and MBC parameters are switched to the single-leg state, the robot body height is reduced, and the expected trajectory generation module takes effect;
[0139] Switch from force-controlled double-leg standing state to position-controlled double-leg upright state:
[0140] When the force-controlled double-leg standing state switches to the position-controlled double-leg upright state, the MPC and MBC parameters switch to the general gait, the robot body height is restored, and the expected trajectory generation module becomes invalid;
[0141] S1212: When the robot is in the position-controlled double-leg upright state, the process ends directly;
[0142] S122, switching between single-leg movement states:
[0143] S1221, force control switching between double-leg standing state and single-leg standing state:
[0144] When the force-controlled double-leg standing state switches to the single-leg standing state: the center of the support area is immediately switched to the center of the supporting foot.
[0145] When switching from the single-leg standing state to the force-controlled double-leg standing state: the center of the support area is immediately switched to the center of the two feet, and the center of gravity is switched with a delay referring to the left side;
[0146] S1222, switching between single-leg standing state and single-leg jumping state:
[0147] When the single-leg standing state switches to the single-leg jumping state: the expected trajectory generation module fails, the user posture command fails, the user position command fails, and the preset expected posture bias takes effect;
[0148] When the single-leg jumping state switches to the single-leg standing state: the expected trajectory generation module fails, the user posture command fails, the user position command fails, and the preset expected posture bias takes effect;
[0149] S1223. Switching between single-leg jumping state and force-controlled double-leg standing state:
[0150] When the single-leg jumping state switches to the force-controlled double-leg standing state: the center of the support area switches to the center of the two feet, the expected trajectory generation module takes effect, the user posture command takes effect, the user position command becomes invalid, and the preset expected posture offset becomes invalid;
[0151] When the force-controlled double-leg standing state switches to the single-leg jumping state: the center of the support area switches to the center of the supporting foot, the expected trajectory generation module becomes invalid, the user posture command becomes invalid, the user position command becomes effective, and the preset expected posture offset becomes effective;
[0152] S13, obtaining the complete logic of single-leg gait transition action;
[0153] S14, running the single-leg gait switching controller;
[0154] S2. Model predictive control:
[0155] S21, generating a fuselage state trajectory sequence;
[0156] S22, MPC optimizes ground contact force and joint motor commands;
[0157] S3. Whole body control:
[0158] S31, WBC generates joint motor instructions;
[0159] S32, PVT-PD joint motor control;
[0160] S4. Realize single-leg gait transition motion control.
[0161] The present invention can effectively solve the problems of center of gravity offset and insufficient control accuracy of bipedal robots during gait transition through the algorithm module of finite state machine and single-leg gait transition action design. This method significantly improves the gait control ability of the robot in complex environments, especially in the single-leg support and single-leg jumping stages, the robot can stably switch to the corresponding gait, reducing the possibility of tilting and imbalance.
[0162] The details are as follows:
[0163] (1) The single-leg gait switching state machine is designed to achieve high stability and high flexibility in single-leg gait switching by specifically defining single-leg gaits and designing the transfer conditions and transition actions between multiple gaits.
[0164] (2) Center of mass trajectory control: By controlling the expected trajectory of the center of mass during gait switching, the shortcomings of the single rigid body dynamics model are compensated and tilting and instability during gait transition are avoided.
[0165] (3) Real-time feedback control: Through the fusion of kinematics and sensor data, combined with the feedback controller, the robot state is adjusted in real time to achieve stable control of gait switching.
[0166] The above description is only a preferred embodiment of the present invention and does not constitute any other form of limitation to the present invention. Any modification or equivalent change made based on the technical essence of the present invention still falls within the scope of protection required by the present invention.
Claims
1. A single-leg gait transition action of a humanoid robot, characterized in that: Single-leg gait control state design: All possible control modes of the robot are considered as one state. When the robot is running, it can switch between different states according to the trigger or transfer conditions between states, so as to easily integrate different control modes and keep the modes relatively independent. Position control of the legs in an upright position; In the position-controlled double-leg upright state, MPC and WBC are closed, and each joint of the robot adopts position control, and PD control is used to keep the robot's legs upright; Forcefully control the standing state of both legs; In the force-controlled two-legged standing state, MPC and WBC are turned on, the expected trajectory generation module is turned on, the robot will keep the center of mass at the center of the two-legged support area according to the state estimator, and the two-legged standing related parameters will take effect; One-leg standing position; In the single-leg standing state, MPC and WBC are turned on, the expected trajectory generation module is turned on, the robot will keep the center of mass at the center of the single-leg support area according to the state estimator, and the single-leg standing related parameters will take effect; Single-leg hopping state; In the single-leg jump state, MPC and WBC are turned on, the expected trajectory generation module is turned off, and the single-leg jump related parameters are effective; Single-leg gait transition motion design and control: The initial state of the robot is the position-controlled two-leg upright state, the initial state of the single-leg motion state is the force-controlled two-leg standing state, the single-leg gait transition action is the switching between the initial state and the force-controlled two-leg standing state, and the fast and smooth transition action between the force-controlled two-leg standing state, the single-leg standing state and the single-leg jumping state in the single-leg motion state. The switching logic of the transition action treats each state mode as a state in the FSM, so a total of four pairs of transition actions need to be designed: The position-controlled double-leg upright state of the recovery standing state and the force-controlled double-leg standing state of the single-leg movement state: When the robot is in the position-controlled double-leg upright state of the recovery state, the robot's trunk and floating base are at a high height, and the knee joint is about to reach the limit. Therefore, the robot body height needs to be lowered when switching to the single-leg motion state. The NMPC and WBC parameters in the single-leg motion state, including the cost function weight in NMPC, the foot-end posture error feedback coefficient, the swing foot-end trajectory parameter, the expected joint state, and the task weight parameter in WBC, are different from the parameters for recovering to the standing state and need to be switched according to the robot state. When recovering to the standing state, only the PD control of each joint is used. When switching to the single-leg motion state, the expected trajectory generation module needs to be added, and the center of the support area is set to the center of both feet. On the contrary, when switching from the single-leg motion state to the standing state, it is necessary to restore the default robot body height, switch to the default NMPC and WBC parameters, and turn off the expected trajectory generation module. Force-controlled double-leg standing state and single-leg standing state in single-leg movement state: The center of the support domain is switched immediately. The expected trajectory generation module for the force-controlled double-leg standing state in the single-leg motion state uses the center of the double feet as the center of the support domain. When switching to the single-leg standing state, it must be switched to the center of the supporting foot immediately. On the contrary, when switching from the single-leg standing state to the force-controlled double-leg standing state, the center of the support area must first be switched to the preset fixed coordinate relative to the supporting foot, and then switched to the center of both feet after the vacated foot lands. The center of both feet at the moment of gait switching is too close to the center of the supporting foot and cannot be used as the reference position of the center of gravity when standing with both legs. The real-time centers of both feet are constantly changing during the gait switching process. Therefore, in the time interval between the gait switching and the landing of the free foot, a fixed coordinate relative to the center of the supporting foot is preset as the reference value of the center of gravity coordinate. The center of the supporting area is set as the real-time center of both feet after the free foot lands to maintain balance. Single-leg standing state and single-leg jumping state in single-leg movement state: In the single-leg standing state, the desired trajectory generation module takes effect, and the desired fuselage position command entered by the user on the control panel is taken over by the center of mass controller, so the position command is invalid, but the user can still control the desired fuselage posture through the command. On the contrary, in the single-leg jumping state, the expected trajectory generation module fails, the user's expected body posture command fails, and the expected body position allows the user to control it through position commands. In addition, there will be deviations in the robot's body position between the single-leg standing state and the single-leg jumping state, which needs to be corrected by the preset expected posture offset. Force-controlled double-leg standing and single-leg jumping in single-leg motion state; When the force-controlled two-leg standing state is switched to the single-leg jumping state, the expected trajectory generation module and the user body posture command are invalid, the preset expected position bias and the user body position command take effect, and the support domain center is switched to the support foot center in preparation for switching to the single-leg standing state, and the preset expected position bias needs to be debugged separately; conversely, when the single-leg jumping state is switched to the force-controlled two-leg standing state, the preset expected position bias and the user body position command are invalid, the expected trajectory generation module and the user body posture command take effect, and the support domain center is switched to the center of the two feet.
2. The method for controlling a single-leg gait transition motion of a humanoid robot according to claim 1, characterized in that: The steps include: S1. Design single-leg gait transition motion control: S11. Robot operation and control mode design; S12, operation control state design, state transfer condition design, state transfer action design; S121. Conversion from the standing state to the single-leg movement state: S1211, switch between position-controlled double-leg upright state and force-controlled double-leg standing state: Switching from the position-controlled double-leg upright state to the force-controlled double-leg standing state: Make the robot resume standing state, that is, the robot is in the position-controlled two-leg upright state. When the position-controlled two-leg upright state is converted to the force-controlled two-leg standing state, the MPC and MBC parameters are switched to the single-leg state, the robot body height is reduced, and the expected trajectory generation module takes effect; Switch from force-controlled double-leg standing state to position-controlled double-leg upright state: When the force-controlled double-leg standing state switches to the position-controlled double-leg upright state, the MPC and MBC parameters switch to the general gait, the robot body height is restored, and the expected trajectory generation module becomes invalid; S1212: When the robot is in the position-controlled double-leg upright state, the process ends directly; S122, switching between single-leg movement states: S1221, force control switching between double-leg standing state and single-leg standing state: When the force-controlled double-leg standing state switches to the single-leg standing state: the center of the support area is immediately switched to the center of the supporting foot. When switching from the single-leg standing state to the force-controlled double-leg standing state: the center of the support area is immediately switched to the center of the two feet, and the center of gravity is switched with a delay referring to the left side; S1222, switching between single-leg standing state and single-leg jumping state: When the single-leg standing state switches to the single-leg jumping state: the expected trajectory generation module fails, the user posture command fails, the user position command fails, and the preset expected posture bias takes effect; When the single-leg jumping state switches to the single-leg standing state: the expected trajectory generation module fails, the user posture command fails, the user position command fails, and the preset expected posture bias takes effect; S1223. Switching between single-leg jumping state and force-controlled double-leg standing state: When the single-leg jumping state switches to the force-controlled double-leg standing state: the center of the support area switches to the center of the two feet, the expected trajectory generation module takes effect, the user posture command takes effect, the user position command becomes invalid, and the preset expected posture offset becomes invalid; When the force-controlled double-leg standing state switches to the single-leg jumping state: the center of the support area switches to the center of the supporting foot, the expected trajectory generation module becomes invalid, the user posture command becomes invalid, the user position command becomes effective, and the preset expected posture offset becomes effective; S13, obtaining the complete logic of single-leg gait transition action; S14, running the single-leg gait switching controller; S2. Model predictive control: S21, generating a fuselage state trajectory sequence; S22, MPC optimizes ground contact force and joint motor commands; S3. Whole body control: S31, WBC generates joint motor instructions; S32, PVT-PD joint motor control; S4. Realize single-leg gait transition motion control.
Citation Information
Cited By
Methods and systems for task switching and path planning of legged robots for multi-scenario inspection
CN122566861A
Multi-scene inspection of foot robot task switching and path planning method and system
CN122566861B