Constraining parameters

Fortunately, it is fine to use different frames when following different chains; however, one extra piece of information is needed. Imagine transforming the whole tree. The variable $ \theta _7$ will appear twice, once from each of the upper and lower chains. Let $ \theta_{7u}$ and $ \theta_{7l}$ denote these $ \theta $'s. Can $ \theta $ really be chosen two different ways? This would imply that the tree is instead as pictured in Figure 3.24, in which there are two independently moving links, $ {\cal A}_{7u}$ and $ {\cal A}_{7l}$.

Figure 3.24: Choosing each $ \theta _7$ independently would result in a tree that ignores that fact that $ {\cal A}_7$ is rigid.
\begin{figure}\begin{center}
\centerline{\psfig{file=figs/linkjunct3.eps,width=4.5in}}
\end{center}
\end{figure}
To fix this problem, a constraint must be imposed. Suppose that $ \theta_{7l}$ is treated as an independent variable. The parameter $ \theta_{7u}$ must then be chosen as $ \theta_{7l} + \phi$, in which $ \phi $ is as shown in Figure 3.23.

Figure 3.25: A tree of bodies in which the joints are attached in different places.
\begin{figure}\begin{center}
\centerline{\psfig{file=figs/articulate3.eps,width=4.0in}}
\end{center}
\end{figure}

Example 3..6 (A 2D Tree of Bodies)   Figure 3.25 shows a 2D example that involves six links. To transform $ (x,y) \in {\cal A}_6$, the only relevant links are $ {\cal A}_5$, $ {\cal A}_2$, and $ {\cal A}_1$. The chain of transformations is

$\displaystyle T_1 T_{2l} T_5 T_6 \begin{pmatrix}x  y  1  \end{pmatrix} ,$ (3.70)

in which

$\displaystyle T_1 = \begin{pmatrix}\cos\theta_1 & -\sin\theta_1 & x_t \sin\th...
...\theta_1 & 0  \sin\theta_1 & \cos\theta_1 & 0  0 & 0 & 1  \end{pmatrix} ,$ (3.71)

$\displaystyle T_{2l} = \begin{pmatrix}\cos\theta_{2l} & -\sin\theta_{2l} & a_1 ...
...\theta_2 & 1  \sin\theta_2 & \cos\theta_2 & 0  0 & 0 & 1  \end{pmatrix} ,$ (3.72)

$\displaystyle T_5 = \begin{pmatrix}\cos\theta_5 & -\sin\theta_5 & a_2  \sin\t...
...5 & \sqrt{2}  \sin\theta_5 & \cos\theta_5 & 0  0 & 0 & 1  \end{pmatrix} ,$ (3.73)

and

$\displaystyle T_6 = \begin{pmatrix}\cos\theta_6 & -\sin\theta_6 & a_5  \sin\t...
...\theta_6 & 1  \sin\theta_6 & \cos\theta_6 & 0  0 & 0 & 1  \end{pmatrix} .$ (3.74)

The matrix $ T_{2l}$ in (3.72) denotes the fact that the lower chain was followed. The transformation for points in $ {\cal A}_4$ is

$\displaystyle T_1 T_{2u} T_4 T_5 \begin{pmatrix}x  y  1  \end{pmatrix} ,$ (3.75)

in which $ T_1$ is the same as in (3.71), and

$\displaystyle T_3 = \begin{pmatrix}\cos\theta_3 & -\sin\theta_3 & a_2  \sin\t...
...3 & \sqrt{2}  \sin\theta_3 & \cos\theta_3 & 0  0 & 0 & 1  \end{pmatrix} ,$ (3.76)

and

$\displaystyle T_4 = \begin{pmatrix}\cos\theta_4 & -\sin\theta_4 & a_4  \sin\t...
...\theta_4 & 0  \sin\theta_4 & \cos\theta_4 & 0  0 & 0 & 1  \end{pmatrix} .$ (3.77)

The interesting case is

$\displaystyle T_{2u} = \begin{pmatrix}\cos\theta_{2u} & -\sin\theta_{2u} & a_1 ...
...eta_{2l} + \pi/4) & \cos(\theta_{2l}+\pi/4) & 0  0 & 0 & 1  \end{pmatrix} ,$ (3.78)

in which the constraint $ \theta_{2u} = \theta_{2l} + \pi/4$ is imposed to enforce the fact that $ {\cal A}_2$ is a junction. $ \blacksquare$

For a 3D tree of bodies the same general principles may be followed. In some cases, there will not be any complications that involve special considerations of junctions and constraints. One example of this is the transformation of flexible molecules because all consecutive rotation axes intersect, and junctions occur directly at these points of intersection. In general, however, the DH parameter technique may be applied for each chain, and then the appropriate constraints have to be determined and applied to represent the true degrees of freedom of the tree. The Khalil-Kleinfinger parameterization conveniently captures the resulting solution [524].

Steven M LaValle 2012-04-20