Method, apparatus, and device for controlling legged robot, legged robot, computer-readable storage medium, and computer program product
Abstract
This application provide a method for controlling the landing of a legged robot on a plane. The legged robot includes a base and at least two robotic legs, each leg including at least one joint. The method includes: determining a first expected moving trajectory and a second expected moving trajectory corresponding to the legged robot in response to determining that the legged robot is going to contact a plane, the first expected moving trajectory indicating an expected moving trajectory of a center of mass of the legged robot and an expected moving trajectory of a change in a tilt angle of the legged robot, and the second expected moving trajectory indicating an expected moving trajectory of a foot end of each robotic leg; and controlling, based on a dynamic model and the first and second moving trajectories, an action of each joint after the legged robot contacts the plane.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for controlling the landing of a legged robot on a plane performed by a computer device, the legged robot comprising a base and at least two robotic legs, each of the robotic legs comprising at least one joint, the method comprising:
determining a first expected moving trajectory and a second expected moving trajectory corresponding to the legged robot in response to determining that each robotic leg of the legged robot is going to contact the plane, the first expected moving trajectory indicating an expected moving trajectory of a center of mass of the legged robot and an expected moving trajectory of a change in a tilt angle of the legged robot, and the second expected moving trajectory indicating an expected moving trajectory of a foot end of each robotic leg; and controlling, based on a dynamic model corresponding to the legged robot, the first expected moving trajectory, and the second expected moving trajectory, an action of each joint after the legged robot contacts the plane, until a height of the base of the legged robot reaches a constant and the tilt angle of the legged robot stops changing.
2 . The method according to claim 1 , wherein the at least two robotic legs comprise at least one front leg and at least one rear leg, and the determining a first expected moving trajectory and a second expected moving trajectory corresponding to the legged robot in response to determining that each robotic leg of the legged robot is going to contact a plane comprises:
determining the first expected moving trajectory corresponding to the legged robot based on an approximate model corresponding to the legged robot in response to determining that each robotic leg of the legged robot is going to contact the plane, in the approximate model, the legged robot being a single rigid body, and during the contact of the legged robot with the plane, the at least one front leg applying first thrust to the single rigid body, the at least one rear leg applying first thrust to the single rigid body, a resultant force of the first thrust and the second thrust applying upward thrust to the single rigid body, and a torque formed by the first thrust and the second thrust providing an angular acceleration of the center of mass for the single rigid body; determining, at an instantaneous moment each robotic leg contacts the plane, foot end position coordinates of the foot end of each robotic leg at an initial moment, and determining the foot end position coordinates at the initial moment as an initial foot end position; determining foot end position coordinates of the foot end of each robotic leg at a stable moment based on a toppling tendency of each robotic leg in a case of coming into contact with the plane and the initial foot end position, and determining the foot end position coordinates at the stable moment as a terminal foot end position, at the stable moment, a height of the base of the legged robot being constant and the rotation angle in the direction of the tilt angle of the legged robot being zero; and determining, based on the initial foot end position and the terminal foot end position, the second expected moving trajectory corresponding to the legged robot by using cubic spline interpolation.
3 . The method according to claim 2 , wherein the determining the first expected moving trajectory corresponding to the legged robot based on an approximate model corresponding to the legged robot comprises:
obtaining a mass of the legged robot; determining a dynamic equation corresponding to the legged robot based on the approximate model and the mass of the legged robot; transforming the dynamic equation into a state space representation, and discretizing the state space representation to obtain a state transition equation corresponding to each time step; and constructing an optimized objective function by using the state transition equation corresponding to each time step, and solving the optimized objective function to obtain the first expected moving trajectory corresponding to the legged robot.
4 . The method according to claim 2 , wherein the determining foot end position coordinates of the foot end of each robotic leg at a stable moment based on a toppling tendency of each robotic leg in a case of coming into contact with the plane and the initial foot end position comprises:
obtaining offset information corresponding to the toppling tendency of each robotic leg in a case of coming into contact with the plane; and determining the foot end position coordinates of the foot end of each robotic leg at the stable moment based on the offset information corresponding to the toppling tendency of each robotic leg in a case of coming into contact with the plane and the initial foot end position of each robotic leg.
5 . The method according to claim 2 , wherein when the center of mass of the legged robot moves along the first expected moving trajectory in the direction of gravity, a combination of the following reaches a minimum: a fluctuation quantity of the center of mass of the legged robot, a total quantity of impact forces withstood by the legged robot, a squatting amount of the legged robot, and a sudden change amount of the impact forces withstood by the legged robot.
6 . The method according to claim 1 , wherein the controlling an action of each joint after the legged robot contacts the plane comprises:
obtaining a toppling tendency of the legged robot at an instantaneous moment each robotic leg contacts the plane; and controlling each robotic leg of the legged robot to move along the toppling tendency of the legged robot, and controlling each robotic leg to gradually rebound from a compressed state until the center of mass of the legged robot reaches an expected resting height and the rotation angle in the direction of the tilt angle of the legged robot is zero.
7 . The method according to claim 1 , wherein the first expected moving trajectory indicates that after each robotic leg of the legged robot contacts the plane, a height of the center of mass of the legged robot in the direction of gravity gradually decreases and then gradually increases, and an angle value of the tilt angle of the legged robot gradually increases and then gradually decreases.
8 . The method according to claim 2 , wherein the dynamic model indicates a relationship between an acceleration of the single rigid body and the first thrust, the second thrust, and the gravity, and the dynamic model further indicates a relationship between an angular acceleration of the single rigid body and the first thrust and the second thrust.
9 . The method according to claim 2 , wherein the controlling, based on a dynamic model corresponding to the legged robot, the first expected moving trajectory, and the second expected moving trajectory, an action of each joint after the legged robot contacts the plane comprises:
determining a contact force between each robotic leg of the legged robot and the plane at each time step based on the dynamic model corresponding to the legged robot and the first expected moving trajectory, and controlling an actual trajectory of the center of mass of the legged robot moving in the direction of gravity and an actual trajectory of the change in the tilt angle of the legged robot to be both consistent with the first expected moving trajectory; and determining a motor torque outputted by each joint motor at each time step based on the dynamic model corresponding to the legged robot, the contact force between each robotic leg of the legged robot and the plane at each time step, and the second expected moving trajectory, and controlling a trajectory of the foot end of each robotic leg to be consistent with the second expected moving trajectory.
10 . The method according to claim 1 , wherein the determining that each robotic leg of the legged robot is going to contact the plane comprises:
obtaining current state information of the legged robot; determining contact information between each robotic leg and the plane at a current moment based on the current state information of the legged robot; and determining, in response to determining that each robotic leg is in contact with the plane at the current moment based on the contact information between each robotic leg and the plane at the current moment, that each robotic leg of the legged robot is going to contact the plane.
11 . A computer device for controlling the landing of a legged robot on a plane, the legged robot comprising a base and at least two robotic legs, each of the robotic legs comprising at least one joint, the computer device comprising:
a processor; and a memory, having a computer-executable code stored therein, the computer-executable code, when executed by the processor, performing a method including: determining a first expected moving trajectory and a second expected moving trajectory corresponding to the legged robot in response to determining that each robotic leg of the legged robot is going to contact the plane, the first expected moving trajectory indicating an expected moving trajectory of a center of mass of the legged robot and an expected moving trajectory of a change in a tilt angle of the legged robot, and the second expected moving trajectory indicating an expected moving trajectory of a foot end of each robotic leg; and controlling, based on a dynamic model corresponding to the legged robot, the first expected moving trajectory, and the second expected moving trajectory, an action of each joint after the legged robot contacts the plane, until a height of the base of the legged robot reaches a constant and the tilt angle of the legged robot stops changing.
12 . The computer device according to claim 11 , wherein the at least two robotic legs comprise at least one front leg and at least one rear leg, and the determining a first expected moving trajectory and a second expected moving trajectory corresponding to the legged robot in response to determining that each robotic leg of the legged robot is going to contact a plane comprises:
determining the first expected moving trajectory corresponding to the legged robot based on an approximate model corresponding to the legged robot in response to determining that each robotic leg of the legged robot is going to contact the plane, in the approximate model, the legged robot being a single rigid body, and during the contact of the legged robot with the plane, the at least one front leg applying first thrust to the single rigid body, the at least one rear leg applying first thrust to the single rigid body, a resultant force of the first thrust and the second thrust applying upward thrust to the single rigid body, and a torque formed by the first thrust and the second thrust providing an angular acceleration of the center of mass for the single rigid body; determining, at an instantaneous moment each robotic leg contacts the plane, foot end position coordinates of the foot end of each robotic leg at an initial moment, and determining the foot end position coordinates at the initial moment as an initial foot end position; determining foot end position coordinates of the foot end of each robotic leg at a stable moment based on a toppling tendency of each robotic leg in a case of coming into contact with the plane and the initial foot end position, and determining the foot end position coordinates at the stable moment as a terminal foot end position, at the stable moment, a height of the base of the legged robot being constant and the rotation angle in the direction of the tilt angle of the legged robot being zero; and determining, based on the initial foot end position and the terminal foot end position, the second expected moving trajectory corresponding to the legged robot by using cubic spline interpolation.
13 . The computer device according to claim 12 , wherein the determining the first expected moving trajectory corresponding to the legged robot based on an approximate model corresponding to the legged robot comprises:
obtaining a mass of the legged robot; determining a dynamic equation corresponding to the legged robot based on the approximate model and the mass of the legged robot; transforming the dynamic equation into a state space representation, and discretizing the state space representation to obtain a state transition equation corresponding to each time step; and constructing an optimized objective function by using the state transition equation corresponding to each time step, and solving the optimized objective function to obtain the first expected moving trajectory corresponding to the legged robot.
14 . The computer device according to claim 12 , wherein the determining foot end position coordinates of the foot end of each robotic leg at a stable moment based on a toppling tendency of each robotic leg in a case of coming into contact with the plane and the initial foot end position comprises:
obtaining offset information corresponding to the toppling tendency of each robotic leg in a case of coming into contact with the plane; and determining the foot end position coordinates of the foot end of each robotic leg at the stable moment based on the offset information corresponding to the toppling tendency of each robotic leg in a case of coming into contact with the plane and the initial foot end position of each robotic leg.
15 . The computer device according to claim 12 , wherein when the center of mass of the legged robot moves along the first expected moving trajectory in the direction of gravity, a combination of the following reaches a minimum: a fluctuation quantity of the center of mass of the legged robot, a total quantity of impact forces withstood by the legged robot, a squatting amount of the legged robot, and a sudden change amount of the impact forces withstood by the legged robot.
16 . The computer device according to claim 11 , wherein the controlling an action of each joint after the legged robot contacts the plane comprises:
obtaining a toppling tendency of the legged robot at an instantaneous moment each robotic leg contacts the plane; and controlling each robotic leg of the legged robot to move along the toppling tendency of the legged robot, and controlling each robotic leg to gradually rebound from a compressed state until the center of mass of the legged robot reaches an expected resting height and the rotation angle in the direction of the tilt angle of the legged robot is zero.
17 . The computer device according to claim 11 , wherein the first expected moving trajectory indicates that after each robotic leg of the legged robot contacts the plane, a height of the center of mass of the legged robot in the direction of gravity gradually decreases and then gradually increases, and an angle value of the tilt angle of the legged robot gradually increases and then gradually decreases.
18 . The computer device according to claim 12 , wherein the dynamic model indicates a relationship between an acceleration of the single rigid body and the first thrust, the second thrust, and the gravity, and the dynamic model further indicates a relationship between an angular acceleration of the single rigid body and the first thrust and the second thrust.
19 . The computer device according to claim 12 , wherein the controlling, based on a dynamic model corresponding to the legged robot, the first expected moving trajectory, and the second expected moving trajectory, an action of each joint after the legged robot contacts the plane comprises:
determining a contact force between each robotic leg of the legged robot and the plane at each time step based on the dynamic model corresponding to the legged robot and the first expected moving trajectory, and controlling an actual trajectory of the center of mass of the legged robot moving in the direction of gravity and an actual trajectory of the change in the tilt angle of the legged robot to be both consistent with the first expected moving trajectory; and determining a motor torque outputted by each joint motor at each time step based on the dynamic model corresponding to the legged robot, the contact force between each robotic leg of the legged robot and the plane at each time step, and the second expected moving trajectory, and controlling a trajectory of the foot end of each robotic leg to be consistent with the second expected moving trajectory.
20 . A non-transitory computer-readable storage medium, having an executable code stored therein, the executable code, when executed by a processor of a computer device, causing the computer device to perform a method for controlling the landing of a legged robot on a plane, the legged robot comprising a base and at least two robotic legs, each of the robotic legs comprising at least one joint, the method comprising:
determining a first expected moving trajectory and a second expected moving trajectory corresponding to the legged robot in response to determining that each robotic leg of the legged robot is going to contact the plane, the first expected moving trajectory indicating an expected moving trajectory of a center of mass of the legged robot and an expected moving trajectory of a change in a tilt angle of the legged robot, and the second expected moving trajectory indicating an expected moving trajectory of a foot end of each robotic leg; and controlling, based on a dynamic model corresponding to the legged robot, the first expected moving trajectory, and the second expected moving trajectory, an action of each joint after the legged robot contacts the plane, until a height of the base of the legged robot reaches a constant and the tilt angle of the legged robot stops changing.Join the waitlist — get patent alerts
Track US2024269846A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.