Gait control method of robot, robot, and control terminal

CN117944783BActive Publication Date: 2026-07-03SHENZHEN PENGXING INTELLIGENT RES CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN PENGXING INTELLIGENT RES CO LTD
Filing Date
2024-02-01
Publication Date
2026-07-03

Smart Images

  • Figure CN117944783B_ABST
    Figure CN117944783B_ABST
Patent Text Reader

Abstract

This application discloses a gait control method for a robot, a robot, and a control terminal, relating to the field of robotics technology, aiming to solve the problem that robot foot trajectory planning is difficult to adapt to different motion conditions and terrains. The robot includes a body, at least two legs, and a gait state machine and motor corresponding to each leg. The gait control method includes: acquiring foot information of the robot's supporting leg and phase information of each leg, as well as speed command information of the body; acquiring gait information of the robot based on the foot information of the supporting leg, the phase information of each leg, and the speed command information of the body; acquiring leg state information of each leg based on the gait information and the phase information of each leg; acquiring joint torque of the motor corresponding to each leg based on the leg state information; and controlling the rotation of the motor corresponding to each leg based on the joint torque of the motor corresponding to each leg to control the movement of each leg.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, specifically to a gait control method for a robot, a robot, and a control terminal. Background Technology

[0002] Gait in legged robots refers to the sequential planning of foot trajectories, enabling rhythmic movement. Legged robot motion is divided into a support phase and a swinging phase. Based on the phase difference between each leg, gait can be categorized into crawling gait, pacing gait, trot gait, bounding gait, and galloping gait, among others. Currently, legged robots primarily employ static planning methods for foot trajectory planning, which are ill-suited to adapting to diverse motion conditions and terrains. Summary of the Invention

[0003] In view of this, this application provides a gait control method for a robot, a robot and a control terminal, aiming to solve the problem that foot trajectory planning is difficult to adapt to different motion conditions and terrains.

[0004] The first aspect of this application provides a gait control method for a robot. The robot includes a body, at least two legs, and a gait state machine and a motor corresponding to each leg. The method includes: acquiring foot information of the supporting leg and phase information of each leg, and speed command information of the body. The foot information of the supporting leg includes the deviation between the current position and the initial position of the foot. The phase information of each leg includes the phase progress rate of the gait state machine corresponding to each leg. The speed command information of the body includes the speed deviation of the body. Based on the foot information of the supporting leg, the phase information of each leg, and the speed command information of the body, the robot's gait information is acquired. Based on the robot's gait information and the phase information of each leg, leg state information of each leg is acquired. Based on the leg state information of each leg, the joint torque of the motor corresponding to each leg is acquired. Based on the joint torque of the motor corresponding to each leg, the rotation of the motor corresponding to each leg is controlled to control the movement of each leg.

[0005] In this embodiment, the robot can control the movement of each leg using only the foot information of the supporting leg, the phase information of each leg, and the speed command information of the robot body, without the need for other redundant information. This simplifies the optimization problem of robot gait control, thus having better generalization ability, and being easy to deploy, and able to adapt to a wider range of motion conditions.

[0006] A second aspect of this application provides a robot, including: a body, at least two legs connected to the body, a gait state machine and a motor corresponding to each leg, and a control system communicating with the body. The control system includes a controller and a memory. The controller executes instructions stored in the memory to cause the robot to perform the following operations: acquiring foot information of the robot's supporting legs and phase information of each leg, and speed command information of the body. The foot information of the supporting legs includes the deviation between the current position and the initial position of the foot. The phase information of each leg includes the phase progress rate of the gait state machine corresponding to each leg. The speed command information of the body includes the speed deviation of the body. Based on the foot information of the supporting legs, the phase information of each leg, and the speed command information of the body, the robot's gait information is acquired. Based on the robot's gait information and the phase information of each leg, leg state information of each leg is acquired. Based on the leg state information of each leg, the joint torque of the motor corresponding to each leg is acquired. Based on the joint torque of the motor corresponding to each leg, the rotation of the motor corresponding to each leg is controlled to control the movement of each leg.

[0007] A third aspect of this application provides a robot control terminal, comprising: a terminal communication module for communicating with the robot, the robot including a body, at least two legs, and a gait state machine and a motor corresponding to each leg; and a terminal control module for communicating with the terminal communication module, the terminal control module including a terminal controller and a terminal memory, the terminal controller executing instructions stored in the terminal memory to cause the control terminal to perform the following operations: acquiring foot information of the robot's supporting legs and phase information of each leg, and speed command information of the body. The foot information of the supporting legs includes the deviation between the current position and the initial position of the foot. The phase information of each leg includes the phase progress rate of the gait state machine corresponding to each leg. The speed command information of the body includes the speed deviation of the body. Based on the foot information of the supporting legs, the phase information of each leg, and the speed command information of the body, the robot's gait information is acquired. Based on the robot's gait information and the phase information of each leg, the leg state information of each leg is acquired. Based on the leg state information of each leg, the joint torque of the motor corresponding to each leg is acquired. The rotation of the motor corresponding to each leg is controlled by adjusting the joint torque of the motor corresponding to each leg, thereby controlling the movement of each leg.

[0008] It is understood that the specific implementation methods and beneficial effects of the robot provided in the second aspect and the robot control terminal provided in the third aspect of this application are largely the same as the specific implementation methods and beneficial effects of the robot gait control method provided in the first aspect, and will not be repeated here. Attached Figure Description

[0009] Figure 1 This is a schematic diagram of the hardware structure of a robot provided in one embodiment of this application.

[0010] Figure 2 This is a schematic diagram of the hardware structure of a robot provided in another embodiment of this application.

[0011] Figure 3 yes Figure 2 The diagram shows the mechanical structure of the robot.

[0012] Figure 4 This is a schematic diagram of the working principle of a gait state machine provided as an example.

[0013] Figure 5 This is a flowchart of a robot gait control method provided in one embodiment of this application.

[0014] Figure 6 This is a flowchart of a training gait strategy provided as an example.

[0015] Figure 7 This is a schematic diagram of a scenario with terrain disturbances provided as an example.

[0016] Figure 8 This is a logical architecture diagram of a robot gait control method provided in one embodiment of this application.

[0017] Figure 9 This is a schematic diagram of the structure of a control terminal provided in one embodiment of this application. Detailed Implementation

[0018] It should be noted that in the embodiments of this application, "multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone, where A and B can be singular or plural. The terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects, not to describe a specific order or sequence.

[0019] It should also be noted that the methods disclosed in the embodiments of this application or the methods shown in the flowcharts include one or more steps for implementing the method. Without departing from the scope of the claims, the execution order of multiple steps can be interchanged, and some steps can also be deleted.

[0020] The following is combined with Figures 1 to 3 This application provides a detailed description of the robot as an embodiment.

[0021] A robot can be a legged robot or a combination of legged and wheeled robots. Legged robots include multi-legged robots. A multi-legged robot is a legged robot with two or more legs; for example, a multi-legged robot can be a quadruped robot. A robot is a machine capable of performing semi-autonomous or fully autonomous tasks. Robots are not limited to humanoid robotic devices; they can also include robots with configurations such as dog-like, horse-like, snake-like, fish-like, or ape-like. For example, a robot can be a quadrupedal robotic horse.

[0022] Figure 1 This is a schematic diagram of the hardware structure of a robot provided in one embodiment of this application.

[0023] like Figure 1 As shown, robot 100 includes a body 110, legs 120, and a control system 130. The body 110 is connected to at least two legs 120, each leg 120 being equipped with a corresponding gait state machine 140 and a motor 150. The control system 130 communicates with the body 110 and includes a controller 131 and a memory 132, with the controller 131 connected to the memory 132. The memory 132 is used to store data / instructions. The controller 131 is used to execute the instructions stored in the memory 132, enabling robot 100 to perform corresponding operations to achieve various functions, such as maintaining a standing posture in scenarios with terrain disturbances, or running / walking / standing in flat / rough terrain environments.

[0024] It is understood that the structure illustrated in this embodiment does not constitute a specific limitation on the robot. In other embodiments, the robot may include more or fewer parts than illustrated, or combine some parts, or separate some parts, or have different arrangements of parts.

[0025] For example, see also Figure 2 and Figure 3 , Figure 2 This is a schematic diagram of the hardware structure of a robot provided in another embodiment of this application. Figure 3 yes Figure 2 The diagram shows the mechanical structure of the robot.

[0026] like Figure 2 As shown, robot 300 includes a mechanical unit 301, a communication unit 302, a sensing unit 303, an interface unit 304, a storage unit 305, a display unit 306, an input unit 307, a control module 308, and a power supply 309. The various components of robot 300 can be connected in any way, including wired or wireless connections.

[0027] The following is combined with Figure 2 and Figure 3 The robot's various components are described in detail.

[0028] Mechanical unit 301 is the hardware of robot 300. For example... Figure 1 As shown, the mechanical unit 301 may include a drive plate 3011, a motor 3012, and a mechanical structure 3013.

[0029] like Figure 3 As shown, the mechanical structure 3013 may include a body 3014, extendable legs 3015, foot ends 3016, a rotatable head structure 3017, a rocking tail structure 3018, a carrying structure 3019, and a saddle structure 3020, etc. Each leg of the robot 300 includes a leg 3015, a foot end 3016, and a corresponding gait state machine (not shown).

[0030] It should be noted that the number of each component of the mechanical unit 301 can be one or more, which can be set according to the specific situation. For example, there can be 4 legs 3015, and each leg 3015 can be configured with 3 motors 3012, resulting in 12 motors 3012.

[0031] The communication unit 302 can be used for receiving and transmitting signals, and can also communicate with networks and other devices. For example, it can receive instructions from a remote control or other robots to move in a specific direction at a specific speed according to a specific gait, and then transmit these instructions to the control module 308 for processing. The communication unit 202 may include units such as WiFi, 4G, 5G, Bluetooth, and infrared.

[0032] The sensing unit 303 is used to acquire information data about the environment surrounding the robot 300 and monitor parameter data of various components inside the robot 300, and then sends this data to the control module 308. The sensing unit 303 includes various sensors, such as sensors for acquiring information about the surrounding environment: monocular camera, lidar (for remote object detection, distance determination, and / or velocity determination), millimeter-wave radar (for short-range object detection, distance determination, and / or velocity determination), and Global Navigation Satellite System (GNSS). Sensors for monitoring various components inside the robot 300 include: inertial measurement unit (IMU) (for measuring velocity, acceleration, and angular velocity), foot sensors (for monitoring the position of the foot's contact point, foot posture, magnitude and direction of the contact force), and temperature sensors (for detecting component temperature). Other sensors that can be configured on the robot 300, such as load sensors, touch sensors, motor angle sensors, and torque sensors, are not detailed here.

[0033] The interface unit 304 can be used to receive input information (e.g., data information, power, etc.) from external devices and transmit the received input information to one or more components within the robot 300, or it can be used to output information (e.g., data information, power, etc.) to external devices. The interface unit 304 may include a power port, a data port (such as a USB port), a memory card port, a port for connecting a device with an identification unit, an audio input / output (I / O) port, and a video I / O port, etc.

[0034] Storage unit 305 is used to store software programs and various data. Storage unit 305 mainly includes a program storage area and a data storage area. The program storage area can store operating system programs, motion control programs, application programs (such as text editors), etc. The data storage area can store data generated by the robot 20 during use (such as various sensor data acquired by the sensing unit 303, log file data, etc.).

[0035] The display unit 306 is used to display information input by the user or information provided to the user. The display unit 306 may include a display panel 3061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.

[0036] Input unit 307 can be used to receive input numerical or character information. Specifically, input unit 307 may include touch panel 3071 and / or other input devices 3072. Touch panel 3071, also known as touch screen, can collect user touch operations (such as operations performed by the user using their palm, fingers, or suitable accessories on or near touch panel 3071) and drive corresponding connected devices according to a pre-set program. Touch panel 3071 may include touch detection device 3073 and touch controller 3074. Touch detection device 3073 detects the user's touch position and the signal generated by the touch operation, and transmits the signal to touch controller 3074. Touch controller 3074 receives touch information from touch detection device 3073, converts it into touch point coordinates, and sends it to control module 308. It can also receive and execute instructions from control module 308. In addition to touch panel 3071, input unit 307 may also include other input devices 3072, such as remote control handles, which are not limited here.

[0037] Furthermore, the touch panel 3071 can cover the display panel 3061. When the touch panel 3071 detects a touch operation on or near it, it transmits the information to the control module 308 to determine the type of touch event. Subsequently, the control module 308 provides corresponding visual output on the display panel 3061 according to the type of touch event. Although in Figure 2 In this embodiment, the touch panel 3071 and the display panel 3061 are two independent components that implement input and output functions respectively. However, in some embodiments, the touch panel 3071 and the display panel 3061 can be integrated to implement input and output functions. The specific implementation is not limited here.

[0038] The control module 308 is the control center of the robot 300. It connects various components of the robot through various interfaces and lines. It controls the robot 300 as a whole by running or executing software programs stored in the storage unit 305 and calling data stored in the storage unit 305.

[0039] Power supply 309 is used to supply power to various components. Power supply 309 may include a battery and a power control board. The power control board is used to control battery charging and discharging, and to implement power consumption management functions. Figure 2 In the illustrated embodiment, power supply 309 is connected to control module 308. In other embodiments, power supply 309 may also be electrically connected to sensing unit 303 (such as camera, radar, speaker, etc.) and motor 3012. It should be noted that each component may be connected to a different power supply 309, or may be powered by the same power supply 309.

[0040] In some embodiments, the control terminal can control the robot 300. Specifically, the control terminal is communicatively connected to the robot 300. When communicating with the robot 300, the control terminal can send control commands to the robot 300. The robot 300 can receive the control commands through the communication unit 302 and, upon receiving the control commands, can transmit them to the control module 308, enabling the control module 308 to perform corresponding functions according to the control commands. The control terminal includes, but is not limited to, mobile phones, tablet computers, servers, personal computers, wearable smart devices, and other electronic devices.

[0041] Control commands can be determined based on preset conditions. In one embodiment, the sensing unit 303 can generate control commands based on the current environment of the robot 300. The control module 308 can determine whether the current speed and acceleration values ​​of the robot body 3014 and / or legs meet the corresponding preset conditions based on the control commands. If the preset conditions are met, the robot body 3014 and / or legs will maintain the current speed and acceleration values. If the preset conditions are not met, a target speed and target acceleration value will be determined based on the corresponding preset conditions, thereby controlling the robot body 3014 and / or legs to move at the target speed and target acceleration values. The communication method between the sensing unit 303 and the control module 308 can be wired or wireless. Wireless communication methods include, but are not limited to, wireless networks, mobile communication networks (3G, 4G, 5G, etc.), Bluetooth, and infrared.

[0042] The gait state machine involved in the embodiments of this application will be described in detail below.

[0043] Gait in legged robots refers to the sequential planning of foot trajectories, enabling rhythmic movement. Based on the phase difference between each leg, gait can be categorized into crawling gait, pacing gait, trotting gait, bounding gait, and galloping gait. A gait state machine is used to obtain corresponding leg state information based on the robot's gait information. The robot's gait information includes the step frequency of each leg, which refers to the phase progress rate of the leg within a control cycle. Leg state information includes whether the leg is in the support phase or the swing phase within a control cycle, and the corresponding phase progress rate when the leg is in the swing phase.

[0044] Figure 4 This is a schematic diagram of the working principle of a gait state machine provided as an example.

[0045] like Figure 4 As shown, for a robot's single leg, the phase progress rate of the leg starts from 0 as it moves from one foot to the next. In each control cycle, the gait state machine updates the phase progress rate of the corresponding leg based on the robot's gait information, thereby obtaining the corresponding leg state information. For example, when the leg begins to move but has not yet left the current foot position, the initial phase progress rate of the leg is 0. Assuming the leg's stride frequency is 1%, the gait state machine adds the initial phase progress rate of the leg to the stride frequency to obtain the target phase progress rate of 1%. Another example: when the leg has left the current foot position but has not yet touched the ground, assuming the leg's phase progress rate in the (N-1)th cycle is W... N-1 And the leg's step frequency in the Nth cycle is K. NThe gait state machine adds the phase progress rate of the leg in the (N-1)th cycle to the step frequency in the Nth cycle to obtain the target phase progress rate W of the leg in the Nth cycle. N =W N-1 +K N .

[0046] The gait state machine divides the robot's leg motion into a support phase and a swing phase based on the phase progress rate of the robot's legs. For example, for a single leg, the motion time from one foothold to the next is the total cycle length, and the phase progress rate corresponding to the total cycle length is 100%. When the phase progress rate of the robot's leg is less than or equal to a state threshold, the gait state machine determines that the robot's leg is in the support phase. When the phase progress rate of the robot's leg is greater than the state threshold, the gait state machine determines that the robot's leg is in the swing phase. The state threshold is set according to the phase progress rate corresponding to the total cycle length; for example, the state threshold can be set to 40% or 50%, etc.

[0047] In this embodiment, the gait state machine calculates the target phase progress rate of the robot's legs in the current control cycle based on the robot's leg stride frequency in the current control cycle and the robot's leg phase progress rate in the previous control cycle. Then, based on the target phase progress rate of the robot's legs in the current control cycle, it determines whether the robot's legs are in the support phase or the swing phase in the current control cycle. If the gait state machine determines that the robot's legs are in the swing phase in the current control cycle, it outputs leg state information, which includes whether the robot's legs are in the swing phase and the phase progress rate of the robot's legs in the current control cycle.

[0048] In one embodiment, the robot includes a ground contact detection module for detecting whether the robot's legs are in contact with the ground. If the gait state machine determines that the robot's legs are in the swing phase during the current control cycle, and the ground contact detection module detects that the robot's legs are in contact with the ground, then the gait state machine determines the ground contact scenario of the robot's legs based on the leg's phase progress rate. The ground contact scenarios of the robot's legs include normal ground contact, premature ground contact, and delayed ground contact.

[0049] For example, when the phase progress rate of the robot's leg is close to or equal to the phase progress rate corresponding to the total cycle length, the gait state machine determines that the robot's leg touches the ground as a normal touch.

[0050] When the phase progress rate of the robot's leg is greater than or equal to the premature ground contact threshold, and less than or equal to the phase progress rate corresponding to the total cycle length, the gait state machine determines that the robot's leg ground contact scenario is premature ground contact, and then resets the phase progress rate of the robot's leg to 0, thereby controlling the robot's leg ground contact. The premature ground contact threshold is set according to the state threshold; for example, the premature ground contact threshold can be set to the state threshold plus 20% or 30%, etc.

[0051] When the phase progress rate of the robot's leg is less than the premature ground contact threshold, the gait state machine determines that the ground contact detection is abnormal, and therefore judges that the robot's leg is still in the swing phase. The abnormal ground contact detection means that the robot's leg is mistakenly detected as prematurely touching the ground by the ground contact detection module.

[0052] In this embodiment, by determining that the ground contact detection is abnormal, it is beneficial to avoid the leg that has just entered the swing phase being mistakenly detected as prematurely touching the ground by the ground contact detection module.

[0053] When the phase progress rate of the robot's leg is greater than the phase progress rate corresponding to the total cycle length, and the ground contact detection module does not detect the robot's leg contacting the ground, the gait state machine determines the robot's leg ground contact scenario as delayed ground contact. Furthermore, when the phase progress rate of the robot's leg is greater than the delayed ground contact threshold, the gait state machine resets the phase progress rate of the robot's leg to 0, thereby controlling the robot's leg to touch the ground. The delayed ground contact threshold is set according to the phase progress rate corresponding to the total cycle length; for example, the delayed ground contact threshold can be set to 110% or 120%, etc.

[0054] In some embodiments, when the gait state machine determines that the robot's leg is in the swing phase and the received current step frequency of the robot's leg is 0, the gait state machine adjusts the current step frequency to a preset step frequency, and then calculates the phase progress rate of the robot's leg in the current control cycle based on the phase progress rate of the robot's leg in the previous control cycle and the preset step frequency of the robot's leg in the current control cycle. The preset step frequency is a positive number, for example, it can be set to 1% or 2%.

[0055] In this embodiment, by adjusting the current step frequency to a preset step frequency, it is beneficial to avoid the robot's body becoming unbalanced due to its legs being suspended in the air.

[0056] The gait control method of the robot according to the embodiments of this application is described in detail below.

[0057] It is understandable that the robot's gait control method can be applied to the robot itself, or to the control terminal that communicates with the robot.

[0058] Figure 5 This is a flowchart of a robot gait control method provided in one embodiment of this application.

[0059] by Figure 1 Taking the robot 100 shown as an example, the robot's gait control method includes the following steps:

[0060] S101, acquire the foot information of the robot's supporting legs and the phase information of each leg, as well as the speed command information of the robot body.

[0061] In this embodiment, the robot's legs include supporting legs and swinging legs. Supporting legs refer to the robot's legs in the supporting phase. Swinging legs refer to the robot's legs in the swinging phase.

[0062] The foot information of the supporting leg includes the deviation between the current position and the initial position of the foot. The current position refers to the position of the supporting leg's foot during the current control cycle. The initial position refers to the position of the supporting leg's foot when the phase progress rate is 0. The foot position of the supporting leg can be acquired through the robot's sensors or motor encoders.

[0063] For example, the deviation between the current position of the foot of the supporting leg and the initial position of the foot is SE = {SE0, ..., SE...} n}, where SE contains n dimensions, each corresponding to one of the robot's legs. n The calculation is shown in formula (1):

[0064]

[0065] Among them, F n This represents the current position of the tip of the robot's nth leg. (D) n E represents the initial position of the tip of the nth leg of the robot. n N represents the vector difference between the current position and the initial position of the tip of the robot's nth leg. n S represents the L2 norm of the vector representing the difference between the current position and the initial position of the tip of the robot's nth leg. n S represents the state value of the robot's nth leg. n It is either 0 or 1. When the robot's nth leg is in the support phase, S n The value is 0; however, when the robot's nth leg is in the swing phase, S... n It is 1. SE n This represents the deviation between the current position of the tip of the robot's nth leg and its initial position.

[0066] The phase information for each leg includes the phase progress rate of each leg. The phase progress rate of each leg can be obtained through the gait state machine corresponding to each leg.

[0067] The robot's speed command information includes the robot speed deviation. The robot speed deviation is the difference between the commanded robot speed and the robot's center-of-gravity speed. The commanded robot speed is a preset value, representing the desired center-of-gravity speed. The center-of-gravity speed refers to the speed of the robot's center of gravity. The center-of-gravity speed can be collected by the robot's sensors.

[0068] S102 obtains the robot's gait information based on the foot information of the supporting leg, the phase information of each leg, and the speed command information of the robot body.

[0069] In this embodiment, the robot's gait information includes the stride frequency of each leg. The robot can acquire gait information through a gait strategy. The gait information is associated with the foot information of the supporting leg, the phase information of each leg, and the speed command information of the robot body.

[0070] Specifically, in each control cycle, the gait strategy can determine the target supporting leg based on the foot information of multiple supporting legs, thereby enabling the robot to control the movement of the target supporting leg. The distance between the foot of the target supporting leg and the robot's body is the maximum value of multiple distances between the foot of the multiple supporting legs and the robot's body.

[0071] The movement of each leg of the robot is associated with its own phase progress rate. Therefore, in each control cycle, the gait strategy can adjust the phase progress rate of each leg based on the phase information of each leg. For example, the phase information of each leg includes the initial phase progress rate of each leg, and the movement of each leg is to adjust the phase progress rate of each leg from the initial phase progress rate to the target phase progress rate.

[0072] Furthermore, the phase progression adjustment amount of each leg of the robot is related to the step frequency of each leg. The phase progression adjustment amount is the difference between the target phase progression rate and the initial phase progression rate. Therefore, in each control cycle, the gait strategy can determine the step frequency of each leg based on the robot's speed command information and the phase progression adjustment amount of each leg. For example, the robot's speed command information includes the robot's speed deviation. When the speed deviation exceeds a preset range, it indicates that the robot's center of mass speed deviates from the commanded speed. In this case, the step frequency needs to be increased to reduce the speed deviation and bring the robot's center of mass speed closer to the commanded speed, thereby adapting the robot's gait to the commanded speed. In each control cycle, the step frequency of each leg is equivalent to the phase progression adjustment amount of each leg.

[0073] S103: Based on the robot's gait information and the phase information of each leg, obtain the leg state information of each leg.

[0074] In this embodiment, the leg state information includes whether the leg is in the support phase or the swing phase during a control cycle, and the corresponding phase progress rate when the leg is in the swing phase. The robot can obtain the leg state information of each leg through the gait state machine corresponding to each leg.

[0075] The working principle of the gait state machine can be found in [reference needed]. Figure 4 The relevant descriptions will not be repeated here.

[0076] S104: Based on the leg status information of each leg, obtain the joint torque of the motor corresponding to each leg.

[0077] In this embodiment, the robot can obtain the phase progress rate of each leg based on the leg state information of each leg, and then determine the foot position and posture of each leg based on the phase progress rate of each leg. Then, through the inverse kinematics algorithm, the joint torque of the motor corresponding to each leg is calculated based on the foot position and posture of each leg.

[0078] S105 controls the rotation of the motor corresponding to each leg based on the joint torque of the motor corresponding to each leg, thereby controlling the movement of each leg.

[0079] In this embodiment, the robot can control the movement of each leg using only the foot information of the supporting leg, the phase information of each leg, and the speed command information of the robot body, without the need for other redundant information. This simplifies the optimization problem of robot gait control, thus having better generalization ability, and being easy to deploy, and able to adapt to a wider range of motion conditions.

[0080] The gait strategies involved in the embodiments of this application will be described in detail below.

[0081] Gait strategy is a control model that controls a robot to move according to a planned gait. In this embodiment, the gait strategy adopts a reinforcement learning method, that is, controlling the robot to move according to different gaits, observing the robot's movement state and obtaining reward values, thereby gradually adjusting the gait strategy to obtain higher reward values.

[0082] In some embodiments, the robot's gait control method further includes training a gait strategy.

[0083] Among them, the gait strategy is used to obtain the robot's gait information based on the foot information of the supporting leg, the phase information of each leg, and the speed command information of the robot body.

[0084] In one embodiment, such as Figure 6 As shown, training a gait strategy may include the following steps:

[0085] S201, calculates the combined reward value of the robot's energy consumption and the deviation of the supporting leg's foot placement.

[0086] In this embodiment, the combined reward value of the robot's energy consumption and the deviation of the supporting leg's foot landing is used to optimize the robot's energy consumption and motion posture.

[0087] For example, the calculation of the combined reward value of the robot's energy consumption and the support leg landing deviation is shown in formula (2):

[0088]

[0089] Where i represents the number of leg joints in the robot. τ i ω represents the joint torque of the i-th leg joint of the robot. iLet represent the joint angular velocity of the i-th leg joint of the robot. This represents the robot's velocity vector, which includes velocity components in three dimensions: roll angle, pitch angle, and yaw angle. xy This represents the robot's planar velocity in the plane formed by the roll and pitch directions. yaw This represents the robot's velocity component in the yaw direction. SE represents the deviation between the current position and the initial position of the supporting leg's foot. R represents the combined reward value of the robot's energy consumption and the supporting leg's landing deviation.

[0090] also, This represents the robot's energy reward value. This represents the bonus value for the deviation in foot placement of the supporting leg.

[0091] S202 optimizes the gait of each leg based on the combined reward value of the robot's energy consumption and the foot landing deviation of the supporting leg.

[0092] In this embodiment, the comprehensive reward value for the robot's energy consumption and supporting leg landing deviation includes both the robot's energy consumption reward value and the supporting leg landing deviation reward value. The robot's energy consumption reward value is used to enable the gait strategy to learn a gait with lower energy consumption, thereby reducing the robot's energy consumption during movement. The supporting leg landing deviation reward value is used to enable the gait strategy to learn a gait with smaller supporting leg landing deviation, thus making the robot's movement more aesthetically pleasing. The comprehensive reward value for the robot's energy consumption and supporting leg landing deviation takes into account both the robot's energy consumption and supporting leg landing deviation, enabling the gait strategy to learn a gait with both lower energy consumption and smaller supporting leg landing deviation, thus ensuring that the robot's movement combines low energy consumption and aesthetic appeal.

[0093] S203 calculates the center of gravity stability bonus value based on the speed command information of the fuselage.

[0094] In this embodiment, the centroid stability bonus value is used to optimize the stability of the robot's motion.

[0095] For example, the calculation of the centroid stability reward value is shown in formula (3):

[0096]

[0097] Among them, V Error,xy V represents the deviation of the robot's plane velocity in the plane formed by the roll angle and pitch angle directions. Error,yaw This represents the velocity component deviation of the robot in the yaw direction. P represents the centroid stability bonus value.

[0098] S204 optimizes the stability of the fuselage based on the center of gravity stability bonus value.

[0099] In this embodiment, the center-of-gravity stability reward value considers the velocity component deviations in three dimensions: roll angle, pitch angle, and yaw angle. The velocity component deviations in the roll and pitch directions together constitute the fuselage plane velocity deviation, and the fuselage plane velocity deviation and the velocity component deviation in the yaw direction together constitute the fuselage velocity deviation. The center-of-gravity stability reward value is used to enable the gait strategy to learn a gait with smaller fuselage velocity deviations, making the fuselage center-of-gravity velocity closer to the fuselage command velocity, thereby adapting the robot's gait to the fuselage command velocity and making the robot's movement more stable.

[0100] It is understood that in other embodiments, the gait strategy training may only perform steps S201 and S202, or only perform steps S203 and S204.

[0101] For example, the reinforcement learning task of gait strategy could be to control a robot to maintain a standing posture in a scenario with terrain disturbances. Figure 7 As shown, the terrain disturbance scenario includes a first disturbance source and a second disturbance source. The first and second disturbance sources pull on one or more of the robot's legs in different directions and at different speeds. Training the gait strategy can execute steps S203 and S204, that is, calculating the center of mass stability reward value based on the robot's speed command information, thereby gradually adjusting the gait strategy, optimizing the robot's stability, and enabling the robot to maintain a standing posture.

[0102] For example, the reinforcement learning task of gait strategy can be to control the robot to adaptively adjust its gait under different working conditions. Working conditions can include flat or rugged terrain. Training the gait strategy can be done by executing steps S201 and S202, which calculate the combined reward value of the robot's energy consumption and the foot landing deviation of the supporting leg, thereby gradually adjusting the gait strategy and optimizing the gait of each leg, so that the robot can run / walk / stand in flat / rugged terrain environments with a Trot or Trot-like gait.

[0103] Figure 8 This is a logical architecture diagram of a robot gait control method provided in one embodiment of this application.

[0104] like Figure 8 As shown, the logical architecture of the gait control method includes a gait strategy 210, a gait state module 220, a state estimation module 230, a low-level controller 240, and a motor module 250. The gait strategy 210 receives foot information of the robot's supporting legs and phase information of each leg from the state estimation module 230, as well as speed command information of the robot body. Based on the foot information of the supporting legs, the phase information of each leg, and the speed command information of the robot body, it obtains the robot's gait information.

[0105] The gait state module 220 includes a gait state machine 221 corresponding to each leg of the robot. The gait state module 220 is used to receive gait information of the robot from the gait strategy 210 and phase information of each leg from the state estimation module 230, and to obtain leg state information of each leg based on the robot's gait information and the phase information of each leg.

[0106] The state estimation module 230 receives robot state parameters from the underlying controller 240 and, based on these parameters, obtains the foot position information of the robot's supporting legs, the phase information of each leg, and the speed command information of the robot body. The robot's state parameters include the foot position of the supporting legs, the phase rate of each leg, and the velocity of the robot's center of gravity. The underlying controller 240 can receive various data from the robot's sensors or motor encoders and process this data into the robot's state parameters.

[0107] The underlying controller 240 is used to receive leg state information of each leg from the gait state module 220, and obtain the joint torque of the motor corresponding to each leg based on the leg state information of each leg.

[0108] The motor module 250 includes a motor corresponding to each leg of the robot. The motor module 250 is used to receive the joint torque of the motor corresponding to each leg from the underlying controller 240, and control the rotation of the motor corresponding to each leg according to the joint torque of the motor corresponding to each leg, so as to control the movement of each leg.

[0109] It is understood that the modules described above do not constitute a specific limitation on the logical architecture of the gait control method. In other embodiments, the logical architecture of the gait control method may include more or fewer modules than illustrated, or combine some modules, or split some modules.

[0110] The control terminal of the embodiments of this application is described in detail below.

[0111] Figure 9 This is a schematic diagram of the structure of a control terminal provided in one embodiment of this application.

[0112] like Figure 9As shown, the control terminal 400 includes a terminal communication module 410 and a terminal control module 420. The terminal communication module 410 communicates with the robot, which includes a body, at least two legs, and a gait state machine and motor corresponding to each leg. The terminal control module 420 communicates with the terminal communication module 410 and includes a terminal controller 421 and a terminal memory 422. The terminal memory 422 stores data / instructions. The terminal controller 421 executes the instructions stored in the terminal memory 422, causing the control terminal 400 to perform the following operations: acquire the foot information of the robot's supporting legs and the phase information of each leg, as well as the speed command information of the body; acquire the robot's gait information based on the foot information of the supporting legs, the phase information of each leg, and the speed command information of the body; acquire the leg state information of each leg based on the robot's gait information and the phase information of each leg; and acquire the joint torque of the motor corresponding to each leg based on the leg state information. The rotation of the motor corresponding to each leg is controlled by adjusting the joint torque of the motor corresponding to each leg, thereby controlling the movement of each leg.

[0113] The specific implementation methods of the above operations are as follows: Figure 5 The process shown is roughly the same, so it will not be repeated here.

[0114] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the control terminal. In other embodiments, the control terminal may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0115] The embodiments of this application have been described in detail above with reference to the accompanying drawings. However, this application is not limited to the above embodiments. Within the scope of knowledge possessed by those skilled in the art, various changes can be made without departing from the spirit of this application.

Claims

1. A gait control method for a robot, the robot comprising a body, at least two legs, and a gait state machine and a motor corresponding to each leg, characterized in that, The method includes: The robot acquires foot information of its supporting legs, phase information of each leg, and speed command information of the robot body; wherein, the foot information of the supporting legs includes the deviation between the current position and the initial position of the foot; the phase information of each leg includes the phase progress rate of the gait state machine corresponding to each leg; and the speed command information of the robot body includes the speed deviation of the robot body. Based on the foot information of the supporting leg, the phase information of each leg, and the speed command information of the robot body, the robot's gait information is obtained to form a gait strategy. The gait strategy includes calculating a comprehensive reward value for the robot's energy consumption and supporting leg landing deviation, optimizing the gait of each leg based on the comprehensive reward value; and / or, calculating a center of mass stability reward value based on the speed command information of the robot body, optimizing the stability of the robot body based on the center of mass stability reward value. The comprehensive reward value for the robot's energy consumption and supporting leg landing deviation includes the robot's energy consumption reward value and the supporting leg landing deviation reward value. The robot's energy consumption reward value is used to enable the gait strategy to learn a gait with lower energy consumption, thereby reducing the robot's energy consumption during movement. The supporting leg landing deviation reward value is used to enable the gait strategy to learn a gait with smaller supporting leg landing deviation, thereby making the robot's movement posture more aesthetically pleasing. The center of mass stability reward value is used to enable the gait strategy to learn a gait with smaller body speed deviation, making the body's center of mass speed approach the body command speed. Based on the robot's gait information and the phase information of each leg, obtain the leg state information of each leg; Based on the leg state information of each leg, the joint torque of the motor corresponding to each leg is obtained; Based on the joint torque of the motor corresponding to each leg, the motor corresponding to each leg is controlled to rotate, thereby controlling the movement of each leg.

2. The gait control method for a robot as described in claim 1, characterized in that, The step of obtaining leg state information for each leg based on the robot's gait information and the phase information of each leg includes: The target phase progress rate of the gait state machine corresponding to each leg in the current control cycle is obtained by adding the step frequency of each leg in the current control cycle to the phase progress rate of the gait state machine corresponding to each leg in the previous control cycle; wherein, the gait information of the robot includes the step frequency of each leg. Based on the target phase progress rate of the gait state machine corresponding to each leg in the current control cycle, obtain the leg state information of each leg in the current control cycle.

3. A robot, characterized in that, include: body; At least two legs connected to the fuselage; The gait state machine and motor corresponding to each leg; and A control system communicating with the robot body, the control system including a controller and a memory, the controller executing instructions stored in the memory to cause the robot to perform the following operations: The robot acquires foot information of its supporting legs, phase information of each leg, and speed command information of the robot body; wherein, the foot information of the supporting legs includes the deviation between the current position and the initial position of the foot; the phase information of each leg includes the phase progress rate of the gait state machine corresponding to each leg; and the speed command information of the robot body includes the speed deviation of the robot body. Based on the foot information of the supporting leg, the phase information of each leg, and the speed command information of the robot body, the robot's gait information is obtained to form a gait strategy. The gait strategy includes calculating a comprehensive reward value for the robot's energy consumption and supporting leg landing deviation, optimizing the gait of each leg based on the comprehensive reward value; and / or, calculating a center of mass stability reward value based on the speed command information of the robot body, optimizing the stability of the robot body based on the center of mass stability reward value. The comprehensive reward value for the robot's energy consumption and supporting leg landing deviation includes the robot's energy consumption reward value and the supporting leg landing deviation reward value. The robot's energy consumption reward value is used to enable the gait strategy to learn a gait with lower energy consumption, thereby reducing the robot's energy consumption during movement. The supporting leg landing deviation reward value is used to enable the gait strategy to learn a gait with smaller supporting leg landing deviation, thereby making the robot's movement posture more aesthetically pleasing. The center of mass stability reward value is used to enable the gait strategy to learn a gait with smaller body speed deviation, making the body's center of mass speed approach the body command speed. Based on the robot's gait information and the phase information of each leg, obtain the leg state information of each leg; Based on the leg state information of each leg, the joint torque of the motor corresponding to each leg is obtained; Based on the joint torque of the motor corresponding to each leg, the motor corresponding to each leg is controlled to rotate, thereby controlling the movement of each leg.

4. The robot as described in claim 3, characterized in that, The step of obtaining leg state information for each leg based on the robot's gait information and the phase information of each leg includes: The target phase progress rate of the gait state machine corresponding to each leg in the current control cycle is obtained by adding the step frequency of each leg in the current control cycle to the phase progress rate of the gait state machine corresponding to each leg in the previous control cycle; wherein, the gait information of the robot includes the step frequency of each leg. Based on the target phase progress rate of the gait state machine corresponding to each leg in the current control cycle, obtain the leg state information of each leg in the current control cycle.

5. A control terminal for a robot, characterized in that, include: A terminal communication module for communicating with the robot, the robot comprising a body, at least two legs, and a gait state machine and a motor corresponding to each leg; as well as A terminal control module communicates with the terminal communication module. The terminal control module includes a terminal controller and a terminal memory. The terminal controller executes instructions stored in the terminal memory to cause the control terminal to perform the following operations: The robot acquires foot information of its supporting legs, phase information of each leg, and speed command information of the robot body; wherein, the foot information of the supporting legs includes the deviation between the current position and the initial position of the foot; the phase information of each leg includes the phase progress rate of the gait state machine corresponding to each leg; and the speed command information of the robot body includes the speed deviation of the robot body. Based on the foot information of the supporting leg, the phase information of each leg, and the speed command information of the robot body, the robot's gait information is obtained to form a gait strategy. The gait strategy includes calculating a comprehensive reward value for the robot's energy consumption and supporting leg landing deviation, optimizing the gait of each leg based on the comprehensive reward value; and / or, calculating a center of mass stability reward value based on the speed command information of the robot body, optimizing the stability of the robot body based on the center of mass stability reward value. The comprehensive reward value for the robot's energy consumption and supporting leg landing deviation includes the robot's energy consumption reward value and the supporting leg landing deviation reward value. The robot's energy consumption reward value is used to enable the gait strategy to learn a gait with lower energy consumption, thereby reducing the robot's energy consumption during movement. The supporting leg landing deviation reward value is used to enable the gait strategy to learn a gait with smaller supporting leg landing deviation, thereby making the robot's movement posture more aesthetically pleasing. The center of mass stability reward value is used to enable the gait strategy to learn a gait with smaller body speed deviation, making the body's center of mass speed approach the body command speed. Based on the robot's gait information and the phase information of each leg, obtain the leg state information of each leg; Based on the leg state information of each leg, the joint torque of the motor corresponding to each leg is obtained; Based on the joint torque of the motor corresponding to each leg, the motor corresponding to each leg is controlled to rotate, thereby controlling the movement of each leg.