# Anti-Slip Gait Planning for a Humanoid Robot in Fast Walking
## 5 Simulation
Case 3: Plan the swing leg's motion in x direction by quartic interpolation, and then compensate for the reference ZMP. The purpose of setting Case 3 is to examine the effect of the swing leg planning method on yaw moment. Case 4: Plan the swing leg's motion in x direction by quartic interpolation, but don't compensate for the reference ZMP. The purpose of setting Case 4 is to demonstrate the shortcomings of traditional gait planning methods during fast walking. Case 2-4 use the same parameters as those in Case 1 that are listed in Table 1. In Case 2 and Case 4, the hip trajectory is planned by using the preview control method proposed by [PERSON] based on the conventional linear inverted pendulum model [21]. In Case 3 and Case 4, the swing leg motion planning is inspired by the third spline interpolation method proposed by [PERSON] [20]. Below are comparison results among the four cases. Firstly we have compared the ZMP following-up performances in Case 1 and Case 2, and the results are shown in Figure 5. The swing legs in Case 1 and Case 2 are planned in the same way, but the ZMP compensation is only performed in Case 1. In Case 2, the actual ZMP in the x direction is affected strongly by the motion of the swing leg: in the first half of the single-support phase of each step, the actual ZMP approaches the rear edge of the support rectangle, but in the latter half, it quickly moves to the front edge of the support rectangle and sometimes goes beyond it; and in the y direction, the swing leg has similar effects on the ZMP. The swing leg in Case 2 applies an additional torque in the roll direction to the trunk due to its gravity once it is off the ground, which biases the actual ZMP toward the inner edge of the support rectangle. Eventually, the swing leg touches the ground in advance, and the sole collides with the ground, causing the ZMP trajectory fluctuate drastically in double-support phase. While in case 1, the robot has a higher stability benefitting from the ZMP compensation. Whether in the x direction or the y direction, the actual ZMP trajectory is closer to the center line of the support rectangle and keeps itself inside the support polygon all the time. Therefore, the landing is smoother and the resulting impact force is smaller, which lead to smaller fluctuation in the ZMP trajectory. Secondly, we have compared the moments required to walk as planned in Case 1 and Case 3. Case 1 and Case 3 differ in the planning method of the swing leg in x direction: Case 1 uses the friction constraint method proposed in this paper, while Case 3 uses the traditional quartic interpolation method. In order to ensure there is no slip occurring, we set the ground friction coefficient to be 2 and then examine the moment between the support leg and the ground during walking. Figure  
Finally, Figure 7 shows the yaw angles of the robot during travel in all the 4 cases, which are measured by the IMU. In Case 1, the maximum yaw angle of the robot is \(0.36^{\circ}\), and the yaw angle at the last stop is \(-0.16^{\circ}\). Such a small yaw angle is negligible, indicating that the robot has almost no  
Figure 5: ZMP trajectory. The actual ZMP is calculated based on the data measured by the six-dimensional F-T sensor. The ZMP boundary is the boundary of the sole of the support leg. (a) Case 1; (b) Case 2. The ZMP trajectories are nearer to the boundaries in Case 2 than in Case 1. Figure 6: The moment between the left sole and ground in a single-support phase. The actual moments in Case 1 and Case 3 are measured by the six-dimensional F-T sensor. rotational slip during the whole motion. In Case 2, the robot shows a noticeable rotational slip and the maximum yaw angle and the final yaw angle are both \(-1.93^{\circ}\). The reason for this can be found from the ZMP trajectory in Figure 5b: the ZMP stability margin is low, the robot cannot always maintain the planned posture, and there is a tendency to roll and tilt forward and backward. In addition, the swing leg touches the ground in advance and collides with the ground.