Humanoid robot control method and device, computer equipment and storage medium

By adjusting the trajectory, force, and moment to keep the ZMP within the double support domain, the method addresses the stability issues in single-leg support for humanoid robots, enhancing their balance and preventing falls.

CN120315328APending Publication Date: 2025-07-15KEPLER ROBOT CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510305234.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-14
Publication Date
2025-07-15

AI Technical Summary

Technical Problem

In the prior art, humanoid robots have insufficient balance control when supporting single foot, resulting in a higher risk of tilting or falling.

Method used

By obtaining the expected zero moment point of the humanoid robot, determine whether it is in the support domain of the feet. If not, obtain the adjustment trajectory, adjustment force and adjustment torque, so that the robot can move to return to the support domain of the feet, and use the adjustment trajectory, adjustment force and adjustment torque to stabilize the balance of the robot.

Benefits of technology

It effectively prevents drifting of expected zero moment points, reduces the risk of robot tilting or falling, and improves the stability of the robot in complex terrain and resistance to external interference.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120315328A_ABST
    Figure CN120315328A_ABST
Patent Text Reader

Abstract

The invention relates to a humanoid robot control method and device, computer equipment and a storage medium. The method comprises the steps that an expected zero moment point of a humanoid robot is obtained; judging whether the expected zero moment point is in a double-foot supporting domain or not; if the expected zero moment point is not in the double-foot supporting domain, obtaining an adjusting track, an adjusting force and an adjusting moment; and enabling the humanoid robot to move according to the adjusting track, the adjusting force and the adjusting moment so as to enable the expected zero moment point to return to the double-foot supporting domain. Adjustment can be carried out when the expected zero moment point of the humanoid robot exceeds the two-foot supporting domain, and toppling of the humanoid robot is prevented.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robots, and particularly to a control method, device, computer device and storage medium for a humanoid robot. Background Art

[0002] Humanoid robots are a special type in the field of robots because their human-like walking mode has a high degree of environmental adaptability and high flexibility. Humanoid robots can walk stably on complex terrains without continuous trajectory movement, improving the accuracy and safety of operations. Their unique design conforms to the human living space and can be integrated into daily life and industrial needs without special modification. Therefore, the popularization of humanoid robots will have profound significance for life.

[0003] In the process of realizing the wide application and implementation of humanoid robots, the motion control of the robots is particularly crucial, which directly determines the stability and efficiency of the robots' motion ability. Most of the existing balance control methods are designed for bipedal robots, and there is insufficient balance control for humanoid robots when they are in single-leg support. Summary of the Invention

[0004] To solve the above technical problems or at least partially solve the above technical problems, the present invention provides a control method, device, computer device and storage medium for a humanoid robot.

[0005] In a first aspect, the present invention provides a control method for a humanoid robot, the method comprising:

[0006] Obtaining an expected zero moment point of the humanoid robot;

[0007] Judging whether the expected zero moment point is within the double-foot support area;

[0008] If the expected zero moment point is not within the double-foot support area, obtaining an adjustment trajectory, adjustment force and adjustment torque;

[0009] Making the humanoid robot move according to the adjustment trajectory, adjustment force and adjustment torque so that the expected zero moment point returns to within the double-foot support area.

[0010] Optionally, the judging whether the expected zero moment point is within the double-foot support area includes:

[0011] Obtaining the coordinates of the expected zero moment point in the ground coordinate system;

[0012] Obtaining the double-foot support area;

[0013] Judging whether the coordinates of the expected zero moment point in the ground coordinate system are within the double-foot support area.

[0014] Optionally, the coordinates of the desired zero moment point in the ground coordinate system are obtained as follows:

[0015]

[0016]

[0017] where are the coordinates of the desired zero moment point in the ground coordinate system, is the position of the desired zero moment point in the x - direction of the desired zero moment point, is the position of the desired zero moment point in the y - direction of the desired zero moment point, [x pg , y pg , z pg T is the centroid of the desired zero moment point in the ground coordinate system, is the centroid of the desired zero moment point in the ground coordinate system, are the coordinates of the desired zero moment point in the ground coordinate, k1, k2, and k3 are control coefficients, x1 is the centroid in the x - direction, y1 is the centroid in the y - direction, v x is the centroid velocity in the x - direction, v y is the centroid velocity in the y - direction, p x is the position of the actual zero moment point in the x - direction, p y is the position of the actual zero moment point in the x - direction.

[0018] Optionally, the obtaining of the double - foot support area includes:

[0019] Obtain the positions of the two feet of the humanoid robot;

[0020] According to the positions of the two feet of the humanoid robot, obtain a convex polygon;

[0021] According to the convex polygon, obtain a system of linear equations;

[0022] wherein, the system of linear equations constitutes the double - foot support area.

[0023] Optionally, the obtaining of the system of linear equations according to the convex polygon is performed as follows:

[0024] AX + B = Y

[0025] A = [a1, a2,..., a n

[0026] X = [x1, x2,..., x n T

[0027] B = [b1, b2,..., b n ​​​T

[0028] Y = [y1, y2,..., y n T

[0029] a i × x i + b i = y i

[0030] where i = 1, 2,..., n, and n is the total number of sides of the convex polygon.

[0031] Optionally, if the position of the desired zero moment point is not within the double - foot support area, obtaining an adjustment trajectory includes:

[0032] Obtaining the distances from the desired zero moment point to each side of the convex polygon;

[0033] Obtaining the adjustment trajectory according to the distances.

[0034] Optionally, obtaining the adjustment trajectory according to the distances is performed in the following manner:

[0035] P = [P0, P1,..., P n

[0036]

[0037] P i = P i-1 + d i × e i

[0038]

[0039] where P i is the i - th sampling point on the adjustment trajectory, is the desired zero moment point, d i is the distance from the desired zero moment point to the i - th side of the convex polygon, and i = 1, 2,..., n, where n is the total number of sides of the convex polygon.

[0040] Optionally, if the desired zero moment point is not within the double - foot support area, obtaining an adjustment force and an adjustment moment includes:

[0041] Obtaining the geometric center of the left - foot instep, the geometric center of the right - foot instep, the left - ankle position, and the right - ankle position;

[0042] Obtaining the geometric center of the instep according to the geometric center of the left - foot instep and the geometric center of the right - foot instep;

[0043] Obtaining the ankle position according to the left - ankle position and the right - ankle position;​​​

[0044] Obtain the distribution point according to the geometric center of the instep and the ankle position;

[0045] Obtain the adjustment force and the adjustment torque according to the distribution point and the acceleration.

[0046] Optionally, obtaining the geometric center of the instep according to the geometric center of the left instep and the geometric center of the right instep is done in the following manner:

[0047]

[0048] where P cg is the geometric center of the instep, is the geometric center of the left instep, is the geometric center of the right instep;

[0049] Obtaining the ankle position according to the left ankle position and the right ankle position is done in the following manner:

[0050]

[0051] where P ank is the ankle position, is the left ankle position, is the right ankle position;

[0052] Obtaining the distribution point according to the geometric center of the instep and the ankle position is done in the following manner:

[0053] P d = f(P cg , P ank )

[0054] where P d is the distribution point;

[0055] Obtaining the adjustment force and the adjustment torque according to the distribution point and the acceleration is done in the following manner:

[0056]

[0057] γ = f(Ql, Qr)

[0058] where f d is the total adjustment force, f l d is the left foot adjustment force, is the right foot adjustment force, M is the total mass of the robot, is the acceleration in the x - direction converted to the ground coordinate system, is the acceleration in the y - direction converted to the ground coordinate system, is the acceleration in the z - direction in the ground coordinate system, g is the acceleration due to gravity, and τ d is the total adjustment torque, is the left - foot adjustment torque, is the right - foot adjustment torque, γ is the weight ratio for left - and right - foot distribution, γ ∈ (0, 1), Ql is the distance from the desired zero - moment point to the left - foot distribution point, and Qr is the distance from the desired zero - moment point to the right - foot distribution point.

[0059] Second, a humanoid robot control device is provided. The device includes:

[0060] A zero - moment point acquisition unit for acquiring the desired zero - moment point of the humanoid robot;

[0061] A controller for determining whether the desired zero - moment point is within the double - foot support area;

[0062] The controller is further configured to, if the desired zero - moment point is not within the double - foot support area, acquire an adjustment trajectory, adjustment force, and adjustment torque;

[0063] An actuator for moving the humanoid robot according to the adjustment trajectory, adjustment force, and adjustment torque so that the desired zero - moment point returns to the double - foot support area.

[0064] Third, a computer device is provided, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the method described in any one of the above is implemented.

[0065] Fourth, a computer - readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the method described in any one of the above is implemented.

[0066] The present invention provides a humanoid robot control method, device, computer device, and storage medium. The method includes: acquiring the desired zero - moment point of the humanoid robot; determining whether the desired zero - moment point is within the double - foot support area; if the desired zero - moment point is not within the double - foot support area, acquiring an adjustment trajectory, adjustment force, and adjustment torque; moving the humanoid robot according to the adjustment trajectory, adjustment force, and adjustment torque so that the desired zero - moment point returns to the double - foot support area. In the embodiments of the present invention, when the desired zero - moment point is not within the double - foot support area, an adjustment trajectory, adjustment force, and adjustment torque are acquired to make the desired zero - moment point return to the double - foot support area, effectively preventing the drift of the desired ZMP, thereby reducing the risk of the robot tilting or falling. Description of the Drawings

[0067] The accompanying drawings here are incorporated into the specification and form a part of this specification, showing embodiments consistent with the present invention, and are used together with the specification to explain the principles of the present invention.

[0068] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the accompanying drawings required for use in the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0069] Figure 1 The following is an application environment diagram of the humanoid robot control method according to an embodiment of the present invention;

[0070] Figure 2 The following is a schematic flowchart of the humanoid robot control method according to an embodiment of the present invention;

[0071] Figure 3 The following is a schematic diagram of the double - foot support area according to an embodiment of the present invention;

[0072] Figure 4 The following is a schematic diagram of the double - foot support area according to an embodiment of the present invention;

[0073] Figure 5 The following is a schematic diagram of the adjustment point according to an embodiment of the present invention;

[0074] Figure 6 The following is a structural block diagram of the humanoid robot control device according to an embodiment of the present invention;

[0075] Figure 7 The following is an internal structure diagram of a computer device in an embodiment of the present invention. Detailed Embodiments

[0076] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of them. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present invention.

[0077] Figure 1 For an application environment diagram of the humanoid robot control method in one embodiment. Refer to Figure 1, the humanoid robot control method is applied to a humanoid robot control system. The humanoid robot control method includes a terminal 110 and / or a server 120. The terminal 110 and the server 120 are connected through a network. The terminal 110 can specifically be a desktop terminal or a mobile terminal, and the mobile terminal can specifically be at least one of a mobile phone, a tablet computer, a laptop computer, etc. The server 120 can be implemented by an independent server or a server cluster composed of multiple servers.

[0078] The humanoid robot control method of the present invention is applied to the terminal 110 and / or the server 120.

[0079] Such as Figure 2 shown, in one embodiment, a humanoid robot control method is provided. In this embodiment, the method is mainly illustrated by taking the method applied to the server 120 in the above Figure 1 as an example. Referring to Figure 2 , the humanoid robot control method includes:

[0080] Step 210, obtaining the desired zero moment point of the humanoid robot;

[0081] Step 220, determining whether the desired zero moment point is within the double support area;

[0082] Step 230, if the desired zero moment point is not within the double support area, then obtaining an adjustment trajectory, an adjustment force, and an adjustment moment;

[0083] Step 240, making the humanoid robot move according to the adjustment trajectory, the adjustment force, and the adjustment moment, so that the desired zero moment point returns to within the double support area.

[0084] The zero moment point (Zero Moment Point, abbreviated as ZMP) can refer to a point on the ground in the field of robotics, where the net moment generated by inertial force and gravity in the direction of the axis parallel to the ground is zero.

[0085] The ZMP is an important parameter for controlling the balance of the robot. In the embodiment of the present invention, the desired zero moment point can also be referred to as the predicted zero moment point, which refers to the zero moment point of the robot at the next moment or after the next period of time.

[0086] In the embodiment of the present invention, the adjustment trajectory, the adjustment force, and the adjustment moment refer to the adjustment trajectory of the center of mass of the humanoid robot, the adjustment force of the center of mass, and the adjustment moment of the center of mass. For the convenience of description, they are respectively abbreviated as the adjustment trajectory, the adjustment force, and the adjustment moment in the embodiment of the present invention.

[0087] In the embodiment of the present invention, when the desired zero moment point is not within the double - foot support area, an adjustment trajectory, an adjustment force, and an adjustment moment are obtained to return the desired zero moment point to within the double - foot support area, effectively preventing the drift of the desired ZMP, thereby reducing the risk of the robot tilting or falling.

[0088] In the embodiment of the present invention, step 220, the judgment of whether the desired zero moment point is within the double - foot support area includes:

[0089] Obtain the coordinates of the desired zero moment point in the ground coordinate system;

[0090] Obtain the double - foot support area;

[0091] Judge whether the coordinates of the desired zero moment point in the ground coordinate system are within the double - foot support area.

[0092] In the embodiment of the present invention, the obtaining of the coordinates of the desired zero moment point in the ground coordinate system is carried out in the following manner:

[0093]

[0094]

[0095] Among them, are the coordinates of the desired zero moment point in the ground coordinate system, is the position of the desired zero moment point in the x - direction of the desired zero moment point, is the position of the desired zero moment point in the y - direction of the desired zero moment point, [x pg , y pg , z pg T is the centroid of the desired zero moment point in the ground coordinate system, is the centroid of the desired zero moment point in the ground coordinate system, are the coordinates of the desired zero moment point in the ground coordinate, k1, k2, and k3 are control coefficients, x1 is the centroid in the x - direction, y1 is the centroid in the y - direction, v x is the centroid velocity in the x - direction, v y is the centroid velocity in the y - direction, p x is the actual zero - point moment point position in the x - direction, p y is the actual zero - point moment point position in the x - direction.

[0096] In the embodiment of the present invention, after obtaining the adjustment trajectory, the acceleration can also be obtained.

[0097] The acceleration is obtained in the following manner:

[0098]

[0099] ​

[0100] is the centroid acceleration, is the zero moment point, g is the acceleration due to gravity, h is the centroid height, and x2 is the centroid position. Here, x2 is the coordinate of the centroid position.

[0101] In an embodiment of the present invention, the obtaining of the two - foot support area includes:

[0102] Obtain the positions of the two feet of the humanoid robot;

[0103] According to the positions of the two feet of the humanoid robot, obtain a convex polygon;

[0104] According to the convex polygon, obtain a system of linear equations;

[0105] Among them, the system of linear equations constitutes the two - foot support area.

[0106] In an embodiment of the present invention, the positions of the two feet of the humanoid robot refer to the positions of the covered areas of the two feet of the humanoid robot on the ground, or may refer to the positions of the contact areas of the two feet of the humanoid robot on the ground, or may be the positions of the areas approximated from the irregular areas covered by the two feet of the humanoid robot on the ground.

[0107] A convex polygon means that if among all the sides of a polygon, when one side is extended infinitely in both directions to form a straight line, all other sides are on the same side of this straight line. A convex polygon can be referred to Figure 3 , Figure 4 and Figure 5 as shown.

[0108] In an embodiment of the present invention, the obtaining of the system of linear equations according to the convex polygon is carried out in the following manner:

[0109] AX + B = Y

[0110] A = [a1, a2,..., a n

[0111] X = [x1, x2,..., x n T

[0112] B = [b1, b2,..., b n T

[0113] Y = [y1, y2,..., y n T

[0114] a i ×x i ​​​​+b i = y i

[0115] where i = 1, 2, …… n, and n is the total number of sides of the convex polygon.

[0116] Figure 3 The following shows a schematic diagram of the double - foot support area of the embodiment of the present invention. As Figure 3 shown, 310 is the covered area of the left foot of the humanoid robot on the ground, and 320 is the covered area of the right foot of the humanoid robot on the ground. According to the corner points, sides of the covered area 310 and the corner points, sides of the right - foot covered area 320, the double - foot support area is constructed, such as Figure 3 the pentagon formed by the sides C1, C2, C3, C4, and C5 in

[0117] In practical applications, the covered area of the mechanical foot of the humanoid robot on the ground is usually a relatively regular rectangle, or a regular rectangle formed by piecing together multiple regular and / or irregular small areas. In some cases, the covered area of the mechanical foot of the robot on the ground can also be other irregular shapes. For irregular shapes, in the embodiment of the present invention, they can be equivalent to regular figures, such as equivalent to Figure 3 the rectangle in , or a triangle (not shown in the figure) or a pentagon (not shown in the figure), etc.

[0118] For the convenience of description, in the embodiment of the present invention, taking the covered area of the left foot of the humanoid robot on the ground as equivalent to the rectangle 310 and the covered area of the right foot of the humanoid robot on the ground as equivalent to the rectangle 320 as an example for illustration.

[0119] In the embodiment of the present invention, the stage where both feet of the humanoid robot are supported on the ground is described. At this time, the covered area of the left foot of the humanoid robot on the ground can also be directly regarded as the left foot of the humanoid robot, and the covered area of the right foot of the humanoid robot on the ground is also simply referred to as the robot's right foot.

[0120] In other embodiments of the present invention, the double - foot support area can also be other convex polygons. Figure 4 The following shows a schematic diagram of the double - foot support area of the embodiment of the present invention. Figure 3 As shown, it is a pentagon, Figure 4 as shown, it is a hexagon. The double - foot support areas with other numbers of sides will not be elaborated here.

[0121] The desired zero - moment point can be Figure 3 300 in

[0122] In the embodiment of the present invention, in step 230, if the position of the desired zero - moment point is not within the double - foot support area, then obtaining the adjustment trajectory includes:

[0123] Obtain the distances from the desired zero moment point to each side of the convex polygon;

[0124] Obtain the adjustment trajectory according to the distances.

[0125] In the embodiment of the present invention, the adjustment trajectory is obtained according to the distances in the following manner:

[0126] P = [P0, P1, …… P n

[0127]

[0128] P i = P i-1 + d i × e i

[0129]

[0130] wherein, P i is the i-th sampling point on the adjustment trajectory, is the desired zero moment point, d i is the distance from the desired zero moment point to the i-th side of the convex polygon, and i = 1, 2, …… n, where n is the total number of sides of the convex polygon.

[0131] Refer to Figure 3 shown, d1 is the distance to the side C1 of the pentagon.

[0132] When obtaining the adjustment trajectory, it is judged whether it converges according to the error amount ε, that is, it is judged whether the desired zero moment point has returned to the double support area through ε.

[0133] ε = ||P n - P n-1 ||

[0134] Usually, when ε < 0.001, it is considered to converge.

[0135] In the embodiment of the present invention, through the adjustment trajectory, the desired zero moment point of the robot can be gradually converged, the possibility of divergence can be reduced, its robustness can be enhanced, and the ability to resist external interference can be improved, preventing the humanoid robot from toppling.

[0136] In the embodiment of the present invention, if the desired zero moment point is not within the double support area, the adjustment force and adjustment moment are obtained, including:

[0137] Obtain the geometric center of the left foot surface, the geometric center of the right foot surface, the left ankle position and the right ankle position;

[0138] Obtain the geometric center of the foot surface according to the geometric center of the left foot surface and the geometric center of the right foot surface; ​

[0139] Obtain the ankle positions based on the left - foot ankle position and the right - foot ankle position;

[0140] Obtain the distribution points based on the geometric center of the instep and the ankle positions;

[0141] Obtain the adjustment force and the adjustment torque based on the distribution points and the acceleration.

[0142] In the embodiments of the present invention, to obtain the geometric center of the instep according to the geometric center of the left - foot instep and the geometric center of the right - foot instep, the following method is used:

[0143]

[0144] where P cg is the geometric center of the instep, is the geometric center of the left - foot instep, is the geometric center of the right - foot instep;

[0145] To obtain the ankle positions according to the left - foot ankle position and the right - foot ankle position, the following method is used:

[0146]

[0147] where P ank is the ankle position, is the left - foot ankle position, is the right - foot ankle position;

[0148] To obtain the distribution points according to the geometric center of the instep and the ankle positions, the following method is used:

[0149] P d = f(P cg , P ank )

[0150] where P d is the distribution point;

[0151] To obtain the adjustment force and the adjustment torque according to the distribution points and the acceleration, the following method is used:

[0152]

[0153] f l d = γ * f d

[0154]

[0155]

[0156] γ = f(Ql, Qr)

[0157] Among them, f d is the total adjustment force, and f l d is the adjustment force of the left foot, is the adjustment force of the right foot, M is the total mass of the robot, is the acceleration in the x-direction converted to the ground coordinate system, is the acceleration in the y-direction converted to the ground coordinate system, is the acceleration in the z-direction converted to the ground coordinate system, g is the acceleration due to gravity, and τ d is the total adjustment torque, is the adjustment torque of the left foot, is the adjustment torque of the right foot, γ is the weight ratio of the left and right foot distribution, γ ∈ (0, 1), Ql is the distance from the desired zero moment point to the left foot distribution point, and Qr is the distance from the desired zero moment point to the right foot distribution point.

[0158] Figure 5 The figure shows a schematic diagram of the adjustment points of the embodiment of the present invention. 511 is the geometric center of the left foot surface, 512 is the position of the left foot ankle, and 513 is the left foot distribution point. 521 is the geometric center of the right foot surface, 522 is the position of the right foot ankle, 523 is the right foot distribution point, and 500 is the desired ZMP.

[0159] In the embodiment of the present invention,

[0160] By adjusting γ, the weight ratio of the distribution between the left and right feet can be adjusted. When γ = 0 or γ = 1, it can be considered as single-foot landing.

[0161] The method of the embodiment of the present invention can obtain the adjustment forces and adjustment torques of the left and right feet, and the obtained adjustment forces and adjustment torques are more accurate. It can also optimize the target according to the task requirements, thus ensuring that the robot can stably obtain the ground reaction force and target-oriented optimal control, not only maintaining the balance state of the robot, but also performing small-scale control according to its task objectives.

[0162] As Figure 6 shown, the present invention also provides a humanoid robot control device, and the device includes:

[0163] A zero moment point acquisition unit 610 for acquiring the desired zero moment point of the humanoid robot;

[0164] A controller 620 for determining whether the desired zero moment point is within the double-foot support area;

[0165] The controller 620 is further configured to, if the desired zero moment point is not within the double-foot support area, acquire the adjustment trajectory, adjustment force, and adjustment torque;

[0166] An actuator 630 is used to move the humanoid robot according to the adjusted trajectory, adjusted force, and adjusted torque, so that the desired zero moment point returns to the double-foot support area.

[0167] In an embodiment of the present invention, the controller 620 is further configured to:

[0168] Obtain the coordinates of the desired zero moment point in the ground coordinate system;

[0169] Obtain the double-foot support area;

[0170] Determine whether the coordinates of the desired zero moment point in the ground coordinate system are within the double-foot support area.

[0171] In an embodiment of the present invention, the controller 620 is further configured to obtain the coordinates of the desired zero moment point in the ground coordinate system in the following manner:

[0172]

[0173]

[0174] Wherein, are the coordinates of the desired zero moment point in the ground coordinate system, is the position of the desired zero moment point in the x direction of the desired zero moment point, is the position of the desired zero moment point in the y direction of the desired zero moment point, [x pg , y pg , z pg T is the center of mass of the desired zero moment point in the ground coordinate system, is the center of mass of the desired zero moment point in the ground coordinate system, are the coordinates of the desired zero moment point in the ground coordinate, k1, k2, and k3 are control coefficients, x1 is the center of mass in the x direction, y1 is the center of mass in the y direction, v x is the center of mass velocity in the x direction, v y is the center of mass velocity in the y direction, p x is the position of the actual zero moment point in the x direction, p y is the position of the actual zero moment point in the x direction.

[0175] In an embodiment of the present invention, the controller 620 is further configured to:

[0176] Obtain the positions of the two feet of the humanoid robot;

[0177] Obtain a convex polygon according to the positions of the two feet of the humanoid robot;

[0178] Obtain a system of linear equations according to the convex polygon; ​

[0179] Among them, the system of linear equations constitutes the double-support area.

[0180] In an embodiment of the present invention, the controller 620 is further configured to:

[0181] In the following manner, the system of linear equations is obtained according to the convex polygon:

[0182] AX + B = Y

[0183] A = [a1, a2,..., a n

[0184] X = [x1, x2,..., x n T

[0185] B = [b1, b2,..., b n T

[0186] Y = [y1, y2,..., y n T

[0187] a i ×x i +b i =y i

[0188] Wherein, i = 1, 2,..., n, and n is the total number of sides of the convex polygon.

[0189] In an embodiment of the present invention, the controller 620 is further configured to:

[0190] Obtain the distances from the desired zero-moment point to each side of the convex polygon;

[0191] Obtain the adjustment trajectory according to the distances.

[0192] In an embodiment of the present invention, the controller 620 is further configured to:

[0193] In the following manner, obtain the adjustment trajectory according to the distances:

[0194] P = [P0, P1,..., P n

[0195]

[0196] P i = P i-1 +d i ×e i

[0197]

[0198] where P i is the i-th sampling point on the adjustment trajectory, is the desired zero-moment point, and d i is the distance from the desired zero-moment point to the i-th side of the convex polygon, where i = 1, 2, …… n, and n is the total number of sides of the convex polygon.

[0199] In an embodiment of the present invention, the controller 620 is further configured to:

[0200] Obtain the geometric center of the left foot instep, the geometric center of the right foot instep, the left ankle position, and the right ankle position;

[0201] Obtain the geometric center of the instep according to the geometric center of the left foot instep and the geometric center of the right foot instep;

[0202] Obtain the ankle position according to the left ankle position and the right ankle position;

[0203] Obtain the distribution point according to the geometric center of the instep and the ankle position;

[0204] Obtain the adjustment force and the adjustment moment according to the distribution point and the acceleration.

[0205] In an embodiment of the present invention, the controller 620 is further configured to:

[0206] Obtain the geometric center of the instep according to the geometric center of the left foot instep and the geometric center of the right foot instep in the following manner:

[0207]

[0208] where P cg is the geometric center of the instep, is the geometric center of the left foot instep, is the geometric center of the right foot instep;

[0209] Obtain the ankle position according to the left ankle position and the right ankle position in the following manner:

[0210]

[0211] where P ank is the ankle position, is the left ankle position, is the right ankle position;

[0212] Obtain the distribution point according to the geometric center of the instep and the ankle position in the following manner:

[0213] P d = f(P cg , P ank )

[0214] wherein, P d is the distribution point;

[0215] The adjustment force and the adjustment moment are obtained according to the distribution point and the acceleration in the following manner:

[0216]

[0217] f l d = γ * f d

[0218]

[0219] γ = f(Ql, Qr)

[0220] wherein, f d is the total adjustment force, f l d is the left - foot adjustment force, is the right - foot adjustment force, M is the total mass of the robot, is the acceleration in the x - direction converted to the ground coordinate system, is the acceleration in the y - direction converted to the ground coordinate system, is the acceleration in the z - direction converted to the ground coordinate system, g is the gravitational acceleration, τ d is the total adjustment moment, is the left - foot adjustment moment, is the right - foot adjustment moment, γ is the left - and - right - foot distribution weight ratio, γ ∈ (0, 1), Ql is the distance from the desired zero - moment point to the left - foot distribution point, and Qr is the distance from the desired zero - moment point to the right - foot distribution point.

[0221] The embodiments of the present invention can make adjustments when the desired zero - moment point of the humanoid robot exceeds the double - foot support area, preventing the humanoid robot from toppling over.

[0222] The embodiments of the present invention also provide a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the following method is implemented: obtaining the desired zero - moment point of the humanoid robot; determining whether the desired zero - moment point is within the double - foot support area; if the desired zero - moment point is not within the double - foot support area, then obtaining an adjustment trajectory, an adjustment force, and an adjustment moment; making the humanoid robot move according to the adjustment trajectory, the adjustment force, and the adjustment moment, so that the desired zero - moment point returns to the double - foot support area. The present invention can make adjustments when the desired zero - moment point of the humanoid robot exceeds the double - foot support area, preventing the humanoid robot from toppling over.

[0223] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the following method is implemented: obtaining the desired zero moment point of the humanoid robot; determining whether the desired zero moment point is within the double-foot support area; if the desired zero moment point is not within the double-foot support area, obtaining an adjustment trajectory, an adjustment force, and an adjustment torque; making the humanoid robot move according to the adjustment trajectory, the adjustment force, and the adjustment torque, so that the desired zero moment point returns to the double-foot support area. The present invention can make adjustments when the desired zero moment point of the humanoid robot exceeds the double-foot support area, preventing the humanoid robot from tipping over.

[0224] The above humanoid robot control method achieves the beneficial effect of being able to solve the technical problems proposed in the background art.

[0225] Figure 2 It is a schematic flowchart of the humanoid robot control method in an embodiment. It should be understood that although Figure 2 the steps in the flowchart are sequentially shown according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, Figure 2 at least a part of the steps in

[0226] Figure 7 may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same moment, but can be executed at different moments. The execution order of these sub-steps or stages is not necessarily sequential either, but can be executed alternately or in turn with at least a part of other steps or sub-steps or stages of other steps. Figure 1 as shown in Figure 7 shows the internal structure diagram of a computer device in an embodiment. The computer device can specifically be

[0227] Those skilled in the art can understand that Figure 7 the structure shown in Figure 7 is only a block diagram of some structures related to the solution of the present invention, and does not constitute a limitation on the computer device to which the solution of the present invention is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.

[0228] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a non-volatile computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database or other medium used in the embodiments provided by the present invention can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memories can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.

[0229] It should be noted that in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article or device including the said element.

[0230] The above are only specific embodiments of the present invention, enabling those skilled in the art to understand or implement the present invention. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to these embodiments shown herein, but rather to the broadest scope consistent with the principles and novel features claimed herein.

Claims

1. A method for controlling a humanoid robot, characterized in that, The method includes: Obtaining the desired zero moment point of the humanoid robot; Judging whether the desired zero moment point is within the double - foot support area; If the desired zero moment point is not within the double - foot support area, obtaining an adjustment trajectory, adjustment force, and adjustment torque; Making the humanoid robot move according to the adjustment trajectory, adjustment force, and adjustment torque so that the desired zero moment point returns to the double - foot support area.

2. The method according to claim 1, characterized in that, The judging whether the desired zero moment point is within the double - foot support area includes: Obtaining the coordinates of the desired zero moment point in the ground coordinate system; Obtaining the double - foot support area; Judging whether the coordinates of the desired zero moment point in the ground coordinate system are within the double - foot support area.

3. The method according to claim 2, wherein The obtaining the coordinates of the desired zero moment point in the ground coordinate system is carried out as follows: Among them, is the coordinate of the desired zero moment point in the ground coordinate system, is the position of the desired zero moment point in the x - direction of the desired zero moment point, is the position of the desired zero moment point in the y - direction of the desired zero moment point, [x pg , y pg , z pg T is the centroid of the desired zero moment point in the ground coordinate system, is the centroid of the desired zero moment point in the ground coordinate system, is the coordinate of the desired zero moment point in the ground coordinate, k1, k2, and k3 are control coefficients, x1 is the centroid in the x - direction, y1 is the centroid in the y - direction, v x is the centroid velocity in the x - direction, v y is the centroid velocity in the y - direction, p x is the position of the actual zero - point moment point in the x - direction, p y is the position of the actual zero - point moment point in the x - direction.​ 4. The method according to claim 2, wherein The obtaining the double - foot support area includes: Obtaining the positions of the two feet of the humanoid robot; Obtaining a convex polygon according to the positions of the two feet of the humanoid robot; Obtaining a linear equation system according to the convex polygon; Wherein, the linear equation system constitutes the double - foot support area.

5. The method according to claim 4, characterized in that, The obtaining the linear equation system according to the convex polygon is carried out as follows: AX + B = Y A = [a1, a2,..., a n ​ X = [x1, x2,..., x n T ​ B = [b1, b2,..., b n T ​ Y = [y1, y2,..., y n T ​ a i ×x i +b i =y i Where i = 1, 2, …… n, and n is the total number of sides of the convex polygon.

6. The method according to claim 4, characterized in that If the position of the desired zero moment point is not within the double - foot support area, obtaining the adjustment trajectory includes: Obtaining the distance from the desired zero moment point to each side of the convex polygon; Obtaining the adjustment trajectory according to the distance.

7. The method according to claim 6, wherein Obtaining the adjustment trajectory according to the distance is carried out as follows: P = [P0, P1, …… P n ​ P i = P i-1 + d i × e i Among them, P i is the i-th sampling point on the adjustment trajectory, is the desired zero-moment point, d i is the distance from the desired zero-moment point to the i-th side of the convex polygon, where i = 1, 2, …… n, and n is the total number of sides of the convex polygon.

8. The method according to claim 1, characterized in that If the desired zero moment point is not within the double - foot support area, obtaining the adjustment force and adjustment torque includes: Obtaining the geometric center of the left - foot instep, the geometric center of the right - foot instep, the left - ankle position, and the right - ankle position; Obtaining the geometric center of the instep according to the geometric center of the left - foot instep and the geometric center of the right - foot instep; Obtaining the ankle position according to the left - ankle position and the right - ankle position; Obtaining a distribution point according to the geometric center of the instep and the ankle position; Obtaining the adjustment force and the adjustment torque according to the distribution point and the acceleration.

9. The method according to claim 8, wherein The obtaining the geometric center of the instep according to the geometric center of the left - foot instep and the geometric center of the right - foot instep is carried out as follows: Among them, P cg is the geometric center of the instep, is the geometric center of the instep of the left foot, is the geometric center of the instep of the right foot; The obtaining the ankle position according to the left - ankle position and the right - ankle position is carried out as follows: Among them, P ank is the ankle position, is the left ankle position, is the right ankle position; The obtaining the distribution point according to the geometric center of the instep and the ankle position is carried out as follows: P d = f(P cg , P ank ) Among them, P d is the distribution point; The obtaining the adjustment force and the adjustment torque according to the distribution point and the acceleration is carried out as follows: f l d = γ * f d γ = f(Ql, Qr) Among them, f d is the total adjustment force, f l d is the left - foot adjustment force, is the right - foot adjustment force, M is the total mass of the robot, is the acceleration in the x - direction converted to the ground coordinate system, is the acceleration in the y - direction converted to the ground coordinate system, is the acceleration in the z - direction converted to the ground coordinate system, g is the gravitational acceleration, τ d is the total adjustment torque, is the left - foot adjustment torque, is the right - foot adjustment torque, γ is the weight distribution ratio between the left and right feet, γ ∈ (0, 1), Ql is the distance from the desired zero - moment point to the left - foot distribution point, and Qr is the distance from the desired zero - moment point to the right - foot distribution point.

10. A humanoid robot control device, characterized in that, The device includes: A zero - moment - point obtaining unit for obtaining the desired zero moment point of the humanoid robot; A controller for judging whether the desired zero moment point is within the double - foot support area; The controller is further used for obtaining an adjustment trajectory, adjustment force, and adjustment torque if the desired zero moment point is not within the double - foot support area; An actuator for making the humanoid robot move according to the adjustment trajectory, adjustment force, and adjustment torque so that the desired zero moment point returns to the double - foot support area.

11. A computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method according to any one of claims 1 to 9.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method according to any one of claims 1 to 9.

Citation Information

Cited By

  • All-humanoid robot motion redirection method and device based on motion capture equipment

    CN120921439A