## 3 Procedure for Omnidirectionality Analysis
### Omnidirectionality Analysis  
The complete procedure proposed to evaluate the omnidirectional capabilities of a mobile platform is based on the assessment of the kinematics bidirectionality compliance for a whole set of motion commands. This requires the computation of the bidirectional errors for a range of motion commands explored to analyze under which motion commands the bidirectionality compliance is satisfied. The selection of the set of motion commands to be evaluated consists of the definition of a feasible constant norm for the translational velocity \(v\), and the definition of a feasible set of values for the angular orientation of the translational velocity \(\alpha_{i=1...N}\) and for the angular velocity \(\omega_{j=1...M}\), with \(N\in\mathbb{N}-\{0\}\) and \(M\in\mathbb{N}-\{0\}\). The values are \(\alpha_{i}\in[0,360](^{\circ})\) and \(\omega_{j}\in[-\omega_{MAX},\omega_{MAX}](rad/s)\), with \(\omega_{MAX}\) being the maximum angular velocity analyzed. In this procedure, the translational velocity \(v\) is not explored as a set of values because there is a linear relationship between the angular velocity of the wheels (\(\omega_{k=1...n}\)) and the translational velocity \(v\) that makes it unnecessary to assess its influence in the computation. This linear relationship is described in Equation (8). Figure 5 shows the diagram of the process used to assess the omnidirectionality of a mobile platform. The inputs of the process are the platform model and the range of motion commands expressed in the platform base. Specifically, the set of motion commandsexplore, for each value of the angular velocity (\(\omega_{j}\)), the whole set of angular orientations (\(\alpha_{i=1...N}\)) of the linear velocity of the platform. Firstly, for each combination of \(v\), \(\alpha_{i}\), and \(\omega_{j}\), the bidirectionality errors \(ev_{ij}\), \(ea_{ij}\), \(e\omega_{ij}\) are computed following the procedure described in Figure 4. The evaluation of the whole set of bidirectionality errors is stored in the matrixes \(Ev\), \(E\alpha\), and \(E\omega\), defined as  
\[Ev=ev_{i=1...N,j=1...M}, \tag{15}\]  
\[E\alpha=ea_{i=1...N,j=1...M}, \tag{16}\]  
\[E\omega=e\omega_{i=1...N,j=1...M}. \tag{17}\]  
The errors computed in this first step are represented in Figure 5 as a color-scaled image. The \(X\)-axis of the image denotes the range of \(\omega_{j}\) values explored, and the \(Y\)-axis denotes the range of \(\alpha_{i}\) values explored. In this case, the bidirectionality errors \(Ev\), \(E\alpha\), and \(E\omega\) displayed in Figure 5 correspond to the case 2A-1B. Secondly, three acceptability threshold values are applied to the bidirectionality errors: \(ev_{max}\) is the maximum acceptable error allowed in the linear velocity \(v^{\prime}\), \(ea_{max}\) is the maximum acceptable error allowed in the angular orientation \(\alpha^{\prime}\), and \(e\omega_{max}\) is the maximum acceptable error allowed in the angular rotation of the mobile platform \(\omega^{\prime}\). The segmented errors are stored in the matrixes \(Tv\), \(T\alpha\), and \(T\omega\), whose elements are defined as follows:  
\[if\big{(}ev_{ij}<ev_{max}\big{)},\text{then}\;Tv_{ij}=1,\text{otherwise},Tv_{ ij}=0, \tag{18}\]  
\[if\big{(}ea_{ij}<ea_{max}\big{)},\text{then}\;T\alpha_{ij}=1,\text{otherwise},T \alpha_{ij}=0, \tag{19}\]  
\[if\big{(}e\omega_{ij}<e\omega_{max}\big{)},\text{then}\;T\omega_{ij}=1,\text{ otherwise},T\omega_{ij}=0. \tag{20}\]  
Again, the segmented errors computed in this second step are represented in Figure 5 as a color-scaled image, where white color represents errors above the threshold, and green depicts errors below it. The segmented errors \(Tv\), \(T\alpha\), and \(T\omega\) displayed in Figure 5 also correspond to the case 2A-1B. Figure 4: Flowchart of the procedure proposed to estimate the bidirectionality error associated with one specific target motion command for a mobile platform with three omni wheels.