# Simultaneous Prevention of Rotational and Translational Slip for a Humanoid Robot
## 2 Dynamics Model of Slip Prevention
### The Three Mass Model  
A humanoid robot is a highly non-linear and strong coupling system with complex dynamics and kinematic constraints. It is difficult to estimate the current state by this complicated model. In order to obtain the real-time state of the robot quickly, the model of the humanoid robot should be simplified. Meanwhile, as the introduction describes, the simplified model should also take the swing leg into consideration. Hence, we utilized a three mass model to analyze slip prevention. The three mass model proposed in this paper consists of three point masses, as Figure 2 depicts. One of the point masses is at the end of the inverted pendulum, and the other two are at the ankle of the support leg and the swing leg. Figure 1: Overview of the control architecture for translational and rotational slip prevention. To analyze the rotational slip, the lateral plane is shown in Figure 1(a). When the walking speed and the foot trajectories of the robot have been designated, the dynamics of the swing leg is derived. The yaw moment of the swing leg for the robot is calculated as  
\[M_{swg}=m_{swg}d_{h}\ddot{x}_{swg} \tag{1}\]  
where \(M_{swg}\) is the yaw moment of the swing leg; \(m_{swg}\) is the mass of the swing leg; \(d_{h}\) is the distance between the projection point of the swing leg center on the ground and the projection point of CoM on the ground; \(\ddot{x}_{swg}\) is the acceleration of swing leg in \(x\) direction. Once the yaw moment of the swing leg is larger than the friction moment, the support leg of the humanoid robot may rotate on the ground and deviate the robot from its desired path. In order to prevent this rotational slipping, the yaw moment of the swing leg should be reduced, which is realized by a human-inspired walking pattern generator as the following section describes. To study the translational slip, the sagittal plane is shown in Figure 1(b). \(P_{C}(x_{C},z_{C})\) is the position of CoM and \(P_{z}(x_{z},z_{z})\) is the position of ZMP. The ground reaction force to the support leg is decomposed into two parts. One is horizontal and the other is vertical. The horizontal and vertical forces are computed as  
\[F_{x}=m\ddot{x}_{c}+m_{swg}\ddot{x}_{swg} \tag{2}\] \[F_{z}=m\ddot{z}_{c}+mg+m_{swg}(g+\dot{z}_{swg})+m_{supg}\]  
where \(F_{x}\) and \(F_{z}\) are the horizontal and vertical reaction forces, respectively; \(m\), \(m_{swg}\), \(m_{sup}\), and \(m_{total}\) are the mass of inverted pendulum, the swing leg, the support leg, and the whole model, respectively; \(\ddot{x}_{c}\) and \(\ddot{z}_{c}\) are the horizontal and vertical acceleration of CoM, respectively; \(\ddot{x}_{swg}\) and \(\ddot{z}_{swg}\) are the horizontal and vertical acceleration of the swing leg, respectively; \(g\) is the gravity acceleration; \(h\) is the height of the CoM. It is obvious that the humanoid robot may slip when the ratio of tangential force to normal reaction force is greater than the coefficient of the friction between the foot sole and the ground. The horizontal force, \(F_{x}\), is a tangential force, while the vertical force, \(F_{z}\), is a normal reaction force. In order to prevent translational slipping, the following equation should be satisfied:  
\[|F_{x}/F_{z}|\leq\mu_{0} \tag{3}\]  
where \(\mu_{0}\) is the threshold of the coefficient of friction. The material of the foot sole and the ground is known, so the coefficient of static friction between the foot sole and the ground surface is estimated. Then, the threshold of the coefficient of friction, \(\mu_{0}\), is set to be smaller than this estimated coefficient of static friction in order to handle the ground surface of this material. Figure 2: Three mass model for humanoid robot. Then, by substituting Equation (2) into Equation (3), the acceleration constraint can be derived as  
\[\mid F_{x}/F_{z}\mid=\mid(ax_{c}+b\bar{x}_{sug})/(a\bar{a}_{c}^{\mu}+b\bar{a}_{ sug}^{\mu}+g)\mid\leq\mu_{0} \tag{4}\]  
where \(a=m/m_{total}\) and \(b=m_{sug}/m_{total}=m_{sup}/m_{total}\).