Active and passive variables

In this section, let $ {\cal C}$ denote the C-space obtained from all joint variables, instead of requiring $ {\cal C}= {\mathbb{R}}^n$, as in Section 7.4.1. This means that $ {\cal P}$ includes only polynomials that encode closure constraints, as opposed to allowing constraints that represent rotations. Using the tree representation from Section 4.4.3, this means that $ {\cal C}$ is of dimension $ n$, arising from assigning one variable for each revolute joint of the linkage in the absence of any constraints. Let $ q \in {\cal C}$ denote this vector of configuration variables. The active-passive decomposition partitions the variables of $ q$ to form two vectors, $ q^a$, called the active variables and $ q^p$, called the passive variables. The values of passive variables are always determined from the active variables by enforcing the closure constraints and using inverse kinematics techniques. If $ m$ is the dimension of $ {{\cal C}_{clo}}$, then there are always $ m$ active variables and $ n-m$ passive variables.

Figure 7.23: A chain of links in the plane. There are seven links and seven joints, which are constrained to form a loop. The dimension of $ {\cal C}$ is seven, but the dimension of $ {{\cal C}_{clo}}$ is four.
\begin{figure}\centerline{\psfig{figure=figs/loop7.eps,width=\columnwidth} }\end{figure}

Figure 7.24: Three of the joint variables can be determined automatically by inverse kinematics. Therefore, four of the joints be designated as active, and the remaining three will be passive.
\begin{figure}\centerline{\psfig{figure=figs/loop7b.eps,width=\columnwidth} }\end{figure}

Temporarily, suppose that the linkage forms a single loop as shown in Figure 7.23. One possible decomposition into active $ q^a$ and passive $ q^p$ variables is given in Figure 7.24. If constrained to form a loop, the linkage has four degrees of freedom, assuming the bottom link is rigidly attached to the ground. This means that values can be chosen for four active joint angles $ q^a$ and the remaining three $ q^p$ can be derived from solving the inverse kinematics. To determine $ q^p$, there are three equations and three unknowns. Unfortunately, these equations are nonlinear and fairly complicated. Nevertheless, efficient solutions exist for this case, and the 3D generalization [675]. For a 3D loop formed of revolute joints, there are six passive variables. The number, $ 3$, of passive links in $ {\mathbb{R}}^2$ and the number $ 6$ for $ {\mathbb{R}}^3$ arise from the dimensions of $ SE(2)$ and $ SE(3)$, respectively. This is the freedom that is stripped away from the system by enforcing the closure constraints. Methods for efficiently computing inverse kinematics in two and three dimensions are given in [30]. These can also be applied to the RDT stepping method in Section 7.4.1, instead of using continuation.

Figure 7.25: In this case, the active variables are chosen in a way that makes it impossible to assign passive variables that close the loop.
\begin{figure}\centerline{\psfig{figure=figs/loop7c.eps,width=\columnwidth} }\end{figure}

If the maximal number of passive variables is used, there is at most a finite number of solutions to the inverse kinematics problem; this implies that there are often several choices for the passive variable values. It could be the case that for some assignments of active variables, there are no solutions to the inverse kinematics. An example is depicted in Figure 7.25. Suppose that we want to generate samples in $ {{\cal C}_{clo}}$ by selecting random values for $ q^a$ and then using inverse kinematics for $ q^p$. What is the probability that a solution to the inverse kinematics exists? For the example shown, it appears that solutions would not exist in most trials.

Steven M LaValle 2012-04-20