# Simultaneous Prevention of Rotational and Translational Slip for a Humanoid Robot
## 3 Rotational Slip Prevention
### Yaw Moment Compensation for Humanoid Robot Walking  
In order to prevent rotational slipping, the yaw moment compensation for humanoid robot walking is designed based on the yaw moment compensation mechanism of human walking introduced above. As the rules of human walking describe above, arm swing and waist rotation could reduce the yaw moment to a certain degree. Thus, the yaw moment compensation for humanoid robot walking consists of arm swing and waist rotation.  
Since the arm swings in the back-and-forth pattern during human walking, the shoulder joint of humanoid robot that makes the arm swing in the pitch direction should rotate and other arm joints of humanoid robot should be fixed. According to the five stages of the arm swing described above, the acceleration of the shoulder joint \(\ddot{\theta}_{a}(t)\) is designed as follows:  
\[\ddot{\theta}_{a}(t)=\begin{cases}k_{a}D_{step}a_{j}t,&0\leq t\leq T_{1}\\ k_{a}D_{step}a_{max},&T_{1}<t\leq\ T-T_{1}\\ -k_{a}D_{step}a_{j}(t-T),&T-T_{1}<t\leq\ T+T_{1}\\ -k_{a}D_{step}a_{max},&T+T_{1}<t\leq T_{f}-T_{1}\\ k_{a}D_{step}a_{j}(t-T_{f}),&T_{f}-T_{1}<t\leq T_{f}\\ \end{cases} \tag{5}\]  
where \(a_{j}\) is the maximum value of the jerk for the shoulder joint, which is determined by the actuators; \(D_{step}\) is the step length for the designated walking speed; \(k_{a}\) is the adjustable coefficient of the jerk for real application, which should satisfy \(0\leq k_{a}\leq 1/D_{step}\); \(a_{max}\) is the maximum acceleration for the shoulder joint; \(T_{1}\) is the predefined time for the acceleration increase or decrease which is derived from \(T_{1}=a_{max}/a_{j}\); \(T_{f}\) is the planning time for the motion design, which should satisfy \(T_{f}=2T\).  
Then the three mass model is used to compute the constraint of yaw moment [24]. The approximated moment in the vertical direction of one single swing arm, \(M_{a}(t)\), is given as  
\[M_{a}(t)=\frac{1}{2}L_{a}m_{a}\ddot{\theta}_{a}(t)W_{s} \tag{6}\]  
where \(m_{a}\) is the mass of the swing arm; \(L_{a}\) is the length of the swing arm; \(W_{s}\) is the distance between the projection point of the swing arm center on the ground and the projection point of CoM on the ground.  
Since the waist rotation is related to the walking speed according to the yaw moment compensation mechanism of human walking, the rotation angle of waist is designed as follows:  
\[\theta_{w}(t)=k_{w}psin(\frac{\pi t}{T_{step}}) \tag{7}\]  
where \(\theta_{w}\) is the rotation angle of the waist; \(k_{w}\) is the adjustable coefficient for real application which should satisfy \(0\leq k_{w}\leq\theta_{max}/v\); \(v\) is the walking speed of humanoid robot; \(T_{step}\) is the walking cycle time. \(\theta_{max}\) is the norm of the predefined boundary value of the waist rotation angle.  
The approximated moment in the vertical direction of the waist, \(M_{w}(t)\), is given as  
\[M_{w}=(I_{w}+m_{w}d_{w}^{2})\ddot{\theta}_{w}(t) \tag{8}\]where \(I_{w}\) is the moment of inertia of the waist; \(d_{w}\) is the distance between the projection point of CoM on the ground and the center of the foot-ground contact area.  
The rotational slip may be prevented unless the moments in the vertical direction of the swing arm and waist satisfy the following constraint:  
\[\begin{split}& M_{w}+M_{a}+M_{swg}\leq M_{ftmax}\\ & M_{w}(k_{w})+M_{a}(k_{a})+M_{swg}\leq M_{ftmax}\end{split} \tag{9}\]  
where \(M_{ftmax}\) is the maximum frictional moment provided by the contact conditions, which can be estimated using the method in [10]. The constraints of the adjustable parameters \(k_{a}\) and \(k_{w}\) for rotational slip prevention is depicted as  
\[(k_{a},k_{w})\in\Omega \tag{10}\]  
where \(\Omega\) is the area for the restricted values determined by \(0\leq k_{a}\leq 1\), \(0\leq k_{w}\leq\theta_{max}/v\), and the constraints of Equation (9).