3.1. Examples
To prove the feasibility of the method proposed in this paper, two examples are given. The structural parameters of the robot are shown in
Table 1. The variable (
a2,
b2) represents the coordinates of the hip joint in the moving coordinate system
Ot–
XtYtZt, as shown in
Figure 2b. The thigh and the calf legs are cylinders, and the section radius
r and length
h are given in
Table 1. For example 1, the known parameters are shown in
Table 2.
v1 and
v2 are the velocities of the trunk at points
O1 and
O3, respectively; (
x1,
y1,
z1) and (
x2,
y2,
z2) are the coordinates of points
O1 and
O2, respectively.
Φ0 is the trunk posture angle at the moment of landing.
Ψ0,
ZD, and
ZE are the given values shown in Equation (26).
To ensure the motion stability of the robot, the trunk movement trajectory and posture change rule are assumed cubic functions, and the polynomial coefficients need to be determined. In the descending phase of the trunk, the trajectory equation and the posture equation of the trunk have 12 undetermined polynomial coefficients. The position and the velocity of the trunk at
O1 and
O2 are known, the angle and angular velocity of the trunk at
O1 and
O2 are known, and the trunk does not rotate around the
Zt axis. By substituting the boundary conditions into Equations (1) and (3), all polynomial coefficients can be expressed as functions of time. In the ascending phase of the trunk, the position and the velocity of the trunk at
O2, the velocity direction of the trunk at
O3, the trunk angle and the angular velocity at
O2, and the trunk angular velocity at
O3 are known. The relationship between the undetermined coefficients and the movement time can also be obtained by substituting the boundary conditions into Equations (1) and (3). However, not all polynomial coefficients can be expressed in time. Two coefficients in Equation (1) and three coefficients in Equation (3) still need to be determined. To sum up, the optimization variables involved in the trunk motion to be determined include
t1 (movement time of trunk in the descending phase),
t2 (movement time of trunk in the ascending phase),
a12,
a22,
d12,
d22, and
d32. The optimization variables also include leg landing point parameters
h1i,
h2i,
dki, and
φki. The initial ranges of the optimization variables are listed randomly in
Table 3. The weight coefficients are
w1 = 0.0755,
w2 = 0.0464,
w3 = 0.5984,
w4 = 0.1305,
w5 = 0.0623, and
w6 = 0.0869. For the hierarchical bee colony algorithm, the number of honey sources is 100, the number of leading bees is 100, and the maximum number of iterations is 100. The optimization results obtained by the method proposed in this paper are shown in
Table 3.
Figure 3a,b show the motion sequence when the robot changes motion direction during running. In the descending phase of the trunk, the two forelegs of the robot are in contact with the ground, and the center of mass of the trunk moves 243.72 mm in 0.8 s. In the ascending phase of the trunk, the two hindlegs of the robot are in contact with the ground, and the center of mass of the trunk moves 492.58 mm in 0.3 s.
Figure 3c shows the trajectory of the center of mass of the trunk. When the forelegs of the robot touch the ground, the motion direction vector of the trunk is (0, 0, 1). At the moment when the hindlegs of the robot leave the ground, the motion direction vector of the trunk is (1.74, 0.5, 1.84). From the top view, the included angle of the direction vector is 28.08°, and the running direction of the robot changes clearly.
Figure 3d shows the change of trunk posture. The proper change of body posture is conducive to keeping the good dynamic stability of the robot. The angles of the robot around the three axes at the moment of leaving the ground are −13.01°, 32.69°, and 19.81°. The changes of angular velocities obtained by the method described in
Section 2.4 are shown in
Figure 3e. The angular velocity of the robot at the moment of leaving the ground is zero, and the trunk of the robot will not rotate significantly in the flight phase.
Figure 3f shows the positions of the landing points of the legs. In the descending phase of the trunk, the coordinates of the landing point of the two forelegs are (200, 0, and 243.81 mm) and (−62.01, 0, and −107.17 mm). In the ascending phase of the trunk, the landing point coordinates of the two hindlegs are (−151.93, 0, and 0.04 mm) and (−32.88, 0, and 99.98 mm). The leg landing points are no longer symmetrical along the
Z0 axis, and the legs have evident adduction/abduction angles. The maximum leg swing angles of the forelegs are 41.04° and 41.09°, and the maximum leg swing angles of the hindlegs are 45.09° and 41.00°. This outcome is consistent with the analysis results of the movement mechanism of the cheetah when it turns during running, as shown in
Figure 1a.
The dynamic performance of the cheetah-inspired quadruped robot during steering is shown in
Figure 4. The change of the total inertia moment of the robot is shown in
Figure 4a. In the descending phase of the trunk, the amplitude of the total inertia moment of the robot is small and changes gently. When the trunk reaches the lowest point
O2, the total inertia moments of the robot along the three axes are 0.99, −0.12, and −0.73 N·m. In the ascending phase of the trunk, the total inertia moment increases substantially but then decreases rapidly because the robot needs to obtain a large acceleration in a short time. When the trunk reaches point
O3, the total inertia moments of the robot along the three axes are −4.64, 0.94, and −0.31 N·m.
Figure 4b shows the changes of the total inertia moment before and after optimization. “
B” and “
A” refer to before and after optimization, respectively.
E(
MtI),
m(
MtI), and
V(
MtI) represent the end value, the mean, and the variance of the total inertia moment, respectively. The total inertia moment before optimization is calculated by substituting the initial parameters.
Figure 4b shows that the total inertia moment decreases considerably after optimization. In the descending phase of the trunk, the maximum reductions of
E(
MtI),
m(
MtI), and
V(
MtI) after optimization are 54.22%, 47.79%, and 78.96%, respectively. In the ascending phase of the trunk, the maximum reductions of
E(
MtI),
m(
MtI), and
V(
MtI) after optimization are 99.6%, 97.7%, and 99.9%, respectively. The dynamic stability of the robot is remarkably improved.
Figure 4c shows the distance from ZMP to the connecting line between the two landing points during the descending phase of the trunk. The average value of the distance is 9.08 mm. ZMP is near the connecting line of two points. The deviation is small compared with the size of the robot, and the robot has good dynamic stability.
Figure 4d shows the mean and variance of driving torques. “J-1,” “J-2,” and “J-3” represent hinges 1, 2, and 3, respectively, as shown in
Figure 1b. The maximum difference between the mean values of driving torques of the different joints is only 2.8 N/m, and the driving torques change smoothly with a slight difference in amplitude. Moreover, the energy consumption of the robot during movement is 27.96 J. The above analysis results reveal that the optimized indices that are contained in the minimum index system are very small, and the indices contained in the range index system are within reasonable ranges. The robot has good dynamic stability by using the parameters of the leg postures and the driving torques obtained by the method proposed in this paper.
For example 1, the robot turns left during running from the top view, thus the projection of the motion direction vector on the ground of the robot at the moment of leaving the ground is counterclockwise relative to that of the robot at the moment of landing. To prove the feasibility of the method proposed in this paper further, an example of the robot turning to the right is given. The known values remain unchanged, as shown in
Table 2. The initial range of optimization variables and optimization results are shown in
Table 4 and
Table 5.
The optimization results for example 2 are shown in
Figure 5.
Figure 5a,b show the motion sequence of the robot for example 2. In the descending phase of the trunk, the center of mass of the trunk moves 243.72 mm in 0.8 s. In the ascending phase of the trunk, the center of mass of the trunk moves 337.3 mm in 0.22 s.
Figure 5c shows the change of trunk posture. Similarly, the angular velocity of the trunk at the moment of leaving the ground is zero.
Figure 5d shows the positions of the landing points of the legs. The maximum leg swing angles of the forelegs and hindlegs are (53.30°, 48.10°) and (33.75°, 27.71°), respectively. The dynamic performance of the cheetah-inspired quadruped robot during steering is shown in
Figure 5e,f.
Figure 5e shows the changes of the total inertia moment before and after optimization. Similarly, the total inertia moment before optimization is calculated by substituting the initial parameters. Compared with those before optimization, in the descending phase of the trunk, the maximum reductions of
E(
MtI),
m(
MtI), and
V(
MtI) after optimization are 45.8%, 46.9%, and 68.8%, respectively. In the ascending phase of the trunk, the maximum reductions of
E(
MtI),
m(
MtI), and
V(
MtI) after optimization are 98.89%, 90.2%, and 97.57%, respectively. Moreover, the total inertia moments of the robot around the three axes at the moment of leaving the ground are −4.7069, −0.5166, and −3.9464 N·m within small ranges. This finding shows that the robot has good dynamic stability.
Figure 5f shows the mean and the variance of the driving torques. The maximum difference between the mean values of driving torques of the different joints is only 5.88 N/m, and the variance is not too large.
3.2. Simulation
Two examples are simulated with Webots to verify that the robot can turn quickly while running and has good dynamic stability, and the simulation videos are shown in
Supplementary Materials. Each example contains two continuous running cycles. The structural parameters of the robot are consistent with theoretical calculation. Since the robot has a long flight time during running, the stability of the robot is directly reflected by the rotation angle of its trunk. For simulation example 1, the robot turns left continuously while running. Taking the joint angles and driving torques obtained by theoretical calculation as input for the first running cycle, the input parameters of the robot in the second running cycle can be calculated by the same method. The top view of the motion sequences of the robot in two cycles is shown in
Figure 6a.
O1,
O2 and
O3 refer to the position of the center of mass of the trunk shown in
Figure 2a, and
O4 refers to the highest point of the robot in the flight phase. The robot rotates 28.08° around the vertical axis in both cycles, and the motion direction changes substantially. The trunk rotation angles corresponding to
Figure 6a is shown in
Figure 6c. In the descending and ascending phases of the trunk of the robot in the first running cycle, the trunk rotation angles are exactly the same as those shown in
Figure 3d. From one perspective, it proves the correctness of theoretical calculation; conversely, it can also show that the robot moves according to the predetermined rules in the descending and ascending phases of trunk, without movement failure, such as rollover. In the flight phase, the trunk posture of the robot almost remains unchanged. The maximum rotation angles of the trunk in two cycles around the three axes are −2.95°, 3.75°, and 3.32°. This finding shows that the robot has small angular velocity at the moment of leaving the ground, which can be seen in
Figure 6e, and it also proves the correctness of the proposed two-level stability index system. For simulation example 2, the top views of the motion sequences of the robot and the trunk rotation angle are shown in
Figure 6b,d, respectively. The robot rotates −28.08° around the vertical axis in both cycles. In the descending and ascending phases of the trunk of the robot in the first cycle, the trunk rotation angles are exactly the same as those shown in
Figure 4c. In the flight phase, the maximum rotation angles of the trunk in two cycles around the three axes are 1.88°, 0.92°, and −3.72°. The change of the angular velocity of the trunk corresponding to simulation example 2 is shown in
Figure 6f, and the angular velocity of the robot at the moment of leaving the ground in two cycles is approximately zero. The rotation angles of the trunk in the flight phases and the angular velocity of the trunk at the moment of leaving the ground are within small ranges, and the robot shows good dynamic stability.
The above simulation results show that the proposed method in this paper can make the trunk posture of the robot stable and achieve good dynamic stability in high-speed steering motion by controlling the leg postures and the driving torques. The cheetah-inspired quadruped robot does not overturn or roll over due to excessive velocity and change of movement direction, so that the movement fails.