Single-leg hopping motion control method, device, readable storage medium and robot
Through phased task planning and secondary planning, the joint control amount is solved, and the problem of poor stability of bipedal robots when jumping in one leg is achieved, and a smooth single-leg jumping movement under stability constraints is achieved.
Patent Information
- Application Number
- CN202210945120.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-08
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2042-08-08
AI Technical Summary
Bipedal robots have poor stability when performing single-leg jumps, and are prone to instability or falls when landing.
Through phased task planning, the center of mass and swing foot position of the computer robot can obtain the expected acceleration, and determine the single-leg jump task equation based on the robot kinematic relationship. The joint control amount is obtained through quadratic planning solutions to achieve single-leg jump motion control under stability constraints.
Under preset stability constraints, the robot's single-leg jumping movement is realized to ensure smooth landing and improve the stability of the robot in single-leg jumping movement.
Smart Images

Figure CN115356920B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of robots, and particularly relates to a single-leg jumping motion control method, device, computer-readable storage medium, and robot. Background Art
[0002] Compared with wheeled and tracked robots, a great advantage of bipedal robots is that they can achieve various anthropomorphic gaits, so as to imitate humans to complete various specified tasks. Among them, for movements with relatively small amplitudes such as walking on flat ground and going up and down stairs, various motion control methods in the prior art can better maintain the stability of bipedal robots during movement. However, for a movement with a relatively large amplitude such as single-leg jumping, it is difficult to maintain the stability of bipedal robots during movement, and it is extremely easy to become unstable or even fall when landing. Summary of the Invention
[0003] In view of this, embodiments of this application provide a single-leg jumping motion control method, device, computer-readable storage medium, and robot to solve the problem of poor stability of bipedal robots during single-leg jumping.
[0004] The first aspect of the embodiments of this application provides a single-leg jumping motion control method, which may include:
[0005] Performing phased task planning on the single-leg jumping task of the robot according to preset motion control phases to obtain the centroid position planning result and the swing foot position planning result of the robot; wherein, the motion control phases include: a first phase of controlling the robot to move the centroid above the supporting leg, a second phase of controlling the robot to lift the swing leg, a third phase of controlling the robot to take off, and a fourth phase of controlling the robot to be airborne and land.
[0006] Obtaining the centroid position measurement result and the swing foot position measurement result of the robot; calculating the first expected acceleration of the robot in the workspace according to the centroid position planning result and the centroid position measurement result; calculating the second expected acceleration of the robot in the workspace according to the swing foot position planning result and the swing foot position measurement result.
[0007] Determining the first task equation of the robot according to the preset robot kinematics relationship and the first expected acceleration: A1X = b1, where A1 and b1 are respectively The values of A and b corresponding to the first expected acceleration; determining the second task equation of the robot according to the robot kinematics relationship and the second expected acceleration: A2X = b2, where A2 and b2 are respectively The corresponding values of A and b when taking the second expected acceleration; q is the generalized coordinates of the whole body of the robot, F s is the torque and force of the ground on the left and right feet of the robot respectively, x ref is the expected position of the robot, J l (q) is the component of the preset Jacobian matrix;
[0008] Determine the first optimization objective function corresponding to the first task equation; determine the second optimization objective function corresponding to the second task equation; determine the comprehensive optimization objective function corresponding to the single-leg hopping task equation according to the first optimization objective function and the second optimization objective function; perform quadratic programming on the comprehensive optimization objective function according to the preset stability constraint conditions to solve, and obtain the joint control amount of the robot;
[0009] Control the robot to perform single-leg hopping motion according to the joint control amount.
[0010] In a specific implementation manner of the first aspect, the determining the comprehensive optimization objective function corresponding to the single-leg hopping task equation according to the first optimization objective function and the second optimization objective function may include:
[0011] Perform weighted summation on the first optimization objective function and the second optimization objective function to obtain the comprehensive optimization objective function.
[0012] In a specific implementation manner of the first aspect, the stability constraint conditions may include: dynamic consistency constraint conditions, friction cone constraint conditions, joint torque constraint conditions, and zero moment point constraint conditions.
[0013] A second aspect of the embodiments of the present application provides a single-leg hopping motion control device, which may include:
[0014] A position planning module, configured to perform phased task planning on the single-leg hopping task of the robot according to preset each motion control stage, and obtain the centroid position planning result and the swing foot position planning result of the robot; wherein, each motion control stage includes: a first stage of controlling the robot to move the centroid above the support leg, a second stage of controlling the robot to raise the swing leg, a third stage of controlling the robot to take off, and a fourth stage of controlling the robot to take off and land;
[0015] An expected acceleration calculation module, configured to obtain the measurement result of the centroid position and the measurement result of the swinging foot position of the robot; calculate a first expected acceleration of the robot in the working space according to the centroid position planning result and the measurement result of the centroid position; calculate a second expected acceleration of the robot in the working space according to the swinging foot position planning result and the measurement result of the swinging foot position;
[0016] A single-leg hopping task equation determination module, configured to determine a first task equation of the robot according to a preset robot kinematic relationship and the first expected acceleration: A1X = b1, where A1 and b1 are respectively the values of A and b corresponding to when the value is the first expected acceleration; determine a second task equation of the robot according to the robot kinematic relationship and the second expected acceleration: A2X = b2, where A2 and b2 are respectively the values of A and b corresponding to when the value is the second expected acceleration; q is the whole-body generalized coordinate of the robot, F s is the sum of the torques and forces exerted by the ground on the left and right feet of the robot respectively, x ref is the expected position of the robot, J l (q) is a component of a preset Jacobian matrix;
[0017] A quadratic programming solution module, configured to determine a first optimization objective function corresponding to the first task equation; determine a second optimization objective function corresponding to the second task equation; determine a comprehensive optimization objective function corresponding to the single-leg hopping task equation according to the first optimization objective function and the second optimization objective function; perform quadratic programming solution on the comprehensive optimization objective function according to preset stability constraint conditions to obtain the joint control quantity of the robot;
[0018] A single-leg hopping motion control module, configured to control the robot to perform single-leg hopping motion according to the joint control quantity.
[0019] In a specific implementation manner of the second aspect, the quadratic programming solution module may include a comprehensive optimization objective function determination unit, and the comprehensive optimization objective function determination unit may specifically be configured to: perform weighted summation on the first optimization objective function and the second optimization objective function to obtain the comprehensive optimization objective function.
[0020] In a specific implementation manner of the second aspect, the stability constraint conditions may include: dynamic consistency constraint conditions, friction cone constraint conditions, joint torque constraint conditions, and zero moment point constraint conditions.
[0021] In a third aspect of the embodiments of the present application, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above single-leg jumping motion control methods are implemented.
[0022] In a fourth aspect of the embodiments of the present application, a robot is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of any of the above single-leg jumping motion control methods are implemented.
[0023] In a fifth aspect of the embodiments of the present application, a computer program product is provided. When the computer program product runs on a robot, the robot is enabled to execute the steps of any of the above single-leg jumping motion control methods.
[0024] The beneficial effects of the embodiments of the present application compared with the prior art are as follows: In the embodiments of the present application, the single-leg jumping task of the robot is planned in stages according to each preset motion control stage to obtain the position planning result of the robot; the position measurement result of the robot is obtained, and the expected acceleration of the robot in the workspace is calculated according to the position planning result and the position measurement result; the single-leg jumping task equation of the robot is determined according to the preset robot kinematic relationship and the expected acceleration; the single-leg jumping task equation is quadratically programmed and solved according to the preset stability constraint conditions to obtain the joint control amount of the robot; the robot is controlled to perform a single-leg jumping motion according to the joint control amount. Through the embodiments of the present application, single-leg jumping motion control can be performed under the preset stability constraint conditions, so that the robot can satisfy the stability constraint conditions while completing the single-leg jumping action, thereby achieving a smooth landing. Description of the Drawings
[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained according to these drawings.
[0026] Figure 1 It is a flowchart of an embodiment of a single-leg jumping motion control method in the embodiments of the present application;
[0027] Figure 2 It is a schematic flowchart of quadratically programming and solving a single-leg jumping task equation according to preset stability constraint conditions;
[0028] Figure 3This is a structural diagram of an embodiment of a single-leg jumping motion control device in an embodiment of the present application;
[0029] Figure 4 This is a schematic block diagram of a robot in an embodiment of the present application. Detailed implementation manners
[0030] To make the objectives, features, and advantages of the present application more obvious and understandable, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the embodiments described below are only a part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0031] It should be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations.
[0032] It should also be understood that the terms used in this specification of the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in this specification of the present application and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an", and "the" are intended to include the plural forms.
[0033] It should be further understood that the term "and / or" used in this specification of the present application and the appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0034] As used in this specification and the appended claims, the term "if" can be interpreted as "when", "once", "in response to determining", or "in response to detecting" according to the context. Similarly, the phrase "if determined" or "if detecting [the described condition or event]" can be interpreted as meaning "once determined", "in response to determining", "once detecting [the described condition or event]", or "in response to detecting [the described condition or event]" according to the context.
[0035] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance.
[0036] For the sake of simplicity of narration, unless otherwise specified, the robots mentioned in the embodiments of the present application are all biped robots.
[0037] Please refer to Figure 1 , an embodiment of a single - leg jumping motion control method in an embodiment of the present application may include:
[0038] Step S101, perform phased task planning on the single - leg jumping task of the robot according to preset motion control phases to obtain the position planning result of the robot.
[0039] Among them, each motion control phase may include: a first phase of controlling the robot to move the center of mass above the supporting leg, a second phase of controlling the robot to lift the swinging leg, a third phase of controlling the robot to take off, and a fourth phase of controlling the robot to be airborne and land. The position planning result may include the center - of - mass position planning result and the swinging - foot position planning result.
[0040] For the convenience of description, in the present application, a Cartesian three - dimensional coordinate system with the supporting foot of the robot as the coordinate origin may be established in advance. The direction the robot faces is the positive direction of the X - axis, the direction to the left of the robot is the positive direction of the Y - axis, and the vertically upward direction is the positive direction of the Z - axis.
[0041] In the first phase, the relative position between the swinging foot and the supporting foot can be kept unchanged, and the center of mass is gradually moved above the supporting leg.
[0042] The center - of - mass position planning result in the first phase is:[[]]
[0043]
[0044] where x c , y c and z c are the components of the center - of - mass position on the three coordinate axes (X - axis, Y - axis, and Z - axis) respectively, x c0 , y c0 and z c0 are the initial values of x c , y c and z c in the first phase, T0 is the duration of the first phase, t is the time variable, and its value range in the first phase is [0, T0].[[]]
[0045] The swinging - foot position planning result in the first phase is:[[]]
[0046] x s =x s0 ; y s =y s0 ; z s =z s0
[0047] where x s , y sand z s are the components of the swinging foot position on the three coordinate axes, x s0 , y s0 and z s0 are the initial values of x s , y s and z s in the first stage.
[0048] In the second stage, the relative position between the center of mass and the supporting foot can be kept unchanged, and the swinging foot gradually lifts upward relative to the supporting foot.
[0049] The planned result of the center of mass position in the second stage is:
[0050] x c = x c1 ; y c = y c1 ; x c = x c1
[0051] where, x c1 , y c1 and z c1 are the initial values of x c , y c and z c in the second stage, that is, the termination values of x c , y c and z c in the first stage.
[0052] The planned result of the swinging foot position in the second stage is:
[0053]
[0054] where, x s1 , y s1 and z s1 are the initial values of x s , y s and z s in the second stage, that is, the termination values of x s , y s and z s in the first stage, h is the preset lifting height of the swinging foot, T1 is the duration of the second stage, and the value range of the time variable t in the second stage is [0, T1].
[0055] In the third stage, both the center of mass and the swinging foot gradually lift upward relative to the supporting foot until the supporting foot leaves the ground.
[0056] The planned result of the center of mass position in the third stage is:
[0057] x c= x c2 ; y c = y c2 ; x c = x c2 + v z t
[0058] where x c2 , y c2 and z c2 are the initial values of x c , y c and z c in the third stage, that is, the termination values of x c , y c and z c in the second stage, v z is the preset takeoff speed, and the value range of the time variable t in the third stage is [0, T2], where T2 is the duration of the second stage.
[0059] The planning result of the swinging foot position in the third stage is:
[0060] x s = x s2 ; y s = y s2 ; x c = x s2 + v z t
[0061] where x s2 , y s2 and z s2 are the initial values of x s , y s and z s in the third stage, that is, the termination values of x s , y s and z s in the second stage.
[0062] In the fourth stage, the relative position between the center of mass and the supporting foot can be kept unchanged, and the relative position between the swinging foot and the supporting foot can be kept unchanged.
[0063] The planning result of the center of mass position in the fourth stage is:
[0064] x c = x c3 ; y c = y c3 ; x c = x c3
[0065] where x c3 , y c3 and z c3 are the xc , y c , and z c The initial values in the fourth stage, that is, x c , y c , and z c The termination values in the third stage.
[0066] The planning result of the swinging foot position in the fourth stage is:
[0067] x s = x s3 , y s = y s3 , x c = x s3
[0068] Among them, x s3 , y s3 , and z s3 are respectively the initial values of x s , y s , and z s in the fourth stage, that is, the termination values of x s , y s , and z s in the third stage.
[0069] Step S102: Obtain the position measurement result of the robot, and calculate the desired acceleration of the robot in the workspace according to the position planning result and the position measurement result.
[0070] In the embodiment of the present application, real-time position measurement can be performed through various sensors pre-set on the robot, so as to obtain the position measurement result.
[0071] After obtaining the position planning result and the position measurement result respectively, the desired acceleration of the robot in the workspace can be calculated according to the following formula:
[0072]
[0073] Among them, x d is the position planning result, , and are respectively the first derivative and the second derivative, that is, the corresponding speed and acceleration, x is the position measurement result, is the first derivative, that is, the corresponding speed, K p is a preset proportionality coefficient, K d is a preset differential coefficient, x ref is the desired position, , and are respectively the first derivative and the second derivative, that is, the desired speed and the desired acceleration.
[0074] Since the position planning result may include the centroid position planning result and the swing foot position planning result, correspondingly, the position measurement result may include the centroid position measurement result and the swing foot position measurement result, and the desired acceleration includes the first desired acceleration and the second desired acceleration. Specifically, the first desired acceleration can be calculated according to the centroid position planning result and the centroid position measurement result; the second desired acceleration can be calculated according to the swing foot position planning result and the swing foot position measurement result, and only the corresponding variables need to be substituted into the above calculation formula.
[0075] Step S103: Determine the single-leg jumping task equation of the robot according to the preset robot kinematics relationship and the desired acceleration.
[0076] In the embodiment of the present application, the waist of the robot can be regarded as a floating base, including six degrees of freedom, namely translation and rotation along three coordinate axes. Then the waist pose of the robot can be recorded as: η = [x w , y w , z w , r x , r y , r z T , where x w , y w and z w are respectively the coordinate values corresponding to the waist of the robot on the three coordinate axes, and r x , r y and r z are respectively the deflection angle values of the waist of the robot relative to the three coordinate axes. Assuming that the robot includes n rotational joints, where n is a positive integer, the joint pose of the robot can be recorded as: pose = [q1, q2,..., q i ,..., q n T , where i is the serial number of the rotational joint, 1 ≤ i ≤ n, and q i is the joint angle of the i-th rotational joint. The waist pose and the joint pose are combined to form the full-body generalized coordinate q, and its data dimension is 6 + n, that is, q ∈ R (6+n)×1 , and are respectively the corresponding first-order derivative and second-order derivative. The optimization variable in the embodiment of the present application can be defined as: where F s is the torque and force of the ground on the left and right feet respectively, and its data dimension is 12, that is, F s ∈ R 12×1 .
[0077] In the embodiment of the present application, the robot kinematics relationship as shown in the following formula can be established:
[0078]
[0079] Among them, J l (q) is a component of a preset Jacobian matrix.
[0080] Taking the derivative of both sides of the above equation gives:
[0081]
[0082] Its corresponding single-leg hopping task equation is:
[0083] AX = b
[0084] Among them,
[0085] The single-leg hopping task equation can include a first task equation and a second task equation. Specifically, the first task equation, i.e., A1X = b1, can be determined according to the robot kinematic relationship and the first desired acceleration, where A1 and b1 are respectively the values of A and b corresponding to the first desired acceleration; the second task equation, i.e., A2X = b2, can be determined according to the robot kinematic relationship and the second desired acceleration, where A2 and b2 are respectively the values of A and b corresponding to the second desired acceleration.
[0086] Step S104: Perform quadratic programming solution on the single-leg hopping task equation according to the preset stability constraint conditions to obtain the joint control amount of the robot.
[0087] For the single-leg hopping task equation AX = b, it can be converted into the following least squares optimization problem:
[0088]
[0089] The above least squares optimization problem is equivalent to a quadratic programming (QP) problem, and the corresponding optimization objective function is:
[0090]
[0091] Among them, H = A T A, g = -A T b, C is a constraint matrix, and lbc and ubc are respectively the upper and lower limits of the inequality constraint. When lbc = ubc, the inequality constraint is equivalent to an equality constraint.
[0092] Since the single-leg hopping task equation can include a first task equation and a second task equation, correspondingly, the optimization objective function can include a first optimization objective function and a second optimization objective function. Then step S104 can specifically include as Figure 2 shown in the process:
[0093] Step S1041: Determine the first optimization objective function corresponding to the first task equation.
[0094] Specifically, the first optimization objective function is:
[0095]
[0096] where
[0097] Step S1042: Determine the second optimization objective function corresponding to the second task equation.
[0098] Specifically, the second optimization objective function is:
[0099]
[0100] where H2 = A2 T A2, g2 = -A2 T b2.
[0101] Step S1043: Determine the comprehensive optimization objective function corresponding to the single-leg hopping task equation according to the first optimization objective function and the second optimization objective function.
[0102] Specifically, the first optimization objective function and the second optimization objective function can be weighted and summed to obtain the comprehensive optimization objective function. Among them, the first weight of the first optimization objective function and the second weight of the second optimization objective function can both be set according to the actual situation. For example, both of them can be set to 0.5. Of course, they can also be set to other values respectively. The embodiments of the present application do not make specific limitations on this.
[0103] Step S1044: Perform quadratic programming solution on the comprehensive optimization objective function according to the stability constraint conditions to obtain the joint control quantity.
[0104] Among them, the stability constraint conditions can include: dynamic consistency constraint conditions, friction cone constraint conditions, joint torque constraint conditions, and zero moment point (ZMP) constraint conditions.
[0105] (1) Dynamic consistency constraint conditions
[0106] In the embodiments of the present application, the dynamic equation of the floating base of the robot can be established in advance as shown in the following formula:
[0107]
[0108] Among them, M(q) is a preset inertia matrix, M u (q) and M l (q) are its components respectively, is a preset non - linear term, which can be composed of Coriolis force, centrifugal force terms and gravity terms, and are its components respectively, τ is the joint torque, J(q) is a preset Jacobian matrix, J u (q) and J l (q) are its components respectively.
[0109] Only considering the first component among them, there is:
[0110]
[0111] That is:
[0112]
[0113] The corresponding constraint matrix is:
[0114] C = [M u (q) - J u T (q)]
[0115] The upper and lower limits of the inequality constraint are:
[0116]
[0117] (2) Friction cone constraint condition
[0118] The force on the sole of the robot's foot needs to satisfy the following friction cone constraint:
[0119] -∞ < F x -μF z < 0
[0120] -∞ < -F x -μF z < 0
[0121] -∞ < F y -μF z < 0
[0122] -∞ < -F y -μF z < 0
[0123] Among them, F x 、Fy and F z are the components of the sole force in the three coordinate axes respectively, and μ is the preset friction coefficient.
[0124] The corresponding constraint matrix is:
[0125]
[0126] Among them,
[0127] The upper and lower limits of the inequality constraint are respectively:
[0128] lbc = -∞
[0129] ubc = 0
[0130] (3) Joint torque constraint conditions
[0131] According to the above dynamic equation of the floating base of the robot, only considering the second component, we have:
[0132]
[0133] The corresponding constraint matrix is:
[0134]
[0135] The upper and lower limits of the inequality constraint are respectively:
[0136]
[0137] Among them, τ lim is the preset maximum torque.
[0138] (4) ZMP point constraint conditions
[0139] The ZMP point calculation formula is as follows:
[0140] ZMP x F z +M y = 0
[0141] ZMP y F z +M x = 0
[0142] Among them, M x and M y are the components of the sole torque in the X-axis and Y-axis respectively, and ZMP x and ZMP y are the components of the ZMP point in the X-axis and Y-axis respectively.
[0143] Since the ZMP point must be located within the support plane, we have:
[0144] 0≤M y +F z x front ≤∞
[0145] -∞≤M y +F z x rear ≤0
[0146] 0≤M x +F z y right ≤∞
[0147] -∞≤M x +F z y left ≤0
[0148] Among them, x front 、x rear ,y right and left They are the four edge coordinates of the robot's sole in the front, back, left and right directions.
[0149] The corresponding constraint matrix is:
[0150]
[0151] in,
[0152] The lower and upper limits of the inequality constraints are:
[0153] lbc=-∞
[0154] ubc=0
[0155] Under these stability constraints, the comprehensive optimization objective function is solved by quadratic programming to obtain the value of the optimization variable X, which is used as the joint control amount of the robot. In the embodiment of the present application, any quadratic programming solution method in the prior art can be used according to actual conditions, and it is not specifically limited here.
[0156] Step S105: Control the robot to perform single-leg jumping according to the joint control amount.
[0157] It should be noted that the motion control of the robot is generally carried out in cycles, that is, the motion control of the robot is carried out once in each control cycle. The above process is explained by taking a certain control cycle as an example. In the next control cycle, the motion control will be carried out again as the actual situation changes, and the subsequent control cycles are analogous. Through the continuous control process of each control cycle, the robot can be controlled to smoothly perform single-leg jumping motion.
[0158] In summary, the embodiments of the present application perform phased task planning on the single-leg jumping task of the robot according to each preset motion control stage to obtain the position planning result of the robot; obtain the position measurement result of the robot, and calculate the expected acceleration of the robot in the workspace according to the position planning result and the position measurement result; determine the single-leg jumping task equation of the robot according to the preset robot kinematic relationship and the expected acceleration; perform quadratic programming solution on the single-leg jumping task equation according to the preset stability constraint conditions to obtain the joint control amount of the robot; control the robot to perform single-leg jumping motion according to the joint control amount. Through the embodiments of the present application, single-leg jumping motion control can be performed under the preset stability constraint conditions, so that the robot satisfies the stability constraint conditions while completing the single-leg jumping action, thereby achieving a smooth landing.
[0159] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not mean the order of execution. The execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0160] Corresponding to the single-leg jumping motion control method in the above embodiment, Figure 3 FIG. 10 shows a structural diagram of an embodiment of a single-leg jumping motion control device provided by the embodiments of the present application.
[0161] In this embodiment, a single-leg jumping motion control device may include:
[0162] A position planning module 301, configured to perform phased task planning on the single-leg jumping task of the robot according to each preset motion control stage to obtain the position planning result of the robot;
[0163] An expected acceleration calculation module 302, configured to obtain the position measurement result of the robot, and calculate the expected acceleration of the robot in the workspace according to the position planning result and the position measurement result;
[0164] A single-leg jumping task equation determination module 303, configured to determine the single-leg jumping task equation of the robot according to the preset robot kinematic relationship and the expected acceleration;
[0165] A quadratic programming solution module 304, configured to perform quadratic programming solution on the single-leg jumping task equation according to the preset stability constraint conditions to obtain the joint control amount of the robot;
[0166] A single-leg jumping motion control module 305, configured to control the robot to perform single-leg jumping motion according to the joint control amount.
[0167] In a specific implementation manner of the embodiment of the present application, the position planning result includes the centroid position planning result and the swing foot position planning result; the position measurement result includes the centroid position measurement result and the swing foot position measurement result; the desired acceleration includes the first desired acceleration and the second desired acceleration;
[0168] The desired acceleration calculation module may include:
[0169] The first desired acceleration calculation unit is configured to calculate the first desired acceleration according to the centroid position planning result and the centroid position measurement result;
[0170] The second desired acceleration calculation unit is configured to calculate the second desired acceleration according to the swing foot position planning result and the swing foot position measurement result.
[0171] In a specific implementation manner of the embodiment of the present application, the single-leg hopping task equation includes a first task equation and a second task equation;
[0172] The single-leg hopping task equation determination module may include:
[0173] The first task equation determination unit is configured to determine the first task equation according to the robot kinematic relationship and the first desired acceleration;
[0174] The second task equation determination unit is configured to determine the second task equation according to the robot kinematic relationship and the second desired acceleration.
[0175] In a specific implementation manner of the embodiment of the present application, the quadratic programming solution module may include:
[0176] The first optimization objective function determination unit is configured to determine a first optimization objective function corresponding to the first task equation;
[0177] The second optimization objective function determination unit is configured to determine a second optimization objective function corresponding to the second task equation;
[0178] The comprehensive optimization objective function determination unit is configured to determine a comprehensive optimization objective function corresponding to the single-leg hopping task equation according to the first optimization objective function and the second optimization objective function;
[0179] The quadratic programming solution unit is configured to perform quadratic programming solution on the comprehensive optimization objective function according to the stability constraint condition to obtain the joint control quantity.
[0180] In a specific implementation manner of the embodiment of the present application, the comprehensive optimization objective function determination unit may specifically be configured to: perform weighted summation on the first optimization objective function and the second optimization objective function to obtain the comprehensive optimization objective function.
[0181] In a specific implementation manner of the embodiment of the present application, each of the motion control stages may include: a first stage of controlling the robot to move the center of mass above the supporting leg, a second stage of controlling the robot to lift the swinging leg, a third stage of controlling the robot to take off, and a fourth stage of controlling the robot to be airborne and land.
[0182] In a specific implementation manner of the embodiment of the present application, the stability constraint conditions may include: dynamic consistency constraint conditions, friction cone constraint conditions, joint torque constraint conditions, and zero moment point constraint conditions.
[0183] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described devices, modules, and units can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.
[0184] In the above embodiments, the descriptions of the respective embodiments have their own emphases. For parts not detailed or recorded in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
[0185] Figure 4 The schematic block diagram of a robot provided by an embodiment of the present application is shown. For the convenience of description, only parts related to the embodiment of the present application are shown.
[0186] As Figure 4 shown, the robot 4 of this embodiment includes: a processor 40, a memory 41, and a computer program 42 stored in the memory 41 and executable on the processor 40. When the processor 40 executes the computer program 42, the steps in the foregoing method embodiments of various single-leg jumping motion control methods are implemented, such as Figure 1 the steps S101 to S105 shown. Alternatively, when the processor 40 executes the computer program 42, the functions of each module / unit in the foregoing device embodiments are implemented, such as Figure 3 the functions of the modules 301 to 305 shown.
[0187] Exemplarily, the computer program 42 may be divided into one or more modules / units. One or more modules / units are stored in the memory 41 and executed by the processor 40 to complete the present application. One or more modules / units may be a series of computer program instruction segments capable of performing specific functions, and these instruction segments are used to describe the execution process of the computer program 42 in the robot 4.
[0188] Those skilled in the art can understand that Figure 4 This is only an example of the robot 4, which does not constitute a limitation on the robot 4. It may include more or fewer components than those shown in the figure, or combine some components, or different components. For example, the robot 4 may also include input / output devices, network access devices, buses, etc.
[0189] The processor 40 may be a central processing unit (CPU), or may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor, or the processor may also be any conventional processor, etc.
[0190] The memory 41 may be an internal storage unit of the robot 4, such as the hard disk or memory of the robot 4. The memory 41 may also be an external storage device of the robot 4, such as a plug-in hard disk equipped on the robot 4, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. Further, the memory 41 may also include both the internal storage unit and the external storage device of the robot 4. The memory 41 is used to store computer programs and other programs and data required by the robot 4. The memory 41 may also be used to temporarily store data that has been output or is to be output.
[0191] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, only the above-mentioned division of each functional unit and module is used as an example. In actual applications, the above-mentioned functions may be assigned to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiments may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of the present application. The specific working processes of the units and modules in the above system may refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0192] In the above embodiments, the descriptions of the respective embodiments have their own focuses. For parts not detailed or recorded in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
[0193] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or by a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.
[0194] In the embodiments provided in this application, it should be understood that the disclosed device / robot and method can be implemented in other ways. For example, the device / robot embodiments described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the device or unit can be in electrical, mechanical or other forms.
[0195] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0196] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0197] When an integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such understanding, to implement all or part of the processes in the above-described embodiment methods of this application, it can also be completed by a computer program instructing relevant hardware. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above-described various method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file, or some intermediate form, etc. The computer-readable storage medium can include: any entity or device capable of carrying computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disc, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.
[0198] The above embodiments are only used to illustrate the technical solutions of this application, rather than to limit them; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the various embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A method for controlling single - leg jumping movement, characterized in that, Including: Performing phased task planning on the single-leg jumping task of the robot according to each preset motion control phase to obtain the centroid position planning result and the swing foot position planning result of the robot; wherein, each of the motion control phases includes: a first phase of controlling the robot to move the centroid above the supporting leg, a second phase of controlling the robot to lift the swing leg, a third phase of controlling the robot to take off, and a fourth phase of controlling the robot to take off and land. Obtaining the centroid position measurement result and the swing foot position measurement result of the robot; calculating the first expected acceleration of the robot in the workspace according to the centroid position planning result and the centroid position measurement result; calculating the second expected acceleration of the robot in the workspace according to the swing foot position planning result and the swing foot position measurement result. Determine the first task equation of the robot according to the preset robot kinematics relationship and the first desired acceleration: A1X = b1, where A1 and b1 are respectively the values of A and b corresponding to the first desired acceleration; Determine the second task equation of the robot according to the robot kinematics relationship and the second desired acceleration: A2X = b2, where A2 and b2 are respectively the values of A and b corresponding to the second desired acceleration; q is the full-body generalized coordinate of the robot, F s is the sum of the torques and forces exerted by the ground on the left and right feet of the robot respectively, x ref is the desired position of the robot, J l (q) is the component of the preset Jacobian matrix; Determining a first optimization objective function corresponding to the first task equation; determining a second optimization objective function corresponding to the second task equation; determining a comprehensive optimization objective function corresponding to the single-leg jumping task equation according to the first optimization objective function and the second optimization objective function; performing quadratic programming solution on the comprehensive optimization objective function according to the preset stability constraint conditions to obtain the joint control quantity of the robot. Controlling the robot to perform single-leg jumping motion according to the joint control quantity.
2. The method for controlling single - leg jumping movement according to claim 1, characterized in that, The determining the comprehensive optimization objective function corresponding to the single-leg jumping task equation according to the first optimization objective function and the second optimization objective function includes: Performing weighted summation on the first optimization objective function and the second optimization objective function to obtain the comprehensive optimization objective function.
3. The method for controlling single - leg jumping movement according to any one of claims 1 to 2, characterized in that, The stability constraint conditions include: dynamic consistency constraint conditions, friction cone constraint conditions, joint torque constraint conditions, and zero moment point constraint conditions.
4. A device for controlling single - leg jumping movement, characterized in that, Including: A position planning module, configured to perform phased task planning on the single-leg jumping task of the robot according to each preset motion control phase to obtain the centroid position planning result and the swing foot position planning result of the robot; wherein, each of the motion control phases includes: a first phase of controlling the robot to move the centroid above the supporting leg, a second phase of controlling the robot to lift the swing leg, a third phase of controlling the robot to take off, and a fourth phase of controlling the robot to take off and land. An expected acceleration calculation module, configured to obtain the centroid position measurement result and the swing foot position measurement result of the robot; calculate the first expected acceleration of the robot in the workspace according to the centroid position planning result and the centroid position measurement result; calculate the second expected acceleration of the robot in the workspace according to the swing foot position planning result and the swing foot position measurement result. A single-leg hopping task equation determination module, configured to determine a first task equation of the robot according to a preset robot kinematic relationship and the first desired acceleration: A1X = b1, where A1 and b1 are respectively the values of A and b corresponding to when taking the first desired acceleration; determine a second task equation of the robot according to the robot kinematic relationship and the second desired acceleration: A2X = b2, where A2 and b2 are respectively the values of A and b corresponding to when taking the second desired acceleration; q is the full-body generalized coordinate of the robot, F s is the sum of the torques and forces exerted by the ground on the left and right feet of the robot respectively, x ref is the desired position of the robot, J l (q) is a component of a preset Jacobian matrix; The quadratic programming solving module is used to determine a first optimization objective function corresponding to the first task equation; determine a second optimization objective function corresponding to the second task equation; determine a comprehensive optimization objective function corresponding to the single-leg hopping task equation according to the first optimization objective function and the second optimization objective function; perform quadratic programming solution on the comprehensive optimization objective function according to preset stability constraint conditions to obtain the joint control quantity of the robot; The single-leg hopping motion control module is used to control the robot to perform single-leg hopping motion according to the joint control quantity.
5. A computer - readable storage medium, the computer - readable storage medium stores a computer program, characterized in that, When the computer program is executed by a processor, the steps of the single-leg hopping motion control method according to any one of claims 1 to 3 are implemented.
6. A robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, the steps of the single-leg hopping motion control method according to any one of claims 1 to 3 are implemented.
Citation Information
Patent Citations
Cooperative control method and device for multi-redundancy-mechanical-arm system based on sudden adding degree
CN106926238A
Stable walking control method and device for biped robot, equipment and readable medium
CN111674486A