A humanoid robot control method, system, storage medium, and program product

By collecting and analyzing pressure distribution data at the contact points between the humanoid robot and the human operator, calculating the pressure center of gravity and inertial force, and controlling joint movement, the problem of humanoid robots' inability to understand human intentions in existing technologies has been solved. This has enabled precise force matching and motion synchronization in human-robot collaboration, improving the safety and efficiency of collaborative tasks.

CN120645210BActive Publication Date: 2026-01-06QINGDAO HUWEI INNOVATION TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing vision-based humanoid robot control methods struggle to accurately understand and predict human behavioral intentions when collaborating with humans, leading to mismatched movement rhythms, reduced collaboration efficiency, and potential safety hazards.

Method used

By collecting pressure distribution data at the collaborative contact points between the humanoid robot and the human operator, calculating the coordinates of the pressure center of gravity, establishing a local coordinate system, calculating the instantaneous force state of each joint of the robot, and performing dynamic compensation based on inertial force, the coordinated movement of the joints is realized.

Benefits of technology

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

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120645210B_ABST
    Figure CN120645210B_ABST
Patent Text Reader

Abstract

A humanoid robot control method, system, storage medium and program product, in the method, the pressure distribution data is weighted and calculated to obtain the pressure barycenter coordinates of the cooperative contact point; a time window sequence is constructed based on the pressure barycenter coordinates, and the instantaneous velocity and acceleration of the pressure barycenter are obtained through difference operation; the size and direction of the resultant force exerted by the human operator at the cooperative contact point are calculated based on the instantaneous velocity and acceleration; the size and direction of the resultant force are transmitted along the joint chain of the humanoid robot to be converted to obtain the instantaneous force state of each joint of the humanoid robot; the corresponding joint output torque is calculated according to the instantaneous force state of each joint; and the joints of the humanoid robot are controlled to move cooperatively according to the joint output torque. The present application is used for accurately identifying and predicting the human cooperation intention, realizing accurate force matching and natural action synchronization in the human-machine cooperation process, so as to improve the safety and efficiency of the cooperation task.
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 Technology

[0002] With the rapid development of artificial intelligence technology, humanoid robots are increasingly being used in industrial production, medical services, and home care. Traditional humanoid robots often rely on preset action sequences for control when performing tasks, lacking real-time perception and adaptability to the environment. When faced with complex and ever-changing real-world scenarios, they are prone to problems such as uncoordinated movements and task failures.

[0003] In related technologies, a depth camera can be installed on the robot's head to acquire real-time 3D information about the surrounding environment. This information, combined with a pre-trained deep learning model, allows for semantic segmentation and target recognition of the scene, guiding the robot to adjust its motion trajectory and execution strategies in real time. This method significantly improves the adaptability and task completion rate of humanoid robots in unstructured environments.

[0004] However, existing vision-based control methods have limitations when faced with scenarios requiring close collaboration with humans. Because robots struggle to accurately understand and predict human intentions, mismatches in movement rhythms frequently occur during collaboration. For example, in collaborative tasks involving lifting heavy objects, robots may fail to promptly perceive the human's force and intentions, leading to inconsistent pushing and pulling forces or asynchronous movement trajectories. This reduces collaboration efficiency and may even pose safety hazards. Summary of the Invention

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

[0006] In one aspect, this application provides a humanoid robot control method that collects pressure distribution data at the collaborative contact points between the humanoid robot and the human operator;

[0007] The pressure distribution data is weighted and calculated to obtain the pressure centroid coordinates of the cooperative contact point;

[0008] 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 difference operations.

[0009] The magnitude and direction of the resultant force applied by the human operator at the point of contact are calculated based on instantaneous velocity and acceleration.

[0010] The magnitude and direction of the resultant force are transmitted along the joint chain of the humanoid robot, and the instantaneous force state of each joint of the humanoid robot is obtained.

[0011] Calculate the corresponding joint output torque based on the instantaneous force state of each joint;

[0012] Control the joints of the humanoid robot to move in coordination according to the joint output torque.

[0013] By employing the aforementioned technical solution, and by collecting pressure distribution data at 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. Through constructing a time window sequence and differential calculations, the kinematic characteristics of the pressure center of gravity can be obtained, thereby calculating the resultant force information applied by the human operator. This resultant force information is transmitted along the joint chain and converted into the force state of each joint, enabling the humanoid robot to perceive human intentions and respond accordingly. Based on the instantaneous force state of each joint, the output torque is calculated and the coordinated joint movement is controlled, allowing the humanoid robot to move smoothly according to the human operator's intentions. This human-robot interaction control method based on contact mechanics enables the humanoid robot to naturally follow the guidance of the human operator to complete corresponding actions, accurately identify and predict human collaborative intentions, and achieve precise force matching and natural motion synchronization during human-robot collaboration, thereby improving the safety and efficiency of collaborative tasks.

[0014] 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:

[0015] Establish a local coordinate system with the point of contact as the origin, and express the magnitude and direction of the resultant force as a three-dimensional force vector in the local coordinate system;

[0016] Calculate the three-dimensional position vectors of each joint of the humanoid robot relative to the local coordinate system and the unit direction vectors of the joint rotation axes;

[0017] The initial torque vectors acting on each joint are obtained by cross product operation of three-dimensional force vector and three-dimensional position vector;

[0018] The initial torque vector is projected onto the joint rotation axis of each joint to obtain the effective torque components of each joint;

[0019] The instantaneous force state of each joint is calculated based on the proportional relationship between the effective torque component and the magnitude of the resultant force.

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

[0021] In conjunction with some embodiments of the first aspect, in some embodiments, the corresponding joint output torque is calculated based on the instantaneous force state of each joint, specifically including:

[0022] Collect the current angles and angular velocities of each joint of the humanoid robot;

[0023] The desired angular acceleration of each joint is calculated by using the deviation between the instantaneous force state and the current angle.

[0024] Multiply the angular velocity of each joint by the preset velocity damping coefficient to obtain the velocity damping torque;

[0025] The instantaneous force state is superimposed with the velocity damping torque to obtain the basic output torque of each joint;

[0026] The joint output torque is obtained by compensating the base output torque based on the desired angular acceleration.

[0027] By employing the above technical solution, the desired angular acceleration is calculated based on the deviation between the instantaneous force state and the current angle. A velocity damping torque is then introduced to suppress joint oscillations, resulting in smoother joint movement. The instantaneous force state and the velocity damping torque are superimposed to obtain the basic output torque, which is then compensated for based on the desired angular acceleration to obtain the final joint output torque. This torque calculation method ensures that the joint can respond to the human operator's control intentions while suppressing oscillations during movement, thus improving the stability and coordination of the humanoid robot's motion.

[0028] 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:

[0029] Calculate the displacement and velocity of the pressure center of gravity coordinates;

[0030] Calculate the acceleration of an object in the horizontal, vertical, and longitudinal axes based on displacement and velocity;

[0031] Calculate the magnitude of the inertial force based on the acceleration and the mass of the object;

[0032] The magnitude of the inertial force is added to the calculation of the joint output torque.

[0033] By employing the above technical solution, the acceleration of the object in three directions is obtained by calculating the kinematic characteristics of the pressure center of gravity coordinates. Combined with the object's mass, the inertial force is calculated and then superimposed into the calculation of the joint output torque. This control method, which considers 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 object's dynamic characteristics when handling 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.

[0034] In conjunction with some embodiments of the first aspect, in some embodiments, the magnitude of the inertial force is superimposed into the calculation of the joint output torque, specifically including:

[0035] Calculate the distance from each joint position to the coordinates of the pressure center of gravity;

[0036] Multiplying the magnitude of the inertial force by the distance yields the corrected torque;

[0037] The corrective torque is distributed to each joint according to the Jacobian matrix of each joint;

[0038] The joint output torque is corrected by using the correction torque allocated to each joint to obtain the corrected joint output torque.

[0039] By employing the above technical solution, the distance from each joint position to the coordinates of the pressure center of gravity is calculated, and the magnitude of the inertial force is multiplied by the distance to obtain the corrected torque. Then, the Jacobian matrix of each joint is used to distribute the corrected torque to each joint. Finally, the corrected torque distributed to each joint is used to correct the joint output torque, enabling the system to accurately distribute the influence of inertial force to each joint. This allows for a more reasonable output torque of each joint during the humanoid robot's movement, improving the stability and smoothness of the humanoid robot's movement during collaboration with humans.

[0040] 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:

[0041] Calculate the corrected pressure center of gravity coordinates corresponding to the corrected joint output torque;

[0042] When the corrected pressure center of gravity coordinates exceed the preset stability range, the magnitude of the inertial force is reduced according to the preset ratio.

[0043] By adopting the above technical solution, the corrected pressure center coordinates corresponding to the corrected joint output torque are calculated, and it is determined whether they exceed the preset stability range. If they exceed the range, the magnitude of the inertial force is reduced according to the preset ratio. This can prevent the humanoid robot from deviating from the safe range due to excessive inertial force, so that the system can ensure motion stability while maintaining dynamic response capability.

[0044] In conjunction with some embodiments of the first aspect, in some embodiments, the magnitude of the inertial force is reduced according to a preset ratio, specifically including:

[0045] Calculate the distance by which the center of gravity of the corrected pressure deviates from the center of the preset stable range;

[0046] The scaling factor is obtained by dividing the distance by the radius of the preset stable range;

[0047] The difference between multiplying the magnitude of the inertial force by 1 and the scaling factor gives the reduced magnitude of the inertial force.

[0048] By adopting the above technical solution, the distance between the center of gravity coordinate of the corrected pressure and the center of the preset stable range is calculated, and the distance is divided by the radius of the preset stable range to obtain the scaling ratio. Then, the magnitude of the inertial force is multiplied by 1 and the difference between the scaling ratio, so as to achieve continuous and smooth adjustment of the magnitude of the inertial force, reduce the impact and vibration in the humanoid robot's movement, and improve the comfort and safety in the human-robot collaboration process.

[0049] In a second aspect, embodiments of this application provide a humanoid robot control system, which includes: one or more processors and a memory; the memory is coupled to one or more processors, and the memory is used to store computer program code, the computer program code including computer instructions, and the one or more processors call the computer instructions to cause the system to perform the method described in the first aspect and any possible implementation thereof.

[0050] Thirdly, embodiments of this application provide a computer-readable storage medium including instructions that, when executed on a system, cause the system to perform the method described in the first aspect and any possible implementation thereof.

[0051] Fourthly, embodiments of this application provide a computer program product that, when run on a system, causes the system to execute the method described in any possible implementation of the first aspect.

[0052] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:

[0053] 1. This application provides a humanoid robot control method. By collecting pressure distribution data at 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, enabling the humanoid robot to perceive human intentions and respond accordingly. Based on the instantaneous force state of each joint, the output torque is calculated and the joint coordinated movement is controlled, enabling the humanoid robot to move smoothly according to the human operator's intentions. This human-robot interaction control method based on contact mechanics enables the humanoid robot to naturally follow the guidance of the human operator to complete corresponding actions, accurately identify and predict human collaborative intentions, and achieve precise force matching and natural motion synchronization in the human-robot collaboration process, thereby improving the safety and efficiency of collaborative tasks.

[0054] 2. This application provides a humanoid robot control method. By calculating the kinematic characteristics of the pressure center of gravity coordinates, the acceleration of the object in three directions is obtained, and the inertial force is calculated in combination with the object's mass. This inertial force is then superimposed into the calculation of the joint output torque. This control method, which considers the influence of inertial force, can compensate for the dynamic forces generated during the object's movement, enabling the humanoid robot to better adapt to the object's dynamic characteristics when handling 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. Attached Figure Description

[0055] Figure 1 This is a flowchart illustrating a humanoid robot control method in an embodiment of this application.

[0056] Figure 2 This is another flowchart illustrating a humanoid robot control method in an embodiment of this application.

[0057] Figure 3 This is a schematic diagram of the physical device structure of a humanoid robot control system provided in an embodiment of this application. Detailed Implementation

[0058] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to include the plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this application refers to any or all possible combinations including one or more of the listed items.

[0059] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.

[0060] The following example is used in conjunction with Figure 1 The present application describes a humanoid robot control method according to an embodiment of the present application:

[0061] Please see Figure 1 This is a flowchart illustrating a humanoid robot control method in an embodiment of this application.

[0062] S101. Collect pressure distribution data at the collaborative contact points between the humanoid robot and the human operator;

[0063] In this step, the system uses an array of pressure sensors at the point of contact between the humanoid robot and the human operator to acquire real-time pressure distribution data in that area. The pressure sensor array can be a two-dimensional matrix array capable of collecting pressure values ​​at different locations to generate pressure distribution data. Besides using a pressure sensor array, the system can also employ other types of force sensors, such as resistive or capacitive pressure sensors, as long as they can acquire the pressure distribution data at the point of contact.

[0064] In practical applications, the system can be configured with pressure sensor arrays at specific parts of the humanoid robot (such as the palm or arm) based on its structural characteristics and the requirements of collaborative tasks. The resolution and sampling frequency of the sensor array can be set as needed to obtain sufficiently detailed and real-time pressure distribution data. Simultaneously, the system requires preprocessing of the sensor data, such as noise reduction and filtering, to improve data quality.

[0065] S102. Perform weighted calculations on the pressure distribution data to obtain the pressure centroid coordinates of the cooperative contact points;

[0066] After obtaining the pressure distribution data at the collaborative contact points, the system needs to process and analyze this data to extract key information. In this step, the system calculates the coordinates of the pressure center of gravity by performing a weighted calculation on the pressure distribution data. The pressure center of gravity reflects the overall pressure distribution and is an important characteristic quantity.

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

[0068] In practical applications, the system can assign different weights to pressure values ​​in different areas based on the characteristics of pressure distribution, thus highlighting 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 pressure distribution.

[0069] When calculating the pressure center of gravity coordinates, issues such as uneven pressure distribution and center of gravity position shift may occur. To address these problems, the system can incorporate optimization algorithms, such as least squares and Kalman filtering, to estimate and correct the pressure center of gravity coordinates. Simultaneously, the system can also combine the humanoid robot's motion state and the contextual information of the collaborative task to dynamically track and predict the pressure center of gravity coordinates, thereby improving the real-time performance and accuracy of control.

[0070] S103. Construct a time window sequence based on the coordinates of the pressure center of gravity, and obtain the instantaneous velocity and acceleration of the pressure center of gravity through difference operation;

[0071] After obtaining the coordinates of the pressure center of gravity at the collaborative contact point, the system needs to further analyze the dynamic changes of the pressure center of gravity to understand the operator's intentions and movement trends. In this step, the system constructs a time window sequence of the pressure center of gravity coordinates and performs differential operations on it to obtain the instantaneous velocity and acceleration of the pressure center of gravity.

[0072] Specifically, the system can arrange continuous pressure center of gravity coordinates in chronological order to form a time window sequence. Each time window contains pressure center of gravity coordinate data for a given period. By performing a difference operation on the pressure center of gravity coordinates of adjacent time windows, the displacement of the pressure center of gravity during that time period can be obtained. Dividing the displacement by the time interval yields the instantaneous velocity of the pressure center of gravity. Similarly, by performing a difference operation on the instantaneous velocities of adjacent time windows and dividing by the time interval, the instantaneous acceleration of the pressure center of gravity can be obtained.

[0073] S104. Calculate the magnitude and direction of the resultant force applied by the human operator at the point of contact based on instantaneous velocity and acceleration;

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

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

[0076] F = m * a

[0077] Where a is the instantaneous acceleration of the pressure center of gravity.

[0078] The direction of the resultant force can be determined by the vector relationship between instantaneous velocity and acceleration. Generally, the direction of the resultant force is the same as the direction of the acceleration vector. However, in some special cases (such as when the directions of velocity and acceleration are not the same), it is necessary to consider the combined effect of velocity and acceleration. The system can calculate the components of the resultant force in different directions using vector decomposition and composition methods, thereby obtaining the final direction of the resultant force.

[0079] S105. Transmit 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.

[0080] The system transmits the magnitude and direction of the resultant force along the joint chain of the humanoid robot, converting them into the instantaneous force state of each joint. Specifically, this includes: establishing a local coordinate system with the cooperative contact point as the origin, and representing the magnitude and direction of the resultant force as three-dimensional force vectors in the local coordinate system; calculating the three-dimensional position vectors of each joint of the humanoid robot relative to the local coordinate system and the unit direction vectors of the joint rotation axes; obtaining the initial torque vectors acting on each joint based on the cross product operation of the three-dimensional force vectors and the three-dimensional position vectors; projecting the initial torque vectors onto the joint rotation axis directions of each joint to obtain the effective torque components of each joint; and calculating the instantaneous force state of each joint based on the proportional relationship between the effective torque components and the magnitude of the resultant force.

[0081] This step calculates the instantaneous forces acting 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 be solved using forward or backward recursive methods, or based on classical robot dynamics methods such as the Jacobian matrix or Lagrange equations. The choice of specific method depends on factors such as the robot's configuration, computational resources, and real-time requirements.

[0082] The system transmits the magnitude and direction of the resultant force along the joint chain of the humanoid robot, transforming it into the instantaneous force state of each joint. Specifically, this includes: establishing a local coordinate system with the cooperative contact point as the origin, and representing the magnitude and direction of the resultant force as three-dimensional force vectors in the local coordinate system; calculating the three-dimensional position vectors of each joint relative to the local coordinate system and the unit direction vectors of the joint rotation axes; obtaining the initial torque vectors acting on each joint based on the cross product of the three-dimensional force vectors and the three-dimensional position vectors; projecting the initial torque vectors onto the joint rotation axes of each joint to obtain the effective torque components of each joint; and calculating the instantaneous force state of each joint based on the proportional relationship between the effective torque components and the magnitude of the resultant force. This process comprehensively utilizes spatial mechanics tools such as coordinate transformation and vector calculation, forming a complete method for calculating the forces acting on each joint.

[0083] S106. Calculate the corresponding joint output torque based on the instantaneous force state of each joint;

[0084] The system calculates the corresponding joint output torque based on the instantaneous force state of each joint. Specifically, this includes: acquiring the current angle and angular velocity of each joint of the humanoid robot; calculating the desired 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 the velocity damping torque; superimposing the instantaneous force state and the velocity damping torque to obtain the basic output torque of each joint; and compensating the basic output torque according to the desired angular acceleration to obtain the joint output torque.

[0085] The purpose of this step is to determine the required torque output by each joint motor to achieve the desired motion state. The core here is to design a mapping function from instantaneous force to output torque, comprehensively considering factors such as accuracy, stability, and real-time performance. Common methods include calculation methods based on dynamic models and adjustment methods based on feedback control, as well as combinations of both. The system can flexibly select and adjust the method used based on the characteristics of the control task and hardware conditions.

[0086] The system calculates the corresponding joint output torque based on the instantaneous force state of each joint. Specifically, this includes: acquiring the current angle and angular velocity of each joint of the humanoid robot; calculating the desired 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 the velocity damping torque; superimposing the instantaneous force state and the velocity damping torque to obtain the basic output torque of each joint; and compensating the basic 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, and is a relatively typical method for calculating output torque.

[0087] S107. Control the joints of the humanoid robot to move in coordination according to the joint output torque.

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

[0089] When implementing coordinated joint motion control, the system needs to address the coupling and interference issues between multiple joint degrees of freedom. To address this, the system can introduce a feedforward compensation mechanism to predict coupling and interference torques based on the dynamic model and cancel them out during control. Alternatively, the system can employ decoupling control methods based on joint space or manipulator space, simplifying the originally coupled multi-joint control into a series of independent single-joint control problems. While meeting motion requirements, the system can utilize optimal control theory to optimize the motion trajectory of each joint, achieving a balance between stability, accuracy, and energy efficiency. Simultaneously, the system should incorporate safety protection measures to monitor and limit the position, velocity, and torque of joint movements to prevent dangerous actions.

[0090] In the above embodiments, by collecting pressure distribution data at 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, enabling the humanoid robot to perceive human intentions and respond accordingly. Based on the instantaneous force state of each joint, the output torque is calculated and the joint coordinated movement is controlled, allowing the humanoid robot to move smoothly according to the human operator's intentions. This human-machine interaction control method based on contact mechanics enables the humanoid robot to naturally follow the guidance of the human operator to complete corresponding actions, accurately identify and predict human collaborative intentions, and achieve precise force matching and natural synchronization of actions in the human-machine collaboration process, thereby improving the safety and efficiency of collaborative tasks.

[0091] In actual human-robot collaboration, when a humanoid robot moves in response to guidance from a human operator, the inertia of the robot itself and the object being manipulated may affect the stability and safety of the collaboration. The following section will combine... Figure 2 Another humanoid robot control method in the embodiments of this application is described below:

[0092] Please see Figure 2This is another flowchart illustrating a humanoid robot control method in an embodiment of this application.

[0093] S201. Calculate the displacement and velocity of the pressure center of gravity coordinates;

[0094] The displacement of the pressure center of gravity reflects the geometric characteristics of the motion, while the velocity reflects the dynamic characteristics. Various numerical differentiation methods can be used to calculate displacement and velocity, such as forward difference, central difference, and least squares fitting. The choice of method requires a trade-off between computational efficiency, numerical stability, and noise sensitivity.

[0095] The system calculates the displacement and velocity of the pressure center of gravity coordinates using the following method: A sliding window processing method is applied to the pressure center of gravity coordinate sequence. Within each window, a least-squares polynomial fitting method is used to obtain a function expression of the pressure center of gravity coordinates with respect to time. The first and second derivatives of this function expression are calculated 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 time series to obtain a complete sequence of pressure center of gravity velocity and acceleration. This method utilizes the good smoothness and analytical properties of polynomial functions to suppress the influence of data noise.

[0096] S202. Calculate the acceleration of the object in the three directions of horizontal axis, vertical axis and vertical axis based on displacement and velocity;

[0097] The purpose of this step is to further estimate the motion state of the manipulated object, providing necessary information for subsequent calculations of inertial forces. Given the displacement of the pressure center of gravity and the velocity, the object's acceleration can be obtained by solving kinematic or dynamic equations. The system can establish an appropriate coordinate system based on the structural parameters of the humanoid robot and the object's geometric dimensions, and describe the object's motion equations within that coordinate system.

[0098] To calculate the acceleration of an object in the horizontal, vertical, and axial directions based on displacement and velocity, the system can employ the following method: In the pressure center-of-gravity coordinate system, perform coordinate transformation on the object's displacement and velocity vectors to obtain the displacement and velocity components in the three directions; numerically differentiate the velocity component in each direction to obtain the corresponding acceleration component; combine the acceleration components in the three directions into an acceleration vector as an estimate of the object's acceleration. This process essentially decomposes the object's motion into three-dimensional space, facilitating subsequent mechanical analysis.

[0099] S203. Calculate the magnitude of the inertial force based on the acceleration and the mass of the object;

[0100] This step utilizes 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 the inertial force is crucial for 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 the mass parameters online using an identification algorithm.

[0101] The system calculates the magnitude of the inertial force based on acceleration and the object's mass, specifically using the following formula: Treating the object as a point mass, the magnitude of the inertial force is equal to the product of its mass and acceleration vector. If the object's mass distribution is non-uniform, 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 using parameter identification methods such as least squares and recursive least squares. After obtaining the inertial parameters, multiplying them by the acceleration vector yields the magnitude of the inertial force acting on the object.

[0102] S204. Add the magnitude of the inertial force to the calculation of the joint output torque;

[0103] The system incorporates the magnitude of inertial force into the calculation of joint output torque, specifically including: calculating the distance from each joint position to the coordinate of the pressure center of gravity; multiplying the magnitude of the inertial force by the distance to obtain the corrected torque; distributing the corrected torque to each joint according to the Jacobian matrix of each joint; and using the corrected torque distributed to each joint to correct the joint output torque, thereby obtaining the corrected joint output torque.

[0104] This step introduces the estimated inertial force into the humanoid robot's control process, compensating for its influence by correcting the joint output torque. This measure improves the stability and control accuracy of the human-robot collaboration process, especially under conditions of high speed, heavy load, and emergency braking. The system can employ a feedforward compensation method based on a dynamic model to convert the inertial force into joint torque, which is then connected in parallel with a conventional joint controller.

[0105] The system incorporates the magnitude of inertial force into the calculation of joint output torque. Specifically, this includes: calculating the distance from each joint position to the coordinates of the pressure center of gravity; multiplying the magnitude of the inertial force by the distance to obtain the corrected torque; distributing the corrected torque to each joint according to their Jacobian matrix; and using the corrected torque distributed to each joint to correct the joint output torque, resulting in the corrected joint output torque. Essentially, this process maps the additional torque caused by inertial force to the joint space, thereby compensating for and correcting the controller output.

[0106] When introducing a control strategy based on inertial force compensation into a practical system, the problem of excessively large compensation torque amplitude exceeding the robot joint's tolerance may arise. This typically occurs when compensation parameters are improperly set or when the robot's motion state changes drastically. To avoid this situation leading to robot hardware damage or control instability, the system can limit the amplitude of the correction torque, restricting it within the allowable range of robot joint torque. Simultaneously, the system can adaptively adjust the proportional coefficient of the compensation torque based on the current motion state, appropriately decreasing the compensation ratio during high-speed robot movement and appropriately increasing the compensation ratio during low-speed movement. This adaptive compensation strategy can maximize the role of inertial force compensation while ensuring control stability.

[0107] S205. Calculate the corrected pressure centroid coordinates corresponding to the corrected joint output torque;

[0108] This step involves re-estimating the stability of the humanoid robot's contact state with the object after introducing inertial force compensation. Since inertial force 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 can utilize 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.

[0109] The system can specifically calculate the corrected pressure center of gravity coordinates corresponding to the corrected joint output torque using the following method: First, substitute the corrected joint torque into the robot's dynamic equations to calculate the angular acceleration of each joint; then, use numerical integration to integrate the angular acceleration to obtain the joint angular velocity and joint angle; next, substitute the joint angles into the robot's forward kinematics equations to calculate the position and orientation of the robot's end effector; finally, calculate the corrected pressure center of gravity coordinates based on the end effector's pose and contact point parameters. This process is essentially a cascade calculation of robot inverse dynamics and forward kinematics.

[0110] S206. When the corrected pressure center of gravity coordinates exceed the preset stable range, the magnitude of the inertial force is reduced according to the preset ratio.

[0111] When the corrected pressure center of gravity coordinates exceed the preset stability range, the system reduces the magnitude of the inertial force according to a preset ratio. Specifically, this includes: calculating the distance between the corrected pressure center of gravity coordinates and the center of the preset stability range; dividing the distance by the radius of the preset stability range to obtain the scaling ratio; and multiplying the magnitude of the inertial force by 1 and the difference between the scaling ratio to obtain the reduced magnitude of the inertial force.

[0112] This step involves stability protection during the inertial force compensation process. Since inertial force compensation can cause significant changes in the position of the pressure center of gravity, it may shift the pressure center of gravity to an unstable region, potentially leading to robot instability or decreased control performance. To avoid this, the system needs to establish a stability criterion to monitor and correct the pressure center of gravity coordinates in real time, promptly limiting inertial force compensation when they exceed a safe range.

[0113] When the corrected pressure center of gravity coordinates exceed the preset stability range, the system reduces the magnitude of the inertial force according to a preset ratio. Specifically, this involves: calculating the distance the corrected pressure center of gravity coordinates deviate from the center of the preset stability range; dividing the distance by the radius of the preset stability range to obtain the scaling ratio; and multiplying the magnitude of the inertial force by 1 and obtaining the difference between the result and the scaling ratio to obtain the reduced magnitude of the inertial force. This method, by introducing a scaling factor related to the degree of deviation, achieves adaptive adjustment of the inertial force compensation, maintaining the compensation effect when the pressure center of gravity deviation is small, while rapidly reducing the compensation magnitude when the deviation is large.

[0114] In practical 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 inertial force compensation, while the size of the scaling ratio determines the sensitivity of the compensation limitation. If the stability range is set too small or the scaling ratio is too large, inertial force compensation may be frequently limited, failing to play its due role; conversely, if the stability range is too large or the scaling ratio is too small, it may not be able to effectively suppress the risk of instability. Therefore, the system needs to reasonably set relevant parameters through simulation experiments or actual tests, based on the structural characteristics of the robot and the stability requirements of the task being performed. In addition, the system can also set multiple sets of stability range and scaling ratio parameters for different working scenarios to achieve segmented adaptive adjustment, further improving the stability and reliability of inertial force compensation.

[0115] In the above embodiments, the acceleration of the object in three directions is obtained by calculating the kinematic characteristics of the pressure center of gravity coordinates, and the inertial force is calculated in combination with the object's mass. This inertial force is then superimposed into the calculation of the joint output torque. This control method, which considers the influence of inertial force, can compensate for the dynamic forces generated during the object's movement, enabling the humanoid robot to better adapt to the object's dynamic characteristics when handling 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.

[0116] The system in the embodiments of this invention is described below from the perspective of hardware processing. Please refer to [link / reference needed]. Figure 3 This is a schematic diagram of the physical device structure of a humanoid robot control system provided in an embodiment of this application.

[0117] It should be noted that, Figure 3The structure of the system shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0118] like Figure 3 As shown, the system includes a Central Processing Unit (CPU) 301, which can perform various appropriate actions and processes based on a program stored in Read-Only Memory (ROM) 302 or a program loaded from storage portion 308 into Random Access Memory (RAM) 303, such as executing the methods described in the above embodiments. The RAM 303 also stores various programs and data required for system operation. The CPU 301, ROM 302, and RAM 303 are interconnected via a bus 304. An Input / Output (I / O) interface 305 is also connected to the bus 304.

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

[0120] 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 containing computer programs for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 309, and / or installed from removable medium 311. When the computer program is executed by central processing unit (CPU) 301, it performs the various functions defined in the present invention.

[0121] It should be noted that the computer-readable medium shown in the embodiments of the present invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can 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 a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, 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, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In the present invention, a computer-readable storage medium can 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 can include a data signal propagated in baseband or as part of a carrier wave, wherein a computer-readable computer program is carried. The transmitted data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof.

[0122] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0123] In another aspect, the present invention also provides a computer-readable storage medium, which may be included in the system described in the above embodiments; or it may exist independently and not assembled into the system. The storage medium carries one or more computer programs that, when executed by a processor of a system, cause the system to implement the methods provided in the above embodiments.

[0124] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

[0125] As used in the above embodiments, depending on the context, the term "when..." can be interpreted as "if...", "after...", "in response to determining...", or "in response to detecting...". Similarly, depending on the context, the phrase "when determining..." or "if (the stated condition or event) is interpreted as "if determining...", "in response to determining...", "when (the stated condition or event) is detected", or "in response to detecting (the stated condition or event)".

[0126] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially 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, all or part of the processes or functions described in the embodiments of this application are generated. 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, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access 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., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc.

[0127] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above 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 humanoid robot control method characterized by comprising: The method comprises the following steps: Collecting pressure distribution data of a collaborative contact point between a humanoid robot and a human operator; Performing weighted calculation on the pressure distribution data to obtain pressure barycenter coordinates of the collaborative contact point; Based on the pressure barycenter coordinates, a time window sequence is constructed, and the instantaneous velocity and acceleration of the pressure barycenter are obtained through difference operation; Based on the instantaneous velocity and acceleration, the size and direction of the resultant force exerted by the human operator on the collaborative contact point are calculated; The size and direction of the resultant force are transmitted along the joint chain of the humanoid robot, and the instantaneous force state of each joint of the humanoid robot is converted; According to the instantaneous force state of each joint, the corresponding joint output torque is calculated; The joints of the humanoid robot are controlled to move cooperatively according to the joint output torque.

2. The method of claim 1, wherein, The transmission of the size and direction of the resultant force along the joint chain of the humanoid robot and the conversion to obtain the instantaneous force state of each joint of the humanoid robot specifically comprise: A local coordinate system with the collaborative contact point as the origin is established, and the size and direction of the resultant force are expressed as a three-dimensional force vector in the local coordinate system; The three-dimensional position vector and the unit direction vector of the joint rotation axis of each joint of the humanoid robot relative to the local coordinate system are calculated; 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; The initial torque vector is projected 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 size of the resultant force, the instantaneous force state of each joint is calculated.

3. The method of claim 1, wherein, The calculation of the corresponding joint output torque according to the instantaneous force state of each joint specifically comprises: The current angle and angular velocity of each joint of the humanoid robot are collected; The expected angular acceleration of each joint is calculated using the deviation of the instantaneous force state and the current angle; The angular velocity of each joint is multiplied by a preset speed damping coefficient to obtain a speed damping torque; The instantaneous force state and the speed damping torque are superimposed 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.

4. The method of claim 1, wherein, After controlling the joints of the humanoid robot to move cooperatively according to the joint output torque, the method further comprises: The displacement and velocity of the pressure barycenter coordinates are calculated; According to the displacement and velocity, the acceleration of an object in three directions of the horizontal axis, the vertical axis and the vertical axis is calculated; According to the acceleration and the mass of the object, the size of the inertial force is calculated; The size of the inertial force is superimposed into the calculation of the joint output torque.

5. The method of claim 4, wherein, The superposition of the size of the inertial force into the calculation of the joint output torque specifically comprises: The distance from each joint position to the pressure barycenter coordinates is calculated; The size of the inertial force is multiplied by the distance to obtain a modified torque; The modified torque is distributed to each joint according to the Jacobian matrix of each joint; The joint output torque is modified by the modified torque distributed to each joint to obtain a modified joint output torque.

6. The method of claim 5, wherein, After the inertia force size is superimposed to the calculation of the joint output torque, the method further comprises: calculating a modified pressure center of gravity coordinate corresponding to the modified joint output torque; when the modified pressure center of gravity coordinate exceeds a preset stable range, reducing the inertia force size according to a preset proportion.

7. The method of claim 6, wherein, The reducing the inertia force size according to a preset proportion specifically comprises: calculating a distance of the modified pressure center of gravity coordinate from a center of the preset stable range; dividing the distance by a radius of the preset stable range to obtain a scaling proportion; multiplying the inertia force size by a difference between 1 and the scaling proportion to obtain a reduced inertia force size.

8. A humanoid robot control system characterized by, The system comprises: one or more processors and a memory; the memory is coupled with the one or more processors, the memory is used to store computer program code, the computer program code comprises computer instructions, and the one or more processors invoke the computer instructions to enable the system to execute the method in any one of claims 1-7.

9. A computer-readable storage medium comprising instructions, characterized in that, When the instructions run on the system, the system is enabled to execute the method in any one of claims 1-7.

10. A computer program product, characterised in that, When the computer program product runs on the system, the system is enabled to execute the method in any one of claims 1-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