(26 intermediate revisions by 3 users not shown)
Line 13: Line 13:
 
<span style="text-align: center; font-size: 75%;"><sup>2</sup>Xi’an Founder Robot Co., Ltd, Xi’an 710072, China)</span></div>
 
<span style="text-align: center; font-size: 75%;"><sup>2</sup>Xi’an Founder Robot Co., Ltd, Xi’an 710072, China)</span></div>
 
-->
 
-->
 +
==Abstract==
  
<span style="text-align: center; font-size: 75%;">'''Abstract''': The energy optimal motion planning of a hopping robot with three links is investigated in the flight phase. Firstly, the conservation equation of angular momentum of the hopping robot in the flight phase is established which is a nonholonomic constraint. Then the energy consumption of the robot in the flight phase is selected as the optimization goal. Given the initial and terminal positions, the Gaussian pseudospectrum method is used to solve the optimal control problem. The simulation results show that the initial angular momentum has a great influence on the performance of the hopping robot. With the</span> <span style="text-align: center; font-size: 75%;">zero initial angular momentum, although the flight time can be selected arbitrarily, the greater the flight time, the smaller the energy consumption, the force required by the robot is greater. Thus, it is necessary to select an appropriate value.</span>
+
The energy optimal motion planning of a hopping robot with three links is investigated in the flight phase. Firstly, the conservation equation of angular momentum of the hopping robot in the flight phase is established which is a nonholonomic constraint. Then the energy consumption of the robot in the flight phase is selected as the optimization goal. Given the initial and terminal positions, the Gaussian pseudospectrum method is used to solve the optimal control problem. The simulation results show that the initial angular momentum has a great influence on the performance of the hopping robot. With the zero initial angular momentum, although the flight time can be selected arbitrarily, the greater the flight time, the smaller the energy consumption, the force required by the robot is greater. Thus, it is necessary to select an appropriate value.
  
'''Keywords:''' hopping robot , flight phase, nonholonomic constraint, optimal motion planning
+
'''Keywords''': Hopping robot, flight phase, nonholonomic constraint, optimal motion planning
  
===1 Introduction===
+
==1. Introduction==
  
 
Compared with wheeled or tracked robots, hopping robots move in a jumping manner and are capable of crossing obstacles which are several times their own size. They use discrete landing points to make contact with the ground and have strong adaptability to complex and unstructured terrain. The study of hopping robots has become a research focus in recent years [1]. Among them, Professor Raibert’s team has made groundbreaking research in the field of hopping robots, and their designed model of a single legged telescopic hopping robot provides a reference for subsequent research [2-6].
 
Compared with wheeled or tracked robots, hopping robots move in a jumping manner and are capable of crossing obstacles which are several times their own size. They use discrete landing points to make contact with the ground and have strong adaptability to complex and unstructured terrain. The study of hopping robots has become a research focus in recent years [1]. Among them, Professor Raibert’s team has made groundbreaking research in the field of hopping robots, and their designed model of a single legged telescopic hopping robot provides a reference for subsequent research [2-6].
  
Before controlling the robot, it is necessary to plan the motion trajectory of the hopping robot [7-11]. Vermeulen et al.[7] planned the robot based on its target motion parameters and used a quintic polynomial to describe the robot’s trajectory. Wu et al. [9]studied hopping robots with flat feet, using Bezier curves to represent the trajectory of active joints, and planning the trajectory based on minimizing driving energy.
+
Before controlling the robot, it is necessary to plan the motion trajectory of the hopping robot [7-11]. Vermeulen [7] planned the robot based on its target motion parameters and used a quintic polynomial to describe the robot’s trajectory. Wu et al. [9]studied hopping robots with flat feet, using Bezier curves to represent the trajectory of active joints, and planning the trajectory based on minimizing driving energy.
  
In the flight phase, the robot foot is released from the ground. At this time, the only external force on the robot is gravity. The robot meets the principle of conservation of angular momentum, and is a nonholonomic constraint system. Due to the non integrability of nonholonomic constraints, its motion planning problem is much more complex than that of general systems. Rehman et al. [12]used a time-varying feedback control strategy to plan the motion during the flight phase. Guo et al. [13] used the direct single shot method to plan the jumping gait of a robot with four links, and its flight phase was almost passive.
+
In the flight phase, the robot foot is released from the ground. At this time, the only external force on the robot is gravity. The robot meets the principle of conservation of angular momentum, and is a nonholonomic constraint system. Due to the non integrability of nonholonomic constraints, its motion planning problem is much more complex than that of general systems. Rehman et al. [12] used a time-varying feedback control strategy to plan the motion during the flight phase. Guo et al. [13] used the direct single shot method to plan the jumping gait of a robot with four links, and its flight phase was almost passive.
  
 
The most commonly used motion planning methods for nonholonomic system can be divided into two categories, namely, the direct method and the indirect method [14-16]. The indirect method is based on the maximum (minimum) value principle, which transforms the optimal motion planning problem into a two-point boundary value problem. Its advantage is that the local optimal solution can be found, but it is difficult to guess the initial solution, and the radius of convergence is small. The direct method uses the parametric method to transform the optimal motion planning problem of the continuous system into a nonholonomic motion planning problem, and then obtains the optimal motion trajectory by solving the non motion planning problem. This method does not need to solve the first order optimal condition, and the radius of convergence is large. Pseudospectral method is the most widely used method among them.
 
The most commonly used motion planning methods for nonholonomic system can be divided into two categories, namely, the direct method and the indirect method [14-16]. The indirect method is based on the maximum (minimum) value principle, which transforms the optimal motion planning problem into a two-point boundary value problem. Its advantage is that the local optimal solution can be found, but it is difficult to guess the initial solution, and the radius of convergence is small. The direct method uses the parametric method to transform the optimal motion planning problem of the continuous system into a nonholonomic motion planning problem, and then obtains the optimal motion trajectory by solving the non motion planning problem. This method does not need to solve the first order optimal condition, and the radius of convergence is large. Pseudospectral method is the most widely used method among them.
Line 30: Line 31:
 
In this paper, the optimal motion planning of a hopping robot with three links in the flight phase is studied. First, the constraint equation of the hopping robot in the flight phase is established according to the conservation principle of angular momentum. Then, the energy optimal motion planning problem is transformed into a nonholonomic motion planning problem by using the Gaussian pseudospectral method, and the problem is solved. The simulation results demonstrate the effectiveness of this method. Because the initial angular momentum has a great impact on the hopping robot. This paper finally analyzes the impact of the initial angular momentum on the hopping performance of the robot.
 
In this paper, the optimal motion planning of a hopping robot with three links in the flight phase is studied. First, the constraint equation of the hopping robot in the flight phase is established according to the conservation principle of angular momentum. Then, the energy optimal motion planning problem is transformed into a nonholonomic motion planning problem by using the Gaussian pseudospectral method, and the problem is solved. The simulation results demonstrate the effectiveness of this method. Because the initial angular momentum has a great impact on the hopping robot. This paper finally analyzes the impact of the initial angular momentum on the hopping performance of the robot.
  
===2 Dynamic Model===
+
==2. Dynamic model==
  
The kinematics model of the robot in the flight phase is shown in Fig.1. The hopping robot consists of three components: body represented by 1, legs denoted by 2, and feet, namely, 3. In order to simplify the analysis, it is assumed that the motion of the hopping robot is limited to the sagittal plane, without considering the lateral motion. Assuming the length of each member of the robot is  <math>l_i\left(i=\mbox{1},\mbox{2},\mbox{3}\right)</math> , the mass is mi, the position of the centroid Si of the body is  <math>AS_i</math> , and  <math>l_{Si}={\alpha }_il_i</math> <math>{\alpha }_i</math> is the proportion factor of each centroid position), and  <math>0<{\alpha }_i<\mbox{1}</math> 。The rotational inertia of each member around the center of mass is  <math>I_i</math> .
+
The kinematics model of the robot in the flight phase is shown in [[#img-1|Figure 1]]. The hopping robot consists of three components: body represented by 1, legs denoted by 2, and feet, namely, 3. In order to simplify the analysis, it is assumed that the motion of the hopping robot is limited to the sagittal plane, without considering the lateral motion. Assuming the length of each member of the robot is  <math>l_i\left(i=1,2,3\right)</math>, the mass is mi, the position of the centroid Si of the body is  <math>AS_i</math>, and  <math>l_{Si}={\alpha }_il_i</math> (<math>{\alpha }_i</math> is the proportion factor of each centroid position), and  <math>0<{\alpha }_i<{1}</math>. The rotational inertia of each member around the center of mass is  <math>I_i</math>.
  
Based on a floating coordinate with hip joint position A as the origin, the dynamic model is established. The generalized coordinate of the robot is  <math>x={\left[{\theta }_0,{\theta }_{\mbox{12}},{\theta }_{\mbox{23}}\right]}^\mbox{T}</math> , where  <math>{\theta }_\mbox{1}</math> is the absolute coordinate of the body,  <math>{\theta }_{\mbox{12}}</math> is the relative angle between the body and legs (counterclockwise is positive), namely,  <math>{\theta }_{\mbox{12}}={\theta }_\mbox{1}-{\theta }_\mbox{2}</math> <math>{\theta }_{\mbox{23}}</math> is the relative angle between the legs and feet, i.e.  <math>{\theta }_{\mbox{23}}={\theta }_\mbox{2}-{\theta }_\mbox{3}</math> .
+
Based on a floating coordinate with hip joint position A as the origin, the dynamic model is established. The generalized coordinate of the robot is  <math>x={\left[{\theta }_0,{\theta }_{12},{\theta }_{{23}}\right]}^{T}</math>, where  <math>{\theta }_{1}</math> is the absolute coordinate of the body,  <math>{\theta }_{{12}}</math> is the relative angle between the body and legs (counterclockwise is positive), namely,  <math>{\theta }_{{12}}={\theta }_{1}-{\theta }_{2}</math>, <math>{\theta }_{{23}}</math> is the relative angle between the legs and feet, i.e.  <math>{\theta }_{{23}}={\theta }_{2}-{\theta }_\mbox{3}</math>.
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
<div id='img-1'></div>
[[Image:Review_582677700696-image13-c.png|162px]] </div>
+
{| class="wikitable" style="margin: 0em auto 0.1em auto;border-collapse: collapse;width:auto;"
 +
|-style="background:white;"
 +
|style="text-align: center;padding:10px;"| [[File:Review_582677700696_5947_ffig1.png]]
 +
|-
 +
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 1'''. Model of robot during flight phase
 +
|}
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
Fig.1 Model of robot during flight phase</div>
 
  
During the flight phase, the influence of air drag and internal friction of the robot on the robot’s hopping motion is ignored, and the robot’s total center of mass moves in a parabolic motion with the gravity. If the flight time is ''T'', then the horizontal and vertical motion of the center of mass can be written as
+
During the flight phase, the influence of air drag and internal friction of the robot on the robot’s hopping motion is ignored, and the robot’s total center of mass moves in a parabolic motion with the gravity. If the flight time is <math display="inline"> T </math>, then the horizontal and vertical motion of the center of mass can be written as
  
 
{| class="formulaSCP" style="width: 100%; text-align: center;"  
 
{| class="formulaSCP" style="width: 100%; text-align: center;"  
Line 49: Line 53:
 
{| style="text-align: center; margin:auto;"  
 
{| style="text-align: center; margin:auto;"  
 
|-
 
|-
| <math>\lbrace \begin{array}{c}
+
| <math>\left\{ \begin{array}{c}
x_c\left(t\right)=x_c^{to}+{\dot{x}}_c^{to}t\mbox{ }\mbox{ }\mbox{ }\mbox{ }\mbox{ }\\
+
x_c\left(t\right)=x_c^{to}+{\dot{x}}_c^{to}t\\
 
y_c\left(t\right)=y_c^{to}+{\dot{y}}_c^{to}t-\frac{1}{2}gt^2
 
y_c\left(t\right)=y_c^{to}+{\dot{y}}_c^{to}t-\frac{1}{2}gt^2
\end{array}</math>
+
\end{array}\right.</math>
 
|}
 
|}
 
| style="width: 5px;text-align: right;white-space: nowrap;" | (1)
 
| style="width: 5px;text-align: right;white-space: nowrap;" | (1)
 
|}
 
|}
  
 
+
where,  <math>x_{c}{}^{{to}}</math> and  <math>y_{c}{}^{{to}}</math> are the horizontal and vertical positions of the robot’s total center of mass at the flight time, respectively.  <math>{\dot{x}}_{c}^{to}</math> and  <math>{\dot{y}}_{c}^{to}</math> are the horizontal and vertical velocities of the total center of mass at the flight time, respectively. The position of the robot at the touchdown is completely determined by the flight conditions.
where,  <math>x_\mbox{c}{}^{\mbox{to}}</math> and  <math>y_\mbox{c}{}^{\mbox{to}}</math> are the horizontal and vertical positions of the robot’s total center of mass at the flight time, respectively.  <math>{\dot{x}}_\mbox{c}^{to}</math> and  <math>{\dot{y}}_\mbox{c}^{to}</math> are the horizontal and vertical velocities of the total center of mass at the flight time, respectively. The position of the robot at the touchdown is completely determined by the flight conditions.
+
  
 
The rotation of the robot can be expressed by the angular momentum of the robot with regarding to the total center of mass. Angular momentum can be calculated as follows:
 
The rotation of the robot can be expressed by the angular momentum of the robot with regarding to the total center of mass. Angular momentum can be calculated as follows:
Line 67: Line 70:
 
{| style="text-align: center; margin:auto;"  
 
{| style="text-align: center; margin:auto;"  
 
|-
 
|-
| <math>{\mu }_G=\sum_{i=1}^3\left({\overline{GG}}_i\times m_i{\overset{\bullet}{\overline{GG}}}_i+\right. </math><math>\left. I_i{\dot{\theta }}_i\right)</math>
+
| <math>{\mu }_G=\sum_{i=1}^3\left({\overline{GG}}_i\times m_i{\overset{\bullet}{\overline{GG}}}_i +
 +
I_i{\dot{\theta }}_i\right)</math>
 
|}
 
|}
 
| style="width: 5px;text-align: right;white-space: nowrap;" | (2)
 
| style="width: 5px;text-align: right;white-space: nowrap;" | (2)
 
|}
 
|}
  
 +
where,  <math>{\overline{GG}}_i=\boldsymbol{r}_i-\boldsymbol{r}_G</math>,  <math>i={1},...,{3}</math>,  <math>r_{i}</math> is the position of the centroid of each component, and  <math>\boldsymbol{r}_G</math> is the position of the total centroid.
  
where,  <math>{\overline{GG}}_i=\boldsymbol{r}_i-\boldsymbol{r}_G</math> ,  <math>i=\mbox{1},...,\mbox{ 3}</math> .  <math>r_\mbox{i}</math> is the position of the centroid of each component. And  <math>\boldsymbol{r}_G</math> is the position of the total centroid.
+
The only external force on the robot in the flight phase is gravity. So the robot meets the principle of conservation of angular momentum about the total center of mass. Supposing that the angular momentum of the robot at the initial moment of the flight phase is <math display="inline">P_{0}</math>, one can obtain:
 
+
The only external force on the robot in the flight phase is gravity. So the robot meets the principle of conservation of angular momentum about the total center of mass. Supposing that the angular momentum of the robot at the initial moment of the flight phase is ''P''<sub>0</sub>, one can obtain:
+
  
 
{| class="formulaSCP" style="width: 100%; text-align: center;"  
 
{| class="formulaSCP" style="width: 100%; text-align: center;"  
Line 83: Line 86:
 
|-
 
|-
 
| <math>\begin{array}{c}
 
| <math>\begin{array}{c}
{\mu }_G={\Delta }_1{\dot{\theta }}_1+{\Delta }_2{\dot{\theta }}_{12}+{\Delta }_3{\dot{\theta }}_{23}\\
+
{\mu }_G={\Delta }_1{\dot{\theta }}_1+{\Delta }_2{\dot{\theta }}_{12}+{\Delta }_3{\dot{\theta }}_{23} =P_0
=P_0
+
 
\end{array}</math>
 
\end{array}</math>
 
|}
 
|}
Line 90: Line 92:
 
|}
 
|}
  
 +
where  <math>{\Delta }_i</math> is a function of joint rotation angle. The equation above indicates that the system is a nonholonomic system with Pfaffian constraints, and it has a cyclic coordinate  <math>{\theta }_{1}</math>.
  
where  <math>{\Delta }_i</math> is a function of joint rotation angle. The equation above indicates that the system is a nonholonomic system with Pfaffian constraints, and it has a cyclic coordinate  <math>{\theta }_\mbox{1}</math> <sub>.</sub>
+
During the flight phase, the robot is only equipped with actuators in the hip and ankle joints. So the joint angular velocity  <math>{\dot{\theta }}_{{12}}</math> and  <math>{\dot{\theta }}_{23}</math> are selected as the control inputs for the system. Eq.(3) can be written in state space form. When  <math>P_0</math> do not equal 0, it is an affine nonlinear system with three states and two inputs and drift terms
 
+
During the flight phase, the robot is only equipped with actuators in the hip and ankle joints. So the joint angular velocity  <math>{\dot{\theta }}_{\mbox{12}}</math> and  <math>{\dot{\theta }}_{23}</math> are selected as the control inputs for the system. Eq.(3) can be written in state space form. When  <math>P_0</math> do not equal 0, it is an affine nonlinear system with three states and two inputs and drift terms.
+
  
 
{| class="formulaSCP" style="width: 100%; text-align: center;"  
 
{| class="formulaSCP" style="width: 100%; text-align: center;"  
Line 100: Line 101:
 
{| style="text-align: center; margin:auto;"  
 
{| style="text-align: center; margin:auto;"  
 
|-
 
|-
| <math>\begin{array}{c}
+
| <math> \dot{x}=f\left(x\right)+g\left(x\right)u =\left[\begin{array}{c}
\dot{x}=f\left(x\right)+g\left(x\right)u\\
+
=\left[\begin{array}{c}
+
 
-P_0/{\Delta }_1\\
 
-P_0/{\Delta }_1\\
 
0\\
 
0\\
Line 110: Line 109:
 
1\\
 
1\\
 
0
 
0
\end{array}\right]u_1+\left[\begin{array}{c}
+
\end{array}\right]u_1+ </math> <math>\left[\begin{array}{c}
 
-{\Delta }_3/{\Delta }_1\\
 
-{\Delta }_3/{\Delta }_1\\
 
0\\
 
0\\
 
1
 
1
\end{array}\right]u_2
+
\end{array}\right]u_2 </math>
\end{array}</math>
+
 
|}
 
|}
 
| style="width: 5px;text-align: right;white-space: nowrap;" | (4)
 
| style="width: 5px;text-align: right;white-space: nowrap;" | (4)
 
|}
 
|}
 
  
 
where, <math>\boldsymbol{u}={\left[\begin{array}{cc}
 
where, <math>\boldsymbol{u}={\left[\begin{array}{cc}
 
u_1 & u_2
 
u_1 & u_2
\end{array}\right]}^\mbox{T}={\left[\begin{array}{cc}
+
\end{array}\right]}^{T}={\left[\begin{array}{cc}
 
{\dot{\theta }}_{12} & {\dot{\theta }}_{23}
 
{\dot{\theta }}_{12} & {\dot{\theta }}_{23}
\end{array}\right]}^\mbox{T}</math>
+
\end{array}\right]}^{T}</math>.
  
When the initial angular momentum of the system is not zero,  <math>f\left(x\right)\not =0\mbox{ }</math> , then the system has no balance point.
+
When the initial angular momentum of the system is not zero,  <math>f\left(x\right)\not =0</math>, then the system has no balance point.
  
The optimal trajectory planning of a robot refers to the initial position  <math>x_0={\left[{\theta }_0,{\theta }_{\mbox{12}},{\theta }_{\mbox{23}}\right]}^\mbox{T}</math> and terminal position  <math>x_T={\left[q_{0d},q_{1d},q_{2d}\right]}^T</math> of the given robot, by searching for a set of control inputs  <math>u\left(t\right)</math> to enable the robot to move along a path that satisfies incomplete constraints. [https://www.baidu.com/link?url=FglPf3SjerDc0ZgocY7HLdmGw1vIUdUEBvMbMJJL_GxylXIhLps89xCgTasebpJHqRKLqCJgKxc7W-m-1EYY1Fafwkd70WcQXnS8_6PVSWK&wd=&eqid=c40d816b0006620b00000006646c1a53 Meanwhile], the robot can move from the initial position  <math>x_0</math> to the terminal position  <math>x_T</math> within a given time T, and achieve an extreme performance index.
+
The optimal trajectory planning of a robot refers to the initial position  <math>x_0={\left[{\theta }_0,{\theta }_{\mbox{12}},{\theta }_{\mbox{23}}\right]}^\mbox{T}</math> and terminal position  <math>x_T={\left[q_{0d},q_{1d},q_{2d}\right]}^T</math> of the given robot, by searching for a set of control inputs  <math>u\left(t\right)</math> to enable the robot to move along a path that satisfies incomplete constraints. Meanwhile, the robot can move from the initial position  <math>x_0</math> to the terminal position  <math>x_T</math> within a given time <math display="inline"> T </math>, and achieve an extreme performance index.
  
 
In robot systems, due to the limited energy that robots can carry, in order to make the robot move for a longer time, it is necessary to consider the energy consumption of the robot. According to the minimum energy consumption theorem, in this paper the energy consumed by the hopping robot during flight phase is selected as the optimal control objective. Due to the fact that the usual driving method for robots is motor, and the energy consumed by the motor is proportional to its velocity, the performance index function can be expressed as follows:
 
In robot systems, due to the limited energy that robots can carry, in order to make the robot move for a longer time, it is necessary to consider the energy consumption of the robot. According to the minimum energy consumption theorem, in this paper the energy consumed by the hopping robot during flight phase is selected as the optimal control objective. Due to the fact that the usual driving method for robots is motor, and the energy consumed by the motor is proportional to its velocity, the performance index function can be expressed as follows:
Line 144: Line 141:
  
  
In the flight phase, the optimal planning problem of a hopping robot can be described as: finding suitable control input variables to achieve the minimum performance index, i.e. Eq.(5). Meanwhile, the state variable and initial time  <math>t_0</math> and flight time T satisfy the following constraints:
+
In the flight phase, the optimal planning problem of a hopping robot can be described as: finding suitable control input variables to achieve the minimum performance index, i.e. Eq.(5). Meanwhile, the state variable and initial time  <math>t_0</math> and flight time <math display="inline"> T </math> satisfy the following constraints:
  
 
{| class="formulaSCP" style="width: 100%; text-align: center;"  
 
{| class="formulaSCP" style="width: 100%; text-align: center;"  
Line 151: Line 148:
 
{| style="text-align: center; margin:auto;"  
 
{| style="text-align: center; margin:auto;"  
 
|-
 
|-
| <math>\lbrace \begin{array}{c}
+
| <math>\left\{ \begin{array}{c}
 
x=f(x)+g(x)u\\
 
x=f(x)+g(x)u\\
 
x(t_0)=x_0\\
 
x(t_0)=x_0\\
 
x(T)=x_T
 
x(T)=x_T
\end{array}</math>
+
\end{array}\right.</math>
 
|}
 
|}
 
| style="width: 5px;text-align: right;white-space: nowrap;" | (6)
 
| style="width: 5px;text-align: right;white-space: nowrap;" | (6)
 
|}
 
|}
  
 +
where  <math>t_0</math> and T are constant.
  
where  <math>t_0</math> and T are constant。
+
==3. Pseudospectral method for solving optimal control problems==
 
+
===3 Pseudospectral method for solving optimal control problems===
+
  
 
In recent years, the pseudospectral method has become one of the important methods for solving optimal control problems [12]. The basic principle of the pseudospectral method is to discretize the continuous optimal control problem at the orthogonal collocation points, and approximate the state and control variables through the global interpolation polynomial. Thus the optimal control problem can be transformed into a nonlinear programming problem (NLP).
 
In recent years, the pseudospectral method has become one of the important methods for solving optimal control problems [12]. The basic principle of the pseudospectral method is to discretize the continuous optimal control problem at the orthogonal collocation points, and approximate the state and control variables through the global interpolation polynomial. Thus the optimal control problem can be transformed into a nonlinear programming problem (NLP).
Line 171: Line 167:
 
The Legendre pseudospectral method uses the roots of orthogonal polynomials as collocation points and global orthogonal polynomials as finite bases. The system’s state and control variables are discretized at the Lendre Guass Lobatto (LGL) point. The Lagrange interpolation polynomial is used to approximate the state and control variables, obtaining the discrete dynamic equations at the points. Thus, the differential operation in the state equation and the integral operation in the performance index function are transformed into algebraic operation, and finally the optimal control problem is transformed into a nonlinear programming problem with the state variables and control variables at the points as the parameters to be optimized.
 
The Legendre pseudospectral method uses the roots of orthogonal polynomials as collocation points and global orthogonal polynomials as finite bases. The system’s state and control variables are discretized at the Lendre Guass Lobatto (LGL) point. The Lagrange interpolation polynomial is used to approximate the state and control variables, obtaining the discrete dynamic equations at the points. Thus, the differential operation in the state equation and the integral operation in the performance index function are transformed into algebraic operation, and finally the optimal control problem is transformed into a nonlinear programming problem with the state variables and control variables at the points as the parameters to be optimized.
  
Dynamic equation:
+
'''Dynamic equation''':
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>\dot{x}\left(t\right)=f\left(x\left(t\right),u\left(t\right),t\right)</math> (7)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math>\dot{x}\left(t\right)=f\left(x\left(t\right),u\left(t\right),t\right)</math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(7)
 +
|}
  
Boundary condition:
+
'''Boundary condition''':
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>\varphi \left(x\left(t_0\right),x\left(t_f\right),t_0,t_f\right)=</math><math>0</math> (8)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math>\varphi \left(x\left(t_0\right),x\left(t_f\right),t_0,t_f\right)=0</math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(8)
 +
|}
  
Inequality path constraint
+
'''Inequality path constraint'''
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>G\left(x\left(t\right),u\left(t\right),t\right)\leq 0</math> (9)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math>G\left(x\left(t\right),u\left(t\right),t\right)\leq 0</math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(9)
 +
|}
  
where  <math>J\in R</math> is the performance indicator,  <math>\varphi \in R</math> is the Mayer type performance indicator,  <math>G\in R</math> is the Lagrange type performance indicator, and  <math>f\left(\cdot \right)</math> is the state equation function vector, φ is the initial and terminal constraint function vector, and  <math>C</math> is the equation and inequality path constraint function vector.
+
where  <math>J\in R</math> is the performance indicator,  <math>\varphi \in R</math> is the Mayer type performance indicator,  <math>G\in R</math> is the Lagrange type performance indicator, and  <math>f\left(\cdot \right)</math> is the state equation function vector, <math>\phi</math> is the initial and terminal constraint function vector, and  <math>C</math> is the equation and inequality path constraint function vector.
  
The calculation process of Legendre pseudospectral method is as follows: first, the value range of the original planning problem is mapped from  <math>t\in \left[t_0,T_f\right]</math> to the distribution interval of discrete points in the pseudospectral method through time domain transformation  <math>\tau \in \left[-\mbox{1},\mbox{1}\right]</math>
+
The calculation process of Legendre pseudospectral method is as follows: first, the value range of the original planning problem is mapped from  <math>t\in \left[t_0,T_f\right]</math> to the distribution interval of discrete points in the pseudospectral method through time domain transformation  <math>\tau \in \left[-{1},{1}\right]</math>.
  
 
The Legendre orthogonal polynomial on the interval  <math>\left[-\mbox{1},\mbox{1}\right]</math> is
 
The Legendre orthogonal polynomial on the interval  <math>\left[-\mbox{1},\mbox{1}\right]</math> is
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>L_n\left(\tau \right)=\frac{1}{2^nn!}\frac{d^n}{dx^n}{\left({\tau }^2-1\right)}^n</math> (10)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math>L_n\left(\tau \right)=\frac{1}{2^nn!}\frac{d^n}{dx^n}{\left({\tau }^2-1\right)}^n</math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(10)
 +
|}
  
 
where  <math>L_n\left(\tau \right)</math> represents n-order Legendre polynomials.
 
where  <math>L_n\left(\tau \right)</math> represents n-order Legendre polynomials.
  
In order to achieve better interpolation approximation ,  <math>{\tau }_0=-\mbox{1}</math> ,  <math>{\tau }_\mbox{N}=\mbox{1}</math> and n-1 zeros  <math>{\tau }_i</math>  <math>\left(\mbox{i}=\mbox{1},\mbox{ 2},\ldots \ldots ,\mbox{ N-1}\right)</math> of the first derivative of the Legendre polynomial  <math>{\dot{L}}_n\left(\tau \right)</math> is defined as an LGL point, there are N+1 control points, denoted as  <math>{\tau }_i</math>  <math>\left(\mbox{i}=\mbox{1},\mbox{ 2},\ldots \ldots ,\mbox{ N}\right)</math>
+
In order to achieve better interpolation approximation,  <math>{\tau }_0=-{1}</math>,  <math>{\tau }_{N}={1}</math> and <math>n-1</math> zeros  <math>{\tau }_i</math>  <math>(i={1},{2},\ldots , {N-1})</math> of the first derivative of the Legendre polynomial  <math>{\dot{L}}_n\left(\tau \right)</math> is defined as an LGL point, there are <math>N+1</math> control points, denoted as  <math>{\tau }_i</math>  <math>\left({i}={1},{2},\ldots ,{N}\right)</math>.
  
Using n+1 LGL points as interpolation points, n-order Lagrangian interpolation polynomials is constructed to approximate the continuous state variable  <math>x\left(t\right)</math> and control variable  <math>u\left(t\right)</math> , and obtain the following equations:
+
Using <math>n+1</math> LGL points as interpolation points, n-order Lagrangian interpolation polynomials is constructed to approximate the continuous state variable  <math>x\left(t\right)</math> and control variable  <math>u\left(t\right)</math>, and obtain the following equations:
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>x\left(\tau \right)\approx X\left(\tau \right)=\sum_{i=0}^N{\Phi }_i\left(\tau \right)X_i</math> (11)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math> x\left(\tau \right)\approx X\left(\tau \right)=\sum_{i=0}^N{\Phi }_i\left(\tau \right)X_i </math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(11)
 +
|}
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>u\left(\tau \right)\approx U\left(\tau \right)=\sum_{i=0}^N{\Phi }_i\left(\tau \right)U_i</math> (12)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math>u\left(\tau \right)\approx U\left(\tau \right)=\sum_{i=0}^N{\Phi }_i\left(\tau \right)U_i </math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(12)
 +
|}
  
where, <math>{\Phi }_i\left(\tau \right)</math> is the n-order Lagrangian interpolation basis function.
+
where, <math>{\Phi }_i\left(\tau \right)</math> is the <math>n</math>-order Lagrangian interpolation basis function,
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>{\Phi }_i\left(\tau \right)=\frac{1}{n\left(n+1\right)L_n\left({\tau }_i\right)}\frac{\left({\tau }^2-1\right){\dot{L}}_n\left({\tau }_i\right)}{\tau -{\tau }_i}</math> (13)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math> {\Phi }_i\left(\tau \right)=\frac{1}{n\left(n+1\right)L_n\left({\tau }_i\right)}\frac{\left({\tau }^2-1\right){\dot{L}}_n\left({\tau }_i\right)}{\tau -{\tau }_i} </math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(13)
 +
|}
  
where,  <math>\mbox{i}=\mbox{1},\mbox{ 2},\ldots \ldots ,\mbox{ }n</math> ,  <math>{\Phi }_i\left(\tau \right)</math> satisfies the relationship  <math>{\Phi }_i\left(\tau \right)\mbox{ }={\delta }_{i\mbox{ }j}</math> , if  <math>i=j</math> , there is  <math>{\delta }_{i\mbox{ }j}=\mbox{ 1}</math> ; if  <math>i\not =j</math> ,  <math>{\delta }_{i\mbox{ }j}=\mbox{ 0}</math> .
+
where,  <math>{i}={1},{2},\ldots \ldots ,n</math>,  <math>{\Phi }_i\left(\tau \right)</math> satisfies the relationship  <math>{\Phi }_i\left(\tau \right)={\delta }_{ij}</math>, if  <math>i=j</math>, there is  <math>{\delta }_{ij}={1}</math>; if  <math>i\not =j</math>,  <math>{\delta }_{ij}={0}</math>.
  
 
After parameterizing the state variable through interpolation polynomials, the differential operation of the state equation can be approximated as the differential operation of the interpolation basis function, and the derivative of the state variable  <math>x\left(\tau \right)</math> can be approximated as follows:
 
After parameterizing the state variable through interpolation polynomials, the differential operation of the state equation can be approximated as the differential operation of the interpolation basis function, and the derivative of the state variable  <math>x\left(\tau \right)</math> can be approximated as follows:
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>\dot{x}\left({\tau }_k\right)\approx {\dot{X}}_k=\sum_{i=0}^N{\dot{L}}_i\left({\tau }_k\right)X_i=</math><math>\sum_{i=0}^ND_{ki}X_i</math> (14)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math> \dot{x}\left({\tau }_k\right)\approx {\dot{X}}_k=\sum_{i=0}^N{\dot{L}}_i\left({\tau }_k\right)X_i=</math><math>\sum_{i=0}^ND_{ki}X_i </math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(14)
 +
|}
  
where  <math>k=\mbox{ }0,\mbox{ 1},\mbox{ }\cdots \cdots \mbox{ },N</math> ,  <math>D</math> is the (n+1) (n+1) differential matrix, representing the differential value of Lagrange basis function at each LGL control point,  <math>D_{ki}</math> is the (k, i) th element. One can obtain
+
where  <math>k=0,{1},\cdots \cdots ,N</math>,  <math>D</math> is the <math>(n+1)</math> differential matrix, representing the differential value of Lagrange basis function at each LGL control point,  <math>D_{ki}</math> is the <math>(k, i)</math>th element. One can obtain
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>D_{ki}=\lbrace \begin{array}{c}
+
|-
\\
+
|
\\
+
{| style="text-align: center; margin:auto;width: 100%;"  
\\
+
|-
 +
| style="text-align: center;" | <math>D_{ki}=\left\{\frac{L_N\left({\boldsymbol{\tau }}_k\right)}{L_N\left({\boldsymbol{\tau }}_j\right)}\cdot \frac{1}{{\boldsymbol{\tau }}_k-{\boldsymbol{\tau }}_j},\quad k\not =j\frac{N\left(N+1\right)}{4},\quad k=j=0\frac{N\left(N+1\right)}{4},\quad k=j=N0,\mbox{ }\mbox{ }\mbox{other}\right.</math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(15)
 +
|}
  
\end{array}\frac{L_N\left({\boldsymbol{\tau }}_k\right)}{L_N\left({\boldsymbol{\tau }}_j\right)}\cdot \frac{1}{{\boldsymbol{\tau }}_k-{\boldsymbol{\tau }}_j},\mbox{ }k\not =</math><math>j\frac{N\left(N+1\right)}{4},\mbox{ }\mbox{ }\mbox{ }k=</math><math>j=0\frac{N\left(N+1\right)}{4},\mbox{ }\mbox{ }k=</math><math>j=N0,\mbox{ }\mbox{ }\mbox{ }\mbox{ }\mbox{ }\mbox{other}</math> (15)</div>
 
  
 
Now, the constraints of the state equation can be transformed into discrete state equations at N+1 LGL control points.
 
Now, the constraints of the state equation can be transformed into discrete state equations at N+1 LGL control points.
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>\sum_{i=0}^ND_{ki}X_i-\frac{t_f-t_0}{2}f\left(X_k,U_k,{\tau }_k\right)=</math><math>0</math> (16)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math> \sum_{i=0}^ND_{ki}X_i-\frac{t_f-t_0}{2}f\left(X_k,U_k,{\tau }_k\right)= 0 </math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(16)
 +
|}
 +
 
  
 
The boundary and path constraints after discretization can be described as follows:
 
The boundary and path constraints after discretization can be described as follows:
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>\phi \left(\boldsymbol{X}_0,\boldsymbol{X}_N,{\tau }_0,{\tau }_N\right)=</math><math>0</math> (17)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math> \phi \left(\boldsymbol{X}_0,\boldsymbol{X}_N,{\tau }_0,{\tau }_N\right)=0 </math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(17)
 +
|}
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>\boldsymbol{C}\left(\boldsymbol{X}_k,\boldsymbol{U}_N,{\tau }_k\right)\leq 0</math> (18)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math> \boldsymbol{C}\left(\boldsymbol{X}_k,\boldsymbol{U}_N,{\tau }_k\right)\leq 0 </math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(18)
 +
|}
  
where  <math>k=\mbox{ }0,\mbox{ 1},\mbox{ }\cdots \cdots \mbox{ },N</math> .
+
where  <math>k=0,{1},\cdots ,N</math>.
  
 
Through Gauss-Lobatto numerical integration, the integral term in the performance index function is transformed into the following algebraic expression:
 
Through Gauss-Lobatto numerical integration, the integral term in the performance index function is transformed into the following algebraic expression:
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>\begin{array}{c}
+
|-
J=\frac{t_f-t_0}{2}{\int }_{-1}^1\langle \boldsymbol{u}\left(\tau \right),\boldsymbol{u}\left(\tau \right)\rangle d\tau \\
+
|
=\frac{t_f-t_0}{2}\sum_{i=0}^Nw_i\langle \boldsymbol{U}_i,\boldsymbol{U}_i\rangle  
+
{| style="text-align: center; margin:auto;width: 100%;"  
\end{array}</math> (19)</div>
+
|-
 +
| style="text-align: center;" | <math>
 +
J=\frac{t_f-t_0}{2}{\int }_{-1}^1\langle \boldsymbol{u}\left(\tau \right),\boldsymbol{u}\left(\tau \right)\rangle d\tau  
 +
</math>=<math>\frac{t_f-t_0}{2}\sum_{i=0}^Nw_i\langle \boldsymbol{U}_i,\boldsymbol{U}_i\rangle </math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(19)
 +
|}
  
where,  <math>w_i\left(i=\mbox{ }0,\mbox{ 1},\mbox{ }\cdots \cdots ,N\right)</math> is Gauss weights,defining
+
where,  <math>w_i\left(i=0,{1},\cdots , N\right)</math> is Gauss weights, defining
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
<math>w_i={\int }_{-1}^1{\boldsymbol{\Phi }}_i\left(\tau \right)d\tau =</math><math>\frac{2}{N\left(N+1\right)}\frac{1}{{\left[L_N\left({\tau }_i\right)\right]}^2}</math> (20)</div>
+
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"  
 +
|-
 +
| style="text-align: center;" | <math> w_i={\int}_{-1}^1{\boldsymbol{\Phi }}_i\left(\tau \right)d\tau =</math><math>\frac{2}{N\left(N+1\right)}\frac{1}{{\left[L_N\left({\tau }_i\right)\right]}^2} </math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(20)
 +
|}
  
Through the above discretization and approximation processing, the optimal control problem can be further described by Eqs.(7-9) as follows: solving the values of the state variable  <math>X_\mbox{i}</math> at N+1 interpolation points  <math>X=\mbox{ }(X_0,X_\mbox{1},\cdots \cdots ,X_N)</math> and the control variable  <math>U_i</math> at N+1 interpolation points  <math>U=\mbox{ }(U_0,U_\mbox{1},\cdots \cdots ,U_N)</math> , so that the performance index function takes the minimum value and satisfies the constraint conditions of Eqs. (16-18).
 
  
For the energy optimal path planning problem of the hopping robot in this paper, given the initial position <math>X\left(t_0\right)</math> and terminal position  <math>X\left(T_f\right)</math> of the system, two sets of unknown coefficients  <math>X=\mbox{ }(X_0,X_\mbox{1},\cdots \cdots ,X_N)</math> and  <math>U=\mbox{ }(U_0,U_\mbox{1},\cdots \cdots ,U_N)</math> are solved, resulting in a minimal discrete performance index function.
+
Through the above discretization and approximation processing, the optimal control problem can be further described by Eqs.(7)-(9) as follows: solving the values of the state variable  <math>X_{i}</math> at <math>N+1</math> interpolation points  <math>X=(X_0,X_{1},\cdots  ,X_N)</math> and the control variable  <math>U_i</math> at <math>N+1</math> interpolation points  <math>U=(U_0,U_{1}, \cdots ,U_N)</math>, so that the performance index function takes the minimum value and satisfies the constraint conditions of Eqs. (16)-(18).
 +
 
 +
For the energy optimal path planning problem of the hopping robot in this paper, given the initial position <math>X\left(t_0\right)</math> and terminal position  <math>X\left(T_f\right)</math> of the system, two sets of unknown coefficients  <math>X=(X_0,X_{1}, \cdots ,X_N)</math> and  <math>U=(U_0,U_{1},\cdots ,U_N)</math> are solved, resulting in a minimal discrete performance index function
 +
 
 +
{| class="formulaSCP" style="width: 100%; text-align: left;"
 +
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"
 +
|-
 +
| style="text-align: center;" | <math>J=\frac{t_f-t_0}{2}\sum_{i=0}^3{\Vert \boldsymbol{U}_i\Vert }^2w_i</math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(21)
 +
|}
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
 
<math>J=\frac{t_f-t_0}{2}\sum_{i=0}^3{\Vert \boldsymbol{U}_i\Vert }^2w_i</math> (21)</div>
 
  
 
Further, the following discrete system dynamic equation constraints can be satisfied:
 
Further, the following discrete system dynamic equation constraints can be satisfied:
  
<div style="text-align: right; direction: ltr; margin-left: 1em;">
+
{| class="formulaSCP" style="width: 100%; text-align: left;"
[[Media:Review_582677700696_1726_12.docx|12.docx]]
+
|-
(22)</div>
+
|
 +
{| style="text-align: center; margin:auto;width: 100%;"
 +
|-
 +
| style="text-align: center;" | <math>\sum_{i=0}^ND_{ki}X_{1i} =\frac{t_f-t_0}{2}\left(f(X_k)+ g(X_k)U_k\right)</math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(22a)
 +
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"
 +
|-
 +
| style="text-align: center;" | <math> \sum_{i=0}^ND_{ki}X_{2i}=\frac{t_f-t_0}{2}\left(f(X_k)+ g(X_k)U_k\right)</math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(22b)
 +
|-
 +
|
 +
{| style="text-align: center; margin:auto;width: 100%;"
 +
|-
 +
| style="text-align: center;" | <math> \sum_{i=0}^ND_{ki}X_{3i}=\frac{t_f-t_0}{2}\left(f(X_k)+ g(X_k)U_k\right)</math>
 +
|}
 +
| style="width: 5px;text-align: right;white-space: nowrap;" |(22c)
 +
|}
  
where  <math>k=\mbox{ }0,\mbox{ 1},\cdots \cdots ,N</math> ,  <math>f\left(X_k\right)</math> , and <math>g\left(X_k\right)</math> are elements in the state equation of the hopping robot system.
+
where  <math>k=0,{1},\cdots ,N</math>,  <math>f\left(X_k\right)</math>, and <math>g\left(X_k\right)</math> are elements in the state equation of the hopping robot system.
  
 
In actual robot control, there are limitations on motor torque and speed, so there are upper and lower limits on the actual control input of the system, which can be expressed as discrete inequality constraints as shown in the following equation:
 
In actual robot control, there are limitations on motor torque and speed, so there are upper and lower limits on the actual control input of the system, which can be expressed as discrete inequality constraints as shown in the following equation:
Line 279: Line 398:
 
{| style="text-align: center; margin:auto;"  
 
{| style="text-align: center; margin:auto;"  
 
|-
 
|-
| <math>\vert U_{ik}\vert \leq U_{max}</math>
+
| <math>\vert U_{ik}\vert \leq U_{\max}</math>
 
|}
 
|}
 
| style="width: 5px;text-align: right;white-space: nowrap;" | (23)
 
| style="width: 5px;text-align: right;white-space: nowrap;" | (23)
 
|}
 
|}
  
 +
where  <math>i={1},{2},{3}</math>, <math>k=0,{1},\cdots ,N</math>,  <math>U_{\max}>0</math> is the upper limit of the control input.
  
where  <math>i=\mbox{ 1},\mbox{ 2},\mbox{ 3}</math> , <math>k=\mbox{ }0,\mbox{ 1},\cdots \cdots ,N</math> ,  <math>U_{\mbox{max}}>\mbox{ }0</math> is the upper limit of the control input.
+
==4. Results==
  
===4 Results===
+
The physical parameters of the robot based on the hopping pattern of the kangaroo is determined as shown in [[#tab-1|Table 1]].
  
The physical parameters of the robot based on the hopping pattern of the kangaroo is determined as shown in Table 1.
+
<div class="center" style="font-size: 75%;">'''Table 1'''. Physical parameters</div>
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
<div id='tab-1'></div>
Table 1 Physical parameters</div>
+
{| class="wikitable" style="margin: 1em auto 0.1em auto;border-collapse: collapse;font-size:85%;width:auto;"  
 
+
|-style="text-align:center"
{| style="width: 68%;margin: 1em auto 0.1em auto;border-collapse: collapse;"  
+
! style="text-align:left;"|Component number <math>i</math>  
|-
+
|  1
|  colspan='2'  style="border-top: 1pt solid black;border-bottom: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">Component numb</span>er <math>i</math>  
+
|  2
colspan='2'  style="border-top: 1pt solid black;border-bottom: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">1</span>
+
3
style="border-top: 1pt solid black;border-bottom: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">2</span>
+
|-style="text-align:center"
style="border-top: 1pt solid black;border-bottom: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">3</span>
+
! style="text-align:left;"|Length of rod <math>l_i/\left(\mbox{m}\right)</math>  
|-
+
|   0.11
| style="border-top: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">Length of r</span>od <math>l_i/\left(\mbox{m}\right)</math>  
+
|  0.26
| colspan='3'  style="border-top: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.11</span>
+
| 0.174
style="border-top: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.26</span>
+
|-style="text-align:center"
| style="border-top: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.174</span>
+
! style="text-align:left;"| Centroid moment separation  <math>l_{Si}/\left(\mbox{m}\right)</math>  
|-
+
|  0.11
|  colspan='3' style="text-align: center;vertical-align: top;"|Centroid moment separation  <math>l_{Si}/\left(\mbox{m}\right)</math>  
+
|  0.105
style="vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.11</span>
+
0.082
style="text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.105</span>
+
|-style="text-align:center"
style="text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.082</span>
+
! style="text-align:left;"|Mass of rod  <math>m_i/\left(\mbox{kg}\right)</math>  
|-
+
|  4.24
| style="text-align: center;vertical-align: top;"|Mass of rod  <math>m_i/\left(\mbox{kg}\right)</math>  
+
|  0.06
colspan='3'  style="text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">4.24</span>
+
0.14
style="text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.06</span>
+
|-style="text-align:center"
style="text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.14</span>
+
! style="text-align:left;"|Moment of inertia  <math>J_i/(\mbox{kg}\cdot \mbox{m}^\mbox{2})</math>  
|-
+
|  0.034
style="border-bottom: 1pt solid black;text-align: center;vertical-align: top;"|moment of inertia  <math>J_i/(\mbox{kg}\cdot \mbox{m}^\mbox{2})</math>  
+
|  0.0033
colspan='3'  style="border-bottom: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.034</span>
+
|  0.0038
style="border-bottom: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.0033</span>
+
style="border-bottom: 1pt solid black;text-align: center;vertical-align: top;"|<span style="text-align: center; font-size: 75%;">0.0038</span>
+
 
|}
 
|}
  
  
The initial and terminal positions of the given motion planning of the hopping robot system are <math>x_0={\left[-5^{\circ },-{25}^{\circ },-{18}^{\circ }\right]}^\mbox{T}</math> and  <math>x_\mbox{T}={\left[-5^{\circ },-{125}^{\circ },-{35}^{\circ }\right]}^\mbox{T}</math> , respectively. The flight time  <math>T=0.\mbox{5}</math> ,  <math>P_0=0.0\mbox{2}</math> , and the control constraints are  <math>u_{\mbox{1max}}=\mbox{6rad}/\mbox{s}</math> ,  <math>u_{\mbox{2max}}=\mbox{6rad}/\mbox{s}</math> . The simulation results are shown in Figs.2-4. It can be seen that the hopping robot can complete the motion planning requirements and reach the preset goal position within the given time.
+
The initial and terminal positions of the given motion planning of the hopping robot system are <math>x_0={\left[-5^{\circ },-{25}^{\circ },-{18}^{\circ }\right]}^\mbox{T}</math> and  <math>x_\mbox{T}={\left[-5^{\circ },-{125}^{\circ },-{35}^{\circ }\right]}^{T}</math>, respectively. The flight time  <math>T=0.{5}</math>,  <math>P_0=0.0{2}</math>, and the control constraints are  <math>u_{{1\max}}=\mbox{6rad}/{s}</math>,  <math>u_{{2\max}}=\mbox{6rad}/{s}</math>. The simulation results are shown in [[#img-2|Figures 2]]-[[#img-4|4]]. It can be seen that the hopping robot can complete the motion planning requirements and reach the preset goal position within the given time.
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
<div id='img-2'></div>
[[Image:Review_582677700696-image113.png|348px]] </div>
+
{| class="wikitable" style="margin: 0em auto 0.1em auto;border-collapse: collapse;width:auto;"
 +
|-style="background:white;"
 +
|style="text-align: center;padding:10px;"| [[File:Review_582677700696_2756_ffig2.png|300px]]
 +
|-
 +
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 2'''. Posture diagram during flight phase
 +
|}
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
Fig.2 Posture diagram during flight phase</div>
 
  
From Fig.3, it can be seen that the joint trajectory of the foot shows a trend of first rising and then falling, which means that the foot lifts inward and then quickly swings downwards during most of the flight phase, preparing to touch the ground. The range of changes in the ankle joint is the largest among the three curves, approximately from 48 ° to 205°. The range of body swing is relatively small, ranging from -16° to 5°, and the changes are relatively gentle.
+
From [[#img-3|Figure 3]] it can be seen that the joint trajectory of the foot shows a trend of first rising and then falling, which means that the foot lifts inward and then quickly swings downwards during most of the flight phase, preparing to touch the ground. The range of changes in the ankle joint is the largest among the three curves, approximately from 48 ° to 205°. The range of body swing is relatively small, ranging from -16° to 5°, and the changes are relatively gentle.
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
<div id='img-3'></div>
[[Image:Review_582677700696-image114.png|306px]] </div>
+
{| class="wikitable" style="margin: 0em auto 0.1em auto;border-collapse: collapse;width:auto;"
 +
|-style="background:white;"
 +
|style="text-align: center;padding:10px;"| [[File:Review_582677700696_2716_ffig3.png|300px]]
 +
|-
 +
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 3'''. Joint angles of the hopping robot
 +
|}
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
Fig.3 Joint angles of the hopping robot</div>
 
  
Fig.4 is the control input for the hopping robot, which is the input angular velocity of the hip and ankle joints. It can be seen that when the control input exceeds the speed limit, the limit value of the control input is taken as a straight line.
+
[[#img-4|Figure 4]] is the control input for the hopping robot, which is the input angular velocity of the hip and ankle joints. It can be seen that when the control input exceeds the speed limit, the limit value of the control input is taken as a straight line.
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
<div id='img-4'></div>
[[Image:Review_582677700696-image115.png|276px]] </div>
+
{| class="wikitable" style="margin: 0em auto 0.1em auto;border-collapse: collapse;width:auto;"
 +
|-style="background:white;"
 +
|style="text-align: center;padding:10px;"| [[File:Review_582677700696_8446_ffig4.png|300px]]
 +
|-
 +
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 4'''. Control input of the hip point
 +
|}
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
Fig.4 Control input of the hip point</div>
 
  
====1)The effect of initial angular momentum on hopping performance====
+
'''1) The effect of initial angular momentum on hopping performance'''
  
In Ref.[6], the stability of the hopping robot’s flight movement was investigated. It was proposed that in the flight stage, when the total angular momentum regarding the robot’s center of mass was very small, the flight movement was in a stable state. Since the angular momentum regarding the robot’s center of mass is conserved in the flight phase, the angular momentum of the robot in flight is determined by the initial angular momentum  <math>P_0</math> .  <math>P_0</math> has a significant impact on the robot’s movement during the flight phase.
+
In Haldane et al. [6], the stability of the hopping robot’s flight movement was investigated. It was proposed that in the flight stage, when the total angular momentum regarding the robot’s center of mass was very small, the flight movement was in a stable state. Since the angular momentum regarding the robot’s center of mass is conserved in the flight phase, the angular momentum of the robot in flight is determined by the initial angular momentum  <math>P_0</math>.  <math>P_0</math> has a significant impact on the robot’s movement during the flight phase.
  
As can be seen from Fig.5, with the increase of the initial angular momentum, the maximum allowable flight stage continues to decrease. When  <math>P_0<0.01</math> , the maximum duration shows an exponential decreasing trend. Due to the decrease in the duration of the flight phase, the height of the hopping (the maximum height of the robot’s center of mass during the flight phase) decreases, and the foot may collide with the ground. When  <math>P_0=0</math> , the flight phase can be arbitrarily taken. It can be seen from Fig.6 that with the increase of the initial angular momentum, the performance index, i.e. energy consumption, increases accordingly, and the change of energy consumption and initial angular momentum is approximately in a straight line. It is can be drawn a conclusion that the existence of initial angular momentum is a very unfavorable factor for motion planning. Therefore, in the control process, the initial angular momentum at the take-off should be zero as far as possible.
+
As can be seen from [[#img-5|Figure 5]], with the increase of the initial angular momentum, the maximum allowable flight stage continues to decrease. When  <math>P_0<0.01</math>, the maximum duration shows an exponential decreasing trend. Due to the decrease in the duration of the flight phase, the height of the hopping (the maximum height of the robot’s center of mass during the flight phase) decreases, and the foot may collide with the ground. When  <math>P_0=0</math>, the flight phase can be arbitrarily taken. It can be seen from [[#img-6|Figure 6]] that with the increase of the initial angular momentum, the performance index, i.e. energy consumption, increases accordingly, and the change of energy consumption and initial angular momentum is approximately in a straight line. It is can be drawn a conclusion that the existence of initial angular momentum is a very unfavorable factor for motion planning. Therefore, in the control process, the initial angular momentum at the take-off should be zero as far as possible.
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
<div id='img-5'></div>
[[Image:Review_582677700696-image120.png|270px]] </div>
+
{| class="wikitable" style="margin: 0em auto 0.1em auto;border-collapse: collapse;width:auto;"
 +
|-style="background:white;"
 +
|style="text-align: center;padding:10px;"| [[File:Review_582677700696_2565_ffig5.png|300px]]
 +
|-
 +
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 5'''. Maximum flight time vs. initial angular momentum
 +
|}
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
Fig.5 Maximum flight time vs. initial angular momentum</div>
 
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
<div id='img-6'></div>
[[Image:Review_582677700696-image121.png|270px]] </div>
+
{| class="wikitable" style="margin: 0em auto 0.1em auto;border-collapse: collapse;width:auto;"
 +
|-style="background:white;"
 +
|style="text-align: center;padding:10px;"| [[File:Review_582677700696_7008_ffig6.png|300px]]
 +
|-
 +
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 6'''. Performance index vs. initial angular momentum
 +
|}
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
Fig.6 Performance index vs. initial angular momentum</div>
 
  
====2)The effect of flight time on hopping performance====
+
'''2) The effect of flight time on hopping performance'''
  
In this section, the impact of flight time on hopping performance is discussed when initial angular momentum  <math>\mbox{P}_0</math> equals 0. Fig.7 shows the curve of performance indicator  <math>J</math> as a function of flight time. When the initial angular momentum is zero, the flight time can be arbitrarily selected. It can be seen that as the flight time increases, the performance indicator  <math>J</math> decreases, that is, the energy consumption decreases, and changes sharply within 0.5 seconds. As time increases, the robot has sufficient time to change the position of the joint angle, resulting in a smaller input and lower energy consumption. But at the same time, as time increases, the height of the hopping increases, and the vertical velocity of the center of mass at take-off also increases, requiring the robot to provide greater force . Therefore, it is necessary to comprehensively measure and select the appropriate time.
+
In this section, the impact of flight time on hopping performance is discussed when initial angular momentum  <math>\mbox{P}_0</math> equals 0. [[#img-7|Figure 7]] shows the curve of performance indicator  <math>J</math> as a function of flight time. When the initial angular momentum is zero, the flight time can be arbitrarily selected. It can be seen that as the flight time increases, the performance indicator  <math>J</math> decreases, that is, the energy consumption decreases, and changes sharply within 0.5 seconds. As time increases, the robot has sufficient time to change the position of the joint angle, resulting in a smaller input and lower energy consumption. But at the same time, as time increases, the height of the hopping increases, and the vertical velocity of the center of mass at take-off also increases, requiring the robot to provide greater force . Therefore, it is necessary to comprehensively measure and select the appropriate time.
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
<div id='img-7'></div>
[[Image:Review_582677700696-image125.png|258px]] </div>
+
{| class="wikitable" style="margin: 0em auto 0.1em auto;border-collapse: collapse;width:auto;"
 +
|-style="background:white;"
 +
|style="text-align: center;padding:10px;"| [[File:Review_582677700696_6393_ffig7.png|300px]]
 +
|-
 +
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 7'''. Performance indicator <math>J</math> vs. flight time <math>T</math>
 +
|}
  
<div id="_Ref22139998" class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
Fig.7 Performance indicator ''J'' vs. flight time ''T''</div>
 
  
From Fig.8, it can be seen that as the flight time decreases, the movement distance of the hopping robot’s center of mass in the horizontal direction decreases, and the height in the vertical direction decreases, resulting in the robot’s foot height being less than 0 in the first 0.02 seconds, indicating a collision between the foot and the ground. Fig.9 shows the posture diagram. It can been seen that at the end of the flight phase the foot of the hopping robot touch the ground. It indicates that the flight phase is over. The negative height of the robot’s foot during flight phase indicates a collision between the robot’s and the ground.
+
From [[#img-8|Figure 8]], it can be seen that as the flight time decreases, the movement distance of the hopping robot’s center of mass in the horizontal direction decreases, and the height in the vertical direction decreases, resulting in the robot’s foot height being less than 0 in the first 0.02 seconds, indicating a collision between the foot and the ground. [[#img-9|Figure 9]] shows the posture diagram. It can been seen that at the end of the flight phase the foot of the hopping robot touch the ground. It indicates that the flight phase is over. The negative height of the robot’s foot during flight phase indicates a collision between the robot’s and the ground.
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
<div id='img-8'></div>
[[Image:Review_582677700696-image126.png|258px]] </div>
+
{| class="wikitable" style="margin: 0em auto 0.1em auto;border-collapse: collapse;width:auto;"
 +
|-style="background:white;"
 +
|style="text-align: center;padding:10px;"| [[File:Review_582677700696_9139_ffig8.png|300px]]
 +
|-
 +
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 8'''. Trajectory of tip of the foot at different flight times
 +
|}
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
 
Fig.8 Trajectory of tip of the foot at different flight times</div>
 
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
<div id='img-9'></div>
[[Image:Review_582677700696-image127.png|270px]] </div>
+
{| class="wikitable" style="margin: 0em auto 0.1em auto;border-collapse: collapse;width:auto;"
 +
|-style="background:white;"
 +
|style="text-align: center;padding:10px;"| [[File:Review_582677700696_3895_ffig9.png|300px]]
 +
|-
 +
| style="background:#efefef;text-align:left;padding:10px;font-size: 85%;"| '''Figure 9'''. Posture diagram during flight phase at  <math>T=0.{1}</math>
 +
|}
  
<div class="center" style="width: auto; margin-left: auto; margin-right: auto;">
+
==5. Conclusions==
Fig.9 Posture diagram during flight phase at  <math>T=0.\mbox{1}</math> </div>
+
 
+
5 Conclusion
+
  
 
In this paper the energy optimal motion planning problem of the hopping robot with three links in the flight phase is investigated. First, the conservation equation of angular momentum of the hopping robot in the flight phase is established which is a non holonomic constraint. Then, the energy consumption of the robot during the flight phase is selected as the optimization goal. Given the initial and terminal positions, the Gaussian pseudospectral method is used to solve the optimal control problem. The conclusion can be drawn as follows:
 
In this paper the energy optimal motion planning problem of the hopping robot with three links in the flight phase is investigated. First, the conservation equation of angular momentum of the hopping robot in the flight phase is established which is a non holonomic constraint. Then, the energy consumption of the robot during the flight phase is selected as the optimization goal. Given the initial and terminal positions, the Gaussian pseudospectral method is used to solve the optimal control problem. The conclusion can be drawn as follows:
Line 397: Line 538:
 
2) When the initial angular momentum is zero, the longer the flight time is, the smaller the energy consumption is, and the greater the flight distance and height are. However, the higher the velocity of the robot in the vertical direction of the center of mass at flight, the greater the force required by the robot. The smaller the flight time, the smaller the flight distance and altitude, and the less force required for flight. However, the energy consumption increases, and the robot’s foot may collide with the ground. So it is necessary to comprehensively measure and select a suitable time for flight.
 
2) When the initial angular momentum is zero, the longer the flight time is, the smaller the energy consumption is, and the greater the flight distance and height are. However, the higher the velocity of the robot in the vertical direction of the center of mass at flight, the greater the force required by the robot. The smaller the flight time, the smaller the flight distance and altitude, and the less force required for flight. However, the energy consumption increases, and the robot’s foot may collide with the ground. So it is necessary to comprehensively measure and select a suitable time for flight.
  
===References===
+
==References==
 +
 
 +
<div class="auto" style="text-align: left;width: auto; margin-left: auto; margin-right: auto;font-size: 85%;">
  
<span id='_Ref85812059'></span>[1] Raibet, M H, Legged robots that balance. Cambridge: the MIT Press. 1986.
+
<span id='_Ref85812059'></span>
 +
[1] Raibet M.H. Legged robots that balance. Cambridge, the MIT Press, 1986.
  
[2] Ahmadi, M,Buehler, M, Controlled passive dynamic running experiments with the ARL-Monopod II. IEEE Transactions on Robotics, 2006, 22(5): 974-986.
+
[2] Ahmadi M., Buehler M. Controlled passive dynamic running experiments with the ARL-Monopod II. IEEE Transactions on Robotics, 22(5):974-986, 2006.
  
[3] Hyon, S H,Emura, T,Mita, T, Dynamics-based control of a one-legged hopping robot. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, 2003, 217(2): 83-98.
+
[3] Hyon S.H., Emura T., Mita T. Dynamics-based control of a one-legged hopping robot. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, 217(2):83-98, 2003.
  
[4] Haewon, P,Patrick, M W,Sangbae, K, High-speed bounding with the MIT Cheetah 2: Control design and experiments. International Journal of Robotics Research, 2017, 36(2): 167-192.
+
[4] Park H.W., Wensing P.M., Kim S. High-speed bounding with the MIT Cheetah 2: Control design and experiments. International Journal of Robotics Research, 36(2):167-192, 2017.
  
[5] Terry, P,Piovan, G,Byl, K, Towards precise control of hoppers: Using high order partial feedback linearization to control the hopping robot FRANK. IEEE 55<sup>th</sup> Conference on Decision and Control (CDC) ARIA Resort & Casino, Las Vegas, USA: 2016, 6669-6675.
+
[5] Terry P., Piovan G., Byl K. Towards precise control of hoppers: Using high order partial feedback linearization to control the hopping robot FRANK. IEEE 55<sup>th</sup> Conference on Decision and Control (CDC) ARIA Resort & Casino, Las Vegas, USA, 6669-6675, 2016.
  
<span id='_Ref85812063'></span> [6] Haldane, D W,Yim, J K,Fearing, R S, Repetitive extreme-acceleration (14-g) spatial jumping with Salto-1P. 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) 2017, 3345-3351.
+
<span id='_Ref85812063'></span>  
 +
[6] Haldane D.W., Yim J.K., Fearing R.S. Repetitive extreme-acceleration (14-g) spatial jumping with Salto-1P. 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 3345-3351, 2017.
  
<span id='_Ref85812378'></span>[7] Vermeulen, J, Trajectory generation for planar hopping and walking robots: An objective parameter and angular momentum approach. McGill University, Department of Mechanical Engineering, 2004.
+
<span id='_Ref85812378'></span>
 +
[7] Vermeulen J. Trajectory generation for planar hopping and walking robots: An objective parameter and angular momentum approach. McGill University, Department of Mechanical Engineering, 2004.
  
<span id='_Ref85812199'></span>[8] Li, Z,Huang, Q,Li, K, et al., Stability criterion and pattern planning for humanoid running. Proceedings of the 2004 IEEE International Conference on Robotics & Automation. 2004, 1059-1064.
+
<span id='_Ref85812199'></span>
 +
[8] Li Z., Huang Q., Li, K. Duan X. Stability criterion and pattern planning for humanoid running. Proceedings of the 2004 IEEE International Conference on Robotics & Automation, 1059-1064, 2004.
  
<span id='_Ref85812961'></span>[9] Wu, T Y,Yeh, T J,Hsu, B H, Trajectory planning of a One-Legged robot performing a stable hop. The International Journal of Robotics Research, 2011, 30(8): 1072-1091.
+
<span id='_Ref85812961'></span>
 +
[9] Wu T.Y., Yeh T.J., Hsu B.H. Trajectory planning of a One-Legged robot performing a stable hop. The International Journal of Robotics Research, 30(8):1072-1091, 2011.
  
[10] Shabestari, S S,Emami, M R, Gait planning for a hopping robot. Robotica, 2016, 34(8): 1822-1840.
+
[10] Shabestari S.S., Emami M.R. Gait planning for a hopping robot. Robotica, 34(8):1822-1840, 2016.
  
<span id='_Ref85812382'></span>[11] Ahn, D H,Cho, B K, Optimal periodic hopping trajectory generation for legged robots. IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), Auckland, New Zealand: 2018, 1263-1268.
+
<span id='_Ref85812382'></span>
 +
[11] Ahn D.H., Cho B.K. Optimal periodic hopping trajectory generation for legged robots. IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), Auckland, New Zealand, 1263-1268, 2018.
  
<span id='_Ref85814151'></span>[12] Rehman, F,Ahmed, M M,Memon, N Met al., Time-varying stabilizing control for a hopping robot model during the flight phase. Islamabad: 2006. 400-403.
+
<span id='_Ref85814151'></span>
 +
[12] Rehman F., Ahmed M.M., Memon N.M., Riaz M. Time-varying stabilizing control for a hopping robot model during the flight phase. 2006 IEEE International Multitopic Conference, Islamabad, Pakistan, 400-403, 2006.
  
<span id='_Ref85814567'></span>[13] Guo, Q,Macnab, C,Pieper, J, Hopping with nearly-passive flight phases. 2008 IEEE Conference on Robotics, Automation and Mechatronics, Chengdu, China: 2008, 743-748.
+
<span id='_Ref85814567'></span>
 +
[13] Guo Q., Macnab C., Pieper J. Hopping with nearly-passive flight phases. 2008 IEEE Conference on Robotics, Automation and Mechatronics, Chengdu, China, 743-748, 2008.
  
<span id='_Ref85817660'></span>[14] YONG Enmi, CHEN Lei, TANG Guojin. A survey of numerical methods for trajectory optimization of spacecraft. Journal of Astronautics, 2008, 29(2): 397-406. (In Chinese)
+
<span id='_Ref85817660'></span>
 +
[14] Yong E.-M., Chen L., Tang G.-J. A survey of numerical methods for trajectory optimization of spacecraft (in Chinese). Journal of Astronautics, 29(2):397-406, 2008.  
  
[15] XU Shaobing, LI Shengbo, CHENG Bo. Theory and application of Legendre pseudo-spectral method for solving optimal control problem. Control and Decision, 2014(12): 2113-2120. (In Chinese)
+
[15] Xu S.-B., Li S., Cheng B. Theory and application of Legendre pseudo-spectral method for solving optimal control problem (in Chinese). Control and Decision, (12):2113-2120 , 2014.  
  
<span id='_Ref85817664'></span>[16] GE Xingsheng, CHEN Kaijie. Path planning of free floating space robot using Legendre pseudospectral method. Chinese Journal of Theoretical and Applied Mechanics, 2016, 48(4): 823-831. (In Chinese)
+
<span id='_Ref85817664'></span>
 +
[16] Xingsheng G., Kaijie C. Path planning of free floating space robot using Legendre pseudospectral method (in Chinese). Chinese Journal of Theoretical and Applied Mechanics, 48(4):823-831, 2016.

Latest revision as of 11:15, 8 September 2023

Abstract

The energy optimal motion planning of a hopping robot with three links is investigated in the flight phase. Firstly, the conservation equation of angular momentum of the hopping robot in the flight phase is established which is a nonholonomic constraint. Then the energy consumption of the robot in the flight phase is selected as the optimization goal. Given the initial and terminal positions, the Gaussian pseudospectrum method is used to solve the optimal control problem. The simulation results show that the initial angular momentum has a great influence on the performance of the hopping robot. With the zero initial angular momentum, although the flight time can be selected arbitrarily, the greater the flight time, the smaller the energy consumption, the force required by the robot is greater. Thus, it is necessary to select an appropriate value.

Keywords: Hopping robot, flight phase, nonholonomic constraint, optimal motion planning

1. Introduction

Compared with wheeled or tracked robots, hopping robots move in a jumping manner and are capable of crossing obstacles which are several times their own size. They use discrete landing points to make contact with the ground and have strong adaptability to complex and unstructured terrain. The study of hopping robots has become a research focus in recent years [1]. Among them, Professor Raibert’s team has made groundbreaking research in the field of hopping robots, and their designed model of a single legged telescopic hopping robot provides a reference for subsequent research [2-6].

Before controlling the robot, it is necessary to plan the motion trajectory of the hopping robot [7-11]. Vermeulen [7] planned the robot based on its target motion parameters and used a quintic polynomial to describe the robot’s trajectory. Wu et al. [9]studied hopping robots with flat feet, using Bezier curves to represent the trajectory of active joints, and planning the trajectory based on minimizing driving energy.

In the flight phase, the robot foot is released from the ground. At this time, the only external force on the robot is gravity. The robot meets the principle of conservation of angular momentum, and is a nonholonomic constraint system. Due to the non integrability of nonholonomic constraints, its motion planning problem is much more complex than that of general systems. Rehman et al. [12] used a time-varying feedback control strategy to plan the motion during the flight phase. Guo et al. [13] used the direct single shot method to plan the jumping gait of a robot with four links, and its flight phase was almost passive.

The most commonly used motion planning methods for nonholonomic system can be divided into two categories, namely, the direct method and the indirect method [14-16]. The indirect method is based on the maximum (minimum) value principle, which transforms the optimal motion planning problem into a two-point boundary value problem. Its advantage is that the local optimal solution can be found, but it is difficult to guess the initial solution, and the radius of convergence is small. The direct method uses the parametric method to transform the optimal motion planning problem of the continuous system into a nonholonomic motion planning problem, and then obtains the optimal motion trajectory by solving the non motion planning problem. This method does not need to solve the first order optimal condition, and the radius of convergence is large. Pseudospectral method is the most widely used method among them.

In this paper, the optimal motion planning of a hopping robot with three links in the flight phase is studied. First, the constraint equation of the hopping robot in the flight phase is established according to the conservation principle of angular momentum. Then, the energy optimal motion planning problem is transformed into a nonholonomic motion planning problem by using the Gaussian pseudospectral method, and the problem is solved. The simulation results demonstrate the effectiveness of this method. Because the initial angular momentum has a great impact on the hopping robot. This paper finally analyzes the impact of the initial angular momentum on the hopping performance of the robot.

2. Dynamic model

The kinematics model of the robot in the flight phase is shown in Figure 1. The hopping robot consists of three components: body represented by 1, legs denoted by 2, and feet, namely, 3. In order to simplify the analysis, it is assumed that the motion of the hopping robot is limited to the sagittal plane, without considering the lateral motion. Assuming the length of each member of the robot is , the mass is mi, the position of the centroid Si of the body is , and ( is the proportion factor of each centroid position), and . The rotational inertia of each member around the center of mass is .

Based on a floating coordinate with hip joint position A as the origin, the dynamic model is established. The generalized coordinate of the robot is , where is the absolute coordinate of the body, is the relative angle between the body and legs (counterclockwise is positive), namely, , is the relative angle between the legs and feet, i.e. .

Review 582677700696 5947 ffig1.png
Figure 1. Model of robot during flight phase


During the flight phase, the influence of air drag and internal friction of the robot on the robot’s hopping motion is ignored, and the robot’s total center of mass moves in a parabolic motion with the gravity. If the flight time is , then the horizontal and vertical motion of the center of mass can be written as

(1)

where, and are the horizontal and vertical positions of the robot’s total center of mass at the flight time, respectively. and are the horizontal and vertical velocities of the total center of mass at the flight time, respectively. The position of the robot at the touchdown is completely determined by the flight conditions.

The rotation of the robot can be expressed by the angular momentum of the robot with regarding to the total center of mass. Angular momentum can be calculated as follows:

(2)

where, , , is the position of the centroid of each component, and is the position of the total centroid.

The only external force on the robot in the flight phase is gravity. So the robot meets the principle of conservation of angular momentum about the total center of mass. Supposing that the angular momentum of the robot at the initial moment of the flight phase is , one can obtain:

(3)

where is a function of joint rotation angle. The equation above indicates that the system is a nonholonomic system with Pfaffian constraints, and it has a cyclic coordinate .

During the flight phase, the robot is only equipped with actuators in the hip and ankle joints. So the joint angular velocity and are selected as the control inputs for the system. Eq.(3) can be written in state space form. When do not equal 0, it is an affine nonlinear system with three states and two inputs and drift terms

(4)

where, .

When the initial angular momentum of the system is not zero, , then the system has no balance point.

The optimal trajectory planning of a robot refers to the initial position and terminal position of the given robot, by searching for a set of control inputs to enable the robot to move along a path that satisfies incomplete constraints. Meanwhile, the robot can move from the initial position to the terminal position within a given time , and achieve an extreme performance index.

In robot systems, due to the limited energy that robots can carry, in order to make the robot move for a longer time, it is necessary to consider the energy consumption of the robot. According to the minimum energy consumption theorem, in this paper the energy consumed by the hopping robot during flight phase is selected as the optimal control objective. Due to the fact that the usual driving method for robots is motor, and the energy consumed by the motor is proportional to its velocity, the performance index function can be expressed as follows:

(5)


In the flight phase, the optimal planning problem of a hopping robot can be described as: finding suitable control input variables to achieve the minimum performance index, i.e. Eq.(5). Meanwhile, the state variable and initial time and flight time satisfy the following constraints:

(6)

where and T are constant.

3. Pseudospectral method for solving optimal control problems

In recent years, the pseudospectral method has become one of the important methods for solving optimal control problems [12]. The basic principle of the pseudospectral method is to discretize the continuous optimal control problem at the orthogonal collocation points, and approximate the state and control variables through the global interpolation polynomial. Thus the optimal control problem can be transformed into a nonlinear programming problem (NLP).

According to the different orthogonal collocation points, there are four widely used pseudospectral methods: Gaussian pseudospectral method, Radau pseudospectral method, Legendre pseudospectral method and Chebyshev pseudospectral method. Legendre pseudospectral method has the advantages of convergence speed of exponential function, insensitivity to initial value guess, and large radius of convergence. So Legendre pseudospectral method is adopted in this paper.

The Legendre pseudospectral method uses the roots of orthogonal polynomials as collocation points and global orthogonal polynomials as finite bases. The system’s state and control variables are discretized at the Lendre Guass Lobatto (LGL) point. The Lagrange interpolation polynomial is used to approximate the state and control variables, obtaining the discrete dynamic equations at the points. Thus, the differential operation in the state equation and the integral operation in the performance index function are transformed into algebraic operation, and finally the optimal control problem is transformed into a nonlinear programming problem with the state variables and control variables at the points as the parameters to be optimized.

Dynamic equation:

(7)

Boundary condition:

(8)

Inequality path constraint

(9)

where is the performance indicator, is the Mayer type performance indicator, is the Lagrange type performance indicator, and is the state equation function vector, is the initial and terminal constraint function vector, and is the equation and inequality path constraint function vector.

The calculation process of Legendre pseudospectral method is as follows: first, the value range of the original planning problem is mapped from to the distribution interval of discrete points in the pseudospectral method through time domain transformation .

The Legendre orthogonal polynomial on the interval is

(10)

where represents n-order Legendre polynomials.

In order to achieve better interpolation approximation, , and zeros of the first derivative of the Legendre polynomial is defined as an LGL point, there are control points, denoted as .

Using LGL points as interpolation points, n-order Lagrangian interpolation polynomials is constructed to approximate the continuous state variable and control variable , and obtain the following equations:

(11)
(12)

where, is the -order Lagrangian interpolation basis function,

(13)

where, , satisfies the relationship , if , there is ; if , .

After parameterizing the state variable through interpolation polynomials, the differential operation of the state equation can be approximated as the differential operation of the interpolation basis function, and the derivative of the state variable can be approximated as follows:

(14)

where , is the differential matrix, representing the differential value of Lagrange basis function at each LGL control point, is the th element. One can obtain

(15)


Now, the constraints of the state equation can be transformed into discrete state equations at N+1 LGL control points.

(16)


The boundary and path constraints after discretization can be described as follows:

(17)
(18)

where .

Through Gauss-Lobatto numerical integration, the integral term in the performance index function is transformed into the following algebraic expression:

=
(19)

where, is Gauss weights, defining

(20)


Through the above discretization and approximation processing, the optimal control problem can be further described by Eqs.(7)-(9) as follows: solving the values of the state variable at interpolation points and the control variable at interpolation points , so that the performance index function takes the minimum value and satisfies the constraint conditions of Eqs. (16)-(18).

For the energy optimal path planning problem of the hopping robot in this paper, given the initial position and terminal position of the system, two sets of unknown coefficients and are solved, resulting in a minimal discrete performance index function

(21)


Further, the following discrete system dynamic equation constraints can be satisfied:

(22a)
(22b)
(22c)

where , , and are elements in the state equation of the hopping robot system.

In actual robot control, there are limitations on motor torque and speed, so there are upper and lower limits on the actual control input of the system, which can be expressed as discrete inequality constraints as shown in the following equation:

(23)

where , , is the upper limit of the control input.

4. Results

The physical parameters of the robot based on the hopping pattern of the kangaroo is determined as shown in Table 1.

Table 1. Physical parameters
Component number 1 2 3
Length of rod 0.11 0.26 0.174
Centroid moment separation 0.11 0.105 0.082
Mass of rod 4.24 0.06 0.14
Moment of inertia 0.034 0.0033 0.0038


The initial and terminal positions of the given motion planning of the hopping robot system are and , respectively. The flight time , , and the control constraints are , . The simulation results are shown in Figures 2-4. It can be seen that the hopping robot can complete the motion planning requirements and reach the preset goal position within the given time.

Review 582677700696 2756 ffig2.png
Figure 2. Posture diagram during flight phase


From Figure 3 it can be seen that the joint trajectory of the foot shows a trend of first rising and then falling, which means that the foot lifts inward and then quickly swings downwards during most of the flight phase, preparing to touch the ground. The range of changes in the ankle joint is the largest among the three curves, approximately from 48 ° to 205°. The range of body swing is relatively small, ranging from -16° to 5°, and the changes are relatively gentle.

Review 582677700696 2716 ffig3.png
Figure 3. Joint angles of the hopping robot


Figure 4 is the control input for the hopping robot, which is the input angular velocity of the hip and ankle joints. It can be seen that when the control input exceeds the speed limit, the limit value of the control input is taken as a straight line.

Review 582677700696 8446 ffig4.png
Figure 4. Control input of the hip point


1) The effect of initial angular momentum on hopping performance

In Haldane et al. [6], the stability of the hopping robot’s flight movement was investigated. It was proposed that in the flight stage, when the total angular momentum regarding the robot’s center of mass was very small, the flight movement was in a stable state. Since the angular momentum regarding the robot’s center of mass is conserved in the flight phase, the angular momentum of the robot in flight is determined by the initial angular momentum . has a significant impact on the robot’s movement during the flight phase.

As can be seen from Figure 5, with the increase of the initial angular momentum, the maximum allowable flight stage continues to decrease. When , the maximum duration shows an exponential decreasing trend. Due to the decrease in the duration of the flight phase, the height of the hopping (the maximum height of the robot’s center of mass during the flight phase) decreases, and the foot may collide with the ground. When , the flight phase can be arbitrarily taken. It can be seen from Figure 6 that with the increase of the initial angular momentum, the performance index, i.e. energy consumption, increases accordingly, and the change of energy consumption and initial angular momentum is approximately in a straight line. It is can be drawn a conclusion that the existence of initial angular momentum is a very unfavorable factor for motion planning. Therefore, in the control process, the initial angular momentum at the take-off should be zero as far as possible.

Review 582677700696 2565 ffig5.png
Figure 5. Maximum flight time vs. initial angular momentum


Review 582677700696 7008 ffig6.png
Figure 6. Performance index vs. initial angular momentum


2) The effect of flight time on hopping performance

In this section, the impact of flight time on hopping performance is discussed when initial angular momentum equals 0. Figure 7 shows the curve of performance indicator as a function of flight time. When the initial angular momentum is zero, the flight time can be arbitrarily selected. It can be seen that as the flight time increases, the performance indicator decreases, that is, the energy consumption decreases, and changes sharply within 0.5 seconds. As time increases, the robot has sufficient time to change the position of the joint angle, resulting in a smaller input and lower energy consumption. But at the same time, as time increases, the height of the hopping increases, and the vertical velocity of the center of mass at take-off also increases, requiring the robot to provide greater force . Therefore, it is necessary to comprehensively measure and select the appropriate time.

Review 582677700696 6393 ffig7.png
Figure 7. Performance indicator vs. flight time


From Figure 8, it can be seen that as the flight time decreases, the movement distance of the hopping robot’s center of mass in the horizontal direction decreases, and the height in the vertical direction decreases, resulting in the robot’s foot height being less than 0 in the first 0.02 seconds, indicating a collision between the foot and the ground. Figure 9 shows the posture diagram. It can been seen that at the end of the flight phase the foot of the hopping robot touch the ground. It indicates that the flight phase is over. The negative height of the robot’s foot during flight phase indicates a collision between the robot’s and the ground.

Review 582677700696 9139 ffig8.png
Figure 8. Trajectory of tip of the foot at different flight times


Review 582677700696 3895 ffig9.png
Figure 9. Posture diagram during flight phase at

5. Conclusions

In this paper the energy optimal motion planning problem of the hopping robot with three links in the flight phase is investigated. First, the conservation equation of angular momentum of the hopping robot in the flight phase is established which is a non holonomic constraint. Then, the energy consumption of the robot during the flight phase is selected as the optimization goal. Given the initial and terminal positions, the Gaussian pseudospectral method is used to solve the optimal control problem. The conclusion can be drawn as follows:

1) The initial angular momentum has a great impact on the performance of the hopping robot. The larger the initial angular momentum is, the smaller the maximum allowable flight time of the robot will be. When the initial angular momentum is zero, the flight time can be chosen arbitrarily;

2) When the initial angular momentum is zero, the longer the flight time is, the smaller the energy consumption is, and the greater the flight distance and height are. However, the higher the velocity of the robot in the vertical direction of the center of mass at flight, the greater the force required by the robot. The smaller the flight time, the smaller the flight distance and altitude, and the less force required for flight. However, the energy consumption increases, and the robot’s foot may collide with the ground. So it is necessary to comprehensively measure and select a suitable time for flight.

References

[1] Raibet M.H. Legged robots that balance. Cambridge, the MIT Press, 1986.

[2] Ahmadi M., Buehler M. Controlled passive dynamic running experiments with the ARL-Monopod II. IEEE Transactions on Robotics, 22(5):974-986, 2006.

[3] Hyon S.H., Emura T., Mita T. Dynamics-based control of a one-legged hopping robot. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, 217(2):83-98, 2003.

[4] Park H.W., Wensing P.M., Kim S. High-speed bounding with the MIT Cheetah 2: Control design and experiments. International Journal of Robotics Research, 36(2):167-192, 2017.

[5] Terry P., Piovan G., Byl K. Towards precise control of hoppers: Using high order partial feedback linearization to control the hopping robot FRANK. IEEE 55th Conference on Decision and Control (CDC) ARIA Resort & Casino, Las Vegas, USA, 6669-6675, 2016.

[6] Haldane D.W., Yim J.K., Fearing R.S. Repetitive extreme-acceleration (14-g) spatial jumping with Salto-1P. 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 3345-3351, 2017.

[7] Vermeulen J. Trajectory generation for planar hopping and walking robots: An objective parameter and angular momentum approach. McGill University, Department of Mechanical Engineering, 2004.

[8] Li Z., Huang Q., Li, K. Duan X. Stability criterion and pattern planning for humanoid running. Proceedings of the 2004 IEEE International Conference on Robotics & Automation, 1059-1064, 2004.

[9] Wu T.Y., Yeh T.J., Hsu B.H. Trajectory planning of a One-Legged robot performing a stable hop. The International Journal of Robotics Research, 30(8):1072-1091, 2011.

[10] Shabestari S.S., Emami M.R. Gait planning for a hopping robot. Robotica, 34(8):1822-1840, 2016.

[11] Ahn D.H., Cho B.K. Optimal periodic hopping trajectory generation for legged robots. IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), Auckland, New Zealand, 1263-1268, 2018.

[12] Rehman F., Ahmed M.M., Memon N.M., Riaz M. Time-varying stabilizing control for a hopping robot model during the flight phase. 2006 IEEE International Multitopic Conference, Islamabad, Pakistan, 400-403, 2006.

[13] Guo Q., Macnab C., Pieper J. Hopping with nearly-passive flight phases. 2008 IEEE Conference on Robotics, Automation and Mechatronics, Chengdu, China, 743-748, 2008.

[14] Yong E.-M., Chen L., Tang G.-J. A survey of numerical methods for trajectory optimization of spacecraft (in Chinese). Journal of Astronautics, 29(2):397-406, 2008.

[15] Xu S.-B., Li S., Cheng B. Theory and application of Legendre pseudo-spectral method for solving optimal control problem (in Chinese). Control and Decision, (12):2113-2120 , 2014.

[16] Xingsheng G., Kaijie C. Path planning of free floating space robot using Legendre pseudospectral method (in Chinese). Chinese Journal of Theoretical and Applied Mechanics, 48(4):823-831, 2016.
Back to Top

Document information

Published on 18/09/23
Accepted on 31/08/23
Submitted on 05/06/23

Volume 39, Issue 3, 2023
DOI: 10.23967/j.rimni.2023.09.002
Licence: CC BY-NC-SA license

Document Score

0

Views 2
Recommendations 0

Share this document

claim authorship

Are you one of the authors of this document?