Humanoid robot getting-up control method and humanoid robot
By using posture adjustment and phased standing control methods, combined with the preset trajectories of the center of mass and the end effector, the problem of humanoid robots having difficulty standing up autonomously after falling has been solved, and a fast and stable standing process has been achieved.
Patent Information
- Application Number
- CN202511991524.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-26
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2045-12-26
AI Technical Summary
Existing technologies make it difficult for humanoid robots to get up quickly and stably in complex environments after a fall, especially when the supporting hand/foot slips or missteps, which can easily lead to interruption or failure of the getting-up action.
By introducing attitude adjustment control commands, the humanoid robot is adjusted to a preset posture and the standing action sequence is executed in stages. Combined with the preset standing reference trajectory movement of the center of mass and multiple end effectors, a staged control framework and closed-loop feedback mechanism are adopted to monitor the contact state and ensure the stability and continuity of the action.
It enables humanoid robots to stand up quickly, stably, and with basic fault tolerance under varying initial postures and uncertain contact conditions, improving the robustness and success rate of the standing process.
Smart Images

Figure CN121411291A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of humanoid robot control technology, and in particular to a method for controlling the standing up of a humanoid robot and the humanoid robot itself. Background Technology
[0002] With the development of service humanoid robots, special-operation humanoid robots, and companion humanoid robots, humanoid robots, due to their resemblance to humans in appearance and movement, have gradually become a key focus of research and application. In complex environments, humanoid robots inevitably fall due to external impacts, uneven ground, or control errors. To ensure that humanoid robots can continue to complete tasks without human intervention, they need to have the ability to get up autonomously after a fall.
[0003] In existing technologies, there are generally two types of solutions for the problem of humanoid robots getting up after a fall: one is a fixed trajectory-based method, which drives the robot's joints through a pre-designed sequence of movements to restore the robot from a fallen state to a standing state. This type of method has high repeatability, but often depends on specific initial postures and ground conditions. If the actual environment deviates from the preset conditions, it is prone to failure. The other type is an optimization control-based method, which generates getting-up control commands based on the current state by solving dynamic equations or trajectory optimization problems online. This type of method can theoretically adapt to different initial postures and environmental conditions, but its computational complexity is high, making it difficult to meet the real-time requirements of humanoid robot control systems, and it is highly dependent on the accuracy of the humanoid robot's dynamic model and contact parameters.
[0004] It is evident that most existing technologies are open-loop or quasi-open-loop. When the supporting hands / feet slip due to factors such as changes in ground friction or uneven local terrain during execution, the standing action is extremely prone to being interrupted or completely failed midway, making it impossible to achieve rapid and stable autonomous standing of humanoid robots. Summary of the Invention
[0005] This application provides a method for controlling the standing up of a humanoid robot and a humanoid robot, which enables the humanoid robot to achieve rapid, stable, and basic fault-tolerant autonomous standing up.
[0006] The first aspect of this application provides a method for controlling the standing up of a humanoid robot. The humanoid robot includes a torso, a first upper limb and its end effector, a second upper limb and its end effector, a first lower limb and its end effector, and a second lower limb and its end effector. The first upper limb and the second upper limb are respectively connected to the torso. The torso includes a hip. The first lower limb and the second lower limb are respectively connected to the hip. The first lower limb and the second lower limb each include a thigh and a calf. The thigh and the calf are connected by a knee joint. A first angle is formed between the thigh and the calf of the first lower limb, and a second angle is formed between the thigh and the calf of the second lower limb. The method includes: If a humanoid robot is given a command to stand up, the posture adjustment control command is invoked to control the humanoid robot to adjust to a preset posture. The preset posture includes: the hips touching the ground, the end effector of the first lower limb and / or the end effector of the second lower limb touching the ground, the first included angle being α, 45° < α < 180°, and the second included angle being β, 45° < β < 180°. The stand-up control program is invoked to control the humanoid robot to execute a stand-up action sequence, so that the humanoid robot transitions from the preset posture to a standing posture. The stand-up action sequence includes multiple stages of stand-up actions. Each stage of stand-up action is controlled by a corresponding stand-up control subroutine to move the center of mass of the humanoid robot and multiple end effectors according to their respective preset stand-up reference trajectories.
[0007] A second aspect of this application provides a humanoid robot, the humanoid robot comprising: Processor, memory, input / output units, and bus; The processor is connected to the memory, the input / output unit, and the bus; The memory stores a program that the processor invokes to execute the first aspect and any optional method of humanoid robot standing control in the first aspect.
[0008] A third aspect of this application provides a system for controlling the standing up of a humanoid robot. The humanoid robot includes a torso, a first upper limb and its end effector, a second upper limb and its end effector, a first lower limb and its end effector, and a second lower limb and its end effector. The first upper limb and the second upper limb are respectively connected to the torso. The torso includes a hip. The first lower limb and the second lower limb are respectively connected to the hip. Both the first lower limb and the second lower limb include a thigh and a calf. The thigh and the calf are connected by a knee joint. A first angle is formed between the thigh and the calf of the first lower limb, and a second angle is formed between the thigh and the calf of the second lower limb. The system includes: The first calling unit is used to call the posture adjustment control command if it receives a humanoid robot standing up trigger command, and control the humanoid robot to adjust to a preset posture. The preset posture includes: the hip touching the ground, the end effector of the first lower limb and / or the end effector of the second lower limb touching the ground, the first included angle is α, 45° < α < 180°, and the second included angle is β, 45° < β < 180°. The second calling unit is used to call the standing control program to control the humanoid robot to execute a standing action sequence, so that the humanoid robot transitions from the preset posture to a standing posture. The standing action sequence includes multiple stages of standing action. Each stage of standing action is controlled by a corresponding standing control subroutine to move the center of mass of the humanoid robot and multiple end effectors according to their respective preset standing reference trajectories.
[0009] As can be seen from the above technical solutions, this application has the following advantages: First, the posture adjustment control command is invoked. In the first control phase, the humanoid robot is adjusted from an arbitrary fallen state to a uniform preset posture. This eliminates the need for subsequent standing control to handle an infinite number of initial states, greatly improving the method's versatility and generalization ability to multiple initial postures. Then, the standing control program is invoked. In the second control phase, a standing action sequence containing multiple stages is introduced. This staged standing control effectively suppresses subsequent action errors caused by slipping or misstepping of the supporting hand / foot, thus avoiding unexpected interruptions or complete failure of the standing process. This application, through its staged control framework, enables the humanoid robot to achieve rapid, stable, and fundamentally fault-tolerant autonomous standing under varying initial postures and uncertain contact conditions. Attached Figure Description
[0010] To more clearly illustrate the technical solutions in this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 A schematic flowchart of an embodiment of the method for controlling the standing up of a humanoid robot provided in this application; Figure 2 A schematic diagram illustrating the humanoid robot provided in this application adjusting from a fallen state to a preset posture; Figure 3 A schematic diagram illustrating the support state of the humanoid robot provided in this application during the process of standing up; Figure 4 A schematic diagram illustrating the bipedal standing posture of the humanoid robot provided in this application; Figure 5 A schematic diagram illustrating the phase division of the standing motion sequence provided in this application; Figure 6 A schematic flowchart of another embodiment of the method for controlling the humanoid robot to stand up provided in this application; Figure 7 A schematic diagram of an embodiment of the humanoid robot standing control system provided in this application; Figure 8 This is a schematic diagram of the hardware structure of one embodiment of the humanoid robot provided in this application. Detailed Implementation
[0012] This application provides a method for controlling the standing up of a humanoid robot and a humanoid robot, which enables the humanoid robot to achieve rapid, stable, and basic fault-tolerant autonomous standing up.
[0013] It should be noted that the humanoid robot standing control method provided in this application is applied to humanoid robots and is designed for blind standing scenarios, that is, enabling the humanoid robot to stand up autonomously without relying on visual sensors. The humanoid robot includes a torso, a first upper limb and its end effector, a second upper limb and its end effector, a first lower limb and its end effector, and a second lower limb and its end effector. The first and second upper limbs are connected to the torso. The torso includes a hip, and the first and second lower limbs are connected to the hip. Both the first and second lower limbs include a thigh and a calf, connected by a knee joint. A first angle is formed between the thigh and calf of the first lower limb, and a second angle is formed between the thigh and calf of the second lower limb. Each end effector of the humanoid robot is equipped with a force sensor or tactile sensor for real-time detection of the contact state and force applied to the ground. The humanoid robot also includes a posture perception module, which acquires the humanoid robot's posture data and center of mass position in real time through an inertial measurement unit (IMU), an encoder, and joint angle sensors. For ease of explanation, the embodiments of this application are described using the control system of a humanoid robot, referred to as the system, as the executing entity, but this is not a limitation on the scope of protection of this application.
[0014] The mechanical structure and some hardware of the humanoid robot provided in this application have been described above. The method for controlling the humanoid robot to stand up, as provided in this application, will be described below. Please refer to... Figure 1 , Figure 1 An embodiment of the method for controlling the standing up of a humanoid robot provided in this application includes: 101. If a humanoid robot is given a command to stand up, the posture adjustment control command is invoked to control the humanoid robot to adjust to a preset posture. The preset posture includes: the hips touching the ground, the end effector of the first lower limb and / or the end effector of the second lower limb touching the ground, the first included angle is α, 45° < α < 180°, and the second included angle is β, 45° < β < 180°. When a humanoid robot falls due to external impact, terrain disturbance, or loss of balance during task execution, its posture deviates from the normal walking or standing posture and may fall in various unpredictable postures. These arbitrary initial states are highly uncertain. Directly calling the get-up control program from such arbitrary initial fall states would result in an excessively large input state space for the control strategy, making convergence difficult and leading to get-up failure. Therefore, this embodiment introduces posture adjustment control commands to smoothly adjust the humanoid robot's joints, allowing the robot to adjust from any fall state to a preset posture. This step ensures consistent and stable initial conditions for subsequent execution of the get-up control program, greatly improving get-up stability.
[0015] In this embodiment, the attitude adjustment control command can be implemented through a PD position controller. The PD controller calculates and outputs the joint torque command JointTorque based on the deviation between the preset target joint position q_des and the real-time detected current joint position q, and the deviation between the target joint velocity qd_des and the current joint velocity qd. Specifically: JointTorque = Kp * (q_des - q) + Kd * (qd_des - qd). Where Kp is the proportional gain and Kd is the differential gain. In the parameter design of the PD position controller, a moderate Kp value and a suitable Kd value are preferred. The aim is to prioritize reducing shocks and jitter during attitude adjustment rather than pursuing the fastest response speed. A suitable gain ensures smooth limb movements during the transition of the humanoid robot to the preset posture, avoiding secondary rigid collisions with the ground or high-frequency jitter.
[0016] Please see Figure 2 , Figure 2This diagram illustrates a humanoid robot adjusting from a lying position to a preset posture. After posture adjustment control, the robot's upper body gradually rises from a lying position, its lower limbs bend, and its hips remain in contact with the ground, thus forming a stable initial support structure, i.e., adjusting to the preset posture. It should be noted that this preset posture specifically refers to the stable posture the humanoid robot is in before performing the standing action. This preset posture requires the hips to be in contact with the ground to form a reliable initial support surface, and at least one lower limb's end effector should be in contact with the ground. In this preset posture, the humanoid robot should have at least three support points: the contact point between the hips and the ground, and other contact points formed by the limb end effectors. These three support points can be formed by the end effectors of both lower limbs and the ground, or by the end effector of one lower limb and at least one upper limb. The humanoid robot's body can be in a sitting or lying supine position; the specific posture is not limited here. In this preset posture, the angles between the thigh and calf of the lower limb are α and β, respectively. α and β must satisfy the constraints of 45° < α < 180° and 45° < β < 180° to ensure that each joint has sufficient space for movement and torque output capability during the standing process.
[0017] 102. Call the standing control program to control the humanoid robot to execute the standing action sequence, so that the humanoid robot transitions from the preset posture to the standing posture. The standing action sequence includes multiple stages of standing action. Each stage of standing action is controlled by the corresponding standing control subroutine to control the humanoid robot's center of mass and multiple end effectors to move according to their respective preset standing reference trajectories.
[0018] After the humanoid robot adjusts to a preset posture, the system invokes the standing control program to control the robot to execute a sequence of standing movements, transitioning it from the preset posture to a bipedal standing posture. This standing movement sequence includes multiple stages; the standing control program contains multiple subroutines, each controlling the robot's center of mass and multiple end effectors to move along their respective preset standing reference trajectories. The purpose of the preset standing reference trajectories is to guide the robot's center of mass from a starting position near the ground to a target position in the bipedal standing posture. The target position is higher than the starting position, thus achieving a dynamic transition from a fallen state to an upright state. During this process, the preset standing reference trajectories of the center of mass and multiple end effectors are optimized to ensure a smooth upward path for the center of mass, reasonable energy consumption, and sufficient support stability for the multiple end effectors at each stage.
[0019] It should be noted that each stage in the standing-up sequence has a clear time boundary, with each stage corresponding to an independent start and end time point. The main basis for stage division is the change in the contact state of the humanoid robot's end effector. That is, when a change in the contact pattern between the hand or foot end effector and the ground is detected relative to the previous stage, the system determines that the current stage has ended and enters the next stage. In addition to the contact state, the center of mass position or upper body posture can be introduced as supplementary criteria for stage division during auxiliary determination. In some complex scenarios, the humanoid robot may experience blurred contact signals due to uneven terrain or end-sensor delays. In this case, the system can determine whether the stage transition has been completed based on the trajectory of the center of mass. If the center of mass is detected to reach a predetermined threshold in the vertical or horizontal direction (e.g., the height of ascent exceeds a certain proportion), it can be presumed that the current stage of the action is nearing completion, thereby triggering the execution of the next stage. In addition, upper body posture angles (such as pitch angle and roll angle) can be introduced. The posture changes of the upper body can be measured by the inertial measurement unit (IMU). When the rotation angle of the body reaches the preset range, such as changing from a supine position to a prone position or raising the torso by more than a certain angle, the system can also determine the stage switching accordingly.
[0020] Furthermore, to enable the humanoid robot to adapt to different terrain conditions when standing up, the system can introduce a smoothing compensation mechanism for the reference trajectory during the execution of the standing control program. This involves adding a smooth compensation amount to the original center-of-gravity reference trajectory and the trajectories of all end effectors to achieve real-time adaptation to terrain height and slope. For example, when the system detects that the foot end effector is stepping on a platform higher than the surrounding ground, it will add a smooth height compensation amount to the original center-of-gravity reference trajectory, such as shifting the entire reference trajectory upwards by about 10cm. This ensures that the body's center of gravity maintains a reasonable geometric relationship with the support surface during subsequent movements. Simultaneously, the reference trajectories of all end effectors throughout the humanoid robot will be adjusted according to the same pose change pattern to maintain posture coordination and balance. If the humanoid robot is on non-horizontal terrain (such as a slope or stairs), the system will further add slope correction on top of the height compensation. In this way, the humanoid robot can not only smoothly complete the standing action on flat ground but also achieve a stable and natural standing up when the ground is tilted or has height differences.
[0021] In this embodiment, the posture adjustment control command is first invoked to adjust the humanoid robot from an arbitrary fallen state to a uniform preset posture in the first control stage. This eliminates the need for subsequent standing control to deal with an infinite number of initial states, greatly improving the method's versatility and generalization ability to multiple initial postures. Then, the standing control program is invoked. In the second control stage, a standing action sequence containing multiple stages is introduced. This staged standing control effectively suppresses subsequent action errors caused by slipping or misstepping of the supporting hand / foot, thus avoiding unexpected interruptions or complete failure of the standing process. This application, through its staged control framework, enables the humanoid robot to achieve rapid, stable, and basic fault-tolerant autonomous standing under varying initial postures and uncertain contact conditions.
[0022] Please see Figures 3 to 4 , Figure 3 This is a diagram illustrating the supporting posture of a humanoid robot during the process of standing up. Figure 4 This is a schematic diagram of a standing posture. During the entire process of getting up, the humanoid robot gradually lifts its hips off the ground through the coordinated movement of its upper and lower limbs, and finally makes stable contact between the end effectors of its two lower limbs and the ground, keeping its torso upright, thus achieving the transition from falling to a fully standing posture.
[0023] Please see Figure 5 , Figure 5 This diagram illustrates the phase division of a standing-up sequence. In some specific embodiments, to achieve a continuous and stable standing-up, the multiple phases of the standing-up movement include at least: a single-hand support phase, a single-hand and single-leg support phase, a double-hand and single-leg support phase, a double-hand and double-leg support phase, and a double-leg support phase. These phases are described in detail below: 1. Single-arm support phase: This phase establishes initial support from the preset posture (i.e., the standing-up preparation posture). The system controls the humanoid robot's first upper limb to move, enabling its end effector to establish stable contact with the ground, thus forming the first support point on the ground. During this phase, the system also simultaneously controls the humanoid robot's torso to rotate laterally towards the first support point. The purpose is to actively shift the humanoid robot's center of gravity towards the established first support point, making room for subsequent movement of the non-supported limbs and ensuring posture stability.
[0024] 2. Single-arm, single-leg support phase: This phase builds upon the established first support point by adding lower limb support to elevate the center of gravity. While maintaining stable support with the first upper limb (first support point), the system controls the movement of the humanoid robot's first lower limb (the limb on the same side as the first upper limb). Specifically, the end effector of this first lower limb moves from an initial first position to a second position, which is closer to the humanoid robot's hip than the first position, performing a "leg-tucking" motion. Once the end effector of the first lower limb makes stable contact with the ground in the second position, a second support point is established. It should be noted that during this phase, to coordinate with the "leg tucking" and body elevation, the knee joint of the first lower limb moves away from the ground (bending), while the knee joint of the second lower limb moves closer to the ground. This coordinated movement results in the first angle between the thigh and calf of the first lower limb being smaller than the second angle between the thigh and calf of the second lower limb (i.e., the first lower limb is more flexed), thus creating a favorable geometric configuration for subsequent center of gravity elevation and body rotation.
[0025] 3. Two-Handed, One-Leg Support Phase: This phase establishes a three-point support and prepares for the landing of both feet. The system first controls the humanoid robot's second upper limb (the non-supporting upper limb) to move, bringing its end effector into contact with the ground, thus establishing a third support point and forming a stable three-point support structure of two hands and one foot. Based on this, the system further controls the humanoid robot's second lower limb (the non-supporting leg) to move its end effector from its current third position to a fourth position, which is also closer to the humanoid robot's hip than the third position. During this movement of the second lower limb, the angle between its thigh and calf gradually decreases (i.e., the leg gradually bends and tucks in). This action, in conjunction with the upper body, causes the humanoid robot's overall center of gravity to shift forward, preparing for the subsequent transfer of weight to the feet and raising the hips.
[0026] 4. Hands-and-Feet Support Phase: This phase is crucial for the humanoid robot's transition from a seated posture to a four-point support. While maintaining stable support at the established first, second, and third support points, the system executes two coordinated actions: First, it controls the robot's hips to move upwards from the fifth position (lower height) to the sixth position. The sixth position is higher than the fifth position, essentially performing a "hip lift." Second, while raising the hips, it controls the end effector (foot) of the second lower limb, which had been tucked in the previous phase, to contact the ground, thus establishing the fourth support point. After this phase, the humanoid robot achieves a stable four-point support posture.
[0027] 5. Two-Foot Support Phase: This is the final stage of the standing-up movement, aiming to transition to an upright standing posture. Based on the four-point support of "both hands and both feet," the system controls the humanoid robot's center of gravity to shift from the current seventh position (lower squatting center of gravity) to the eighth position (standing center of gravity), where the height of the eighth position from the ground is greater than that of the seventh position. During this lifting and forward shift of the center of gravity, as it gradually shifts and stabilizes within the two-foot support plane, the system controls the end effectors of the first and second upper limbs to detach from the ground. Ultimately, the humanoid robot completes the entire transition from a fallen to a standing posture solely on its two feet.
[0028] By breaking down the standing motion sequence into multiple stages, such as single-hand support, single-hand and single-leg support, double-hand and single-leg support, double-hand and double-leg support, and double-leg support, the stability and controllability of the standing process can be significantly improved. By decomposing complex full-body movements into a series of sub-movements with stable intermediate postures and controlling them through corresponding standing control subroutines, it is ensured that the humanoid robot maintains a reliable support polygon throughout the transition from a preset posture to the final bipedal standing posture. This progressive motion design achieves a smooth and gradual rise of the center of mass. For example, the system uses the support points established by the upper limbs to assist in raising the hips, rather than relying solely on the lower limbs or the waist and abdomen for high-torque, high-risk explosive movements. This design avoids sudden changes in posture and instability caused by rapid shifts in the center of gravity, ensuring that the humanoid robot can safely and gradually transfer its center of gravity from near the ground to the bipedal support surface in a predictable, low-impact, and efficient manner, thereby greatly improving the robustness and success rate of the standing motion.
[0029] In some specific embodiments, a corresponding contact state reference sequence can be defined for the standing-up action sequence. This contact state reference sequence is used to define the timing of contact or separation between the humanoid robot's end effectors, such as hands and feet, and the ground during the entire standing-up action. In the contact state reference sequence, the contact state at each moment consists of a multi-bit identifier, representing the contact state of the left leg, right leg, left hand, and right hand, respectively. For example, in some specific embodiments, the contact state has 4 bits, representing the left leg / right leg / left hand / right hand, respectively. When the identifier is "1", it indicates that the corresponding end effector is in contact with the ground, and when it is "0", it indicates separation. The contact states at multiple stages are as follows:
[0030] The definition of the contact reference timing sequence enables humanoid robots to establish or disengage support points in an orderly manner at different stages. By pre-establishing this contact template during the training phase, the actual contact state can be compared and monitored during execution, and corresponding mechanisms can be triggered when deviations occur to ensure stable motion execution. The contact state reference sequence pre-sets the contact point time and contact duration for each end effector. Both parameters are determined based on the planning of the multi-stage standing motion sequence and are fixed timing indicators. During execution, the system uses these timing parameters to determine the timing of establishing and disengaging each support point, thereby coordinating the force and posture changes of each end effector, making the standing motion rhythm natural, continuous, and predictable.
[0031] The method for controlling the humanoid robot to stand up provided in this application is described in detail below. Please refer to [link / reference]. Figure 6 , Figure 6 Another embodiment of the method for controlling the standing up of a humanoid robot provided in this application includes: 601. If a humanoid robot is given a command to stand up, the posture adjustment control command is invoked to control the humanoid robot to adjust to a preset posture. The preset posture includes: the hips touching the ground, the end effector of the first lower limb and / or the end effector of the second lower limb touching the ground, the first included angle is α, 45° < α < 180°, and the second included angle is β, 45° < β < 180°. 602. Call the standing control program to control the humanoid robot to execute the standing action sequence, so that the humanoid robot transitions from the preset posture to the standing posture. The standing action sequence includes multiple stages of standing action. Each stage of standing action is controlled by the corresponding standing control subroutine to control the center of mass of the humanoid robot and multiple end effectors to move according to their respective preset standing reference trajectories. In this embodiment, steps 601-602 are similar to steps 101-102 in the previous embodiment, and will not be described again here.
[0032] 603. Record multiple three-dimensional spatial positions where multiple end effectors actually come into contact with the ground; 604. Calculate the terrain at the current location of the humanoid robot based on multiple three-dimensional spatial positions; 605. If the terrain at the current location of the humanoid robot is a non-horizontal surface, then adjust the center of mass of the humanoid robot and the preset standing reference trajectory of multiple end effectors according to the terrain. In steps 603-605, when the humanoid robot is in a fallen state and during the execution of the standing action sequence, the system can obtain the three-dimensional spatial coordinates (X, Y, Z) of any end effector in the humanoid robot's base coordinate system at the moment when effective contact is established between the end effector and the ground. Specifically, at the moment the end effector contacts the ground, the system can collect the real-time joint angles of all relevant joints in the limb kinematic chain through a joint encoder, and then calculate the three-dimensional spatial coordinates of the end effector in the humanoid robot's base coordinate system in real time by combining the known link parameters of the humanoid robot. As the multi-stage standing action is executed, the system can continuously store these three-dimensional spatial position points where actual contact occurs. Based on these three-dimensional spatial position points, the system can use a geometric plane fitting algorithm to calculate a mathematical plane that best fits these spatial points, thereby obtaining the normal vector and height information of the current support surface. If the fitting result shows that the normal vector of the plane deviates from the vertical direction by more than a preset threshold, or there is a significant difference in the height of the contact point, then the current terrain is determined to be a non-horizontal terrain, such as a sloping slope, stair steps, or a locally protruding platform. If the trajectory is not adjusted on such terrain and the original reference trajectory is forcibly executed, the center of mass of the humanoid robot will deviate from the actual center of the support surface, or the end effector will apply support force at the wrong height and angle, which can easily cause slippage or tipping.
[0033] Therefore, when the system determines that the terrain where the humanoid robot is located is non-horizontal, to prevent instability caused by center of mass shift, the controller will adaptively adjust the reference trajectory and target position of the center of mass based on terrain parameters. Specifically, the system will add a compensation amount to the original reference trajectory of the center of mass based on the height of the fitted plane and the direction of the normal vector. For example, when the system detects that the humanoid robot's feet are on a platform 10 cm higher than the reference plane, it will raise the trajectory of the center of mass for all subsequent stages by 10 cm and simultaneously increase the target height of the final standing posture. If the terrain has a slope, in addition to height compensation, the system will also correct the spatial tilt angle of the trajectory of the center of mass based on the direction of the normal vector to ensure that the center of mass is always perpendicular to the actual support surface. Furthermore, this adjustment is not limited to the reference trajectory of the center of mass. When the reference trajectory of the center of mass is corrected, the reference trajectories of other parts of the humanoid robot, such as the reference trajectories of all end effectors, can also be adjusted synchronously to ensure the coordination and physical feasibility of the overall movement. If new contact point data is generated during the standing process, the system can also dynamically update the terrain model and correct the trajectory in real time to further enhance the humanoid robot's adaptability in complex environments.
[0034] 606. During the process of the humanoid robot performing the standing action sequence, monitor the contact status signal between the humanoid robot's end effector and the ground; During the humanoid robot's multi-stage standing motion, the system needs to collect real-time interaction information between the end effector and the ground, including but not limited to torque sensors, tactile sensors, joint current estimation modules, and inertial measurement units (IMUs), etc. In this embodiment, the monitoring of contact state signals is preferably achieved based on joint torque anomaly detection. Specifically, the system can calculate the expected joint torque required for each limb to overcome its own gravity and inertia in a non-contact state, based on the humanoid robot's dynamic model and the real-time position, velocity, and acceleration commands of each joint. When an end effector contacts the ground, the ground generates a reaction force, which is transmitted upwards along the kinematic chain of that limb, causing the actual output torque of one or more joints in that limb chain to deviate from the expected joint torque. Therefore, the contact state between the end effector and the ground, i.e., whether the end effector is in contact with the ground, can be determined based on the joint torque feedback from each limb of the humanoid robot.
[0035] During the entire standing control process, the system can compare the real-time monitored contact status signal with the pre-stored contact status reference sequence to determine whether the current action is consistent with the planned trajectory. If the contact timing of the end effector is detected to be consistent with the reference sequence, the standing action is considered to be executed normally; if there is a deviation of premature contact or delayed contact, different control strategies are executed according to the type of deviation, i.e., steps 607 or 608 are executed respectively.
[0036] 607. If it is detected that at least one end effector establishes unexpected contact with the ground before the target time point, then it is determined that at least one end effector has completed the standing action sequence of its current stage, and the other end effectors, except for at least one end effector, continue to execute the standing action sequence of their current stage. Step 607 is used to address the premature contact phenomenon that occurs when the humanoid robot actually gets up.
[0037] During the multi-stage standing motion, the humanoid robot's end effectors establish or disengage support according to the timing sequence in the contact state reference sequence. However, due to uneven ground, environmental interference, or slight deviations in the humanoid robot's own posture, a certain end effector may make contact with the ground before the target time point. This premature contact is an unexpected contact event. If left unhandled, it may cause the system to misjudge the completion of the current stage or cause a sudden change in posture. For example, if the end effector continues to apply driving force or maintain its original downward trajectory after prematurely contacting the ground, it may cause a local "lifting" of the humanoid robot, thus affecting the stability of the overall standing process.
[0038] Therefore, this embodiment requires continuous calculation of the target time deviation of each end effector. When it is detected that an end effector stably touches the ground before the planned contact time, the system will not interrupt the execution of the actions of other end effectors in the current stage. Instead, it will only mark the current stage action of that end effector as "completed," that is, it is considered that the end effector has established a stable support point, and the end effector will no longer continue to execute the remaining motion commands of the current stage. However, other end effectors will continue to execute their action sequence according to the reference trajectory of the current stage. For example, if it is detected that the humanoid robot's right foot touches the ground prematurely before the target time point, the system will maintain the current position of the right foot and adjust the force control output to make it stably support the ground, while the left hand and left foot will continue to complete the current stage action according to the original trajectory. This independent control logic allows the humanoid robot to maintain the continuity and balance of the overall action even when some support is established in advance.
[0039] Furthermore, to prevent abrupt changes in posture or force caused by premature contact, this embodiment can introduce a smooth transition mechanism in the control logic. When an end effector touches the ground prematurely, the system does not immediately cut off its original trajectory command. Instead, it gradually reduces the end effector's velocity and torque output to zero through an interpolation algorithm, allowing the contact process to smoothly transition to the support state. At the same time, the center of mass reference trajectory and the movements of other limbs will be fine-tuned according to the new support conditions to compensate for the center of gravity shift caused by premature contact.
[0040] 608. If it is detected that at least one end effector fails to establish target contact with the ground at the target time point, contact compensation control is triggered. After the contact compensation control ends, the remaining action sequence of the standing action sequence corresponding to at least one end effector is executed until the humanoid robot reaches the bipedal standing posture.
[0041] Step 608 is used to address the delayed contact phenomenon that occurs when the humanoid robot actually gets up.
[0042] When a humanoid robot performs a multi-stage standing motion, a contact state reference sequence can be used to predefine specific contact times and durations for each end effector. During system operation, if an end effector fails to detect a valid contact signal with the ground at a predetermined target time point, it indicates that the end effector is experiencing delayed contact. Delayed contact can be caused by various factors, such as uneven terrain, soft or slippery support surfaces, obstructed actuator movement, or sensor delays.
[0043] To ensure the continuity and stability of the standing-up movement, this embodiment requires contact compensation control after detecting delayed contact. Contact compensation control is an adaptive adjustment strategy adopted by the system when it detects that the end effector has not touched the ground as planned. Its main purpose is to readjust the movements of the end effector and related limbs to establish effective support with the ground as quickly as possible, thereby avoiding instability or center of gravity shift in the humanoid robot due to insufficient support. After the contact compensation control is completed, the system continues to execute the remaining action sequence of the standing-up movement corresponding to at least one end effector, and continuously monitors the contact status between the humanoid robot's end effector and the ground. As subsequent actions continue to be executed, the humanoid robot gradually enters the final bipedal support stage. In the final stage, when the system detects that the bipedal end effectors are in stable contact with the ground and the center of gravity height reaches the target value of the reference trajectory, it determines that the standing-up process is complete, and the humanoid robot has successfully returned to a bipedal standing posture. At this time, the hip, knee, and ankle joint angles are all in a balanced state, the center of gravity is located in the central area of the bipedal support surface, and the humanoid robot has a stable foundation to continue performing walking or standing tasks.
[0044] In this embodiment, the posture adjustment control command is first invoked to adjust the humanoid robot from an arbitrary fallen state to a unified preset posture in the first control stage. This eliminates the need for subsequent standing control to deal with an infinite number of initial states, greatly improving the method's versatility and generalization ability to multiple initial postures. Then, the standing control program is invoked. In the second control stage, a standing action sequence containing multiple stages is introduced, combined with a closed-loop feedback mechanism that continuously monitors whether the end effector has successfully established target contact. By actively monitoring whether the humanoid robot's end effector has successfully established contact with the physical world in each standing stage, this method can assist in determining whether the key nodes of the standing action have been achieved, i.e., whether the action sequence of each stage has been completed. The next stage is only executed after the previous stage is completed. This mechanism can effectively suppress subsequent action errors caused by slipping or misstepping of the supporting hand / foot, thereby avoiding unexpected interruptions or complete failure of the standing process.
[0045] This embodiment, through a phased control framework and a closed-loop execution mechanism based on physical contact confirmation, can cover various falling postures that may occur in practical applications, and enable the humanoid robot to achieve rapid, stable, and basic fault-tolerant autonomous standing under uncertain contact conditions.
[0046] In some specific embodiments, considering that there are many reasons for delayed contact, such as slight ground indentation, large terrain differences, sensor measurement delays, or accumulated posture errors of the humanoid robot itself, a single compensation strategy may not be able to cover all abnormal situations, or may lead to motion failure or prolonged jamming in some scenarios. To address this complexity, this embodiment proposes several types of contact compensation control strategies. The differences between these strategies mainly lie in how the system replans or adjusts the logical path of the motion when the end effector fails to make timely contact with the ground. The system can select the most suitable compensation logic based on task requirements or computing resources, such as prioritizing time or success rate. The various contact compensation control strategies in step 608 are described below: Strategy 1: Continue to decline + timed termination: If any end effector fails to establish target contact with the ground at the target time point, the end effector is controlled to continue descending; if, during the continued descent, the end effector fails to establish a valid contact signal with the ground, the target contact of the end effector in the current stage is terminated to end the contact compensation control, and the first preset time period is extended after the target time point.
[0047] In Strategy 1, when the end effector fails to establish a contact signal at the target time point, the system first performs a continued downward probe operation, extending the movement of the end effector along the original reference trajectory to attempt to find the actual contact surface within a shorter distance. This Strategy 1 is suitable for scenarios where the contact surface is slightly lower than the planned position or where flexible materials on the terrain surface cause sensor contact delay. If the system still does not detect a contact signal within the first preset time period, it determines that the end effector cannot establish support in this stage, and the system automatically terminates the target contact in this stage and exits compensation control, preventing the end effector from continuing to probe downwards meaninglessly, which could lead to mechanical interference or attitude instability. Strategy 1 has simple logic, responds quickly, and is suitable for environments with flat surfaces but high detection noise, effectively avoiding unnecessary repeated attempts.
[0048] It should be noted that the total execution time of the entire stand-up process is a fixed value, for example, about 5 seconds. This total execution time will not be extended due to contact delays or compensation actions of a particular end effector. In other words, even if a certain end effector fails to complete the current stage of the action as planned, the system still needs to maintain the continuous execution of the overall timing to ensure that other end effectors complete their respective trajectory planning in rhythm.
[0049] Strategy Two: Dip Down + Retreat + Replanning If any end effector fails to establish target contact with the ground at the target time point, the end effector is controlled to continue descending. If, within the first preset time period, no effective contact signal is detected during the continued descent of the end effector, the end effector is controlled to retreat to the initial position corresponding to the current stage's standing-up sequence, and the reference trajectory of the end effector in the current stage is replanned. The replanned reference trajectory is then executed from the initial position corresponding to the current stage's standing-up sequence. If the end effector establishes contact with the ground at the adjusted target time point, the remaining action sequences of the multiple stages of the end effector's standing-up action are executed, and the first preset time period is extended after the target time point. If no effective contact signal is detected between the end effector and the ground at the adjusted target time point, the target contact of the end effector in the current stage is terminated, thus ending the contact compensation control.
[0050] In Strategy 2, when delayed contact occurs, the system first executes a continued descent maneuver. If no valid contact signal is detected within a first preset time period, the end effector is controlled to retract to the initial position of the current stage's standing-up sequence. Subsequently, the system re-plans the reference trajectory based on the end effector's current position and the current terrain estimate, giving it a new target contact time and contact position. When the end effector successfully contacts the ground at the adjusted target time, the system considers the compensation successful and continues executing the subsequent action sequence; if no contact signal is detected again, the current stage of target contact ends and the compensation process exits.
[0051] Strategy 2 is more robust than Strategy 1, and improves the success rate of establishing support in environments with large terrain differences through a closed-loop mechanism of rollback-replanning-re-execution.
[0052] Strategy 3: Continue to decline + replan: If any end effector fails to establish target contact with the ground at the target time point, the end effector is controlled to continue descending. If, during the continued descent, no effective contact signal is detected, the reference trajectory of the end effector in the current stage is replanned based on its current position, and the replanned reference trajectory is executed. If the end effector establishes contact with the ground at the adjusted target time point, the remaining action sequence of the multiple stages of the end effector's standing action is executed, and the first preset time period is extended after the target time point. If no effective contact signal is detected at the adjusted target time point, the target contact of the end effector in the current stage is terminated, thus ending the contact compensation control.
[0053] Strategy 3, after failing to descend further, does not backtrack but instead recalculates the trajectory using the current position as a new reference state. Unlike Strategy 2, this approach avoids backtracking and instead directly recalculates the reference trajectory for the current stage at the end effector's current position, attempting new contact points around the original location. Furthermore, this recalculation only applies to the end effector that experienced the anomaly; other end effectors remain unaffected, and the total execution time of the entire recovery action remains unchanged. During recalculation, the system generates a new trajectory based on the end effector's current pose and dynamic constraints, thereby reducing the time delay and energy consumption caused by the backtracking action. If effective contact is established at the adjusted target time point, the system continues to execute subsequent stages; if no effective signal is detected, the target contact for the current stage ends, and contact compensation control terminates. Compared to Strategy 2, Strategy 3 reduces the energy consumption and delay caused by the backtracking action, balancing response speed and adaptability.
[0054] Strategy 4: Rollback + Replanning If any end effector fails to establish target contact with the ground at the target time point, the end effector is controlled to revert to the initial position corresponding to the current stage's standing motion sequence, and the reference trajectory of the end effector in the current stage is replanned. The replanned reference trajectory is then executed from the initial position corresponding to the current stage's standing motion sequence. If the end effector establishes contact with the ground at the adjusted target time point, the remaining motion sequence of the multiple stages of the end effector's standing motion is executed. If no effective contact signal is detected between the end effector and the ground at the adjusted target time point, the target contact of the end effector in the current stage is terminated, thus ending the contact compensation control.
[0055] Strategy 4, upon detecting delayed contact, does not initiate a downward movement but instead directly controls the end effector to retract to the initial position of the current stage's standing motion sequence. The system then re-plans the end effector's reference trajectory based on the new environmental data and restarts execution from the initial position. If valid contact is detected at the adjusted target time point, subsequent standing motions continue; otherwise, the target contact for that stage ends. The core of Strategy 4 is prioritizing retraction, primarily applicable when the humanoid robot's posture has deviated from the reference trajectory or the actuator is constrained, such as the hand or knee being restricted by obstacles, where continuing downward movement would pose a collision risk. Retraction resets the posture state, providing reliable initial conditions for replanning and ensuring motion safety.
[0056] V. Immediate Replanning: If any end effector fails to establish target contact with the ground at the target time point, the reference trajectory of the end effector in the current stage is replanned based on the current position of the end effector, and the replanned reference trajectory is executed. If the end effector establishes contact with the ground at the adjusted target time point, the remaining action sequence of the end effector's multiple stages of standing up is executed. If no effective contact signal is detected between the end effector and the ground at the adjusted target time point, the target contact of the end effector in the current stage is terminated, thus ending the contact compensation control.
[0057] Strategy 5 also avoids both downward movement and backtracking. Instead, it directly recalculates the reference trajectory for this stage based on the current position of the end effector. This strategy is suitable for humanoid robots performing rapid ascents or tasks in dynamic environments. When delayed contact is detected, the system does not perform any downward or backtracking operations. Instead, it directly uses the current posture and position of the end effector as a new starting point to recalculate the reference trajectory for the current stage, and extends the execution rhythm of the original target time point in time. The goal of this strategy is to maintain the temporal continuity of the overall action. Its recalculation algorithm prioritizes rapid convergence and full-body coordination, making it suitable for high-response scenarios or humanoid robot platforms with high degrees of freedom control. If contact is established at the adjusted target time point, the system continues to execute subsequent actions; if no valid contact signal is detected, it determines that contact in this stage is unachievable and terminates the target contact for this stage to maintain the stability of the overall ascent process.
[0058] It should be noted that in strategies involving rollback operations (Strategies Two and Four above), when the end effector experiencing a contact anomaly rolls back, other end effectors can have three different action scenarios: In one implementation, as a preferred option, in certain scenarios, the system can only perform a retraction operation on the end effector that has experienced a contact anomaly, while keeping other end effectors that have not experienced anomalies continuing to track the corresponding reference trajectory. This approach reduces the time consumed by retraction, ensures a faster recovery speed, and is suitable for situations where only local support points deviate while the overall posture remains stable. For example, when one arm of a humanoid robot fails to touch the ground within the expected time, while the other arm and both feet have established stable support, the system can control only the end effector of that arm to retract and replan its contact trajectory, while other support points do not retract, thereby accelerating the compensation execution speed and maintaining the continuity of the overall posture.
[0059] In another implementation, all end effectors can be controlled to synchronously retract to the initial position corresponding to their current standing motion sequence. The advantage of this approach is that each limb re-establishes a unified starting point for motion, facilitating the system's recalculation of the dynamic balance constraints of the entire body and maintaining overall coordination and center of mass balance during the new standing phase. This method is particularly suitable for humanoid robots in complex terrain or with significant posture deviations, significantly improving the stability of standing up after recovery.
[0060] In another implementation, the retraction operation can be performed only on the end effector that experienced the contact anomaly, while the other end effectors that did not experience the anomaly remain stationary on their original trajectory. However, this approach would prolong the total execution time of the entire stand-up motion.
[0061] In some specific embodiments, the standing control program is trained using a reinforcement learning strategy based on an imitation learning reference trajectory. The training process of the standing control program uses a reward function, which includes a collision penalty function and a slip penalty function. The collision penalty function is used to impose a penalty when the humanoid robot's torso or its own limbs make undesirable contact with the surrounding environment. The slip penalty function is used to impose a penalty when tangential slippage occurs when any end effector acting as a support point contacts the ground.
[0062] This embodiment considers that the multi-stage standing motion sequence of a humanoid robot is a complex dynamic process involving multi-point contact switching. To achieve smooth and robust control, reinforcement learning (RL) can be used to train the standing control program, incorporating a reference trajectory based on human standing motion capture data during training. However, relying solely on imitation learning is insufficient to address critical physical stability issues during standing, particularly slippage and collisions. Therefore, this embodiment specifically includes a targeted penalty function in the reward function to optimize the robustness of the strategy. Specifically, the collision penalty function aims to reduce unwanted collisions during standing, including self-collisions between limbs and unwanted collisions between critical parts and the environment (such as torso or head touching the ground). This function can be configured to apply a penalty when the humanoid robot's torso or its own limbs make unwanted contact with the surrounding environment. Through this penalty, the system guides the control strategy to learn to avoid high-risk actions and choose a safer standing path. The slippage penalty function aims to suppress tangential sliding of the support point on the ground, preventing falls due to unstable support. This function can be configured to apply a penalty when any end effector acting as a support point contacts the ground and a tangential velocity exceeding a threshold is detected. This penalty term incentivizes the control strategy to learn to generate sufficient normal pressure and reduce tangential force to ensure the stability of the hand or foot support point during load-bearing commutation.
[0063] In some specific embodiments, the training process of the stand-up control strategy employs a curriculum learning mechanism and a domain randomization mechanism. The curriculum learning mechanism is used to gradually increase the difficulty of the stand-up task on one or more difficulty axes, and automatically adjust the difficulty axes based on the evaluation results of stand-up success rate, collision rate, and time consumption. The difficulty axes include friction coefficient, terrain slope, initial posture complexity, actuator constraints, sensor noise, and external disturbances. The domain randomization mechanism is used to randomize the ground friction coefficient, recovery coefficient, terrain parameters, humanoid robot dynamic parameters, execution delay, sensor noise, and external disturbances in different training rounds.
[0064] This embodiment addresses the issue that a stand-up control strategy trained solely in a single, idealized simulation environment may lack robustness to handle complex physical conditions in the real world, particularly variable ground friction, uneven terrain, and sensor noise. To systematically improve the generalization ability of the stand-up control strategy, this embodiment incorporates a course learning and domain randomization mechanism into the training process.
[0065] The function of the learning mechanism is to guide the control strategy to progressively increase the difficulty of the stand-up task across one or more difficulty axes. The system begins training with simple tasks (e.g., high friction, flat ground) and automatically adjusts the difficulty axes based on evaluation results during training (e.g., stand-up success rate, collision rate, and time taken). If the success rate is high, the difficulty is increased (e.g., friction is decreased); if the success rate is low, the difficulty is decreased to maintain the stability and scientific rigor of the training. Difficulty axes are configured to include, but are not limited to: coefficient of friction (e.g., from high to low), terrain slope or unevenness (e.g., step height increases progressively), initial posture complexity (e.g., from standard supine to side-lying, prone), actuator constraints (e.g., progressively tightening torque limits), sensor noise (e.g., from low to high), and external disturbances (e.g., mild shoving).
[0066] The function of the domain randomization mechanism is to introduce diversity into the simulation environment, enabling the stand-up control strategy to anticipate various extreme or non-ideal conditions during the training phase. This mechanism is configured to randomize a series of simulation parameters in different training rounds. These randomized parameters include: ground friction coefficient, coefficient of restitution, terrain parameters (e.g., height field, step distribution), humanoid robot dynamics parameters (e.g., mass, rotational inertia ratio), execution latency, sensor noise (e.g., IMU noise or drift), and external disturbances (e.g., random pulse thrust). In this way, the trained stand-up control strategy is forced to learn a robust control law that is insensitive to parameter variations, thereby significantly improving the adaptability and reliability of the stand-up control strategy in real physical environments.
[0067] The following provides a detailed description of the humanoid robot standing control system provided in this application. Please refer to [link / reference]. Figure 7 , Figure 7One embodiment of the humanoid robot standing control system provided in this application includes: The first calling unit 701 is used to call the posture adjustment control command if it receives a humanoid robot standing up trigger command, and control the humanoid robot to adjust to a preset posture. The preset posture includes: the hip touches the ground, the end effector of the first lower limb and / or the end effector of the second lower limb touches the ground, the first included angle is α, 45° < α < 180°, and the second included angle is β, 45° < β < 180°. The second calling unit 702 is used to call the standing control program to control the humanoid robot to execute a standing action sequence, so that the humanoid robot transitions from a preset posture to a standing posture. The standing action sequence includes multiple stages of standing action. Each stage of standing action is controlled by the corresponding standing control subroutine to move the center of mass of the humanoid robot and multiple end effectors according to their respective preset standing reference trajectories.
[0068] In this embodiment, the functions of each unit are the same as described above. Figure 1 or Figure 2 The steps in the method embodiments shown correspond to those in the examples, and will not be repeated here.
[0069] This application also provides a humanoid robot; please refer to [link / reference]. Figure 8 , Figure 8 One embodiment of the humanoid robot provided in this application includes: Processor 801, memory 802, input / output unit 803, bus 804; The processor 801 is connected to the memory 802, the input / output unit 803, and the bus 804; The memory 802 stores a program, and the processor 801 calls the program to execute any of the above methods for controlling the humanoid robot to stand up.
[0070] This application also relates to a computer-readable storage medium on which a program is stored, which, when run on a computer, causes the computer to execute any of the above methods for controlling the humanoid robot to stand up.
[0071] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0072] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.
[0073] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0074] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0075] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A method for controlling the standing up of a humanoid robot, characterized in that, The humanoid robot includes a torso, a first upper limb and its end effector, a second upper limb and its end effector, a first lower limb and its end effector, and a second lower limb and its end effector. The first upper limb and the second upper limb are respectively connected to the torso. The torso includes a hip. The first lower limb and the second lower limb are respectively connected to the hip. The first lower limb and the second lower limb each include a thigh and a calf. The thigh and the calf are connected by a knee joint. A first angle is formed between the thigh and the calf of the first lower limb, and a second angle is formed between the thigh and the calf of the second lower limb. The method includes: If a humanoid robot is given a command to stand up, the posture adjustment control command is invoked to control the humanoid robot to adjust to a preset posture. The preset posture includes: the hips touching the ground, the end effector of the first lower limb and / or the end effector of the second lower limb touching the ground, the first included angle being α, 45° < α < 180°, and the second included angle being β, 45° < β < 180°. The stand-up control program is invoked to control the humanoid robot to execute a stand-up action sequence, so that the humanoid robot transitions from the preset posture to a standing posture. The stand-up action sequence includes multiple stages of stand-up actions. Each stage of stand-up action is controlled by a corresponding stand-up control subroutine to move the center of mass of the humanoid robot and multiple end effectors according to their respective preset stand-up reference trajectories.
2. The method according to claim 1, characterized in that, The multiple phases of the standing up movement include at least: a single-hand support phase, a single-hand and single-leg support phase, a double-hand and single-leg support phase, a double-hand and double-leg support phase, and a double-leg support phase; The single-hand support phase includes moving the first upper limb of the humanoid robot so that its end effector contacts the ground, thereby establishing a first support point on the ground; The single-hand, single-leg support phase includes, while maintaining support at the first support point, moving the first lower limb of the humanoid robot, causing the end effector of the first lower limb to move from a first position to a second position. The second position is closer to the humanoid robot's hip than the first position, and the end effector of the first lower limb contacts the ground at the second position, thereby establishing a second support point. During the single-hand, single-leg support phase, the knee joint of the first lower limb moves away from the ground, forming a first angle between the thigh and lower leg of the first lower limb, and a second angle between the thigh and lower leg of the second lower limb, the second angle being greater than the first angle. The two-handed, one-legged support phase includes moving the humanoid robot's second upper limb so that its end effector contacts the ground, thereby establishing a third support point; and moving the humanoid robot's second lower limb so that the end effector of the second lower limb moves from a third position to a fourth position, the fourth position being closer to the humanoid robot's hip than the third position; during the process of the second lower limb moving from the third position to the fourth position, the angle between the thigh and the lower leg of the second lower limb gradually decreases; The two-handed and two-footed support phase includes, while maintaining support at the first, second, and third support points, moving the hips of the humanoid robot from the fifth position to the sixth position, where the sixth position is higher than the fifth position. At the same time, the second lower limb of the humanoid robot is moved so that its end effector contacts the ground, thereby establishing the fourth support point. The bipedal support phase includes controlling the humanoid robot's center of gravity to shift from a seventh position to an eighth position. The height of the eighth position above the ground is greater than that of the seventh position. During the shift of the humanoid robot's center of gravity from the seventh position to the eighth position, the end effectors of the first and second upper limbs separate from the ground.
3. The method according to claim 1, characterized in that, The method further includes: Record multiple three-dimensional spatial positions where the multiple end effectors actually come into contact with the ground; The terrain at the current location of the humanoid robot is calculated based on the multiple three-dimensional spatial positions; If the terrain at the current location of the humanoid robot is a non-horizontal surface, then the center of mass of the humanoid robot and the preset standing reference trajectories of multiple end effectors are adjusted according to the terrain.
4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: During the process of the humanoid robot performing the standing action sequence, the contact status signal between the humanoid robot's end effector and the ground is monitored; If it is detected that at least one of the end effectors establishes unexpected contact with the ground before the target time point, it is determined that the at least one end effector has completed the standing action sequence of its current stage, and the other end effectors besides the at least one end effector continue to execute the standing action sequence of their current stage. or, If it is detected that at least one of the end effectors fails to establish target contact with the ground at the target time point, contact compensation control is triggered; After the contact compensation control is completed, the remaining action sequence of the standing action sequence corresponding to the at least one end effector is executed until the humanoid robot reaches a bipedal standing posture.
5. The method according to claim 4, characterized in that, The contact compensation control includes: If it is detected that any of the end effectors fails to establish target contact with the ground at the target time point, the end effector is controlled to continue descending; If, during the first preset time period, the end effector fails to detect a valid contact signal with the ground during its continued descent, the target contact of the end effector in the current stage is terminated to end the contact compensation control, and the first preset time period is extended after the target time point.
6. The method according to claim 4, characterized in that, The contact compensation control includes: If it is detected that any of the end effectors fails to establish target contact with the ground at the target time point, the end effector is controlled to continue descending; If, during the first preset time period, the end effector fails to detect a valid contact signal with the ground while continuing to descend, the end effector is controlled to retreat to the initial position corresponding to the current stage's standing action sequence, and the reference trajectory of the end effector in the current stage is replanned. The replanned reference trajectory is then executed from the initial position corresponding to the current stage's standing action sequence. If the end effector establishes contact with the ground at the adjusted target time point, the remaining action sequence of the multiple stages of the end effector's standing action will continue to be executed, and the first preset time period will be postponed after the target time point; If no effective contact signal is detected between the end effector and the ground at the adjusted target time point, the target contact of the end effector in the current stage will be terminated to end the contact compensation control.
7. The method according to claim 4, characterized in that, The contact compensation control includes: If it is detected that any of the end effectors fails to establish target contact with the ground at the target time point, the end effector is controlled to continue descending; If, within the first preset time period, the end effector fails to detect a valid contact signal with the ground during its continued descent, the reference trajectory of the end effector at the current stage is replanned based on its current position, and the replanned reference trajectory is then executed. If the end effector establishes contact with the ground at the adjusted target time point, the remaining action sequence of the multiple stages of the end effector's standing action will continue to be executed, and the first preset time period will be postponed after the target time point; If no effective contact signal is detected between the end effector and the ground at the adjusted target time point, the target contact of the end effector in the current stage will be terminated to end the contact compensation control.
8. The method according to claim 4, characterized in that, The contact compensation control includes: If it is detected that any of the end effectors fails to establish target contact with the ground at the target time point, the end effector is controlled to revert to the initial position corresponding to the current stage's standing action sequence, and the reference trajectory of the end effector in the current stage is replanned. The replanned reference trajectory is then executed from the initial position corresponding to the current stage's standing action sequence. If the end effector establishes contact with the ground at the adjusted target time point, the remaining action sequence of the multiple stages of the end effector's standing action will continue to be executed; if no effective contact signal is detected between the end effector and the ground at the adjusted target time point, the target contact of the end effector in the current stage will be terminated to end the contact compensation control.
9. The method according to claim 4, characterized in that, The contact compensation control includes: If it is detected that any of the end effectors fails to establish target contact with the ground at the target time point, the reference trajectory of the end effector at the current stage is replanned based on the current position of the end effector, and the replanned reference trajectory is executed. If the end effector makes contact with the ground at the adjusted target time point, the remaining action sequence of the multiple stages of the end effector's standing action will continue to be executed; If no effective contact signal is detected between the end effector and the ground at the adjusted target time point, the target contact of the end effector in the current stage will be terminated to end the contact compensation control.
10. A humanoid robot, characterized in that, The humanoid robot includes: Processor, memory, input / output units, and bus; The processor is connected to the memory, the input / output unit, and the bus; The memory stores a program, which the processor invokes to perform the method as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Method for group dance robot to fall down, get up and act synchronously
CN114237271A
Humanoid robot falling and climbing control method based on force-position hybrid control
CN116749189A
Humanoid robot falling control method, device and equipment and storage medium
CN119717618A
Legged mobile robot
US20040176875A1
Control processes and system for hybrid autonomous robots
WO2025072962A1