Methods, devices, equipment and storage media for leg positioning planning of multi-legged robots

By acquiring the gait sequence and current pose of the multi-legged robot, determining the phase of the time segment, and planning the positions of the leg lift and foot landing points, the problem of insufficient planning in the existing technology is solved, and the robot's motion control and terrain adaptability are improved.

CN119292319BActive Publication Date: 2025-11-14GUANGZHOU SHIYUAN ELECTRONICS CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310782157.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-28
Publication Date
2025-11-14
Estimated Expiration
2043-06-28

AI Technical Summary

Technical Problem

Existing technologies make it difficult to effectively plan the lifting and landing points of a legged robot over a period of time, affecting the robot's motion control and terrain adaptability.

Method used

By acquiring the gait sequence and current pose of the target leg of the multi-legged robot, the phase of each time segment is determined, and the positions of the leg lift point and foot landing point are planned based on this information.

Benefits of technology

It enables accurate planning of the lifting and landing points of the legs of a multi-legged robot over a period of time, thereby improving the robot's motion control and terrain adaptability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292319B_ABST
    Figure CN119292319B_ABST
Patent Text Reader

Abstract

This application provides a method, apparatus, device, and storage medium for planning the leg position of a multi-legged robot. The method includes: acquiring a gait sequence of a target leg of the multi-legged robot and the current pose of the multi-legged robot, wherein the target leg is any one of the legs of the multi-legged robot; determining the phase of the target leg in each time segment corresponding to the gait sequence based on the gait sequence; and planning the lift-off point and foot-landing point of the target leg in each time segment based on the current pose and the phase. This technical solution can realize the planning of the lift-off point and foot-landing point of a multi-legged robot's leg over a period of time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and in particular to methods, apparatus, devices and storage media for planning the position of legs of multi-legged robots. Background Technology

[0002] Ground mobile robots can be classified into tracked, wheeled, legged, and hybrid types based on their structure and locomotion. Compared to wheeled robots, legged robots have advantages such as strong terrain adaptability and high flexibility, and are widely used in many fields to replace humans in performing various complex tasks.

[0003] During the standing or walking motion of a legged robot, the robot obtains joint commands based on user needs through motion control algorithms. These commands are then sent to the joint motors, causing them to rotate or apply torque accordingly. This enables the robot to perform actions such as forward movement, backward movement, and lateral movement as required by the user. Some motion algorithms calculate joint commands based on the position of the robot's legs at the end of the support segment and the lifting and landing points of the swing segment over a given period of time. Therefore, it is essential to plan the lifting and landing points of the robot's legs over a specific time period. Summary of the Invention

[0004] This application provides a method, apparatus, device, and storage medium for planning the leg position of a multi-legged robot, in order to plan the lifting and landing points of the legs of a legged robot over a period of time.

[0005] Firstly, a method for planning the leg positions of a multi-legged robot is provided, including:

[0006] The gait sequence of the target leg of the multi-legged robot and the current pose of the multi-legged robot are obtained, wherein the target leg is any one of the legs of the multi-legged robot;

[0007] Based on the gait sequence, determine the phase of the target leg in each time segment corresponding to the gait sequence;

[0008] Based on the current pose and the phase, the lifting point and landing point of the target leg in each time segment are planned.

[0009] In this technical solution, the gait sequence of the target leg of the multi-legged robot and the current position of the multi-legged robot are first obtained. Then, based on the gait sequence of the target leg, the phase of the target leg in each time segment corresponding to the gait sequence is determined. Finally, based on the current pose of the multi-legged robot and the phase of the target leg in each time segment corresponding to the gait sequence, the lifting point position and landing point position of the target leg in each time segment are planned, thus realizing the planning of the lifting point and landing point position of the multi-legged robot's leg over a period of time.

[0010] In conjunction with the first aspect, in one possible implementation, planning the lift-point position and landing point position of the target leg in each time segment based on the current pose and the phase includes: planning the lift-point position of the target leg in each time segment based on the current pose and the phase; and planning the landing point position of the target leg in each time segment based on the phase and the lift-point position of the target leg in each time segment. By first planning the lift-point position of the target leg based on the pose of the multi-legged robot and the phase of the target leg in each time segment corresponding to the gait sequence, and then planning the landing point position of the target leg based on the phase and lift-point position of the target leg in each time segment corresponding to the gait sequence, reasonable planning of the lift-point and landing point can be achieved.

[0011] In conjunction with the first aspect, in one possible implementation, the step of planning the leg-lifting point position of the target leg in each time segment based on the current pose and the phase includes: if the phase of the target leg in the current time segment of the gait sequence is the support phase, determining the current foot position of the target leg based on the current pose, and determining the current foot position of the target leg as the leg-lifting point position of the target leg in the current time segment; if the phase of the target leg in the current time segment is the swing phase, determining the foot position of the target leg at the last moment in the first time segment as the leg-lifting point position of the target leg in the current time segment, wherein the first time segment is the previous time segment of the current time segment.

[0012] In conjunction with the first aspect, in one possible implementation, determining the foot position of the target leg at an intermediate moment in the future time segment based on the current pose includes: determining the future pose of the multi-legged robot at the intermediate moment based on the current pose and the movement speed of the multi-legged robot; and determining the foot position of the target leg at the intermediate moment based on the future pose of the multi-legged robot at the intermediate moment. By first determining the future pose of the multi-legged robot based on its current pose, and then determining the foot position of the multi-legged robot's leg based on its future pose, the foot position of the multi-legged robot's leg at a future time segment can be accurately determined.

[0013] In conjunction with the first aspect, in one possible implementation, determining the foot position of the target leg at the intermediate time based on the future pose of the multi-legged robot at the intermediate time includes: performing coordinate transformation on the future pose of the multi-legged robot at the intermediate time to obtain the foot position of the target leg at the intermediate time.

[0014] In conjunction with the first aspect, in one possible implementation, the step of planning the landing position of the target leg in each time segment based on the phase and the lifting point position of the target leg in each time segment includes: if the phase of the target leg in the target time segment is the support phase, determining the lifting point position of the target leg in the target time segment as the landing position of the target leg in the target time segment, wherein the target time segment is any time segment in the gait sequence; if the phase of the target leg in the target time segment is the swing phase, determining the lifting point position of the target leg in a third time segment as the landing position of the target leg in the target time segment, wherein the third time segment is the next time segment after the target time segment.

[0015] In conjunction with the first aspect, in one possible implementation, the step of planning the landing position of the target leg in each time segment based on the phase and the lifting point position of the target leg in each time segment includes: if the phase of the target leg in the target time segment is the support phase, determining the landing position of the target leg in the third time segment as the landing position of the target leg in the target time segment, where the target time segment is any time segment in the gait sequence and the third time segment is the next time segment after the target time segment; if the phase of the target leg in the target time segment is the swing phase, determining the lifting point position of the target leg in the third time segment as the landing position of the target leg in the target time segment.

[0016] Secondly, a multi-legged robot leg position planning device is provided, comprising:

[0017] The acquisition module is used to acquire the gait sequence of the target leg of the multi-legged robot and the current pose of the multi-legged robot, wherein the target leg is any one leg of the multi-legged robot;

[0018] A phase determination module is used to determine the phase of the target leg in each time segment corresponding to the gait sequence based on the gait sequence.

[0019] The planning module is used to plan the lifting point position and landing point position of the target leg in each time segment based on the current pose and the phase.

[0020] Thirdly, a computer device is provided, including a memory and one or more processors, the memory being connected to the one or more processors, the one or more processors being configured to execute one or more computer programs stored in the memory, the one or more processors, when executing the one or more computer programs, causing the computer device to implement the multi-legged robot leg position planning method of the first aspect described above.

[0021] Fourthly, a computer-readable storage medium is provided, which stores a computer program including program instructions that, when executed by a processor, cause the processor to perform the multi-legged robot leg position planning method of the first aspect.

[0022] This application can achieve the following technical effect: it realizes the planning of the lifting point and landing point of the legs of a multi-legged robot over a period of time. Attached Figure Description

[0023] Figure 1 A flowchart illustrating a method for planning the position of the legs of a multi-legged robot, provided in an embodiment of this application;

[0024] Figure 2 This application provides a gait sequence for a quadruped robot in a running (gallop) gait.

[0025] Figure 3 A schematic diagram showing the foot position provided in an embodiment of this application;

[0026] Figure 4 This is a schematic diagram of the structure of a multi-legged robot leg position planning device provided in an embodiment of this application;

[0027] Figure 5 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0028] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.

[0029] The technical solution of this application is applicable to the motion planning scenario of robots. Specifically, it is used to plan the lift-off point and landing point of each leg of a multi-legged robot over a period of time, enabling the multi-legged robot to perform motion planning for a given period. In this application, a multi-legged robot refers to a robot with multiple legs, specifically a bipedal robot, a quadrupedal robot, or a hexapedal robot, etc. The lift-off point refers to the position where the multi-legged robot's leg leaves the ground, and the landing point refers to the position where the multi-legged robot's leg contacts the ground.

[0030] The technical solution of this application can be applied to computer equipment. The computer equipment can be a multi-legged robot or a device connected to the multi-legged robot. The device connected to the multi-legged robot can be a back-end system that is compatible with the multi-legged robot, a cloud server in the cloud platform corresponding to the multi-legged robot, etc., and is not limited to the examples here.

[0031] The technical solution of this application is described in detail below.

[0032] See Figure 1 , Figure 1 A flowchart illustrating a method for planning the position of the legs of a multi-legged robot, as provided in this application embodiment, is shown below. Figure 1 As shown, the method includes the following steps:

[0033] S101, acquire the gait sequence of the target leg of the multi-legged robot and the current pose of the multi-legged robot.

[0034] Here, the target leg can be any leg of the multi-legged robot. Taking a quadruped robot as an example, a quadruped robot has four legs, namely the left front leg, right front leg, left hind leg, and right hind leg. Then the target leg can be the left front leg, right front leg, left hind leg, or right hind leg of the quadruped robot.

[0035] The gait sequence of the target leg is used to reflect the leg phase posture of the target leg within a planned time period, including the current time. The gait sequence of the target leg includes a time series and a phase series. The time series includes multiple ordered time points within the planned time period, and the time series can be represented as {t0, t1, t2, t3…t}. n The phase sequence includes the gait phases of the target leg during the planned time period. For example, refer to... Figure 2 , Figure 2 The diagram shows the gait sequence of a quadruped robot in a running (gallop) gait. Figure 2 The black area in the image represents the support phase of the leg within a time segment. The support phase, also known as the standing phase, refers to the state in which the leg is in contact with the ground. Figure 2 The white area in the diagram represents the leg in the swing phase within a time segment. The swing phase, also known as the flight phase, refers to the state where the leg is off the ground and not in contact with it. Assuming the target leg is the right foreleg of a quadruped robot, the quadruped robot's gait sequence is as follows: Figure 2 As shown, the gait sequence of the target leg is as follows: Figure 2 As shown in Q1.

[0036] Specifically, the gait sequence of the multi-legged robot can be obtained based on user input or upper-level applications (referring to applications running in the multi-legged robot to implement a certain function), and then the gait sequence of the target leg of the multi-legged robot can be obtained from the gait sequence of the multi-legged robot.

[0037] Here, the current pose of the multi-legged robot is used to represent the position and orientation of the multi-legged robot at the current moment, which can be represented as t. c The current pose of the multi-legged robot can be represented as p c .

[0038] Specifically, the current pose of the multi-legged robot can be obtained through various sensors on the robot, such as displacement sensors and posture sensors.

[0039] S102, Based on the gait sequence of the target leg, determine the phase of each time segment corresponding to the gait sequence of the target leg.

[0040] Here, the time segments corresponding to the gait sequence of the target leg are derived based on the phase changes of the target leg within the planned time period. Two adjacent time points where the phase of the target leg changes represent the start and end points of the time segment, respectively. The phases of two adjacent time segments of the target leg within the planned time period are different. Within each time segment, the phase of the target leg remains constant. The gait sequence of the target leg is used as... Figure 2 Taking Q1 as an example, the time points when the phase changes in Q1 are t2, t7, and t8. 10 The time segments corresponding to the gait sequence of the target leg are d11 for segments 0-2, d12 for segments 3-7, d13 for segments 8-10, and d14 for segments 11-12. It should be understood that the time segments corresponding to the gait sequence of the target leg vary depending on the specific gait sequence. For example, when the gait sequence of the target leg is... Figure 2 In the gait sequence Q2 of the left foreleg, the time points at which the phase changes are t1, t3, t9, and t 11 The time segments corresponding to the gait sequence of the target leg are time segment d21 for segment 0-1, time segment d22 for segment 2-3, time segment d23 for segment 4-9, time segment d24 for segment 10-11, and time segment d25 for segment 12.

[0041] Specifically, in the gait sequence of the target leg, two adjacent time points where the phase of the target leg changes can be identified. The time interval between these two adjacent time points is defined as the various time segments corresponding to the target leg in the gait sequence. Then, the phase of the target leg between these two adjacent time points is determined, thus obtaining the phase of the target leg in each time segment corresponding to the gait sequence. For example, the gait sequence of the target leg... Figure 2 In Q1, the time points when the phase changes are t2, t7, and t8. 10 According to t2, t7, t 10 Time segments d11 (the time period before t2), d12 (the time period between t2 and t7), and d13 (the time period between t7 and t8) can be determined. 10 The time interval between) and time segment d14(t) 10(Subsequent time periods); After determining time segments d11, d12, d13, and d14, it can be determined that the target leg is in the support phase in time segment d11, the swing phase in time segment d12, the support phase in time segment d13, and the swing phase in time segment d14.

[0042] S103, based on the current pose of the multi-legged robot and the phase of each time segment corresponding to the gait sequence of the target leg, plan the lifting point position and landing point position of the target leg in each time segment.

[0043] Here, the lifting point and landing point of the target leg in each time segment can be planned according to the following steps (1)-(2):

[0044] (1) Based on the current pose of the multi-legged robot and the phase of each time segment corresponding to the gait sequence of the target leg, plan the position of the leg lift point of the target leg in each time segment corresponding to the gait sequence of the target leg.

[0045] Here, the gait sequence of the target leg corresponds to various time segments, including the current time segment and future time segments. The current time segment refers to the time segment currently being experienced, and it includes the current moment. For example, the current moment t... c In Figure 2 Between t0 and t1, if the target leg is the right foreleg, then time segment d11 is the current time segment. A future time segment refers to a time segment that follows the current time segment. For example, Figure 2 If time segment d11 is the current time segment, then... Figure 2 Time segments d12, d13, and d14 in the text are all future time segments.

[0046] For the current time segment, the target leg's lifting point position in the current time segment can be planned using the following steps A1-A2:

[0047] A1. If the target leg is in the support phase in the current time segment, determine the current foot position of the target leg based on the current pose of the multi-legged robot, and determine the current foot position of the target leg as the leg lifting point position in the current time segment.

[0048] Here, the current foot position of the target leg refers to the location of the foot tip of the target leg of the multi-legged robot in its current pose. For example, the current pose of the multi-legged robot is as follows: Figure 3 As shown, the target leg is Figure 3 In T1, the current foot position of the target leg is Figure 3 The position of the foot L of T1 in the diagram.

[0049] When the leg is in the support phase, the relative position of the foot tip to the body of the multi-legged robot is fixed. Coordinate transformation can be performed on the current pose of the multi-legged robot to obtain the current foot tip position of the target leg. Specifically, the current pose of the multi-legged robot can be transformed according to a preset coordinate transformation formula to obtain the current foot tip position of the target leg.

[0050] In one feasible implementation, the preset coordinate transformation formula can be a positive kinematics formula, and the positive kinematics formula can be p. l =Kin(p, q) l ), where p is the pose of the multi-legged robot, p l q represents the foot position of the target leg. l q represents the preset joint position of the target leg. l This can be obtained through pre-calibration. The current pose p of the multi-legged robot is determined. c Then, set the current pose p c Substituting p into the forward kinematics formula and using the pre-calibrated joint position q l Substituting q into the forward kinematics formula l This allows you to determine the current pose p. c A series of coordinate transformations are performed to obtain the current foot position of the target leg. It should be understood that the corresponding q varies depending on the target leg. l Different, based on the current pose p c The current foot position obtained after conversion will also be different.

[0051] In another feasible implementation, the preset coordinate transformation formula can also be p. l =p+Rp l,hip Where R is the rotation matrix representing the pose of the multi-legged robot's body, and R is obtained based on the pose of the multi-legged robot, p l,hip Let p be the position of the center of the hip joint of the target leg in the body coordinate system of the multilegged robot. l,hip Based on pre-calibration, if the target leg is different, then p l,hip different.

[0052] In another feasible implementation, the preset coordinate transformation formula can also be p l= p+Rp l,hip +k(v c -v d ), where k is a constant, and k can be any h is the height of the multi-legged robot's body relative to the tips of its legs, g is the acceleration due to gravity, and v is the acceleration due to gravity. c For the estimated velocity of the multi-legged robot's body in the world coordinate system, v dLet be the expected velocity of the multi-legged robot's body in the world coordinate system.

[0053] To illustrate step A1, consider the following example: the target leg is the right foreleg of a quadruped robot, and the quadruped robot's gait sequence is as follows: Figure 2 As shown, the current time segment is Figure 2 In time segment d11, since the phase of time segment d11 is the support phase, the position of the leg lifting point in time segment d11 is determined as: the current foot position of the right front leg. The current foot position of the right front leg is obtained by coordinate transformation of the current pose of the multi-legged robot.

[0054] A2. If the target leg is in the swing phase in the current time segment, the position of the foot of the target leg at the last moment in the first time segment is determined as the position of the leg lift point in the current time segment.

[0055] The first time segment is the previous time segment of the current time segment. For example, the target leg is the left foreleg of a quadruped robot, and the quadruped robot's gait sequence is as follows: Figure 2 As shown, the current time segment is Figure 2 If time segment d21 is defined, then the first time segment is the previous time segment of time segment d21. Since the phase of time segment d21 is the swing phase and the phase of the previous time segment of time segment d21 is the support phase, the position of the left foreleg lifting point in the current time segment is determined to be the position of the left foreleg's foot at the last moment of the previous time segment of time segment d21, which is also the position of the left foreleg's foot at the last moment of the previous support phase.

[0056] The foot position of the target leg at the last moment of the first time segment can be directly obtained from the historical records. If the foot position of the target leg at the last moment of the first time segment does not exist in the historical records, the pose of the multi-legged robot at the last moment of the first time segment can also be obtained from the historical records. Based on the pose at the last moment, the foot position of the target leg at the last moment of the first time segment can be determined. The foot position of the target leg at the last moment of the first time segment can be obtained by performing coordinate transformation on the pose at the last moment. The specific implementation of performing coordinate transformation on the pose at the last moment to obtain the foot position of the target leg at the last moment of the first time segment is similar to performing coordinate transformation on the current pose of the multi-legged robot to obtain the current foot position of the target leg in step A1 above, and can be referred to the description of step A1 above, which will not be repeated here.

[0057] For a future time segment, the target leg's lifting point position in the future time segment can be planned using the following steps B1-B2:

[0058] B1. If the target leg is in the support phase in the future time segment, determine the foot position of the target leg at the middle moment in the future time segment based on the current pose of the multi-legged robot, and determine the foot position of the target leg at the middle moment in the future time segment as the leg lifting point position of the target leg in the future time segment.

[0059] The foot position of the target leg at the midpoint of a future time segment can be determined through the following steps B21-B22:

[0060] B21. Based on the current position and speed of the multi-legged robot, determine the future pose of the multi-legged robot at the intermediate moment in a future time segment.

[0061] Here, the pose of the multi-legged robot in a future time segment can be called the future pose. The future pose of the multi-legged robot at a specific target moment within a future time segment refers to the pose of the multi-legged robot at that target moment. For example, if the future time segment is... Figure 2 In the time segment d13, time t8 is the time in this future time segment. Therefore, the future pose of the multi-legged robot at time t8 is the pose of the multi-legged robot at time t8.

[0062] The future pose of a multi-legged robot at the midpoint of a future time segment refers to the pose of the robot at that specific midpoint, where the midpoint is the point in time within that future time segment. The future pose of the multi-legged robot at the midpoint of a future time segment can be obtained through interpolation. The formula for calculating the future pose of the multi-legged robot at the midpoint of a future time segment is as follows:

[0063] p f =p c +v*[(t 终 -t 起 ) / 2-t c ]

[0064] Where, p f Let v be the future pose of the multi-legged robot at the midpoint of a future time segment, and t be the movement velocity of the multi-legged robot determined based on user commands. 起 and t 终 p represents the start and end times of a future time segment. c This is the current pose of the multi-legged robot.

[0065] B22, based on the future pose of the multi-legged robot at the midpoint of a future time segment, determines the foot position of the target leg at the midpoint of the future time segment.

[0066] Here, coordinate transformation can be performed on the future pose of the multi-legged robot at the midpoint of a future time segment to obtain the foot position of the target leg at the midpoint of the future time segment. The specific implementation of performing coordinate transformation on the future pose of the multi-legged robot at the midpoint of a future time segment to obtain the foot position of the target leg at the midpoint of the future time segment is the same as performing coordinate transformation on the current pose of the multi-legged robot to obtain the current foot position of the target leg in step A1 above, and can be referred to the description of step A1 above, which will not be repeated here.

[0067] First, determine the future pose of the multi-legged robot based on its current pose, and then determine the foot position of the multi-legged robot based on its future pose. This allows for an accurate determination of the foot position of the multi-legged robot's legs in the future.

[0068] To illustrate step B1, consider the case where the target leg is the left foreleg of a quadruped robot, and the quadruped robot's gait sequence is as follows: Figure 2 As shown, the future time segment is Figure 2 In time segment d22, since the phase of time segment d22 is the support phase, the position of the left foreleg lifting point in time segment d22 is determined as: the position of the left foreleg at the foot of the left foreleg at the middle moment of time segment d22, which is (t3-t1) / 2.

[0069] B2. If the target leg is in a swing phase in the future time segment, then the position of the target leg lifting point in the second time segment is determined as the position of the target leg lifting point in the future time segment.

[0070] The second time segment is the time segment preceding the future time segment. For example, the target leg is the right foreleg of a quadruped robot, and the quadruped robot's gait sequence is as follows: Figure 2 As shown, the future time segment is Figure 2 If the time segment is d12, then the second time segment is... Figure 2 In time segment d11, the position of the right foreleg lifting point in time segment d12 is determined as: the position of the right foreleg lifting point in time segment d11.

[0071] (2) Based on the phase of each time segment corresponding to the gait sequence of the target leg and the position of the leg lift point of each time segment corresponding to the gait sequence of the target leg, plan the landing point position of the target leg in each time segment.

[0072] In one feasible implementation, for each time segment corresponding to the gait sequence of the target leg, the landing point position of the target leg can be planned through the following steps C1-C2:

[0073] C1. If the target leg is in the support phase of the target time segment, the position of the leg lift point in the target time segment is determined as the position of the target leg landing point in the target time segment.

[0074] Here, the target time segment is any time segment in the gait sequence of the target leg. For example, the target leg is the right foreleg of a quadruped robot, and the quadruped robot's gait sequence is as follows: Figure 2 As shown, the target time segment can be Figure 2 The time segments are d11, d12, d13, or d14. If the target time segment is d11, the landing point of the right foreleg in time segment d11 can be determined as the lifting point of the right foreleg in time segment d11.

[0075] C2. If the target leg is in the swing phase in the target time segment, the position of the lifting point of the target leg in the third time segment is determined as the position of the landing point of the target leg in the target time segment.

[0076] The third time segment is the next time segment after the target time segment. For example, the target leg is the right foreleg of a quadruped robot, and the quadruped robot's gait sequence is as follows: Figure 2 As shown, the target time segment is d12, then Figure 2 In time segment d13, which is the third time segment, the phase of the right front leg in time segment d12 is the swing phase. Therefore, the landing point of the right front leg in time segment d12 is determined as the lifting point of the right front leg in time segment d13.

[0077] In another feasible implementation, for each time segment corresponding to the gait sequence of the target leg, the landing point position of the target leg can also be planned through the following steps D1-D2:

[0078] D1. If the target leg is in the support phase in the target time segment, the landing point of the target leg in the third time segment is determined as the landing point of the target leg in the target time segment.

[0079] For example, the target leg is the right foreleg of a quadruped robot, and the gait sequence of the quadruped robot is as follows: Figure 2 As shown, the target time segment is time segment d11, then Figure 2 In the time segment d12, which is the third time segment, the right foreleg is in the support phase in time segment d11. Therefore, the landing point of the right foreleg in time segment d11 can be determined as the landing point in time segment d12.

[0080] D2. If the target leg is in the swing phase in the target time segment, the position of the lifting point of the target leg in the third time segment is determined as the position of the landing point of the target leg in the target time segment.

[0081] The description of step D2 can be found in the description of step C2, and will not be repeated here.

[0082] By first planning the lift point of the target leg based on the pose of the multi-legged robot and the phase of the target leg in each time segment of the gait sequence, and then planning the landing point of the target leg based on the phase and lift point of the target leg in each time segment of the gait sequence, reasonable planning of the lift point and landing point can be achieved.

[0083] exist Figure 1 In the corresponding technical solution, the gait sequence of the target leg of the multi-legged robot and the current position of the multi-legged robot are first obtained. Then, based on the gait sequence of the target leg, the phase of the target leg in each time segment corresponding to the gait sequence is determined. Finally, based on the current pose of the multi-legged robot and the phase of the target leg in each time segment corresponding to the gait sequence, the lifting point and landing point of the target leg in each time segment are planned, thus realizing the planning of the lifting point and landing point of the multi-legged robot's leg over a period of time.

[0084] The method of this application has been described above; the apparatus of this application will be described below.

[0085] See Figure 4 , Figure 4 This is a schematic diagram of the structure of a multi-legged robot leg position planning device provided in an embodiment of this application. Figure 4 As shown, the multi-legged robot leg position planning device 20 includes:

[0086] The acquisition module 201 is used to acquire the gait sequence of the target leg of the multi-legged robot and the current pose of the multi-legged robot, wherein the target leg is any one leg of the multi-legged robot;

[0087] Phase determination module 202 is used to determine the phase of the target leg in each time segment corresponding to the gait sequence based on the gait sequence;

[0088] The planning module 203 is used to plan the lifting point position and landing point position of the target leg in each time segment based on the current pose and the phase.

[0089] In one possible design, the planning module 203 is specifically used to: plan the lifting point position of the target leg in each time segment based on the current pose and the phase; and plan the landing point position of the target leg in each time segment based on the phase and the lifting point position of the target leg in each time segment.

[0090] In one possible design, the planning module 203 is specifically used for: if the phase of the target leg in the current time segment of the gait sequence is the support phase, determining the current foot position of the target leg based on the current pose, and determining the current foot position of the target leg as the leg-lifting point position of the target leg in the current time segment; if the phase of the target leg in the current time segment is the swing phase, determining the foot position of the target leg at the last moment in the first time segment as the leg-lifting point position of the target leg in the current time segment, wherein the first time segment is the previous time segment of the current time segment.

[0091] In one possible design, the planning module 203 is specifically used for: if the target leg is in a support phase in a future time segment, determining the foot position of the target leg at the midpoint of the future time segment based on the current pose, and determining the foot position of the target leg at the midpoint of the future time segment as the leg lift point position of the target leg in the future time segment, wherein the future time segment is a time segment in the gait sequence that follows the current time segment; if the target leg is in a swing phase in the future time segment, determining the leg lift point position of the target leg in a second time segment as the leg lift point position of the target leg in the future time segment, wherein the second time segment is the previous time segment of the future time segment.

[0092] In one possible design, the planning module 203 is specifically used to: determine the future pose of the multi-legged robot at the intermediate moment based on the current pose and the movement speed of the multi-legged robot; and determine the foot position of the target leg at the intermediate moment based on the future pose of the multi-legged robot at the intermediate moment.

[0093] In one possible design, the planning module 203 is specifically used to: if the target leg is in a support phase in the target time segment, determine the leg lift point position in the target time segment as the landing point position of the target leg in the target time segment, where the target time segment is any time segment in the gait sequence; if the target leg is in a swing phase in the target time segment, determine the leg lift point position in the third time segment as the landing point position of the target leg in the target time segment, where the third time segment is the next time segment of the target time segment.

[0094] In one possible design, the planning module 203 is specifically used to: if the target leg is in a support phase in the target time segment, determine the landing point position of the target leg in the third time segment as the landing point position of the target leg in the target time segment, where the target time segment is any time segment in the gait sequence and the third time segment is the next time segment after the target time segment; if the target leg is in a swing phase in the target time segment, determine the lifting point position of the target leg in the third time segment as the landing point position of the target leg in the target time segment.

[0095] It should be noted that, Figure 4 For any content not mentioned in the corresponding embodiments, please refer to the description of the foregoing method embodiments, which will not be repeated here.

[0096] The aforementioned device first acquires the gait sequence of the target leg of the multi-legged robot and the current position of the multi-legged robot. Then, based on the gait sequence of the target leg, it determines the phase of the target leg in each time segment corresponding to the gait sequence. Finally, based on the current pose of the multi-legged robot and the phase of the target leg in each time segment corresponding to the gait sequence, it plans the lifting point and landing point of the target leg in each time segment, thus realizing the planning of the lifting point and landing point of the multi-legged robot's leg over a period of time.

[0097] See Figure 5 , Figure 5 This is a schematic diagram of the structure of a computer device 30 provided in an embodiment of this application. The computer device 30 includes a processor 301 and a memory 302. The memory 302 is connected to the processor 301, for example, via a bus.

[0098] Processor 301 is configured to support the computer device 30 in performing the corresponding functions in the methods described in the above method embodiments. Processor 301 may be a central processing unit (CPU), a network processor (NP), a hardware chip, or any combination thereof. The aforementioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0099] Memory 302 is used to store program code, etc. Memory 302 may include volatile memory (VM), such as random access memory (RAM); memory 302 may also include non-volatile memory (NVM), such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); memory 302 may also include combinations of the above types of memory.

[0100] Processor 301 can call the program code to perform the following operations:

[0101] The gait sequence of the target leg of the multi-legged robot and the current pose of the multi-legged robot are obtained, wherein the target leg is any one of the legs of the multi-legged robot;

[0102] Based on the gait sequence, determine the phase of the target leg in each time segment corresponding to the gait sequence;

[0103] Based on the current pose and the phase, the lifting point and landing point of the target leg in each time segment are planned.

[0104] This application also provides a computer-readable storage medium storing a computer program, the computer program including program instructions, which, when executed by a computer, cause the computer to perform the method described in the foregoing embodiments.

[0105] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.

[0106] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.

Claims

1. A method for planning the position of the legs of a multi-legged robot, characterized in that, include: The gait sequence of the target leg of the multi-legged robot and the current pose of the multi-legged robot are obtained, wherein the target leg is any one of the legs of the multi-legged robot; Based on the gait sequence, determine the phase of the target leg in each time segment corresponding to the gait sequence; Based on the current pose and the phase, the leg lift point and foot landing point positions of the target leg in each time segment are planned, wherein the step of planning the leg lift point positions of the target leg in each time segment based on the current pose and the phase includes: If the phase of the target leg in the current time segment of the gait sequence is the support phase, the current foot position of the target leg is determined according to the current pose, and the current foot position of the target leg is determined as the leg lift point position of the target leg in the current time segment; If the target leg is in a swing phase in the current time segment, the foot position of the target leg at the last moment in the first time segment is determined as the leg-lifting point position of the target leg in the current time segment, where the first time segment is the previous time segment of the current time segment.

2. The method according to claim 1, characterized in that, The step of planning the landing point position of the target leg in each time segment based on the current pose and the phase includes: Based on the phase and the position of the target leg's lifting point in each time segment, the landing point position of the target leg in each time segment is planned.

3. The method according to claim 1, characterized in that, The step of planning the leg-lifting point position of the target leg in each time segment based on the current pose and the phase includes: If the target leg is in a support phase in a future time segment, the foot position of the target leg at the midpoint of the future time segment is determined based on the current pose. The foot position of the target leg at the midpoint of the future time segment is determined as the leg lift point position of the target leg in the future time segment. The future time segment is the time segment in the gait sequence that is located after the current time segment. If the target leg is in a swing phase in the future time segment, then the position of the target leg lifting point in the second time segment is determined as the position of the target leg lifting point in the future time segment, and the second time segment is the previous time segment of the future time segment.

4. The method according to claim 3, characterized in that, Determining the foot position of the target leg at an intermediate moment in the future time segment based on the current pose includes: Based on the current pose and the movement speed of the multi-legged robot, determine the future pose of the multi-legged robot at the intermediate moment; The foot position of the target leg at the intermediate moment is determined based on the future pose of the multi-legged robot at the intermediate moment.

5. The method according to claim 4, characterized in that, Determining the foot position of the target leg at the intermediate moment based on the future pose of the multi-legged robot at the intermediate moment includes: The coordinate transformation is performed on the future pose of the multi-legged robot at the intermediate time to obtain the foot position of the target leg at the intermediate time.

6. The method according to any one of claims 2-5, characterized in that, The step of planning the landing point position of the target leg in each time segment based on the phase and the leg-lifting point position of the target leg in each time segment includes: If the target leg is in the support phase of the target time segment, the position of the leg lift point in the target time segment is determined as the position of the foot landing point of the target leg in the target time segment, and the target time segment is any time segment in the gait sequence; If the target leg is in a swing phase in the target time segment, the position of the lifting point of the target leg in the third time segment is determined as the position of the landing point of the target leg in the target time segment, and the third time segment is the next time segment of the target time segment.

7. The method according to any one of claims 2-5, characterized in that, The step of planning the landing point position of the target leg in each time segment based on the phase and the leg-lifting point position of the target leg in each time segment includes: If the target leg is in the support phase in the target time segment, the landing point of the target leg in the third time segment is determined as the landing point of the target leg in the target time segment. The target time segment is any time segment in the gait sequence, and the third time segment is the next time segment after the target time segment. If the target leg is in a swing phase in the target time segment, the position of the lifting point of the target leg in the third time segment is determined as the position of the landing point of the target leg in the target time segment.

8. A multi-legged robot leg position planning device, characterized in that, include: The acquisition module is used to acquire the gait sequence of the target leg of the multi-legged robot and the current pose of the multi-legged robot, wherein the target leg is any one leg of the multi-legged robot; A phase determination module is used to determine the phase of the target leg in each time segment corresponding to the gait sequence based on the gait sequence. The planning module is used to plan the lift point position and foot landing point position of the target leg in each time segment according to the current pose and the phase. If the phase of the target leg in the current time segment in the gait sequence is the support phase, the current foot position of the target leg is determined according to the current pose, and the current foot position of the target leg is determined as the lift point position of the target leg in the current time segment. If the target leg is in a swing phase in the current time segment, the foot position of the target leg at the last moment in the first time segment is determined as the leg-lifting point position of the target leg in the current time segment, where the first time segment is the previous time segment of the current time segment.

9. A computer device, characterized in that, The device includes a memory, a processor, and connected to the processor, the processor being configured to execute one or more computer programs stored in the memory, wherein, when executing the one or more computer programs, the processor causes the computer device to perform the method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, the computer program including program instructions that, when executed by a processor, cause the processor to perform the method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Planning method for opposite angle trotting gait of large quadruped robot

    CN103955217A

  • Robot state planning method and device based on sequence optimization and storage medium

    CN111664851A