Biped robot body mass center planning method, control method, device and robot

By obtaining the robot's initial centroid position and motion difference information, the target centroid position is directly determined, which solves the problem of response delay of the traditional centroid estimation method and realizes highly dynamic robot motion control.

CN119861627AActive Publication Date: 2025-04-22GUANGZHOU PENGXING INTELLIGENT TECHNOLOGY CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202411998805.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-22
Estimated Expiration
2044-12-31

AI Technical Summary

Technical Problem

Traditional robot centroid estimation methods such as Kalman filtering have response delays, which affects the speed of the robot's planning centroid during movement, making it difficult to achieve high dynamic control purposes.

Method used

By obtaining the robot's initial center of mass position and motion difference information, the target center of mass position is determined based on this information, and a heuristic feedforward strategy is adopted to directly adjust the center of mass position to avoid the filtering process and improve the response speed of center of mass planning.

Benefits of technology

The response speed of the robot's centroid when moving is improved, the speed and range of movement of the robot's whole body are improved, and the purpose of high dynamic control is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119861627A_ABST
    Figure CN119861627A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of robots, and discloses a biped robot body mass center planning method, a biped robot body mass center control method, a biped robot body mass center planning device and a robot, and the biped robot body mass center planning method comprises the steps that the initial body mass center position and motion difference information of the robot are obtained, the initial body mass center position is the mass center position before the robot executes the target action, and the motion difference information is pre-planned motion information when the robot executes the target action; and according to the motion difference information and the initial fuselage mass center position, the target fuselage mass center position is determined, and the target fuselage mass center position is the mass center position after the robot executes the target action. The response speed of the planned mass center position of the robot can be increased, and the speed and action range of whole-body movement of the robot are increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robots, and in particular to a method for planning the center of mass of a bipedal robot, a control method, a device and a robot. Background Art

[0002] A robot is a machine device that can perceive the environment, make autonomous decisions and perform tasks. It can be used in industrial manufacturing, logistics and warehousing, medical and home services. For example, in the service industry, robots can take on tasks such as helping customers carry luggage and delivering meals.

[0003] When performing tasks, multi-legged or humanoid robots need to coordinate the upper body movements and lower body balance to avoid falling. The robot can be controlled to complete specific actions and maintain balance based on the whole body dynamics and the reference trajectory generated by the center of mass estimation. However, traditional center of mass estimation uses filtering methods, such as Kalman filtering, which has systematic response delays, affecting the speed of the robot's center of mass planning during movement, making it difficult for the robot to achieve high-dynamic control purposes. Summary of the invention

[0004] In view of this, the present invention provides a bipedal robot body center of mass planning method, control method, device and robot to improve the response speed of the robot's center of mass during movement.

[0005] In a first aspect, the present invention provides a method for planning the body center of mass of a bipedal robot, the method comprising: obtaining an initial body center of mass position and motion difference information of the robot, wherein the initial body center of mass position is the center of mass position of the robot before performing a target action, and the motion difference information is the pre-planned motion information of the robot when performing the target action; determining a target body center of mass position based on the motion difference information and the initial body center of mass position, wherein the target body center of mass position is the center of mass position of the robot after performing the target action.

[0006] The bipedal robot body center of mass planning method provided in this embodiment obtains the robot's initial body center of mass position and motion difference information when determining the center of mass position corresponding to the target action, and then determines the target body center of mass position based on the motion difference information and the initial body center of mass position without filtering. This can improve the response of the center of mass planning, thereby improving the speed and range of motion control of the robot's entire body and achieving high-dynamic control purposes.

[0007] In an optional embodiment, the motion difference information includes a torso attitude angle, and the target fuselage center of mass position is determined based on the motion difference information and the initial fuselage center of mass position, including: determining the target fuselage center of mass position of the current control cycle based on the initial fuselage center of mass position, the torso attitude angle and the first weight coefficient.

[0008] In this embodiment, the center of mass shift of the robot caused by the tilt of the fuselage (trunk) can be accurately determined, and then the target fuselage center of mass position can be accurately obtained.

[0009] In an optional implementation, determining the target fuselage center of mass position of the current control cycle according to the initial fuselage center of mass position, the trunk attitude angle, and the first weight coefficient includes: determining the target fuselage center of mass position of the current control cycle according to the initial fuselage center of mass position, the trunk attitude angle, and the first weight coefficient by the following formula:

[0010]

[0011] in, represents the target fuselage center of mass position, p root_tgt represents the initial fuselage center of mass position, α1 represents the first weight coefficient, θ root_tgt Represents the torso posture angle.

[0012] In an optional embodiment, the motion difference information includes a change in fuselage height, and the target fuselage center of mass position is determined based on the motion difference information and the initial fuselage center of mass position, including: determining the target fuselage center of mass position of the current control cycle based on the initial fuselage center of mass position, the change in fuselage height and a second weight coefficient.

[0013] In this embodiment, the center of mass deviation of the robot caused by kneeling can be accurately determined, and then the target body center of mass position can be accurately obtained.

[0014] In an optional implementation, determining the target fuselage center of mass position according to the initial fuselage center of mass position, the fuselage height change, and the second weight coefficient includes: determining the target fuselage center of mass position of the current control cycle by the following formula according to the initial fuselage center of mass position, the fuselage height change, and the second weight coefficient:

[0015]

[0016] in, represents the target fuselage center of mass position, p root_x_tgt represents the initial fuselage center of mass position, β1 represents the second weight coefficient, and δh represents the change in fuselage height.

[0017] In an optional embodiment, the motion difference information includes position information of at least one arm and speed information of at least one arm, and the target fuselage center of mass position is determined based on the motion difference information and the initial fuselage center of mass position, including: determining the target fuselage center of mass position of the current control cycle based on the initial fuselage center of mass position, the position information of at least one arm, the speed information of at least one arm, the third weight coefficient and the fourth weight coefficient.

[0018] In this embodiment, the center of mass deviation of the robot caused by the arm movement can be accurately determined, and then the center of mass position of the target body can be accurately obtained.

[0019] In an optional implementation, determining the target fuselage mass center position of the current control cycle according to the initial fuselage mass center position, the position information of at least one arm, the speed information of at least one arm, the third weight coefficient, and the fourth weight coefficient includes: determining the target fuselage mass center position of the current control cycle according to the initial fuselage mass center position, the position information of at least one arm, the speed information of at least one arm, the third weight coefficient, and the fourth weight coefficient by the following formula:

[0020]

[0021] in, represents the target fuselage center of mass position, p root_xy_tgt represents the initial fuselage center of mass position, α2 represents the third weight coefficient, ∑p arm_xy_tgt represents the position information of at least one arm, β2 represents the fourth weight coefficient, ∑v arm_xy_tgt Represents the velocity information of at least one arm.

[0022] In an optional embodiment, the motion difference information includes at least two of the trunk posture angle, the fuselage height change, the position information of at least one arm, and the speed information, and the number of target fuselage center of mass positions is at least two.

[0023] In a second aspect, the present invention provides a method for controlling the body motion of a bipedal robot, the method comprising: obtaining an initial body center of mass position and motion difference information of the robot, wherein the initial body center of mass position is the center of mass position of the robot before the robot performs a target action, and the motion difference information is the pre-planned motion information of the robot when performing the target action; determining a target body center of mass position based on the motion difference information and the initial body center of mass position, wherein the target body center of mass position is the center of mass position of the robot after the robot performs the target action; determining target motion difference information based on the target body center of mass position so that the robot is in a balanced state when performing the target action, and the target motion difference information is the motion information of the robot when performing the target action planned by the target body center of mass position.

[0024] In a third aspect, the present invention provides a bipedal robot body center of mass planning device, the device comprising: an acquisition module, used to obtain the robot's initial body center of mass position and motion difference information, wherein the initial body center of mass position is the center of mass position of the robot before the robot performs a target action, and the motion difference information is the pre-planned motion information of the robot when performing the target action; a first determination module, used to determine the target body center of mass position based on the motion difference information and the initial body center of mass position, wherein the target body center of mass position is the center of mass position of the robot after the robot performs the target action.

[0025] In a fourth aspect, the present invention provides a bipedal robot body motion control device, the device comprising: an acquisition module, used to acquire the robot's initial body center of mass position and motion difference information, wherein the initial body center of mass position is the center of mass position of the robot before the robot performs a target action, and the motion difference information is the pre-planned motion information of the robot when performing the target action; a first determination module, used to determine the target body center of mass position based on the motion difference information and the initial body center of mass position, wherein the target body center of mass position is the center of mass position of the robot after performing the target action; a second determination module, used to determine the target motion difference information based on the target body center of mass position, so that the robot is in a balanced state when performing the target action, and the target motion difference information is the motion information of the robot when performing the target action planned by the target body center of mass position.

[0026] In a fifth aspect, the present invention provides a robot comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, computer instructions being stored in the memory, and the processor executing the computer instructions to thereby execute the center of mass planning method of the above-mentioned first aspect or any corresponding embodiment thereof, or execute the above-mentioned second aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0028] Figure 1 is a schematic flow chart of a method for planning the center of mass of a bipedal robot according to an embodiment of the present invention;

[0029] Figure 2 is a schematic flow chart of another method for planning the center of mass of a bipedal robot according to an embodiment of the present invention;

[0030] Figure 3is a schematic flow chart of another method for planning the center of mass of a bipedal robot according to an embodiment of the present invention;

[0031] Figure 4 is a schematic flow chart of another method for planning the center of mass of a bipedal robot according to an embodiment of the present invention;

[0032] Figure 5 is a schematic flow chart of a method for controlling the motion of a bipedal robot body according to an embodiment of the present invention;

[0033] Figure 6 is a schematic diagram of a biped robot body motion control system according to an embodiment of the present invention;

[0034] Figure 7 is a structural block diagram of a biped robot body centroid planning device according to an embodiment of the present invention;

[0035] Figure 8 is a structural block diagram of a biped robot body motion control device according to an embodiment of the present invention;

[0036] Fig. 9 It is a schematic diagram of the hardware structure of a robot according to an embodiment of the present invention. DETAILED DESCRIPTION

[0037] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. According to the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0038] In the field of robotics, the center of mass position is crucial for robots. Center of mass planning can help robots generate stable motion trajectories and prevent them from losing balance. Center of mass planning refers to pre-calculating the expected trajectory of the center of mass based on the robot's tasks and motion states.

[0039] Specifically, the planning of the center of mass needs to meet the balance constraint, that is, the center of mass (COM) or center of pressure (COP) must be within the range where the ground reaction force at the foot end can be balanced. Among them, COM refers to the center position of the mass distribution of the object, and COP refers to the point of action of all the pressure forces on the contact surface when the object contacts the supporting surface.

[0040] If COM exceeds the support range provided by the robot's foot, the robot will lose balance and fall over. For example, when a bipedal robot stands, its center of mass needs to remain inside the support polygon formed by its two feet to ensure that the ground reaction force can balance the robot's gravity and keep it stable. The torque generated by gravity and ground reaction force can be calculated based on the position of COP relative to the robot's center of mass. If these torques cannot be balanced, the robot will fall over. For example, for a robot standing on one foot, the COP must be on the same vertical line as the center of mass (ignoring the balance of forces in the horizontal direction) to ensure that the robot's forces and torques in the vertical direction are balanced, thereby maintaining a standing posture.

[0041] However, due to the complex structure of the robot, the changeable motion state, and the influence of various factors such as sensor accuracy and external interference, it is difficult to estimate COM accurately and efficiently, which affects the speed of the robot planning the center of mass during movement (that is, it affects the response speed of the robot's center of mass during movement).

[0042] The present invention provides a method for planning the center of mass of a bipedal robot body. Based on a heuristic feedforward strategy, the motion information for planning a target action for the robot is used as feedforward and input into a center of mass planning module to adjust the center of mass position. This can increase the response speed of the robot's planned center of mass position and improve the speed and range of motion of the robot's entire body.

[0043] The biped robot body center of mass planning method provided by the present invention can be applied to robots that require balance control during movement, for example, biped robots, multi-legged robots (such as quadruped robots) or robots with multiple arms.

[0044] According to an embodiment of the present invention, an embodiment of a method for planning the center of mass of a bipedal robot body is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a robot such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0045] In this embodiment, a method for planning the center of mass of a bipedal robot body is provided, which can be used in a center of mass planning module in the robot. Figure 1 FIG. 1 is a flow chart of a method for planning the center of mass of a bipedal robot according to an embodiment of the present invention. Figure 1 As shown, the method comprises the following steps:

[0046] Step S101, obtaining the initial body mass center position and motion difference information of the robot.

[0047] Among them, the initial fuselage center of mass position is the center of mass position of the robot before performing the target action, the motion difference information is the pre-planned motion information of the robot when performing the target action, and the fuselage can refer to the entire structure of the robot, and the fuselage includes the torso and limbs of the robot.

[0048] Specifically, the target action may be an action of the robot in the process of performing a task, for example, the target action may be squatting, squatting to pick up an object, climbing stairs, or crossing an obstacle, etc. The motion information may be information on the motion state of the trunk and limbs of the robot when performing the target action, for example, the posture angle of the trunk when the robot squats, the knee flexion angle of the lower limbs, the change in body height caused by the knee flexion of the lower limbs, the position of the upper limbs, and the movement speed of the upper limbs, etc.

[0049] The initial body mass center position may be the body mass center position of the last action before the robot performs the target action. For example, if the robot needs to perform the target action (such as squatting) after normal walking, the initial body mass center position may be the mass center position corresponding to the standing state before squatting. The initial body mass center position may be determined in advance by the mass center planning module, and the calculation method of the initial body mass center position may be the same as the conventional mass center position calculation method in the art, which will not be described in detail here.

[0050] The motion difference information may be the motion information of the robot when performing the target action at a historical moment. The motion difference information may be determined by collecting the motion information of the same type of robots when performing the target action, or may be predicted by a neural network model.

[0051] The motion difference information may include the difference between the current posture angle of the trunk and the original posture angle, the difference between the current height value and the original height value of the fuselage, the difference between the current position of the arm end and the original position of the arm end, etc.

[0052] Step S102, determining the target fuselage center of mass position according to the motion difference information and the initial fuselage center of mass position.

[0053] Among them, the target body center of mass position is the center of mass position of the robot after performing the target action.

[0054] That is, the target body center of mass position is the center of mass position planned by the center of mass planning module for the robot to perform the target action based on the motion difference information and the initial body center of mass position, so that the robot's controller adjusts the motion difference information based on the target body center of mass position so that the robot can complete the target action in a balanced state.

[0055] Specifically, after the motion difference information is determined, the mass center offset can be determined based on the motion difference information, and then the initial fuselage mass center position is adjusted based on the mass center offset, and the adjusted initial fuselage mass center position is determined as the target fuselage mass center position. The corresponding relationship between the motion difference information and the mass center offset can be determined based on experiments and pre-configured in the storage module of the robot.

[0056] The bipedal robot body center of mass planning method provided in this embodiment obtains the robot's initial body center of mass position and motion difference information when determining the center of mass position corresponding to the target action, and then determines the target body center of mass position based on the motion difference information and the initial body center of mass position without filtering. This can improve the response of the center of mass planning, thereby improving the speed and range of motion control of the robot's entire body and achieving high-dynamic control purposes.

[0057] In this embodiment, the motion difference information includes at least one of the trunk attitude angle, the fuselage height change, the position information of at least one arm, and the speed information of at least one arm. The specific method of determining the target fuselage mass center position is different depending on the motion difference information.

[0058] Among them, the torso posture angle may refer to the difference between the current posture angle of the torso and the original posture angle, and the original posture angle may be the torso posture angle when the robot straightens its waist; the fuselage height change may refer to the difference between the current height value of the fuselage and the original height value, and the original height value may be the fuselage height value when the robot is upright; the position information of at least one arm may refer to the difference between the current position of the end of the arm and the original position of the end of the arm, and the original position of the end of the arm may be the position of the end of the arm when the arm is naturally drooping; the speed information of at least one arm may refer to the difference between the current speed of the end of the arm and the original speed of the end of the arm, and the original speed of the end of the arm may be the speed of the end of the arm when the arm is naturally drooping.

[0059] In conjunction with the accompanying drawings, the following detailed description is given of the method for determining the target fuselage center of mass position of the current control cycle when the motion difference information is the torso posture angle, when the motion difference information is the fuselage height change, and when the motion difference information is the position information of at least one arm and the speed information of at least one arm.

[0060] Figure 2 is a flow chart of another method for planning the center of mass of a bipedal robot according to an embodiment of the present invention. Figure 2 The process of determining the target fuselage center of mass position is explained using the motion difference information as the trunk attitude angle, such as Figure 2 As shown, the method comprises the following steps:

[0061] Step S201, obtaining the initial body mass center position and motion difference information of the robot.

[0062] For details, please see Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.

[0063] Step S202, determining the target fuselage center of mass position of the current control cycle according to the initial fuselage center of mass position, the trunk attitude angle and the first weight coefficient.

[0064] The trunk attitude angle may be the attitude angle of the trunk in the fuselage coordinate system, and the first weight coefficient is a preset value, which may be determined by the designer according to the ratio of the overall weight of the robot's fuselage to the weight of the upper limbs and the mass distribution of the upper limbs, and configured in advance in the storage module of the robot. The bipedal robot has multiple control cycles T, and the above process of determining the target fuselage center of mass position is determined within the same control cycle. For example, the control cycle T may be 0.001s or 0.002s. In other embodiments, the control cycle may be adjusted according to control requirements.

[0065] Specifically, the target fuselage mass center position of the current control cycle may be determined based on the correspondence between the target fuselage mass center position and the initial fuselage mass center position, the trunk attitude angle, and the first weight coefficient.

[0066] Exemplarily, according to the initial fuselage mass center position, the trunk attitude angle and the first weight coefficient, the target fuselage mass center position of the current control cycle can be determined by formula (1):

[0067]

[0068] In formula (1), represents the target fuselage center of mass position, p root_tgt represents the initial fuselage center of mass position, α1 represents the first weight coefficient, θ root_tgt Represents the torso posture angle.

[0069] Specifically, after obtaining the initial fuselage center of mass position and trunk attitude angle, the initial fuselage center of mass position and trunk attitude angle can be used as feedforward input formula (1) to determine the target fuselage center of mass position of the current control cycle.

[0070] In this embodiment, the center of mass offset of the robot caused by the tilt of the body (trunk) can be accurately determined by formula (1), and then the target body center of mass position can be accurately obtained.

[0071] Figure 3 is a flow chart of another method for planning the center of mass of a bipedal robot according to an embodiment of the present invention. Figure 3 The process of determining the target fuselage center of mass position of the current control cycle is explained by taking the motion difference information as the fuselage height change, such as Figure 3 As shown, the method comprises the following steps:

[0072] Step S301, obtaining the initial body mass center position and motion difference information of the robot.

[0073] For details, please see Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.

[0074] Step S302, determining the target fuselage mass center position of the current control cycle according to the initial fuselage mass center position, the fuselage height change and the second weight coefficient.

[0075] Among them, the second weight coefficient is a preset value, which can be determined by the designer based on the ratio of the robot's overall body weight and leg weight and the leg mass distribution, and configured in advance in the robot's storage module. The bipedal robot includes multiple control cycles during the movement process. For example, the duration of the control cycle can be 0.002s, etc.

[0076] The change in fuselage height can be caused by the robot squatting. When the robot configuration is a forward knee-flexed design, the impact on COM when the robot stands on straight knees is limited. However, during the robot squatting process, the larger knee-flexed angle causes the mass distribution of the legs to be forward relative to the fuselage, requiring corresponding COM compensation.

[0077] Specifically, the target fuselage mass center position of the current control cycle may be determined based on the correspondence between the target fuselage mass center position and the initial fuselage mass center position, the fuselage height change amount, and the second weight coefficient.

[0078] Exemplarily, according to the initial fuselage mass center position, the fuselage height change and the second weight coefficient, the target fuselage mass center position of the current control cycle can be determined by formula (2):

[0079]

[0080] In formula (2), represents the target fuselage center of mass position, p root_x_tgt represents the initial fuselage center of mass position, β1 represents the second weight coefficient, and δh represents the change in fuselage height. Specifically, it is the target fuselage mass center position in the x-axis direction of the fuselage coordinate system, p root_x_tgt Specifically, it is the initial fuselage center of mass position in the x-axis direction of the fuselage coordinate system, h represents the height difference relative to the default height, and δ represents the coefficient, which is determined based on the knee flexion angle.

[0081] In this embodiment, the center of mass offset of the robot caused by kneeling can be accurately determined by formula (2), thereby accurately obtaining the target body center of mass position.

[0082] Figure 4is a flow chart of another method for planning the center of mass of a bipedal robot according to an embodiment of the present invention. Figure 4 The process of determining the target fuselage mass center position of the current control cycle is described by taking the motion difference information as the position information of at least one arm and the speed information of at least one arm, such as Figure 4 As shown, the method comprises the following steps:

[0083] Step S401, obtaining the initial body mass center position and motion difference information of the robot.

[0084] For details, please see Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.

[0085] Step S402, determining the target fuselage center of mass position of the current control cycle according to the initial fuselage center of mass position, the position information of at least one arm, the speed information of at least one arm, the third weight coefficient and the fourth weight coefficient.

[0086] Among them, the third weight coefficient and the fourth weight coefficient are both preset values, which can be determined by the designer based on the ratio of the robot's overall body weight and the weight of the upper limbs, the upper limb mass distribution and the moving speed of the upper limbs, and configured in advance in the robot's storage module. The bipedal robot includes multiple control cycles during the movement process. For example, the duration of the control cycle can be 0.002s, etc.

[0087] When the robot is performing functional work, it may need to use its arms frequently. The swinging of the arms will affect the mass distribution and center of mass position of the upper limbs, and corresponding COM compensation is required. At the same time, considering the large range of motion and high speed of the arms, when determining the center of mass position, the speed of the arm planning needs to be processed to increase the speed of adjusting the center of mass.

[0088] Specifically, the target fuselage center of mass position of the current control cycle can be determined based on the correspondence between the target fuselage center of mass position and the initial fuselage center of mass position, the position information of at least one arm, the speed information of at least one arm, the third weight coefficient and the fourth weight coefficient.

[0089] Exemplarily, according to the initial fuselage mass center position, the position information of at least one arm, the speed information of at least one arm, the third weight coefficient and the fourth weight coefficient, the target fuselage mass center position of the current control cycle can be determined by formula (3):

[0090]

[0091] In formula (3), represents the target fuselage center of mass position, p root_xy_tgt represents the initial fuselage center of mass position, α2 represents the third weight coefficient, ∑parm_xy_tgt represents the position information of at least one arm, β2 represents the fourth weight coefficient, ∑v arm_xy_tgt Represents the velocity information of at least one arm.

[0092] Specifically, it is the target fuselage center of mass position in the x-axis and y-axis directions of the fuselage coordinate system, p root_xy_tgt Specifically, it is the initial center of mass position of the fuselage in the x-axis direction and the y-axis direction of the fuselage coordinate system. The robot can have multiple arms. When multiple arms are waving, ∑p arm_xy_tgt Specifically, it is the sum of the position vectors of multiple arms in the x-axis and y-axis directions of the fuselage coordinate system, ∑v arm_xy_tgt Specifically, it is the sum of the velocity vectors of multiple arms in the x-axis and y-axis directions of the fuselage coordinate system.

[0093] In this embodiment, the center of mass offset of the robot caused by the arm movement can be accurately determined by formula (3), and then the center of mass position of the target body can be accurately obtained.

[0094] In some embodiments, the motion difference information may include at least two of the torso posture angle, the change in fuselage height, the position information of at least one arm, and the speed information. The number of target fuselage center of mass positions is at least two, and multiple target fuselage center of mass positions can form a center of mass trajectory for the robot to perform the target action.

[0095] Specifically, when the robot performs a target action involving multiple position changes of the trunk, upper limbs and lower limbs, the target action can be split and the trajectory of the target body center of mass position can be determined by combining the above schemes.

[0096] Exemplarily, taking the robot squatting to pick up something as an example, the process of determining the target body center of mass position for each control cycle is explained.

[0097] First, the motion difference information of the robot squatting to pick up something can be determined by historical data. The motion difference information may include the trunk leaning over at a specific angle, the body squatting at a specific height, and the arm picking up something at a specific angle and speed. When the robot's trunk leans over at a specific angle, the pitch angle changes. The body center of mass can be adjusted by formula (1) to obtain the target body center of mass position, and the target body center of mass position is sent to the controller. The controller adjusts the motion difference information based on the target body center of mass position to keep the robot balanced when leaning over. When the robot squats, the body height changes, which can be The center of mass position is adjusted by formula (2) to obtain the target body center of mass position, and the target body center of mass position is sent to the controller. The controller adjusts the motion difference information based on the target body center of mass position so that the robot can maintain balance when squatting. When the robot's arm picks up something at a specific angle and speed, the arm position and speed change. The center of mass position can be adjusted by formula (3) to obtain the target body center of mass position, and the target body center of mass position is sent to the controller. The controller adjusts the motion difference information based on the target body center of mass position so that the robot can maintain balance when reaching out to pick up something.

[0098] In this embodiment, a method for controlling the motion of a bipedal robot body is also provided, which can be used for a robot including the above-mentioned center of mass planning module. Figure 5 FIG. 1 is a flow chart of a method for controlling the motion of a bipedal robot according to an embodiment of the present invention. Figure 5 As shown, the method comprises the following steps:

[0099] Step S501, obtaining the initial body mass center position and motion difference information of the robot.

[0100] For details, please see Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.

[0101] Step S502: determining the target fuselage center of mass position according to the motion difference information and the initial fuselage center of mass position.

[0102] For details, please see Figure 1 Step S102 of the illustrated embodiment will not be described in detail here.

[0103] Step S503, determining target motion difference information according to the target body mass center position, so that the robot is in a balanced state when performing the target action.

[0104] The target motion difference information is the motion information of the robot when executing the target action according to the target body center of mass position planning.

[0105] Specifically, after determining the target body mass center position, the motion information of each joint of the robot corresponding to the target body mass center position can be determined based on the robot's dynamic model. Exemplarily, the method of determining the target motion difference information based on the target body mass center position can be the same as the method of solving the expected information based on the mass center position in the art.

[0106] The motion control method provided in this embodiment obtains the robot's initial body center of mass position and motion difference information as input feedforward to determine the target body center of mass position when performing whole-body balance control. This can improve the response speed of the robot's center of mass during movement, thereby improving the speed at which the robot determines the target motion difference information based on the target body center of mass position, thereby achieving high-dynamic control purposes.

[0107] Exemplarily, the center of mass planning module in the robot includes a default center of mass planner and a feedforward center of mass planner, such as Figure 6 As shown, when the robot is subjected to whole-body balance control, the initial body center of mass position can be obtained from the default center of mass planner, the center of mass offset based on the motion difference information can be determined from the feedforward center of mass planner, the target body center of mass position can be obtained based on the initial body center of mass position and the center of mass offset, and then the target body center of mass position is input into the controller, the controller determines the control torque for controlling the movement of each joint of the robot based on the target body center of mass position, and then controls the movement of each joint of the robot based on the control torque to complete the target action while maintaining balance.

[0108] In this embodiment, a biped robot body center of mass planning device and a biped robot body motion control device are also provided, which are used to implement the above-mentioned embodiments and preferred implementation modes, and will not be repeated hereafter. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0109] This embodiment provides a biped robot body centroid planning device, such as Figure 7 As shown, including:

[0110] An acquisition module 701 is used to acquire an initial body mass center position and motion difference information of the robot, wherein the initial body mass center position is the mass center position of the robot before the robot performs a target action, and the motion difference information is the pre-planned motion information of the robot when performing the target action;

[0111] The first determination module 702 is used to determine a target body mass center position according to the motion difference information and the initial body mass center position, wherein the target body mass center position is the mass center position after the robot performs the target action.

[0112] In some optional implementations, the first determining module 702 includes:

[0113] The first determination unit is used to determine the target fuselage mass center position of the current control cycle according to the initial fuselage mass center position, the trunk attitude angle and the first weight coefficient.

[0114] In some optional implementations, the first determining unit includes:

[0115] The first determination subunit is used to determine the target fuselage mass center position of the current control cycle by the following formula according to the initial fuselage mass center position, the trunk attitude angle and the first weight coefficient:

[0116]

[0117] in, represents the target fuselage center of mass position, p root_tgt represents the initial fuselage center of mass position, α1 represents the first weight coefficient, θ root_tgt Represents the torso posture angle.

[0118] In some optional implementations, the first determining module 702 includes:

[0119] The second determining unit is used to determine the target fuselage mass center position of the current control cycle according to the initial fuselage mass center position, the fuselage height change and the second weight coefficient.

[0120] In some optional implementations, the second determining unit includes:

[0121] The second sub-determination unit is used to determine the target fuselage mass center position of the current control cycle by the following formula according to the initial fuselage mass center position, the fuselage height change and the second weight coefficient:

[0122]

[0123] in, represents the target fuselage center of mass position, p root_x_tgt represents the initial fuselage center of mass position, β1 represents the second weight coefficient, and δh represents the change in fuselage height.

[0124] In some optional implementations, the first determining module 702 includes:

[0125] The third determination unit is used to determine the target fuselage center of mass position of the current control cycle based on the initial fuselage center of mass position, the position information of at least one arm, the speed information of at least one arm, the third weight coefficient and the fourth weight coefficient.

[0126] In some optional implementations, the third determining unit includes:

[0127] The third determination subunit is used to determine the target fuselage mass center position of the current control cycle by the following formula according to the initial fuselage mass center position, the position information of at least one arm, the speed information of at least one arm, the third weight coefficient and the fourth weight coefficient:

[0128]

[0129] in, represents the target fuselage center of mass position, p root_xy_tgt represents the initial fuselage center of mass position, α2 represents the third weight coefficient, ∑p arm_xy_tgt represents the position information of at least one arm, β2 represents the fourth weight coefficient, ∑v arm_xy_tgt Represents the velocity information of at least one arm.

[0130] In some optional embodiments, the motion difference information includes at least two of the trunk attitude angle, the fuselage height change, the position information of at least one arm, and the speed information, and the number of target fuselage center of mass positions is at least two.

[0131] This embodiment provides a biped robot body motion control device, such as Figure 8 As shown, including:

[0132] An acquisition module 701 is used to acquire an initial body mass center position and motion difference information of the robot, wherein the initial body mass center position is the mass center position of the robot before the robot performs a target action, and the motion difference information is the pre-planned motion information of the robot when performing the target action;

[0133] A first determination module 702 is used to determine a target body mass center position according to the motion difference information and the initial body mass center position, wherein the target body mass center position is the mass center position after the robot performs the target action;

[0134] The second determination module 801 is used to determine the target motion difference information according to the target body mass center position, so that the robot is in a balanced state when performing the target action. The target motion difference information is the motion information of the robot when performing the target action planned by the target body mass center position.

[0135] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0136] The center of mass planning device and motion control device in this embodiment are presented in the form of functional units, where the units refer to application specific integrated circuits (ASIC), processors and memories that execute one or more software or fixed programs, and / or other devices that can provide the above functions.

[0137] An embodiment of the present invention further provides a robot having the center of mass planning device or motion control device shown above.

[0138] See also Fig. 9 , Fig. 9 is a schematic diagram of the structure of a robot provided by an optional embodiment of the present invention, such as Fig. 9 As shown, the robot includes: one or more processors 910, a memory 920, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the robot, including instructions stored in or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig. 9 A processor 910 is taken as an example.

[0139] The processor 910 may be a central processing unit, a network processor or a combination thereof. The processor 910 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable logic gate array, a general purpose array logic or any combination thereof.

[0140] The memory 920 stores instructions executable by at least one processor 910, so that the at least one processor 910 executes the method shown in the above embodiment.

[0141] The memory 920 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the robot, etc. In addition, the memory 920 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 920 may optionally include a memory remotely arranged relative to the processor 910, and these remote memories may be connected to the robot via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0142] The memory 920 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 920 may also include a combination of the above types of memory.

[0143] The robot also includes a communication interface 930 for the robot to communicate with other devices or communication networks.

[0144] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be downloaded through a network and originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a robot, a processor or hardware, the method shown in the above embodiment is implemented.

[0145] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a robot, can call or provide the method and / or technical solution according to the present invention through the operation of the robot. Those skilled in the art should understand that the computer program instruction exists in a computer-readable medium in the form of, but is not limited to, a source file, an executable file, an installation package file, etc. Accordingly, the way in which the computer program instruction is executed by the robot includes, but is not limited to: the robot directly executes the instruction, or the robot compiles the instruction and then executes the corresponding compiled program, or the robot reads and executes the instruction, or the robot reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the robot.

[0146] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, a plurality of steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0147] In the description of this specification, the description with reference to the terms "this embodiment", "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are contradictory.

[0148] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of the present invention, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0149] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the present invention.

Claims

1. A method for planning the center of mass of a bipedal robot, characterized in that: The method comprises: Acquire the initial body mass center position and motion difference information of the robot, wherein the initial body mass center position is the mass center position of the robot before performing the target action, and the motion difference information is the pre-planned motion information of the robot when performing the target action; A target body mass center position is determined according to the motion difference information and the initial body mass center position, wherein the target body mass center position is the mass center position after the robot performs a target action.

2. The method according to claim 1, characterized in that: The motion difference information includes a trunk attitude angle, and determining a target fuselage center of mass position according to the motion difference information and the initial fuselage center of mass position includes: A target fuselage center of mass position of a current control cycle is determined according to the initial fuselage center of mass position, the trunk attitude angle and a first weight coefficient.

3. The method according to claim 2, characterized in that The step of determining a target fuselage center of mass position of a current control cycle according to the initial fuselage center of mass position, the trunk attitude angle and the first weight coefficient comprises: According to the initial fuselage mass center position, the trunk attitude angle and the first weight coefficient, the target fuselage mass center position of the current control cycle is determined by the following formula: in, represents the target fuselage center of mass position, p root_tgt represents the initial fuselage mass center position, α1 represents the first weight coefficient, θ root_tgt represents the torso posture angle.

4. The method according to claim 1, characterized in that: The motion difference information includes a change in fuselage height, and determining a target fuselage center of mass position according to the motion difference information and the initial fuselage center of mass position includes: The target fuselage mass center position of the current control cycle is determined according to the initial fuselage mass center position, the fuselage height change and the second weight coefficient.

5. The method according to claim 4, characterized in that Determining the target fuselage mass center position of the current control cycle according to the initial fuselage mass center position, the fuselage height change and the second weight coefficient includes: According to the initial fuselage mass center position, the fuselage height change and the second weight coefficient, the target fuselage mass center position of the current control cycle is determined by the following formula: in, represents the target fuselage center of mass position, p root_x_tgt represents the initial fuselage mass center position, β1 represents the second weight coefficient, and δh represents the fuselage height change.

6. The method according to claim 1, characterized in that The motion difference information includes position information of at least one arm and speed information of at least one arm, and determining the target fuselage center of mass position according to the motion difference information and the initial fuselage center of mass position includes: The target fuselage center of mass position of the current control cycle is determined according to the initial fuselage center of mass position, the position information of the at least one arm, the speed information of the at least one arm, the third weight coefficient and the fourth weight coefficient.

7. The method according to claim 6, characterized in that The step of determining a target fuselage mass center position of a current control cycle according to the initial fuselage mass center position, the position information of the at least one arm, the speed information of the at least one arm, the third weight coefficient, and the fourth weight coefficient comprises: According to the initial fuselage mass center position, the position information of the at least one arm, the speed information of the at least one arm, the third weight coefficient and the fourth weight coefficient, the target fuselage mass center position of the current control cycle is determined by the following formula: in, represents the target fuselage center of mass position, p root_xy_tgt represents the initial fuselage mass center position, α2 represents the third weight coefficient, ∑p arm_xy_tgt represents the position information of at least one arm, β2 represents the fourth weight coefficient, ∑v arm_xy_tgt Represents speed information of the at least one arm.

8. The method according to any one of claims 1 to 7, characterized in that The motion difference information includes at least two of the trunk attitude angle, fuselage height change, position information and speed information of at least one arm, and the number of the target fuselage center of mass positions is at least two.

9. A method for controlling the motion of a bipedal robot, characterized in that: The method comprises: Acquire the initial body mass center position and motion difference information of the robot, wherein the initial body mass center position is the mass center position of the robot before performing the target action, and the motion difference information is the pre-planned motion information of the robot when performing the target action; Determine a target body mass center position according to the motion difference information and the initial body mass center position, wherein the target body mass center position is the mass center position after the robot performs a target action; According to the target fuselage center of mass position, target motion difference information is determined so that the robot is in a balanced state when performing the target action. The target motion difference information is the motion information of the robot when performing the target action planned by the target fuselage center of mass position.

10. A bipedal robot body center of mass planning device, characterized in that: The device comprises: An acquisition module, used to acquire an initial body mass center position and motion difference information of the robot, wherein the initial body mass center position is the mass center position of the robot before the robot performs a target action, and the motion difference information is pre-planned motion information of the robot when performing the target action; The first determination module is used to determine a target body mass center position according to the motion difference information and the initial body mass center position, wherein the target body mass center position is the mass center position after the robot performs a target action.

11. A bipedal robot body motion control device, characterized in that: The device comprises: An acquisition module, used to acquire an initial body mass center position and motion difference information of the robot, wherein the initial body mass center position is the mass center position of the robot before the robot performs a target action, and the motion difference information is pre-planned motion information of the robot when performing the target action; A first determination module is used to determine a target body mass center position according to the motion difference information and the initial body mass center position, wherein the target body mass center position is the mass center position of the robot after the robot performs a target action; The second determination module is used to determine the target motion difference information according to the target fuselage center of mass position, so that the robot is in a balanced state when performing the target action. The target motion difference information is the motion information of the robot when performing the target action planned by the target fuselage center of mass position.

12. A robot, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the bipedal robot body center of mass planning method described in any one of claims 1 to 8, or executes the bipedal robot body motion control method described in claim 9 by executing the computer instructions.

Citation Information

Patent Citations

  • Method and device for adjusting center of mass position of robot, robot and data storage medium

    CN109703645A

  • Biped robot walking control method and biped robot

    CN113050616A

  • Motion control method and device, controller, medium and robot

    CN117590840A

  • Robot mass center adjusting method and device, computer equipment and storage medium

    CN118357909A

  • A mobile robot with enhanced balanced motion and behavior capabilities

    US20190118384A1