A humanoid robot posture adaptive method and device under load state
By acquiring and filtering the robot's input data, calculating the overall center of gravity coordinates, and dynamically adjusting the distance between the two feet and the hip joint angle, the support polygon boundary is optimized. This solves the problems of stability and aesthetics in robot posture adjustment under load, and improves safety and adaptability in complex environments.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN CHANGYING ROBOT CO LTD
- Filing Date
- 2026-01-29
- Publication Date
- 2026-06-09
AI Technical Summary
Existing technologies struggle to effectively adjust robot posture under load, especially in cases of eccentric loads or irregular terrain, leading to a high risk of tipping and an inability to balance stability and aesthetics.
By acquiring the center points of the left and right feet, the lateral swing angle of the hip joint, and the load eccentricity distance, filtering is performed to calculate the comprehensive center of gravity coordinates. The lateral distance between the two feet and the lateral swing angle of the hip joint are dynamically adjusted to optimize the boundary of the support polygon and ensure that the center of gravity projection point is within a safe range.
It significantly reduces the risk of lateral tilting and instability of the robot under load, improves its adaptability and safety in complex environments, and maintains the robot's stability and gait aesthetics.
Smart Images

Figure CN122174868A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information technology, and in particular to a method and apparatus for adaptive posture of a humanoid robot under load. Background Technology
[0002] In the field of robotics, research on humanoid robots carries significant strategic importance. It is not only a core frontier of intelligent manufacturing and human-computer interaction but also a key driving force reshaping future daily life. Particularly in terms of posture control under load, ensuring robots can walk stably and exhibit an aesthetically pleasing gait close to that of natural humans has become a prominent challenge in the industry. This research directly impacts the practicality and safety of robots in complex real-world environments. However, most current methods, when dealing with loaded walking, often overlook the multiple complex disturbances caused by dynamic environmental factors and load changes. Traditional solutions typically rely on preset fixed gait patterns to maintain basic balance, but these patterns frequently fail when encountering load eccentricity or irregular terrain, failing to provide reliable support. Load center of gravity shift is a common cause; in such cases, the robot struggles to adjust its posture in real time, leading to a sharp increase in the risk of tipping and even overall instability. This deficiency makes existing technologies insufficient to meet the needs of diverse real-world scenarios. A deeper challenge lies in the crucial control of the lateral distance between the foot landing points. This lateral distance, the distance between the robot's feet when both feet land simultaneously or consecutively, determines the width of the support polygon, thus directly constraining lateral stability. With a narrow distance, the support surface is too narrow to accommodate the lateral shift of the center of gravity projection, making the robot prone to tipping over and losing balance with even minor disturbances. Conversely, while a wide distance enhances stability, it results in stiff and exaggerated leg movements, losing the aesthetic appeal of human-like walking. This factor is particularly pronounced under heavy loads, as the load's eccentricity further amplifies the risk of center of gravity shift. For example, carrying an uneven weight on flat ground, the robot initially adopts a narrow-distance gait for smoothness, but load shift causes the center of gravity projection to exceed the support surface, gradually tilting during walking, especially exacerbating the risk when turning, potentially leading to a complete tipping over. Similar problems are more severe on slopes; a slight incline combined with load eccentricity can cause the center of gravity projection to quickly slide out of the support boundary, requiring frequent adjustments that are difficult due to the fixed distance. In dynamic load scenarios, such as when a robot is carrying a slippery package, the load position shifts in real time, further disrupting the center of gravity trajectory. Narrow spacing cannot buffer the shift, while wide spacing sacrifices maneuverability, resulting in gait distortion. Summary of the Invention
[0003] This invention provides a method for posture adaptation of a humanoid robot under load, mainly including: The actual ground contact center coordinates of the left and right feet, the hip joint lateral swing angle, and the load eccentricity distance are obtained as input data. The input data is then filtered to determine the geometric boundary of the supporting polygon. By combining the current angles of each joint and the filtered load eccentricity distance, the overall center of gravity coordinates of the robot are calculated. The integrated center of gravity coordinates are projected onto the ground support surface along the direction of gravity to obtain the coordinates of the center of gravity projection point, and the distance from the coordinates of the center of gravity projection point to the geometric boundary of the support polygon is calculated to determine the current boundary margin. Based on the comparison between the current boundary margin and the preset safety threshold, the level of lateral tilt instability risk is assessed, and the corresponding adjustment amount of the lateral spacing between the two feet is determined. The change in hip joint lateral swing angle is calculated based on the adjustment amount of the lateral distance between the two feet, and the leg movement is driven to adjust the lateral distance between the two feet based on the change in the hip joint lateral swing angle. The width of the support polygon is obtained based on the adjusted lateral distance between the two feet. The coordinates of the center of gravity projection point are accommodated by the width of the support polygon, and the robot posture adaptive balance result is output.
[0004] This invention provides a posture adaptive device for a humanoid robot under load, mainly comprising: The data acquisition and preprocessing module is used to acquire the actual ground center point coordinates of the left and right feet, the hip joint lateral swing angle, and the load eccentricity distance as input data, and to filter the input data to determine the geometric boundary of the supporting polygon. The center of gravity calculation module is used to calculate the robot's overall center of gravity coordinates by combining the current angles of each joint and the filtered load eccentricity distance. The projection and boundary margin calculation module is used to project the comprehensive center of gravity coordinates onto the ground support surface along the gravity direction to obtain the coordinates of the center of gravity projection point, and calculate the distance from the coordinates of the center of gravity projection point to the geometric boundary of the support polygon to determine the current boundary margin. The risk assessment module is used to assess the level of roll instability risk by comparing the current boundary margin with a preset safety threshold, and to determine the corresponding adjustment amount of the lateral spacing between the two feet. The adjustment amount calculation module is used to calculate the change in hip joint lateral swing angle based on the adjustment amount of the lateral distance between the two feet, and drive the leg movement to adjust the lateral distance between the two feet based on the change in the hip joint lateral swing angle. The posture adjustment and output module is used to obtain the width of the support polygon based on the adjusted lateral distance between the two feet, and to accommodate the coordinates of the center of gravity projection point through the width of the support polygon, and output the robot posture adaptive balance result.
[0005] The technical solutions provided by the embodiments of the present invention may include the following beneficial effects: This invention discloses a posture adaptation method for humanoid robots under load. Addressing the business scenario problem of center of gravity shift and lateral tilt instability risks caused by load eccentricity, it constructs a complete balance control mechanism by integrating logic for adjusting the lateral distance between the feet, controlling the hip joint lateral swing angle, and optimizing the support polygon boundary. First, this invention obtains data on the foot distance, hip joint angle, and load eccentricity through filtering to determine the support polygon boundary and the overall center of gravity coordinates. Then, it calculates the distance from the center of gravity projection point to the boundary, assesses the tilt risk level, and calculates the foot distance adjustment accordingly. This, in turn, infers the change in hip joint lateral swing angle to drive leg movements, ultimately expanding the lateral width of the support polygon to accommodate the shifted center of gravity projection point, effectively compensating for the load eccentricity effect. This invention ensures robot stability under load by dynamically adjusting posture, significantly reducing the risk of tilt instability and improving adaptability and safety in complex environments. Attached Figure Description
[0006] Figure 1 This is a flowchart of a posture adaptation method for a humanoid robot under load, according to the present invention.
[0007] Figure 2 This is a schematic diagram of the posture adaptive device for a humanoid robot under load, according to the present invention. Detailed Implementation
[0008] The technical solution of the present invention will be clearly and completely described below with reference to the embodiments. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0009] like Figures 1-2 This embodiment of a humanoid robot posture adaptation method and apparatus under load may specifically include: S101. Obtain the actual ground center point coordinates of the left and right feet, the hip joint lateral swing angle, and the load eccentricity distance as input data, and perform filtering processing on the input data to determine the geometric boundary of the supporting polygon.
[0010] Pressure distribution data when both feet are on the ground is collected by a foot pressure sensor array. The actual ground center coordinates of the left and right feet are determined based on the pressure peak points. Simultaneously, the raw values of the hip joint lateral swing angle are read from an inertial measurement unit mounted on the hip joint rotation axis. The lateral offset distance of the load center of mass relative to the geometric center of the robot's torso is obtained as the load eccentricity distance using a torso load sensor. A Kalman filter is used to perform time-series fusion processing on the coordinates of the ground center points of both feet to eliminate transient jitter and measurement noise, obtaining the filtered coordinates of the left and right foot centers. A moving average filter is applied to the hip joint lateral swing angle sequence to output smoothed hip joint angle values. A low-pass filter is applied to the load lateral offset distance data to remove high-frequency disturbance components, resulting in a stable load eccentricity distance value. Based on the filtered coordinates of the left and right foot centers, the lateral distance between the two points in the robot's coronal plane is calculated as the lateral spacing between the two feet. The measurement deviation of the lateral spacing between the two feet is corrected by the smoothed hip joint angle value to obtain the actual lateral spacing between the two feet. Based on the actual lateral spacing between the two feet and the stable load eccentricity distance value, the left and right boundary positions of the support polygon are determined, and the geometric parameters of the support polygon containing the boundary position coordinates are output.
[0011] In one embodiment, the plantar pressure sensor array employs thin-film piezoresistive sensors, arranged in an 8×8 matrix on the robot's footplate, with each sensing unit sampling at a frequency of 200Hz. When the robot's feet touch the ground during walking, the pressure distribution exhibits non-uniform characteristics. By processing 64 pressure data points using a weighted centroid algorithm, the geometric center of the pressure peak region is identified as the ground contact center point. Specifically, the process involves inputting the position coordinates of each sensing unit. and pressure value ,in From 1 to 64; calculate the centroid coordinates. , ,in Indicates all Summation, and This refers to the coordinates of the landing center point. The inertial measurement unit is mounted on a fixed bracket on the outer side of the hip joint rotation axis. It has a built-in three-axis gyroscope and a three-axis accelerometer. It obtains the lateral swing angle of the hip joint in the coronal plane through attitude calculation, with a measurement accuracy of 0.1 degrees.
[0012] Specifically, the state equation of the Kalman filter is set to the position and velocity of the center points of both feet, and the observation equation is based on the measurements from the pressure sensor. Measurement noise is eliminated through prediction and update cycles. The system noise covariance matrix is dynamically adjusted according to the robot's gait cycle, using a smaller value in the support phase to maintain stability and a larger value in the swing phase to adapt to rapid changes. The moving average filter uses a 5-point sliding window to smooth the hip joint angle sequence and filter out high-frequency jitter caused by mechanical vibration. The lateral offset distance of the load is measured by a six-dimensional force sensor mounted on the robot's back support, which can simultaneously detect force and torque in three directions. Based on the ratio of torque to force, the offset vector of the load's center of mass relative to the sensor mounting point is calculated, and then mapped to the robot's torso coordinate system through coordinate transformation to obtain the lateral offset component. The cutoff frequency of the low-pass filter is set to 2Hz to effectively filter out transient disturbances caused by load swaying.
[0013] In one possible implementation, the boundary determination process for the supporting polygon first establishes a local coordinate system for the robot, with the origin located at the midpoint of the line connecting the two hip joints. The axis points in the direction of travel. The axis points to the side of the body. The filtered left and right foot center coordinates are projected onto... The plane forms the two vertices of the supporting polygon. Considering the influence of the hip joint lateral angle on the actual support surface, the lateral distance measurement of the two feet is corrected through trigonometric functions to compensate for the projection error caused by body tilt, and the output is a quaternion parameter set containing the X and Y coordinates of the left and right boundaries.
[0014] S102. Combine the current angles of each joint and the filtered load eccentricity distance to calculate the overall center of gravity coordinates of the robot.
[0015] The system directly reads the current angle values of the hip, knee, and ankle joints from the joint encoder and queries a preset mass distribution data table for each link segment. This table, built into the system, contains the mass values and local centroid positions of the thigh, calf, and torso. Homogeneous coordinate transformation is used to calculate the three-dimensional coordinates of each link's centroid in the world coordinate system, starting from the ankle joint and working upwards. The robot's body centroid coordinates are obtained by weighted summation according to the mass of each link. Real-time load mass values are read from a six-dimensional force sensor mounted on the robot's back. The filtered load eccentricity distance is obtained, and the ratio of the load mass to the robot's total mass is calculated as the load weight coefficient. The lateral offset component of the load's center of gravity relative to the robot's body centroid coordinates is determined based on the product of the load weight coefficient and the load eccentricity distance. If the lateral offset component exceeds a preset stability threshold, it is amplitude-limited using a piecewise linear function, maintaining the offset direction while reducing the offset amplitude to a safe range, resulting in a corrected lateral offset vector. If it does not exceed the stability threshold, the original lateral offset component is used directly as the lateral offset vector. The robot's center of mass coordinates are vector-superimposed with the lateral offset vector. The overall center of mass position is calculated using a weighted average method based on the ratio of robot mass to load mass. The weight of the robot's center of mass is the ratio of robot mass to total mass, and the weight of the load center of mass is the ratio of load mass to total mass. The overall center of mass is then output as a three-dimensional coordinate value in the world coordinate system.
[0016] In one embodiment, the robot's forward kinematics calculation employs an improved method. The parametric method is used to establish the link coordinate system, and the transformation matrix is derived step by step from the base to the end.
[0017] Specifically, the origin of the hip joint coordinate system is set at the center of hip joint rotation. The axis is along the direction of the rotation axis, and the X-axis is perpendicular to the axis of the adjacent joint, determined by the right-hand rule. The coordinate systems for the knee and ankle joints are established according to the same principles, forming a complete kinetic chain description. Mass distribution data for each link segment are pre-defined... Model analysis revealed that the thigh segment has a mass of 8.5 kg, with its center of mass 0.42 times the thigh length from the hip joint; the lower leg segment has a mass of 4.2 kg, with its center of mass 0.38 times the lower leg length from the knee joint; and the torso has a mass of 35 kg, with its center of mass located 0.15 meters above the pelvis. The homogeneous coordinate transformation process is calculated from the ankle joint upwards, with the transformation matrix for each joint consisting of a rotation matrix and a translation vector.
[0018] For example, the transformation matrix from the ankle joint to the knee joint includes a revolution around the knee joint. The rotation angle of the shaft and along The transformation matrix from the knee joint to the hip joint involves the translation of the lower leg length along the axis. The rotation angle of the shaft and along The axis is translated by the length of its thigh. By multiplying consecutive matrices, the total transformation matrix from the local coordinate system of each link to the world coordinate system is obtained. Then, the local centroid coordinates of each link are transformed to the world coordinate system.
[0019] It should be noted that the robot's center of mass coordinates are calculated using a weighted summation of mass values. The formula is expressed as: multiply the center of mass coordinates of each link by its corresponding mass, sum the results, and then divide by the total mass. During weight-bearing walking, the position of the robot's center of mass dynamically adjusts due to real-time changes in joint angles. When the robot is in a two-legged stance, the center of mass is typically located slightly below the midpoint of the line connecting the two hip joints; in a one-legged stance, the center of mass shifts to the supporting leg by 0.05 to 0.08 meters. This shift is obtained in real-time through kinematic calculations.
[0020] In one possible implementation, a six-dimensional force sensor is mounted at the geometric center of the robot's back support, with the sensor coordinate system aligned with the torso coordinate system. The load force is measured using three force components from the sensor, and the torque is measured using three torque components. According to the principle of static equilibrium, the load mass equals the vertical force component divided by the acceleration due to gravity. The load eccentricity is determined by the ratio of torque to force; the lateral eccentricity equals the torque about the front and rear axes divided by the vertical force, reflecting the degree to which the load's center of mass deviates laterally from the sensor center. The load weighting coefficient is calculated considering the mass ratio between the robot body and the load.
[0021] Preferably, when the load mass is 20 kg and the robot body mass is 60 kg, the load weighting coefficient is 0.25, indicating that the load contributes one-quarter to the overall centroid. The lateral offset component is obtained by multiplying the weighting coefficient by the eccentricity distance. If the eccentricity distance is 0.2 m, then the lateral offset component is 0.05 m. This offset component is superimposed on the robot body centroid coordinates to form the preliminary overall centroid position.
[0022] Specifically, a piecewise linear function is used to limit excessive lateral offset and prevent the robot from losing balance. The stability threshold is set to one-third of the width of the supporting polygon, typically 0.15 meters. When the lateral offset component is less than 0.15 meters, the original value remains unchanged; when the offset component is between 0.15 and 0.25 meters, it is linearly compressed to the range of 0.15 to 0.18 meters; when the offset component exceeds 0.25 meters, it is directly limited to 0.18 meters. This piecewise processing ensures the preservation of load eccentricity information while preventing the risk of instability caused by excessive offset.
[0023] For example, in a scenario where a robot is carrying eccentric goods uphill, the load's center of mass deviates from the centerline by 0.3 meters, which is then limited to within 0.18 meters after piecewise linear processing. Simultaneously, the robot's own center of mass shifts backward by 0.1 meters due to the gravitational component during the uphill process. The combined position of the center of mass is determined by vector superposition.
[0024] Understandably, the weighted average method for calculating the composite centroid needs to consider the mass contributions of both the robot body and the payload. The composite centroid coordinates in the world coordinate system are equal to the robot body centroid coordinates multiplied by its mass, plus the payload centroid coordinates multiplied by its mass, and then divided by the total mass. The payload centroid coordinates are obtained by adding the lateral offset vector to the robot body centroid coordinates. This calculation method ensures that the composite centroid position accurately reflects the overall mass distribution, providing a reliable basis for subsequent stability assessments.
[0025] In one embodiment, the output composite centroid three-dimensional coordinate values include , , Three components, of which The components represent the preceding and following positions. The component indicates the left or right position. The components represent height. These coordinate values are updated at a frequency of 100Hz, synchronized with the robot's control cycle, ensuring real-time attitude adjustments. By continuously monitoring changes in the overall center of gravity, the robot can anticipate potential instability trends and adjust gait parameters in advance to maintain dynamic balance.
[0026] S103. Project the comprehensive center of gravity coordinates along the gravity direction onto the ground support surface to obtain the coordinates of the center of gravity projection point, and calculate the distance from the center of gravity projection point coordinates to the geometric boundary of the support polygon to determine the current boundary margin.
[0027] The three-dimensional values of the comprehensive center of gravity coordinates are obtained, and their lateral and longitudinal components are extracted. The height component is eliminated by projecting the coordinates downwards along the direction of gravity, resulting in the two-dimensional projected coordinates of the center of gravity on the horizontal ground. Based on the robot's torso tilt angle detected by the inertial measurement unit, the projected coordinates are subjected to rotational transformation compensation, and the corrected center of gravity projection point coordinates are output. Using the left and right boundary line equations from the geometric boundary parameters of the supporting polygon, the left distance value is obtained by calculating the vertical distance from the center of gravity projection point coordinates to the left boundary line. The right distance value is then obtained by calculating the vertical distance from the center of gravity projection point coordinates to the right boundary line. If the projection point is located inside the supporting polygon, both distance values are positive; if the projection point exceeds a certain boundary, the distance value for that side is negative. Compare the absolute values of the left and right distance values, and select the one with the smaller absolute value, retaining its positive or negative sign as the current boundary margin. When the boundary margin is positive, it means that the center of gravity projection is within the support range and the value represents the distance to the nearest boundary. When the boundary margin is negative, it means that the center of gravity projection has crossed the support boundary and the value represents the over-boundary distance. Output the current boundary margin value.
[0028] In one embodiment, the projection processing of the composite centroid coordinates achieves accurate mapping through coordinate transformation.
[0029] Specifically, extracting the comprehensive centroid from the world coordinate system , , Three components, of which Indicates front and back positions. Indicates left and right position. Represents the vertical height. Projection calculations directly use... Set component to zero, retain and The components serve as the initial projection coordinates. When the robot walks on a slope, the torso tilt angle will cause projection deviation. The pitch and roll angles are detected in real time by the inertial measurement unit, and a rotation matrix is constructed to compensate for the projection coordinates, so that the projection point accurately reflects the actual position of the center of gravity on the ground.
[0030] It should be noted that the boundary line equations of the supporting polygons are represented parametrically. The left boundary line is formed by the left foot landing point and its forward and backward extensions, while the right boundary line is formed by the right foot landing point and its forward and backward extensions. The perpendicular distance from a point to a line is calculated using analytical geometry methods. and points vertical distance When the projection point is located between two boundary lines, the distance values to both sides are positive; when the projection point crosses a boundary line, the distance value on that side becomes negative, and the absolute value of the negative value indicates the degree of boundary crossing.
[0031] Preferably, the selection of boundary margin follows a conservative principle.
[0032] In one possible implementation, when comparing the left and right distance values, not only are the absolute values considered, but the original sign information is also preserved. If the left distance is 0.12 meters and the right distance is 0.08 meters, then 0.08 meters is selected as the current boundary margin, indicating that the center of gravity projection is closer to the right boundary, resulting in a smaller safety margin. If the left distance is -0.03 meters and the right distance is 0.15 meters, then -0.03 meters is selected as the boundary margin; a negative value directly indicates that the center of gravity has crossed the left boundary, and the robot is in a tilting and unstable state.
[0033] For example, in a robot turning under load, the center of gravity projection shifts outward due to centrifugal force. The boundary margin, calculated in real time, gradually decreases from an initial 0.10 meters, triggering an early warning mechanism when it approaches 0.02 meters. By continuously monitoring the trend of boundary margin changes, instability risks can be predicted in advance, providing a quantitative basis for attitude adjustment.
[0034] S104. Based on the comparison between the current boundary margin and the preset safety threshold, assess the risk level of lateral tilting instability and determine the corresponding adjustment amount of the lateral distance between the two feet.
[0035] The current boundary margin value is obtained and compared with a preset graded safety threshold. A high-risk level is determined when the boundary margin is less than the first safety threshold; a medium-risk level is determined when the boundary margin is between the first and second safety thresholds; and a low-risk level is determined when the boundary margin is greater than the second safety threshold, where the first safety threshold is less than the second safety threshold. The current roll instability risk level is output. Based on the current roll instability risk level, a pre-established correspondence between risk level and spacing adjustment amount is queried. A high-risk level corresponds to a large positive adjustment amount to increase the distance between the two feet; a medium-risk level corresponds to a medium positive adjustment amount to moderately increase the distance; and a low-risk level corresponds to a zero or small negative adjustment amount to maintain or reduce the distance. The spacing adjustment amount corresponding to the risk level is obtained. The measured lateral distance between the two feet, measured by the robot's sensors at the current moment, is read. The spacing adjustment amount is algebraically added to the measured lateral distance between the two feet. When the adjustment amount is positive, the distance is increased; when the adjustment amount is negative, the distance is decreased. The target lateral distance between the two feet is obtained and output.
[0036] In one embodiment, the tiered safety thresholds are set based on the geometry of the robot's support polygon and historical instability data. A first safety threshold is set at 15% of the support polygon's width, and a second safety threshold is set at 30% of the support polygon's width. When the boundary margin drops below 0.03 meters, it indicates that the center of gravity projection is close to the support boundary, triggering a high-risk alarm; a boundary margin between 0.03 and 0.06 meters indicates a medium-risk state; and a margin exceeding 0.06 meters is within the safe range. This tiered mechanism can identify potential instability trends in advance, allowing sufficient reaction time for gait adjustments.
[0037] Specifically, the correspondence between risk level and spacing adjustment amount was obtained through experimental calibration. The positive adjustment amount corresponding to the high risk level is 0.08 to 0.12 meters, which is used to rapidly expand the support base; the positive adjustment amount corresponding to the medium risk level is 0.04 to 0.06 meters, which realizes the gradual expansion of spacing; the adjustment amount corresponding to the low risk level is -0.02 to 0 meters, which allows for a moderate reduction in spacing to improve the naturalness of gait.
[0038] It should be noted that the specific adjustment value is also affected by the robot's current movement speed, load weight, and terrain conditions, and the accurate adjustment value is obtained through a multi-dimensional lookup table method.
[0039] Preferably, the actual lateral distance between the two feet is calculated by real-time acquisition of the hip joint abduction angle using an encoder, combined with leg length parameters.
[0040] In one possible implementation, the algebraic addition operation includes a boundary constraint mechanism to ensure that the target spacing does not exceed the maximum range of 0.45 meters allowed by the robot's mechanical structure, nor is it less than the minimum spacing of 0.15 meters required to maintain basic stability.
[0041] For example, when the robot is carrying a 20 kg eccentric load, the initial lateral distance between its feet is 0.25 meters. If the detected boundary margin drops to 0.02 meters, triggering a high-risk level, the adjustment amount is found to be 0.10 meters, and the target distance is calculated to be 0.35 meters. This dynamic adjustment mechanism allows the robot to optimize its gait performance based on the actual risk level while maintaining stability.
[0042] Understandably, the spacing adjustment is not instantaneous, but rather gradual over two to three gait cycles to avoid dynamic imbalances caused by abrupt changes. The actual adjustment range within each control cycle does not exceed 0.02 meters, ensuring motion continuity through a smooth transition.
[0043] S105. Calculate the change in hip joint lateral swing angle based on the adjustment amount of the lateral distance between the feet, and drive the leg movement to adjust the lateral distance between the feet based on the change in hip joint lateral swing angle.
[0044] The lateral distance adjustment of the two feet is obtained. Based on the robot's kinematic parameter table, derived from the robot's design specifications, which includes joint dimension parameters such as the vertical distance from the hip joint rotation center to the ankle joint, the vertical distance from the hip joint rotation center to the ankle joint is retrieved from a database or configuration file and used as the effective lever arm length. The ratio of half the distance adjustment to the effective lever arm length is calculated using an arctangent function to obtain the change in the lateral swing angle of the hip joint. Velocity planning is then performed on this change in hip joint lateral swing angle, setting an upper limit for angular velocity to avoid abrupt changes. The angle change process is decomposed into three stages: acceleration, constant velocity, and deceleration. The acceleration and deceleration stages use a sinusoidal function transition. The instantaneous angular velocity value is determined based on the current control cycle's position within the three stages, and a smooth angle trajectory sequence is output. The hip joint motor control signal is generated based on the smooth angle trajectory sequence. If the angle change is positive, the leg is driven to abduct, increasing the distance between the feet; if it is negative, the leg is driven to adduct, decreasing the distance between the feet. A servo driver, specifically a digital servo driver, is used. Its parameters include proportional gain and integral time constant. The driver works by receiving angle commands and adjusting the motor torque through an internal current loop to achieve precise position control, converting the angle commands into motor torque commands and executing them. The real-time angle feedback value from the hip joint encoder is read and compared with the angle trajectory sequence to obtain the tracking error. Proportional-integral-derivative (PID) control is used to calculate the compensation amount, where the proportional term eliminates static errors, the integral term eliminates steady-state errors, and the derivative term suppresses overshoot. When the tracking error is less than a preset threshold, the leg movement is considered complete.
[0045] In one embodiment, the effective lever arm length is obtained by querying the robot's structural parameters. This length is defined as the vertical projection distance from the hip joint rotation center to the ankle joint center, typically 0.85 meters. The calculation of the arctangent function is based on the geometry of a right triangle, where half of the lateral spacing adjustment forms the opposite side of the triangle, and the effective lever arm length forms the adjacent side. The calculated angle is the lateral swing angle that needs to be adjusted for one hip joint.
[0046] It should be noted that the angular velocity planning employs a segmented control method to achieve a smooth transition. The acceleration phase accounts for 30% of the total motion time, during which the angular velocity increases from zero to its maximum value according to a sine function. The constant velocity phase accounts for 40%, maintaining a constant angular velocity. The deceleration phase accounts for 30%, during which the angular velocity decreases to zero according to a cosine function. This planning method avoids abrupt changes in angular acceleration, reducing mechanical shock. The upper limit of angular velocity is set at 30 degrees per second to prevent dynamic imbalance caused by excessively rapid adjustments. Within each 10-millisecond control cycle, the instantaneous angular velocity value is calculated based on the current position throughout the motion, forming a discrete sequence of angular trajectory points.
[0047] Preferably, the smooth angle trajectory sequence is further refined by an interpolation algorithm to ensure that the angle change between adjacent trajectory points does not exceed 0.5 degrees.
[0048] In one possible implementation, the trajectory sequence is stored in a circular buffer with a capacity of 200 data points, covering a 2-second motion process. Each data point contains three parameters: a timestamp, the target angle, and the target angular velocity, providing complete motion commands for servo control.
[0049] For example, the hip joint motor uses a permanent magnet synchronous motor with a harmonic reducer, with a reduction ratio of 100:1, providing sufficient torque output. After receiving angle commands, the servo driver converts them into three-phase current commands through a vector control algorithm. When the angle change is positive, the motor rotates forward, abducting the thigh and increasing the distance between the feet; when it is negative, the motor rotates in the reverse direction, adducting the leg. The current loop response frequency inside the driver reaches 1kHz, ensuring rapid tracking of torque commands. The motor's rated torque is 50 Nm, and the peak torque can reach 150 Nm, meeting the power requirements for rapid gait adjustment. Furthermore, closed-loop control achieves position feedback through a high-precision encoder. The encoder resolution is 131,072 pulses per revolution, corresponding to a hip joint angle resolution of 0.0027 degrees after passing through the reducer. Real-time angle values are sampled at a frequency of 1kHz and compared with the target trajectory to obtain the position error. The three parameters of proportional-integral-derivative (PID) control are tuned according to the system characteristics: the proportional gain is set to 15 to quickly respond to error changes; the integral gain is set to 0.5 to eliminate steady-state error accumulation; and the derivative gain is set to 2 to predict error trends and compensate in advance.
[0050] It is understandable that the calculation of the compensation amount follows a discrete... The algorithm uses a proportional term equal to the current error multiplied by the proportional gain, an integral term equal to the cumulative sum of historical errors multiplied by the integral gain and the sampling time, and a differential term equal to the rate of change of error multiplied by the differential gain. The sum of these three compensation terms limits the amplitude to within ±30% of the rated torque, preventing overcompensation from causing oscillations.
[0051] For example, during the robot's load-bearing uphill climb, it detected the need to increase the distance between its feet from 0.20 meters to 0.32 meters, calculating that each hip joint needed to abduct 8.1 degrees. The entire adjustment process was completed within 1.5 seconds: acceleration for the first 0.45 seconds, constant speed for the middle 0.6 seconds, and deceleration for the last 0.45 seconds. Real-time encoder feedback showed that the position tracking error remained within 0.1 degrees.
[0052] In one embodiment, when the tracking error is less than 0.05 degrees for 100 consecutive sampling periods, the action is considered complete. At this point, the joint angles stabilize at the target position, and the lateral distance between the two feet reaches the desired value. This precise closed-loop control ensures the accuracy and stability of gait adjustment, enabling the robot to maintain dynamic balance under load.
[0053] S106. Obtain the width of the support polygon based on the adjusted lateral distance between the two feet, accommodate the coordinates of the center of gravity projection point through the width of the support polygon, and output the robot posture adaptive balance result.
[0054] Obtain the lateral width value of the enlarged support polygon, read the coordinates of the current center of gravity projection point, and calculate the distance from the center of gravity projection point to the left and right boundaries of the support polygon. If both distances are positive, it is determined that the center of gravity projection point is located inside the support polygon, indicating that the enlarged support range has accommodated the center of gravity shift, and a balance state confirmation flag is obtained. Based on the balance state confirmation flag, collect the current lateral distance between the two feet, the hip joint lateral swing angle, the load eccentricity distance, and the boundary margin value. Combine these values to form a posture parameter data set, and output the posture adaptive balance result of the humanoid robot under load, containing the posture parameter data set.
[0055] In one embodiment, the lateral width of the enlarged support polygon is achieved by adjusting the lateral spacing between the two feet, typically by an expansion of 0.08 to 0.15 meters.
[0056] Specifically, when the distance from the center of gravity projection point to the left boundary is 0.05 meters and the distance to the right boundary is 0.03 meters, both distances are positive, indicating that the center of gravity projection point is located inside the supporting polygon, and the robot is in a stable state. The balance state confirmation indicator is represented by a Boolean variable, with a true value indicating balance and a false value indicating a risk of instability.
[0057] It should be noted that the attitude parameter data set comprises four key values: the lateral distance between the feet reflects the size of the supporting foundation, the hip joint lateral swing angle reflects the degree of leg posture adjustment, the load eccentricity distance characterizes the intensity of external disturbances, and the boundary margin quantifies the stability margin. These parameters are encapsulated in a structured data format and transmitted to the host computer via the control bus for recording and analysis.
[0058] Preferably, the posture adaptive balance results of the humanoid robot under load are updated 50 times per second to ensure real-time reflection of the robot's dynamic balance state. The output results can be used for gait planning optimization and abnormal state early warning, providing data support for the robot's safe walking.
[0059] This invention provides a posture adaptive device for a humanoid robot under load, mainly comprising: The data acquisition and preprocessing module is used to acquire the actual ground center point coordinates of the left and right feet, the hip joint lateral swing angle, and the load eccentricity distance as input data, and to filter the input data to determine the geometric boundary of the supporting polygon. The center of gravity calculation module is used to calculate the robot's overall center of gravity coordinates by combining the current angles of each joint and the filtered load eccentricity distance. The projection and boundary margin calculation module is used to project the comprehensive center of gravity coordinates onto the ground support surface along the gravity direction to obtain the coordinates of the center of gravity projection point, and calculate the distance from the coordinates of the center of gravity projection point to the geometric boundary of the support polygon to determine the current boundary margin. The risk assessment module is used to assess the level of roll instability risk by comparing the current boundary margin with a preset safety threshold, and to determine the corresponding adjustment amount of the lateral spacing between the two feet. The adjustment amount calculation module is used to calculate the change in hip joint lateral swing angle based on the adjustment amount of the lateral distance between the two feet, and drive the leg movement to adjust the lateral distance between the two feet based on the change in the hip joint lateral swing angle. The posture adjustment and output module is used to obtain the width of the support polygon based on the adjusted lateral distance between the two feet, and to accommodate the coordinates of the center of gravity projection point through the width of the support polygon, and output the robot posture adaptive balance result.
[0060] If the technical solution of this application involves the processing of personal information, the relevant products have established a sound user authorization mechanism: before collecting, using, or sharing personal information, the obligation to inform is fulfilled in accordance with the law, and the individual's voluntary and explicit consent is obtained; if sensitive personal information is involved, the user's separate and explicit consent is further obtained. Specific measures include, but are not limited to: setting up prominent prompts in the information collection area, or clearly displaying the processing rules (including the processor, purpose, method, information type, etc.) through electronic interfaces such as pop-ups, checkboxes, and active submissions, to ensure that users voluntarily authorize based on their knowledge. All personal information processing activities strictly comply with national laws and regulations, especially the relevant provisions of the "Personal Information Protection Law of the People's Republic of China," to effectively safeguard the legitimate rights and interests of personal information subjects.
[0061] The preferred embodiments of the present invention disclosed above are merely illustrative of the invention. These preferred embodiments do not exhaustively describe all details, nor do they limit the invention to any specific implementation. Clearly, many modifications and variations can be made based on the content of this specification. This specification selects and specifically describes these embodiments to better explain the principles and practical applications of the invention, thereby enabling those skilled in the art to better understand and utilize the invention. The invention is limited only by the claims and their full scope and equivalents.
Claims
1. A method for adaptive posture of a humanoid robot under load, characterized in that, The method includes: The actual ground contact center coordinates of the left and right feet, the hip joint lateral swing angle, and the load eccentricity distance are obtained as input data. The input data is then filtered to determine the geometric boundary of the supporting polygon. By combining the current angles of each joint and the filtered load eccentricity distance, the overall center of gravity coordinates of the robot are calculated. The integrated center of gravity coordinates are projected onto the ground support surface along the direction of gravity to obtain the coordinates of the center of gravity projection point, and the distance from the coordinates of the center of gravity projection point to the geometric boundary of the support polygon is calculated to determine the current boundary margin. Based on the comparison between the current boundary margin and the preset safety threshold, the level of lateral tilt instability risk is assessed, and the corresponding adjustment amount of the lateral spacing between the two feet is determined. The change in hip joint lateral swing angle is calculated based on the adjustment amount of the lateral distance between the two feet, and the leg movement is driven to adjust the lateral distance between the two feet based on the change in the hip joint lateral swing angle. The width of the support polygon is obtained based on the adjusted lateral distance between the two feet. The coordinates of the center of gravity projection point are accommodated by the width of the support polygon, and the robot posture adaptive balance result is output.
2. The posture adaptation method for a humanoid robot under load as described in claim 1, characterized in that, The process of obtaining the actual ground contact center coordinates of the left and right feet, the hip joint lateral swing angle, and the load eccentricity distance as input data includes: Collect pressure distribution data when both feet are on the ground, analyze the pressure peak points, and determine the coordinates of the actual center points of the left and right feet based on the pressure peak points; The hip joint lateral swing angle is read from the inertial measurement unit at the hip joint rotation axis; The lateral offset distance of the load's centroid relative to the geometric center of the robot's torso is the load eccentricity distance. The actual ground contact center coordinates of the left and right feet, the hip joint lateral swing angle, and the load eccentricity distance are used as input data.
3. The posture adaptation method for a humanoid robot under load as described in claim 1, characterized in that, The step of filtering the input data to determine the geometric boundaries of the supporting polygon includes: A Kalman filter is used to perform time-series fusion of the actual landing center coordinates of the left and right feet to obtain the filtered center coordinates of the left and right feet. A moving average filter is applied to the hip joint lateral swing angle to output a smoothed hip joint angle. A low-pass filter is applied to the load eccentricity distance to obtain a stable load eccentricity distance; The actual lateral distance between the two feet is determined based on the filtered left and right foot center coordinates and the smoothed hip joint angle. The geometric boundary of the supporting polygon is determined based on the actual lateral distance between the two feet and the stable load eccentricity distance.
4. The posture adaptation method for a humanoid robot under load as described in claim 3, characterized in that, The step of determining the actual lateral distance between the two feet based on the filtered left and right foot center coordinates and the smoothed hip joint angle includes: calculating the lateral distance between two points in the coronal plane of the robot based on the filtered left and right foot center coordinates as the lateral distance between the two feet, correcting the measurement deviation of the lateral distance between the two feet with the smoothed hip joint angle, and obtaining the actual lateral distance between the two feet.
5. The posture adaptation method for a humanoid robot under load as described in claim 1, characterized in that, The calculation of the robot's overall center of gravity coordinates, combining the current angles of each joint and the filtered load eccentricity distance, includes: Obtain the current angle of each joint, query the preset link segment mass distribution data based on the current angle of each joint, calculate the centroid coordinates of each link using homogeneous coordinate transformation, and obtain the centroid coordinates of the robot body by weighted summation of the centroid coordinates of each link. Obtain the load mass and the total mass of the robot body. Based on the ratio of the load mass to the total mass of the robot body and the filtered load eccentricity distance, determine the lateral offset component of the load center of gravity. The overall center of gravity coordinates are calculated by superimposing the robot's body center of gravity coordinates with the lateral offset component vector of the load center of gravity, and then using a weighted average method.
6. The posture adaptation method for a humanoid robot under load as described in claim 1, characterized in that, The process of projecting the comprehensive center of gravity coordinates onto the ground support surface along the gravity direction to obtain the coordinates of the center of gravity projection point, and calculating the distance from the coordinates of the center of gravity projection point to the geometric boundary of the support polygon to determine the current boundary margin includes: Extract the lateral and longitudinal components of the composite center of gravity coordinates, and project them along the direction of gravity to obtain the two-dimensional projected coordinates of the center of gravity on the horizontal ground. The two-dimensional projected coordinates are rotated and transformed based on the torso tilt angle detected by the inertial measurement unit, and the corrected coordinates of the center of gravity projection point are output. Calculate the vertical distances from the coordinates of the centroid projection point to the left and right boundaries to obtain the left and right distance values; The current boundary margin is determined based on the absolute values of the left and right distance values.
7. The posture adaptation method for a humanoid robot under load as described in claim 1, characterized in that, The step of assessing the lateral instability risk level by comparing the current boundary margin with a preset safety threshold and determining the corresponding lateral spacing adjustment of the two feet includes: If the current boundary margin is less than the first safety threshold, it is determined to be a high-risk level; If the current boundary margin is between the first safety threshold and the second safety threshold, it is determined to be at a medium risk level; If the current boundary margin is greater than the second safety threshold, it is determined to be a low-risk level; Based on the pre-established correspondence between the roll instability risk level and the lateral distance adjustment of the feet, the lateral distance adjustment of the feet corresponding to the current roll instability risk level is obtained.
8. The posture adaptation method for a humanoid robot under load as described in claim 1, characterized in that, The step of calculating the change in hip joint lateral swing angle based on the adjustment amount of the lateral distance between the feet, and adjusting the lateral distance between the feet by driving leg movements based on the change in hip joint lateral swing angle, includes: Obtain the lateral distance adjustment of the two feet, query the effective lever arm length based on the kinematic parameters, and calculate the change in the lateral swing angle of the unilateral hip joint; The angle change is subjected to velocity planning, which decomposes it into acceleration, constant speed and deceleration stages, and outputs a smooth angle trajectory sequence. The motor control signal is generated based on the smooth angle trajectory sequence to drive the leg to abduct or adduct.
9. The posture adaptation method for a humanoid robot under load as described in claim 1, characterized in that, The process of obtaining the width of the support polygon based on the adjusted lateral distance between the two feet, accommodating the coordinates of the center of gravity projection point through the width of the support polygon, and outputting the robot's posture adaptive balance result includes: Obtain the adjusted lateral width of the support polygon and read the coordinates of the current centroid projection point; Calculate the distances from the coordinates of the center of gravity projection point to the left and right boundaries of the supporting polygon. If both distances are positive, it is determined that the center of gravity projection point is located inside the supporting polygon, indicating that the expanded support range has accommodated the center of gravity shift. Output the robot posture adaptive balance result.
10. A posture adaptive device for a humanoid robot under load, characterized in that, The device includes: The data acquisition and preprocessing module is used to acquire the actual ground center point coordinates of the left and right feet, the hip joint lateral swing angle, and the load eccentricity distance as input data, and to filter the input data to determine the geometric boundary of the supporting polygon. The center of gravity calculation module is used to calculate the robot's overall center of gravity coordinates by combining the current angles of each joint and the filtered load eccentricity distance. The projection and boundary margin calculation module is used to project the comprehensive center of gravity coordinates onto the ground support surface along the gravity direction to obtain the coordinates of the center of gravity projection point, and calculate the distance from the coordinates of the center of gravity projection point to the geometric boundary of the support polygon to determine the current boundary margin. The risk assessment module is used to assess the level of roll instability risk by comparing the current boundary margin with a preset safety threshold, and to determine the corresponding adjustment amount of the lateral spacing between the two feet. The adjustment amount calculation module is used to calculate the change in hip joint lateral swing angle based on the adjustment amount of the lateral distance between the two feet, and drive the leg movement to adjust the lateral distance between the two feet based on the change in the hip joint lateral swing angle. The posture adjustment and output module is used to obtain the width of the support polygon based on the adjusted lateral distance between the two feet, and to accommodate the coordinates of the center of gravity projection point through the width of the support polygon, and output the robot posture adaptive balance result.