# Simultaneous Prevention of Rotational and Translational Slip for a Humanoid Robot
## 4 Translational Slip Prevention
### Translational Slip Prevention Control  
When the ratio of tangential force to normal reaction force is greater than the coefficient of friction, the humanoid robot may slip. In order to prevent this translational slipping, the ratio should be reduced by controlling the acceleration of CoM and swing leg. However, the acceleration of swing leg mainly causes rotational slip, which has been eliminated by the above human-inspired walking pattern generator. Hence, the translational slip caused by the acceleration of swing leg is negligible. Therefore, only the CoM acceleration is concerned.  
According to the above, a novel CoM acceleration compensation controller is designed. The CoM acceleration compensation consists of two parts. One is vertical and the other is horizontal. Compared with the compensation of horizontal CoM acceleration, the compensation of vertical CoM acceleration has less effect on ZMP, which determines the stable walking of a humanoid robot. Thus, the vertical CoM acceleration is compensated first. If the translational slip still occurs after compensating the vertical CoM acceleration, the horizontal CoM acceleration will be compensated.  
The acceleration of swing leg is ignored, so \(\Delta\dot{z}_{sug}\) and \(\Delta\ddot{x}_{sug}\) is treated as 0. The compensation of vertical CoM acceleration is first designed to produce a desired ZMP increment \(\Delta x_{z}\), as follows:  
\[\Delta\ddot{z}_{c}=\begin{cases}k/[a(x_{z}-x_{c}-\dot{x}_{c}\omega\Delta t)], \quad\left|\begin{array}{ll}F_{x}/F_{z}\end{array}\right|\leq\mu_{0}\\ F_{z}/m-g/a-b\dot{z}_{sug}/a,\quad\left|\begin{array}{ll}F_{x}/F_{z}\end{array} \right|\geq\mu_{0}\end{cases} \tag{18}\]  
where \(k=a(\ddot{z}_{c}+g)\dot{x}_{c}\Delta t-a\ddot{x}_{c}\dot{z}_{c}\Delta t+b( \ddot{z}_{sug}+g)\dot{x}_{sug}\Delta t-b\dot{x}_{sug}\dot{z}_{sug}\Delta t-(g+a \ddot{z}_{c}+b\dot{z}_{sug})\Delta x_{z}\). In this situation, \(\Delta\dot{x}_{c}\) is considered to be 0. If \(\Delta\dot{z}_{c}\) satisfies the constraint of Equation (4), then the CoM acceleration compensation control is finished.  
However, if \(\Delta\ddot{z}_{c}\) cannot satisfy the constraint of Equation (4), the actual \(\Delta\ddot{z}_{c}\), which produces \(\mu_{0}\), will be adopted. Meanwhile, the horizontal CoM acceleration is compensated. After \(\Delta\ddot{z}_{c}\) has been determined, the compensation of horizontal CoM acceleration is determined as  
\[\Delta\ddot{x}_{c}=\begin{cases}[k-a(x_{z}-x_{c}-\dot{x}_{c}v\Delta t)]/\big{[}a (z_{c}+\dot{z}_{c}\Delta t)\big{]},&\mid F_{x}/F_{z}\mid\leq\mu_{0}\\ (g+a\ddot{z}_{c}+b\ddot{z}_{sug})\mu_{0}-b\dot{x}_{sug}/a-b\ddot{x}_{c}/a,&F_{x }/F_{z}>\mu_{0}\\ -(g+a\ddot{z}_{c}+b\ddot{z}_{sug})\mu_{0}-b\dot{x}_{sug}/a-b\dot{x}_{c}/a,&F_{x }/F_{z}<-\mu_{0}\end{cases}. \tag{19}\]  
The vertical CoM acceleration is compensated at first, as Equation (18) shows which has less influence on ZMP. If the constraint of Equation (4) is still unsatisfied, the horizontal CoM acceleration is compensated. Meanwhile, the magnitude of CoM acceleration compensation is limited in actual experiments. Therefore, this CoM acceleration compensation control is able to prevent the translational slip while preserving the ZMP in the support polygon.