Dynamic running motion online planning method for humanoid robot
By employing nonlinear programming and iterative optimization methods, the problems of smooth transition of the center of mass trajectory and determination of the landing point in the running motion of humanoid robots were solved, realizing online planning and accurate tracking of the desired speed, thus improving the dynamic motion capability of humanoid robots.
Patent Information
- Application Number
- CN202310146916.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-09
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2043-02-09
AI Technical Summary
Existing methods for planning running motion in humanoid robots struggle to achieve online planning and accurate tracking of desired speeds, especially during dynamic movements, particularly when switching from a two-legged to a one-legged stance, where the smooth transition of the center of mass trajectory and the determination of the landing point present challenges.
A nonlinear programming optimization method is used to plan the desired ZMP trajectory during state transition. Combined with iterative optimization, a suitable landing point is determined. Through a variable-height inverted pendulum model and linearization of the dynamic equations, the online real-time solution of the center of mass trajectory and accurate tracking of the desired velocity are achieved.
It achieves smooth transition of the center of mass trajectory and accurate tracking of the desired speed during the dynamic running process of humanoid robots, improves the dynamic motion capability of robots, and enables them to accurately follow the desired speed in online planning.
Smart Images

Figure CN116088554B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of motion planning technology for humanoid robots, specifically relating to an online planning method for dynamic running motion of humanoid robots. Background Technology
[0002] Humanoid robots possess human-like physical characteristics and can traverse various complex terrains using two legs without altering the human environment. They can directly utilize human tools to assist or replace humans in completing designated tasks, showing broad application prospects in disaster relief and hazardous environment operations. Currently, most humanoid robots have achieved stable bipedal walking capabilities, but more dynamic movements, such as running, remain an open research question. Running offers greater speed than walking, and the robot's dynamics are also more complex, making online planning of running movements extremely challenging.
[0003] Existing methods for planning running motion in humanoid robots can be broadly categorized into two types: one type first gives the desired landing position, calculates the corresponding center-of-mass trajectory using the dynamic equations of a simplified model, and then solves the whole-body motion trajectory using whole-body kinematics. While this type of method can plan online in real time, it is difficult to accurately track the desired speed. The other type involves constructing a whole-body dynamic model of the robot and using nonlinear trajectory optimization methods to optimize the running trajectory offline. This type of method can obtain a motion trajectory that approximates the robot's whole-body dynamic characteristics, but due to the complexity of the optimization problem, the large number of variables, and the large amount of computation, it is difficult to achieve online planning. Summary of the Invention
[0004] To address the shortcomings of existing technologies, this invention provides an online planning method for dynamic running motion of humanoid robots. This method can not only accurately follow the desired speed, but also realize online planning of the entire process of starting to run, running at variable speed, and ending to run, significantly improving the dynamic motion capability of humanoid robots.
[0005] The present invention achieves the above-mentioned technical objectives through the following technical means.
[0006] Online planning method for dynamic running motion of humanoid robots:
[0007] (1) At the start of the running motion, the humanoid robot transitions from a stationary bipedal support state to a periodic running motion state with a single-leg support state, denoted as state transition ①. The complete state transition process includes a bipedal support period and the first single-leg support period. The planned trajectory of the center of mass height during this process is as follows:
[0008]
[0009] Where: the total duration of state transition is T+T supT represents the duration of the two-footed support phase. sup The duration of the first single-leg support phase. Let t be the centroid height trajectory during the state transition process, and t be any moment during the state transition process. Let q represent the equation for solving the coefficients of a 6th-degree polynomial, where q = 0, 1, ..., 6; The height of the center of gravity during the two-foot support phase, z low z is the minimum squatting height of the center of mass during the single-leg support phase. to The altitude of the center of gravity at the moment of takeoff. Let g be the velocity of the center of mass at the moment of takeoff, and g be the acceleration due to gravity, where g = 9.81 m / s². 2 ;
[0010] The height of the centroid during the state transition process and its acceleration The constructed nonlinear programming problem is as follows:
[0011]
[0012]
[0013] Solving for the optimization variable ΔT using a nonlinear programming solver i , The optimal solution is obtained, and then the coefficients b of the piecewise cubic polynomial are obtained. 1,j b 2,j ,…,b N,j Substitute it into y sw1 In (t), the ZMP trajectory during the state transition process is obtained;
[0014] Where: ΔT i Let be the duration of the i-th segment of the ZMP trajectory during the double-foot support period T. The ZMP position at the segmentation point. Let y be the velocity of ZMP at the segmentation point. sw1 (t) represents the ZMP trajectory along the y-axis during state transition ①, y0 represents the ZMP component along the y-axis at the start of the two-foot support phase of state transition ①, and y1 represents the ZMP component along the y-axis at the end of the two-foot support phase of state transition ①. 1,j b 2,j ,…,b N,j Let Γ(·) be the coefficients of the cubic polynomial planned for each segment of the ZMP trajectory during state transition ①, Γ(·) be the function for calculating the coefficients of the cubic polynomial, and Ξ be a tridiagonal matrix. The centroid trajectory of the state transition process ①. The position of the centroid at the initial moment of state transition ① Let be the initial desired centroid position along the y-axis. The velocity of the center of mass at the initial moment of state transition ① The velocity of the center of mass at the end of state transition ① The reference center-of-gravity velocity at the moment of takeoff during the first single-leg support phase;
[0015] At the end of the running motion, the humanoid robot switches from a single-leg running state to a two-legged running state, denoted as state transition ③. The complete state transition process includes the last single-legged support phase and the two-legged support phase. The planned trajectory of the center of mass height during this process is as follows:
[0016]
[0017] The constructed nonlinear programming problem is as follows:
[0018]
[0019]
[0020] Then, the optimal solution of the optimization variables is determined, and the ZMP trajectory of the state switching process ③ is determined;
[0021] Where: y sw3 (t) represents the ZMP trajectory along the y-axis during state transition ③, y2 is the ZMP component along the y-axis at the start of the double-foot support phase of state transition ③, and y3 is the ZMP component along the y-axis at the end of the double-foot support phase of state transition ③; d 1,j d 2,j ,…,d N,j For each segment of the ZMP trajectory planning during state transition ③, the coefficients are the cubic polynomials. The centroid trajectory for state transition ③. The expected position of the centroid at the start of state transition ③. The reference centroid velocity at the start of state transition ③;
[0022] (2) During the acceleration / deceleration transition in the periodic running motion, denoted as state transition ②, a suitable landing point is determined by iterative optimization to achieve accurate tracking of the desired speed.
[0023] When the robot receives the desired speed command, it arbitrarily assigns an initial landing point for the next support phase, and obtains the ZMP trajectory for the next running gait cycle. Then, it utilizes... Solve for the corresponding centroid locus c xCompare the centroid position errors at the centroid trajectory connection points. If the absolute value of the error is not greater than the set tolerance, the initially given landing point is the target landing point. If the absolute value of the error is greater than the tolerance, the error is added as feedback to the initially given landing point to update it. The updated landing point is then used as the initial landing point. This process is repeated to obtain a suitable target landing point position. This is the modified tridiagonal matrix. This is the modified ZMP trajectory.
[0024] A further technical solution is that the modified tridiagonal matrix is:
[0025]
[0026] Among them: elements element Let the centroid height be the height of the i-th control cycle. Let dt be the acceleration at the height of the centroid during the i-th control cycle, and dt be the control cycle.
[0027] A further technical solution is that the modified ZMP trajectory is obtained by modifying the first and last elements of the ZMP trajectory of the next running gait cycle to... The remaining elements remain unchanged, and in: The velocity of the center of mass at the moment of takeoff. Let dt be the center-of-mass velocity at the next support phase takeoff moment, and dt be the control period. This is the centroid trajectory for the next gait cycle. The subscripts 1, 0, n, and n-1 indicate the centroid position for the corresponding control cycle.
[0028] A further technical solution, wherein a q satisfy:
[0029]
[0030] Where: z td The height of the center of gravity at the moment of landing. For the speed of the center of mass at the moment of landing, For the acceleration of the center of mass at the moment of landing, This refers to the acceleration of the center of mass at the moment of takeoff.
[0031] A further technical solution is that the change in the center of mass during the periodic running process of the humanoid robot satisfies the variable-height inverted pendulum model, and the dynamic equation of the variable-height inverted pendulum model is:
[0032]
[0033] Where: p is the position of ZMP in the world coordinate system, and c is the position of CoM in the world coordinate system. Let CoM be the acceleration in the world coordinate system, and m be the total mass of the robot. Let c be the rate of change of angular momentum about the center of mass. z This indicates the height of CoM in the world coordinate system. This represents the acceleration of CoM in the vertical direction in the world coordinate system. It is a two-dimensional rotation matrix, where the superscripts x and y represent the components on the corresponding coordinate axes in the world coordinate system.
[0034] A further technical solution is that the linearized form of the dynamic equation is:
[0035]
[0036] The beneficial effects of this invention are as follows:
[0037] (1) In the process of switching between the bipedal support state and the periodic running state of the humanoid robot, the present invention uses nonlinear programming optimization to obtain the desired ZMP trajectory, which can achieve a smooth transition of the center of mass trajectory when the motion state is switched.
[0038] (2) In the periodic running motion of the humanoid robot, the present invention determines the appropriate landing point through iterative optimization calculation, which can achieve accurate tracking of the desired speed. Attached Figure Description
[0039] Figure 1 This is a schematic diagram of the height-inverted pendulum model described in this invention;
[0040] Figure 2 This is a schematic diagram illustrating the motion state switching of the humanoid robot during its running process as described in this invention.
[0041] Figure 3(a) is a front view of the motion switching process described in this invention;
[0042] Figure 3(b) is the y-axis expected ZMP trajectory optimization diagram of the present invention;
[0043] Figure 4 This is a schematic diagram illustrating the tracking of the desired speed through iterative optimization of the landing point as described in this invention.
[0044] Figure 5 This is a flowchart of the online iterative optimization process for the landing point described in this invention. Detailed Implementation
[0045] The present invention will be further described below with reference to the accompanying drawings and specific embodiments, but the scope of protection of the present invention is not limited thereto.
[0046] I. Establishment of a variable-height inverted pendulum model and planning of vertical center-of-mass motion
[0047] Unlike the linear inverted pendulum model used for walking, the robot needs vertical undulating motion to provide the contact force required to enter the airborne phase when running. Therefore, a linear inverted pendulum with a fixed center of mass height cannot be used for planning. The main motion characteristics of the humanoid robot during running are extracted, and the complex robot model is simplified. A variable-height inverted pendulum model is used to approximate the change in the center of mass during the robot's running motion. The variable-height inverted pendulum model is as follows: Figure 1 As shown.
[0048] When a humanoid robot runs on flat ground, the ZMP (Zero Moment Point, the point where the net horizontal torque on the robot's foot is zero; if this point lies within the supporting polygon formed by the robot's foot and the ground contact points, the robot is considered stable and will not tip over) can be used to replace the contact force to drive the center of mass (CoM). Therefore, the dynamic equation of the variable-height inverted pendulum model can be expressed as:
[0049]
[0050] Where p is the position of ZMP in the world coordinate system, the superscripts x and y represent the components on the corresponding coordinate axes in the world coordinate system, and the world coordinate system is defined as forward as the positive direction of the x-axis, left as the positive direction of the y-axis, and upward as the positive direction of the z-axis. c is the position of CoM in the world coordinate system. Let g be the acceleration of CoM in the world coordinate system, g be the acceleration due to gravity, and m be the total mass of the robot. Let c be the rate of change of angular momentum about the center of mass. z This indicates the height of CoM in the world coordinate system. This represents the acceleration of CoM in the vertical direction in the world coordinate system. It is a two-dimensional rotation matrix, and
[0051] Considering the rate of change of angular momentum of the robot around its center of mass during running... Compared to the position c of the center of mass and its acceleration The change is negligible, therefore it can be made This style (1) can be simplified to the following form:
[0052]
[0053] Note that in equation (2) The coefficient includes the centroid height c. z The changes in c, and zHowever, it is a time variable, so equation (2) is still a nonlinear time-varying equation, which is difficult to solve in real time.
[0054] Therefore, this invention does not directly solve the nonlinear time-varying equation, but decouples the motion planning of the centroid in the vertical and horizontal directions. By linearizing equation (2), a linear equation is obtained, and the online real-time solution of the centroid trajectory is realized.
[0055] First, the motion of the center of mass in the vertical direction is planned. The robot's running motion can be viewed as a periodic motion, with one cycle containing two phases: a single-leg support phase and a take-off phase, such as... Figure 1 As shown. Since the robot is only subject to gravity during the takeoff phase and is in free fall, the change in the center of mass height during the takeoff phase depends only on the center of mass height z at the moment of takeoff (to, takeoff). to ,speed and the time T of the airborne phase fly The change in the center of mass height during the levitation phase is shown in the following formula:
[0056]
[0057] Therefore, this invention mainly plans the change in center of mass height during the single-leg support phase, based on the support phase time T within one running cycle. sup The height of the center of mass z at the moment of landing (td, touch down) td ,speed acceleration The height of the center of mass at takeoff (z) to ,speed acceleration And the minimum squatting height z of the supporting phase center of mass low The motion of the center of mass in the vertical direction of the single-leg support phase is planned using a 6th-order polynomial, as shown in the following equation:
[0058]
[0059]
[0060]
[0061] When T sup z td , z low z to , It is known that the coefficients a0, a1, a2, a3, a4, a5, and a6 in equation (4) can be obtained using equation (6), thus enabling the planning of the vertical motion of the centroid of a single-leg support phase.
[0062] Taking the planning of the center of mass height for one motion cycle as an example, for simplicity, we can assume that the center of mass height at the landing time and the takeoff time are equal (z). td =z to ≡constant), while the velocity direction is opposite, so according to the takeoff phase time T fly The center-of-mass velocity at takeoff and landing can be obtained:
[0063]
[0064] The landing and takeoff times correspond to the end of the previous takeoff phase and the beginning of the next takeoff phase, respectively; therefore, the accelerations are both -g and z. low It is a manually adjustable quantity that mainly affects the change in the vertical contact force exerted by the ground on the robot in the single-legged phase.
[0065] When the robot switches from a bipedal support state to a periodic running state (start of running) and from a periodic running state to a bipedal support state (end of running), the centroid height planning for the single-leg support phase can be done in a similar way. It should be noted that the values of velocity and acceleration at the start and end times are different.
[0066] II. Linearization of the dynamic equations and solution of the horizontal centroid trajectory
[0067] After obtaining the motion of the center of mass in the vertical direction using the above method, c in equation (2) can be... z and As known quantities, equation (2) is linearized. Taking the x-axis direction as an example, the y-axis direction is similar. Let the control period of the humanoid robot be dt. Using the Back Euler Method, the acceleration of the centroid in the x-axis direction during the i-th control period (i*dt) is... It can be linearly approximated by the following formula:
[0068]
[0069] in, and Let represent the centroid velocities along the x-axis in the i-th and (i-1)-th control cycles, respectively. Using the Euler method, these two can be expressed as:
[0070]
[0071] Combining equations (8) and (9), we get:
[0072]
[0073] From equation (10), it can be seen that the centroid acceleration in the x-axis direction of the i-th control cycle can be linearly approximated by the centroid positions of the three adjacent control cycles (i-1, i, and i+1). Using equation (10) and combining it with equation (2), the approximate dynamic equation of the centroid in the x-axis direction can be obtained:
[0074]
[0075] in,
[0076] From equation (11), it can be seen that the relationship between ZMP and CoM can be expressed linearly by the following equation:
[0077] Ξc x =p x (12)
[0078] The matrix Ξ is a tridiagonal matrix, where all elements are 0 except for the main diagonal and the two adjacent secondary diagonals. The non-zero elements on the three diagonals are determined by... Composition; c x and p x These are the centroid trajectory and the ZMP trajectory, respectively, typically p x The ZMP trajectory can be predetermined. Taking a single-leg support phase as an example, the center point of the support leg can be selected as the ZMP trajectory. Using equation (12) and the Sherman-Morrison formula for solving the tridiagonal linear equations, the center of mass trajectory c can be determined. x Achieve rapid solution.
[0079] When the robot is in the airborne phase, since it is not subjected to any external forces in the horizontal direction, according to Newton's second law, the robot moves in uniform linear motion in the horizontal direction. There is no contact at this time, therefore the concept of ZMP (Zero Motion Per Minute) does not exist. Thus, in the airborne phase, we can assume:
[0080]
[0081] The solution for the centroid's trajectory along the y-axis is similar to that along the x-axis.
[0082] III. Optimization of smoothing the center of mass trajectory during motion state transitions and iterative optimization of the landing point for following the desired velocity.
[0083] like Figure 2 As shown, the complete running process mainly involves switching between three running states: ① starting the running process (switching from a two-legged support state to a one-legged support state in a cyclical running state), ② acceleration and deceleration (switching between acceleration and deceleration in a cyclical running process), and ③ ending the running process (switching from a one-legged support state to a two-legged support state).
[0084] Among them, motion state switching ① and ③ can be classified into one category, and the difficulty lies in how to plan the center of mass trajectory to achieve smooth state switching; the difficulty of state switching ② lies in how to determine the appropriate landing point to achieve accurate tracking of the desired speed.
[0085] To address the aforementioned challenges, this invention, based on the proposed vertical centroid motion planning and horizontal centroid trajectory linear solution methods, proposes a method using nonlinear programming to optimize and obtain the desired ZMP trajectory during state transitions (① and ③), achieving a smooth transition of the centroid trajectory during motion state changes. For the challenge of state transition (②), an iterative optimization calculation method for the landing point is proposed, enabling accurate tracking of the desired motion speed. The two methods work together to complete the motion planning for the entire running process.
[0086] (1) Optimization of ZMP trajectory using the state switching process of nonlinear programming
[0087] The process of establishing this optimization problem is illustrated below using state transition ① as an example. State transition ③ adopts a similar approach.
[0088] First, when the robot switches from a stationary two-legged support state to a one-legged support running state, directly lifting one leg can easily cause the robot to tilt to the side of the lifted leg, affecting the robot's overall stability. Therefore, before switching to the one-legged support state, the robot needs to move its center of mass towards the supporting leg, thus switching to a periodic running motion state, as shown in Figure 3(a). The main challenge is how to plan a reasonable and smooth transition trajectory for the center of mass. As shown in Equation (12), the center of mass motion is related to the ZMP trajectory, so this problem can be transformed into the problem of planning the expected ZMP trajectory during the state transition process.
[0089] Taking the ZMP trajectory planning in the left-right direction (y-axis) as an example, as shown in Figure 3(b), let the duration of the double-leg support phase be T. At the beginning, ZMP is the center point of the double-leg support polygon, and its component on the y-axis is y0. At the end, ZMP is the center point of the supporting foot, and its component on the y-axis is y1. The entire state transition process includes the double-leg support phase and the first single-leg support phase. To plan the ZMP trajectory of the state transition process, the velocity of ZMP is introduced here, i.e. Let's assume the ZMP velocity at the beginning and end of the double-leg support phase is 0. Then, the ZMP position and velocity at the beginning and end are (y0,0) and (y1,0), respectively. This invention segments the ZMP trajectory within the double-leg support phase T into N segments. For simplicity, let N = 2, as shown in Figure 3(b). The duration of each segment is ΔT. i(i∈{1,2,...,N}), and the ZMP trajectory of each segment is planned using a cubic polynomial, taking the position and velocity of the ZMP at the segmentation point. (k∈{1,2,...,N-1}) is used as the optimization variable, and ΔT is also used to make the ZMP trajectory more reasonable. i As an optimization variable, let the duration of the first single-leg support phase be T. sup The velocity of the center of mass at the moment of takeoff at the end of the support phase is set as The center of gravity height remains constant during the two-foot support phase, let's call it... Single-leg support phase (t∈(T,T+T)) sup The centroid height is planned using equations (4), (5), and (6), and the resulting centroid height trajectory for the state transition process is as follows:
[0090]
[0091] The total duration of state transition is T+T. sup T represents the duration of the two-footed support phase. sup The duration of the first single-leg support phase is t, where t is any moment during the state transition process; (q=0,1,…,6) represents the equation for solving the coefficients of a 6th-degree polynomial using equations (4), (5), and (6). Its general form is: The centroid height during the state transition process is obtained above. And the second derivative, that is, acceleration. Combine equation (12) to construct a nonlinear programming problem. The constructed nonlinear programming problem takes the form shown in the following equation:
[0092]
[0093]
[0094] Where, ΔT i , To optimize the variables, no cost function is specified for this optimization problem. The optimal solution is considered found when the optimization variables satisfy the above constraints. The first term of the constraint, y... sw1 (t) is [0, T+T] sup The ZMP trajectory along the inner y-axis, the second term being the coefficient b of the piecewise cubic polynomial. 1,j b 2,j ,…,b N,j The solution is related to the optimization variables. Γ(·) is a function for calculating the coefficients of a cubic polynomial, similar to the function f(·) in equation (14). The third term is the total time constraint for the segment, and the fourth term corresponds to equation (12). Given the known centroid height trajectory, the centroid trajectory is calculated based on the ZMP trajectory obtained from the segmented planning. The last item is the centroid position, velocity constraint, and T+T at the initial moment of state transition. sup Momental centroid velocity constraint.
[0095] Since this is a nonlinear programming problem, an initial guess value ΔT needs to be given first. i guess , Since there are only 3N-2 (2≤N≤5) optimization variables, a nonlinear programming solver (such as Snopt, IPOPT, etc.) can be used to quickly optimize and find the optimal solution that satisfies the above constraints: ΔT i optim , The first term y(t) of the constraint is determined by the optimal solution, which is to determine the ZMP trajectory during the state transition process.
[0096] The optimization design for state transition ③ is similar, specifically:
[0097] When a humanoid robot transitions from a single-legged cyclical motion state to a two-legged state, the transition process includes a final single-legged phase and a two-legged phase. The trajectory of the center of mass height during this transition process is as follows:
[0098]
[0099] Among them, T sup The duration of the last single-leg support phase.
[0100] The centroid height obtained from the above state transition process and acceleration The constructed nonlinear programming problem is as follows:
[0101]
[0102]
[0103] Then determine the optimization variable ΔT i , The optimal solution, then by y sw3 (t) Determine the ZMP trajectory during the state transition process;
[0104] Where: d 1,j d 2,j ,…,d N,j The coefficients of the cubic polynomial for segmented ZMP trajectory planning are y2, which is the ZMP component on the y-axis at the beginning of the double-foot support phase during the end of the running motion, and y3 is the ZMP component on the y-axis at the end of the double-foot support phase during the end of the running motion.
[0105] (2) Iterative optimization method for expected motion speed following landing point
[0106] After completing the motion state transition ①, the humanoid robot enters a periodic running motion state. The periodic gait mainly consists of a single-leg support phase and a take-off phase, where the single-leg support phase includes a left-leg support phase and a right-leg support phase. During this periodic motion state, the robot can accelerate or decelerate by issuing forward speed commands through online interaction. This invention proposes an iterative optimization method capable of calculating the next foot placement position online, ensuring that the forward speed entering the take-off phase after one step equals the desired speed, such as... Figure 4 As shown.
[0107] For simplicity, we assume the duration of the single-leg support phase and the take-off phase in a periodic gait is fixed, thus the height of the center of mass varies periodically. Similarly, the center of mass oscillates periodically in the left-right direction. Therefore, the key to optimizing the foot placement lies in accurately tracking the desired speed in the forward direction and smoothly connecting the trajectories of the center of mass between gait cycles.
[0108] Let the current support state's landing point be... The position and velocity of the center of mass at takeoff are The landing point of the next support phase is unknown, let's assume it is... The velocity of the center of mass at the next support phase takeoff moment is in This also refers to the desired movement speed. The purpose of landing point optimization is to obtain... The specific location can also be considered as the specific location of ZMP in the x-direction, so that the humanoid robot can reach the desired speed at the take-off moment of the next gait cycle, and can also ensure that the center of mass trajectory of the current gait cycle is smoothly connected with the center of mass trajectory of the previous gait cycle.
[0109] Based on the above requirements, Equation (12) is extended. In order not to affect its linear solution method, only the first and last rows of matrix Ξ are modified and replaced with the centroid velocity constraints at the beginning and end of the next gait cycle; as shown in the following equation:
[0110]
[0111]
[0112] The modified Ξ is: The form is:
[0113]
[0114] Accordingly, the first and last elements of the ZMP trajectory are modified to The remaining elements remain unchanged. Therefore, equation (12) is transformed into the following form:
[0115]
[0116] in This represents the modified ZMP trajectory.
[0117] When the robot receives the desired movement speed command, it first arbitrarily assigns the initial landing point of the next support phase (e.g., any value near the current landing point). Based on this, it obtains the ZMP trajectory for the next running gait cycle. It then uses equation (21) to solve for the corresponding centroid trajectory. It compares the centroid position error at the centroid trajectory connection point (the end time of the current gait cycle and the beginning time of the next gait cycle). If the absolute value of the centroid error is not greater than the set tolerance (tol, tolerance), for example, 1e-6, then the initially assigned landing point is the target landing point. However, if the absolute value of the centroid error is greater than the tolerance, then the initially assigned landing point is not the target landing point. In this case, the centroid error is added as a feedback quantity to the initially assigned landing point to update the initially assigned landing point. The updated landing point is then used as the initial landing point. The above process is repeated. After several iterations, a suitable target landing point position can be obtained. The flowchart of the target landing point iterative optimization is as follows: Figure 5 As shown.
[0118] Since the desired motion speed is used as an equality constraint in equation (21) (equation (19)), the takeoff speed of the centroid trajectory of the next gait cycle is equal to the desired motion speed, thus achieving accurate tracking of the desired motion speed.
[0119] Once the target landing point is obtained, the trajectory of the swinging foot can be obtained using the aforementioned sixth-order polynomial interpolation. Combining the obtained center-of-mass trajectory, the motion sequence of each joint angle of the humanoid robot during running is obtained by solving inverse kinematics.
[0120] The embodiments described above are preferred embodiments of the present invention, but the present invention is not limited to the above embodiments. Any obvious improvements, substitutions or modifications that can be made by those skilled in the art without departing from the essence of the present invention shall fall within the protection scope of the present invention.
Claims
1. A method for online planning of dynamic running motion of a humanoid robot, characterized in that: (1) At the beginning of the running motion, the humanoid robot switches from the state of static double support to the state of periodic running motion with single support, denoted as state switching ①, the complete state switching process includes a double support period and a first single support period, and the planned ZMP trajectory is: Wherein: the total length of state switching is T+T sup , T is the length of the double foot support period, T sup is the length of the first single foot support period, is the center of mass height trajectory of the state switching process, t is any time in the state switching process, represents the equation for solving the coefficients of the 6th order polynomial equation, and q=0,1,…,6; is the double foot support period center of mass height, z low is the single foot support period center of mass minimum squat height, z to is the take-off time center of mass height, is the take-off time center of mass velocity, g is the acceleration of gravity, and g=9.81m / s 2 ; The height of the center of mass during the state switching process and its acceleration The nonlinear programming problem constructed is: Solving the optimization variable ΔT with a nonlinear programming solver i , the optimal solution of the optimization problem, and then the coefficients b 1,j , b 2,j , …, b N,j of the piecewise cubic polynomial are obtained, which are substituted into y sw1 (t) to obtain the ZMP trajectory during the state switching process; wherein: ΔT i is the length of the i-th segment of the ZMP trajectory in the double support phase T, is the position of the ZMP at the segment point, is the velocity of the ZMP at the segment point, y sw1 is the ZMP trajectory in the y-axis direction during the state switching 1 process, y0 is the component of the ZMP on the y-axis at the beginning of the state switching 1 double support phase, y1 is the component of the ZMP on the y-axis at the end of the state switching 1 double support phase, b 1,j , b 2,j , …, b N,j are the coefficients of the cubic polynomial for the ZMP trajectory planning of each segment during the state switching 1 process, Γ(·) is a function for calculating the coefficients of the cubic polynomial, Ξ is a tri-diagonal matrix, is the center of mass trajectory during the state switching 1 process, is the initial position of the center of mass at the beginning of the state switching 1, is the initial expected position of the center of mass in the y-axis direction, is the initial velocity of the center of mass at the beginning of the state switching 1, is the velocity of the center of mass at the end of the state switching 1, is the reference center of mass velocity at the take-off time of the first single support phase; At the end of the running motion, the humanoid robot switches from the state of periodic running motion with single support to the state of double support, denoted as state switching ③, the complete state switching process includes a last single support period and a double support period, and the planned ZMP trajectory is: The constructed nonlinear programming problem is: Then the optimal solution of the optimization variable is determined, and the ZMP trajectory of state switching process ③ is determined; wherein: y sw3 (t) is the ZMP trajectory in y-axis direction of the state transition ③ process, y2 is the component of the ZMP on the y-axis at the beginning of the double support phase of the state transition ③, y3 is the component of the ZMP on the y-axis at the end of the double support phase of the state transition ③; d 1,j , d 2,j , …, d N,j are the coefficients of the 3rd order polynomial of the ZMP trajectory planning of each segment in the state transition ③ process, is the center of mass trajectory of the state transition ③ process, is the desired center of mass position at the beginning of the state transition ③, is the reference center of mass velocity at the beginning of the state transition ③. (2) In the acceleration / deceleration switching process of the periodic running motion, denoted as state switching ②, the appropriate landing point is determined by iterative optimization to accurately track the expected speed When the robot receives the desired velocity command, the initial foot placement of any given next support phase is determined, thereby obtaining the ZMP trajectory of the next running gait cycle, using solving the corresponding centroid trajectory c x ; comparing the centroid position error of the centroid trajectory junction point, if the absolute value of the error is not greater than the set tolerance, then the initially given foot placement is the target foot placement; if the absolute value of the error is greater than the tolerance, the error is added to the initially given foot placement as a feedback, the initially given foot placement is updated, the updated foot placement is taken as the initial foot placement, and the above process is repeated to obtain a suitable target foot placement position; wherein is the modified tri-diagonal matrix, is the modified ZMP trajectory.
2. The online planning method of dynamic running motion of a humanoid robot according to claim 1, wherein, The modified three-diagonal matrix is: wherein: element element is the height of the center of mass for the i-th control period, is the acceleration of the height of the center of mass for the i-th control period, and dt is the control period.
3. The online planning method of dynamic running motion of a humanoid robot according to claim 1, wherein, The modified ZMP trajectory is to modify the first and last elements of the ZMP trajectory of the next running gait cycle as The remaining elements remain unchanged, and Wherein: is the center of mass velocity at the take-off time of the current single support phase, is the center of mass velocity at the take-off time of the next single support phase, dt is the control period, is the center of mass trajectory of the next gait cycle, subscripts 1, 0, n, n-1 represent the center of mass position corresponding to the control period.
4. The online planning method of dynamic running motion of a humanoid robot according to claim 1, wherein, The a q satisfies: where: z td is the height of the center of mass at the moment of landing, is the velocity of the center of mass at the moment of landing, is the acceleration of the center of mass at the moment of landing, is the acceleration of the center of mass at the moment of takeoff.
5. The online planning method of dynamic running motion of a humanoid robot according to claim 2, wherein, The change of the center of mass of the humanoid robot in the periodic running process satisfies the variable height inverted pendulum model, and the dynamic equation of the variable height inverted pendulum model is: where: p is the position of ZMP in the world coordinate system, c is the position of CoM in the world coordinate system, is the acceleration of CoM in the world coordinate system, m is the total mass of the robot, is the rate of change of angular momentum around the center of mass, c z denotes the height of CoM in the world coordinate system, denotes the acceleration of CoM in the world coordinate system along the vertical direction, is a two-dimensional rotation matrix, and the superscripts x, y denote the components on the corresponding coordinate axes in the world coordinate system.
6. The online planning method of dynamic running motion of a humanoid robot according to claim 5, wherein, The linearized form of the dynamic equation is:
Citation Information
Patent Citations
Robot walking control method based on linear foothold compensator
CN104318071A
Optimized control method of humanoid robot walking track
CN104898672A