Humanoid robot motion control method, system, medium, product and equipment
By constructing a rectangular coordinate system and calculating the slope of forward observation points, the error problem caused by the complexity of the humanoid robot motion control model is solved, and more accurate and stable posture control is achieved, and the application scope is broadened.
Patent Information
- Application Number
- CN202411729781.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2044-11-29
AI Technical Summary
The motion control model of existing humanoid robots is complex and prone to modeling errors, resulting in poor control stability and inability to effectively reach the target position.
The rectangular coordinate system is constructed, and the slope of the forward observation point is calculated based on the robot's control frequency, gait frequency and centroid projection, and controlled by the forward linear velocity to reduce the model modeling error and improve control accuracy and stability.
It realizes more precise posture control, improves the control accuracy and stability of humanoid robots, improves the motion control performance in complex environments, and reduces the demand for computing resources.
Smart Images

Figure CN119188792A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot control technology, and in particular to a humanoid robot motion control method, system, medium, product and equipment. Background Art
[0002] The statements in this section merely provide background art related to the present invention and do not necessarily constitute prior art.
[0003] A humanoid robot, also known as a bionic man or bipedal robot, is a robot designed to imitate human appearance and behavior. Humanoid robots have broad application prospects and can be applied to multiple fields such as the consumer market, commercial market, and industrial applications. How to control the motion of humanoid robots is currently a hot topic of research.
[0004] Motion control for humanoid robots often requires the construction of a motion control model. A kinematic model is a mathematical model that describes the relationship between a robot's motion state and motion parameters. Humanoid robots have a body structure and motion patterns similar to humans, so their kinematic models typically involve the kinematic relationships between multiple joints and linkages. These joints and linkages are interconnected through specific kinematic constraints to achieve the various motions of the humanoid robot.
[0005] However, most existing motion control models are relatively complex and prone to motion modeling errors. Such errors can easily cause the robot to fail to effectively reach the target position during the rapid movement of a real robot, and the control stability is poor. Summary of the Invention
[0006] In order to address the deficiencies of the prior art, the present invention provides a humanoid robot motion control method, system, medium, product and equipment, which reduces the impact of motion model modeling errors on robot control, can more accurately control the robot's posture, and improve control accuracy and stability.
[0007] In order to achieve the above object, the present invention adopts the following technical solutions: In a first aspect, the present invention provides a method for controlling motion of a humanoid robot.
[0008] A humanoid robot motion control method includes the following steps: Construct a rectangular coordinate system with the humanoid robot's forward direction as the X-axis and the horizontal direction perpendicular to the X-axis as the Y-axis. Based on the robot's control frequency, gait frequency, gait cycle, and the projection of the center of mass on the Y-axis at each sampling moment in the gait cycle, the actual position of the humanoid robot's center of mass projection in the current gait cycle is obtained. The forward observation point of the humanoid robot is used as the expected posture of the center of mass projection. The slope of the forward observation point is obtained according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection. The forward linear velocity of the humanoid robot is obtained according to the forward observation point slope. The humanoid robot is controlled according to the forward linear velocity to reach the position of the forward observation point.
[0009] As a further limitation of the first aspect of the present invention, the actual position of the center of mass projection of the humanoid robot in the current gait cycle is ( , , ), is the coordinate of the center of mass at time i projected on the X axis, , i is any time, K is the control frequency, is the gait frequency, is the gait cycle, is the yaw angle, is the coordinate of the center of mass at time i projected on the Y axis.
[0010] As a further limitation of the first aspect of the present invention, the forward observation point of the humanoid robot is ( ), then the slope of the forward observation point for: .
[0011] As a further limitation of the first aspect of the present invention, the forward linear velocity is: ,in, is the slope of the forward observation point, 、 and All are preset parameters. To find the absolute value of a function, Function used to solve of Power.
[0012] As a further limitation of the first aspect of the present invention, according to the forward linear velocity Get angular velocity : ,in, is the radius of curvature, , The forward observation distance is, )), ))represent and ), i is the yaw angle.
[0013] As a further limitation of the first aspect of the present invention, the control input of the humanoid robot includes: ; ; ; ;in, is the hip joint steering angle, is the yaw angle, is the sideslip angle, is the distance from the center of gravity to the robot's left hip joint, is the distance from the center of gravity to the robot's right hip joint, and They are the input positions in the X-axis and Y-axis directions respectively.
[0014] In a second aspect, the present invention provides a humanoid robot motion control system.
[0015] A humanoid robot motion control system, comprising: The posture solving unit is configured to: construct a rectangular coordinate system with the forward direction of the humanoid robot as the X-axis and the horizontal direction perpendicular to the X-axis as the Y-axis, and obtain the actual posture of the center of mass projection of the humanoid robot in the current gait cycle according to the control frequency, gait frequency, gait cycle, and the projection of the center of mass on the Y-axis at each sampling moment in the gait cycle; The motion control unit is configured to: use the forward observation point of the humanoid robot as the expected posture of the center of mass projection, obtain the slope of the forward observation point according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection, obtain the forward linear velocity of the humanoid robot according to the forward observation point slope, and control the humanoid robot according to the forward linear velocity to reach the position of the forward observation point.
[0016] In a third aspect, the present invention provides a computer device comprising: a processor and a computer-readable storage medium; a processor adapted to execute a computer program; A computer-readable storage medium having a computer program stored therein, wherein when the computer program is executed by the processor, the humanoid robot motion control method according to the first aspect of the present invention is implemented.
[0017] In a fourth aspect, the present invention provides a computer-readable storage medium storing a computer program, wherein the computer program is suitable for being loaded by a processor and executing the humanoid robot motion control method as described in the first aspect of the present invention.
[0018] In a fifth aspect, the present invention provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the humanoid robot motion control method as described in the first aspect of the present invention.
[0019] Compared with the prior art, the present invention has the following beneficial effects: The present invention innovatively uses the forward observation point of the humanoid robot as the expected posture of the center of mass projection, obtains the slope of the forward observation point according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection, obtains the forward linear velocity of the humanoid robot according to the forward observation point slope, and controls the humanoid robot according to the forward linear velocity to reach the forward observation point position, thereby reducing the impact of the motion model modeling error on the robot control, being able to more accurately control the posture of the robot, improving the control accuracy and stability, and improving the motion control performance of the bipedal robot in complex environments, so that it can perform tasks more accurately and stably, while reducing the demand for computing resources and broadening the application scope of humanoid robots.
[0020] Advantages of additional aspects of the present invention will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings, which constitute a part of the present invention, are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.
[0022] Figure 1 A schematic flow chart of a humanoid robot motion control method according to embodiment 1 of the present invention; Figure 2 A schematic diagram of a humanoid robot coordinate system provided in Example 1 of the present invention; Figure 3 A schematic diagram of a humanoid robot motion control system provided in Example 2 of the present invention; Figure 4 A schematic diagram of a computer device provided in Example 3 of the present invention. DETAILED DESCRIPTION
[0023] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0024] It should be noted that the following detailed descriptions are exemplary and intended to provide further explanation of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which the present invention belongs.
[0025] In the absence of conflict, the embodiments of the present invention and the features thereof may be combined with each other.
[0026] Example 1: This implementation proposes a humanoid robot motion control method, such as Figure 1 As shown, the following process is included: S1: Construct a rectangular coordinate system with the forward direction of the humanoid robot as the X-axis and the horizontal direction perpendicular to the X-axis as the Y-axis, such as Figure 2 As shown in the figure, based on the robot's control frequency, gait frequency, gait cycle, and the projection of the center of mass on the Y-axis at each sampling moment in the gait cycle, the actual position of the center of mass projection of the humanoid robot in the current gait cycle (i.e., the center of mass pose projection from a bird's-eye view) is obtained; S2: Take the forward observation point of the humanoid robot as the expected posture of the center of mass projection, obtain the slope of the forward observation point according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection, obtain the forward linear velocity of the humanoid robot according to the forward observation point slope, and control the humanoid robot according to the forward linear velocity to reach the position of the forward observation point.
[0027] like Figure 2 As shown, A and B are the robot hip joints; C is the projection position of the robot's center of mass; is the hip joint steering angle; is the yaw angle; is the sideslip angle, which is the angle between the velocity direction of the robot's center of gravity and its forward direction; is the distance from the center of gravity to the robot's left hip joint, is the distance from the center of gravity to the right hip joint of the robot.
[0028] In this implementation, the actual projection of the center of mass of the humanoid robot can be described as the average of the actual projection information in the Y-axis direction in a complete gait cycle. More specifically, the actual position of the center of mass projection of the humanoid robot in the current gait cycle is ( , , i ), is the coordinate in the X-axis direction: (1); Among them, i is any time, K is the control frequency, is the gait frequency, For the gait cycle.
[0029] In this implementation, the forward observation distance (a series of trajectory points at the expected position of the center of mass) is a fixed value or a value related to the speed, such as , the yaw angle is , then the forward observation distance for: ))(2); in, ))represent and )’s Euclidean distance; the forward observation point is ( ), the slope of the forward observation point is: (3).
[0030] In this example, the curvature radius is defined as: (4).
[0031] In this implementation, the forward linear velocity is: (5); in, is the slope of the forward observation point, 、 and All are preset parameters. To find the absolute value of a function, Function used to solve of Power.
[0032] In formula (5), Decompose along the X and Y directions of the robot coordinate system. For example, the angle between the robot's front direction and the front direction of the world coordinate system's X axis is , and the angle with the Y axis of the world coordinate system is , then the velocity of the robot coordinate system in the X direction can be decomposed into: , the velocity in the Y direction can be decomposed into: .
[0033] In this implementation, according to the forward linear velocity Get angular velocity : (6); in, is the radius of curvature.
[0034] In this implementation, the control input of the humanoid robot includes: (7); (8); (9); (10).
[0035] in, and They are the input positions in the X-axis and Y-axis directions respectively.
[0036] According to the control input of the above-mentioned humanoid robot, the forward observation point of the humanoid robot is used as the expected posture of the center of mass projection, and the slope of the forward observation point is obtained according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection. The forward linear velocity of the humanoid robot is obtained according to the slope of the forward observation point, and the humanoid robot is controlled according to the forward linear velocity to reach the position of the forward observation point, which reduces the impact of the motion model modeling error on the robot control, can more accurately control the posture of the robot, improves the control accuracy and stability, and improves the motion control performance of the bipedal robot in complex environments, so that it can perform tasks more accurately and stably, while reducing the demand for computing resources and broadening the application scope of the humanoid robot.
[0037] Example 2: like Figure 3 As shown, this implementation provides a humanoid robot motion control system, including: The posture solving unit is configured to: construct a rectangular coordinate system with the forward direction of the humanoid robot as the X-axis and the horizontal direction perpendicular to the X-axis as the Y-axis, and obtain the actual posture of the center of mass projection of the humanoid robot in the current gait cycle according to the control frequency, gait frequency, gait cycle, and the projection of the center of mass on the Y-axis at each sampling moment in the gait cycle; The motion control unit is configured to: use the forward observation point of the humanoid robot as the expected posture of the center of mass projection, obtain the slope of the forward observation point according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection, obtain the forward linear velocity of the humanoid robot according to the forward observation point slope, and control the humanoid robot according to the forward linear velocity to reach the position of the forward observation point.
[0038] The specific working process of each of the above units is the same as the corresponding steps in Example 1 and will not be repeated here.
[0039] It is understandable that each of the above-mentioned units can be separately or completely combined into one or several other units to constitute, or one (or some) of the units can be further divided into multiple functionally smaller units to constitute, which can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application. The above-mentioned units are divided based on logical functions. In actual applications, the functions of one unit can also be implemented by multiple units, or the functions of multiple units can be implemented by one unit. In other embodiments of the present application, the system may also include other units. In actual applications, these functions can also be implemented with the assistance of other units, and can be implemented by the collaboration of multiple units.
[0040] According to another embodiment of the present application, the system described in this embodiment can be constructed and the method of Example 1 of the present application can be implemented by running a computer program (including program code) capable of executing the steps involved in the corresponding method described in Example 1 on a general-purpose computing device such as a computer, which includes processing elements and storage elements such as a central processing unit (CPU), random access memory (RAM), and read-only memory (ROM). The computer program can be recorded on, for example, a computer-readable recording medium, and loaded into the above-mentioned computing device through the computer-readable recording medium and run therein.
[0041] Example 3: like Figure 4 As shown, this implementation provides an electronic device, which includes a processor 1001, a communication interface 1002, and a computer-readable storage medium 1003. The processor 1001, the communication interface 1002, and the computer-readable storage medium 1003 may be connected via a bus or other means.
[0042] Among them, the communication interface 1002 is used to receive and send data, the computer-readable storage medium 1003 can be stored in the memory of the electronic device, the computer-readable storage medium 1003 is used to store a computer program, the computer program includes program instructions, and the processor 1001 is used to execute the program instructions stored in the computer-readable storage medium 1003.
[0043] The processor 1001 (also called CPU (Central Processing Unit)) is the computing core and control core of the electronic device, which is suitable for implementing one or more instructions, specifically suitable for loading and executing one or more instructions to implement corresponding method processes or corresponding functions.
[0044] The processor 1001 is configured to execute the following process: Construct a rectangular coordinate system with the humanoid robot's forward direction as the X-axis and the horizontal direction perpendicular to the X-axis as the Y-axis. Based on the robot's control frequency, gait frequency, gait cycle, and the projection of the center of mass on the Y-axis at each sampling moment in the gait cycle, the actual position of the humanoid robot's center of mass projection in the current gait cycle is obtained. The forward observation point of the humanoid robot is used as the expected posture of the center of mass projection. The slope of the forward observation point is obtained according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection. The forward linear velocity of the humanoid robot is obtained according to the forward observation point slope. The humanoid robot is controlled according to the forward linear velocity to reach the position of the forward observation point.
[0045] The specific working process is the same as the corresponding steps in Example 1 and will not be repeated here.
[0046] Example 4: This implementation provides a computer-readable storage medium (Memory). This computer-readable storage medium is a memory device within an electronic device that stores programs and data. It should be understood that the computer-readable storage medium herein may include both built-in storage media within the electronic device and, of course, extended storage media supported by the electronic device. The computer-readable storage medium provides storage space that stores the processing system of the electronic device.
[0047] Furthermore, the storage space also stores one or more instructions suitable for being loaded and executed by the processor. These instructions may be one or more computer programs (including program code). It should be noted that the computer-readable storage medium herein may be a high-speed RAM memory or a non-volatile memory, such as at least one disk storage device; alternatively, it may be at least one computer-readable storage medium located remotely from the processor.
[0048] In one embodiment, the computer-readable storage medium stores one or more instructions; the processor loads and executes the one or more instructions stored in the computer-readable storage medium to implement the following process: Construct a rectangular coordinate system with the humanoid robot's forward direction as the X-axis and the horizontal direction perpendicular to the X-axis as the Y-axis. Based on the robot's control frequency, gait frequency, gait cycle, and the projection of the center of mass on the Y-axis at each sampling moment in the gait cycle, the actual position of the humanoid robot's center of mass projection in the current gait cycle is obtained. The forward observation point of the humanoid robot is used as the expected posture of the center of mass projection. The slope of the forward observation point is obtained according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection. The forward linear velocity of the humanoid robot is obtained according to the forward observation point slope. The humanoid robot is controlled according to the forward linear velocity to reach the position of the forward observation point.
[0049] The specific working process is the same as the corresponding steps in Example 1 and will not be repeated here.
[0050] Example 5: This implementation provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the following process: Construct a rectangular coordinate system with the humanoid robot's forward direction as the X-axis and the horizontal direction perpendicular to the X-axis as the Y-axis. Based on the robot's control frequency, gait frequency, gait cycle, and the projection of the center of mass on the Y-axis at each sampling moment in the gait cycle, the actual position of the humanoid robot's center of mass projection in the current gait cycle is obtained. The forward observation point of the humanoid robot is used as the expected posture of the center of mass projection. The slope of the forward observation point is obtained according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection. The forward linear velocity of the humanoid robot is obtained according to the forward observation point slope. The humanoid robot is controlled according to the forward linear velocity to reach the position of the forward observation point.
[0051] The specific working process is the same as the corresponding steps in Example 1 and will not be repeated here.
[0052] Those skilled in the art will appreciate that the units and algorithmic steps of each example described in conjunction with the embodiments disclosed in this application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional technical personnel may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0053] The above embodiments can be implemented in whole or in part using software, hardware, firmware, or any combination thereof. When implemented using software, they can be implemented in whole or in part in the form of a computer program product. A computer program product comprises one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted via a computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer, or a data processing device such as a server or data center that integrates one or more available media. Available media can include magnetic media (e.g., floppy disks, hard disks, tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).
[0054] The foregoing description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Those skilled in the art will readily appreciate that various modifications and variations of the present invention are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention are intended to be within the scope of protection of the present invention.
Claims
1. A humanoid robot motion control method, characterized in that: The process includes: Construct a rectangular coordinate system, with the forward direction of the humanoid robot as the X-axis and the horizontal direction perpendicular to the X-axis as the Y-axis. According to the robot's control frequency, gait frequency, gait cycle, and the projection of the center of mass on the Y-axis at each sampling moment in the gait cycle, obtain the actual position and posture of the center of mass projection of the humanoid robot in the current gait cycle. The forward observation point of the humanoid robot is taken as the expected posture of the center of mass projection, and the slope of the forward observation point is obtained according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection. The forward linear velocity of the humanoid robot is obtained according to the forward observation point slope, and the humanoid robot is controlled according to the forward linear velocity to reach the position of the forward observation point.
2. The humanoid robot motion control method according to claim 1, characterized in that: The actual position of the center of mass projection of the humanoid robot in the current gait cycle is ( , , ), for The coordinate of the center of mass at the moment projected on the X-axis direction, , is any time, K is the control frequency, is the gait frequency, is the gait cycle, is the yaw angle, for The coordinate of the center of mass at the moment projected on the Y axis.
3. The humanoid robot motion control method according to claim 2, characterized in that: The forward observation point of the humanoid robot is ( ), then the forward observation point slope for: .
4. The humanoid robot motion control method according to any one of claims 1 to 3, characterized in that: The forward linear velocity is: ,in, is the slope of the forward observation point, , and All are preset parameters. To find the absolute value of a function, Function used to solve of Power.
5. The humanoid robot motion control method according to claim 4, characterized in that: According to the forward linear velocity Get angular velocity : ; in, is the radius of curvature, , The forward observation distance is, )), ))represent and ), is the yaw angle.
6. The humanoid robot motion control method according to claim 5, characterized in that: Control inputs for humanoid robots, including: ; ; ; ; in, is the hip joint steering angle, is the yaw angle, is the slip angle, is the distance from the center of gravity to the robot's left hip joint, is the distance from the center of gravity to the robot's right hip joint, and They are the input positions in the X-axis and Y-axis directions respectively.
7. A humanoid robot motion control system, characterized in that: include: The posture solving unit is configured to: construct a rectangular coordinate system, with the forward direction of the humanoid robot as the X-axis and the horizontal direction perpendicular to the X-axis as the Y-axis, and obtain the actual posture of the center of mass projection of the humanoid robot in the current gait cycle according to the control frequency, gait frequency, gait cycle, and projection of the center of mass on the Y-axis at each sampling moment in the gait cycle of the robot; The motion control unit is configured to: use the forward observation point of the humanoid robot as the expected posture of the center of mass projection, obtain the forward observation point slope according to the difference between the expected posture of the center of mass projection and the actual posture of the center of mass projection, obtain the forward linear velocity of the humanoid robot according to the forward observation point slope, and control the humanoid robot according to the forward linear velocity to reach the forward observation point position.
8. A computer device, characterized in that: include: A processor and a computer readable storage medium; a processor adapted to execute a computer program; A computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by the processor, the humanoid robot motion control method according to any one of claims 1 to 6 is implemented.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor and executing the humanoid robot motion control method according to any one of claims 1 to 6.
10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the humanoid robot motion control method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Robot walking control method and device, robot control equipment and storage medium
CN113359800A
Balance control method for dynamic walking of biped robot
CN113830197A
Determining vehicle load center of mass
US20190285501A1
Acceleration compensation method for humanoid robot and apparatus and humanoid robot using the same
US20200206944A1
Robot stability control method, robot and computer-readable storage medium
US20230191604A1
