# Kinematic Tripod (K3P): A New Kinematic Algorithm for Gait Pattern Generation
## 3 Robot Description and Nomenclature  
In this section, we will describe the radial hexapod robot on which the K3P algorithm was tested, as well as the nomenclature used (see Table 1). Figure 1(a) shows the structure of the robot, the main body is circular and the six limbs are evenly distributed along its perimeter; with the center of mass (CoM) at the origin of the \(B\) reference frame [14; 19; 29]. Each limb has three DoF as shown in Figure 1(b). By convention, all \(Z\) axes are coaxial with the rotation's axis of each joint. With respect to \(B\), the mounting point for the \(i\)-th limb is denoted by the \(M_{i}\) reference frame. The first joint provides the protraction and retraction movements, marked by the variable \(\theta_{s}\) in the \(S\) reference frame. The \(L\) reference frame is located in the second DoF, denoted as \(\theta_{L}\); it provides the depression and elevation movements. The third DoF is marked as \(\theta_{k}\) in the \(K\) reference frame, providing flexion and extension movements. The length of every link are \(l_{c}\), \(l_{f}\), and \(l_{t}\) for the coxa, femur, and tibia, respectively. The supporting point \(SP\) is at the point where the limb makes contact with the ground, supporting the body of the robot. \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Description** \\ \hline \multicolumn{3}{c}{Physical parameters of a limb} \\ \(\theta_{s}\), \(\theta_{l}\), \(\theta_{k}\) & The three DoF of a limb. \\ \(l_{c}\), \(l_{f}\), \(l_{t}\) & Length of the coxa, femur, and tibia, respectively. \\ \hline \multicolumn{3}{c}{Physical parameters of the gait} \\ \(l_{h}\) & Body clearance. \\ \(l_{max}\) & Maximum length of the gait. \\ \(l_{g}\) & Limb clearance. \\ \hline \multicolumn{3}{c}{Gait state variables} \\ \(\eta\) & Swing tripod is landing, moving, or taking off \(\in\{-1,0,1\}\). \\ \(\kappa\) & Parity \(\in\{-1,1\}\). \\ \(\mathbf{P}\) & Support positions for the even and odd limbs. \\ \(\rho\) & Instantaneous turning radius. \\ \(\mathbf{Z}\) & Touch sensor located at \(SP\). \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Nomenclature. The six limbs are divided into two subsets, three non-contiguous limbs form the odd legs subset, while the rest are grouped in the even legs subset (see Figure 2a). Each subset defines a tripod support structure with its own reference frame, \(E\) and \(O\), for the even and odd subsets, respectively. The subset supporting the robot defines the parity of the gait \(\kappa\); if \(\kappa=1\), even limbs support the robot. \begin{table}
\begin{tabular}{c c} \hline
**Parameter** & **Description** \\ \hline \hline \multicolumn{3}{c}{K3P input variables} \\ \hline \(\mathbf{v}_{c}\) & Velocity command vector. \\ \({}^{B}\mathbf{X}_{k}\) & The \(k\)-th current position of the legged robot. \\ \(\mathbf{K}_{p}\) & The proportional gains for the PD controller. \\ \(\mathbf{K}_{d}\) & The derivative gains for the PD controller. \\ \hline \multicolumn{3}{c}{Thresholds and work ranges} \\ \hline \(l_{\rho}\) & Turning radius threshold. \\ \(\varphi_{L}\) & Angle threshold for two consecutive limbs. \\ \(\theta_{l}\) & Range of movement for the swing joint. \\ \(\theta_{k}\) & Range of movement for the knee joint. \\ \hline \end{tabular}
\end{table} 
Table 1: \(Cont.\)  
Figure 2: The mechanical description of the radial hexapod tested with K3P. (**a**) The radial hexapod as tested with the K3P algorithm. (**b**) A detailed mechanical description for one of the legs of the radial hexapod. To deal with spatial relationships between two reference frames, say frame \(b\) with respect to frame \(a\), we used rigid body transformations in homogeneous coordinates denoted as  
\[{}_{a}^{b}\mathbf{A}= \begin{bmatrix}{}_{a}^{b}\mathbf{R}&{}_{b}^{b}\mathbf{t}_{a }\\ \mathbf{0}&1\end{bmatrix} \]  
where \({}_{a}^{b}\mathbf{R}\in SO(3)\) denotes the rotation matrix of frame \(b\) with respect to \(a\) and \({}^{b}\mathbf{t}_{a}\) is the position vector of origin of \(b\), also with respect to \(a\).