Quadruped robot and control method and device thereof

By controlling the torque and angle of the joint motors of the quadruped robot and switching it to a bipedal support state, the problem of insufficient maneuverability of the quadruped robot is solved, and stability and maneuverability are improved.

CN117440909BActive Publication Date: 2026-04-10BEIJING XIAOMI ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-23
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

While quadruped robots maintain high motion stability and obstacle-crossing ability, their maneuverability is poor and their functionality is inferior to that of bipedal robots.

Method used

By controlling the torque and angle of the joint motors of the quadruped robot, the robot body can rotate around the hip joint of the hind leg, switching to a bipedal support state, and the front legs can act as robotic arms to perform operational functions. Combined with inertial measurement unit detection and closed-loop control, the stability and operational performance of the robot in complex terrain are ensured.

Benefits of technology

It improves the operation and interaction performance of the quadruped robot, realizes diversified operation functions of the front legs, and maintains good motion stability and obstacle crossing ability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117440909B_ABST
    Figure CN117440909B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of intelligent robots, and specifically provides a quadruped robot and a control method and device thereof. The control method of the quadruped robot comprises: determining reference torques of joint motors of front legs based on preset foot bottom forces, and controlling the joint motors of the front legs to rotate according to the reference torques; in response to an arm span length of the front legs being not less than a preset threshold, determining a target time according to a current body angle and a target angular velocity; determining a reference angle of a hip joint motor of a rear leg of the quadruped robot in a motion process of the hip joint motor according to the current body angle and the target angular velocity; and controlling a torque of the hip joint motor of the rear leg in real time according to the reference angle of the hip joint motor of the rear leg and an actual motion angle until the motion time reaches the target time. In the present disclosure, the quadruped robot can be switched to a biped support state through joint motor control, so that more operation functions and specific actions are realized by the front legs, and operation performance is increased.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of intelligent robots, in particular to a quadruped robot and a control method and device thereof. BACKGROUND

[0002] The quadruped robot is a robot designed to imitate legged animals in nature. The common structure of the quadruped robot is that a body is connected to four mechanical legs, and each mechanical leg includes a thigh link and a shank link. Common quadruped robots include 8-DOF (Degree of Freedom) robots and 12-DOF robots. Higher DOF ensures the movement ability and stability of the quadruped robot in various complex terrains.

[0003] In the related art, the quadruped robot has better obstacle crossing ability and movement stability than the biped robot, but the operation ability is poor, which leads to that the quadruped robot is less functional than the biped robot. SUMMARY

[0004] To improve the operation performance of the quadruped robot, the present disclosure provides a quadruped robot and a control method and device thereof, and a storage medium.

[0005] In a first aspect, the present disclosure provides a control method of a quadruped robot, comprising:

[0006] determining reference torques of joint motors of front legs of the quadruped robot based on preset foot bottom forces;

[0007] controlling the joint motors of the front legs to rotate according to the reference torques of the joint motors of the front legs, so as to drive a body of the quadruped robot to rotate around hip joints of rear legs;

[0008] in response to an arm span length of the front legs being not less than a preset threshold, determining a target time according to a current body angle and a target angular velocity; the target time is a time for the body to rotate from the current body angle to a target angle;

[0009] determining a reference angle of a hip joint motor of the rear legs in a motion process of the hip joint motor of the rear legs according to the current body angle and the target angular velocity;

[0010] controlling a torque of the hip joint motor of the rear legs in real time according to the reference angle and an actual motion angle of the hip joint motor of the rear legs until a motion time reaches the target time.

[0011] In some embodiments, before the determining the reference torques of the joint motors of the front legs of the quadruped robot based on the preset foot bottom forces, the method further comprises:

[0012] determine a reference position of the fuselage in a movement process based on the initial height and the target height of the fuselage, wherein the target height is lower than the initial height;

[0013] determine reference angles of each joint motor of the front legs and the rear legs of the quadruped robot based on the reference position of the fuselage;

[0014] for each joint motor, control a torque of the joint motor in real time based on the reference angle and an actual movement angle, so as to drive the fuselage height to decrease to the target height.

[0015] In some embodiments, for each joint motor, the control of the torque of the joint motor in real time based on the reference angle and the actual movement angle, so as to drive the fuselage height to decrease to the target height, comprises:

[0016] for each joint motor of the rear legs, control a torque of each joint motor of the rear legs based on the reference angle and an actual movement angle, so as to drive a shank link of the rear legs to be parallel to the ground.

[0017] In some embodiments, the determination of the reference position of the fuselage in the movement process based on the initial height and the target height of the fuselage comprises:

[0018] determine a decrease height of the fuselage based on the initial height and the target height;

[0019] determine a decrease speed of the fuselage based on the decrease height of the fuselage and a preset decrease time;

[0020] determine the reference position of the fuselage in the movement process based on the initial height, the decrease speed and a movement time in the movement process of the fuselage.

[0021] In some embodiments, the determination of the reference angles of each joint motor of the front legs and the rear legs of the quadruped robot based on the reference position of the fuselage comprises:

[0022] determine the reference angles of each joint motor of the front legs based on the reference position of the fuselage and lengths of a thigh link and a shank link of the front legs;

[0023] determine the reference angles of each joint motor of the rear legs based on the reference position of the fuselage and lengths of a thigh link and a shank link of the rear legs, or determine the reference angles of each joint motor of the rear legs based on the reference position of the fuselage and a length of a thigh link of the rear legs.

[0024] In some embodiments, the determining the reference torque of each joint motor of the front leg of the quadruped robot based on the preset plantar force comprises:

[0025] mapping the preset plantar force to each joint motor of the front leg based on a Jacobian matrix to obtain the reference torque of each joint motor of the front leg;

[0026] the controlling the rotation of each joint motor of the front leg according to the reference torque of each joint motor to drive the body of the quadruped robot to rotate around the hip joint of the rear leg comprises:

[0027] controlling the rotation of each joint motor of the front leg according to the reference torque of each joint motor of the front leg, and controlling the torque of the hip joint motor of the rear leg to be zero and the torque of the knee joint motor of the rear leg to remain unchanged, to drive the body of the quadruped robot to rotate around the hip joint of the rear leg.

[0028] In some embodiments, the determining the target time according to the current body angle and the target angular velocity in response to the arm span length of the front leg being not less than a preset threshold value comprises:

[0029] determining the arm span length of the front leg according to a first angle of the hip joint motor of the front leg, a second angle of the knee joint motor of the front leg, a length of the thigh link of the front leg, and a length of the shank link of the front leg;

[0030] in response to the arm span length being not less than the preset threshold value, detecting the current body angle and the target angular velocity by an inertial measurement unit arranged on the body;

[0031] determining the target time according to the current body angle, the target angle, and the target angular velocity.

[0032] In some embodiments, the determining the reference angle of the hip joint motor of the rear leg of the quadruped robot in the motion process according to the current body angle and the target angular velocity comprises:

[0033] determining the reference angle of the hip joint motor of the rear leg of the quadruped robot in the motion process according to the current body angle, the target angular velocity, and a motion time in the motion process of the body;

[0034] the real-time controlling the torque of the hip joint motor of the rear leg according to the reference angle and the actual motion angle of the hip joint motor of the rear leg comprises:

[0035] real-time closed-loop controlling the torque of the hip joint motor of the rear leg according to the difference between the reference angle and the actual motion angle of the hip joint motor of the rear leg, and controlling the torque of each joint motor of the front leg and the knee joint motor of the rear leg to remain unchanged.

[0036] In some embodiments, the method further comprises:

[0037] determining a front leg tip position of the quadruped robot based on the preset motion trajectory;

[0038] determining reference angles of each joint motor of the front leg based on the front leg tip position;

[0039] controlling a torque of each joint motor of the front leg based on a difference between the reference angles and actual motion angles of each joint motor of the front leg, and keeping a torque of each joint motor of the back leg unchanged.

[0040] In some embodiments, the method further comprises:

[0041] in response to the front leg tip of the quadruped robot moving along the preset motion trajectory for a preset time, obtaining current rotation angles of each joint motor of the front leg and the back leg of the quadruped robot;

[0042] for each joint motor, determining a reference angle of the quadruped robot in a motion process based on the current rotation angle and an initial rotation angle at an initial state of the quadruped robot;

[0043] controlling a torque of each joint motor in real time based on a difference between the reference angle and an actual motion angle of the quadruped robot in the motion process, so as to drive the quadruped robot to move to the initial state.

[0044] In some embodiments, the method further comprises:

[0045] obtaining a current included angle between a body of the quadruped robot and the ground, and in response to the current included angle not satisfying a preset condition, obtaining current rotation angles of each joint motor of the front leg and the back leg of the quadruped robot;

[0046] for each joint motor, determining a reference angle of the quadruped robot in a motion process based on the current rotation angle and an initial rotation angle at an initial state of the quadruped robot;

[0047] controlling a torque of each joint motor in real time based on a difference between the reference angle and an actual motion angle of the quadruped robot in the motion process, so as to drive the quadruped robot to move to the initial state.

[0048] In a second aspect, the present disclosure provides a control device of a quadruped robot, comprising:

[0049] a torque determination module configured to determine reference torques of joint motors of front legs of the quadruped robot based on preset foot forces;

[0050] a front leg torque control module configured to control the joint motors of the front legs to rotate according to the reference torques of the joint motors of the front legs, so as to drive a body of the quadruped robot to rotate around hip joints of rear legs;

[0051] a time determination module configured to determine a target time according to a current body angle and a target angular velocity in response to an arm span length of the front legs being not less than a preset threshold; the target time is a time for the body to rotate from the current body angle to a target angle;

[0052] an angle determination module configured to determine a reference angle of a hip joint motor of the rear legs during movement according to the current body angle and the target angular velocity;

[0053] a rear leg torque control module configured to control a torque of the hip joint motor of the rear legs in real time according to the reference angle and an actual movement angle of the hip joint motor of the rear legs until the movement time reaches the target time.

[0054] In some embodiments, the control device further comprises a body lowering module configured to:

[0055] determine a reference position of the body during movement based on an initial height and a target height of the body; the target height is lower than the initial height;

[0056] determine reference angles of joint motors of the front legs and the rear legs of the quadruped robot according to the reference position of the body;

[0057] for each joint motor, control a torque of the joint motor in real time based on the reference angle and an actual movement angle, so as to drive the body to lower to the target height.

[0058] In some embodiments, the body lowering module is configured to:

[0059] for each joint motor of the rear legs, control a torque of the joint motor of the rear legs based on the reference angle and an actual movement angle, so as to drive a shank link of the rear legs to be parallelly attached to the ground.

[0060] In some embodiments, the body lowering module is configured to:

[0061] determine a descending height of the body based on the initial height and the target height;

[0062] determine a descending speed of the body based on the descending height of the body and a preset descending time;

[0063] determine a reference position of the body in the motion based on the initial height, the descending speed and a motion time in the motion of the body.

[0064] In some embodiments, the body descending module is configured to:

[0065] determine the reference angle of each joint motor of the front leg based on the reference position of the body and lengths of the thigh link and the shank link of the front leg;

[0066] determine the reference angle of each joint motor of the rear leg based on the reference position of the body and lengths of the thigh link and the shank link of the rear leg, or determine the reference angle of each joint motor of the rear leg based on the reference position of the body and the length of the thigh link of the rear leg.

[0067] In some embodiments, the torque determining module is configured to:

[0068] map the preset foot force to the reference torque of each joint motor of the front leg based on a Jacobian matrix.

[0069] In some embodiments, the front leg torque control module is configured to:

[0070] control each joint motor of the front leg to rotate based on the reference torque of each joint motor of the front leg, and control the torque of the rear leg hip joint motor to be zero and the torque of the rear leg knee joint motor to remain unchanged, so as to drive the body of the quadruped robot to rotate around the rear leg hip joint.

[0071] In some embodiments, the time determining module is configured to:

[0072] determine an arm span length of the front leg based on the first angle of the front leg hip joint motor, the second angle of the front leg knee joint motor, the length of the thigh link of the front leg and the length of the shank link of the front leg;

[0073] in response to the arm span length being not less than a preset threshold, detect the current body angle and the target angular velocity by an inertial measurement unit arranged in the body;

[0074] determine the target time based on the current body angle, the target angle and the target angular velocity.

[0075] In some embodiments, the angle determination module is configured to:

[0076] determine a reference angle of a hip joint motor of a back leg of the quadruped robot during the movement of the body according to the current body angle, the target angular velocity, and a movement time during the movement of the body.

[0077] In some embodiments, the back leg torque control module is configured to:

[0078] perform closed-loop control on a torque of the hip joint motor of the back leg in real time according to a difference between the reference angle and an actual movement angle of the hip joint motor of the back leg, and control the torque of each joint motor of the front leg and the knee joint motor of the back leg to remain unchanged.

[0079] In some embodiments, the control device of the present disclosure further comprises a front leg operation module configured to:

[0080] determine a position of a toe of the front leg of the quadruped robot based on a preset movement trajectory;

[0081] determine a reference angle of each joint motor of the front leg according to the position of the toe of the front leg;

[0082] perform closed-loop control on a torque of the joint motor according to a difference between the reference angle and an actual movement angle of each joint motor of the front leg, and control the torque of each joint motor of the back leg to remain unchanged.

[0083] In some embodiments, the control device of the present disclosure further comprises a joint recovery module configured to:

[0084] in response to the toe of the front leg of the quadruped robot moving along the preset movement trajectory for a preset time, acquire a current rotation angle of each joint motor of the front leg and the back leg of the quadruped robot;

[0085] for each joint motor, determine a reference angle of the quadruped robot during the movement based on the current rotation angle and an initial rotation angle at an initial state of the quadruped robot;

[0086] perform closed-loop control on a torque of each joint motor in real time according to a difference between the reference angle and an actual movement angle of the quadruped robot during the movement, so as to drive the quadruped robot to move to the initial state.

[0087] In some embodiments, the joint recovery module of the present disclosure is configured to:

[0088] obtaining a current included angle between the body of the quadruped robot and the ground, and in response to the current included angle not satisfying a preset condition, obtaining a current rotation angle of each joint motor of the front legs and the rear legs of the quadruped robot;

[0089] For each joint motor, based on the current rotation angle and an initial rotation angle at an initial state of the quadruped robot, a reference angle of the quadruped robot in a movement process is determined.

[0090] According to a difference between the reference angle of the quadruped robot in the movement process and an actual movement angle, a torque of each joint motor is controlled in real time in a closed loop to drive the quadruped robot to move to the initial state.

[0091] In a third aspect, an embodiment of the present disclosure provides a quadruped robot, comprising:

[0092] a processor; and a memory storing computer instructions for causing the processor to execute the method according to any of the embodiments of the first aspect.

[0093] In a fourth aspect, an embodiment of the present disclosure provides a storage medium storing computer instructions for causing a computer to execute the method according to any of the embodiments of the first aspect.

[0094] The control method of the quadruped robot provided by the embodiment of the present disclosure comprises determining each reference torque of the front legs based on a preset foot force, controlling rotation of each joint motor according to the reference torque to drive the body to rotate around the hip joint of the rear leg, in response to the front leg arm span length being not less than a preset threshold, determining a target time according to a current body angle and a target angular velocity, determining a reference angle of the hip joint motor of the rear leg according to the current body angle and the target angular velocity, and controlling the torque of the hip joint motor of the rear leg according to the reference angle and an actual movement angle until the movement time reaches the target time. In the embodiment of the present disclosure, the quadruped robot can be switched to a biped support state through joint motor control, so that more operation functions and specific actions can be realized by the front legs, and the operation performance and interaction performance of the quadruped robot are increased.

[0095] BRIEF DESCRIPTION OF DRAWINGS In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure or the prior art, the drawings needed in the description of the embodiments or the prior art will be briefly introduced. Obviously, the drawings in the following description are some embodiments of the present disclosure, and those skilled in the art can also obtain other drawings according to these drawings without creative labor.

[0096]

[0097] Figure 1is a structural diagram of a quadruped robot according to some embodiments of the present disclosure.

[0098] Figure 2 is a structural block diagram of a quadruped robot according to some embodiments of the present disclosure.

[0099] Figure 3 is a flowchart of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0100] Figure 4 is a schematic diagram of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0101] Figure 5 is a schematic diagram of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0102] Figure 6 is a schematic diagram of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0103] Figure 7 is a flowchart of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0104] Figure 8 is a flowchart of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0105] Figure 9 is a flowchart of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0106] Figure 10 is a flowchart of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0107] Figure 11 is a flowchart of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0108] Figure 12 is a flowchart of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0109] Figure 13 is a flowchart of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0110] Figure 14 is a flowchart of a control method of a quadruped robot according to some embodiments of the present disclosure.

[0111] Figure 15 is a structural block diagram of a control device of a quadruped robot according to some embodiments of the present disclosure.

[0112] Figure 16is a structural block diagram of a control device of a quadruped robot according to some embodiments of the present disclosure. DETAILED DESCRIPTION

[0113] The technical solutions of the present disclosure will be described clearly and completely below in conjunction with the drawings. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of the present disclosure. In addition, the technical features involved in different embodiments of the present disclosure described below can be combined with each other as long as they do not conflict with each other.

[0114] The quadruped robot is designed to imitate legged animals in nature and adapt to complex terrain and harsh environments through flexible control of four limbs. At present, the general structure of a quadruped robot is a body connected to four mechanical legs, for example Figure 1 as shown.

[0115] Figure 1 A side view of a quadruped robot in the related art is shown, so only two mechanical legs of the quadruped robot are displayed, which can be understood by those skilled in the art.

[0116] Referring to Figure 1 , the quadruped robot includes a body 10, two front legs 20, and two rear legs 30, the two front legs 20 are respectively connected to the two sides of the front part of the body 10, and the two rear legs 30 are respectively connected to the two sides of the rear part of the body 10.

[0117] Each mechanical leg of the quadruped robot includes a lower leg link and an upper leg link, and each mechanical leg includes at least two joint motors, i.e., a knee joint front swing motor and a hip joint front swing motor. The knee joint front swing motor is used to drive the lower leg link and the upper leg link to rotate relative to each other, and the hip joint front swing motor is used to drive the upper leg link and the body 10 to rotate relative to each other. Thus, the quadruped robot can move forward and backward through the knee joint front swing motor and the hip joint front swing motor. It can be understood that the knee joint front swing motor and the hip joint front swing motor can provide two degrees of freedom for each leg of the quadruped robot, so that the above-mentioned quadruped robot has eight degrees of freedom.

[0118] For some quadruped robots, on the basis of the above, each mechanical leg further includes a hip joint side swing motor for driving the upper leg link and the body 10 to move relative to each other, so that the knee joint front swing motor, the hip joint front swing motor, and the hip joint side swing motor can provide three degrees of freedom for each leg of the quadruped robot, and the quadruped robot has a total of twelve degrees of freedom, which can provide the robot with better turning ability and stability.

[0119] More degrees of freedom ensure that the quadruped robot has good obstacle crossing ability and stability in various complex terrains, but the quadruped robot sacrifices the operation ability compared with the biped robot.

[0120] For example, unlike the quadruped robot, the biped robot can walk with two mechanical legs, and the remaining two arms can be used for grabbing, swinging, and other operations. The quadruped robot obviously cannot do this, and therefore the quadruped robot has poor functionality.

[0121] Based on the above defects, the embodiments of the present disclosure provide a control method and device of a quadruped robot, a quadruped robot, and a storage medium, which are intended to realize the standing of the quadruped robot by using a software method on the basis of the existing structure of the quadruped robot, so as to maintain the high-performance moving ability and stability of the quadruped robot, and at the same time, enrich the operation performance of the quadruped robot and improve the ability of the quadruped robot.

[0122] The structure of the quadruped robot of the embodiments of the present disclosure can be referred to as shown in Figure 1 The corresponding control principle block diagram is shown as Figure 2 The quadruped robot of the embodiments of the present disclosure will be described below in combination with Figure 1 、 Figure 2 .

[0123] As shown in Figure 2 In some embodiments, the quadruped robot 600 of the present disclosure example includes a processor 601, a memory 602, an IMU sensor 604, a knee joint motor 605, a hip joint front swing motor 606, and a hip joint side swing motor 607.

[0124] The processor 601, the memory 602, the IMU sensor 604, the knee joint motor 605, the hip joint front swing motor 606, and the hip joint side swing motor 607 are communicatively connected to each other through a bus 603.

[0125] The processor 601 can be any type of processor with one or more processing cores. It can perform single-threaded or multi-threaded operations, and is used to parse instructions to perform operations such as obtaining data, performing logical operations, and issuing operation processing results.

[0126] The memory 602 can include a non-volatile computer-readable storage medium, such as at least one magnetic disk storage device, a flash memory device, a distributed storage device remotely located with respect to the processor 601, or other non-volatile solid state storage device. The memory can have a program storage area for storing non-volatile software programs, non-volatile computer-executable programs, and modules for invocation by the processor 601 to cause the processor 601 to perform one or more method steps. The memory 602 can also include a volatile random access memory, or storage portion, such as a hard disk, as a data storage area for storing the results of the processing performed by the processor 601 and data.

[0127] The IMU sensor 604 is an inertial measurement unit (IMU) which can be arranged in the body 10 of the quadruped robot 600 for detecting the pose change of the body 10. In some embodiments, the IMU sensor 604 can include, for example, a three-axis or six-axis gyroscope, an accelerometer, etc.

[0128] The knee joint motor 605 is arranged at the connection between the thigh link and the shank link of each leg of the quadruped robot 600, and through the driving of the knee joint motor 605, the relative rotation of the thigh link and the shank link can be controlled. In the embodiments of the present disclosure, the knee joint motor 605 is a knee joint front swing motor, that is, for example Figure 1 As shown in the view angle, the knee joint motor 605 can drive the relative rotation of the thigh link and the shank link in the plane parallel to the paper surface, so as to drive the robot to move forward or backward.

[0129] The hip joint front swing motor 606 is arranged at the connection between the thigh link and the body 10 of each leg of the quadruped robot 600, and through the driving of the hip joint front swing motor 606, the relative rotation of the thigh link and the body 10 can be controlled.

[0130] The hip joint side swing motor 607 is arranged at the connection between the thigh link and the body 10 of each leg of the quadruped robot 600, and through the driving of the hip joint side swing motor 607, the relative roll of the thigh link and the body 10 can be controlled.

[0131] It is worth noting that, referring to Figure 1 As shown in the view angle, the function of the hip joint front swing motor 606 is to drive the relative rotation of the thigh link and the body 10 in the plane parallel to the paper surface, so as to drive the robot to move forward or backward. The function of the hip joint side swing motor 607 is to drive the relative roll of the thigh link and the body 10 in the direction perpendicular to the paper surface, so as to drive the robot to tilt or turn, and additionally provide a side swing degree of freedom for the mechanical leg.

[0132] In the embodiments of the present disclosure, since the control method of the present disclosure does not involve the control of the hip joint side swing motor 607, the "hip joint motor" described below in the present disclosure refers to the "hip joint front swing motor". However, it can be understood that the control method of the present disclosure is not limited to the 8-DOF quadruped robot, and is also applicable to the 12-DOF robot including the hip joint side swing motor 607, and only needs to keep the existing control process of the hip joint side swing motor 607, and the present disclosure will not be repeated here.

[0133] The above combination Figure 1 、 Figure 2 The structure and principle of the quadruped robot of the embodiments of the present disclosure are described, and in fact, the quadruped robot also includes other structures or electrical elements, which can be understood and fully implemented by those skilled in the art with reference to related technologies, and the present disclosure will not be repeated here.

[0134] Based on the above-mentioned quadruped robot 600, the embodiments of the present disclosure provide a control method, which can be executed by the processor 601 of the quadruped robot 600, and the following will be described in combination with Figure 3 Embodiments.

[0135] As Figure 3 shown, in some embodiments, the control method of the quadruped robot of the present disclosure includes:

[0136] S310, determining the reference torque of each joint motor of the front leg of the quadruped robot based on the preset foot force.

[0137] It can be understood that the embodiments of the present disclosure expect to make the quadruped robot stand and maintain the state of the biped robot by controlling each joint motor of the robot. During the process of switching the quadruped support of the robot to the biped support, the motion state of the robot can be at least decomposed into the following two stages:

[0138] 1) Front leg force stage.

[0139] Referring to Figure 4 , it is assumed Figure 4 that (a) is the initial state of the quadruped robot, and in the front leg force stage, the front leg of the robot needs to support the ground, and according to the preset foot force F c ref control each joint motor to make the body rotate around the hip joint of the rear leg to support the body, that is, to the state shown in (b) of Figure 4 .

[0140] 2) Body rotation stage.

[0141] Continuing to refer to Figure 4 , in Figure 4The middle (b) state, the front leg is limited to the extension length, and cannot directly support the body to be in the fully standing state. Therefore, after the end of the front leg force stage, the rear leg hip joint motor needs to be controlled to continue to drive the body to rotate, so that the front leg and the body are fully standing, that is, the body keeps 90° with the ground, as shown in the middle (c) state. Figure 4 The middle (b) state, the front leg is limited to the extension length, and cannot directly support the body to be in the fully standing state. Therefore, after the end of the front leg force stage, the rear leg hip joint motor needs to be controlled to continue to drive the body to rotate, so that the front leg and the body are fully standing, that is, the body keeps 90° with the ground, as shown in the middle (c) state.

[0142] Based on the above, the preset foot force refers to the interaction force between the ground and the front leg toe, and the size of the force can reflect the torque of each joint motor of the front leg. When the torque of each joint motor of the front leg is controlled to make the interaction force between the front leg toe and the ground reach the preset foot force, the body of the robot can be supported by the front leg.

[0143] In some embodiments, only the component perpendicular to the ground direction can be given, and the specific data size of the preset foot force depends on the weight and size of the robot and other parameters, which can be determined through experimental debugging, and the present disclosure does not limit this.

[0144] After the preset foot force is determined, the preset foot force needs to be mapped to the torque of each joint motor of the front leg, so as to obtain the torque of the front leg knee joint motor and the front leg hip joint motor, which is taken as the reference torque for controlling the rotation of the front leg knee joint motor and the front leg hip joint motor.

[0145] In some embodiments, the preset foot force can be mapped to the torque of each joint motor of the front leg through a Jacobian matrix to obtain the reference torque of each joint motor of the front leg. The present disclosure will be described in the following embodiments, which will not be expanded here.

[0146] In some embodiments, before the front leg force stage, the body of the quadruped robot can also be controlled to descend, so that the lower leg link of the rear leg of the robot completely adheres to the ground. For example, the initial state of the quadruped robot is as shown in Figure 1 Before the front leg force stage, the robot can be controlled to move to Figure 4 as shown in the middle (a), so as to improve the standing stability of the robot and the reliability of the whole switching process. The present disclosure will be described in the following embodiments, which will not be expanded here.

[0147] S320, according to the reference torque of each joint motor of the front leg, the rotation of each joint motor of the front leg is controlled to drive the body of the quadruped robot to rotate around the rear leg hip joint.

[0148] Referring to Figure 4 After the reference torque of each joint motor of the front leg is obtained, the open-loop control mode can be used to control the rotation of the front leg knee joint motor and the hip joint motor with the reference torque as the target, so that the body can rotate around the rear leg hip joint, and the body presents an upturned posture.

[0149] In this process, the output torque of the back leg hip joint motor can be controlled to be zero, that is, the back leg hip joint motor is in passive mode and is completely rotated around the back leg hip joint by the body itself. In addition, the torque of the back leg knee joint motor can remain unchanged, that is, the pose of the back leg remains unchanged, and only the poses of the body and the front leg are gradually raised, which is specifically described in the embodiments below.

[0150] S330, in response to the arm span length of the front leg being not less than a preset threshold, determining a target time according to the current body angle and the target angular velocity.

[0151] Referring to Figure 4 It can be seen that the body cannot be completely uprighted by relying on the front leg alone, and therefore, after the front leg force stage is completed, the body rotation stage needs to be entered. In the embodiments of the present disclosure, whether the front leg force stage is completed can be determined according to the arm span length of the front leg.

[0152] In the embodiments of the present disclosure, the arm span length of the front leg refers to the distance between the toe of the front leg and the hip joint of the front leg, which changes with the bending degree of the front leg. For example Figure 4 As shown in (b) of FIG. 1, the thigh length of the front leg is L1, the calf length is L2, and the arm span length (shown by a dashed line) of the front leg is L3.

[0153] In some embodiments, during the movement of the front leg of the robot, each joint motor can record the values of each joint angle in real time, so that Figure 4 As shown in (b) of FIG. 1, under the condition that the thigh length is L1, the calf length is L2, and the joint angle is known, the arm span length L3 can be calculated by using the triangle formula.

[0154] The preset threshold represents a critical value of the arm span length. When the real-time calculated arm span length L3 is less than the preset threshold, it indicates that the stretching degree of the front leg does not reach the critical value, and the front leg joint motors can be continuously controlled to rotate to continue supporting the body. When the real-time calculated arm span length L3 is greater than or equal to the preset threshold, it indicates that the stretching degree of the front leg has reached the critical value, and the front leg no longer supports the body, and the front leg force stage ends and the body rotation stage is entered.

[0155] It can be understood that the specific data of the preset threshold can be determined according to the weight, size and other parameters of the robot, which is not limited in the present disclosure.

[0156] When it is determined that the arm span length of the front leg is greater than or equal to the preset threshold, it indicates that the body rotation stage is entered, and at this time, the target time can be determined according to the current body angle and the target angular velocity.

[0157] The current body angle represents the angle between the body and the ground at the initial moment of entering the body rotation stage, for exampleFigure 4 As shown in (b), the current body angle is 45°. It can be understood that the target of the body movement is to stand completely, that is, the included angle between the body and the ground is 90°, and the task of the body rotation stage is to rotate the body from the current body angle to 90°.

[0158] The angle to be rotated in the body rotation stage is 90° minus the current body angle, and the ratio of the target angular velocity is the working time of the body rotation stage, that is, the target time.

[0159] In the embodiments of the present disclosure, the target angular velocity refers to the rotation angular velocity of the body in the body rotation stage. In some embodiments, the value of the target angular velocity can be artificially set, for example, a suitable angular velocity value is selected according to the working condition of the robot.

[0160] In other embodiments, the body angular velocity at the initial moment of entering the body rotation stage can also be determined as the target angular velocity, which has the advantage that the body rotation stage can maintain the same rotation angular velocity as before, thereby improving stability and smoothness.

[0161] In the case where the rotation angle and the target angular velocity are known, the ratio of the two is the total time of the body rotation stage, that is, the target time.

[0162] S340, determining the reference angle of the rear leg hip joint motor of the quadruped robot in the movement process according to the current body angle and the target angular velocity.

[0163] Referring to Figure 4 As shown in (b) to (c), the body needs to be controlled to continue to rotate from the initial 45° to 90° by the rear hip joint motor output torque.

[0164] In the case where the current body angle (that is, the initial angle of entering the body rotation stage) and the rotation angular velocity are known, the movement angle of the body, that is, the reference angle of the rear leg hip joint motor, can be calculated according to the movement time of the body.

[0165] It can be understood that the reference angle is a theoretical motor angle calculated by the target angular velocity and the initial position of the body, and in the embodiments of the present disclosure, the rear leg hip joint motor is controlled by torque by using the rear leg hip joint motor position loop closed loop.

[0166] S350, controlling the torque of the rear leg hip joint motor in real time according to the reference angle and the actual movement angle of the rear leg hip joint motor until the movement time reaches the target time.

[0167] As mentioned above, the reference angle refers to the theoretical motor angle calculated from the target angular velocity and the initial position of the fuselage, while the actual motion angle refers to the actual rotation angle of the rear leg hip joint motor during rotation. This actual motion angle can be obtained in real time by sampling through the motor's angle detection module.

[0168] It is understandable that the goal of optimizing motor torque control is to bring the actual value closer to the reference value, thereby achieving optimal motor efficiency and accuracy. Therefore, in this embodiment, a closed-loop motor position loop is used to control the motor torque.

[0169] That is, in this embodiment of the present disclosure, the motor torque is compensated and optimized based on the difference between the reference angle and the actual movement angle of the rear leg hip joint motor, thereby adjusting the torque of the rear leg hip joint motor in real time so that the rotation state of the machine body is as close as possible to the theoretical state.

[0170] As the hip joint motors of the hind legs operate, they drive the robot body to rotate relative to the hind legs until the rotation time reaches the target time. At this point, the robot body is considered to have reached the target angle, i.e., perpendicular to the ground, and torque output can be stopped. The quadruped robot... Figure 4 The four-legged support state shown in (a) is switched to Figure 4 The bipedal support state is shown in (c).

[0171] For example Figure 4 In the state shown in (c), the robot body and front legs are fully upright. At this time, the two front legs of the quadruped robot can act as robotic arms to perform preset operations. For example, in one example, the front legs can perform fun actions such as saluting or wishing someone a happy new year based on a preset trajectory; in another example, the front legs can perform operations such as pressing buttons or turning off lights; in yet another example, the front legs can perform operations such as grasping; and so on. This disclosure does not limit this.

[0172] As can be seen from the above, in this embodiment of the present disclosure, the form switching between a quadruped robot and a bipedal standing robot is realized. When the hind legs are standing, the front legs can move freely as mechanical arms to realize some operation functions or specific actions, thus enriching the operation functions of the quadruped robot.

[0173] In some implementations, the quadruped robot is composed of Figure 1 The initial state is switched to a bipedal standing state, and then after performing a preset operation with the front leg while standing, it returns to the initial state. Figure 1 In the initial state shown, the control method of this disclosure divides the process into the following 5 stages:

[0174] 1) The descent phase of the fuselage.

[0175] like Figure 5As shown, the initial state of the quadruped robot is the state when the robot is walking normally, such as... Figure 5 As shown in (a), the fuselage height at this time is During the descent phase, the quadruped robot needs to move from its initial state to its final position within a preset time. Figure 5 The state shown in (b) is such that the hind legs are completely in contact with the ground, and the fuselage height is reduced to [missing information].

[0176] 2) The front leg exerts force during the power generation phase.

[0177] Refer to the aforementioned process; during the forelegs' power-generating phase, the quadruped robot can be... Figure 4 The state shown in (a) has been moved to Figure 4 The state shown in (b) is as follows.

[0178] 3) The fuselage rotation stage.

[0179] Refer to the aforementioned process; during the body rotation phase, the quadruped robot can be... Figure 4 The state shown in (b) is moved to Figure 4 The state shown in (c) is as follows.

[0180] 4) Foreleg operation phase

[0181] For example Figure 6 As shown, after the quadruped robot switches to a bipedal standing state, its two front legs can perform some specific operations, such as functional operations like pressing buttons and grasping, or fun operations like waving and saluting.

[0182] 5) Joint recovery phase.

[0183] After the front legs complete the preset operation, or when there is a risk of the robot tipping over, the quadruped robot can be controlled to... Figure 4 The state shown in (c) is restored to Figure 5 The initial state shown in (a) is the return from a two-legged support state to a four-legged support state.

[0184] After understanding the principles of each stage, the control process of each stage will be explained in detail below.

[0185] 1. Descent phase

[0186] like Figure 7 As shown, in some embodiments, during the fuselage descent phase, the control method of this disclosure includes:

[0187] S710: Based on the initial fuselage height and target height, determine the reference position of the fuselage during its movement.

[0188] It can be understood that the purpose of the body lowering stage is to reduce the body height, so the target height should be lower than the initial height, that is, as shown in Figure 5 the body target height is less than the initial height

[0189] The reference position of the body refers to the target value of the body in the lowering process, and the target of the control of each joint motor of the quadruped robot is to make the position at the moment of the body movement process consistent or close to the reference position. Therefore, in the process of body lowering, the reference position of the body corresponding to the current moment needs to be calculated in real time.

[0190] In some embodiments, as shown in Figure 8 the process of determining the body reference position based on the initial height and the target height includes:

[0191] S711, determining the lowering height of the body based on the initial height and the target height.

[0192] S712, determining the lowering speed of the body according to the lowering height of the body and the preset lowering time.

[0193] S713, determining the reference position of the body in the movement process according to the initial height, the lowering speed and the movement time in the movement process.

[0194] In combination with Figure 5 as shown, the initial height of the body is the target height is the difference between the target height and the initial height is the lowering height of the body that needs to be lowered.

[0195] The lowering time t1 is the preset length of the body lowering stage, and the specific data of the lowering time t1 can be set according to the specific application scene requirement, for example, 1 second, 2 seconds, etc., and the present disclosure does not limit this.

[0196] After determining the lowering height and the lowering time t1 of the body lowering stage, the ratio of the two is the lowering speed of the body.

[0197] Therefore, the reference position h(t) of the body corresponding to any moment t in the body lowering stage ref can be obtained by the linear interpolation method, which is expressed as:

[0198]

[0199] In formula (1), h(t) ref represents the reference position of the body at any t moment in the lowering process.

[0200] S720. Based on the reference position of the robot body, determine the reference angles of the motors of each joint of the front and hind legs of the quadruped robot.

[0201] It is understandable that the reference position h(t) of the fuselage at time t is... ref , representing the theoretical position of the robot body obtained by solving equation (1) above. To achieve motor control, this reference position needs to be mapped to each joint motor of the robot to obtain the reference angle of each joint motor, and then the motor torque is controlled by position loop closed-loop control based on the reference angle.

[0202] In this embodiment, the joint motor includes: a front leg knee joint motor, a front leg hip joint motor, a rear leg knee joint motor, and a rear leg hip joint motor.

[0203] Taking the robot's front leg as an example, for the knee and hip joint motors of the front leg, the reference angles of the knee and hip joint motors can be obtained based on the robot's inverse kinematics algorithm, according to the reference position of the robot body and the lengths of the thigh and lower leg links. This can be represented as:

[0204]

[0205] In equation (2), q F1 (t) ref Let q be the reference angle for the robot's front leg knee joint motor at time t. F2 (t) ref Let h(t) be the reference angle for the robot's front leg hip joint motor at time t. ref L1 represents the reference position of the fuselage at time t, L2 represents the length of the thigh link, and L3 represents the length of the lower leg link.

[0206] In some implementations, the calculation process for the reference angles of the rear leg knee joint motor and the rear leg hip joint motor can be the same as that of the front leg, that is, the front and rear legs move synchronously.

[0207] In other implementations, see Figure 5 As shown, during the descent of the robot body, the joint motors controlling the hind legs drive the lower leg linkages to be parallel and in contact with the ground. By increasing the contact area between the hind legs and the ground, the static stability of the robot when standing is improved.

[0208] In this embodiment, since the lower leg link of the hind leg is completely in contact with the ground, the reference angle of the hind leg knee joint motor and the hind leg hip joint motor can be obtained based on the robot's inverse kinematics algorithm, according to the reference position of the robot body and the length of the hind leg thigh link, and is expressed as follows:

[0209]

[0210] In equation (3), q R1 (t) ref q represents the reference angle of the robot's hind leg knee joint motor at time t. R2 (t) ref L1 represents the reference angle of the robot's hind leg hip joint motor at time t, and L1 is the length of the thigh link.

[0211] Based on the above process, the reference angle of the joint motor at each moment during the fuselage descent phase can be calculated.

[0212] S730: For each joint motor, the torque of the joint motor is controlled in real time based on the reference angle and the actual motion angle to drive the body height to descend to the target height.

[0213] It is understandable that for the control process of each joint motor, the reference angle represents the target value of the motor's motion. At the same time, the motor can collect its own actual motion angle in real time. The goal of motor torque control is to make the actual motion angle of the motor the same as the reference angle, or to always converge to the vicinity of the reference angle.

[0214] Therefore, in this embodiment, position loop closed-loop control is adopted for each joint motor, and the torque reference command sent to each joint motor is expressed as follows:

[0215]

[0216] In equation (4), τ(t) ref Let q(t) represent the motor torque, Kp represent the motor position loop gain, Kd represent the motor speed loop gain, and q(t) represent the motor speed loop gain. ref The reference angle of the motor is represented by q(t), and the actual angle of motion of the motor is represented by q(t). This indicates the actual angular velocity of the motor.

[0217] Based on the above control process, the motors of each joint of the front and hind legs are driven until the movement time t reaches the descent time t1, at which point the descent phase of the quadruped robot ends, and the robot transitions from motion to descent. Figure 5 The initial shape shown in (a) moves to Figure 5 The prone position shown in (b) is shown in the middle.

[0218] It is worth noting that, in this embodiment, by lowering the quadruped robot's body, the range of motion of each joint in the front legs can be increased, giving the front legs more space and time to exert force, allowing the quadruped robot to better switch to a bipedal support state. Furthermore, by ensuring the hind leg's lower leg link is fully in contact with the ground, the contact area between the robot and the ground when bipedal is increased, thus increasing the robot's stability range when standing on two legs.

[0219] 2. Foreleg power generation phase

[0220] like Figure 9 As shown, in some embodiments, during the foreleg power generation phase, the control method of this disclosure includes:

[0221] S910. Based on the Jacobian matrix, the preset plantar force is mapped to each joint motor of the foreleg to obtain the reference torque of each joint motor of the foreleg.

[0222] S920. Based on the reference torque of each joint motor of the front leg, control each joint motor of the front leg to rotate, and control the torque of the hip joint motor of the rear leg to be zero, while keeping the torque of the knee joint motor of the rear leg unchanged, so as to drive the body of the quadruped robot to rotate around the hip joint of the rear leg.

[0223] In this disclosure, combined with Figure 4 As shown, during the power generation phase of the front legs, the movement of the front leg joint motors enables the robot's front legs to support the body. At the same time, the rear leg joint motors coordinate with the movement of the front legs and the body to keep the lower leg linkage in contact with the ground at all times.

[0224] The preset plantar force can be determined in advance through experiments. Generally, only the plantar force component perpendicular to the ground needs to be given, that is... Figure 4 Preset foot force as shown

[0225] In some implementations, the preset plantar force can be based on the Jacobian matrix. Mapping these torques to the motors at each joint of the foreleg, we obtain the torques of the foreleg knee joint motor and the foreleg hip joint motor, expressed as:

[0226]

[0227] In equation (5), This indicates the torque of the motor at each joint. This represents the transpose of the Jacobian matrix of the foreleg. In this embodiment, the foreleg knee joint motor and the foreleg hip joint motor are controlled in open-loop torque mode, that is, the torque is calculated by equation (5). This refers to the torque command for the joint motor.

[0228] The torque commands for the foreleg knee joint motor and the foreleg hip joint motor can be calculated using the above formula (5). For the hind leg joint motor, see [reference needed]. Figure 4 It can be seen that during the foreleg's power exertion phase, the hind leg maintains its original state. Therefore, the hind leg hip joint motor can be set to passive mode, meaning the output torque of the hind leg hip joint motor is zero, expressed as:

[0229]

[0230] In equation (6), This indicates the torque of the motor at the hind leg hip joint. See below for further explanation. Figure 4 As shown in (b), since the output torque of the rear leg hip joint motor is zero, the machine body can actively rotate around the rear leg hip joint, causing the machine body to gradually tilt upwards with the support of the front leg. At the same time, the rear leg knee joint motor always maintains the aforementioned position loop closed-loop control mode, keeping the lower leg linkage in complete contact with the ground.

[0231] See Figure 4 As shown in (b), the foreleg arm span refers to the distance between the toe of the foreleg and the line connecting the hip joint of the foreleg, which is L3 as shown by the dotted line in the figure. It can be understood that as the fuselage gradually tilts up, the foreleg arm span L3 gradually increases until the foreleg is fully extended and can no longer support the fuselage by the force exerted by the foreleg. At this point, it can be determined that the foreleg force exertion phase has ended.

[0232] like Figure 10 As shown, in some implementations, the process of determining the end of the foreleg power exertion phase includes:

[0233] S1010. Determine the arm span length of the foreleg based on the first angle of the foreleg hip joint motor, the second angle of the foreleg knee joint motor, the length of the foreleg thigh link, and the length of the foreleg lower leg link.

[0234] S1020, In response to the arm span being not less than a preset threshold, determine that the foreleg force exertion phase has ended.

[0235] Combination Figure 4 As shown in (b), during the movement of the foreleg, the motors of each joint can record the rotation angle in real time. Thus, the angle between the thigh link and the lower leg link can be obtained based on the rotation angle of the foreleg knee joint motor and the rotation angle of the foreleg hip joint. Given that the length of the thigh link L1, the length of the lower leg link L2 and the angle between them are known, the arm span length L3 can be calculated according to the triangle formula. The calculation process will not be described in detail in this disclosure.

[0236] The preset threshold represents the critical value of the arm span. When the real-time calculated arm span L3 is less than the preset threshold, it means that the extension of the front legs has not reached the critical value, and the motors of each joint of the front legs can continue to rotate to continue supporting the fuselage. When the real-time calculated arm span L3 is greater than or equal to the preset threshold, it means that the extension of the front legs has reached the critical value. At this time, the front legs are no longer controlled to continue supporting the fuselage, the front leg exertion phase ends, and the fuselage rotation phase begins.

[0237] 3. Fuselage rotation stage

[0238] See Figure 4As shown, the initial state of the body rotation stage is Figure 4 As shown in (b) of the middle, the target state of the body rotation stage is Figure 4 As shown in (c) of the middle.

[0239] As shown in (c) of the middle. Figure 11 As shown, in some embodiments, in the body rotation stage, the control method of the present disclosure includes:

[0240] S1110, in response to entering the body rotation stage, detecting the current body angle and the target angular velocity by the inertial measurement unit arranged on the body.

[0241] As shown in (c) of the middle. Figure 4 As shown, at the initial moment of entering the body rotation stage, the current body angle q T (0) and the target angular velocity The inertial measurement unit is the IMU sensor 604 shown in (c) of the middle, which can detect the pose information of the body in real time. Figure 2

[0242] It is worth noting that the target angular velocity refers to the average angular velocity of the body rotating around the hip joint of the rear leg in the body rotation stage. In this embodiment, the angular velocity at the initial moment of entering the body rotation stage is taken as the target angular velocity, so that the rotation angular velocity of the body in the body rotation stage and the front leg driving stage is the same, and the process of switching the quadruped robot to biped standing is more smooth. However, it can be understood that the target angular velocity may also be an artificially preset angular velocity value, and is not limited to the body angular velocity at the initial moment of entering the body rotation stage, and the present disclosure does not limit this.

[0243] S1120, determining the target time according to the current body angle, the target angle and the target angular velocity.

[0244] Continuing to refer to Figure 4 At the initial moment of entering the body rotation stage, the included angle between the body and the ground surface is the current body angle q T (0), and the target angle of the body is perpendicular to the ground, i.e. The target angular velocity of the body rotation is Therefore, the target time T rotate can be calculated, which is expressed as:

[0245]

[0246] S1130, determining the reference angle of the motor of the hip joint of the rear leg of the quadruped robot in the movement process according to the current body angle, the target angular velocity and the movement time in the movement process of the body. ​

[0247] During the fuselage rotation phase, the fuselage's rotation axis coincides with the axis of the rear leg hip joint motor, meaning the fuselage rotation is entirely driven by the rear leg hip joint motor. The rotation angle of the rear leg hip joint motor at the initial moment of entering the fuselage rotation phase is recorded as q. R2 (0), then during the rotation of the fuselage, the reference angle q of the hind leg hip joint motor at time t. R2 (t) ref Represented as:

[0248]

[0249] The reference angle of the hind leg hip joint motor at each time t can be calculated using equation (8).

[0250] S1140. Based on the difference between the reference angle and the actual movement angle of the hind leg hip joint motor, the torque of the hind leg hip joint motor is controlled in a closed loop in real time, and the torque of each joint motor of the front leg and the knee joint motor of the hind leg is kept constant.

[0251] In this embodiment, the torque control of the hind leg hip joint motor also adopts the position loop closed-loop mode. The reference angle of the hip joint motor can be calculated by the above formula (8). At the same time, the actual rotation angle of the motor can be sampled in real time. The motor torque is optimized and adjusted according to the difference between the two, thereby realizing the torque control of the hind leg hip joint motor.

[0252] Meanwhile, the motors of each joint of the front leg and the motor of the knee joint of the rear leg continue to maintain the original position loop closed-loop control mode. The reference angle of the motor is consistent with the reference angle at the initial moment of entering the body rotation stage, which will not be elaborated further in this disclosure.

[0253] Through the above process, the quadruped robot can be... Figure 4 The form shown in (b) is switched to Figure 4 The bipedal stance shown in (c)

[0254] 4. Front leg operation phase

[0255] See Figure 6 As shown, after the quadruped robot switches from a quadrupedal support state to a bipedal support state, it has good static balance due to the contact support between the lower leg link of the hind leg and the ground. Therefore, the two front legs can perform specific actions and operation functions.

[0256] like Figure 12 As shown, in some embodiments, during the foreleg operation phase, the control method of this disclosure includes:

[0257] S1210. Determine the position of the toes of the front legs of the quadruped robot based on the preset motion trajectory.

[0258] S1220, determining the reference angle of each joint motor of the front leg according to the position of the front leg tip.

[0259] S1230, performing closed-loop control on the torque of the joint motor according to the difference between the reference angle and the actual motion angle of each joint motor of the front leg, and keeping the torque of each joint motor of the rear leg unchanged.

[0260] In some embodiments, the front leg of the quadruped robot in the biped standing state can be used to implement a specific action, which refers to a continuous trajectory in three-dimensional space with a mathematical expression, and the preset motion trajectory described in the present disclosure, which includes but is not limited to a straight line, a quadratic curve, a circular curve, and a novel curve, etc. The data expression of the preset motion trajectory can be used to represent the position of the front leg tip of the robot, which is represented as:

[0261]

[0262] In formula (9), p F (t) ref represents the position of the front leg tip of the robot at time t, f(t) ref represents the expression of the preset motion trajectory.

[0263] After determining the position of the front leg tip of the robot, the reference angle q F (t) ref of each joint motor of the front leg can be calculated by an inverse kinematics algorithm, which is represented as:

[0264] q F (t) ref = IK(p F (t) ref ) (10)

[0265] In formula (10), q F (t) ref represents the reference angle of the joint motor at time t, and IK represents the function of the inverse kinematics algorithm.

[0266] In the embodiments of the present disclosure, for each joint motor of the front leg, a position loop closed-loop mode can also be adopted, the reference angles of the front leg knee joint motor and the front leg hip joint motor are calculated by formula (10) above, and the actual rotation angle of the motor can be sampled in real time. The torque of the motor is optimized and adjusted according to the difference between the two, so as to realize the torque control of the front leg knee joint motor and the front leg hip joint motor.

[0267] Meanwhile, the motors of the joints of the rear legs continue to maintain the original position loop closed loop control mode, and the reference angles of the motors remain consistent with the reference angles at the initial moment when the front legs enter the operation stage, and the present disclosure will not repeat the description.

[0268] 5. Joint recovery stage

[0269] In some embodiments, the quadruped robot can be restored from the biped support state shown in Figure 6 to the initial state of quadruped support shown in Figure 1 The following will be described in combination with Figure 13 embodiments.

[0270] As shown in Figure 13 , in some embodiments, in the joint recovery stage, the control method of the present disclosure example includes:

[0271] S1310, in response to the front leg of the quadruped robot moving along the preset motion trajectory for a preset time, obtaining the current rotation angle of each joint motor of the front leg and the rear leg of the quadruped robot.

[0272] In combination with Figure 6 , when the front leg of the robot performs the characteristic action for a preset time, it indicates that the operation of the front leg of the robot is over, and thus it is necessary to control each joint motor to recover the state of the robot. The preset time can be set according to specific requirements, for example, 5 seconds, 10 seconds, etc., and the present disclosure does not limit this.

[0273] When it is determined that the operation of the front leg of the robot is over, each joint motor of the front leg and the rear leg can record the rotation angle at this time, that is, the current rotation angle q(0) described in the embodiments of the present disclosure.

[0274] S1320, for each joint motor, based on the current rotation angle and the initial rotation angle at the initial state of the quadruped robot, determining the reference angle of the quadruped robot in the motion process.

[0275] Taking any one joint motor as an example, the current rotation angle q(0) represents the rotation angle of the motor at the end of the operation stage of the front leg, and the initial rotation angle q(T recovery ) represents the rotation angle of the motor at the initial state shown in Figure 1 , and the total time T recovery of the joint recovery stage can be artificially set according to the scene requirements. During the joint recovery process, the reference position of the joint motor can be obtained by linear interpolation, which is represented as:

[0276]

[0277] In formula (11), q(t)ref represents the reference angle of the joint motor at time t. Thus, the reference angles of the joint motors in the joint recovery stage can be calculated by formula (11).

[0278] S1330, according to the difference between the reference angle and the actual motion angle of the quadruped robot in the motion process, the torque of each joint motor is closed-loop controlled in real time to drive the quadruped robot to move to the initial state.

[0279] In the joint recovery stage, the position loop closed-loop mode control is also used for each joint motor in the embodiment of the disclosure, the reference angles of the front leg knee joint motor, the front leg hip joint motor, the rear leg knee joint motor and the rear leg hip joint motor are calculated by formula (11), and the actual rotation angles of the motors can be sampled in real time. According to the difference between the two, the torque of the motor is optimized and adjusted, so as to realize the torque control of each joint motor, and restore the quadruped robot from the two-foot support state shown in Figure 6 to the initial state of four-foot support shown in Figure 1 .

[0280] In other embodiments, the inclination angle of the body can be detected in real time by the IMU sensor inside the body. When it is detected that the inclination angle of the body is greater than the threshold range, it indicates that the robot may have the risk of falling, so the quadruped robot is directly restored from the two-foot support state shown in Figure 6 to the initial state of four-foot support shown in Figure 1 , which will be described below in combination with Figure 14 embodiment.

[0281] As shown in Figure 14 , in some embodiments, in the joint recovery stage, the control method of the example of the disclosure includes:

[0282] S1410, the current included angle between the body of the quadruped robot and the ground is obtained, and in response to the current included angle not satisfying a preset condition, the current rotation angles of the joint motors of the front legs and the rear legs of the quadruped robot are obtained.

[0283] S1420, for each joint motor, the reference angle of the quadruped robot in the motion process is determined based on the current rotation angle and the initial rotation angle at the initial state of the quadruped robot.

[0284] S1430, according to the difference between the reference angle and the actual motion angle of the quadruped robot in the motion process, the torque of each joint motor is closed-loop controlled in real time to drive the quadruped robot to move to the initial state.

[0285] Specifically, in the process of switching the quadruped robot to the biped support state, the current included angle between the body and the ground can be detected in real time by the IMU sensor arranged in the body interior. If the current included angle does not satisfy the preset condition, for example, the current included angle between the body and the ground is detected to be 80°, which indicates that the body has tilted by 10° and there is a risk of overturning, the robot can be controlled to enter the joint recovery phase. If the current included angle satisfies the preset condition, for example, the current included angle between the body and the ground is detected to be 92°, which indicates that the body can basically maintain the vertical state with the ground and there is no risk of overturning, the joint recovery phase is not needed.

[0286] After determining that the robot enters the joint recovery phase, the joint motors of each joint can be controlled to restore the quadruped robot from the biped support state shown in FIG. 6B to the initial state of the quadruped support shown in FIG. 6A, and the specific process is described in the foregoing Figure 6 Figure 1 Figure 13 The foregoing is not repeated here.

[0287] As known from the foregoing, in the embodiments of the present disclosure, the quadruped robot can be switched to the biped support state by joint motor control, so that more operation functions and specific actions are realized by the front legs, and the operation performance and interaction performance of the quadruped robot are increased. In addition, the rear legs and the ground are in contact and stand, realizing static balance under the standing of the two legs, and improving the stability of the body. In addition, when the robot stands on two legs, the robot can be restored to the quadruped support state by detecting the included angle itself, avoiding the robot from overturning and protecting the safety of the robot.

[0288] The control device of the quadruped robot provided in the embodiments of the present disclosure is shown in FIG. 6A, and in some embodiments, the control device of the present disclosure includes: Figure 15

[0289] The torque determination module 11 is configured to determine the reference torque of each joint motor of the front leg of the quadruped robot based on the preset foot force;

[0290] The front leg torque control module 12 is configured to control the rotation of each joint motor of the front leg according to the reference torque of each joint motor of the front leg, so as to drive the body of the quadruped robot to rotate around the hip joint of the rear leg;

[0291] The time determination module 13 is configured to determine the target time according to the current body angle and the target angular velocity in response to the arm span length of the front leg being not less than a preset threshold; the target time is the time for the body to rotate from the current body angle to the target angle;

[0292] The angle determination module 14 is configured to determine the reference angle in the motion process of the hip joint motor of the rear leg of the quadruped robot according to the current body angle and the target angular velocity.​​​

[0293] The rear leg torque control module 15 is configured to control torque of the rear leg hip joint motor in real time according to the reference angle and the actual motion angle of the rear leg hip joint motor until the motion time reaches the target time.

[0294] As can be seen from the above, in the embodiments of the present disclosure, the shape switching of the quadruped robot and the biped standing robot is realized, and in the case of the rear leg standing, the front leg can be freely moved as a mechanical arm to realize some operation functions or specific actions, thereby enriching the operation functions of the quadruped robot.

[0295] As shown in FIG. 1, in some embodiments, the body lowering module 16 is further configured to: Figure 16

[0296] determine a reference position of the body in the motion process based on the initial height and the target height of the body; and the target height is lower than the initial height;

[0297] determine reference angles of each joint motor of the front leg and the rear leg of the quadruped robot according to the reference position of the body;

[0298] for each joint motor, control torque of the joint motor in real time based on the reference angle and an actual motion angle to drive the body height to be lowered to the target height.

[0299] In some embodiments, the body lowering module 16 is configured to:

[0300] for each joint motor of the rear leg, control torque of each joint motor of the rear leg based on the reference angle and an actual motion angle to drive the shank link of the rear leg to be parallelly attached to the ground.

[0301] In some embodiments, the body lowering module 16 is configured to:

[0302] determine a lowering height of the body based on the initial height and the target height;

[0303] determine a lowering speed of the body according to the lowering height of the body and a preset lowering time;

[0304] determine a reference position of the body in the motion process according to the initial height, the lowering speed and a motion time in the motion process of the body.

[0305] In some embodiments, the body lowering module 16 is configured to:

[0306] ​determining the reference angles of the joint motors of the front leg according to the reference position of the body and the lengths of the thigh link and the shank link of the front leg;

[0307] determining the reference angles of the joint motors of the back leg according to the reference position of the body and the lengths of the thigh link and the shank link of the back leg, or determining the reference angles of the joint motors of the back leg according to the reference position of the body and the length of the thigh link of the back leg.

[0308] In some embodiments, the torque determination module 11 is configured to:

[0309] mapping the preset foot force to the joint motors of the front leg based on a Jacobian matrix to obtain the reference torques of the joint motors of the front leg.

[0310] In some embodiments, the front leg torque control module 12 is configured to:

[0311] controlling the joint motors of the front leg to rotate according to the reference torques of the joint motors of the front leg, and controlling the torque of the hip joint motor of the back leg to be zero and the torque of the knee joint motor of the back leg to remain unchanged, so as to drive the body of the quadruped robot to rotate around the hip joint of the back leg.

[0312] In some embodiments, the time determination module 13 is configured to:

[0313] determining the arm span length of the front leg according to the first angle of the hip joint motor of the front leg, the second angle of the knee joint motor of the front leg, the length of the thigh link of the front leg, and the length of the shank link of the front leg;

[0314] in response to the arm span length being not less than a preset threshold, detecting the current body angle and the target angular velocity by an inertial measurement unit arranged on the body;

[0315] determining the target time according to the current body angle, the target angle, and the target angular velocity.

[0316] In some embodiments, the angle determination module 14 is configured to:

[0317] determining the reference angle of the hip joint motor of the back leg of the quadruped robot in the process of movement according to the current body angle, the target angular velocity, and the movement time in the process of movement of the body.

[0318] In some embodiments, the back leg torque control module 15 is configured to:

[0319] According to the difference between the reference angle and the actual motion angle of the rear leg hip joint motor, the torque of the rear leg hip joint motor is closed-loop controlled in real time, and the torque of the front leg joint motor and the rear leg knee joint motor remains unchanged.

[0320] As shown in Figure 16 In some embodiments, the control device of the present disclosure further comprises a front leg operation module 17 configured to:

[0321] determine the front leg toe position of the quadruped robot based on the preset motion trajectory;

[0322] determine the reference angle of each joint motor of the front leg according to the front leg toe position;

[0323] According to the difference between the reference angle and the actual motion angle of the rear leg hip joint motor, the torque of the rear leg hip joint motor is closed-loop controlled in real time, and the torque of the front leg joint motor and the rear leg knee joint motor remains unchanged.

[0324] As shown in Figure 16 In some embodiments, the control device of the present disclosure further comprises a joint recovery module 18 configured to:

[0325] In response to the front leg toe of the quadruped robot moving along the preset motion trajectory for a preset time, the current rotation angle of each joint motor of the front leg and the rear leg of the quadruped robot is obtained;

[0326] For each joint motor, the reference angle of the quadruped robot in the motion process is determined based on the current rotation angle and the initial rotation angle at the initial state of the quadruped robot;

[0327] According to the difference between the reference angle and the actual motion angle of the quadruped robot in the motion process, the torque of each joint motor is closed-loop controlled in real time to drive the quadruped robot to move to the initial state.

[0328] In some embodiments, the joint recovery module 18 of the present disclosure is configured to:

[0329] Obtain the current included angle between the body of the quadruped robot and the ground, and in response to the current included angle not satisfying a preset condition, obtain the current rotation angle of each joint motor of the front leg and the rear leg of the quadruped robot;

[0330] For each joint motor, the reference angle of the quadruped robot in the motion process is determined based on the current rotation angle and the initial rotation angle at the initial state of the quadruped robot;

[0331] According to a difference between a reference angle and an actual motion angle of the quadruped robot during motion, a torque of each joint motor is controlled in real time in a closed loop to drive the quadruped robot to the initial state.

[0332] As known from the above, in the embodiments of the present disclosure, the quadruped robot can be switched to the biped support state by joint motor control, so that more operation functions and specific actions are realized by the front legs, and the operation performance and interaction performance of the quadruped robot are increased. Moreover, the rear legs and the shank are stood in contact with the ground, so that static balance under the standing of the two legs is realized, and the body stability is improved. In addition, when the robot is standing on two legs, the robot can be restored to the quadruped support state by detecting the included angle, so that the robot is prevented from overturning, and the safety of the robot is protected.

[0333] The embodiments of the present disclosure provide a quadruped robot, comprising:

[0334] a processor; and

[0335] a memory storing computer instructions for causing the processor to execute the method according to any of the above embodiments.

[0336] The embodiments of the present disclosure provide a storage medium storing computer instructions for causing a computer to execute the method according to any of the above embodiments.

[0337] Obviously, the above embodiments are only examples for clearly illustrating the embodiments, and are not a limitation on the embodiments. Based on the above description, other different forms of changes or variations can be made by those skilled in the art. Here, all the embodiments need not and cannot be exhausted. The changes or variations derived therefrom are still within the protection scope of the present disclosure.

Claims

1. A control method of a quadruped robot, characterized by, The method comprises: determining reference torques of each joint motor of a front leg of the quadruped robot based on a preset plantar force; controlling the rotation of each joint motor of the front leg according to the reference torques of each joint motor of the front leg to drive the body of the quadruped robot to rotate around a hip joint of a rear leg; in response to the arm span length of the front leg being not less than a preset threshold, determining a target time according to a current body angle and a target angular velocity; the target time is the time for the body to rotate from the current body angle to a target angle; determining a reference angle of a hip joint motor of the rear leg during movement according to the current body angle and the target angular velocity; controlling the torque of the hip joint motor of the rear leg in real time according to the reference angle and the actual movement angle of the hip joint motor of the rear leg until the movement time reaches the target time.

2. The control method according to claim 1, characterized by, Before the step of determining the reference torques of each joint motor of the front leg of the quadruped robot based on the preset plantar force, the method further comprises: determining a reference position of the body during movement based on an initial height and a target height of the body; the target height is lower than the initial height; determining reference angles of each joint motor of the front leg and the rear leg of the quadruped robot according to the reference position of the body; for each joint motor, controlling the torque of the joint motor in real time based on the reference angle and the actual movement angle to drive the body to lower to the target height.

3. The control method according to claim 2, characterized by, For each joint motor, controlling the torque of the joint motor in real time based on the reference angle and the actual movement angle to drive the body to lower to the target height, comprises: for each joint motor of the rear leg, controlling the torque of the joint motor of the rear leg based on the reference angle and the actual movement angle to drive the shank link of the rear leg to be parallel to the ground.

4. The control method according to claim 2, characterized by, The step of determining the reference position of the body during movement based on the initial height and the target height of the body, comprises: determining a lowering height of the body based on the initial height and the target height; determining a lowering speed of the body according to the lowering height of the body and a preset lowering time; determining the reference position of the body during movement according to the initial height, the lowering speed and a movement time during movement of the body.

5. The control method according to claim 2, characterized by, The step of determining the reference angles of each joint motor of the front leg and the rear leg of the quadruped robot according to the reference position of the body, comprises: determining the reference angles of each joint motor of the front leg according to the reference position of the body and the lengths of the thigh link and the shank link of the front leg; determining the reference angles of each joint motor of the rear leg according to the reference position of the body and the lengths of the thigh link and the shank link of the rear leg; or, determining the reference angles of each joint motor of the rear leg according to the reference position of the body and the length of the thigh link of the rear leg.

6. The control method according to claim 1, characterized by, The step of determining the reference torques of each joint motor of the front leg of the quadruped robot based on the preset plantar force, comprises: mapping the preset plantar force to each joint motor of the front leg based on a Jacobian matrix to obtain the reference torque of each joint motor of the front leg; controlling the rotation of each joint motor of the front leg according to the reference torque of each joint motor to drive the body of the quadruped robot to rotate around the hip joint of the rear leg, comprising: controlling the rotation of each joint motor of the front leg according to the reference torque of each joint motor of the front leg, and controlling the torque of the hip joint motor of the rear leg to be zero and the torque of the knee joint motor of the rear leg to remain unchanged, to drive the body of the quadruped robot to rotate around the hip joint of the rear leg.

7. The control method according to claim 1, characterized by, determining the target time according to the current body angle and the target angular velocity in response to the arm span length of the front leg being not less than a preset threshold, comprising: determining the arm span length of the front leg according to the first angle of the hip joint motor of the front leg, the second angle of the knee joint motor of the front leg, the length of the thigh link of the front leg, and the length of the shank link of the front leg; in response to the arm span length being not less than the preset threshold, detecting the current body angle and the target angular velocity by the inertial measurement unit arranged on the body; determining the target time according to the current body angle, the target angle, and the target angular velocity.

8. The control method according to claim 1, characterized by, determining the reference angle of the hip joint motor of the rear leg of the quadruped robot in the movement process according to the current body angle and the target angular velocity, comprising: determining the reference angle of the hip joint motor of the rear leg of the quadruped robot in the movement process according to the current body angle, the target angular velocity, and the movement time in the movement process of the body; controlling the torque of the hip joint motor of the rear leg in real time according to the reference angle and the actual movement angle of the hip joint motor of the rear leg, comprising: controlling the torque of the hip joint motor of the rear leg in real time according to the difference between the reference angle and the actual movement angle of the hip joint motor of the rear leg, and controlling the torque of each joint motor of the front leg and the knee joint motor of the rear leg to remain unchanged.

9. The control method according to claim 1, characterized by, after controlling the torque of the hip joint motor of the rear leg in real time according to the reference angle and the actual movement angle of the hip joint motor of the rear leg until the movement time reaches the target time, further comprising: determining the position of the toe of the front leg of the quadruped robot based on a preset movement trajectory; determining the reference angle of each joint motor of the front leg according to the position of the toe of the front leg; controlling the torque of the joint motor in a closed loop according to the difference between the reference angle and the actual movement angle of each joint motor of the front leg, and controlling the torque of each joint motor of the rear leg to remain unchanged.

10. The control method according to claim 9, characterized by, further comprising: in response to the toe of the front leg of the quadruped robot moving along the preset movement trajectory for a preset time, obtaining the current rotation angle of each joint motor of the front leg and the rear leg of the quadruped robot; for each joint motor, determining the reference angle of the quadruped robot in the movement process based on the current rotation angle and the initial rotation angle at the initial state of the quadruped robot; According to the difference between the reference angle and the actual motion angle of the quadruped robot in the motion process, the torque of each joint motor is closed-loop controlled in real time to drive the quadruped robot to move to the initial state.

11. The control method according to any one of claims 1 to 9, characterized by, Further comprising: Obtaining the current included angle between the body of the quadruped robot and the ground, and in response to the current included angle not satisfying a preset condition, obtaining the current rotation angle of each joint motor of the front legs and the rear legs of the quadruped robot; For each joint motor, based on the current rotation angle and the initial rotation angle when the quadruped robot is in the initial state, the reference angle of the quadruped robot in the motion process is determined; According to the difference between the reference angle and the actual motion angle of the quadruped robot in the motion process, the torque of each joint motor is closed-loop controlled in real time to drive the quadruped robot to move to the initial state.

12. A control device of a quadruped robot characterized by comprising: Comprising: A torque determination module configured to determine the reference torque of each joint motor of the front legs of the quadruped robot based on a preset plantar force; A front leg torque control module configured to control the rotation of each joint motor of the front legs according to the reference torque of each joint motor of the front legs to drive the body of the quadruped robot to rotate around the hip joint of the rear legs; A time determination module configured to, in response to the arm span length of the front legs being not less than a preset threshold, determine a target time according to a current body angle and a target angular velocity; The target time is the time for the body to rotate from the current body angle to a target angle; An angle determination module configured to determine the reference angle of the hip joint motor of the rear legs of the quadruped robot in the motion process according to the current body angle and the target angular velocity; A rear leg torque control module configured to control the torque of the hip joint motor of the rear legs in real time according to the reference angle and the actual motion angle of the hip joint motor of the rear legs until the motion time reaches the target time.

13. A quadruped robot, characterized by Comprising: A processor; And A memory storing computer instructions for causing the processor to execute the method according to any one of claims 1 to 11.

14. A storage medium, characterized by A computer instruction is stored for causing a computer to execute the method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • A sort of special hexapod robot with climbing vertical walls ability

    AU2020100699A4

  • A modular wheel and / or conventional wheel assembly and control system

    WO2000032462A1