IP Library Granted Patent US 12710754
Granted Patent B2
US 12710754 · App. 17/987,355 · Granted Aug 18, 2026

Controlling foot landing points and step order of legged robot based on foot contact force

Inventors: Yu Zheng (Shenzhen, CN); Xinyang Jiang (Shenzhen, CN); Wanchao Chi (Shenzhen, CN); Yonggen Ling (Shenzhen, CN); Shenghao Zhang (Shenzhen, CN); Zhengyou Zhang (Shenzhen, CN)
Assignee: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
G05D1/021B62D57/032
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12710754
App. No.
17/987,355
Granted
Aug 18, 2026
Kind
B2
Abstract

A method for controlling motion of a legged robot includes determining one or more candidate landing points for each foot of the robot. The method further includes determining a first correlation between a center of mass position change parameter, candidate landing points, and foot contact force. The method further includes determining, under a constraint condition set and based on the first correlation, a target center of mass position change parameter, a target step order, and a target landing point for each foot selected among the one or more candidate landing points for the respective foot, the constraint condition set constraining a step order. The method further includes controlling, according to the target center of mass position change parameter, the target step order, and the target landing point for each foot, motion of the legged robot in the preset period.

Claims (90)

1 . A method for controlling motion of a legged robot, the method comprising:

determining, according to positional state data of the legged robot at a start time point in a preset period, a plurality of discrete candidate landing points for each foot of plural feet of the robot, each of the plurality of discrete candidate landing points corresponding to a respective landing position of the respective foot on a contact surface during the preset period;

determining, according to the positional state data at the start time point and the plurality of discrete candidate landing points for each foot, a first correlation between a center of mass position change parameter, the plurality of discrete candidate landing points, and foot contact force;

prior to initiating movement of the feet, determining, under a constraint condition set and based on the first correlation, (i) a target center of mass position change parameter, (ii) a target step order, and (iii) a target landing point for each foot selected from the plurality of discrete candidate landing points corresponding to the respective foot, the constraint condition set constraining the target step order and constraining selection to one candidate landing point per foot at each step in the target step order; and

controlling, according to the target center of mass position change parameter, the target step order, and the selected target landing point for each foot, motion of the feet of the legged robot to land each foot at the target landing point of the respective foot on the contact surface during the preset period.

2 . The method according to claim 1 , wherein the determining the target center of mass position change parameter, the target step order, and the target landing point for each foot includes determining the target center of mass position change parameter, the target step order, and the target landing point for each foot under at least one of:

a second constraint condition that constrains the legged robot not to withdraw a foot after the robot has completed a step; or

a third constraint condition that constrains the legged robot to take a preset quantity of steps in the preset period, selection of one target landing point corresponding to one step.

3 . The method according to claim 1 , wherein

the determining the first correlation comprises:

determining a plurality of sampling time points from the preset period, and determining a time interval between each sampling time point and the start time point; and

obtaining, for each sampling time point, the first correlation according to a center of mass position at the start time point, a time interval between the respective sampling time point and the start time point, and a second correlation, and

the second correlation represents a change relationship between the foot contact forces of the legged robot at each sampling time point, a center of mass position at the each sampling time point, and the candidate landing points, where the center of mass position at each sampling time point is a sum of the center of mass position at the start time point and a center of mass position change amount in the time interval, and the center of mass position change amount is represented by the center of mass position change parameter and the time interval.

4 . The method according to claim 3 , wherein

the positional state data at the start time point comprises a pose of the legged robot at the start time point, and

the obtaining, for each sampling time point, the first correlation comprises:

determining, according to the pose of the legged robot at the start time point and a pose of the legged robot at an end time point in the preset period, a pose of the legged robot for the respective sampling time point, and a pose change angle parameter for the respective sampling time point;

determining, for the respective sampling time point, a first derivative of a center of mass angular momentum relative to time at the respective sampling time point according to the pose at the respective sampling time point and the pose change angle parameter at the respective sampling time point; and

obtaining, according to the first derivative and the second correlation, the first correlation corresponding to the respective sampling time point.

5 . The method according to claim 3 , wherein

the constraint condition set further comprises a spatial landing constraint condition constraining a landing point of a foot of the legged robot to be within a workspace of the respective foot at each step,

the landing point of the respective foot at each step is represented by a correlation between the target step order, the target landing point of the foot, and an initial position of the foot; and

the determining the target center of mass position change parameter, the target step order, and the target landing point for each foot comprises:

determining, for each sampling time point, a target constraint relationship between the center of mass position change parameter, the target step order, and the candidate landing points according to the spatial landing constraint condition and a pose at the respective sampling time point; and

determining the target center of mass position change parameter, the target step order, and the target landing point by satisfying the target constraint relationship and based on the first correlation.

6 . The method according to claim 5 , wherein the determining the target center of mass position change parameter, the target step order, and the target landing point for each foot includes determining the target center of mass position change parameter, the target step order, and the target landing point for each foot under at least one of:

a friction force constraint condition, the friction force constraint condition constraining a foot contact force at each sampling time point to be located in a friction cone determined according to a normal vector of the target landing point and a friction coefficient between a landing foot and a contact surface; or

a foot contact force constraint condition constraining a component of a foot contact force at each sampling time point in a normal direction to be less than or equal to an upper limit of a contact force.

7 . The method according to claim 1 , wherein the determining the target center of mass position change parameter, the target step order, and the target landing point for each foot comprises:

obtaining a plurality of sets of candidate results that satisfy the first correlation and the constraint condition set, each set of candidate results comprising a center of mass position change parameter, a step order, and a landing point; and

minimizing a cost function according to the plurality of sets of candidate results to determine a target result from the plurality of sets of candidate results, the cost function being a quadratic term constructed according to the candidate results, and the target result comprising the target center of mass position change parameter, the target step order, and the target landing point.

8 . The method according to claim 7 , wherein the minimizing comprises:

summing up, for each set of candidate results in the plurality of sets of candidate results, a sum of squares of the foot contact force in the preset period, a sum of squares of the center of mass position change amount in the preset period, and a sum of squares of a difference between first center of mass state data at an end time point of the preset period and desired center of mass state data, to obtain a value of the cost function corresponding to each set of candidate results, the desired center of mass state data being determined according to the landing point in the candidate results, and the first center of mass state data being determined according to the step order and the center of mass position change parameter in the candidate results; and

determining a set of candidate results having the cost function with a smallest value as the target result.

9 . The method according to claim 1 , wherein the controlling comprises:

determining, according to the target center of mass position change parameter, a center of mass position of the legged robot at each sampling time point;

determining, according to an initial landing point, the target step order, and the target landing point, a desired foot position of the legged robot at each sampling time point in the preset period;

determining, according to a pose of the legged robot at the start time point and a desired pose of the legged robot at an end time point, a desired pose of the legged robot at each sampling time point;

performing, for each sampling time point, an inverse kinematic operation on the center of mass position of the legged robot at the respective sampling time point, the desired pose at the respective sampling time point, and the desired foot position at the respective sampling time point, to determine a desired joint rotation angle of the legged robot at the respective sampling time point;

determining, for each sampling time point, a joint torque at the respective sampling time point according to the desired joint rotation angle and a current joint rotation angle at the respective sampling time point; and

controlling, according to the joint torque at each sampling time point, motion of the legged robot in the preset period.

10 . An apparatus for controlling motion of a legged robot, and the apparatus comprising:

processing circuitry configured to

determine, according to positional state data of the legged robot at a start time point in a preset period, a plurality of discrete candidate landing points for each foot of plural feet of the robot, each of the plurality of discrete candidate landing points corresponding to a respective landing position of the respective foot on a contact surface during the preset period;

determine, according to the positional state data at the start time point and the plurality of discrete candidate landing points for each foot, a first correlation between a center of mass position change parameter, the plurality of discrete candidate landing points, and foot contact force;

prior to initiating movement of the feet, determine, under a constraint condition set and based on the first correlation, (i) a target center of mass position change parameter, (ii) a target step order, and (iii) a target landing point for each foot selected from the plurality of discrete candidate landing points corresponding to the respective foot, the constraint condition set constraining the target step order and constraining selection to one candidate landing point per foot at each step in the target step order; and

control, according to the target center of mass position change parameter, the target step order, and the selected target landing point for each foot, motion of the feet of the legged robot to land each foot at the target landing point of the respective foot on the contact surface during the preset period.

11 . The apparatus according to claim 10 , wherein the constraint condition set further comprises at least one of:

a second constraint condition that constrains the legged robot not to withdraw a foot after the robot has completed a step; and

a third constraint condition that constrains the legged robot to take a preset quantity of steps in the preset period, selection of one target landing point corresponding to one step.

12 . The apparatus according to claim 10 , wherein the processing circuitry is further configured to:

determine a plurality of sampling time points from the preset period, and determine a time interval between each sampling time point and the start time point; and

obtain, for each sampling time point, the first correlation according to a center of mass position at the start time point, a time interval between the respective sampling time point and the start time point, and a second correlation,

wherein the second correlation represents a change relationship between the foot contact force of the legged robot at each sampling time point, a center of mass position at the each sampling time point, and the candidate landing points, where the center of mass position at the sampling time point is a sum of the center of mass position at the start time point and a center of mass position change amount in the time interval, and the center of mass position change amount is represented by the center of mass position change parameter and the time interval.

13 . The apparatus according to claim 12 , wherein

the positional state data at the start time point comprises a pose at the start time point, and

the processing circuitry is further configured to, for each sampling time point,

determine, according to the pose at the start time point and a pose of the legged robot at an end time point in the preset period, a pose of the legged robot for the respective sampling time point, and a pose change angle parameter for the respective sampling time point;

determine, for the respective sampling time point, a first derivative of a center of mass angular momentum relative to time at the respective sampling time point according to the pose at the respective sampling time point and the pose change angle parameter at the respective sampling time point; and

obtain, according to the first derivative and the second correlation, the first correlation corresponding to the respective sampling time point.

14 . The apparatus according to claim 12 , wherein

the constraint condition set further comprises a spatial landing constraint condition constraining a landing point of a foot of the legged robot to be within a workspace of the respective foot at each step,

the landing point of the respective foot at each step is represented by a correlation between the target step order, the target landing point of the foot, and an initial position of the foot; and

the processing circuitry is further configured to

determine, for each sampling time point, a target constraint relationship between the center of mass position change parameter, the target step order, and the candidate landing points according to the spatial landing constraint condition and a pose at the respective sampling time point; and

determine the target center of mass position change parameter, the target step order, and the target landing point by satisfying the target constraint relationship and based on the first correlation.

15 . The apparatus according to claim 14 , wherein the constraint condition set further comprises at least one of:

a friction force constraint condition, the friction force constraint condition constraining the foot contact force at each sampling time point to be located in a friction cone determined according to a normal vector of the target landing point and a friction coefficient between a landing foot and a contact surface; or

a foot contact force constraint condition constraining a component of a foot contact force at each sampling time point in a normal direction to be less than or equal to an upper limit of a contact force.

16 . The apparatus according to claim 10 , wherein the processing circuitry is further configured to:

obtain a plurality of sets of candidate results that satisfy the first correlation and the constraint condition set, each set of candidate results comprising a center of mass position change parameter, a step order, and a landing point for each foot; and

minimize a cost function according to the plurality of sets of candidate results to determine a target result from the plurality of sets of candidate results, the cost function being a quadratic term constructed according to the candidate results, and the target result comprising the target center of mass position change parameter, the target step order, and the target landing point for each foot.

17 . The apparatus according to claim 16 , wherein the processing circuitry is further configured to:

sum up, for each set of candidate results in the plurality of sets of candidate results, a sum of squares of the foot contact force in the preset period, a sum of squares of the center of mass position change amount in the preset period, and a sum of squares of a difference between first center of mass state data at an end time point of the preset period and desired center of mass state data, to obtain a value of the cost function corresponding to the each set of candidate results, the desired center of mass state data being determined according to the landing point in the candidate results, and the first center of mass state data being determined according to the step order and the center of mass position change parameter in the candidate results; and

determine a set of candidate results having the cost function with a smallest value as the target result.

18 . The apparatus according to claim 10 , wherein the processing circuitry is further configured to:

determine, according to the target center of mass position change parameter, a center of mass position of the legged robot at each sampling time point;

determine, according to an initial landing point, the target step order, and the target landing point at the start time point, a desired foot position of the legged robot at each sampling time point in the preset period;

determine, according to a pose of the legged robot at the start time point and a desired pose of the legged robot at an end time point, a desired pose of the legged robot at each sampling time point;

perform, for each sampling time point, an inverse kinematic operation on the center of mass position of the legged robot at the respective sampling time point, the desired pose at the respective sampling time point, and the desired foot position at the respective sampling time point, to determine a desired joint rotation angle of the legged robot at the respective sampling time point;

determine, for each sampling time point, a joint torque at the respective sampling time point according to the desired joint rotation angle and a current joint rotation angle at the respective sampling time point; and

control, according to the joint torque at each sampling time point, motion of the legged robot in the preset period.

19 . A non-transitory computer-readable storage medium storing computer-readable instructions thereon, which, when executed by a computer device, cause the computer device to perform a method for controlling motion of a legged robot, the method comprising:

determining, according to positional state data of the legged robot at a start time point in a preset period, a plurality of discrete candidate landing points for each foot of plural feet of the robot, each of the plurality of discrete candidate landing points corresponding to a respective landing position of the respective foot on a contact surface during the preset period;

determining, according to the positional state data at the start time point and the plurality of discrete candidate landing points for each foot, a first correlation between a center of mass position change parameter, the plurality of discrete candidate landing points, and foot contact force;

prior to initiating movement of the feet, determining, under a constraint condition set and based on the first correlation, (i) a target center of mass position change parameter, (ii) a target step order, and (iii) a target landing point for each foot selected from the plurality of discrete candidate landing points corresponding to the respective foot, the constraint condition set constraining the target step order and constraining selection to one candidate landing point per foot at each step in the target step order; and

controlling, according to the target center of mass position change parameter, the target step order, and the selected target landing point for each foot, motion of the feet of the legged robot to land each foot at the target landing point of the respective foot on the contact surface during the preset period.

20 . The non-transitory computer-readable storage medium according to claim 19 , wherein the determining the target center of mass position change parameter, the target step order, and the target landing point for each foot includes determining the target center of mass position change parameter, the target step order, and the target landing point for each foot under at least one of:

a second constraint condition that constrains the legged robot not to withdraw a foot after the robot has completed a step; or

a third constraint condition that constrains the legged robot to take a preset quantity of steps in the preset period, selection of one target landing point corresponding to one step.