Method, device, footed robot, equipment and medium for determining center of mass trajectory
By determining the candidate footing position and its coefficient β in the foot robot, predicting the center of mass position and minimizing the state data error, the problem of large calculation volume and narrow application scope of the centroid trajectory determination method of foot robot in the prior art is solved, and higher accuracy of the centroid trajectory and wider application scope is achieved.
Patent Information
- Application Number
- CN202110004463.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-04
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2041-01-04
AI Technical Summary
In the prior art, due to the large number of joints, the centroid trajectory determination method has a large calculation amount and a narrow scope of application, so it cannot effectively solve the problem of centroid trajectory determination of foot robots with a large number of joints.
By acquiring the candidate landing point position and its coefficient β of the foot robot at the target position, the target state data is determined, and the center of mass position is predicted through the first relational data, the second relational data is created based on the state data error, and the error is minimized to determine the values of the constant C and the coefficient β of the candidate landing point position.
The accuracy of the centroid trajectory of the foot robot is improved, the scope of application is expanded, and it can be applied to any foot robot with a large number of foot robots, and the accuracy of the target footing position of the foot when moving to the target position is ensured.
Smart Images

Figure CN114723807B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a method, apparatus, legged robot, equipment and medium for determining a center of mass trajectory. Background Art
[0002] The legged robot is equipped with multiple legs. The lifting or lowering of the legs can be controlled by the joints configured on the multiple legs, so that the legged robot can move, thereby realizing the legged robot simulating the walking of animals or people. When the legged robot moves, it is necessary to first determine the center of mass trajectory of the legged robot, and then determine the center of mass position of the legged robot at each time point according to the determined center of mass trajectory.
[0003] A method for determining the center of mass trajectory is provided in the related art. The center of mass trajectory of the legged robot is determined by detecting the state of each joint in each foot of the legged robot and performing calculations according to the state of each joint in each foot. If the legged robot has a large number of joints, the amount of calculation will be large. Therefore, the above method is only applicable to the case where the number of joints of the legged robot is small and has a narrow scope of application. Summary of the invention
[0004] The embodiments of the present application provide a method, device, foot-type robot, equipment and medium for determining the center of mass trajectory, which can increase the scope of application. The technical solution is as follows:
[0005] On the one hand, a method for determining a center of mass trajectory is provided, the method comprising:
[0006] Obtaining candidate foothold positions of at least one foot of the legged robot at the target position and a coefficient β of each candidate foothold position, wherein the value of the coefficient β is undetermined;
[0007] Determining target state data of the footed robot at the target position according to the candidate foothold position of the at least one foot and the coefficient β of each candidate foothold position;
[0008] Creating first relationship data, the first relationship data indicating a relationship between an interval duration t and a center of mass position P(t) of the legged robot, the first relationship data including a constant C whose value is undetermined;
[0009] Determining predicted state data of the legged robot at the target position according to the target movement duration and the first relationship data;
[0010] Creating second relationship data according to a state data error between the target state data and the predicted state data, wherein the second relationship data indicates a positive correlation between the target value J and the state data error;
[0011] According to the second relationship data, determine the value of the constant C and the coefficient β of each candidate landing point position when the target numerical value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the target landing point position of at least one foot at the target position.
[0012] In one possible implementation, the step duration constraint is used to indicate that the sum of coefficients β of the candidate landing point positions of the legged robot at the multiple sampling time points is not greater than a reference value, and the reference value is less than the number of the multiple sampling time points.
[0013] In another possible implementation, the value of the coefficient β includes 1 or 0, 1 indicates that the foot of the legged robot falls on the candidate foothold position corresponding to the coefficient β, and 0 indicates that the foot of the legged robot does not fall on the candidate foothold position corresponding to the coefficient β;
[0014] The obtaining of the first relationship data corresponding to the constant C whose value has been determined, and the target landing point position of the at least one foot at the target position, comprises:
[0015] Acquire first relational data corresponding to a constant C whose value has been determined, wherein the first relational data is used to represent a center of mass trajectory of the legged robot;
[0016] According to the value of the coefficient β of each candidate landing point position, the candidate landing point position corresponding to the coefficient β having a value of 1 is determined as the target landing point position.
[0017] In another possible implementation, the target state data includes a target centroid position, and the predicted state data includes a predicted centroid position; and the step of creating the second relationship data according to a state data error between the target state data and the predicted state data includes:
[0018] determining a first difference between the target centroid position and the predicted centroid position;
[0019] The target value J is set to the square of the first difference.
[0020] In another possible implementation, the target state data includes a target center of mass speed, and the predicted state data includes a predicted center of mass speed; and the step of creating the second relationship data according to a state data error between the target state data and the predicted state data includes:
[0021] determining a second difference between the target center of mass velocity and the predicted center of mass velocity;
[0022] The target value J is set to the square of the second difference.
[0023] In another possible implementation, the target state data includes a target center of mass acceleration, and the predicted state data includes a predicted center of mass acceleration; and the step of creating the second relationship data according to a state data error between the target state data and the predicted state data includes:
[0024] determining a third difference between the target center-of-mass acceleration and the predicted center-of-mass acceleration;
[0025] The target value J is set to the square of the third difference.
[0026] In another possible implementation, the creating second relationship data according to a state data error between the target state data and the predicted state data includes:
[0027] Selecting multiple sampling time points within the target movement duration;
[0028] Determine, according to the interval duration between each sampling time point and the initial time point and the first relationship data, fourth relationship data corresponding to each sampling time point, wherein the fourth relationship data indicates the relationship between the constant C and the sampling center of mass position Q(C), and the sampling center of mass position Q(C) indicates the center of mass position of the legged robot at the corresponding sampling time point;
[0029] The second relationship data is created based on the state data error and the fourth relationship data, and the second relationship data indicates a positive correlation between the target value J and the state data error and the sampling centroid position Q(C).
[0030] In another possible implementation, the target state data includes a target center of mass position, and the predicted state data includes a predicted center of mass position; and creating the second relationship data according to the state data error and the fourth relationship data includes:
[0031] determining a first difference between the target centroid position and the predicted centroid position;
[0032] The target value J is set to the sum of a first value and a second value, wherein the first value is the square of the first difference, and the second value is the weighted square sum of multiple distances, wherein the multiple distances include the initial centroid position of the initial position, the multiple sampled centroid positions, and the distance between any two adjacent centroid positions in the predicted centroid position.
[0033] In another possible implementation, the target state data includes a target center of mass speed, and the predicted state data includes a predicted center of mass speed; and creating the second relationship data according to the state data error and the fourth relationship data includes:
[0034] determining a second difference between the target center of mass velocity and the predicted center of mass velocity;
[0035] The target value J is set to the sum of a third value and a second value, wherein the third value is the square of the second difference, and the second value is the weighted square sum of multiple distances, wherein the multiple distances include the initial centroid position of the initial position, the multiple sampled centroid positions, and the distance between any two adjacent centroid positions in the predicted centroid position.
[0036] In another possible implementation, the target state data includes a target center-of-mass acceleration, and the predicted state data includes a predicted center-of-mass acceleration; and creating the second relationship data according to the state data error and the fourth relationship data includes:
[0037] determining a third difference between the target center-of-mass acceleration and the predicted center-of-mass acceleration;
[0038] The target value J is set to the sum of a fourth value and a second value, wherein the fourth value is the square of the third difference, and the second value is the weighted square sum of multiple distances, wherein the multiple distances include the initial centroid position of the initial position, the multiple sampled centroid positions, and the distance between any two adjacent centroid positions in the predicted centroid position.
[0039] In another possible implementation, the second relationship data indicates the target value J and the state data error and the force f exerted on at least one foot of the legged robot when it contacts the ground. i The positive correlation between the quadratic terms of ; the determination of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value according to the second relationship data includes:
[0040] Create fifth relationship data corresponding to at least one foot of the legged robot configuration, wherein the fifth relationship data corresponding to at least one foot respectively indicates the force f corresponding to the at least one foot i The relationship between the interval time t and the force f i Indicates the force exerted on the i-th foot of the legged robot when it contacts the ground, i is a positive integer, and the fifth relationship data includes a constant C whose value is undetermined;
[0041] According to the second relationship data and the fifth relationship data, the value of the constant C and the coefficient β of each candidate landing point position is determined when the target value J is the minimum value.
[0042] In another possible implementation, the creating fifth relationship data corresponding to at least one foot of the legged robot configuration includes:
[0043] Creating sixth relationship data, wherein the sixth relationship data indicates a relationship between the angular momentum L of the legged robot and the interval duration t;
[0044] Create seventh relationship data, the seventh relationship data indicating the force f corresponding to the at least one foot i (L) has a negative correlation with the angular momentum L;
[0045] According to the sixth relationship data and the seventh relationship data, fifth relationship data corresponding to the at least one foot is created.
[0046] In another possible implementation, determining, according to the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value includes:
[0047] According to the first relationship data and the initial time point, eighth relationship data, ninth relationship data and tenth relationship data are created, wherein the eighth relationship data indicates the relationship between the initial center of mass position of the footed robot at the initial position and the constant C, the ninth relationship data indicates the relationship between the initial center of mass velocity of the footed robot at the initial position and the constant C, and the tenth relationship data indicates the relationship between the initial center of mass acceleration of the footed robot at the initial position and the constant C;
[0048] According to the eighth relationship data, the ninth relationship data, the tenth relationship data and the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position is determined when the target value J is the minimum value.
[0049] In another possible implementation, the predicted state data includes a predicted center of mass position, and determining the predicted state data of the legged robot at the target position according to the target movement duration and the first relationship data includes:
[0050] The predicted center of mass position of the legged robot after moving from the initial position to the target moving time is determined according to the first relationship data.
[0051] In another possible implementation, the predicted state data includes a predicted center of mass velocity, and determining the predicted state data of the legged robot at the target position according to the target movement duration and the first relationship data includes:
[0052] According to the first relationship data, creating relationship data between the interval duration t and the center of mass speed of the legged robot;
[0053] According to the created relationship data, a predicted center of mass velocity of the legged robot after moving from the initial position to the target time is determined.
[0054] In another possible implementation, the predicted state data includes predicted center of mass acceleration, and determining the predicted state data of the legged robot at the target position according to the target movement duration and the first relationship data includes:
[0055] According to the first relationship data, creating relationship data between the interval duration t and the center of mass acceleration of the legged robot;
[0056] According to the created relationship data, a predicted center-of-mass acceleration of the legged robot after moving from the initial position to the target moving time is determined.
[0057] In another possible implementation, after obtaining the first relationship data corresponding to the constant C whose value has been determined, the method further includes:
[0058] During the movement of the legged robot, determining the center of mass position P(t0) of the legged robot at any interval time t0 according to the first relationship data;
[0059] Determining joint torques of multiple joints of the legged robot according to the center of mass position P(t0) and the target position;
[0060] According to the joint torques of the multiple joints, the multiple joints are controlled to rotate, thereby driving the legged robot to move.
[0061] On the other hand, a device for determining a center of mass trajectory is provided, the device comprising:
[0062] An acquisition module, used to acquire candidate foothold positions of at least one foot of the legged robot at a target position, and a coefficient β of each candidate foothold position, wherein the value of the coefficient β is undetermined;
[0063] a data determination module, configured to determine target state data of the footed robot at the target position according to the candidate foothold position of the at least one foot and the coefficient β of each candidate foothold position;
[0064] A creation module, configured to create first relationship data, wherein the first relationship data indicates a relationship between an interval duration t and a center of mass position P(t) of the legged robot, wherein the first relationship data includes a constant C whose value is undetermined;
[0065] The data determination module is further used to determine the predicted state data of the footed robot at the target position according to the target movement duration and the first relationship data;
[0066] The creation module is further used to create second relationship data according to a state data error between the target state data and the predicted state data, wherein the second relationship data indicates a positive correlation between the target value J and the state data error;
[0067] A constant determination module is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target numerical value J is the minimum value according to the second relationship data, and obtain the first relationship data corresponding to the constant C whose value has been determined, and the target landing point position of at least one foot at the target position.
[0068] In a possible implementation, the target state data includes a target center of mass position; and the data determination module includes:
[0069] A coordinate determination unit, used to determine the sum of the products of the coordinates of each candidate foothold position and the corresponding coefficient β as the coordinates of the center position of the legged robot;
[0070] The first position determination unit is used to determine, according to the coordinates of the center position, a position above the center position and spaced apart from the center position by the height of the foot-type robot as the target center of mass position.
[0071] In another possible implementation, the constant determination module includes:
[0072] a condition creation unit, configured to create a spatial constraint condition for the at least one foot according to the first relationship data, wherein the spatial constraint condition is used to indicate a spatial range in which the at least one foot can move, and the spatial constraint condition includes the constant C and a coefficient β of each candidate foothold position;
[0073] A value determination unit is used to determine, based on the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value while satisfying the spatial constraint condition.
[0074] In another possible implementation, the constant determination module includes:
[0075] a condition creation unit, configured to create a force constraint condition, wherein the force constraint condition is used to indicate that the force exerted on the at least one foot when in contact with the ground at each corresponding candidate foothold position is not greater than the force extreme value corresponding to each candidate foothold position, and the force constraint condition includes a coefficient β of each candidate foothold position;
[0076] A value determination unit is used to determine, based on the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value while satisfying the force constraint condition.
[0077] In another possible implementation, the value of the coefficient β includes 1 or 0, 1 indicates that the foot of the legged robot falls on the candidate foothold position corresponding to the coefficient β, and 0 indicates that the foot of the legged robot does not fall on the candidate foothold position corresponding to the coefficient β;
[0078] The constant determination module comprises:
[0079] a condition creation unit, configured to create a coefficient constraint condition for the at least one foot, wherein the coefficient constraint condition is used to indicate that at any time point during the movement of the legged robot, the sum of coefficients β of multiple candidate foothold positions of each foot is not greater than 1;
[0080] A value determination unit is used to determine, based on the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value while satisfying the coefficient constraint condition of the at least one foot.
[0081] In another possible implementation, the constant determination module includes:
[0082] A first data creation unit, configured to create third relationship data, wherein the third relationship data is used to indicate a relationship between a sum of coefficients β of candidate foothold positions of the legged robot and the number of legs of the legged robot when the legged robot is at a target position;
[0083] A value determination unit is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value based on the second relationship data and the third relationship data.
[0084] In another possible implementation, the constant determination module includes:
[0085] A first selection unit, used to select a plurality of sampling time points within the target movement duration;
[0086] A coefficient determination unit, used to determine a coefficient β of the candidate landing point position of the at least one foot at each sampling time point;
[0087] a condition creation unit, configured to create a stepping timing constraint condition according to a coefficient β of the candidate foothold position of the at least one foot at each sampling time point, wherein the stepping timing constraint condition is used to indicate a relationship between the coefficients β of the candidate foothold position of each foot at the plurality of sampling time points during the process of the legged robot moving from an initial position to a target position;
[0088] A value determination unit is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value based on the second relationship data and while satisfying the step timing constraint condition.
[0089] In another possible implementation, the step timing constraint is used to indicate that a coefficient β of any candidate foothold position of any foot of the legged robot at a previous sampling time point is not greater than a coefficient β of any candidate foothold position at a subsequent sampling time point.
[0090] In another possible implementation, the step timing constraint is used to indicate that a coefficient β of the initial foothold position of any foot of the legged robot at a previous sampling time point is not less than a coefficient β of the initial foothold position at a subsequent sampling time point.
[0091] In another possible implementation, the value determination unit is used to create a step duration constraint, and the step duration constraint is used to indicate that the sum of coefficients β of the candidate landing point positions of the legged robot at the multiple sampling time points is less than the number of the multiple sampling time points; according to the second relationship data, while satisfying the step timing constraint and the step duration constraint, determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value.
[0092] In another possible implementation, the step duration constraint is used to indicate that the sum of coefficients β of the candidate landing point positions of the legged robot at the multiple sampling time points is not greater than a reference value, and the reference value is less than the number of the multiple sampling time points.
[0093] In another possible implementation, the second relationship data indicates a positive correlation between the target value J and the sum of the state data error and a coefficient β of the candidate foothold position of the legged robot.
[0094] In another possible implementation, the value of the coefficient β includes 1 or 0, 1 indicates that the foot of the legged robot falls on the candidate foothold position corresponding to the coefficient β, and 0 indicates that the foot of the legged robot does not fall on the candidate foothold position corresponding to the coefficient β;
[0095] The constant determination module comprises:
[0096] A data acquisition unit, used to acquire first relationship data corresponding to a constant C whose value has been determined, wherein the first relationship data is used to represent a center of mass trajectory of the legged robot;
[0097] The second position determination unit is used to determine the candidate landing point position corresponding to the coefficient β with a value of 1 as the target landing point position according to the value of the coefficient β of each candidate landing point position.
[0098] In another possible implementation, the target state data includes a target centroid position, and the predicted state data includes a predicted centroid position; and the creation module includes:
[0099] a difference determination unit, configured to determine a first difference between the target centroid position and the predicted centroid position;
[0100] A setting unit is used to set the target value J to the square of the first difference.
[0101] In another possible implementation, the target state data includes a target center of mass speed, and the predicted state data includes a predicted center of mass speed; and the creation module includes:
[0102] a difference determination unit, configured to determine a second difference between the target mass center speed and the predicted mass center speed;
[0103] A setting unit is used to set the target value J to the square of the second difference.
[0104] In another possible implementation, the target state data includes target center of mass acceleration, the predicted state data includes predicted center of mass acceleration; and the creation module includes:
[0105] a difference determination unit, configured to determine a third difference between the target center-of-mass acceleration and the predicted center-of-mass acceleration;
[0106] A setting unit is used to set the target value J to the square of the third difference.
[0107] In another possible implementation, the creation module includes:
[0108] A second selection unit is used to select multiple sampling time points within the target movement duration;
[0109] a data determination unit, configured to determine fourth relationship data corresponding to each sampling time point according to an interval duration between each sampling time point and the initial time point and the first relationship data, wherein the fourth relationship data indicates a relationship between the constant C and a sampling center of mass position Q(C), and the sampling center of mass position Q(C) indicates a center of mass position of the legged robot at the corresponding sampling time point;
[0110] The second data creation unit is used to create the second relationship data according to the state data error and the fourth relationship data, wherein the second relationship data indicates a positive correlation between the target value J and the state data error and the sampling centroid position Q(C).
[0111] In another possible implementation, the target state data includes the target center of mass position, and the predicted state data includes the predicted center of mass position; the second data creation unit is used to determine a first difference between the target center of mass position and the predicted center of mass position; the target value J is set to the sum of a first value and a second value, the first value is the square of the first difference, and the second value is a weighted square sum of multiple distances, the multiple distances including the initial center of mass position of the initial position, the multiple sampled center of mass positions, and the distance between any two adjacent center of mass positions in the predicted center of mass position.
[0112] In another possible implementation, the target state data includes a target center of mass speed, and the predicted state data includes a predicted center of mass speed; the second data creation unit is used to determine a second difference between the target center of mass speed and the predicted center of mass speed; the target value J is set to the sum of a third value and a second value, the third value is the square of the second difference, and the second value is a weighted square sum of multiple distances, the multiple distances including the initial center of mass position of the initial position, the multiple sampled center of mass positions, and the distance between any two adjacent center of mass positions in the predicted center of mass position.
[0113] In another possible implementation, the target state data includes target center of mass acceleration, and the predicted state data includes predicted center of mass acceleration; the second data creation unit is used to determine a third difference between the target center of mass acceleration and the predicted center of mass acceleration; the target value J is set to the sum of a fourth value and the second value, the fourth value is the square of the third difference, and the second value is the weighted square sum of multiple distances, the multiple distances including the initial center of mass position of the initial position, the multiple sampled center of mass positions, and the distance between any two adjacent center of mass positions in the predicted center of mass position.
[0114] In another possible implementation, the second relationship data indicates the target value J and the state data error and the force f exerted on at least one foot of the legged robot when it contacts the ground. i The positive correlation between the quadratic terms of; the constant determination module includes:
[0115] The first data creation unit is used to create fifth relationship data corresponding to at least one foot of the legged robot, wherein the fifth relationship data corresponding to the at least one foot respectively indicates the force f corresponding to the at least one foot i and the interval time t, the force fi indicates the force exerted on the i-th foot of the legged robot when it contacts the ground, i is a positive integer, and the fifth relationship data includes a constant C whose value is undetermined;
[0116] A value determination unit is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value based on the second relationship data and the fifth relationship data.
[0117] In another possible implementation, the first data creation unit is used to create sixth relationship data, wherein the sixth relationship data indicates the relationship between the angular momentum L of the legged robot and the interval time t; and to create seventh relationship data, wherein the seventh relationship data indicates the force f corresponding to the at least one foot. i (L) has a negative correlation with the angular momentum L; and based on the sixth relationship data and the seventh relationship data, creates the fifth relationship data corresponding to the at least one foot.
[0118] In another possible implementation, the constant determination module includes:
[0119] A first data creation unit is used to create eighth relationship data, ninth relationship data and tenth relationship data according to the first relationship data and the initial time point, wherein the eighth relationship data indicates the relationship between the initial center of mass position of the footed robot at the initial position and the constant C, the ninth relationship data indicates the relationship between the initial center of mass velocity of the footed robot at the initial position and the constant C, and the tenth relationship data indicates the relationship between the initial center of mass acceleration of the footed robot at the initial position and the constant C;
[0120] A value determination unit is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value based on the eighth relationship data, the ninth relationship data, the tenth relationship data and the second relationship data.
[0121] In another possible implementation, the predicted state data includes a predicted centroid position, and the data determination module includes:
[0122] A third position determination unit is configured to determine, based on the first relationship data, a predicted center of mass position of the legged robot after the legged robot moves from the initial position to the target moving time.
[0123] In another possible implementation, the predicted state data includes predicted center of mass speed, and the data determination module includes:
[0124] A third data creation unit, configured to create relationship data between the interval duration t and the center of mass speed of the legged robot according to the first relationship data;
[0125] The speed determination unit is used to determine the predicted center of mass speed of the legged robot after moving from the initial position to the target moving time according to the created relationship data.
[0126] In another possible implementation, the predicted state data includes predicted center of mass acceleration, and the data determination module includes:
[0127] A third data creation unit, configured to create relationship data between the interval duration t and the center of mass acceleration of the legged robot according to the first relationship data;
[0128] The acceleration determination unit is used to determine the predicted center of mass acceleration of the legged robot after moving from the initial position to the target moving time according to the created relationship data.
[0129] In another possible implementation, after obtaining the first relationship data corresponding to the constant C whose value has been determined, the device further includes:
[0130] a position determination module, configured to determine, during the movement of the legged robot, a center of mass position P(t0) of the legged robot at any interval time t0 according to the first relationship data;
[0131] a torque determination module, for determining the joint torques of the plurality of joints of the legged robot according to the mass center position P(t0) and the target position;
[0132] The control module is used to control the multiple joints to rotate according to the joint torques of the multiple joints, thereby driving the legged robot to move.
[0133] On the other hand, a legged robot is provided, comprising a processor and a memory, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the method for determining the center of mass trajectory as described in the above aspects.
[0134] On the other hand, a control device is provided, which includes a processor and a memory, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the method for determining the center of mass trajectory as described in the above aspects.
[0135] On the other hand, a computer-readable storage medium is provided, in which at least one computer program is stored. The at least one computer program is loaded and executed by a processor to implement the operations performed in the method for determining the center of mass trajectory as described in the above aspects.
[0136] In another aspect, a computer program product or a computer program is provided, wherein the computer program product or the computer program includes a computer program code, and the computer program code is stored in a computer-readable storage medium. A processor of a control device reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the control device implements the operations performed in the method for determining the center of mass trajectory as described in the above aspect.
[0137] The beneficial effects brought by the technical solution provided by the embodiment of the present application include at least:
[0138] The method, apparatus, legged robot, equipment and medium provided in the embodiments of the present application do not need to detect the states of each joint of the legged robot. The target state data of the legged robot at the target position is determined through the candidate landing point positions of the legged robot, and the predicted state data of the legged robot at the target position is predicted through the first relationship data. Then, the value of the constant C in the first relationship data and the coefficient β of each candidate landing point position are determined by minimizing the state data error between the predicted state data and the expected target state data, thereby ensuring the accuracy of the value of the constant C and the value of the coefficient β of each candidate landing point position, and determining the corresponding center of mass trajectory according to the constant C with the determined value, thereby improving the accuracy of the center of mass trajectory of the legged robot, and determining the target landing point position of at least one foot of the legged robot when the legged robot moves to the target position according to the value of the coefficient β of each candidate landing point position, thereby ensuring the feasibility of the legged robot moving to the target position. The method, apparatus, legged robot, equipment and medium provided in the embodiments of the present application do not need to detect the states of each joint of the legged robot, and the target state data of the legged robot at the target position is determined through the candidate landing point positions of the legged robot, thereby ensuring the feasibility of the legged robot moving to the target position. The method, apparatus, legged robot, equipment and medium provided in the embodiments of the present application BRIEF DESCRIPTION OF THE DRAWINGS
[0139] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0140] Figure 1 It is a structural diagram of an implementation environment provided by an embodiment of the present application;
[0141] Figure 2 is a flow chart of a method for determining a center of mass trajectory provided in an embodiment of the present application;
[0142] Figure 3 is a flow chart of a method for determining a center of mass trajectory provided in an embodiment of the present application;
[0143] Figure 4 is a schematic structural diagram of a legged robot provided in an embodiment of the present application;
[0144] Figure 5 is a schematic diagram of a space range in which a foot of a legged robot provided in an embodiment of the present application can move;
[0145] Figure 6 is a framework diagram of a legged robot system for controlling movement of a legged robot provided in an embodiment of the present application;
[0146] Figure 7 is a schematic diagram of a movement process of a legged robot provided in an embodiment of the present application;
[0147] Figure 8 is a structural schematic diagram of a center of mass trajectory determination device provided in an embodiment of the present application;
[0148] Fig. 9 is a structural schematic diagram of a center of mass trajectory determination device provided in an embodiment of the present application;
[0149] Fig.10 is a schematic diagram of the structure of a terminal provided in an embodiment of the present application;
[0150] Fig.11 It is a structural diagram of a server provided in an embodiment of the present application. DETAILED DESCRIPTION
[0151] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.
[0152] The terms "first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", etc. used in this application may be used in this article to describe various concepts, but unless otherwise specified, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of this application, the first relationship data may be referred to as the second relationship data, and similarly, the second relationship data may be referred to as the first relationship data.
[0153] The terms "at least one", "a plurality of", "each", and "any" used in this application include one, two, or more than two, and a plurality of includes two or more than two, and each refers to each of the corresponding plurality, and any refers to any one of the plurality. For example, the plurality of sampling time points include three sampling time points, and each refers to each of the three sampling time points, and any refers to any one of the three sampling time points, which may be the first sampling time point, the second sampling time point, or the third sampling time point.
[0154] Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.
[0155] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0156] Computer Vision Technology (CV) Computer vision is a science that studies how to make machines "see". To put it more specifically, it refers to machine vision such as using cameras and computers to replace human eyes to identify and measure targets, and further perform graphic processing so that the computer processing becomes an image that is more suitable for human eye observation or transmission to instrument detection. As a scientific discipline, computer vision studies related theories and technologies, and attempts to establish an artificial intelligence system that can obtain information from images or multi-dimensional data. Computer vision technology usually includes image processing, image recognition, image semantic understanding, image retrieval, OCR, video processing, video semantic understanding, video content / behavior recognition, three-dimensional object reconstruction, 3D technology, virtual reality, and augmented reality.
[0157] The solution provided in the embodiment of the present application is based on artificial intelligence computer vision technology, and the legged robot can determine the target position, so as to subsequently realize the movement of the legged robot to the target position.
[0158] The method for determining the center of mass trajectory provided in the embodiment of the present application can be applied to a legged robot. When the legged robot moves, the center of mass trajectory from the initial position to the target position and the target landing point position of the foot of the legged robot when moving to the target position are determined. Subsequently, the center of mass position of the legged robot at any time point during the movement process is determined through the center of mass trajectory, thereby controlling at least one foot of the legged robot to be lifted or lowered, so that during the process of the legged robot moving from the initial position to the target position, the center of mass of the legged robot moves according to the center of mass trajectory, thereby realizing the walking of the legged robot.
[0159] The method for determining the center of mass trajectory provided in the embodiment of the present application can also be applied to a control device. Optionally, the control device 102 is a server or other form of device. Optionally, the server is an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
[0160] Figure 1 is a schematic diagram of a structure of an implementation environment provided by an embodiment of the present application, such as Figure 1 As shown, the implementation environment includes a legged robot 101 and a server 102. The legged robot 101 establishes a communication connection with the server 102 and interacts with each other through the established communication connection.
[0161] The legged robot 101 is used to control at least one leg to lift or drop to realize the walking of the legged robot. The server 102 is used to provide services for the legged robot 101, and can determine the center of mass trajectory for the legged robot 101, and send the determined center of mass trajectory to the legged robot 101, so that the legged robot 101 moves according to the center of mass trajectory.
[0162] Optionally, the legged robot 101 is equipped with a perception system, through which an environmental image of the moving direction of the legged robot 101 is obtained, and the environmental image is sent to the server 102. The server 102 processes the environmental image to obtain the candidate landing point positions of the legged robot at the target position, and then determines the center of mass trajectory of the legged robot 101 based on the candidate landing point positions at the target position.
[0163] The method provided in the embodiments of the present application can be used in a variety of scenarios.
[0164] For example, in the mobile scenario of a legged robot:
[0165] During the movement of the legged robot, the target position to be reached is determined, and the center of mass trajectory determination method provided in the embodiment of the present application is used to determine the center of mass trajectory of the legged robot moving from the initial position to the target position, and the target landing point position of the foot of the legged robot at the target position. Subsequently, the center of mass trajectory is used to determine the center of mass position of the legged robot at any time point during the movement, thereby controlling at least one foot of the legged robot to be lifted or lowered, so that during the movement of the legged robot from the initial position to the target position, the center of mass position of the legged robot will move according to the center of mass trajectory, thereby realizing the walking of the legged robot, ensuring the stability of the movement of the legged robot, and when moving to the target position, the foot of the legged robot will land on the target landing point position, ensuring the feasibility of the movement of the legged robot.
[0166] For example, in the scenario of remote-controlled legged robot movement:
[0167] The server can control the movement of the legged robot during its movement. During the process of the server controlling the movement of the legged robot, the server adopts the method for determining the center of mass position provided in the embodiment of the present application to determine the center of mass trajectory of the legged robot moving from the initial position to the target position, and the target landing point position of the foot of the legged robot at the target position, and sends the center of mass movement trajectory and the target landing point position to the legged robot, which controls the center of mass position of the legged robot to move along the center of mass movement trajectory, and when moving to the target position, the foot of the legged robot lands on the target landing point position, thereby realizing a method of remotely controlling the movement of the legged robot.
[0168] Figure 2is a flow chart of a method for determining a center of mass trajectory provided in an embodiment of the present application, which is applied to a legged robot, such as Figure 2 As shown, the method includes:
[0169] 201. The legged robot obtains candidate foothold positions of at least one foot configured for the legged robot at a target position, and a coefficient β of each candidate foothold position.
[0170] In an embodiment of the present application, a legged robot is a robot that moves by simulating the walking posture of an animal or a person. The legged robot is configured with at least one foot, and the movement of the legged robot is driven by controlling the lifting or lowering of the foot, thereby realizing the walking of the legged robot.
[0171] The target position is the position that the legged robot is going to reach. Each foot of the legged robot has multiple candidate landing positions at the target position. Each candidate landing position is the position of a possible landing point of the foot of the legged robot. Each candidate landing position has a coefficient β, which is used to indicate the possibility that the foot of the legged robot lands on the candidate landing point corresponding to the coefficient β. The value of the coefficient β is undetermined.
[0172] In the embodiment of the present application, the center of mass trajectory of the legged robot is the trajectory of the center of mass of the legged robot during the movement of the legged robot. Before the legged robot starts to move from the initial position to the target position, it is necessary to first determine the center of mass trajectory of the legged robot during the movement from the initial position to the target position, and the target foothold position of each foot of the legged robot when the legged robot is at the target position, and then control the movement of the legged robot to the target position according to the determined center of mass trajectory and target foothold position, so that during the movement, the center of mass of the legged robot moves along the center of mass trajectory, and the feasibility of the movement of the legged robot is ensured.
[0173] 202. The legged robot determines target state data of the legged robot at a target position based on the candidate foothold position of at least one foot and the coefficient β of each candidate foothold position.
[0174] The target state data is used to represent the state data that the legged robot is expected to have when the legged robot moves to the target position, and the target state data is related to the coefficient β of each candidate foothold position.
[0175] 203. The legged robot creates first relationship data, where the first relationship data indicates the relationship between the interval duration t and the center of mass position P(t) of the legged robot, and the first relationship data includes a constant C whose value is undetermined.
[0176] The interval duration t indicates the duration of the interval between any time point in the process of the legged robot moving from the initial position to the target position and the initial time point corresponding to the initial position. The center of mass position P(t) indicates the center of mass position of the legged robot at the interval duration t. The first relationship data includes a constant C with an undetermined value. The constant C is a center of mass position parameter, which is used to represent the relationship between the interval duration t and the center of mass position P(t), and can be used as a coefficient of the interval duration t.
[0177] Since the value of the constant C included in the first relational data is not determined, the first relational data obtained at this time is not determined. If the value of the constant C is determined later, the first relational data corresponding to the constant C with the determined value can be obtained, so that the center of mass position P(t) of the legged robot at any interval time t can be obtained.
[0178] 204. The legged robot determines predicted state data of the legged robot at the target position according to the target movement time and the first relationship data.
[0179] The target moving time indicates the time required for the legged robot to move from the initial position to the target position. The predicted state data is the state data obtained through the first relational data, which is the state data that the legged robot can reach when it moves to the target position. Since the first relational data includes a constant C whose value is not determined, the predicted state data obtained through the first relational data is related to the constant C whose value is not determined.
[0180] 205. The legged robot creates second relational data according to a state data error between the target state data and the predicted state data.
[0181] The second relationship data indicates a positive correlation between the target value J and the state data error.
[0182] The state data error is used to indicate the error between the target data and the predicted state data of the legged robot when the legged robot is at the target position. The second relationship data indicates a positive correlation between the target value J and the state data error. The larger the state data error, the larger the target value J, and the smaller the state data error, the smaller the target value J.
[0183] Since the predicted state data is related to the constant C, and the target state data is related to the coefficient β of each candidate landing point, the state data error is also related to the constant C and the coefficient β of each candidate landing point. Therefore, the target value J is related to the constant C and the coefficient β of each candidate landing point, that is, the second relationship data includes the constant C with an undetermined value and the coefficient β of each candidate landing point.
[0184] 206. The legged robot determines the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value based on the second relationship data, obtains the first relationship data corresponding to the constant C with the determined value, and the target landing point position of at least one foot at the target position.
[0185] The first relational data corresponding to the determined constant C is used to represent the center of mass trajectory of the footed robot. Through the first relational data, the center of mass position P(t) of the footed robot at any interval time t can be determined. By taking the value of the coefficient β of each candidate foothold position, the target foothold position of at least one foot of the footed robot when it is at the target position can be determined, so that when the footed robot moves to the target position, at least one foot lands at the target foothold position.
[0186] Since there is a positive correlation between the target value J and the state data error, when the target value J takes the minimum value, it means that the state data error is the smallest, so that the predicted state data is as close to the target state data as possible, so that when the legged robot moves to the target position according to the determined center of mass trajectory, the state data of the legged robot meets the expected target state data as much as possible, thereby ensuring the accuracy of the determined center of mass trajectory.
[0187] The method provided in the embodiment of the present application does not need to detect the status of each joint of the legged robot. It determines the target state data of the legged robot at the target position through the candidate landing point positions of the legged robot, and predicts the predicted state data of the legged robot at the target position through the first relationship data. Then, by minimizing the state data error between the predicted state data and the expected target state data, the constant C in the first relationship data and the coefficient β of each candidate landing point position are determined, thereby ensuring the accuracy of the value of the constant C and the coefficient β of each candidate landing point position, and determining the corresponding center of mass trajectory according to the constant C with the determined value, thereby improving the accuracy of the center of mass trajectory of the legged robot, and can also determine the target landing point position of at least one foot of the legged robot when it moves to the target position according to the value of the coefficient β of each candidate landing point position, thereby ensuring the feasibility of the legged robot moving to the target position. The method can be applied to legged robots with any number of feet and has a wide range of applications.
[0188] Figure 3 is a flow chart of a method for determining a center of mass trajectory provided in an embodiment of the present application, which is applied to a legged robot, such as Figure 3 As shown, the method includes:
[0189] 301. The legged robot obtains candidate foothold positions of at least one configured foot at a target position and a coefficient β of each candidate foothold position.
[0190] In an embodiment of the present application, a legged robot is configured with at least one foot, and at least one foot of the legged robot is in contact with the ground. The position where at least one foot of the legged robot contacts the ground is used as the initial landing point position of the legged robot, and each foot has multiple candidate landing point positions, which are the positions that the foot of the legged robot will reach.
[0191] Among the multiple candidate foothold positions of the legged robot, the coefficient β of each candidate foothold position is used to indicate the possibility that the foot of the legged robot lands on the candidate foothold position corresponding to the coefficient β, and the value of the coefficient β of each candidate foothold position is not determined. The target position is the position that the legged robot will reach. At this time, the legged robot has not reached the target position. The target position is determined by the legged robot according to the environment where the legged robot is located.
[0192] In one possible implementation, the value of the coefficient β includes 1 or 0, 1 indicates that the foot of the legged robot lands on the candidate landing point position corresponding to the coefficient β, and 0 indicates that the foot of the legged robot does not land on the candidate landing point position corresponding to the coefficient β.
[0193] In one possible implementation, the legged robot is equipped with a visual perception system, and step 301 includes: the legged robot obtains an environmental image including the moving direction of the legged robot through the visual perception system, performs feature extraction on the environmental image, and obtains candidate landing point positions for each foot of the legged robot.
[0194] For example, the visual perception system includes a camera, and the legged robot uses the camera to photograph the environment in the direction in which the legged robot moves, thereby obtaining an environmental image including the direction in which the legged robot moves.
[0195] Optionally, the process of obtaining candidate landing point positions includes: performing feature extraction on the environmental image to obtain multiple landing point positions for each foot, and for any foot, taking the projection position of the shoulder joint of the leg on which the foot is located on the ground, taking the projection position as the center and a reference value as the radius, determining a reference circular range, and taking the landing point position within the reference circular range as the candidate landing point position for the foot.
[0196] The legged robot has at least one leg, and the shoulder joint of each leg is connected to the body of the legged robot. The shoulder joint can rotate relative to the body of the legged robot, thereby realizing the leg-stepping action of the legged robot. Figure 4As shown, the foot 401 of the legged robot is on the leg 402, and the shoulder joint 403 of the leg 402 is connected to the body of the legged robot. The end of each leg is the foot of the leg. During the movement of the legged robot, the foot is in contact with the ground to support the legged robot to stand. The projection position is the position of the shoulder joint projected on the ground, and the reference value is an arbitrary value, such as 0.5 meters, 0.2 meters, etc.
[0197] 302. The legged robot determines target state data of the legged robot at a target position based on the candidate foothold position of at least one foot and the coefficient β of each candidate foothold position.
[0198] The target state data is used to represent the state data of the legged robot at the target position. Since the target state data is obtained through the candidate foothold position of each foot of the legged robot and the coefficient β of each candidate foothold position, the target state data is related to the coefficient β of each candidate foothold position.
[0199] In one possible implementation, the target state data includes the target center of mass position, then step 302 includes: determining the coordinates of the center position of the legged robot as the sum of the coordinates of each candidate landing point position multiplied by the corresponding coefficient β; and determining the target center of mass position based on the coordinates of the center position, by taking the position above the center position and at a height of the legged robot spaced from the center position.
[0200] Among them, the center of mass is the mass center of the legged robot, the center of mass position is the position of the center of mass of the legged robot, and the target center of mass position is the position where the center of mass of the legged robot is expected to be when the legged robot moves to the target position. Since the target center of mass position is obtained by the candidate foothold position of each foot of the legged robot and the coefficient β of each candidate foothold position, the target center of mass position is related to the coefficient β of each candidate foothold position.
[0201] Optionally, the target center of mass position is expressed in the form of coordinates in a coordinate system, or in the form of a vector. For example, in the world coordinate system, the target center of mass position of the legged robot is [20, 35, 80].
[0202] For example, in the world coordinate system, a right-hand rule coordinate system is adopted, with the moving direction of the legged robot as the X-axis, the direction of the left side of the legged robot perpendicular to the X-axis as the Y-axis, and the direction perpendicular to the ground as the Z-axis. The coordinates of the center position of the legged robot are determined by multiplying the coordinates of the candidate landing points of the legged robot by the corresponding coefficient β. The coordinate value of the center position on the Z-axis is added to the height value of the legged robot to obtain the coordinate value of the target center of mass position in the world coordinate system, that is, the target center of mass position is determined.
[0203] Optionally, the target state data also includes a target center of mass speed, and step 302 also includes: obtaining the initial state data of the footed robot at an initial position, the initial state data at least including the initial center of mass position; determining the target center of mass speed as the ratio of the distance between the target center of mass position and the initial center of mass position to the target movement time.
[0204] Among them, the initial position is the current position of the legged robot, and the initial center of mass position is the current position of the center of mass of the legged robot. The center of mass speed is the moving speed of the center of mass of the legged robot, and the center of mass speed can be represented by a vector. The target center of mass speed is the moving speed of the center of mass of the legged robot when the legged robot moves to the target position. Since the target center of mass position is related to the coefficient β of each candidate foothold position, the target center of mass speed is obtained through the target center of mass position and the initial center of mass position, and the target center of mass speed is related to the coefficient β of each candidate foothold position.
[0205] The distance between the target center of mass position and the initial center of mass position indicates the distance that the center of mass of the legged robot moves in the process of the legged robot moving from the initial position to the target position. The target movement duration indicates the time required for the legged robot to move from the initial position to the target position. Optionally, the target movement duration is an arbitrary duration, for example, 2 seconds or 3 seconds. By using the ratio of the distance to the target movement duration, the speed at which the legged robot moves from the initial position to the target position can be determined, that is, the target center of mass speed of the legged robot moving to the target position. Optionally, the target center of mass speed is represented in the form of a vector.
[0206] For example, the center of mass position of the legged robot is expressed in the form of a vector, such as [1, 2, 3]. Each element in the vector represents the coordinate value of the center of mass of the legged robot on the x-axis, y-axis and z-axis of the coordinate system. The distance between the target center of mass position and the initial center of mass position is also expressed by a vector, which represents the displacement of the center of mass of the legged robot on the x-axis, y-axis and z-axis. The ratio between the distance and the target moving time is the component velocity of the target center of mass speed on the x-axis, y-axis and z-axis.
[0207] Optionally, the target state data also includes target center of mass acceleration, and the initial state data also includes initial center of mass velocity. Step 302 also includes: determining the ratio of the difference between the target center of mass velocity and the initial center of mass velocity to the target movement duration as the target acceleration.
[0208] Wherein, the target center-of-mass acceleration is the acceleration that the center-of-mass of the legged robot is expected to have when the legged robot moves to the target position. Optionally, the target center-of-mass acceleration is expressed in the form of a vector. The initial center-of-mass velocity indicates the velocity of the center of mass of the legged robot when the legged robot is at the initial position. Optionally, the initial center-of-mass velocity is expressed in the form of a vector.
[0209] The difference between the target mass center velocity and the initial mass center velocity indicates the change in the mass center velocity of the legged robot when the legged robot moves from the initial position to the target position. The ratio of the change in the mass center velocity to the target moving time is the change in the mass center velocity per unit time of the legged robot when the legged robot moves from the initial position to the target position, which is the target mass center acceleration when the legged robot moves to the target position. Since the target mass center velocity is related to the coefficient β of each candidate foothold position, and the target mass center acceleration is obtained through the target mass center velocity and the initial mass center velocity, the target mass center acceleration is related to the coefficient β of each candidate foothold position.
[0210] In one possible implementation, the target state data includes at least the target center of mass position, the target center of mass speed and the target center of mass acceleration, then step 302 includes: determining the coordinates of the center position of the legged robot by the sum of the coordinates of each candidate foothold position multiplied by the corresponding coefficient β; determining the target center of mass position based on the coordinates of the center position, at a position above the center position and at a height of the legged robot spaced from the center position; obtaining the initial state data of the legged robot at the initial position, the initial state data including at least the initial center of mass position, determining the target center of mass speed as the ratio of the distance between the target center of mass position and the initial center of mass position to the target movement time; determining the target acceleration as the difference between the target center of mass speed and the initial center of mass speed to the ratio of the target movement time.
[0211] 303. The legged robot creates first relationship data, where the first relationship data indicates the relationship between the interval duration t and the center of mass position P(t) of the legged robot.
[0212] Among them, the interval duration t indicates the duration of the interval between any time point in the process of the legged robot moving from the initial position to the target position and the initial time point corresponding to the initial position. The center of mass position P(t) indicates the center of mass position of the legged robot at the interval duration t. The first relationship data includes a constant C with an undetermined value, and the constant C is used to represent the constant of the relationship between the center of mass position P(t) and the interval duration t. Optionally, the constant C is represented in the form of a vector, or in the form of a matrix.
[0213] In the legged robot, the first relational data is stored in the form of a description statement, or in the form of a function.
[0214] In a possible implementation, step 303 includes: setting the first relationship data to: the centroid position P(t) is the product of a constant C and a duration matrix E.
[0215] The duration matrix E is used to represent a matrix of interval duration t.
[0216] Optionally, the first relational data satisfies the following relation:
[0217] P(t)=P init +EC
[0218] Among them, P init is a constant vector used to represent the initial center of mass position of the legged robot when it is in the initial position.
[0219] Since the center of mass position of the legged robot changes with the interval time t of the movement during its movement, the center of mass position after any interval time t has a corresponding center of mass position change. The sum of the center of mass position change corresponding to the interval time t and the initial center of mass position of the legged robot when it starts moving is taken as the center of mass position P(t) corresponding to the legged robot after any interval time t, thereby determining the first relationship data indicating the relationship between the center of mass position P(t) and the interval time t. Subsequently, the center of mass movement trajectory of the legged robot can be determined through the first relationship data.
[0220] Optionally, the duration matrix E satisfies the following relationship:
[0221] E t =[1 tt 2 … t n ]
[0222] Among them, E t In the embodiment of the present application, the duration vector E t The highest power of the interval duration t is n.
[0223] Optionally, the constant C satisfies the following relationship:
[0224] C * =[C *0 C *1 … C *n ]
[0225] Among them, C x represents the component of the constant C on the x-axis, C y represents the component of the constant C on the y-axis, C z represents the component of the constant C on the z-axis; * represents the x-axis, y-axis, and z-axis; C* It represents the polynomial contained in the components of the constant C on the x-axis, y-axis, and z-axis.
[0226] 304. The legged robot determines predicted state data of the legged robot at the target position according to the target movement time and the first relationship data.
[0227] Since the first relational data is used to represent the center of mass position at any time point in the process of the legged robot moving from the initial position to the target position, and the target moving time indicates the time required for the legged robot to move from the initial position to the target position, the predicted state data of the legged robot can be predicted when the legged robot moves to the target position according to the center of mass trajectory indicated by the first relational data through the target moving time and the first relational data. Since the first relational data includes a constant C whose value is not determined, the obtained predicted state data is related to the constant C whose value is not determined.
[0228] In one possible implementation, the predicted state data includes a predicted center of mass position, and step 304 includes: determining, based on the first relationship data, a predicted center of mass position of the legged robot after moving from an initial position to a target moving time.
[0229] The first relationship data indicates the relationship between the interval duration t and the center of mass position P(t) of the legged robot, and the first relationship data includes a constant C whose value is not determined. Then, the target movement duration is used as the interval duration t and substituted into the first relationship data to obtain the predicted center of mass position of the legged robot, and the predicted center of mass position is related to the constant C whose value is not determined. The predicted state data at least includes the predicted center of mass position, which is the predicted position of the center of mass of the legged robot when the legged robot moves to the target position. Since the first relationship data includes the constant C whose value is not determined, the predicted center of mass position is related to the constant C.
[0230] In one possible implementation, the predicted state data includes predicted center of mass velocity, and step 304 includes: creating relationship data between the interval duration t and the center of mass velocity of the legged robot based on the first relationship data, and determining the predicted center of mass velocity of the legged robot after moving from the initial position to the target time based on the created relationship data.
[0231] The predicted center-of-mass velocity is the center-of-mass velocity of the legged robot predicted by the first relationship data when the legged robot moves to the target position, and the predicted center-of-mass velocity is related to a constant C whose value is not determined.
[0232] Optionally, the first-order derivative of the first relationship data with respect to the interval duration t is obtained to obtain relationship data between the interval duration t and the center of mass velocity of the legged robot, and the target movement duration is substituted into the relationship data to obtain the predicted center of mass velocity.
[0233] In one possible implementation, the predicted state data includes predicted center of mass acceleration, and step 304 includes: creating relationship data between the interval duration t and the center of mass acceleration of the legged robot based on the first relationship data, and determining the predicted center of mass acceleration of the legged robot after moving from the initial position to the target time based on the created relationship data.
[0234] The predicted center-of-mass acceleration is the center-of-mass acceleration of the legged robot predicted by the first relationship data when the legged robot moves to a target position, and the predicted center-of-mass acceleration is related to a constant C whose value is not determined.
[0235] Optionally, the second-order derivative of the first relationship data with respect to the interval duration t is obtained to obtain relationship data between the interval duration t and the center-of-mass acceleration of the legged robot, and the target movement duration is substituted into the relationship data to obtain the predicted center-of-mass acceleration.
[0236] In one possible implementation, the predicted state data includes at least the predicted center of mass position, the predicted center of mass speed and the predicted center of mass acceleration, then step 304 includes: determining the predicted center of mass position of the legged robot after the target moving time from the initial position according to the first relationship data; creating relationship data between the interval time t and the center of mass speed of the legged robot according to the first relationship data, and determining the predicted center of mass speed of the legged robot after the target moving time from the initial position according to the relationship data between the interval time t and the center of mass speed of the legged robot; creating relationship data between the interval time t and the center of mass acceleration of the legged robot according to the first relationship data, and determining the predicted center of mass acceleration of the legged robot after the target moving time from the initial position according to the relationship data between the interval time t and the center of mass acceleration of the legged robot.
[0237] 305. The legged robot creates second relational data according to a state data error between the target state data and the predicted state data.
[0238] The second relationship data indicates a positive correlation between the target value J and the state data error. Since the predicted state data is related to the constant C, and the target state data is related to the coefficient β of each candidate landing point, the target value J is related to the constant C and the coefficient β of each candidate landing point, that is, the second relationship data includes the constant C whose value is not determined and the coefficient β of each candidate landing point.
[0239] In one possible implementation, the target state data includes the target center of mass position, and the predicted state data includes the predicted center of mass position; step 305 includes: determining a first difference between the target center of mass position and the predicted center of mass position, and setting the target value J to the square of the first difference.
[0240] Among them, the first difference is used to indicate the difference between the target center of mass position and the predicted center of mass position when the legged robot is at the target position. Since the predicted center of mass position is related to the constant C, and the target center of mass position is related to the coefficient β of each candidate foothold position, the first difference is related to the constant C and the coefficient β of each candidate foothold position. After setting the target value J to the square of the first difference, the target value J is related to the constant C and the quadratic term of the coefficient β of each candidate foothold position. Optionally, when the constant C includes multiple constant terms, the quadratic term of the constant C includes the quadratic constant term composed of the multiple constant terms, that is, the square of each constant term or the product of any two constant terms. For example, the constant C includes the constant term C x , C y and C z , then the quadratic term of the constant C includes C x C y C x C z , C y C z Equal quadratic constant terms.
[0241] Optionally, the distance between the target center of mass position and the predicted center of mass position is determined as the first difference.
[0242] Optionally, the target center of mass position and the predicted center of mass position are both expressed in the form of coordinates, and the first difference is also expressed in the form of coordinates. The target center of mass position includes a first coordinate value on the x, y, and z axes, and the predicted center of mass position includes a second coordinate value on the x, y, and z axes. The difference between the first coordinate value and the second coordinate value on the x, y, and z axes is determined to obtain the first difference. The first difference includes the difference on the x, y, and z axes, and the weighted square sum of the difference of the first difference on the x, y, and z axes is used as the square of the first difference. Optionally, the weights corresponding to the x, y, and z axes are set arbitrarily.
[0243] In one possible implementation, the target state data includes a target center of mass speed, and the predicted state data includes a predicted center of mass speed. Step 305 includes: determining a second difference between the target center of mass speed and the predicted center of mass speed, and setting the target value J to the square of the second difference.
[0244] Among them, the second difference is used to indicate the difference between the target center of mass speed and the predicted center of mass speed of the legged robot when the legged robot is at the target position. Since the predicted center of mass speed is related to the constant C, and the target center of mass speed is related to the coefficient β of each candidate foothold position, the second difference is related to the constant C and the coefficient β of each candidate foothold position. After setting the target value J to the square of the second difference, the target value J is related to the quadratic term of the constant C and the coefficient β of each candidate foothold position. Optionally, when the constant C includes multiple constant terms, the quadratic term of the constant C includes the quadratic constant term composed of the multiple constant terms, that is, the square of each constant term or the product of any two constant terms. For example, the constant C includes the constant term C x , C y and C z , then the quadratic term of the constant C includes C x C y , C x C z , C y C z Equal quadratic constant terms.
[0245] Optionally, the target center of mass speed and the predicted center of mass speed are both expressed in the form of coordinates, and the second difference is also expressed in the form of coordinates. The target center of mass speed includes the first component speed on the x, y, and z axes, and the predicted center of mass speed includes the second component speed on the x, y, and z axes. The speed difference between the first component speed and the second component speed on the x, y, and z axes is determined to obtain the second difference. The second difference includes the speed difference on the x, y, and z axes, and the weighted square sum of the speed differences of the second difference on the x, y, and z axes is used as the weighted square of the second difference. Among them, the weights corresponding to the x, y, and z axes are set arbitrarily.
[0246] In one possible implementation, the target state data includes the target center of mass acceleration, and the predicted state data includes the predicted center of mass acceleration. Step 305 includes: determining a third difference between the target center of mass acceleration and the predicted center of mass acceleration, and setting the target value J to the square of the third difference.
[0247] Among them, the third difference is used to indicate the difference between the target center of mass acceleration and the predicted center of mass acceleration of the legged robot when the legged robot is at the target position. Since the predicted center of mass acceleration is related to the constant C, and the target center of mass acceleration is related to the coefficient β of each candidate foothold position, the third difference is related to the constant C and the coefficient β of each candidate foothold position. After setting the target value J to the square of the third difference, the target value J is related to the quadratic term of the constant C and the coefficient β of each candidate foothold position. Optionally, when the constant C includes multiple constant terms, the quadratic term of the constant C includes the quadratic constant term composed of the multiple constant terms, that is, the square of each constant term or the product of any two constant terms. For example, the constant C includes the constant term C x , C y and C z , then the quadratic term of the constant C includes C x C y , C x C z , C y C z Equal quadratic constant terms.
[0248] Optionally, the target center of mass acceleration and the predicted center of mass acceleration are both expressed in the form of coordinates, and the third difference is also expressed in the form of coordinates. The target center of mass acceleration includes the first component acceleration on the x, y, and z axes, and the predicted center of mass acceleration includes the second component acceleration on the x, y, and z axes. The acceleration difference between the first component acceleration and the second component acceleration on the x, y, and z axes is determined to obtain the third difference. The third difference includes the acceleration difference on the x, y, and z axes. The weighted square sum of the acceleration differences of the third difference on the x, y, and z axes is used as the weighted square of the third difference. Among them, the weights corresponding to the x, y, and z axes are set arbitrarily.
[0249] It should be noted that the three possible implementation methods of the above step 305 are only described with the state data including the center of mass position, center of mass velocity or center of mass acceleration respectively. In addition, any two of the above three possible implementation methods can be combined, or all three possible implementation methods can be combined.
[0250] When any two possible implementations are combined, the state data error includes the first difference and the second difference, and the target value J is set to the weighted square sum of the first difference and the second difference; or, the state data error includes the first difference and the third difference, and the target value J is set to the weighted square sum of the first difference and the third difference; or, the state data error includes the second difference and the third difference, and the target value J is set to the weighted square sum of the second difference and the third difference. The weight between any two differences included in the state data error is set arbitrarily.
[0251] When the above three possible implementations are combined, that is, the state data error includes the first difference, the second difference, and the third difference, the target value J is set to the weighted square sum of the first difference, the second difference, and the third difference. Optionally, the weights between the first difference, the second difference, and the third difference are set arbitrarily. After determining the weighted square of the first difference, the weighted square of the second difference, and the weighted square of the third difference, the sum of the weighted square of the first difference, the weighted square of the second difference, and the weighted square of the third difference is taken as the weighted square sum of the first difference, the second difference, and the third difference, that is, the target value J.
[0252] In one possible implementation, the second relationship data indicates a positive correlation between the target value J and the sum of the state data error and the coefficient β of the candidate foothold position of the legged robot.
[0253] In the embodiment of the present application, each foot of the legged robot has multiple candidate foothold positions, each candidate foothold position has a coefficient β, and the sum of the coefficients β of the multiple candidate foothold positions of each foot is the coefficient β of the candidate foothold position of the legged robot. For example, the legged robot is configured with 4 feet, each foot has 4 candidate foothold positions, and the number of candidate foothold positions of the legged robot is 16, that is, the sum of the coefficients β of the candidate foothold positions of the legged robot is the sum of the coefficients β of the 16 candidate foothold positions.
[0254] Optionally, the second relationship data indicates a positive correlation between the target value J and a weighted sum of the state data error and a coefficient β of the candidate foothold positions of the legged robot.
[0255] Optionally, when the state data error includes any difference, the target value J is set to the sum of the square of the difference and the sum of the coefficients β of the candidate landing points of the legged robot; when the state data error includes any two differences, the target value J is set to the sum of the weighted squares of the two differences and the sum of the coefficients β of the candidate landing points of the legged robot; when the state data error includes three differences, the target value J is set to the sum of the weighted squares of the three differences and the sum of the coefficients β of the candidate landing points of the legged robot.
[0256] Optionally, multiple sampling time points are selected within the target time length, and each candidate landing point position has a coefficient β at each sampling time point. The second relationship data indicates a positive correlation between the target value J and the state data error and the sum of the coefficients β of the candidate landing point position of the legged robot at multiple sampling time points.
[0257] Optionally, the second relationship data indicates a positive correlation between the target value J and the weighted sum of the coefficients β of the state data error and the candidate foothold positions and the initial foothold positions of the legged robot. Optionally, multiple sampling time points are selected within the target duration, each candidate foothold position has a coefficient β at each sampling time point, and each initial foothold position has a coefficient β at each sampling time point, then the second relationship data indicates a positive correlation between the target value J and the state data error and the sum of the coefficients β of the candidate foothold positions and the initial foothold positions of the legged robot at multiple sampling time points.
[0258] In a possible implementation, step 305 includes the following two methods:
[0259] The first method includes the following steps 3051-3053:
[0260] 3051. Select multiple sampling time points within the target movement duration.
[0261] The sampling time point refers to the time point between the initial time point corresponding to the initial position and the end time point corresponding to the target position. The multiple sampling time points include two or more sampling time points. The interval between any two adjacent sampling time points may be equal or unequal.
[0262] For example, the moving duration is 60 seconds, the initial time point corresponding to the initial position is 0 seconds, the end time point corresponding to the target position is 60 seconds, and 5 sampling time points are selected from the moving duration, the first sampling time point is 10 seconds, the second sampling time point is 20 seconds, the third sampling time point is 30 seconds, the fourth sampling time point is 40 seconds, and the fifth sampling time point is 50 seconds; or, the first sampling time point is 5 seconds, the second sampling time point is 20 seconds, the third sampling time point is 25 seconds, the fourth sampling time point is 40 seconds, and the fifth sampling time point is 55 seconds.
[0263] In a possible implementation, step 3051 may include: dividing the moving duration into multiple time periods, using the end time point of each time period as the sampling time point, and using the start time point of the first time period as the sampling time point. The multiple time periods may be equal or unequal.
[0264] Optionally, when multiple time periods are equal, the multiple sampling time points obtained satisfy the following relationship:
[0265]
[0266] Wherein, k represents the serial number of the sampling time point, and the value of k is (0, 1, ..., N num ), N numis the number of time periods; t k Used to indicate the kth sampling time point; T a Indicates the duration of the move.
[0267] 3052. Determine fourth relationship data corresponding to each sampling time point according to the interval duration between each sampling time point and the initial time point and the first relationship data.
[0268] The fourth relational data indicates the relationship between the constant C and the sampled center of mass position Q(C), and the sampled center of mass position Q(C) indicates the center of mass position of the legged robot at the corresponding sampling time point. In the legged robot, the fourth relational data is stored in the form of a description statement, or in the form of a function.
[0269] Since the first relationship data indicates that the centroid position P(t) is the product of the constant C and the duration matrix E, the interval duration between any sampling time point and the initial time point is substituted into the duration matrix E in the first relationship data, and the value of the duration matrix E at any sampling time point is determined to obtain the fourth relationship data corresponding to the sampling time point, and the fourth relationship data indicates the relationship between the constant C and the sampling centroid position Q(C). The value of the constant C included in the fourth relationship data is not determined, and the values of other constants included in the fourth relationship data are all determined.
[0270] 3053. Create second relational data according to the state data error and the fourth relational data.
[0271] The second relational data indicates the positive correlation between the target value J and the state data error and the sampled mass center position Q(C). In the legged robot, the fourth relational data is stored in the form of a description statement or in the form of a function.
[0272] In one possible implementation, the target state data includes the target center of mass position, and the predicted state data includes the predicted center of mass position; then step 3053 includes: determining a first difference between the target center of mass position and the predicted center of mass position, and setting the target value J to the sum of the first value and the second value.
[0273] Among them, the first numerical value is the square of the first difference, and the second numerical value is the weighted square sum of multiple distances. Multiple distances include the initial centroid position of the initial position, multiple sampled centroid positions, and the distance between any two adjacent centroid positions in the predicted centroid position. Optionally, the weight of each distance is set arbitrarily. Determine the square value of the product of each distance and the corresponding weight, and take the sum of the square values corresponding to the multiple distances as the weighted square sum of the multiple distances. Through the weighted square sum of multiple distances, the length of the centroid trajectory can be reflected, and the oscillation amplitude of the centroid trajectory curve can be reduced.
[0274] Since multiple sampling positions and predicted centroid positions are all related to the constant C, and the target centroid position is related to the coefficient β of each candidate landing point position, then the first difference is related to the constant C and the coefficient β of each candidate landing point position, and multiple distances are all related to the constant C. The first value is the square of the first difference, and the second value is the weighted square sum of multiple distances. Then the first value is related to the constant C and the quadratic term of the coefficient β of each candidate landing point position, and the second value is related to the quadratic term of the constant C. After setting the target value J to the sum of the first value and the second value, the target value J is related to the constant C and the quadratic term of the coefficient β of each candidate landing point position. Optionally, when the constant C includes multiple constant terms, the quadratic term of the constant C includes the quadratic constant term composed of the multiple constant terms, that is, the square of each constant term or the product of any two constant terms. For example, the constant C includes the constant term C x , C y and C z , then the quadratic term of the constant C includes C x C y , C x C z , C y C z Equal quadratic constant terms.
[0275] In one possible implementation, the target state data includes the target center of mass speed, and the predicted state data includes the predicted center of mass speed. Step 3053 includes: determining a second difference between the target center of mass speed and the predicted center of mass speed, and setting the target value J to the sum of the third value and the second value.
[0276] The third value is the square of the second difference, and the second value is the weighted square sum of multiple distances.
[0277] Since multiple sampling positions and predicted center of mass speeds are all related to constant C, and the target center of mass speed is related to the coefficient β of each candidate landing point position, then the second difference is related to constant C and the coefficient β of each candidate landing point position, multiple distances are all related to constant C, the third value is the square of the second difference, the second value is the weighted square sum of multiple distances, the third value is related to constant C and the quadratic term of the coefficient β of each candidate landing point position, and the second values are all related to the quadratic term of constant C. After setting the target value J to the sum of the third value and the second value, the target value J is related to the constant C and the quadratic term of the coefficient β of each candidate landing point position. Optionally, when constant C includes multiple constant terms, the quadratic term of constant C includes the quadratic constant term composed of the multiple constant terms, that is, the square of each constant term or the product of any two constant terms. For example, constant C includes the constant term C x , C y and Cz , then the quadratic term of the constant C includes C x C y , C x C z , C y C z Equal quadratic constant terms.
[0278] In one possible implementation, the target state data also includes the target center of mass acceleration, and the predicted state data also includes the predicted center of mass acceleration. Step 3053 includes: determining a third difference between the target center of mass acceleration and the predicted center of mass acceleration, and setting the target value J to the sum of the fourth value and the second value.
[0279] The fourth value is the square of the third difference, and the second value is the weighted square sum of multiple distances.
[0280] Since multiple sampling positions and predicted center-of-mass acceleration are all related to constant C, and the target center-of-mass acceleration is related to the coefficient β of each candidate landing point, then the third difference is related to constant C and the coefficient β of each candidate landing point, and multiple distances are all related to constant C. The fourth value is the square of the third difference, and the second value is the weighted square sum of multiple distances. Then the fourth value is related to the constant C and the quadratic term of the coefficient β of each candidate landing point, and the second values are all related to the quadratic term of constant C. After setting the target value J to the sum of the fourth value and the second value, the target value J is related to the constant C and the quadratic term of the coefficient β of each candidate landing point. Optionally, when constant C includes multiple constant terms, the quadratic term of constant C includes the quadratic constant term composed of the multiple constant terms, that is, the square of each constant term or the product of any two constant terms. For example, constant C includes the constant term C x , C y and C z , then the quadratic term of the constant C includes C x C y , C x C z , C y C z Equal quadratic constant terms.
[0281] It should be noted that the three possible implementation methods of the above step 3053 are only described with the state data including the center of mass position, center of mass velocity or center of mass acceleration respectively. In addition, any two of the above three possible implementation methods can be combined, or all three possible implementation methods can be combined.
[0282] When any two methods are combined, the state data error includes the first difference and the second difference, and the target value J is set to the weighted square sum of the first difference and the second difference and the sum of the second value; or, the state data error includes the first difference and the third difference, and the target value J is set to the weighted square sum of the first difference and the third difference and the sum of the second value; or, the state data error includes the second difference and the third difference, and the target value J is set to the weighted square sum of the second difference and the third difference and the sum of the second value. The weights between any two differences included in the state data error are set arbitrarily.
[0283] When the above three possible implementation methods are combined, that is, the state data error includes the first difference, the second difference and the third difference, the target value J is set to the weighted sum of the squares of the first difference, the second difference and the third difference, and the second value is the weighted sum of the squares of multiple distances and the sum of the second value.
[0284] Optionally, the weights of the first difference, the second difference, and the third difference are set arbitrarily. Determine the square value of the product of the first difference and the corresponding weight, the square value of the product of the second difference and the corresponding weight, and the square value of the product of the third difference and the corresponding weight, and sum the square value corresponding to the first difference, the square value corresponding to the second difference, and the square value corresponding to the third difference, that is, the weighted square sum of the first difference, the second difference, and the third difference.
[0285] The second method includes: according to the state data error and the force f exerted on at least one foot of the legged robot when it contacts the ground i , create the second relational data.
[0286] The second relationship data indicates the target value J and the state data error and the force f exerted by at least one foot in contact with the ground. i There is a positive correlation between the quadratic terms of .
[0287] In one possible implementation, the state data error includes a first difference, which represents the difference between the target center of mass position and the predicted center of mass position. Then, the second method includes: according to the first difference and the force f corresponding to at least one foot of the legged robot i , set the target value J to the force f corresponding to at least one foot i The weighted sum of squares of , and the sum of the squares of the first differences.
[0288] Optionally, determine each force f i The square of the product of the corresponding weight will be the corresponding force f of at least one foot i The sum of the corresponding squares is taken as the force f corresponding to the at least one foot iOptionally, each force f i The corresponding weights are set arbitrarily.
[0289] Optionally, the force f exerted on at least one foot of the legged robot when in contact with the ground is i include and The force is the force f i The force component on the x-axis is is the force f i The force component on the y-axis is is the force f i The force component on the z-axis is f for the i-th foot of the legged robot in contact with the ground. i The weighted square of satisfies the following relationship:
[0290]
[0291] Among them, F i represents the force f corresponding to the i-th foot i The weighted square of a1, a2, and a3 represent the force f corresponding to the i-th foot. i The weights on the x-axis, y-axis, and z-axis, a1, a2, and a3 are arbitrary constants, and the values of a1, a2, and a3 may be the same or different. In addition, for different forces, the value of a1 may be the same or different, the value of a2 may be the same or different, and the value of a3 may be the same or different.
[0292] Optionally, the force f corresponding to at least one foot of the legged robot in contact with the ground i The weighted sum of squares is equal to the weighted square F corresponding to at least one foot i sum.
[0293] It should be noted that the above possible implementation method is only described by using the state data error including the first difference. When the state data error includes the second difference or the third difference, the process of creating the second relationship data is similar to the above possible implementation method and will not be repeated here.
[0294] Furthermore, the state data error may include a first difference, a second difference, and a third difference. When the state data error includes any two or three differences, the target value J is set to be the weighted square sum of the differences included in the state data error, and the force f corresponding to the least one foot i The sum of the weighted sums of squares of .
[0295] It should be noted that the embodiment of the present application is only described separately in the first manner and the second manner, and in another embodiment, the first manner and the second manner can be combined, and the force f exerted by at least one foot of the legged robot in contact with the ground is determined according to the state data error, the fourth relationship data, and the force f exerted by at least one foot of the legged robot in contact with the ground. i , create the second relational data.
[0296] 306. The legged robot determines, based on the second relationship data, the value of the constant C when the target value J is the minimum value and the coefficient β of each candidate foothold position.
[0297] Since the second relationship data includes the coefficient β and the constant C of each candidate landing point, when the target value J takes the minimum value, the value of the constant C and the coefficient β of each candidate landing point can be determined.
[0298] The process of determining the value of the constant C and the coefficient β of each candidate landing point when the target value J is the minimum value includes the following seven methods:
[0299] The first method includes the following steps 3601-3602:
[0300] 3601. Create at least one spatial constraint condition of a foot based on the first relationship data.
[0301] The spatial constraint is used to indicate at least one spatial range that can be moved, and the spatial constraint includes a constant C and a coefficient β of each candidate landing point. Figure 5 As shown, Figure 5 The polyhedron 501 in the figure is the movable spatial range of the foot 502 of the legged robot, and the spatial range is composed of multiple spatial points, which are the spatial points that the foot 501 can reach. In the embodiment of the present application, when the legged robot starts to move from any position, the foot of the legged robot can only move within the movable spatial range of the foot and cannot move to a place outside the spatial range. Therefore, by creating at least one spatial constraint condition of the foot, the movable spatial range of at least one foot is constrained to ensure that the target landing point determined subsequently is within the movable spatial range of the foot of the legged robot.
[0302] 3601. Based on the second relationship data, determine the value of the constant C and the coefficient β of each candidate landing point when the target value J is the minimum value while satisfying the spatial constraint.
[0303] Since the spatial constraint condition is used to indicate the spatial range in which at least one foot can move, the spatial constraint condition is used to constrain at least one foot to move only within the movable spatial range, thereby ensuring the feasibility of the foot movement of the legged robot, thereby ensuring the accuracy of the determined constant C and the coefficient β of each candidate foothold position, so that the movement of the legged robot can be controlled subsequently according to the determined constant C and the coefficient β of each candidate foothold position.
[0304] The second method includes the following steps 3603-3604:
[0305] 3603. Create force constraints.
[0306] The force constraint condition is used to indicate that the force exerted on at least one foot when in contact with the ground at each corresponding candidate foothold position is not greater than the force extreme value corresponding to each candidate foothold position. The force extreme values corresponding to different candidate foothold positions may be different or the same. Optionally, the force extreme value corresponding to the candidate foothold position is set arbitrarily. The force constraint condition includes a coefficient β for each candidate foothold position.
[0307] Optionally, the force constraint condition is used to indicate that the product of the force of the foot of the legged robot at any candidate foothold position and the normal vector of any candidate foothold position is less than the product of the coefficient β of the candidate foothold position and the extreme value of the force corresponding to the candidate foothold position.
[0308] 3604. Based on the second relationship data, determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value while satisfying the force constraint condition.
[0309] By creating force constraints, the force conditions of at least one foot of the legged robot are made to meet the constraints to ensure that the force conditions of the legged robot meet the requirements, thereby ensuring the accuracy of the determined constant C and the coefficient β of each candidate foothold position.
[0310] In one possible implementation, step 3604 includes: creating a friction constraint condition, and determining, based on the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value while satisfying the force constraint condition and the friction constraint condition.
[0311] The friction constraint condition indicates the friction constraint condition satisfied by the force exerted on at least one foot of the legged robot when it contacts the candidate foothold position, and the friction constraint condition includes a constant C whose value is undetermined.
[0312] By means of friction constraints and action force constraints, when the foot of the legged robot contacts the candidate footing point, the force condition of the legged robot meets the requirements and slipping between the foot of the legged robot and the candidate footing point is avoided, thus ensuring the feasibility of the movement of the legged robot.
[0313] The third method includes the following steps 3605-3606:
[0314] 3605. Create at least one foot coefficient constraint.
[0315] The coefficient constraint condition is used to indicate that at any time point during the movement of the legged robot, the sum of the coefficients β of multiple candidate foothold positions of each foot is not greater than 1. In the embodiment of the present application, the value of the coefficient β includes 1 or 0, 1 indicates that the foot of the legged robot lands on the candidate foothold position corresponding to the coefficient β, and 0 indicates that the foot of the legged robot does not land on the candidate foothold position corresponding to the coefficient β.
[0316] 3606. Based on the second relationship data, determine the value of the constant C and the coefficient β of each candidate foothold position when the target value J is the minimum value while satisfying at least one foot coefficient constraint.
[0317] By using the coefficient constraint of at least one foot, any foot of the legged robot is restricted to only land on one candidate landing point among multiple candidate landing point positions corresponding to the foot at any point in time, so as to ensure the accuracy of the foot steps of the legged robot and avoid the situation where one foot lands on two candidate landing point positions at the same time, thereby ensuring the accuracy of the constant C and the coefficient β of each candidate landing point position.
[0318] The fourth method includes the following steps 3607-3608:
[0319] 3607. Create third relational data.
[0320] The third relationship data is used to indicate the relationship between the sum of the coefficients β of the candidate foothold positions of the legged robot and the number of legs of the legged robot when the legged robot is at the target position.
[0321] The legged robot is configured with at least one foot, and each foot has a plurality of coefficients β of candidate landing points. Then, when the legged robot is at a target position, the relationship between the sum of the coefficients β of the plurality of candidate landing points of the plurality of feet and the foot position of the legged robot is used to limit the number of feet of the legged robot in contact with the ground when the legged robot is at the target position.
[0322] In one possible implementation, the value of the coefficient β includes 1 or 0, 1 indicates that the foot of the legged robot falls on the candidate landing point position corresponding to the coefficient β, and 0 indicates that the foot of the legged robot does not fall on the candidate landing point position corresponding to the coefficient β. The third relationship data is used to indicate that when the legged robot is at the target position, the sum of the coefficients β of the candidate landing point positions of the legged robot is equal to the number of feet of the legged robot.
[0323] The sum of the coefficients β of the candidate foothold positions of the legged robot is equal to the number of feet of the legged robot, so as to ensure that when the legged robot is at the target position, the feet of the legged robot are in contact with the ground and each foot falls on one of the corresponding multiple candidate foothold positions.
[0324] 3608. According to the second relationship data and the third relationship data, determine the value of the constant C and the coefficient β of each candidate landing point when the target value J is the minimum value.
[0325] The third relationship data is used to limit the number of feet of the legged robot in contact with the ground at the target position, and each foot can only land on one candidate landing point position, so as to ensure the accuracy of the determined constant C and the coefficient β of each candidate landing point position.
[0326] The fifth method includes the following steps 3609-3612:
[0327] 3609. Select multiple sampling time points within the target movement duration.
[0328] This step is similar to the above step 3051 and will not be repeated here.
[0329] 3610. Determine a coefficient β of at least one candidate foothold position at each sampling time point.
[0330] Since the coefficient β is used to indicate the possibility of the foot of the legged robot landing on the candidate foothold position corresponding to the coefficient β, for any candidate foothold position, the candidate foothold position has multiple coefficients β at multiple sampling time points, and the coefficients β corresponding to different sampling time points may be the same or different. For example, for any candidate foothold position, the candidate foothold position has multiple coefficients β at multiple sampling time points, all of which are 0, indicating that at multiple sampling time points, the foot of the legged robot did not land on the candidate foothold position; or, the coefficients β of the candidate foothold position at the first few sampling time points are all 0, and the coefficients β at the latter few sampling time points are all 1, indicating that at the sampling time point corresponding to the coefficient β being 0, the foot of the legged robot did not land on the candidate foothold position, and at the latter few sampling time points, the foot of the legged robot landed on the candidate foothold position, completing the stepping action of the foot of the legged robot.
[0331] 3611. Create a step timing constraint condition based on the coefficient β of at least one candidate foothold position at each sampling time point.
[0332] Among them, the step timing constraint is used to indicate the relationship between the coefficients β of the candidate landing point position of each foot at multiple sampling time points in the process of the legged robot moving from the initial position to the target position.
[0333] In one possible implementation, the step timing constraint is used to indicate that a coefficient β of any candidate foothold position of any foot of the legged robot at a previous sampling time point is not greater than a coefficient β of any candidate foothold position at a subsequent sampling time point.
[0334] For example, the value of the coefficient β includes 1 or 0. The value of the coefficient β is 1, which indicates that the foot of the legged robot falls on the candidate landing point corresponding to the coefficient β. The value of the coefficient β is 0, which indicates that the foot of the legged robot does not fall on the candidate landing point corresponding to the coefficient β. Then, for any candidate landing point, during the movement of the legged robot from the initial position to the target position, at the initial time point, the coefficient β of the candidate landing point is 0. Then, as time goes by, the foot of the legged robot may fall on the candidate landing point. If it falls on the candidate landing point, the coefficient β of the candidate landing point is 1, and the coefficient β of the candidate landing point at the subsequent sampling time points is 1. Therefore, the value of the coefficient β of the candidate landing point at multiple sampling time points changes from 0 to 1, that is, the coefficient β of the candidate landing point at the previous sampling time point is not greater than the coefficient β of any candidate landing point at the subsequent sampling time point.
[0335] In one possible implementation, the step timing constraint is used to indicate that a coefficient β of the initial foothold position of any foot of the legged robot at a previous sampling time point is not less than a coefficient β of the initial foothold position at a subsequent sampling time point.
[0336] For example, the value of the coefficient β includes 1 or 0. The value of the coefficient β is 1, which indicates that the foot of the legged robot falls on the initial landing point position corresponding to the coefficient β. The value of the coefficient β is 0, which indicates that the foot of the legged robot does not fall on the initial landing point position corresponding to the coefficient β. For any initial landing point position, during the movement of the legged robot from the initial position to the target position, at the initial time point, the coefficient β of the candidate landing point position is 1. Then, as time goes by, the foot of the legged robot may fall on any candidate landing point position, and there will no longer be a foot of the legged robot at the initial landing point position. Therefore, the value of the coefficient β of the initial landing point position at multiple sampling time points changes from 1 to 0, that is, the coefficient β of the initial landing point position at the previous sampling time point is not less than the coefficient β of the initial landing point position at the next sampling time point.
[0337] 3612. Based on the second relationship data, while satisfying the step timing constraint condition, determine the value of the constant C when the target value J is the minimum value and the coefficient β of each candidate landing point position.
[0338] Through the stepping timing constraint condition, it is ensured that each foot of the legged robot steps only once in the process of moving from the initial position to the target position, so as to ensure the accuracy of the determined constant C and the coefficient β of each candidate foothold position.
[0339] In one possible implementation, step 3612 includes the following steps 36121-36122:
[0340] 36121. Create step duration constraints.
[0341] Among them, the stepping duration constraint condition is used to indicate that the sum of the coefficients β of the candidate foothold positions of the legged robot at multiple sampling time points is less than the number of multiple sampling time points. By creating the stepping duration constraint condition, it is ensured that the legged robot has sufficient duration during the stepping process, so that the foot of the legged robot can achieve the stepping action within a sufficient duration.
[0342] In a possible implementation, the step duration constraint is used to indicate that the sum of coefficients β of the candidate foothold positions of the legged robot at multiple sampling time points is not greater than a reference value, and the reference value is less than the number of the multiple sampling time points. The reference value is set arbitrarily.
[0343] 36122. Based on the second relationship data, while satisfying the step timing constraint and the step duration constraint, determine the value of the constant C when the target value J is the minimum value and the coefficient β of each candidate landing point position.
[0344] By creating a stepping duration constraint condition, it is ensured that the legged robot has sufficient time during the stepping process, so that the foot of the legged robot can achieve the stepping action within a sufficient time, thereby ensuring the feasibility of the movement of the legged robot, thereby ensuring the accuracy of the determined constant C and the coefficient β of each candidate landing point position.
[0345] In a sixth embodiment, the second relational data indicates the target value J and the state data error and the force f exerted on at least one foot of the legged robot when it contacts the ground. i A positive correlation between the quadratic terms; comprising the following steps 3613-3614:
[0346] 3613. Create fifth relationship data corresponding to at least one foot of the legged robot configuration.
[0347] The fifth relationship data corresponding to at least one foot respectively indicates the force f corresponding to at least one foot. i The relationship between the interval time t and the force f i Indicates the force exerted on the i-th foot of the legged robot when it contacts the ground, i is a positive integer, and the fifth relational data includes an undetermined constant C. In the legged robot, the fifth relational data is stored in the form of a description statement, or in the form of a function.
[0348] In one possible implementation, step 3613 includes: creating sixth relationship data, creating seventh relationship data, and creating at least one corresponding fifth relationship data based on the sixth relationship data and the seventh relationship data.
[0349] The sixth relationship data indicates the relationship between the angular momentum L of the legged robot and the interval time t, and the angular momentum L is used to represent the change of the posture of the legged robot. The seventh relationship data indicates the force f corresponding to at least one foot i The seventh relationship data is used to indicate that the force corresponding to at least one foot of the legged robot is affected by the posture of the legged robot. By creating the sixth relationship data and the seventh relationship data, the force f at least one foot of the legged robot in contact with the ground is determined. i and the interval time t. In the legged robot, the sixth relational data and the seventh relational data are stored in the form of description statements, or in the form of functions.
[0350] 3614. Based on the second relationship data and the fifth relationship data, determine the value of the constant C and the coefficient β of each candidate landing point when the target value J is the minimum value.
[0351] Since the fifth relationship data corresponding to at least one foot respectively indicates the force f corresponding to at least one foot i The fifth relationship data includes a constant C whose value is not determined, that is, the fifth relationship data indicates the force f i and a constant C, and the second relationship data indicates the target value J and the state data error and the force f exerted by at least one foot in contact with the ground. i If there is a positive correlation between the quadratic terms of , then when the fifth relationship data is satisfied, the value of the constant C when the target value J is the minimum value and the value of the coefficient β of each candidate landing point position can be determined.
[0352] In one possible implementation, step 3614 includes: selecting multiple sampling time points within the target movement duration, determining the relationship data corresponding to each sampling time point based on the interval duration between each sampling time point and the initial time point and the fifth relationship data, and determining the value of the constant C when the target value J is the minimum value and the value of the coefficient β of each candidate landing point position based on the second relationship data and the relationship data corresponding to the multiple sampling time points.
[0353] Among them, the relationship data corresponding to each sampling time point indicates the constant C and the force f corresponding to at least one foot i Since the fifth relationship data indicates the force f corresponding to at least one foot i The relationship between t and the interval time t, and the fifth relationship data includes a constant C whose value is not determined, and the interval time corresponding to each sampling time point is substituted into the fifth relationship data to obtain the relationship data corresponding to each sampling time point.
[0354] The seventh method includes the following steps 3615-3616:
[0355] 3615. Create eighth relationship data, ninth relationship data, and tenth relationship data according to the first relationship data and the initial time point.
[0356] The eighth relational data indicates the relationship between the initial center of mass position of the legged robot at the initial position and the constant C, the ninth relational data indicates the relationship between the initial center of mass velocity of the legged robot at the initial position and the constant C, and the tenth relational data indicates the relationship between the initial center of mass acceleration of the legged robot at the initial position and the constant C. In the legged robot, the eighth relational data, the ninth relational data and the tenth relational data are stored in the form of description statements, or in the form of functions.
[0357] In one possible implementation, step 3615 includes: substituting the initial time point into the first relationship data to obtain the first relationship data; obtaining the first-order derivative of the first relationship data with respect to the interval time t, substituting the initial time point into the obtained first-order derivative relationship data, and obtaining the ninth relationship data; obtaining the second-order derivative of the first relationship data with respect to the interval time t, substituting the initial time point into the obtained second-order derivative relationship data, and obtaining the tenth relationship data.
[0358] 3616. Determine the value of the constant C and the coefficient β of each candidate landing point when the target value J is the minimum value based on the eighth relationship data, the ninth relationship data, the tenth relationship data and the second relationship data.
[0359] When the constant C satisfies the eighth, ninth and tenth relationship data, the value of the constant C and the coefficient β of each candidate landing point are determined when the target value J is the minimum value, so that the initial state data of the legged robot at the initial position satisfies the first relationship data corresponding to the constant C whose value has been determined, so as to ensure the accuracy of the determined value of the constant C.
[0360] It should be noted that the above seven methods can be combined arbitrarily, such as any two methods, any three methods, or seven methods, etc. For example, when the above first method is combined with the second method, by creating a force constraint condition and a coefficient constraint condition of at least one foot, then according to the second relationship data, when the force constraint condition and the coefficient constraint condition of at least one foot are satisfied, the target value J is the minimum value of the constant C and the coefficient β of each candidate landing point position.
[0361] In a possible implementation, the second relationship data indicates a positive correlation between the target value J and the weighted sum of the state data error and the coefficient β of the candidate foothold position and the initial foothold position of the legged robot, then step 306 includes: according to the second relationship data, determining the value of the constant C when the target value J is the minimum value, the coefficient β of each candidate foothold position at multiple sampling time points, and the coefficient β of each initial foothold position at multiple sampling time points. Each candidate foothold position has a coefficient β at multiple sampling time points, and each initial foothold position has a coefficient β at multiple sampling time points.
[0362] 307. The legged robot obtains first relational data corresponding to the constant C whose value has been determined.
[0363] The first relationship data is used to represent the center of mass trajectory of the legged robot. By determining the center of mass trajectory, the center of mass position of the legged robot at any time point in the process of the legged robot moving from the initial position to the target position can be obtained.
[0364] After the value of the constant C is determined, the constant C with the determined value is substituted into the first relational data, and the first relational data indicates the relationship between the center of mass position P(t0) and the interval time t, and the first relational data, except for the interval time t, does not include other constants with undetermined values. Therefore, the first relational data corresponding to the constant C with the determined value can represent the center of mass trajectory of the legged robot.
[0365] 308. The legged robot determines the candidate foothold position corresponding to the coefficient β with a value of 1 as the target foothold position according to the value of the coefficient β of each candidate foothold position.
[0366] In the embodiment of the present application, the value of the coefficient β includes 1 or 0, 1 indicates that the foot of the legged robot falls on the candidate landing point position corresponding to the coefficient β, and 0 indicates that the foot of the legged robot does not fall on the candidate landing point position corresponding to the coefficient β.
[0367] According to the value of the coefficient β of each candidate foothold position, the candidate foothold position corresponding to the coefficient β having a value of 1 indicates the foothold position of the foot of the legged robot when the legged robot is at the target position, that is, the target foothold position.
[0368] In one possible implementation, after obtaining the coefficient β of each candidate landing point at multiple sampling time points and the coefficient β of each initial landing point at multiple sampling time points, step 308 also includes: determining the stepping order of multiple feet of the legged robot, and the starting time point and the ending time point of each foot according to the coefficient β of each candidate landing point at multiple sampling time points and the coefficient β of each initial landing point at multiple sampling time points.
[0369] Since the coefficient β of the initial foothold position of each foot at the initial time point is 1, the stepping order of the multiple feet can be determined by taking the values of the coefficient β of the initial foothold position of the multiple feet at multiple sampling time points. For example, the coefficient β of the initial foothold position of the first foot takes the value of 1 at the first two sampling time points and takes the value of 0 at the third sampling time point; the coefficient β of the initial foothold position of the second foot takes the value of 1 at the first five sampling time points and takes the value of 0 at the sixth sampling time point, which can determine that the legged robot takes the first foot first and then the second foot.
[0370] Moreover, for any foot, the sampling time point when the value of the coefficient β of the initial landing point position of the foot changes from 1 to 0 is the starting time point of the step of the legged robot; the sampling time point when the value of the coefficient β of any candidate landing point position of the foot changes from 0 to 1 is the ending time point of the step of the foot.
[0371] By taking the values of the coefficient β of each candidate foothold position at multiple sampling time points and the coefficient β of each initial foothold position at multiple sampling time points, it is possible to determine the stepping order of multiple feet of the legged robot and the target foothold position of the legged robot, and determine the starting time point and the ending time point of each foot stepping in the process of the legged robot moving from the initial position to the target position, thereby constraining the stepping duration and stepping order of the foot of the legged robot, realizing the optimization of the walking gait of the legged robot, and also realizing the optimization of the selection of the target foothold position of the legged robot, thereby ensuring the feasibility of the movement of the legged robot.
[0372] It should be noted that the embodiment of the present application is described by determining the target landing point position by taking the value of the coefficient β of the candidate landing point position, while in another embodiment, there is no need to execute step 308, and other methods can be adopted to obtain the target landing point position of at least one foot at the target position.
[0373] 309. During the movement of the legged robot, the center of mass position P(t0) of the legged robot at any interval time t0 is determined according to the first relationship data.
[0374] The interval time t0 is the interval time between any time point and the initial time point corresponding to the initial position during the movement of the legged robot from the initial position to the target position.
[0375] Since the values of all constants except the interval duration t in the first relationship data corresponding to the constant C whose value has been determined have been determined, by substituting any interval duration t0 into the first relationship data, the center of mass position P(t0) corresponding to any interval duration t0 can be obtained.
[0376] 310. The legged robot determines the joint torques of multiple joints of the legged robot according to the center of mass position P(t0) and the target position.
[0377] In the embodiment of the present application, the legged robot controls each joint in each foot to achieve the lifting or lowering of each foot of the legged robot, thereby driving the legged robot to move. The legged robot controls the joint torques of multiple joints so that at least one foot of the legged robot supports the movement of the legged robot, and the actual center of mass position of the legged robot is maintained at a determined center of mass position P(t0). Therefore, the joint torques of multiple joints in the process of the legged robot moving to the target position can be determined by determining the center of mass position P(t0), the target position, and inverse kinematics of the legged robot.
[0378] In one possible implementation, step 310 includes: determining the joint angles and joint torques of multiple joints of the legged robot according to the center of mass position P(t0) and the target position. The joint angles are used to represent the angles presented by the joints of the legged robot after rotation. The joint angles of multiple joints of the legged robot are determined by determining the center of mass position P(t0) of the legged robot and inverse kinematics. Then, the joint torques of multiple joints of the robot are determined by inverse dynamics and optimization control methods.
[0379] Optionally, based on the contact point position of at least one foot of the legged robot and the ground and the stepping timing of the legged robot, relationship data between the contact point position of at least one foot and the ground and the interval duration, and relationship data between the posture of the legged robot and the interval duration are created; based on the relationship data between the contact point position of at least one foot and the ground and the interval duration, the relationship data between the posture of the legged robot and the interval duration, and the first relationship data corresponding to the determined constant C, the relationship data between the joint angles of multiple joints of the legged robot and the interval duration are determined; the first-order derivatives of the relationship data between the joint angles of multiple joints and the interval duration with respect to the interval duration are obtained to obtain the relationship data between the joint angular velocities of multiple joints of the legged robot and the interval duration; the joint angular velocities of multiple joints are obtained. The second-order derivative of the relationship data between the angle and the interval duration with respect to the interval duration is used to obtain the relationship data between the joint angular acceleration and the interval duration of multiple joints of the legged robot; the joint angles, joint angular velocities and joint angular accelerations of the multiple joints of the legged robot at any interval duration t0 are determined according to the relationship data between the joint angular velocity and the interval duration, the relationship data between the joint angular velocity and the interval duration, and the relationship data between the joint angular acceleration and the interval duration; the joint angles, joint angular velocities and joint angular accelerations of the multiple joints at the current time point are obtained, and the joint torques of the multiple joints of the legged robot are determined according to the joint angles, joint angular velocities and joint angular accelerations of the multiple joints of the legged robot at the current time point and the joint angles, joint angular velocities and joint angular accelerations of the multiple joints at any interval duration t0.
[0380] Optionally, the legged robot is equipped with sensors to collect joint angles, joint velocities and joint angular velocities of multiple joints of the legged robot at the current time point.
[0381] 311. The legged robot controls the rotation of multiple joints according to the joint torques of the multiple joints, thereby driving the legged robot to move.
[0382] By determining the joint torques of multiple joints, the multiple joints of the legged robot are controlled to rotate, so that the real center of mass position of the legged robot coincides with the determined center of mass position, thereby realizing the movement of the legged robot from the starting position to the target position, and at any time point during the movement process, the real center of mass position of the legged robot at that time point coincides with the determined center of mass position at that time point, so that the legged robot moves along the determined center of mass movement trajectory. In addition, when the legged robot moves to the target position while moving along the center of mass movement trajectory, the foot of the legged robot lands on the target landing point.
[0383] In one possible implementation, step 311 includes: controlling the multiple joints to rotate according to the joint angles and joint torques of the multiple joints to drive the legged robot to move.
[0384] By controlling the rotation of multiple joints according to the joint angles and joint torques, the multiple joints can be kept at corresponding joint angles, thereby realizing the lifting or lowering of the foot of the legged robot, ensuring that the center of mass of the legged robot moves along a determined center of mass movement trajectory.
[0385] It should be noted that the embodiment of the present application is described by using a movement process of a legged robot moving from a starting position to a target position. In another embodiment, the legged robot can continue to execute the next movement process after reaching the target position, and use the target position of the previous movement process as the starting position of the next movement process, and execute the above steps 301-311 to move the legged robot to the target position of the next process, thereby realizing multiple continuous movement processes of the legged robot.
[0386] In one possible implementation, the target position of the last movement process is used as the target position of the legged robot. After determining the target position of the legged robot in the current movement process, it is detected whether the target position coincides with the target position. In response to the target position not coinciding with the target position, first state data is set for the target position. In response to the target position coinciding with the target position, second state data is set for the target position.
[0387] Among them, the center of mass velocity and center of mass acceleration included in the first state data are not 0, and the center of mass velocity and center of mass acceleration included in the second state data are 0. After the legged robot moves to the target position, the legged robot will stop moving. The target position can be any set position. For example, if the legged robot needs to move to room A, the door position of room A is used as the target position. In response to the target position not coinciding with the target position, it means that after the legged robot reaches the target position of the current moving process, it needs to continue moving and execute the next moving process. In order to ensure the continuity of the movement of the legged robot, the center of mass velocity and center of mass acceleration of the legged robot are not 0; in response to the target position coinciding with the target position, it means that after the legged robot reaches the target position of the current moving process, the legged robot will stop moving. In order to ensure the stability of the legged robot, the center of mass velocity and center of mass acceleration of the legged robot are 0, so that the legged robot can stop at the target position.
[0388] It should be noted that the embodiment of the present application is described with the legged robot as the executing entity, while in another embodiment, the above steps 301-311 are executed by a server, and the server determines the joint torques of multiple joints of the legged robot according to the center of mass position P(t0) and the target position, and sends a movement instruction to the legged robot. The movement instruction carries the joint torques of multiple joints, and the legged robot controls the rotation of multiple joints according to the joint torques of multiple joints, thereby driving the legged robot to move.
[0389] In one possible implementation, a server establishes a communication connection with multiple joints of the legged robot. The server sends rotation instructions to the multiple joints of the legged robot according to the determined joint torques of the multiple joints. The rotation instructions carry the joint torques of the corresponding joints. The rotation instructions received by the multiple joints of the legged robot rotate according to the corresponding joint torques, thereby driving the legged robot to move.
[0390] It should be noted that the embodiment of the present application is described with the legged robot as the execution subject, while in another embodiment, the above steps 301-308 are executed by the server. After the server obtains the first relationship data corresponding to the constant C with a determined value and the target landing point position, the first relationship data corresponding to the constant C with a determined value and the target landing point position are sent to the legged robot, and the legged robot executes steps 309-311, thereby controlling the movement of the legged robot.
[0391] In the present invention, the process of determining the center of mass trajectory of the legged robot is converted into a mixed integer quadratic programming problem. By considering the force conditions of the legged robot, the friction constraints imposed by the contact between the foot and the ground, and the spatial constraints satisfied by the foot walking, and optimizing the selection of the target landing point position from multiple candidate landing point positions during the movement of the legged robot, the gait of the legged robot walking is optimized, thereby ensuring the accuracy of the determined center of mass trajectory of the legged robot. The present invention is applicable to various gaits (such as bipedal walking, quadrupedal walking, quadrupedal trotting or random gait, etc.) of various legged robots (such as bipedal, quadrupedal or multi-legged, etc.) in various environments (such as flat ground, uneven ground, slopes, stairs, etc.), and has universal applicability.
[0392] The method provided in the embodiment of the present application does not need to detect the status of each joint of the legged robot. It determines the target state data of the legged robot at the target position through the candidate landing point positions of the legged robot, and predicts the predicted state data of the legged robot at the target position through the first relationship data. Then, by minimizing the state data error between the predicted state data and the expected target state data, the constant C in the first relationship data and the coefficient β of each candidate landing point position are determined, thereby ensuring the accuracy of the value of the constant C and the coefficient β of each candidate landing point position, and determining the corresponding center of mass trajectory according to the constant C with the determined value, thereby improving the accuracy of the center of mass trajectory of the legged robot, and can also determine the target landing point position of at least one foot of the legged robot when it moves to the target position according to the value of the coefficient β of each candidate landing point position, thereby ensuring the feasibility of the legged robot moving to the target position. The method can be applied to legged robots with any number of feet and has a wide range of applications.
[0393] By using spatial constraints to constrain at least one foot to move only within the movable space, the feasibility of the foot movement of the legged robot is ensured, thereby ensuring the accuracy of the determined constant C and the coefficient β of each candidate foothold position.
[0394] By creating force constraints, the force conditions of at least one foot of the legged robot are made to meet the constraints to ensure that the force conditions of the legged robot meet the requirements, thereby ensuring the accuracy of the determined constant C and the coefficient β of each candidate foothold position.
[0395] By using the coefficient constraint of at least one foot, any foot of the legged robot is restricted to only land on one candidate landing point among multiple candidate landing point positions corresponding to the foot at any point in time, so as to ensure the accuracy of the foot steps of the legged robot and avoid the situation where one foot lands on two candidate landing point positions at the same time, thereby ensuring the accuracy of the constant C and the coefficient β of each candidate landing point position.
[0396] The third relationship data is used to limit the number of feet of the legged robot in contact with the ground at the target position, and each foot can only land on one candidate landing point position, so as to ensure the accuracy of the determined constant C and the coefficient β of each candidate landing point position.
[0397] Through the stepping timing constraint condition, it is ensured that each foot of the legged robot steps only once in the process of moving from the initial position to the target position, so as to ensure the accuracy of the determined constant C and the coefficient β of each candidate foothold position.
[0398] By creating a stepping duration constraint condition, it is ensured that the legged robot has sufficient time during the stepping process, so that the foot of the legged robot can achieve the stepping action within a sufficient time, thereby ensuring the feasibility of the movement of the legged robot, thereby ensuring the accuracy of the determined constant C and the coefficient β of each candidate landing point position.
[0399] By creating the fifth relationship data, the force exerted on at least one foot of the legged robot in contact with the ground is taken into account, thereby improving the accuracy of the center of mass trajectory of the legged robot, enabling the legged robot to move according to the determined center of mass trajectory, thereby ensuring the feasibility and efficiency of the determined center of mass trajectory, and also ensuring the diversity and universality of the determined center of mass trajectory.
[0400] like Figure 6 As shown, it is a framework diagram of controlling the movement of a legged robot provided by an embodiment of the present application. The legged robot system includes a visual perception subsystem 601, a trajectory generation subsystem 602, and a movement control subsystem 603.
[0401] The visual perception subsystem 601 obtains the target position and step sequence of the legged robot according to the state data of the legged robot, and sends the obtained target position and step sequence of the legged robot to the trajectory generation subsystem 602.
[0402] The trajectory generation subsystem 602 receives the target position and step sequence of the legged robot sent by the visual perception subsystem 601, and determines the movement trajectory of the center of mass of the legged robot by acquiring the state data of the legged robot. According to the determined movement trajectory of the center of mass of the legged robot, the joint torque of each joint of the legged robot is determined, and the determined joint torque of each joint of the legged robot is sent to the mobile control subsystem 603.
[0403] The mobile control subsystem 603 receives the determined joint torques of each joint of the legged robot sent by the trajectory generation subsystem 602, controls each joint to rotate according to the determined joint torques of each joint of the legged robot, drives the legged robot to move, and monitors the status data of the legged robot in real time during the process of controlling the movement of the legged robot to ensure that the legged robot can move stably.
[0404] The above embodiment involves first relationship data, second relationship data and fourth relationship data. Based on the above embodiment, the following embodiment will describe in detail the creation process of the above three relationship data:
[0405] First, the process of creating the first relational data:
[0406] 1. Obtain a stepping sequence of the legged robot, and divide the process of moving the legged robot from an initial position to a target position into a plurality of continuous moving sub-processes according to the stepping sequence of the legged robot.
[0407] The stepping sequence indicates the stepping sequence between multiple feet of the legged robot, and a stepping action performed by any foot is called a moving sub-process.
[0408] In addition, in order to ensure the continuity of the multiple moving sub-processes, for two adjacent moving sub-processes, the end position of the previous moving sub-process is the same as the start position of the next moving sub-process.
[0409] 2. Create first relational data for each moving sub-process.
[0410] Since different moving sub-processes have different effects on the center of mass position of the legged robot, the constant C corresponding to the moving sub-process is also different. The first relationship data is created for each moving sub-process.
[0411] In the kth moving subprocess of the multiple moving subprocesses, the first relationship data is set to: the center of mass position P(t) of the legged robot is the time matrix E and the constant C k The constant C k The following relations are satisfied:
[0412]
[0413] Where k is a positive integer not less than 1, C xk The constant C corresponding to the kth moving subprocess k The component on the x-axis, C yk The constant C corresponding to the k-th moving subprocess k The component on the y-axis, C zk The constant C corresponding to the kth moving subprocess k Component on the z-axis.
[0414] The first relation data corresponding to the k-th moving subprocess can be expressed by the following function:
[0415]
[0416] E t =[1 tt 2 … t n ]
[0417] T k-1 ≤t≤T k
[0418] Among them, the P initis a constant vector, which is used to represent the initial center of mass position of the legged robot at the beginning of any movement cycle; E t represents the duration vector; C xk The constant C corresponding to the kth moving subprocess k The component on the x-axis, C yk The constant C corresponding to the kth moving subprocess k The component on the y-axis, C zk The constant C corresponding to the kth moving subprocess k The component in the z-axis, C *k =[C *k,0 C *k,1 C *k,2 C *k,3 ] T , * can represent x, y, z axis, Represents the constant C *k is a column vector consisting of 4 dimensions, Represents a set of real numbers in multidimensional space; the moving time of each moving process is t n , n represents the number of multiple moving sub-processes, then the sum of the moving durations of the first k-1 moving processes is The sum of the moving durations of the first k moving processes is
[0419] 3. Based on the first relationship data of the multiple moving sub-processes, create the first relationship data corresponding to the movement of the legged robot from the initial position to the target position.
[0420] Since the movement process of the legged robot from the initial position to the target position is composed of multiple movement sub-processes of the legged robot, the constant C in the first relational data corresponding to the movement of the legged robot from the initial position to the target position is the constant C corresponding to the multiple movement sub-processes. k That is, the constant C in the first relation data corresponding to the movement of the legged robot from the initial position to the target position includes the constant C corresponding to each moving sub-process k Components on the x, y, and z axes.
[0421] In a possible implementation, the first relationship data corresponding to the movement of the legged robot from the initial position to the target position can be represented by the following function:
[0422]
[0423] C=[C1 C2 … C k … C m ] T
[0424] Among them, the P initis a constant vector, which is used to represent the initial center of mass position of the legged robot at the beginning of any movement cycle; E t represents the duration vector; C represents the constant in the first relational data corresponding to the movement of the legged robot from the initial position to the target position; C1 represents the constant corresponding to the first moving subprocess, C2 represents the constant corresponding to the second moving subprocess, and C k represents the constant corresponding to the k-th moving subprocess, C n represents the constant corresponding to the nth moving subprocess, and T represents the transpose of the matrix.
[0425] In addition, the number of dimensions included in determining the constant C can be determined based on the variables in the first relational data. Figure 5 As shown, the movement of the legged robot from the initial position to the target position includes 8 movement sub-processes, which are movement sub-process 701, movement sub-process 702, movement sub-process 703, movement sub-process 704, movement sub-process 705, movement sub-process 706, movement sub-process 707, and movement sub-process 708 in chronological order. The number of components contained in the x, y, and z axes of the constant C is 3, and the duration vector E in the first relational data is t Including the duration of the interval of 4 dimensions, the number of dimensions contained in the constant C can be determined as 3×8×4=96. Since in any two adjacent moving sub-processes, the target position of the previous moving sub-process is the same as the starting position of the next moving sub-process, in order to ensure the continuity of the 8 moving sub-processes, the number of dimensions used in the constant C to represent the continuity of the 8 moving sub-processes is 3×7×3=63, where the first 3 represents the number of components in the x, y, and z axes, 7 represents that there are 7 identical positions in the 8 moving sub-processes, and the second 3 represents that the state data corresponding to each position includes 3 variables, namely, the center of mass position, the center of mass velocity, and the center of mass acceleration. Since the state data of the initial position of the first moving sub-process is determined, and the state data of the target position of the last moving sub-process is determined in the 8 moving sub-processes of the legged robot, the number of dimensions used in the constant C to represent the state data of the determined positions of the 8 moving sub-processes is 3×6=18. Among them, 3 represents the number of components in the x, y, and z axes, and 6 represents the number of values contained in the state data of the two determined positions. Then the first constant C free The number of dimensions contained in is 96-63-18=15.
[0426] The embodiment of the present application is only described by creating the first relationship data. In addition, the centroid speed corresponding to the centroid position P(t) in the kth moving subprocess can also be created according to the first relationship data of the kth moving subprocess. The relationship data between the interval time t and the center of mass acceleration corresponding to the center of mass position P(t) The relationship data between the interval time t.
[0427] In one possible implementation, the first relational data of the k-th moving subprocess is subjected to the first-order derivative of the interval time t to obtain the center of mass velocity corresponding to the center of mass position P(t) in the k-th moving subprocess: The relationship data between the interval time t can be expressed by the following function:
[0428] E υ =[0 1 2t 3t 2 … nt n-1 ]
[0429] Among them, E υ Represents the time matrix, which is composed of the duration vector E t The first-order derivative of the interval time t is obtained, Represents the time matrix E υ is a row vector of 4 dimensions; k is a positive integer not less than 1, C xk The constant C corresponding to the k-th moving subprocess k The component on the x-axis, C yk The constant C corresponding to the k-th moving subprocess k The component on the y-axis, C zk The constant C corresponding to the k-th moving subprocess k The component along the z-axis.
[0430] In one possible implementation, the first relational data of the k-th moving subprocess is subjected to the second-order derivative of the interval time t to obtain the mass center acceleration corresponding to the mass center position P(t) in the k-th moving subprocess: The relationship data between the interval time t can be expressed by the following function:
[0431] E a =[0 0 2 6t … n(n-1)t n-2 ]
[0432] Among them, E a Represents the time matrix, which is composed of the duration vector E t The second-order derivative of the interval time t is obtained. Represents the time matrix E a is a row vector of 4 dimensions; k is a positive integer not less than 1, C xk The third constant C corresponding to the kth moving subprocess k The component on the x-axis, C yk The third constant C corresponding to the kth moving subprocess k The component on the y-axis, C zkThe third constant C corresponding to the kth moving subprocess k The component along the z-axis.
[0433] Second, the process of creating the fifth relationship data:
[0434] 1. Create data on the relationship between the force acting on at least one foot of the legged robot and the gravity and angular momentum.
[0435] In the legged robot, the relationship data between the force acting on at least one foot of the legged robot and the gravity and angular momentum are stored in the form of descriptive statements or in the form of functions.
[0436] In a possible implementation, the relationship data between the force on at least one foot of the legged robot and the gravity and angular momentum is expressed by the following function:
[0437]
[0438] Where m represents the mass of the legged robot; represents the second-order derivative of the center of mass position P(t) of the legged robot with respect to the interval time t, which is the center of mass acceleration corresponding to the center of mass position P(t) of the legged robot; g represents the gravitational acceleration, which Represents the gravitational acceleration g as a 3-dimensional column vector, represents a real number set in multidimensional space; L represents the angular momentum of the legged robot, angular momentum Represents angular momentum L as a 3-dimensional column vector, represents the first-order derivative of the angular momentum L with respect to the interval time t, and represents the change in the angular momentum L; Y represents the number of feet of the legged robot in contact with the ground; Z′ 3×3 represents the identity matrix with 3 rows and 3 columns; r i represents the contact point position of the i-th foot of the legged robot and the ground, i is a positive integer not less than 1 and not greater than Y; Represents the contact point r i A skew-symmetric matrix; The skew-symmetric matrix representing the centroid position P(t); f i is the force exerted on the i-th foot of the legged robot when it contacts the ground.
[0439] The above relationship is used to express the center of mass dynamic equation of the legged robot, which expresses the relationship between the movement of the legged robot and the external force on the legged robot. The external force on the legged robot conforms to Newton's law and Euler's equation. Among them, the gravity of the legged robot is equal to the sum of all external forces on the legged robot, and the first-order derivative of the angular momentum of the legged robot with respect to time is equal to the torque on the legged robot.
[0440] 2. Create relationship data between the force exerted on at least one foot of the legged robot and gravity based on the relationship data between the force exerted on at least one foot of the legged robot and gravity and the angular momentum.
[0441] According to the relationship data between the force on at least one foot of the legged robot and the gravity and angular momentum, it can be known that the sum of the forces on the legged robot is equal to the gravity of the legged robot, that is, the relationship can be obtained: Substituting this relational expression into the relational data between the force exerted on at least one foot of the legged robot and gravity and angular momentum, the relational data between the force exerted on at least one foot of the legged robot and gravity is obtained. The relational data can be expressed by the following function:
[0442]
[0443] f0=[f1 f2 … f n ] T
[0444] Where m represents the mass of the legged robot; represents the second-order derivative of the center of mass position P(t) of the legged robot with respect to the interval time t, which is the center of mass acceleration corresponding to the center of mass position P(t) of the legged robot; g represents the gravitational acceleration, which Represents the gravitational acceleration g as a 3-dimensional column vector, represents a real number set in multidimensional space; L represents the angular momentum of the legged robot, angular momentum Represents angular momentum L as a 3-dimensional column vector, represents the first derivative of the angular momentum L with respect to the interval time t; represents the skew-symmetric matrix of the center of mass position P(t); f0 is used to represent the sum of the forces acting on at least one foot of the legged robot in contact with the ground; G is a constant matrix, which Indicates that the constant matrix G is a matrix with 6 rows and 3Y columns, The set of real numbers representing multidimensional space; Z′ 3×3 represents the identity matrix with 3 rows and 3 columns; r i represents the contact point position of the i-th foot of the legged robot and the ground, i is a positive integer not less than 1 and not greater than Y; Y represents the number of feet of the legged robot in contact with the ground; Represents the contact point r i is a skew-symmetric matrix.
[0445] 3. Based on the relationship data between the force applied to at least one foot of the legged robot and gravity, and the center of mass position P(t) of the legged robot, create relationship data between the force applied to at least one foot of the legged robot and the center of mass position P(t) of the legged robot.
[0446] Among them, the center of mass position P(t) of the legged robot satisfies the following relationship:
[0447] P(t)=P init +P t ;
[0448] Among them, the P init is a constant vector, which is used to represent the initial center of mass position of the legged robot at the beginning of any movement cycle; P t represents the change in the center of mass position of the legged robot after the interval t from the starting time point of the planning cycle. init The same as the center of mass position included in the state data of the legged robot at the initial position.
[0449] By the centroid position P(t) satisfying the relationship P(t) = P init +P t Substituting the relationship data between the force on at least one foot of the legged robot and gravity, the relationship data between the force on at least one foot of the legged robot and the center of mass position P(t) of the legged robot is obtained. The relationship data can be expressed by the following function:
[0450]
[0451] Among them, G is a constant matrix, the constant matrix Indicates that the constant matrix G is a matrix with 6 rows and 3Y columns, represents a real number set in multidimensional space; f0 is used to represent the sum of the forces acting on at least one foot of the legged robot in contact with the ground; m represents the mass of the legged robot; P t It represents the change of the center of mass position of the legged robot after the interval length t from the starting time point of the planning cycle; Represents the change in the center of mass position P t The second-order derivative of the interval time t; the P init is a constant vector, which is used to represent the initial center of mass position of the legged robot at the beginning of any movement cycle. is a constant vector P init A skew-symmetric matrix; g represents the acceleration due to gravity, Represents the gravitational acceleration g as a 3-dimensional column vector; The skew-symmetric matrix representing the gravitational acceleration g, The skew-symmetric matrix represents the change in the center of mass position; L represents the angular momentum of the legged robot, and the angular momentum Represents angular momentum L as a 3-dimensional column vector, represents the first derivative of the angular momentum L with respect to the interval time t.
[0452] 4. Create fifth relationship data based on the relationship data between the force acting on at least one foot of the legged robot and the position P(t) of the center of mass of the legged robot.
[0453] Since the change in the center of mass position satisfies the relationship Then in the relationship data between the force applied to at least one foot of the legged robot and the position P(t) of the center of mass of the legged robot, The following relations are satisfied:
[0454]
[0455] in, Represents the change in the center of mass position P t The component on the plane formed by the x and y axes, The corresponding z coordinate is 0; Represents the change in the center of mass position P t The component in the z-axis; The corresponding x and y coordinates are 0; Represents the change in the center of mass position P t A skew-symmetric matrix with components on the plane formed by the x and y axes; Represents the change in the center of mass position P t The second derivative of the component on the plane formed by the x-axis and the y-axis with respect to the interval time t also represents the component of the center of mass acceleration on the plane formed by the x-axis and the y-axis; Represents the change in the center of mass position P t The second derivative of the component on the z-axis with respect to the interval time t also represents the component of the center of mass acceleration on the z-axis; Represents the change in the center of mass position P t A skew-symmetric matrix with components along the z-axis; represents the moment about the Z axis, It represents the moment in a certain direction in the xy plane. and If they are collinear, is 0.
[0456] Since the movement of the legged robot in the z-axis direction is stable and the variation is small during the movement of the legged robot, the above relationship can be ignored. and The absolute values of are small and can be ignored. Then the relationship data between the force on at least one foot of the legged robot and the position of the center of mass of the legged robot P(t) is Can be ignored.
[0457] Considering a planning cycle, the posture of the legged robot at the initial time point is The posture of the legged robot at the end time is Then the posture change of the legged robot in this planning cycle is The posture change can be expressed as the posture of the legged robot changes from the initial time point to Rotation angle around unit axis γ The posture at the end time point is
[0458] The unit axis γ and the rotation angle The following relations are satisfied:
[0459]
[0460] in, and ΔR are matrices with 3 rows and 3 columns; ΔR ij is the element in the i-th row and j-th column of the attitude change ΔR, where i is 1, 2, or 3; j is 1, 2, or 3; sin(·) is used to represent the sine function; cos(·) is used to represent the cosine function.
[0461] According to the curve interpolation method, the rotation angle θ is subjected to curve difference calculation to obtain the relationship data θ(t) between the rotation angle θ and the interval time t, so that the relationship data θ(t) satisfies the following relationship:
[0462] θ(t s )=0,
[0463] Among them, t s represents the initial time point, t e represents the end time point, θ(t s )=0 means that the rotation angle θ of the legged robot is 0 at the initial time point; Indicates that the angular velocity of the legged robot is 0 at the initial time point; Indicates that the rotation angle of the legged robot at the end time point is Should is a constant; Indicates that the angular velocity of the legged robot is 0 at the end time point.
[0464] Through the relationship data θ(t), the relationship data R(t) between the posture of the legged robot and the interval time t is created, and the relationship data R(t) satisfies the following relationship:
[0465]
[0466] Where I represents a 3-row 3-column identity matrix; sin(·) is used to represent the sine function; cos(·) is used to represent the cosine function; θ(t) is used to represent the relationship between the rotation angle θ of the legged robot and the interval time t; γ represents the unit axis around which the posture of the legged robot changes; is a skew-symmetric matrix about the unit axis γ; Represents the posture of the legged robot at the initial time point.
[0467] Through the relational data R(t), the eighth relational data is created, and the eighth relational data satisfies the following relation:
[0468]
[0469] Where I0 represents the moment of inertia of the legged robot about the center of mass; γ represents the unit axis around which the posture of the legged robot changes; θ(t) is used to represent the relationship between the rotation angle θ of the legged robot and the interval time t; It is used to express the relationship between the angular velocity of the legged robot rotating around the unit axis and the interval time t; Used to express the relationship between the angular acceleration of a legged robot rotating around a unit axis and the interval time t.
[0470] Then, the relationship data between the force applied to at least one foot of the legged robot and the position of the center of mass of the legged robot P(t) is transformed, and the relationship data between the force applied to at least one foot of the legged robot and the position of the center of mass of the legged robot P(t) after the transformation satisfies the following relationship:
[0471] Gf0≈H0X′ t -W g ,
[0472]
[0473] Among them, G is a constant matrix, the constant matrix Indicates that the constant matrix G is a matrix with 6 rows and 3Y columns, represents a real number set in multidimensional space; f0 is used to represent the sum of the forces acting on at least one foot of the legged robot in contact with the ground; H0 is a constant matrix; W g is a constant vector; X′ t Represents the change in the center of mass position P t and the center of mass acceleration The set of variables; m represents the mass of the legged robot; Z′ 3×3 represents a 3-row 3-column identity matrix; the P initis a constant vector, which is used to represent the initial center of mass position of the legged robot at the beginning of any movement cycle; is a constant vector P init A skew-symmetric matrix; g represents the acceleration due to gravity, Represents the gravitational acceleration g as a 3-dimensional column vector; A skew-symmetric matrix representing the gravitational acceleration g.
[0474] By using the first relationship data and the mass center acceleration corresponding to the mass center position P(t) The relationship data between the force applied to at least one foot of the legged robot after the above transformation and the position of the center of mass of the legged robot P(t) are substituted into the relationship data between the force applied to at least one foot of the legged robot after the above transformation and the center of mass position P(t) of the legged robot to obtain the fifth relationship data, which satisfies the following relationship:
[0475] Gf0≈HC-W g
[0476]
[0477] Where G is a constant matrix, f0 is used to represent the sum of the forces acting on at least one foot of the legged robot when it contacts the ground; H represents the coefficient matrix for the interval time t; C is a constant matrix; W g is a constant vector; H0 is a constant matrix; E t represents the duration vector; E a Represents the time matrix, which is composed of the duration vector E t The second-order derivative of the interval time t is obtained. Represents the time matrix E a is a 4-dimensional row vector; T represents the transpose of the vector.
[0478] Third, create friction constraints.
[0479] During the movement of the legged robot, the legged robot is subject to friction constraints: the friction force on the foot of the legged robot in contact with the ground is greater than 0, and the friction force on the foot is not less than the force f on the foot in contact with the ground. i The force component in the direction of friction prevents relative sliding between the foot and the ground, thereby ensuring that the legged robot can move normally. The force corresponding to at least one foot of the legged robot is f i They are all subject to friction constraints and satisfy the following relationship:
[0480]
[0481] N′ i =-[μ i n i -o i μi n i +o i μ i n i -t i μ i n i +t i ]
[0482] Among them, N′ i The vector matrix representing the contact point between the ith foot of the legged robot and the ground; n i is the normal vector of the contact point between the ith foot of the legged robot and the ground, Represents the normal vector n i is a column vector of 3 dimensions, A set of real numbers representing multidimensional space; o i ,t i Represents two tangent vectors on the plane perpendicular to the normal vector of the contact point between the ith foot of the legged robot and the ground. The tangent vector o i With the tangent vector t i Orthogonal, o i , represents the tangent vector o i and the tangent vector t i are all 3-dimensional column vectors; T represents the transpose of the vector, μ i is the friction coefficient between the ith foot of the legged robot and the ground.
[0483] Since the legged robot is subject to friction constraints during its movement, the direction of the force on the i-th foot of the legged robot that contacts the ground is within a cone, and the contact point between the i-th foot and the ground is the vertex of the cone. The line from the vertex to any point on the bottom circle of the cone can be used as the force f on the i-th foot that contacts the ground. i In order to avoid introducing nonlinear constraints, the cone is approximated as a quadrangular pyramid, and the force f on the i-th foot in contact with the ground i The following relations are satisfied:
[0484]
[0485] Among them, μ i is the friction coefficient; n i is the normal vector of the contact point between the ith foot of the legged robot and the ground, Represents the normal vector n i is a column vector of 3 dimensions, A set of real numbers representing multidimensional space; o i ,t iRepresents two tangent vectors on the plane perpendicular to the normal vector of the contact point between the ith foot of the legged robot and the ground. The tangent vector o i With the tangent vector t i Orthogonal, o i , represents the tangent vector o i and the tangent vector t i All are 3-dimensional column vectors; T represents the transpose of the vector; It represents the minimum value of the force in the normal direction on the ith foot of the legged robot in contact with the ground. It represents the maximum value of the force in the normal direction on the ith foot of the legged robot in contact with the ground. are greater than 0, It can be any set value. Normal vectors used to represent the four sides of the pyramid.
[0486] According to the above relationship, the force f exerted on the i-th foot of the anteropod in contact with the ground is i The constraints of the components on the four sides of the tetrahedron and the force f on the i-th foot of the anteropod in contact with the ground i Under the constraint of the normal force, the force f on the i-th foot of the legged robot in contact with the ground is i The direction is restricted to within the tetrahedron.
[0487] When a legged robot is moving, when the legged robot is at any position, the friction force constraints on the forces corresponding to all the feet of the legged robot satisfy the following relationship:
[0488] N T f0≤0
[0489]
[0490] Wherein, N represents the vector matrix of the contact points of all the feet of the legged robot and the ground; f0 is used to represent the sum of the forces acting on at least one foot of the legged robot when it contacts the ground; N′1 represents the vector matrix of the contact point of the first foot of the legged robot and the ground; N′2 represents the vector matrix of the contact point of the second foot of the legged robot and the ground; N′ Y The vector matrix representing the contact point between the Yth foot of the legged robot and the ground; T represents the transpose of the vector.
[0491] When any foot of the legged robot contacts the ground, the force exerted on the foot by the foot in contact with the ground satisfies the force constraint condition, which satisfies the following relationship:
[0492]
[0493] Among them, n i is the normal vector of the contact point between the ith foot of the legged robot and the ground, f i is the force exerted on the ith foot in contact with the ground; is the maximum force that the i-th foot of the legged robot can be subjected to when in contact with the ground.
[0494] Fourth, create spatial constraints:
[0495] The working space of the foot of a legged robot is generally a non-convex area, which can be approximated as a convex polyhedron. The convex polyhedron includes multiple faces, each of which is represented by the following linear inequality:
[0496]
[0497] Among them, s il represents the external normal vector of the lth face of the convex polyhedron with the i-th foot; the value of l is (1, 2, ..., L total ), L total is a positive integer not less than 4; x i represents the coordinates of the foothold of the i-th foot of the legged robot in the coordinate system of the shoulder joint of the leg where the i-th foot is located; d il It represents the projection value of the vector formed by the origin pointing to any point in the lth face of the convex polyhedron on the normal outside the lth face. Figure 4 As shown, the coordinate system of the shoulder joint of the leg of the legged robot is 404.
[0498] By combining the linear inequalities of multiple faces of the convex polyhedron of the foot of the legged robot, the initial spatial constraint condition is obtained, which is as follows:
[0499]
[0500] S i =[s il ,s i2 ,…,s il ];
[0501] d i =[d i1 , d i2 , …, d il ] T
[0502] Among them, s i1 represents the external normal vector of the first face of the convex polyhedron with the i-th foot; s i2 represents the external normal vector of the second face of the convex polyhedron with the i-th foot; s ilS represents the external normal vector of the lth face of the convex polyhedron workspace of the i-th foot; i The set of external normal vectors of multiple faces of the convex polyhedron representing the i-th foot; x i represents the foothold position of the i-th foot of the legged robot, in the coordinate system of the shoulder joint of the leg where the i-th foot is located; d i1 It represents the projection value of the vector formed by the origin pointing to any point in the first face of the convex polyhedron on the normal outside the first face; d i2 It represents the projection value of the vector formed by the origin pointing to any point in the second face of the convex polyhedron on the normal outside the second face; d il It represents the projection value of the vector formed by the origin pointing to any point in the lth face of the convex polyhedron on the normal outside the lth face; d i It represents the set of projection values of the vector formed by any point in multiple faces of a convex polyhedron with its origin pointing to the i-th foot on the normal outside the l-th face; T represents the transpose of the matrix.
[0503] In the above inequality, the coordinates of the foothold position of the i-th foot of the legged robot are in the coordinate system of the shoulder joint of the leg where the foot of the legged robot is located. Then, by converting the position of the foothold position of the i-th foot of the legged robot in the world coordinate system to the coordinate system of the shoulder joint, that is, the coordinate x i The following relations are satisfied:
[0504]
[0505] Among them, x i represents the coordinates of the foothold of the i-th foot of the legged robot in the coordinate system of the shoulder joint of the leg where the i-th foot is located; R il represents the posture of the coordinate system of the shoulder joint of the i-th leg of the legged robot relative to the body coordinate system of the legged robot; R t Represents the body posture of the legged robot; r i represents the coordinates of the foothold of the i-th foot of the legged robot in the world coordinate system; P G represents the position of the center of mass of the legged robot in the world coordinate system; P il represents the position of the shoulder joint of the i-th foot of the legged robot in the body coordinate system of the legged robot; T represents the transpose of the matrix. Optionally, the position P il , Posture R il is a constant. Optionally, the body posture R t Can be a constant or vary with time according to a specified trajectory.
[0506] Through the above first relationship data and coordinate x iSubstitute the satisfied relationship into the above initial space constraint condition to obtain the space constraint condition satisfied by the foot of the legged robot, which satisfies the following relationship:
[0507] A i C+B i r i ≤ b i
[0508]
[0509]
[0510] Among them, A i , B i , b i are coefficient matrices, C is the centroid position parameter; r i represents the coordinates of the foothold of the i-th foot of the legged robot in the world coordinate system; S i represents the set of external normal vectors of multiple faces of the convex polyhedron of the i-th foot; R il represents the posture of the coordinate system of the shoulder joint of the i-th leg of the legged robot relative to the body coordinate system of the legged robot; R t represents the body posture of the legged robot; T t represents the time matrix; d i represents the set of projection values of the vector formed by any point in the multiple faces of the convex polyhedron with the origin pointing to the i-th foot on the normal direction outside the l-th face; P il represents the position of the shoulder joint of the i-th foot of the legged robot in the body coordinate system of the legged robot; P init is a constant vector, which is used to represent the initial center of mass position of the legged robot at the beginning of any movement cycle; E t Represents a duration vector.
[0511] Fifth, the process of creating the second relational data:
[0512] Select N within the target moving time num + 1 sampling time point (t1, t2, ..., t k ), each foot of the legged robot has multiple candidate foothold positions, then the legged robot at the sampling time point t k When , the force on at least one foot of the legged robot at the candidate landing point of the legged robot satisfies the fifth relationship data, and the fifth relationship data satisfies the following relationship:
[0513]
[0514] Among them, N footrepresents the number of legs of the legged robot; i represents the serial number of the legged robot's leg; j represents the serial number of the candidate foothold position of the legged robot's leg; N i represents the number of candidate foothold positions of the i-th foot of the legged robot; G i,j is a constant matrix, f i,j,k is the force acting on the jth candidate foothold of the i-th foot at the kth sampling time point; H k Indicates that at the sampling time point t k is a constant matrix when; C is a constant matrix; W k At sampling time t k The constant vector when .
[0515] The legged robot at sampling time t k When , the force constraint and friction constraint conditions satisfied by the i-th foot of the legged robot landing on the j-th candidate landing point satisfy the following relationship:
[0516]
[0517] Among them, n i,j is the normal vector of the jth candidate foothold of the i-th foot of the legged robot; f i,j,k is the legged robot at sampling time t k When , the force on the i-th foot at the j-th candidate landing point is; β i,j,k is the legged robot at sampling time t k , the coefficient of the i-th foot at the j-th candidate landing point; is the legged robot at sampling time t k The maximum force on the jth candidate foothold of the i-th foot when i,j is the friction coefficient matrix of the i-th foot of the legged robot at the j-th candidate landing point.
[0518] The legged robot at sampling time t k When , the spatial constraints satisfied by the i-th foot of the legged robot satisfy the following relationship:
[0519]
[0520] Among them, A i,k , B i,k , b i,k All are legged robots at sampling time t k The coefficient matrix when C is the center of mass position parameter; r i,j,k represents the legged robot at sampling time t k When , the coordinates of the j-th foot landing point of the ith foot in the world coordinate system; βi,j,k represents the legged robot at sampling time t k The coefficient of the position of the jth foot landing point of the ith foot when N i Represents the number of candidate foothold positions for the i-th foot of the legged robot.
[0521] Moreover, among the multiple sampling time points, the first sampling time point is also the initial time point. At the first sampling time point, the coefficient β of the initial landing point of the i-th foot of the legged robot is i,j,k , satisfying the following relationship:
[0522] β i,j,k =1;(=0, k=0)
[0523] Among them, j=0 represents the initial landing point of the i-th foot of the legged robot; k=0 represents the first sampling time point, that is, the initial time point.
[0524] At the last sampling time point, the coefficient β of the initial landing point of the i-th foot of the legged robot is i,j,k , satisfying the following relationship:
[0525] β i,j,k =0; (j=0, k=N k )
[0526] Where j = 0 represents the initial landing point of the i-th foot of the legged robot; k = N k It represents the last sampling time point among multiple sampling time points, that is, the time point when the legged robot moves to the target position.
[0527] Furthermore, during the movement of the legged robot, at any sampling time point, any foot can only land on one candidate landing point, or the foot is in the swinging stage, then at least one coefficient constraint of the foot is created, and the coefficient constraint of the at least one foot satisfies the following relationship:
[0528]
[0529] Wherein, j represents the serial number of the candidate foothold position of the foot of the legged robot; N i represents the number of candidate foothold positions of the i-th foot of the legged robot; β i,j,k It represents the coefficient of the jth candidate landing point position of the i-th foot of the legged robot at the k sampling time points.
[0530] In order to ensure that the feet of the legged robot are in contact with the ground when the legged robot moves to the target position, third relationship data is created, and the third relationship data satisfies the following relationship:
[0531]
[0532] Where k = N num represents the last sampling time point among multiple sampling time points, that is, the time point when the legged robot moves to the target position; N foot represents the number of legs of the legged robot; i represents the serial number of the legged robot's leg; j represents the serial number of the candidate foothold position of the legged robot's leg; N i represents the number of candidate foothold positions of the i-th foot of the legged robot; β i,j,k It represents the coefficient of the jth candidate landing point position of the i-th foot of the legged robot at the k sampling time points.
[0533] In order to ensure that the legged robot can only take one step when it moves from the initial position to the target position, a stepping timing constraint is created. The stepping timing constraint satisfies the following relationship:
[0534] β i,j,k ≥β i,j,k+1 ; (j=0)
[0535] β i,j,k ≤β i,j, k +1 ; (j = 1, 2, ..., N i )
[0536] Among them, β i,j,k represents the coefficient of the jth candidate landing point of the i-th foot of the legged robot at the k sampling time points; β i,j,k+1 represents the coefficient of the jth candidate foothold position of the i-th foot of the legged robot at the k+1 sampling time point; j=0 represents the initial foothold position of the i-th foot of the legged robot; j=1, 2, ..., N i Represents the jth candidate landing point position of the i-th foot of the legged robot.
[0537] When there are many sampling time points and the time intervals between the sampling time points are small, in order to ensure that the legs have enough time to swing, a step duration constraint is created, which satisfies the following relationship:
[0538]
[0539] Wherein, j represents the serial number of the candidate foothold position of the foot of the legged robot; N i represents the number of candidate footholds of the i-th foot of the legged robot; k represents the sequence number of multiple sampling time points; N num Represents the total number of multiple sampling time periods, β i,j,k N represents the coefficient of the jth candidate landing point of the i-th foot of the legged robot at the k sampling time points;β Indicates reference value.
[0540] The force f exerted by at least one foot of the legged robot on the ground at each sampling time point i , the fourth relational data, the state data error and the coefficient β of the candidate foothold position of the legged robot, to create the second relational data, which satisfies the following relationship:
[0541] J=J grf +J len +J tgt +J β
[0542] Where, J represents the target value; J grf Used to represent the force f corresponding to at least one foot i The weighted sum of squares, J len Used to represent the weighted sum of squares of multiple distances, J tgt It is used to represent the weighted square sum of the first difference between the predicted center of mass position and the target center of mass position, the second difference between the predicted center of mass velocity and the target center of mass velocity, and the third difference between the predicted center of mass acceleration and the target center of mass acceleration when the legged robot is at the target position. β A weighted summation of coefficients for at least one candidate contact point location of the foot at a plurality of sampling time points.
[0543] After the second relationship data is created, the fifth relationship data, force constraint conditions, friction constraint conditions, space constraint conditions, coefficient β of the initial foothold of the i-th foot of the legged robot are created at multiple sampling points. i,j,k , coefficient constraints, third relationship data, step timing constraints, and step duration constraints to determine the constant C when the target value J is the minimum value and the coefficient β of each candidate foothold position i,j, The value of k is:
[0544] J=J grf +J len +J tgt +J β
[0545]
[0546] β i,j,k =1;(=0, k=0)
[0547] β i,j,k =0; (j=0, k=N k )
[0548]
[0549] β i,j,k ≥β i,j,k+1 ; (j=0)
[0550] β i,j,k ≤β i,j,k+1 ; (j = 1, 2, ..., N i )
[0551]
[0552] i=1,2,…,N foot
[0553] j=0,1,2…,N i
[0554] k=0,1,2…,N num
[0555] P(0)=0;
[0556] Where, J represents the target value; J grf Used to represent the force f corresponding to at least one foot i The weighted sum of squares, J len Used to represent the weighted sum of squares of multiple distances, J tgt It is used to represent the weighted square sum of the first difference between the predicted center of mass position and the target center of mass position, the second difference between the predicted center of mass velocity and the target center of mass velocity, and the third difference between the predicted center of mass acceleration and the target center of mass acceleration when the legged robot is at the target position. β A weighted summation of coefficients for at least one initial footfall position and candidate contact point positions at a plurality of sampling time points.
[0557] N foot represents the number of legs of the legged robot; i represents the serial number of the legged robot's leg; j represents the serial number of the candidate foothold position of the legged robot's leg; N i represents the number of candidate foothold positions of the i-th foot of the legged robot; G i,j is a constant matrix, f i,j,k is the force acting on the jth candidate foothold of the i-th foot at the kth sampling time point; H k Indicates that at the sampling time point t k The constant matrix when C is the center of mass position parameter; W k At sampling time t k The constant vector when .
[0558] n i,j is the normal vector of the jth candidate foothold of the i-th foot of the legged robot; f i,j,kis the legged robot at sampling time t k When , the force on the i-th foot at the j-th candidate landing point is; β i,j,k is the legged robot at sampling time t k , the coefficient of the i-th foot at the j-th candidate landing point; is the legged robot at sampling time t k The maximum force on the jth candidate foothold of the i-th foot when i,j is the friction coefficient matrix of the i-th foot of the legged robot at the j-th candidate landing point.
[0559] A i,k , B i,k 、b i,k All are legged robots at sampling time t k The coefficient matrix when r i,j,k represents the legged robot at sampling time t k When , the coordinates of the jth foot landing point of the ith foot in the world coordinate system; j = 0 represents the initial landing point of the ith foot of the legged robot; k = 0 represents the first sampling time point, that is, the initial time point; j = 0 represents the initial landing point of the ith foot of the legged robot; N num Indicates the number of time periods within the target movement duration, k = N num represents the last sampling time point among multiple sampling time points, that is, the time point when the legged robot moves to the target position; β i,j,k+1 represents the coefficient of the jth candidate foothold position of the i-th foot of the legged robot at the k+1 sampling time point; j=0 represents the initial foothold position of the i-th foot of the legged robot; j=1, 2, ..., N i represents the jth candidate foothold position of the i-th foot of the legged robot; N β represents a reference value; P(0)=0 represents that the change in the center of mass position of the legged robot at the initial position determined according to the first relationship data is 0; It indicates that the initial center of mass velocity of the legged robot at the initial position determined according to the first relationship data is υ0; It indicates that the initial center-of-mass acceleration of the legged robot at the initial position determined according to the first relationship data is a0.
[0560] After selecting k sampling time points within the target moving time, the coefficient β of the initial landing point position of each foot at multiple sampling time points in the process of the legged robot moving from the initial position to the target position can be determined through the above second relationship data. i,j,k The value of and the coefficients β of multiple candidate landing points of each foot at multiple sampling time points i,j,kAnd, through the coefficient β of the initial foothold position of each foot at multiple sampling time points i,j,k The value of and the coefficients β of multiple candidate landing points of each foot at multiple sampling time points i,j,k The value of can determine the stepping sequence of multiple feet of the legged robot and the target landing point position of the legged robot, and determine the starting time point and the ending time point of each step of the legged robot in the process of moving from the initial position to the target position, thereby constraining the stepping duration and stepping sequence of the feet of the legged robot, realizing the optimization of the walking gait of the legged robot, and also realizing the optimization of the selection of the target landing point position of the legged robot, thereby ensuring the feasibility of the movement of the legged robot.
[0561] The method for determining the center of mass position provided in the embodiment of the present application can be applied to various legged robots, such as bipedal robots, quadrupedal robots or hexapodal robots, etc.; it can be applied to various gaits of legged robots, such as bipedal walking, quadrupedal diagonal gait, quadrupedal crawling gait, hexapodal diagonal gait, etc.; it can be applied to various complex environments, such as flat ground, uneven ground, slopes, stairs, etc.; any order of interval time t can be adopted, and any movement process can be adopted in the process from the initial position to the target position; when the ground is flat or the height difference is small, the height of the robot's center of mass can be kept unchanged, and only two sets of curves are used to plan the movement of the center of mass in the plane; continuity constraints such as curve position, speed, acceleration, etc. can be added according to actual needs, and it is necessary to ensure that there are still independent variables in the curve parameters after adding constraints; when selecting sampling time points, sampling can be performed at any position of the center of mass position trajectory. The more sampling time points there are, the more reasonable the distribution is, and the more reliable the center of mass motion trajectory is, but the larger the size of the quadratic programming problem is, the longer the solution time is. In addition, the force exerted on at least one foot of the legged robot in contact with the ground and the distance corresponding to the sampling time point in the second relational data all have components in the three directions of the x-axis, y-axis, and z-axis. Different weights can be selected on the x-axis, y-axis, and z-axis according to actual conditions to determine the weighted sum of squares of the force and the weighted sum of squares of the distance. In addition, in addition to considering the ground force and the curve oscillation amplitude, the square sum of acceleration, the square sum of velocity differences between adjacent points, the square sum of acceleration differences, etc. can also be considered in the second relational data. The position of the contact point: The contact point is not limited to the contact point between the foot of the legged robot and the ground, but also applies to the situation where the robot's body, trunk, upper limbs and other parts are in contact with the environment. Based on the method for determining the center of mass trajectory provided in the embodiment of the present application, while reasonably ignoring the items with less influence, the center of mass position, center of mass velocity, center of mass acceleration constraints and ground friction constraints are fully considered, and the center of mass trajectory planning problem is transformed into a quadratic programming problem, and the quadratic programming problem is used to determine the center of mass trajectory of the footed robot. In the quadratic programming problem, the friction constraints of the ground contact points and various optimization indicators are fully considered to ensure the feasibility and efficiency of the generated motion.
[0562] Figure 8 is a schematic diagram of the structure of a mass center trajectory determination device provided in an embodiment of the present application, such as Figure 8 As shown, the device comprises:
[0563] An acquisition module 801 is used to acquire candidate foothold positions of at least one foot of the legged robot at a target position, and a coefficient β of each candidate foothold position, wherein the value of the coefficient β is undetermined;
[0564] A data determination module 802 is used to determine target state data of the legged robot at a target position based on the candidate foothold position of at least one foot and the coefficient β of each candidate foothold position;
[0565] A creation module 803 is used to create first relationship data, the first relationship data indicating the relationship between the interval duration t and the center of mass position P(t) of the legged robot, the first relationship data including a constant C whose value is undetermined;
[0566] The data determination module 802 is further used to determine the predicted state data of the legged robot at the target position according to the target movement time and the first relationship data;
[0567] The creation module 803 is further used to create second relationship data according to the state data error between the target state data and the predicted state data, wherein the second relationship data indicates a positive correlation between the target value J and the state data error;
[0568] The constant determination module 804 is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value based on the second relationship data, obtain the first relationship data corresponding to the constant C with the determined value, and the target landing point position of at least one foot at the target position.
[0569] In one possible implementation, the target state data includes the target center of mass position; Fig. 9 As shown, the data determination module 802 includes:
[0570] A coordinate determination unit 8201 is used to determine the sum of the products of the coordinates of each candidate foothold position and the corresponding coefficient β as the coordinates of the center position of the legged robot;
[0571] The first position determination unit 8202 is used to determine the position above the center position and spaced apart from the center position by the height of the legged robot as the target center of mass position according to the coordinates of the center position.
[0572] In another possible implementation, Fig. 9 As shown, the constant determination module 804 includes:
[0573] A condition creation unit 8401 is used to create at least one spatial constraint condition of a foot according to the first relationship data, where the spatial constraint condition is used to indicate a spatial range in which the at least one foot can move, and the spatial constraint condition includes a constant C and a coefficient β of each candidate foothold position;
[0574] The value determination unit 8402 is used to determine, based on the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value while satisfying the spatial constraint condition.
[0575] In another possible implementation, Fig. 9 As shown, the constant determination module 804 includes:
[0576] A condition creation unit 8401 is used to create a force constraint condition, where the force constraint condition is used to indicate that the force exerted on at least one foot when in contact with the ground at each corresponding candidate foothold position is not greater than the force extreme value corresponding to each candidate foothold position, and the force constraint condition includes a coefficient β for each candidate foothold position;
[0577] The value determination unit 8402 is used to determine, based on the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value when the force constraint condition is met.
[0578] In another possible implementation, the value of the coefficient β includes 1 or 0, 1 indicates that the foot of the legged robot lands on the candidate foothold position corresponding to the coefficient β, and 0 indicates that the foot of the legged robot does not land on the candidate foothold position corresponding to the coefficient β;
[0579] like Fig. 9 As shown, the constant determination module 804 includes:
[0580] A condition creation unit 8401 is used to create a coefficient constraint condition of at least one foot, where the coefficient constraint condition is used to indicate that at any time point during the movement of the legged robot, the sum of coefficients β of multiple candidate landing points of each foot is not greater than 1;
[0581] The value determination unit 8402 is used to determine, based on the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value while satisfying at least one coefficient constraint condition of the foot.
[0582] In another possible implementation, Fig. 9 As shown, the constant determination module 804 includes:
[0583] A first data creation unit 8403 is used to create third relationship data, where the third relationship data is used to indicate the relationship between the sum of coefficients β of the candidate foothold positions of the legged robot and the number of legs of the legged robot when the legged robot is at a target position;
[0584] The value determination unit 8402 is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value based on the second relationship data and the third relationship data.
[0585] In another possible implementation, Fig. 9 As shown, the constant determination module 804 includes:
[0586] A first selection unit 8404 is used to select multiple sampling time points within the target movement duration;
[0587] A coefficient determination unit 8405, used to determine a coefficient β of at least one candidate footfall position at each sampling time point;
[0588] The condition creation unit 8401 is used to create a stepping timing constraint condition according to a coefficient β of a candidate foothold position of at least one foot at each sampling time point, wherein the stepping timing constraint condition is used to indicate a relationship between coefficients β of a candidate foothold position of each foot at multiple sampling time points during the process of the legged robot moving from an initial position to a target position;
[0589] The value determination unit 8402 is used to determine the value of the constant C when the target value J is the minimum value and the coefficient β of each candidate landing point position based on the second relationship data while satisfying the step timing constraint condition.
[0590] In another possible implementation, the step timing constraint is used to indicate that a coefficient β of any candidate foothold position of any foot of the legged robot at a previous sampling time point is not greater than a coefficient β of any candidate foothold position at a subsequent sampling time point.
[0591] In another possible implementation, the step timing constraint is used to indicate that a coefficient β of the initial foothold position of any foot of the legged robot at a previous sampling time point is not less than a coefficient β of the initial foothold position at a subsequent sampling time point.
[0592] In another possible implementation, the value determination unit 8402 is used to create a step duration constraint condition, and the step duration constraint condition is used to indicate that the sum of the coefficients β of the candidate landing point positions of the legged robot at multiple sampling time points is less than the number of multiple sampling time points; based on the second relationship data, while satisfying the step timing constraint condition and the step duration constraint condition, determine that the target value J is the minimum value of the constant C and the value of the coefficient β of each candidate landing point position.
[0593] In another possible implementation, the step duration constraint is used to indicate that the sum of coefficients β of the candidate foothold positions of the legged robot at multiple sampling time points is not greater than a reference value, and the reference value is less than the number of the multiple sampling time points.
[0594] In another possible implementation, the second relationship data indicates a positive correlation between the target value J and the sum of the state data error and the coefficient β of the candidate foothold position of the legged robot.
[0595] In another possible implementation, the value of the coefficient β includes 1 or 0, 1 indicates that the foot of the legged robot lands on the candidate foothold position corresponding to the coefficient β, and 0 indicates that the foot of the legged robot does not land on the candidate foothold position corresponding to the coefficient β;
[0596] like Fig. 9 As shown, the constant determination module 804 includes:
[0597] A data acquisition unit 8406 is used to acquire first relationship data corresponding to a constant C whose value has been determined, wherein the first relationship data is used to represent a center of mass trajectory of the legged robot;
[0598] The second position determination unit 8407 is used to determine the candidate landing point position corresponding to the coefficient β with a value of 1 as the target landing point position according to the value of the coefficient β of each candidate landing point position.
[0599] In another possible implementation, the target state data includes the target center of mass position, and the predicted state data includes the predicted center of mass position; Fig. 9 As shown, the creation module 803 includes:
[0600] The difference determination unit 8301 is used to determine a first difference between the target centroid position and the predicted centroid position;
[0601] The setting unit 8302 is used to set the target value J to the square of the first difference.
[0602] In another possible implementation, the target state data includes the target center of mass speed, and the predicted state data includes the predicted center of mass speed; Fig. 9 As shown, the creation module 803 includes:
[0603] The difference determination unit 8301 is used to determine a second difference between the target center of mass speed and the predicted center of mass speed;
[0604] The setting unit 8302 is used to set the target value J to the square of the second difference.
[0605] In another possible implementation, the target state data includes the target center of mass acceleration, and the predicted state data includes the predicted center of mass acceleration; Fig. 9 As shown, the creation module 803 includes:
[0606] The difference determination unit 8301 is used to determine a third difference between the target center of mass acceleration and the predicted center of mass acceleration;
[0607] The setting unit 8302 is used to set the target value J to the square of the third difference.
[0608] In another possible implementation, Fig. 9As shown, the creation module 803 includes:
[0609] The second selection unit 8303 is used to select multiple sampling time points within the target movement duration;
[0610] The data determination unit 8304 is used to determine the fourth relationship data corresponding to each sampling time point according to the interval time between each sampling time point and the initial time point and the first relationship data, the fourth relationship data indicating the relationship between the constant C and the sampling center of mass position Q(C), and the sampling center of mass position Q(C) indicates the center of mass position of the legged robot at the corresponding sampling time point;
[0611] The second data creation unit 8305 is used to create second relationship data based on the state data error and the fourth relationship data, and the second relationship data indicates the positive correlation between the target value J and the state data error and the sampling center of mass position Q(C).
[0612] In another possible implementation, the target state data includes the target center of mass position, and the predicted state data includes the predicted center of mass position; the second data creation unit 8305 is used to determine the first difference between the target center of mass position and the predicted center of mass position; the target value J is set to the sum of the first value and the second value, the first value is the square of the first difference, and the second value is the weighted square sum of multiple distances, and the multiple distances include the initial center of mass position of the initial position, multiple sampled center of mass positions, and the distance between any two adjacent center of mass positions in the predicted center of mass position.
[0613] In another possible implementation, the target state data includes the target center of mass speed, and the predicted state data includes the predicted center of mass speed; the second data creation unit 8305 is used to determine the second difference between the target center of mass speed and the predicted center of mass speed; the target value J is set to the sum of the third value and the second value, the third value is the square of the second difference, and the second value is the weighted square sum of multiple distances, and the multiple distances include the initial center of mass position of the initial position, multiple sampled center of mass positions, and the distance between any two adjacent center of mass positions in the predicted center of mass position.
[0614] In another possible implementation, the target state data includes the target center of mass acceleration, and the predicted state data includes the predicted center of mass acceleration; the second data creation unit 8305 is used to determine a third difference between the target center of mass acceleration and the predicted center of mass acceleration; the target value J is set to the sum of the fourth value and the second value, the fourth value is the square of the third difference, and the second value is the weighted square sum of multiple distances, the multiple distances including the initial center of mass position of the initial position, multiple sampled center of mass positions, and the distance between any two adjacent center of mass positions in the predicted center of mass position.
[0615] In another possible implementation, the second relationship data indicates the target value J and the state data error and the force f exerted on at least one foot of the legged robot when it contacts the ground. i The positive correlation between the quadratic terms of Fig. 9 As shown, the constant determination module 804 includes:
[0616] The first data creation unit 8403 is used to create fifth relationship data corresponding to at least one foot of the legged robot configuration, wherein the fifth relationship data corresponding to at least one foot respectively indicates the force f corresponding to at least one foot i The relationship between the interval time t and the force f i Indicates the force exerted on the i-th foot of the legged robot when it contacts the ground, i is a positive integer, and the fifth relational data includes a constant C whose value is undetermined;
[0617] The value determination unit 8402 is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value according to the second relationship data and the fifth relationship data.
[0618] In another possible implementation, the first data creation unit 8403 is used to create sixth relationship data, the sixth relationship data indicating the relationship between the angular momentum L of the legged robot and the interval time t; create seventh relationship data, the seventh relationship data indicating the force f corresponding to at least one foot i (L) has a negative correlation with the angular momentum L; and according to the sixth relationship data and the seventh relationship data, creates at least one fifth relationship data corresponding to the foot.
[0619] In another possible implementation, Fig. 9 As shown, the constant determination module 804 includes:
[0620] The first data creation unit 8403 is used to create eighth relationship data, ninth relationship data and tenth relationship data according to the first relationship data and the initial time point, the eighth relationship data indicating the relationship between the initial center of mass position of the footed robot at the initial position and the constant C, the ninth relationship data indicating the relationship between the initial center of mass velocity of the footed robot at the initial position and the constant C, and the tenth relationship data indicating the relationship between the initial center of mass acceleration of the footed robot at the initial position and the constant C;
[0621] The value determination unit 8402 is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value according to the eighth relationship data, the ninth relationship data, the tenth relationship data and the second relationship data.
[0622] In another possible implementation, the predicted state data includes a predicted centroid position, such as Fig. 9As shown, the data determination module 802 includes:
[0623] The third position determination unit 8203 is used to determine the predicted center of mass position of the legged robot after the legged robot moves from the initial position to the target moving time according to the first relationship data.
[0624] In another possible implementation, the predicted state data includes predicted center of mass velocity, such as Fig. 9 As shown, the data determination module 802 includes:
[0625] The third data creation unit 8204 is used to create relationship data between the interval time t and the center of mass speed of the legged robot according to the first relationship data;
[0626] The speed determination unit 8205 is used to determine the predicted center of mass speed of the legged robot after moving from the initial position to the target moving time according to the created relationship data.
[0627] In another possible implementation, the predicted state data includes predicted center of mass acceleration, such as Fig. 9 As shown, the data determination module 802 includes:
[0628] The third data creation unit 8204 is used to create relationship data between the interval time t and the acceleration of the center of mass of the legged robot according to the first relationship data;
[0629] The acceleration determination unit 8206 is used to determine the predicted center of mass acceleration of the legged robot after moving from an initial position to a target moving time according to the created relationship data.
[0630] In another possible implementation, after obtaining the first relation data corresponding to the constant C whose value has been determined, Fig. 9 As shown, the device also includes:
[0631] A position determination module 805 is used to determine the center of mass position P(t0) of the legged robot at any interval time t0 according to the first relationship data during the movement of the legged robot;
[0632] The torque determination module 806 is used to determine the joint torques of multiple joints of the legged robot according to the center of mass position P(t0) and the target position;
[0633] The control module 807 is used to control the rotation of the multiple joints according to the joint torques of the multiple joints, thereby driving the legged robot to move.
[0634] An embodiment of the present application also provides a legged robot, which includes a processor and a memory, wherein at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the method for determining the center of mass trajectory of the above embodiment.
[0635] Fig.10 The schematic diagram of the structure of a legged robot 1000 provided by an exemplary embodiment of the present application is shown. The legged robot 1000 is used to execute the steps executed by the legged robot in the above-mentioned method for determining the center of mass position.
[0636] The legged robot 1000 includes a processor 1001 and a memory 1002 .
[0637] The processor 1001 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 1001 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 1001 may also include a main processor and a coprocessor. The main processor is a processor for processing data in an awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 1001 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 1001 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
[0638] The memory 1002 may include one or more computer-readable storage media, which may be non-transitory. The memory 1002 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1002 is used to store at least one computer program, which is used to be executed by the processor 1001 to implement the center of mass trajectory determination method provided in the method embodiment of the present application.
[0639] In some embodiments, the legged robot 1000 may further optionally include: a peripheral device interface 1003 and at least one peripheral device. The processor 1001, the memory 1002 and the peripheral device interface 1003 may be connected via a bus or a signal line. Each peripheral device may be connected to the peripheral device interface 1003 via a bus, a signal line or a circuit board. Specifically, the peripheral device includes: at least one of a radio frequency circuit 1004, a display screen 1005, a camera assembly 1005, an audio circuit 1007 and a power supply 1007.
[0640] The peripheral device interface 1003 may be used to connect at least one peripheral device related to I / O (Input / Output) to the processor 1001 and the memory 1002. In some embodiments, the processor 1001, the memory 1002, and the peripheral device interface 1003 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1001, the memory 1002, and the peripheral device interface 1003 may be implemented on a separate chip or circuit board, which is not limited in this embodiment.
[0641] The radio frequency circuit 1004 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 1004 communicates with the communication network and other communication devices through electromagnetic signals. The radio frequency circuit 1004 converts the electrical signal into an electromagnetic signal for transmission, or converts the received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 1004 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The radio frequency circuit 1004 can communicate with other terminals through at least one wireless communication protocol. The wireless communication protocol includes but is not limited to: the World Wide Web, a metropolitan area network, an intranet, various generations of mobile communication networks (2G, 3G, 4G and 5G), a wireless local area network and / or a WiFi (Wireless Fidelity) network. In some embodiments, the radio frequency circuit 1004 may also include circuits related to NFC (Near Field Communication), which is not limited in this application.
[0642] The camera assembly 1005 is used to capture images or videos. Optionally, the camera assembly 1005 includes a front camera and a rear camera. The front camera is arranged on the front panel of the terminal, and the rear camera is arranged on the back of the terminal. In some embodiments, there are at least two rear cameras, which are any one of a main camera, a depth of field camera, a wide-angle camera, and a telephoto camera, so as to realize the fusion of the main camera and the depth of field camera to realize the background blur function, the fusion of the main camera and the wide-angle camera to realize panoramic shooting and VR (Virtual Reality) shooting function or other fusion shooting functions. In some embodiments, the camera assembly 1005 may also include a flash. The flash can be a monochrome temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cold light flash, which can be used for light compensation at different color temperatures.
[0643] The power supply 1007 is used to power various components in the legged robot 1000. The power supply 1007 can be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power supply 1007 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged through a wired line, and a wireless rechargeable battery is a battery that is charged through a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0644] In some embodiments, the legged robot 1000 further includes one or more sensors 1008 . The one or more sensors 1008 include but are not limited to: an acceleration sensor 1009 and a gyroscope sensor 1010 .
[0645] The acceleration sensor 1009 can detect the magnitude of acceleration on the three coordinate axes of the coordinate system established by the legged robot 1000. For example, the acceleration sensor 1009 can be used to detect the components of gravity acceleration on the three coordinate axes. The processor 1001 can be based on the gravity acceleration signal collected by the acceleration sensor 1009. The acceleration sensor 1009 can also be used to collect motion data of games or users.
[0646] The gyro sensor 1010 can detect the body direction and rotation angle of the legged robot 1000. The gyro sensor 1010 can cooperate with the acceleration sensor 1009 to collect the user's 3D actions on the legged robot 1000. The processor 1001 can implement the following functions based on the data collected by the gyro sensor 1010: motion sensing (such as changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.
[0647] Those skilled in the art will understand that Fig.10The structure shown in the figure does not constitute a limitation on the legged robot 1000, and may include more or fewer components than shown in the figure, or combine certain components, or adopt a different component arrangement.
[0648] An embodiment of the present application also provides a control device, which includes a processor and a memory, wherein at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the method for determining the center of mass trajectory of the above embodiment.
[0649] Optionally, the computer device is provided as a server. Fig.11 This is a schematic diagram of the structure of a server provided in an embodiment of the present application. The server 1100 may have relatively large differences due to different configurations or performances, and may include one or more processors (Central Processing Units, CPU) 1101 and one or more memories 1102, wherein at least one computer program is stored in the memory 1102, and at least one computer program is loaded and executed by the processor 1101 to implement the methods provided in the above-mentioned various method embodiments. Of course, the server may also have components such as a wired or wireless network interface, a keyboard, and an input and output interface for input and output, and the server may also include other components for implementing device functions, which will not be described in detail here.
[0650] An embodiment of the present application further provides a computer-readable storage medium, in which at least one computer program is stored. The at least one computer program is loaded and executed by a processor to implement the operations performed in the method for determining the center of mass trajectory of the above embodiment.
[0651] The embodiment of the present application also provides a computer program product or a computer program, which includes a computer program code, and the computer program code is stored in a computer-readable storage medium. The processor of the control device reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the control device implements the operations performed in the method for determining the center of mass trajectory in the above embodiment.
[0652] A person of ordinary skill in the art will appreciate that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk, or an optical disk, etc.
[0653] The above description is only an optional embodiment of the embodiments of the present application and is not intended to limit the embodiments of the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the protection scope of the present application.
Claims
1. A method for determining a center of mass trajectory, characterized in that: The method comprises: Obtaining candidate foothold positions of at least one foot of the legged robot at the target position and a coefficient β of each candidate foothold position, wherein the coefficient β of the candidate foothold position is used to indicate the possibility that the foot of the legged robot lands on the candidate foothold, and the value of the coefficient β is undetermined; Determining target state data of the footed robot at the target position according to the candidate foothold position of the at least one foot and the coefficient β of each candidate foothold position; Creating first relationship data, the first relationship data indicating a relationship between an interval duration t and a center of mass position P(t) of the legged robot, the first relationship data including a constant C whose value is undetermined; Determining predicted state data of the legged robot at the target position according to the target movement duration and the first relationship data; Creating second relationship data according to a state data error between the target state data and the predicted state data, wherein the second relationship data indicates a positive correlation between a target value J and a sum of a coefficient β of a candidate foothold position of the legged robot; According to the second relationship data, determine the value of the constant C and the coefficient β of each candidate landing point position when the target numerical value J is the minimum value, obtain the first relationship data corresponding to the constant C with the determined value, and the target landing point position of at least one foot at the target position.
2. The method according to claim 1, characterized in that: The target state data includes a target center of mass position; the target state data of the footed robot at the target position is determined according to the candidate foothold position of the at least one foot and the coefficient β of each candidate foothold position, including: The sum of the products of the coordinates of each candidate foothold position and the corresponding coefficient β is determined as the coordinates of the center position of the legged robot; According to the coordinates of the center position, a position above the center position and spaced apart from the center position by the height of the foot-type robot is determined as the target center of mass position.
3. The method according to claim 1, characterized in that Determining, according to the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value, includes: According to the first relationship data, a spatial constraint condition of the at least one foot is created, wherein the spatial constraint condition is used to indicate the spatial range in which the at least one foot can move, and the spatial constraint condition includes the constant C and the coefficient of each candidate foothold position. β ; According to the second relationship data, determine the target value when the spatial constraint condition is met. J The constant C and the coefficient of each candidate landing point position when it is the minimum value β The value of .
4. The method according to claim 1, characterized in that: The target value is determined according to the second relationship data. J The constant is the minimum value C and the coefficient of each candidate landing point position β The values of include: Create a force constraint condition, the force constraint condition is used to indicate that the force of the at least one foot in contact with the ground at each corresponding candidate foothold position is not greater than the force extreme value corresponding to each candidate foothold position, and the force constraint condition includes a coefficient of each candidate foothold position β ; According to the second relationship data, the target value is determined when the force constraint condition is met. J The constant is the minimum value C and the coefficient of each candidate landing point position β The value of .
5. The method according to claim 1, characterized in that The coefficient β The value of includes 1 or 0, 1 means that the foot of the legged robot falls on the coefficient β Corresponding candidate foothold position, 0 means that the foot of the legged robot does not fall on the coefficient β The corresponding candidate landing point position; The constant when the target value J is the minimum value is determined according to the second relationship data. C and the coefficient of each candidate landing point position β The values of include: Create a coefficient constraint condition for the at least one foot, the coefficient constraint condition is used to indicate the coefficient of multiple candidate foothold positions of each foot at any time point during the movement of the legged robot β The sum is not greater than 1; According to the second relationship data, determine the constant when the target value J is the minimum value under the condition that the at least one coefficient constraint condition is satisfied. C and the coefficient of each candidate landing point position β The value of .
6. The method according to claim 1, characterized in that The target value is determined according to the second relationship data. J The constant is the minimum value C and the coefficient of each candidate landing point position β The values of include: Create third relationship data, the third relationship data is used to indicate the coefficient of the candidate landing point position of the legged robot when the legged robot is at the target position β The relationship between the sum and the number of legs of the legged robot; According to the second relationship data and the third relationship data, determine the constant C and the coefficient of each candidate landing point position when the target value J is the minimum value β The value of .
7. The method according to claim 1, characterized in that The target value is determined according to the second relationship data. J The constant is the minimum value C and the coefficient of each candidate landing point position β The values of include: Selecting multiple sampling time points within the target movement duration; Determine the coefficient of the candidate foothold position of the at least one foot at each sampling time point β ; According to the coefficient of the candidate foothold position of the at least one foot at each sampling time point β , create a step timing constraint condition, the step timing constraint condition is used to indicate the coefficient of the candidate landing point position of each foot at the multiple sampling time points during the process of the legged robot moving from the initial position to the target position β the relationship between; According to the second relationship data, the target value is determined while satisfying the step timing constraint condition. J The constant C and the coefficient of each candidate landing point position when it is the minimum value β The value of .
8. The method according to claim 7, characterized in that The step timing constraint condition is used to indicate the coefficient of any candidate foothold position of any foot of the legged robot at the previous sampling time point. β , is not greater than the coefficient of any candidate landing point at the next sampling time point β .
9. The method according to claim 7, characterized in that: The step timing constraint condition is used to indicate the coefficient of the initial foothold position of any foot of the legged robot at the previous sampling time point. β , not less than the coefficient of the initial foothold position at the next sampling time point β .
10. The method according to claim 7, characterized in that The target value is determined according to the second relationship data while satisfying the step timing constraint condition. J The constant is the minimum value C and the coefficient of each candidate landing point position β The values of include: Create a step duration constraint condition, the step duration constraint condition is used to indicate the coefficient of the candidate landing point position of the legged robot at the multiple sampling time points β The sum of is less than the number of the multiple sampling time points; According to the second relationship data, when the stepping timing constraint condition and the stepping duration constraint condition are satisfied, the constant when the target value J is the minimum value is determined. C and the coefficient of each candidate landing point position β The value of .
11. The method according to claim 10, characterized in that The step duration constraint is used to indicate the coefficients of the candidate foothold positions of the legged robot at the multiple sampling time points. β The sum of the above values is not greater than a reference value, and the reference value is less than the number of the multiple sampling time points.
12. The method according to claim 1, characterized in that The coefficient β The value of includes 1 or 0, 1 means that the foot of the legged robot falls on the coefficient β Corresponding candidate foothold position, 0 means that the foot of the legged robot does not fall on the coefficient β The corresponding candidate landing point position; The constant whose value is determined is obtained C The corresponding first relationship data, and the target landing point position of the at least one foot at the target position, include: Get a constant with a fixed value C corresponding first relational data, the first relational data being used to represent a center of mass trajectory of the legged robot; According to the coefficient of each candidate landing point position β The value of will be the coefficient of 1 β The corresponding candidate landing point position is determined as the target landing point position.
13. The method according to claim 1, characterized in that The target state data includes a target centroid position, and the predicted state data includes a predicted centroid position; and the second relationship data is created according to a state data error between the target state data and the predicted state data, comprising: determining a first difference between the target centroid position and the predicted centroid position; The target value J is set to the square of the first difference.
14. The method according to claim 1, characterized in that The target state data includes a target center of mass speed, and the predicted state data includes a predicted center of mass speed; and the second relationship data is created according to a state data error between the target state data and the predicted state data, comprising: determining a second difference between the target center of mass velocity and the predicted center of mass velocity; The target value J is set to the square of the second difference.
15. The method according to claim 1, characterized in that The target state data includes a target center-of-mass acceleration, and the predicted state data includes a predicted center-of-mass acceleration; and the second relationship data is created according to a state data error between the target state data and the predicted state data, comprising: determining a third difference between the target center-of-mass acceleration and the predicted center-of-mass acceleration; The target value J is set to the square of the third difference.
16. The method according to claim 1, characterized in that The step of creating second relational data according to a state data error between the target state data and the predicted state data comprises: Selecting multiple sampling time points within the target movement duration; Determine, according to the interval duration between each sampling time point and the initial time point and the first relationship data, fourth relationship data corresponding to each sampling time point, wherein the fourth relationship data indicates the relationship between the constant C and the sampling center of mass position Q(C), and the sampling center of mass position Q(C) indicates the center of mass position of the legged robot at the corresponding sampling time point; The second relationship data is created based on the state data error and the fourth relationship data, and the second relationship data indicates a positive correlation between the target value J and the state data error and the sampling centroid position Q(C).
17. The method according to claim 16, characterized in that The target state data includes a target centroid position, and the predicted state data includes a predicted centroid position; and the second relationship data is created according to the state data error and the fourth relationship data, comprising: determining a first difference between the target centroid position and the predicted centroid position; The target value J is set to the sum of a first value and a second value, wherein the first value is the square of the first difference, and the second value is the weighted square sum of multiple distances, wherein the multiple distances include the initial centroid position of the initial position, multiple sampled centroid positions, and the distance between any two adjacent centroid positions in the predicted centroid position.
18. The method according to claim 16, characterized in that The target state data includes a target center of mass speed, and the predicted state data includes a predicted center of mass speed; and the second relationship data is created according to the state data error and the fourth relationship data, comprising: determining a second difference between the target center of mass velocity and the predicted center of mass velocity; The target value J is set to the sum of a third value and a second value, wherein the third value is the square of the second difference, and the second value is the weighted square sum of multiple distances, wherein the multiple distances include the initial centroid position of the initial position, multiple sampled centroid positions, and the distance between any two adjacent centroid positions in the predicted centroid position.
19. The method according to claim 16, characterized in that The target state data includes target center of mass acceleration, and the predicted state data includes predicted center of mass acceleration; and the second relationship data is created according to the state data error and the fourth relationship data, including: determining a third difference between the target center-of-mass acceleration and the predicted center-of-mass acceleration; The target value J is set to the sum of a fourth value and a second value, wherein the fourth value is the square of the third difference, and the second value is the weighted square sum of multiple distances, wherein the multiple distances include the initial centroid position of the initial position, multiple sampled centroid positions, and the distance between any two adjacent centroid positions in the predicted centroid position.
20. The method according to claim 1, characterized in that The second relationship data indicates the target value J and the state data error and the force f exerted by at least one foot of the legged robot when it contacts the ground. i The positive correlation between the quadratic terms of Determining, according to the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value, includes: Create fifth relationship data corresponding to at least one foot of the legged robot configuration, wherein the fifth relationship data corresponding to at least one foot respectively indicates the force f corresponding to the at least one foot i The relationship between the force f i Indicates the force exerted on the i-th foot of the legged robot when it contacts the ground, i is a positive integer, and the fifth relationship data includes a constant C whose value is undetermined; According to the second relationship data and the fifth relationship data, the value of the constant C and the coefficient β of each candidate landing point position is determined when the target value J is the minimum value.
21. The method according to claim 20, characterized in that The step of creating fifth relationship data corresponding to at least one foot of the legged robot configuration comprises: Creating sixth relationship data, wherein the sixth relationship data indicates a relationship between the angular momentum L of the legged robot and the interval duration t; Create seventh relationship data, the seventh relationship data indicating the force f corresponding to the at least one foot i (L) has a negative correlation with the angular momentum L; According to the sixth relationship data and the seventh relationship data, fifth relationship data corresponding to the at least one foot is created.
22. The method according to claim 1, characterized in that Determining, according to the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value, includes: According to the first relationship data and the initial time point, eighth relationship data, ninth relationship data and tenth relationship data are created, wherein the eighth relationship data indicates the relationship between the initial center of mass position of the footed robot at the initial position and the constant C, the ninth relationship data indicates the relationship between the initial center of mass velocity of the footed robot at the initial position and the constant C, and the tenth relationship data indicates the relationship between the initial center of mass acceleration of the footed robot at the initial position and the constant C; According to the eighth relationship data, the ninth relationship data, the tenth relationship data and the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position is determined when the target value J is the minimum value.
23. The method according to claim 1, characterized in that The predicted state data includes a predicted center of mass position, and the step of determining the predicted state data of the footed robot at the target position according to the target movement duration and the first relationship data includes: The predicted center of mass position of the legged robot after moving from the initial position to the target moving time is determined according to the first relationship data.
24. The method according to claim 1, characterized in that The predicted state data includes a predicted center of mass speed, and the predicted state data of the footed robot at the target position is determined according to the target movement duration and the first relationship data, including: According to the first relationship data, creating relationship data between the interval duration t and the center of mass speed of the legged robot; According to the created relationship data, a predicted center of mass velocity of the legged robot after moving from an initial position to the target for a certain period of time is determined.
25. The method according to claim 1, characterized in that The predicted state data includes predicted center of mass acceleration, and the predicted state data of the footed robot at the target position is determined according to the target movement duration and the first relationship data, including: According to the first relationship data, creating relationship data between the interval duration t and the center of mass acceleration of the legged robot; According to the created relationship data, a predicted center-of-mass acceleration of the legged robot after moving from an initial position to a target moving time is determined.
26. The method according to claim 1, characterized in that After obtaining the first relation data corresponding to the constant C whose value has been determined, the method further includes: During the movement of the legged robot, determining the center of mass position P(t0) of the legged robot at any interval time t0 according to the first relationship data; Determining joint torques of multiple joints of the legged robot according to the center of mass position P(t0) and the target position; According to the joint torques of the multiple joints, the multiple joints are controlled to rotate, thereby driving the legged robot to move.
27. A device for determining a center of mass trajectory, characterized in that: The device comprises: An acquisition module, used to acquire a candidate foothold position of at least one foot of the legged robot at a target position, and a coefficient β of each candidate foothold position, wherein the coefficient β of the candidate foothold position is used to indicate the possibility that the foot of the legged robot lands on the candidate foothold, and the value of the coefficient β is undetermined; a data determination module, configured to determine target state data of the footed robot at the target position according to the candidate foothold position of the at least one foot and the coefficient β of each candidate foothold position; A creation module, configured to create first relationship data, wherein the first relationship data indicates a relationship between an interval duration t and a center of mass position P(t) of the legged robot, wherein the first relationship data includes a constant C whose value is undetermined; The data determination module is further used to determine the predicted state data of the footed robot at the target position according to the target movement duration and the first relationship data; The creation module is further used to create second relationship data according to a state data error between the target state data and the predicted state data, wherein the second relationship data indicates a positive correlation between a target value J and a sum of a coefficient β of the state data error and a candidate foothold position of the legged robot; A constant determination module is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target numerical value J is the minimum value according to the second relationship data, and obtain the first relationship data corresponding to the constant C whose value has been determined, and the target landing point position of at least one foot at the target position.
28. The device according to claim 27, characterized in that The target state data includes the target center of mass position; the data determination module includes: A coordinate determination unit, used to determine the sum of the products of the coordinates of each candidate foothold position and the corresponding coefficient β as the coordinates of the center position of the legged robot; The first position determination unit is used to determine, according to the coordinates of the center position, a position above the center position and spaced apart from the center position by the height of the foot-type robot as the target center of mass position.
29. The device according to claim 27, characterized in that The constant determination module comprises: a condition creation unit, configured to create a spatial constraint condition for the at least one foot according to the first relationship data, wherein the spatial constraint condition is used to indicate a spatial range in which the at least one foot can move, and the spatial constraint condition includes the constant C and a coefficient β of each candidate foothold position; A value determination unit is used to determine, based on the second relationship data, the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value while satisfying the spatial constraint condition.
30. The device according to claim 27, characterized in that The constant determination module comprises: a condition creation unit, used to create a force constraint condition, wherein the force constraint condition is used to indicate that the force exerted on the at least one foot when in contact with the ground at each corresponding candidate foothold position is not greater than the force extreme value corresponding to each candidate foothold position, and the force constraint condition includes a coefficient of each candidate foothold position β ; a value determination unit, configured to determine, based on the second relationship data, the constant when the target value J is the minimum value under the condition that the force constraint condition is satisfied; C and the coefficient of each candidate landing point position β The value of .
31. The device according to claim 27, characterized in that The coefficient β The value of includes 1 or 0, 1 means that the foot of the legged robot falls on the coefficient β Corresponding candidate foothold position, 0 means that the foot of the legged robot does not fall on the coefficient β The corresponding candidate landing point position; The constant determination module comprises: A condition creation unit, used to create a coefficient constraint condition of the at least one foot, wherein the coefficient constraint condition is used to indicate the coefficient of multiple candidate foothold positions of each foot at any time point during the movement of the legged robot. β The sum is not greater than 1; a value determination unit, configured to determine, based on the second relationship data, the constant when the target value J is the minimum value under the condition that the at least one coefficient constraint condition is satisfied; C and the coefficient of each candidate landing point position β The value of .
32. The device according to claim 27, characterized in that The constant determination module comprises: The first data creation unit is used to create third relationship data, wherein the third relationship data is used to indicate the coefficient of the candidate landing point position of the legged robot when the legged robot is at the target position. β The relationship between the sum and the number of legs of the legged robot; a value determination unit, configured to determine the target value according to the second relationship data and the third relationship data J The constant C and the coefficient of each candidate landing point position when it is the minimum value β The value of .
33. The device according to claim 27, characterized in that The constant determination module comprises: A first selection unit, used to select a plurality of sampling time points within the target movement duration; A coefficient determination unit, used to determine the coefficient of the candidate landing point position of the at least one foot at each sampling time point β ; a condition creation unit, configured to create a stepping timing constraint condition according to a coefficient β of the candidate foothold position of the at least one foot at each sampling time point, wherein the stepping timing constraint condition is used to indicate a relationship between the coefficients β of the candidate foothold position of each foot at the plurality of sampling time points during the process of the legged robot moving from an initial position to a target position; A value determination unit is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value based on the second relationship data and while satisfying the step timing constraint condition.
34. The device according to claim 33, characterized in that The stepping timing constraint is used to indicate that a coefficient β of any candidate foothold position of any foot of the legged robot at a previous sampling time point is not greater than a coefficient β of any candidate foothold position at a subsequent sampling time point.
35. The device according to claim 33, characterized in that The stepping timing constraint condition is used to indicate that a coefficient β of the initial foothold position of any foot of the legged robot at a previous sampling time point is not less than a coefficient β of the initial foothold position at a subsequent sampling time point.
36. The device according to claim 33, characterized in that The value determination unit is used to create a step duration constraint condition, wherein the step duration constraint condition is used to indicate that the sum of coefficients β of the candidate foothold positions of the legged robot at the multiple sampling time points is less than the number of the multiple sampling time points; According to the second relationship data, while satisfying the step timing constraint and the step duration constraint, the value of the constant C and the coefficient β of each candidate landing point position are determined when the target value J is the minimum value.
37. The device according to claim 36, characterized in that The step duration constraint is used to indicate that the sum of coefficients β of the candidate foothold positions of the legged robot at the multiple sampling time points is not greater than a reference value, and the reference value is less than the number of the multiple sampling time points.
38. The device according to claim 27, characterized in that The value of the coefficient β includes 1 or 0, 1 indicates that the foot of the legged robot falls on the candidate foothold position corresponding to the coefficient β, and 0 indicates that the foot of the legged robot does not fall on the candidate foothold position corresponding to the coefficient β; The constant determination module comprises: A data acquisition unit, used to acquire first relationship data corresponding to a constant C whose value has been determined, wherein the first relationship data is used to represent a center of mass trajectory of the legged robot; The second position determination unit is used to determine the candidate landing point position corresponding to the coefficient β with a value of 1 as the target landing point position according to the value of the coefficient β of each candidate landing point position.
39. The device according to claim 27, characterized in that The target state data includes the target centroid position, and the predicted state data includes the predicted centroid position; the creation module includes: a difference determination unit, configured to determine a first difference between the target centroid position and the predicted centroid position; A setting unit is used to set the target value J to the square of the first difference.
40. The device according to claim 27, characterized in that The target state data includes a target center of mass speed, and the predicted state data includes a predicted center of mass speed; The creation module includes: a difference determination unit, configured to determine a second difference between the target mass center speed and the predicted mass center speed; A setting unit is used to set the target value J to the square of the second difference.
41. The device according to claim 27, characterized in that The target state data includes target center of mass acceleration, and the predicted state data includes predicted center of mass acceleration; the creation module includes: a difference determination unit, configured to determine a third difference between the target center-of-mass acceleration and the predicted center-of-mass acceleration; A setting unit is used to set the target value J to the square of the third difference.
42. The device according to claim 27, characterized in that The creation module includes: A second selection unit is used to select multiple sampling time points within the target movement duration; a data determination unit, configured to determine fourth relationship data corresponding to each sampling time point according to an interval duration between each sampling time point and an initial time point and the first relationship data, wherein the fourth relationship data indicates a relationship between the constant C and a sampling center of mass position Q(C), and the sampling center of mass position Q(C) indicates a center of mass position of the legged robot at the corresponding sampling time point; The second data creation unit is used to create the second relationship data according to the state data error and the fourth relationship data, wherein the second relationship data indicates a positive correlation between the target value J and the state data error and the sampling centroid position Q(C).
43. The device according to claim 42, characterized in that The target state data includes the target center of mass position, and the predicted state data includes the predicted center of mass position; the second data creation unit is used to determine the first difference between the target center of mass position and the predicted center of mass position; the target value J is set to the sum of the first value and the second value, the first value is the square of the first difference, and the second value is the weighted square sum of multiple distances, the multiple distances include the initial center of mass position of the initial position, multiple sampled center of mass positions and the distance between any two adjacent center of mass positions in the predicted center of mass position.
44. The device according to claim 42, characterized in that The target state data includes a target center of mass speed, and the predicted state data includes a predicted center of mass speed; the second data creation unit is used to determine a second difference between the target center of mass speed and the predicted center of mass speed; the target value J is set to the sum of a third value and a second value, the third value is the square of the second difference, and the second value is the weighted square sum of multiple distances, the multiple distances include an initial center of mass position of an initial position, multiple sampled center of mass positions, and the distance between any two adjacent center of mass positions in the predicted center of mass position.
45. The device according to claim 42, characterized in that The target state data includes the target center of mass acceleration, and the predicted state data includes the predicted center of mass acceleration; the second data creation unit is used to determine the third difference between the target center of mass acceleration and the predicted center of mass acceleration; the target value J is set to the sum of the fourth value and the second value, the fourth value is the square of the third difference, and the second value is the weighted square sum of multiple distances, the multiple distances include the initial center of mass position of the initial position, multiple sampled center of mass positions and the distance between any two adjacent center of mass positions in the predicted center of mass position.
46. The device according to claim 27, characterized in that The second relationship data indicates the target value J and the state data error and the force f exerted by at least one foot of the legged robot when it contacts the ground. i The positive correlation between the quadratic terms of The constant determination module comprises: The first data creation unit is used to create fifth relationship data corresponding to at least one foot of the legged robot, wherein the fifth relationship data corresponding to the at least one foot respectively indicates the force f corresponding to the at least one foot i The relationship between the interval time t and the force f i Indicates the force exerted on the ith foot of the legged robot when it contacts the ground, i is a positive integer, and the fifth relationship data includes a constant C whose value is undetermined; A value determination unit is used to determine the value of the constant C and the coefficient β of each candidate landing point position when the target value J is the minimum value based on the second relationship data and the fifth relationship data.
47. The device according to claim 46, characterized in that The first data creation unit is used to create sixth relationship data, wherein the sixth relationship data indicates the relationship between the angular momentum L of the legged robot and the interval duration t; Create seventh relationship data, the seventh relationship data indicating the force f corresponding to the at least one foot i (L) has a negative correlation with the angular momentum L; and based on the sixth relationship data and the seventh relationship data, creates the fifth relationship data corresponding to the at least one foot.
48. The device according to claim 27, characterized in that The constant determination module comprises: A first data creation unit is used to create eighth relationship data, ninth relationship data and tenth relationship data according to the first relationship data and the initial time point, wherein the eighth relationship data indicates the relationship between the initial center of mass position of the footed robot at the initial position and the constant C, the ninth relationship data indicates the relationship between the initial center of mass velocity of the footed robot at the initial position and the constant C, and the tenth relationship data indicates the relationship between the initial center of mass acceleration of the footed robot at the initial position and the constant C relationship; a value determination unit, configured to determine the constant when the target value J is the minimum value according to the eighth relationship data, the ninth relationship data, the tenth relationship data and the second relationship data; C And the value of the coefficient β of each candidate landing point position.
49. The device according to claim 27, characterized in that The predicted state data includes a predicted centroid position, and the data determination module includes: A third position determination unit is configured to determine, based on the first relationship data, a predicted center of mass position of the legged robot after the legged robot moves from an initial position to a target moving time.
50. The device according to claim 27, characterized in that The predicted state data includes predicted center of mass speed, and the data determination module includes: A third data creation unit, configured to create relationship data between the interval duration t and the center of mass speed of the legged robot according to the first relationship data; The speed determination unit is used to determine the predicted center of mass speed of the legged robot after moving from the initial position to the target moving time according to the created relationship data.
51. The device according to claim 27, characterized in that The predicted state data includes predicted center of mass acceleration, and the data determination module includes: A third data creation unit, configured to create relationship data between the interval duration t and the center of mass acceleration of the legged robot according to the first relationship data; The acceleration determination unit is used to determine the predicted center of mass acceleration of the legged robot after moving from an initial position to a target moving time according to the created relationship data.
52. The device according to claim 27, characterized in that After obtaining the first relationship data corresponding to the constant C whose value has been determined, the device further includes: A position determination module, used to determine the center of mass position P(t0) of the footed robot at any interval time t0 according to the first relationship data during the movement of the footed robot; a torque determination module, configured to determine the joint torques of the plurality of joints of the legged robot according to the mass center position P(t0) and the target position; The control module is used to control the multiple joints to rotate according to the joint torques of the multiple joints, thereby driving the legged robot to move.
53. A foot-type robot, characterized in that: The legged robot includes a processor and a memory, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the method for determining the center of mass trajectory as described in any one of claims 1 to 26.
54. A control device, characterized in that: The control device includes a processor and a memory, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the operations performed in the method for determining the center of mass trajectory as described in any one of claims 1 to 26.
55. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one computer program, and the at least one computer program is loaded and executed by a processor to implement the operations performed in the method for determining the center of mass trajectory according to any one of claims 1 to 26.
56. A computer program product, characterized in that The computer program product includes a computer program code, which is stored in a computer-readable storage medium. The processor of the control device reads the computer program code from the computer-readable storage medium, and the processor executes the computer program code, so that the control device implements the operations performed in the method for determining the center of mass trajectory as described in any one of claims 1 to 26.
Citation Information
Patent Citations
Foot-type robot motion control method and device, equipment and medium
CN112051797A