Humanoid robot control method and system, storage medium and program product

By collecting and analyzing the pressure distribution data of the collaborative contact points between the humanoid robot and the human operator, calculating the resultant force information and transmitting it to the joints, the problem of mismatched movements of the humanoid robot during collaboration is solved, precise force matching and movement synchronization are achieved, and the safety and efficiency of collaborative tasks are improved.

CN120645210AActive Publication Date: 2025-09-16QINGDAO HUWEI INNOVATION TECHNOLOGY CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510760888.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-09
Publication Date
2025-09-16
Estimated Expiration
2045-06-09

AI Technical Summary

Technical Problem

Existing humanoid robots find it difficult to accurately understand and predict human behavioral intentions when collaborating with humans, resulting in mismatched movement rhythms, reduced collaboration efficiency, and potential safety hazards.

Method used

By collecting the pressure distribution data of the collaborative contact points between the humanoid robot and the human operator, the pressure center of gravity coordinates are calculated, and the resultant force information is obtained based on the time window sequence and differential operation. The resultant force information is transmitted to each joint along the joint chain, and the joint output torque is calculated to achieve collaborative motion.

Benefits of technology

It achieves precise force matching and natural synchronization of movements during human-machine collaboration, improving the safety and efficiency of collaborative tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120645210A_ABST
    Figure CN120645210A_ABST
Patent Text Reader

Abstract

The invention discloses a humanoid robot control method and system, a storage medium and a program product, and the method comprises the steps: carrying out the weighted calculation of pressure distribution data, and obtaining a pressure barycentric coordinate of a cooperative contact point; a time window sequence is constructed based on the pressure gravity center coordinates, and the instantaneous speed and acceleration of the pressure gravity center are obtained through differential operation; calculating the magnitude and the direction of resultant force applied by the human operator at the cooperative contact point based on the instantaneous speed and the acceleration; the magnitude and the direction of the resultant force are transmitted along a joint chain of the humanoid robot, and the instantaneous stress state of each joint of the humanoid robot is obtained through conversion; calculating a corresponding joint output torque according to the instantaneous stress state of each joint; and all joints of the humanoid robot are controlled to cooperatively move according to the joint output torque. The method is used for accurately recognizing and predicting the human cooperation intention, precise force matching and natural action synchronization in the man-machine cooperation process are achieved, and therefore the safety and efficiency of the cooperation task are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of intelligent manufacturing equipment industry, and in particular relates to a humanoid robot control method, system, storage medium and program product. Background Art

[0002] With the rapid development of artificial intelligence (AI), humanoid robots are increasingly being used in industrial production, medical services, and home care. Traditional humanoid robots often rely on preset motion sequences to perform tasks, lacking real-time perception and adaptability to their environment. This makes them prone to uncoordinated movements and mission failures when faced with complex and ever-changing scenarios.

[0003] In related technologies, a depth camera installed on the robot's head can acquire real-time 3D information about its surroundings. This information, combined with pre-trained deep learning models, can be used to perform semantic segmentation and object recognition on the scene, thereby guiding the robot to adjust its motion trajectory and execution strategy in real time. This approach significantly improves the adaptability and task completion rate of humanoid robots in unstructured environments.

[0004] However, existing visual perception-based control methods are insufficient for scenarios requiring close collaboration with humans. Because robots struggle to accurately understand and predict human behavioral intentions, mismatches in movement rhythms often occur during collaborative tasks. For example, in collaborative tasks involving heavy lifting, the robot may struggle to perceive the human's force and movement intentions, leading to uncoordinated pushing and pulling forces or asynchronous movement trajectories. This reduces collaborative efficiency and can pose safety risks. Summary of the Invention

[0005] The present application provides a humanoid robot control method, system, storage medium and program product for accurately identifying and predicting human collaboration intentions, achieving precise force matching and natural synchronization of movements during human-machine collaboration, thereby improving the safety and efficiency of collaborative tasks.

[0006] In a first aspect, the present application provides a humanoid robot control method for collecting pressure distribution data of collaborative contact points between the humanoid robot and a human operator; Perform weighted calculation on the pressure distribution data to obtain the pressure center coordinates of the collaborative contact point; A time window sequence is constructed based on the coordinates of the pressure center of gravity, and the instantaneous velocity and acceleration of the pressure center of gravity are obtained through differential operation; Calculate the magnitude and direction of the resultant force applied by the human operator at the collaborative contact point based on the instantaneous velocity and acceleration; The magnitude and direction of the resultant force are transmitted along the joint chain of the humanoid robot to obtain the instantaneous force state of each joint of the humanoid robot; Calculate the corresponding joint output torque according to the instantaneous force state of each joint; Control the coordinated movement of the joints of the humanoid robot according to the joint output torque.

[0007] By adopting the above technical solution, the actual contact position information between the human operator and the robot can be accurately obtained by collecting pressure distribution data at the collaborative contact points and calculating the coordinates of the pressure center of gravity. By constructing a time window sequence and performing differential operations, the kinematic characteristics of the pressure center of gravity can be obtained, and the resultant force information applied by the human operator can be calculated. The resultant force information is transmitted along the joint chain and converted into the force state of each joint, allowing the humanoid robot to perceive the human intention and respond accordingly. The output torque is calculated based on the instantaneous force state of each joint and the coordinated motion of the joints is controlled, allowing the humanoid robot to move smoothly according to the human operator's intention. This human-machine interaction control method based on contact mechanics enables the humanoid robot to naturally follow the human operator's guidance to complete corresponding movements, accurately identify and predict human collaborative intentions, and achieve precise force matching and natural synchronization of movements during the human-machine collaboration process, thereby improving the safety and efficiency of collaborative tasks.

[0008] In conjunction with some embodiments of the first aspect, in some embodiments, the magnitude and direction of the resultant force are transmitted along the joint chain of the humanoid robot to obtain the instantaneous force state of each joint of the humanoid robot, specifically including: Establish a local coordinate system with the cooperative contact point as the origin, and express the magnitude and direction of the resultant force as a three-dimensional force vector in the local coordinate system; Calculate the three-dimensional position vector of each joint of the humanoid robot relative to the local coordinate system and the unit direction vector of the joint rotation axis; Based on the cross product operation of the three-dimensional force vector and the three-dimensional position vector, the initial torque vector acting on each joint is obtained; Project the initial torque vector in the direction of the joint rotation axis of each joint to obtain the effective torque component of each joint; According to the proportional relationship between the effective torque component and the resultant force, the instantaneous force state of each joint is calculated.

[0009] By adopting the above technical solution, a local coordinate system with the collaborative contact point as the origin is established, and the resultant force applied by the human operator is represented as a three-dimensional force vector. Combined with the spatial position information and rotation axis information of each joint, vector operations are used to determine the initial torque acting on each joint. The effective torque component is obtained by calculating the projection of the torque along the joint's rotation axis, and the instantaneous force state of each joint is determined based on the proportional relationship between the torque and the resultant force, enabling the humanoid robot to accurately perceive and respond to the force applied by the human operator. This force transmission and conversion method takes into account the actual constraints of joint motion, ensuring that the force transmission process conforms to the robot's kinematic characteristics, and improving the force control precision and response accuracy during human-machine interaction.

[0010] In conjunction with some embodiments of the first aspect, in some embodiments, calculating the corresponding joint output torque according to the instantaneous force state of each joint specifically includes: Collect the current angle and angular velocity of each joint of the humanoid robot; The expected angular acceleration of each joint is calculated using the deviation between the instantaneous force state and the current angle; Multiply the angular velocity of each joint by the preset velocity damping coefficient to obtain the velocity damping torque; The instantaneous force state is superimposed on the velocity damping torque to obtain the basic output torque of each joint; The basic output torque is compensated according to the expected angular acceleration to obtain the joint output torque.

[0011] By adopting this technical solution, the desired angular acceleration is calculated from the deviation between the instantaneous force state and the current angle, and a velocity damping torque is introduced to suppress joint oscillation, making joint movement smoother. The instantaneous force state and the velocity damping torque are superimposed to obtain the basic output torque, which is then compensated according to the desired angular acceleration to obtain the final joint output torque. This torque calculation method ensures that the joint can respond to the control intentions of the human operator while suppressing oscillations during movement, thereby improving the stability and coordination of humanoid robot movement.

[0012] In conjunction with some embodiments of the first aspect, in some embodiments, after controlling the joints of the humanoid robot to move in coordination according to the joint output torque, the method further includes: Calculate the displacement and velocity of the pressure center of gravity coordinates; Calculate the acceleration of an object in the horizontal, longitudinal and vertical directions based on displacement and velocity; Calculate the magnitude of the inertial force based on the acceleration and the mass of the object; Add the magnitude of the inertia force to the calculation of the joint output torque.

[0013] By employing this technical solution, the kinematic characteristics of the pressure center of gravity coordinates are calculated to determine the object's acceleration in three directions. The inertial force is then calculated based on the object's mass and added to the calculation of the joint output torque. This control method, which accounts for the influence of inertial forces, can compensate for the dynamic forces generated during an object's motion, enabling the humanoid robot to better adapt to the dynamic characteristics of objects when handling or manipulating them. This dynamic torque compensation improves the control accuracy and stability of the humanoid robot when performing dynamic tasks, enabling the robot to perform actions more accurately.

[0014] In conjunction with some embodiments of the first aspect, in some embodiments, the magnitude of the inertial force is added to the calculation of the joint output torque, specifically including: Calculate the distance from each joint position to the pressure center coordinates; Multiply the magnitude of the inertial force by the distance to obtain the correction torque; Distribute the correction torque to each joint according to the Jacobian matrix of each joint; The joint output torque is corrected using the correction torque allocated to each joint to obtain the corrected joint output torque.

[0015] By adopting this technical solution, the distance from each joint position to the pressure center of gravity coordinates is calculated, and the correction torque is obtained by multiplying the inertial force by the distance. The correction torque is then distributed to each joint using the Jacobian matrix of each joint. Finally, the joint output torque is corrected using the correction torque distributed to each joint, allowing the system to accurately distribute the influence of inertial force to each joint. This can make the output torque of each joint of the humanoid robot more reasonable during movement, improving the stability and smoothness of the humanoid robot's movement during collaboration with humans.

[0016] In conjunction with some embodiments of the first aspect, in some embodiments, after adding the magnitude of the inertial force to the calculation of the joint output torque, the method further includes: Calculate the corrected pressure center of gravity coordinates corresponding to the corrected joint output torque; When the corrected pressure center of gravity coordinates exceed the preset stable range, the inertial force is reduced according to a preset ratio.

[0017] By adopting the above technical solution, by calculating the corrected pressure center of gravity coordinates corresponding to the corrected joint output torque and judging whether it exceeds the preset stability range, the inertial force is reduced according to the preset ratio when it exceeds the range. This can prevent the humanoid robot from having the pressure center of gravity deviate from the safe range due to excessive inertial force, so that the system can ensure motion stability while maintaining dynamic response capability.

[0018] In conjunction with some embodiments of the first aspect, in some embodiments, reducing the inertial force according to a preset ratio specifically includes: Calculate the distance that the coordinates of the center of gravity of the corrected pressure deviate from the center of the preset stable range; Divide the distance by the radius of the preset stable range to get the scaling factor; The reduced inertia force is obtained by multiplying the inertia force by 1 and the difference between the scaling factor and the inertia force.

[0019] By adopting the above technical solution, the distance that the corrected pressure center of gravity coordinate deviates from the center of the preset stable range is calculated, and the scaling ratio is obtained by dividing the distance by the radius of the preset stable range. The inertial force is then multiplied by the difference between 1 and the scaling ratio. This achieves continuous and smooth adjustment of the inertial force, reduces the impact and vibration during the movement of the humanoid robot, and improves the comfort and safety of the human-machine collaboration process.

[0020] In second aspect, an embodiment of the present application provides a humanoid robot control system, which includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the system to execute the method described in the first aspect and any possible implementation of the first aspect.

[0021] In a third aspect, an embodiment of the present application provides a computer-readable storage medium comprising instructions, which, when executed on a system, enables the system to execute the method described in the first aspect and any possible implementation of the first aspect.

[0022] In a fourth aspect, an embodiment of the present application provides a computer program product, which, when executed on a system, enables the system to execute the method described in any possible implementation manner in the first aspect.

[0023] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages: 1. The present application provides a method for controlling a humanoid robot, which can accurately obtain the actual contact position information between the human operator and the robot by collecting the pressure distribution data of the collaborative contact points and calculating the coordinates of the pressure center of gravity. By constructing a time window sequence and performing differential operations, the kinematic characteristics of the pressure center of gravity can be obtained, and then the resultant force information applied by the human operator can be calculated. The resultant force information is transmitted along the joint chain and converted into the force state of each joint, so that the humanoid robot can perceive human intentions and respond accordingly. The output torque is calculated based on the instantaneous force state of each joint and the coordinated movement of the joints is controlled, so that the humanoid robot can move smoothly according to the intention of the human operator. This human-computer interaction control method based on contact mechanics enables the humanoid robot to naturally follow the guidance of the human operator to complete the corresponding actions, accurately identify and predict human collaborative intentions, and achieve precise force matching and natural synchronization of movements in the process of human-computer collaboration, thereby improving the safety and efficiency of collaborative tasks.

[0024] 2. This application provides a humanoid robot control method that calculates the kinematic characteristics of the pressure center of gravity coordinates to obtain the acceleration of an object in three directions, and calculates the inertial force based on the object's mass. The inertial force is then added to the calculation of the joint output torque. This control method, which takes into account the influence of inertial force, can compensate for the dynamic forces generated during the object's movement, allowing the humanoid robot to better adapt to the dynamic characteristics of the object when carrying or manipulating it. Through dynamic torque compensation, the control accuracy and stability of the humanoid robot when performing dynamic tasks are improved, allowing the robot to complete actions more accurately. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 This is a flow chart of a method for controlling a humanoid robot in an embodiment of the present application.

[0026] Figure 2 This is another flow chart of a humanoid robot control method in an embodiment of the present application.

[0027] Figure 3 This is a schematic diagram of the physical device structure of a humanoid robot control system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] The terms used in the following examples of the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in the specification and appended claims of this application, the singular expressions "a," "an," "said," "above," "the," and "this" are intended to include plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in this application refers to any or all possible combinations comprising one or more of the listed items.

[0029] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood to imply or suggest relative importance or implicitly indicate the number of the technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of this application, unless otherwise specified, "plurality" means two or more.

[0030] The following uses an embodiment and combines Figure 1 , a method for controlling a humanoid robot in an embodiment of the present application is described: See also Figure 1 , which is a flow chart of a humanoid robot control method in an embodiment of the present application.

[0031] S101, collecting pressure distribution data of collaborative contact points between the humanoid robot and the human operator; In this step, the system installs a pressure sensor array at the collaborative contact point between the humanoid robot and the human operator to obtain real-time pressure distribution in that area. The pressure sensor array can be a two-dimensional matrix sensor array that can collect pressure values ​​at different locations to generate pressure distribution data. In addition to using a pressure sensor array, the system can also use other types of force sensors, such as resistive pressure sensors and capacitive pressure sensors, as long as they can obtain the pressure distribution at the collaborative contact point.

[0032] In practical applications, the system can deploy pressure sensor arrays in specific locations (such as the palm and arm) based on the humanoid robot's structural characteristics and the requirements of collaborative tasks. The resolution and sampling frequency of the sensor array can be customized to obtain sufficiently detailed and real-time pressure distribution data. Furthermore, the system also requires preprocessing of the sensor data, such as denoising and filtering, to improve data quality.

[0033] S102, performing weighted calculation on the pressure distribution data to obtain the pressure center coordinates of the cooperative contact point; After obtaining the pressure distribution data for the collaborative contact points, the system needs to process and analyze this data to extract key information. In this step, the system performs a weighted calculation on the pressure distribution data to obtain the coordinates of the pressure center of gravity. The pressure center of gravity reflects the overall pressure distribution and is an important characteristic.

[0034] Specifically, the system can view the pressure sensor array as a two-dimensional plane, with the position coordinates and pressure values ​​of each sensor forming a three-dimensional pressure distribution map. By multiplying each sensor's pressure value by its position coordinates, summing the results, and dividing by the total pressure value, the coordinates of the pressure center of gravity can be obtained.

[0035] In practical applications, the system can assign different weights to pressure values ​​in different areas based on the characteristics of the pressure distribution to highlight the impact of key areas. For example, areas with higher pressure values ​​can be given higher weights, while areas with lower pressure values ​​can be given lower weights. This can more accurately reflect the overall trend of the pressure distribution.

[0036] When calculating the pressure center of gravity coordinates, problems such as uneven pressure distribution and center of gravity position offset may occur. To address these issues, the system can incorporate optimization algorithms, such as least squares and Kalman filtering, to estimate and correct the pressure center of gravity coordinates. Furthermore, the system can dynamically track and predict the pressure center of gravity coordinates by combining the humanoid robot's motion state and the context of the collaborative task, improving real-time control and accuracy.

[0037] S103, constructing a time window sequence based on the pressure center of gravity coordinates, and obtaining the instantaneous velocity and acceleration of the pressure center of gravity through differential operation; After obtaining the coordinates of the pressure center of gravity of the collaborative contact point, the system needs to further analyze its dynamic changes to understand the operator's operational intentions and movement trends. In this step, the system constructs a time window sequence of the pressure center of gravity coordinates and performs a differential operation on them to obtain the instantaneous velocity and acceleration of the pressure center of gravity.

[0038] Specifically, the system arranges the continuous pressure center of gravity coordinates in chronological order to form a sequence of time windows. Each time window contains the pressure center of gravity coordinate data for a period of time. By performing a differential operation on the pressure center of gravity coordinates of adjacent time windows, the displacement of the pressure center of gravity during this period can be obtained. The displacement is then divided by the time interval to obtain the instantaneous velocity of the pressure center of gravity. Similarly, by performing a differential operation on the instantaneous velocities of adjacent time windows and dividing them by the time interval, the instantaneous acceleration of the pressure center of gravity can be obtained.

[0039] S104. Calculating the magnitude and direction of the resultant force applied by the human operator at the collaborative contact point based on the instantaneous velocity and acceleration; Based on the instantaneous velocity and acceleration of the pressure center of gravity, the system can further infer the net force applied by the human operator at the collaborative contact point. In this step, the system uses the instantaneous velocity and acceleration data to calculate the magnitude and direction of the net force through mechanical calculations.

[0040] Specifically, according to Newton's second law, the acceleration of an object is proportional to the net force acting on it, and the direction of the net force is consistent with the direction of the acceleration. Therefore, the system can treat the pressure center of gravity as a point mass, and its acceleration is the instantaneous acceleration of the pressure center of gravity. Assuming the mass of the humanoid robot is m, the magnitude of the net force F can be calculated using the following formula: F = m * a Where a is the instantaneous acceleration of the pressure center of gravity.

[0041] The direction of the resultant force can be determined by the vector relationship between instantaneous velocity and acceleration. Generally speaking, the direction of the resultant force coincides with the direction of the acceleration vector. However, in certain special cases (such as when the directions of velocity and acceleration are inconsistent), the combined effect of velocity and acceleration must be considered. The system can calculate the components of the resultant force in different directions through vector decomposition and synthesis, thereby determining the final direction of the resultant force.

[0042] S105, transmitting the magnitude and direction of the resultant force along the joint chain of the humanoid robot to obtain the instantaneous force state of each joint of the humanoid robot; The system transmits the magnitude and direction of the resultant force along the joint chain of the humanoid robot, and converts it into the instantaneous force state of each joint of the humanoid robot, specifically including: establishing a local coordinate system with the collaborative contact point as the origin, and expressing the magnitude and direction of the resultant force as a three-dimensional force vector in the local coordinate system; calculating the three-dimensional position vector of each joint of the humanoid robot relative to the local coordinate system and the unit direction vector of the joint rotation axis; obtaining the initial torque vector acting on each joint based on the cross product operation of the three-dimensional force vector and the three-dimensional position vector; projecting the initial torque vector in the direction of the joint rotation axis of each joint to obtain the effective torque component of each joint; and calculating the instantaneous force state of each joint based on the proportional relationship between the effective torque component and the magnitude of the resultant force.

[0043] This step calculates the instantaneous forces on each joint of the humanoid robot, based on the known magnitude and direction of the net force applied by the human operator. This process is essentially a problem of spatial force transmission and coordinate transformation. The system can employ forward or inverse recursive methods, or employ classical robot dynamics methods such as the Jacobian matrix or the Lagrange equations. The specific method chosen depends on factors such as the robot's configuration, computing resources, and real-time requirements.

[0044] The system transfers the magnitude and direction of the resultant force along the humanoid robot's joint chain, converting it into the instantaneous force state of each joint. Specifically, this involves: establishing a local coordinate system with the collaborative contact point as the origin, and expressing the magnitude and direction of the resultant force as a three-dimensional force vector in the local coordinate system; calculating the three-dimensional position vector of each joint of the humanoid robot relative to the local coordinate system and the unit direction vector of the joint rotation axis; obtaining the initial torque vector acting on each joint based on the cross product of the three-dimensional force vector and the three-dimensional position vector; projecting the initial torque vector onto the direction of each joint's joint rotation axis to obtain the effective torque component of each joint; and calculating the instantaneous force state of each joint based on the proportional relationship between the effective torque component and the magnitude of the resultant force. This process integrates spatial mechanics tools such as coordinate transformation and vector calculation to form a complete method for calculating the forces acting on each joint.

[0045] S106, calculating the corresponding joint output torque according to the instantaneous force state of each joint; The system calculates the corresponding joint output torque based on the instantaneous force state of each joint, specifically including: collecting the current angle and angular velocity of each joint of the humanoid robot; calculating the expected angular acceleration of each joint using the deviation between the instantaneous force state and the current angle; multiplying the angular velocity of each joint with the preset velocity damping coefficient to obtain the velocity damping torque; superimposing the instantaneous force state and the velocity damping torque to obtain the basic output torque of each joint; compensating the basic output torque according to the expected angular acceleration to obtain the joint output torque.

[0046] The goal of this step is to determine the torque required for each joint motor to achieve the desired motion state. The key here is to design a mapping function from instantaneous force to output torque, taking into account factors such as accuracy, stability, and real-time performance. Common methods include calculations based on dynamic models, regulation based on feedback control, and combinations of the two. The system can flexibly select and adjust the method used based on the characteristics of the control task and hardware conditions.

[0047] The system calculates the corresponding joint output torque based on the instantaneous force state of each joint. Specifically, this involves: collecting the current angle and angular velocity of each humanoid robot joint; calculating the desired angular acceleration for each joint using the deviation between the instantaneous force state and the current angle; multiplying each joint's angular velocity by a preset velocity damping coefficient to obtain the velocity damping torque; superimposing the instantaneous force state and the velocity damping torque to obtain the base output torque for each joint; and compensating the base output torque based on the desired angular acceleration to obtain the joint output torque. This process introduces angle feedback and velocity damping, improving control stability while meeting motion requirements. It is a typical method for calculating output torque.

[0048] S107 , controlling the joints of the humanoid robot to move in coordination according to the joint output torque.

[0049] This step is the final step in the control process. Its goal is to coordinate the actual motion of each joint's motors based on the calculated joint output torques, enabling the humanoid robot to smoothly, accurately, and safely execute the operator's intended motion. This step requires comprehensive consideration of multiple factors, including motor control, motion planning, and safety protection. The system can adopt a centralized or distributed control framework, coupled with real-time communication and synchronization mechanisms, to ensure the coordinated motion of each joint.

[0050] When achieving coordinated joint motion control, the system needs to deal with the coupling and interference problems between multiple joint degrees of freedom. To address this problem, the system can introduce a feedforward compensation mechanism to predict the coupling torque and interference torque based on the dynamic model and offset them during control. The system can also adopt a decoupling control method based on the joint space or operation space to simplify the originally coupled multi-joint control into a series of independent single-joint control problems. On the premise of meeting the motion requirements, the system can use optimal control theory to optimize the motion trajectory of each joint to achieve a balance of comprehensive performance such as smoothness, accuracy and energy efficiency. At the same time, the system should also set up safety protection measures to monitor and limit the position, speed and torque of joint motion to avoid the occurrence of dangerous actions.

[0051] In the above embodiment, by collecting the pressure distribution data of the collaborative contact points and calculating the coordinates of the pressure center of gravity, the actual contact position information between the human operator and the robot can be accurately obtained. By constructing a time window sequence and performing differential operations, the kinematic characteristics of the pressure center of gravity can be obtained, and then the resultant force information applied by the human operator can be calculated. The resultant force information is transmitted along the joint chain and converted into the force state of each joint, so that the humanoid robot can perceive human intentions and respond accordingly. The output torque is calculated according to the instantaneous force state of each joint and the coordinated movement of the joints is controlled, so that the humanoid robot can move smoothly according to the intention of the human operator. This human-computer interaction control method based on contact mechanics enables the humanoid robot to naturally follow the guidance of the human operator to complete the corresponding actions, accurately identify and predict human collaborative intentions, and achieve precise force matching and natural synchronization of movements in the human-computer collaboration process, thereby improving the safety and efficiency of collaborative tasks.

[0052] In the actual human-machine collaboration process, when the humanoid robot moves in response to the guidance of the human operator, the inertia of the robot itself and the object being operated may affect the stability and safety of the human-machine collaboration. Figure 2 , another humanoid robot control method in the embodiment of the present application is described: See also Figure 2 , is another flow chart of a humanoid robot control method in an embodiment of the present application.

[0053] S201, calculating the displacement and velocity of the pressure center of gravity coordinates; The displacement of the pressure center of gravity coordinates reflects the geometric characteristics of the motion, while the velocity reflects the dynamic characteristics of the motion. The system can use a variety of numerical differentiation methods to calculate displacement and velocity, such as forward differencing, central differencing, and least squares fitting. The choice of method requires a trade-off between computational efficiency, numerical stability, and noise sensitivity.

[0054] The system calculates the displacement and velocity of the pressure center of gravity coordinates using the following method: A sliding window is applied to the pressure center of gravity coordinate sequence. Within each window, a least-squares polynomial fit is used to obtain a function expression of the pressure center of gravity coordinates with respect to time. The first- and second-order derivatives of this function expression are taken to obtain the velocity and acceleration of the pressure center of gravity within that window, respectively. The velocities and accelerations of each window are arranged in a time series to obtain a complete sequence of pressure center of gravity velocity and acceleration. This method utilizes the smoothness and analytical properties of polynomial functions to suppress the effects of data noise.

[0055] S202, calculating the acceleration of the object in the horizontal, longitudinal and vertical directions according to the displacement and velocity; The purpose of this step is to further estimate the motion state of the manipulated object, providing the necessary information for the subsequent calculation of inertial forces. Given the displacement and velocity of the pressure center of gravity, the object's acceleration can be calculated by solving kinematic or dynamic equations. Based on the structural parameters of the humanoid robot and the geometric dimensions of the object, the system can establish an appropriate coordinate system and describe the object's motion equations within this coordinate system.

[0056] To calculate an object's acceleration in the horizontal, vertical, and vertical directions based on its displacement and velocity, the system employs the following method: In the pressure-center-of-gravity coordinate system, the object's displacement and velocity vectors are transformed to obtain the displacement and velocity components in the horizontal, vertical, and vertical directions; the velocity component in each direction is numerically differentiated to obtain the corresponding acceleration component; and the acceleration components in the three directions are combined into an acceleration vector, which serves as an estimate of the object's acceleration. This process essentially decomposes the object's motion in three dimensions, facilitating subsequent mechanical analysis.

[0057] S203, calculating the magnitude of the inertial force according to the acceleration and the mass of the object; This step uses Newton's second law to estimate the inertial force acting on an object based on its acceleration and mass. Inertial force is what keeps an object in uniform linear motion and affects the control of the humanoid robot during human-robot collaboration. Accurately estimating the magnitude of inertial force is key to achieving stable and safe collaborative control. The system can estimate the object's mass based on its material, shape, and size, or it can estimate mass parameters online using an identification algorithm.

[0058] The system calculates the magnitude of the inertial force based on the acceleration and the mass of the object. Specifically, the following formula can be used: considering the object as a point mass, the magnitude of the inertial force it is subjected to is equal to the product of its mass and the acceleration vector; if the mass distribution of the object is uneven, the influence of its center of mass position and moment of inertia on the inertial force must also be considered; the system can establish an inertial parameter model of the object and adaptively estimate the model parameters through parameter identification methods such as least squares method and recursive least squares method; after obtaining the inertial parameters, they are multiplied by the acceleration vector to obtain the magnitude of the inertial force acting on the object.

[0059] S204, adding the magnitude of the inertia force to the calculation of the joint output torque; The system adds the magnitude of the inertia force to the calculation of the joint output torque, specifically including: calculating the distance from each joint position to the pressure center of gravity coordinate; multiplying the magnitude of the inertia force by the distance to obtain the correction torque; distributing the correction torque to each joint according to the Jacobian matrix of each joint; and using the correction torque distributed to each joint to correct the joint output torque to obtain the corrected joint output torque.

[0060] This step incorporates the estimated inertial force into the humanoid robot's control process, compensating for its effects by modifying the joint output torque. This measure can improve the stability and control accuracy of the human-robot collaboration process, especially under conditions such as high speeds, heavy loads, and emergency braking. The system can employ a feedforward compensation method based on a dynamic model to convert inertial forces into joint torques, which can be connected in parallel with conventional joint controllers.

[0061] The system incorporates the magnitude of the inertial force into the calculation of the joint output torque. This involves calculating the distance from each joint position to the pressure center of gravity coordinates; multiplying the inertial force by the distance to obtain a correction torque; distributing the correction torque to each joint according to its Jacobian matrix; and using the correction torque distributed to each joint to correct the joint output torque to obtain the corrected joint output torque. This process essentially maps the additional torque caused by the inertial force into the joint space, achieving compensation for the controller output.

[0062] When implementing a control strategy based on inertia compensation in an actual system, the compensation torque amplitude may be excessive, exceeding the tolerance of the robot joints. This often occurs when the compensation parameters are improperly set or when the robot's motion state changes dramatically. To prevent this from causing damage to the robot hardware or control instability, the system can limit the amplitude of the correction torque to within the allowable range of the robot's joint torque. Furthermore, the system can adaptively adjust the proportional coefficient of the compensation torque based on the current motion state, appropriately reducing the compensation ratio at high speeds and increasing it at low speeds. This adaptive compensation strategy maximizes the effectiveness of inertia compensation while ensuring control stability.

[0063] S205, calculating the corrected pressure center of gravity coordinates corresponding to the corrected joint output torque; This step re-estimates the stability of the humanoid robot's contact with the object after inertia compensation is introduced. Because inertia compensation alters the robot's actual control output, thus affecting the position of the pressure center of gravity, it is necessary to predict and analyze the corrected pressure center of gravity position. The system uses the robot's forward kinematics model to map the joint output torques to the operating space, obtaining the corrected resultant force application point, which is the corrected pressure center of gravity coordinate.

[0064] Specifically, the system calculates the corrected pressure center of gravity coordinates corresponding to the corrected joint output torque using the following method: First, the corrected joint torque is substituted into the robot's dynamic equations to calculate the angular acceleration of each joint. Then, using numerical integration, the angular acceleration is integrated to obtain the joint angular velocity and joint angle. Next, the joint angle is substituted into the robot's forward kinematics equations to calculate the position and posture of the robot's end effector. Finally, the corrected pressure center of gravity coordinates are calculated based on the end effector's posture and contact point parameters. This process is essentially a cascade of inverse dynamics and forward kinematics calculations.

[0065] S206: When the corrected pressure center of gravity coordinates exceed a preset stable range, reduce the inertial force according to a preset ratio.

[0066] When the corrected pressure center of gravity coordinates exceed the preset stable range, the system reduces the inertial force according to a preset ratio, specifically including: calculating the distance that the corrected pressure center of gravity coordinates deviate from the center of the preset stable range; dividing the distance by the radius of the preset stable range to obtain the scaling ratio; and multiplying the inertial force by 1 and the difference between the scaling ratio to obtain the reduced inertial force.

[0067] This step ensures stability during the inertia compensation process. Because inertia compensation can cause significant shifts in the pressure center of gravity, it can shift the pressure center of gravity into unstable areas, potentially leading to robot instability or decreased control performance. To prevent this, the system needs to establish a stability criterion to monitor and correct the pressure center of gravity coordinates in real time, limiting inertia compensation when it exceeds a safe range.

[0068] When the corrected pressure center of gravity coordinates exceed the preset stability range, the system reduces the inertial force by a preset ratio. This involves calculating the distance the corrected pressure center of gravity coordinates deviate from the center of the preset stability range; dividing this distance by the radius of the preset stability range to obtain the scaling ratio; and multiplying the inertial force by 1 and the difference between the scaling ratio to obtain the reduced inertial force. This method, by introducing a proportional coefficient related to the degree of deviation, achieves adaptive adjustment of inertial force compensation, maintaining the compensation effect when the pressure center of gravity deviates slightly, while rapidly reducing the compensation amplitude when the deviation is larger.

[0069] In the specific implementation, the selection of the preset stability range and the setting of the scaling ratio are two key factors. The size of the stability range determines the effective working range of the inertia force compensation, while the size of the scaling ratio determines the sensitivity of the compensation limit. If the stability range is set too small or the scaling ratio is too large, the inertia force compensation may be frequently restricted and fail to play its due role; conversely, if the stability range is too large or the scaling ratio is too small, the risk of instability may not be effectively suppressed. Therefore, the system needs to reasonably set the relevant parameters through simulation experiments or actual tests based on the structural characteristics of the robot and the stability requirements of the tasks performed. In addition, the system can also set multiple sets of stability range and scaling ratio parameters for different work scenarios to achieve segmented adaptive adjustment, further improving the stability and reliability of inertia force compensation.

[0070] In the above-described embodiment, the kinematic characteristics of the pressure center of gravity coordinates are calculated to obtain the acceleration of the object in three directions. The inertial force is then calculated in combination with the object's mass and added to the calculation of the joint output torque. This control method, which takes into account the influence of inertial force, can compensate for the dynamic forces generated during the object's motion, enabling the humanoid robot to better adapt to the dynamic characteristics of the object when carrying or manipulating it. This dynamic compensation of torque improves the control accuracy and stability of the humanoid robot when performing dynamic tasks, enabling the robot to perform actions more accurately.

[0071] The following describes the system in the embodiment of the present invention from the perspective of hardware processing. Figure 3 , which is a schematic diagram of the physical device structure of a humanoid robot control system provided in an embodiment of the present application.

[0072] It should be noted that Figure 3The structure of the system shown is only an example and should not limit the functions and scope of use of the embodiments of the present invention.

[0073] like Figure 3 As shown, the system includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes, such as the methods described in the above embodiments, based on programs stored in a read-only memory (ROM) 302 or programs loaded from a storage unit 308 into a random access memory (RAM) 303. RAM 303 also stores various programs and data required for system operation. CPU 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to bus 304.

[0074] The following components are connected to the I / O interface 305: an input section 306 including a camera, infrared sensor, and the like; an output section 307 including a liquid crystal display (LCD) and speakers; a storage section 308 including a hard disk and the like; and a communication section 309 including a network interface card such as a LAN (Local Area Network) card or a modem. The communication section 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the I / O interface 305 as needed. Removable media 311, such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, is installed in the drive 310 as needed, so that computer programs read from the media can be installed in the storage section 308 as needed.

[0075] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for executing the methods illustrated in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 309 and / or installed from removable media 311. When executed by the central processing unit (CPU) 301, the computer program performs the various functions defined in the present invention.

[0076] It should be noted that the computer-readable medium described in the embodiments of the present invention may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present invention, a computer-readable signal medium may include a data signal transmitted in baseband or as part of a carrier wave, which carries a computer-readable computer program. Such a propagated data signal may take any of a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof.

[0077] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions and operations of the systems, methods and computer program products according to various embodiments of the present invention. Each box in the flowchart or block diagram can represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the boxes can also occur in an order different from that marked in the accompanying drawings. For example, two boxes shown in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or can be implemented using a combination of dedicated hardware and computer instructions.

[0078] As another aspect, the present invention further provides a computer-readable storage medium, which may be included in the system described in the above embodiments, or may exist independently and not incorporated into the system. The storage medium carries one or more computer programs, and when executed by a processor of a system, the system implements the methods provided in the above embodiments.

[0079] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

[0080] As used in the above embodiments, the term “when…” may be interpreted as “if…” or “after…” or “in response to determining…” or “in response to detecting…”, depending on the context. Similarly, the phrases “upon determining…” or “if (stated condition or event) is detected” may be interpreted as “if determining…” or “in response to determining…” or “upon detecting (stated condition or event)” or “in response to detecting (stated condition or event)”, depending on the context.

[0081] In the above embodiments, all or part of the embodiments can be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, hard disk, tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive).

[0082] Those skilled in the art will appreciate that all or part of the process steps in the above-described method embodiments can be implemented by a computer program instructing the relevant hardware. The program can be stored in a computer-readable storage medium. When executed, the program can include the process steps in the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.

Claims

1. A method for controlling a humanoid robot, characterized in that: include: Collect pressure distribution data at the collaborative contact points between the humanoid robot and the human operator; Performing weighted calculation on the pressure distribution data to obtain the pressure center coordinates of the cooperative contact point; Constructing a time window sequence based on the pressure center of gravity coordinates, and obtaining the instantaneous velocity and acceleration of the pressure center of gravity through differential operation; calculating a magnitude and a direction of a resultant force applied by the human operator at the cooperative contact point based on the instantaneous velocity and the acceleration; Transmitting the magnitude and direction of the resultant force along the joint chain of the humanoid robot to obtain the instantaneous force state of each joint of the humanoid robot; Calculating the corresponding joint output torque according to the instantaneous force state of each joint; Controlling the joints of the humanoid robot to move in coordination with the joint output torque.

2. The method according to claim 1, characterized in that The step of transmitting the magnitude and direction of the resultant force along the joint chain of the humanoid robot to obtain the instantaneous force state of each joint of the humanoid robot specifically includes: Establishing a local coordinate system with the cooperative contact point as the origin, and expressing the magnitude and direction of the resultant force as a three-dimensional force vector in the local coordinate system; Calculating the three-dimensional position vector of each joint of the humanoid robot relative to the local coordinate system and the unit direction vector of the joint rotation axis; Obtaining an initial torque vector acting on each joint based on a cross product operation of the three-dimensional force vector and the three-dimensional position vector; Projecting the initial torque vector in the direction of the joint rotation axis of each joint to obtain the effective torque component of each joint; The instantaneous force state of each joint is calculated according to the proportional relationship between the effective torque component and the magnitude of the resultant force.

3. The method according to claim 1, characterized in that The calculating of the corresponding joint output torque according to the instantaneous stress state of each joint specifically includes: collecting the current angle and angular velocity of each joint of the humanoid robot; Calculating the expected angular acceleration of each joint using the deviation between the instantaneous force state and the current angle; Multiplying the angular velocity of each joint by a preset velocity damping coefficient to obtain a velocity damping torque; Superimposing the instantaneous force state and the velocity damping torque to obtain the basic output torque of each joint; The basic output torque is compensated according to the expected angular acceleration to obtain a joint output torque.

4. The method according to claim 1, wherein After controlling the joints of the humanoid robot to move in coordination according to the joint output torque, the method further includes: Calculating the displacement and velocity of the pressure center of gravity coordinates; Calculating the acceleration of the object in three directions: horizontal axis, longitudinal axis and vertical axis according to the displacement and the velocity; Calculating the magnitude of the inertial force according to the acceleration and the mass of the object; The magnitude of the inertial force is added to the calculation of the joint output torque.

5. The method according to claim 4, characterized in that The step of adding the magnitude of the inertial force to the calculation of the joint output torque specifically includes: Calculating the distance from each joint position to the pressure center of gravity coordinates; Multiplying the magnitude of the inertial force by the distance to obtain a correction torque; Distributing the correction torque to each joint according to the Jacobian matrix of each joint; The joint output torque is corrected using the correction torque allocated to each joint to obtain a corrected joint output torque.

6. The method according to claim 4, characterized in that After adding the magnitude of the inertial force to the calculation of the joint output torque, the method further includes: Calculating the corrected pressure center of gravity coordinates corresponding to the corrected joint output torque; When the corrected pressure center of gravity coordinate exceeds a preset stable range, the inertial force is reduced according to a preset ratio.

7. The method according to claim 6, characterized in that Reducing the inertial force according to a preset ratio specifically includes: Calculating the distance that the corrected pressure center of gravity coordinate deviates from the center of the preset stable range; Dividing the distance by the radius of the preset stable range to obtain a scaling ratio; The reduced inertial force magnitude is obtained by multiplying the magnitude of the inertial force by 1 and the difference between the scaling ratio.

8. A humanoid robot control system, characterized in that: The system comprises: One or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to cause the system to execute the method according to any one of claims 1 to 7.

9. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed on a system, the system is caused to perform the method according to any one of claims 1 to 7.

10. A computer program product, characterized in that When the computer program product is run on a system, the system is caused to perform the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Floating base dynamic feedforward controlling method, device and multi-legged robot

    CN111558941A

  • Humanoid robot motion control method and system

    CN118528270A

  • Humanoid robot control method

    CN119871408A

  • Humanoid robot and its control method and computer readable storage medium

    US20210197367A1

  • Humanoid robot and its balance control method and computer readable storage medium

    US20220040857A1