next up previous contents
Next: Robot workspace analysis Up: Examples of applications of Previous: A robot control problem   Contents


Robot singularity analysis

In the robot presented in the previous sections we have seen that the inverse kinematic relates the the distances $\rho$ between the $A_i, B_i$ to the position/orientation parameters of the platform X by $\rho = F({\bf X})$. An important matrix is the jacobian matrix of this relation $J= ((\partial F/\partial
X_i))$. Indeed the forces $\tau$ in the legs $A_iB_i$ are related to the forces/torques ${\cal F}$ applied on the platform by

\begin{displaymath}
{\cal F}=A J \tau
\end{displaymath}

where $A$ is a matrix that is never singular. Hence for given forces/torques applied on the platform the force in each leg may be computed as a ratio whose denominator if $\vert AJ\vert$. A configuration where $\vert J\vert=0$ is called a singularity of the robot. In this configuration the forces in the leg of the robot may go to infinity, causing a breakdown of the robot. Hence a very important practical problem is to be able to determine if there is a singularity within a given workspace ${\cal W}$ of the robot.

Usually this workspace is defined in the following manner: a geometrical object that will include all possible location of a specific point of the platform and ranges for the parameters that describe the orientation of the platform.

The determinant of $J$ can usually be expressed as a function of the position/orientation parameters. Interval analysis is appropriate to design an algorithm that check if there is a singularity within a given workspace. For that purpose we will take a point inside the workspace and calculate the value of $\vert J\vert$ at this point. Let us assume that this value is positive. A singularity will occur within the workspace if we are able to find another point in the workspace where $\vert J\vert$ will be negative.

We may assume that we are able to calculate a bounding box of the workspace and that we are able to design a test that allow to determine if a box for the position/orientation parameters is fully included in the workspace, is fully outside or part of it is inside and part of it is outside.

With that it is easy to design an algorithm that determine if the workspace includes a singularity (see [12] for more details).

First we use interval arithmetics to determine bounds for the value of $\vert J\vert$. If the lower bound of the interval is positive is positive, then there is no singularity within the workspace. Otherwise we bisect the box. For the new boxes we first test if the box is inside the workspace: if one box is fully outside the workspace we discard it. If a box is not fully inside we bisect the box. For a box that is fully inside we compute the interval evaluation of $\vert J\vert$. If the lower bound is positive we discard the box. If the upper bound is negative, then for any position/orientation defined by parameters within the box ranges the determinant will be negative: hence the workspace includes a singularity and we may stop the algorithm. If all the boxes in the list have been processed, then there is no singularity within the workspace.

Note that it is easy to generalize the algorithm so that uncertainties in the robot geometry are taken into account. A general version of this algorithm has been implemented using ALIAS and Maple and is able to deal with different robot architectures. Maple is used to compute the analytical form of $\vert J\vert$. The ALIAS parser is used to perform the interval evaluation of the determinant.


next up previous contents
Next: Robot workspace analysis Up: Examples of applications of Previous: A robot control problem   Contents
Jean-Pierre Merlet 2012-12-20