#### 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 will appear twice, once from each of the upper and lower chains. Let and denote these 's. Can 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, and .

To fix this problem, a constraint must be imposed. Suppose that is treated as an independent variable. The parameter must then be chosen as , in which is as shown in Figure 3.23.

Example 3..6 (A 2D Tree of Bodies)   Figure 3.25 shows a 2D example that involves six links. To transform , the only relevant links are , , and . The chain of transformations is

 (3.70)

in which

 (3.71)

 (3.72)

 (3.73)

and

 (3.74)

The matrix in (3.72) denotes the fact that the lower chain was followed. The transformation for points in is

 (3.75)

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

 (3.76)

and

 (3.77)

The interesting case is

 (3.78)

in which the constraint is imposed to enforce the fact that is a junction.

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