0
$\begingroup$

I have two 6x1 element basis vectors $s_1$ and $s_2$ defined in local coordinates which can be combined into a single 6x2 subspace of $ s = \begin{vmatrix} X_{2}s_{1} & s_{2}\end{vmatrix}$ where $X_2$ is a 6x6 affine transformation matrix.

If I know the individual 6x5 nullspaces $R_1 = {\rm null}(s_1^\top)$ and $R_2 = {\rm null}(s_2^\top)$ such that $s_1^\top R_1 = 0$ and $s_2^\top R_2 = 0$ how do I calculate the combined 6x4 nullspace $R={\rm null}(s^\top)$ from $R_1$ and $R_2$ ?

Example

A joint is described by the rotation $s_1^\top = \begin{vmatrix} 0&0&0&0&0&1 \end{vmatrix}$ followed by the translation $s_2^\top = \begin{vmatrix} 1&0&0&0&0&0 \end{vmatrix}$ with the affine transformation $ X_{2}=\begin{vmatrix}1 & & & 0 & -z & y\\ & 1 & & z & 0 & -x\\ & & 1 & -y & x & 0\\ & & & 1\\ & & & & 1\\ & & & & & 1 \end{vmatrix} $

Combined this gives $ s = \begin{vmatrix}-y & 1\\ x & 0\\ 0 & 0\\ 0 & 0\\ 0 & 0\\ 1 & 0 \end{vmatrix} $

The computed nullspace with Matlab(r) is $ R = {\rm null}(s^\top)=\begin{vmatrix}0 & 0 & 0 & 0\\ 0 & 0 & 0 & -\frac{1}{x}\\ 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{vmatrix} $

The question is how do I arrive at this algorithmically or analytically?

  • 0
    $R$ is ${\rm null}(s^\top)$2012-03-14

1 Answers 1

0

The answer to this problem I came up with, goes as follows:

Partition the subspace $s$ into a m×m part $s_m$ (where m is the number of columns in $s$) and into a k×m remaining part $s_k$

$ s = \begin{vmatrix} s_m \\ \hline s_k \end{vmatrix} $

The nullspace transpose is $R = \begin{vmatrix} -\left(s_k s_m^{-1}\right)^\top \\ \hline \left(1_{k\times k}\right) \end{vmatrix} $

Example

For the example above with

$ s = \begin{vmatrix} -y & 1 \\ x & 0 \\ \hline 0 & 0 \\0 & 0 \\0 & 0 \\1 &0 \end{vmatrix} $

the nullspace transpose is

$ R = \begin{vmatrix} -\left(\begin{pmatrix} 0 & 0 \\0 & 0 \\0 & 0 \\1 &0 \end{pmatrix} \begin{pmatrix} -y & 1 \\ x & 0 \end{pmatrix}^{-1} \right)^\top \\ \hline \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 &1 \end{pmatrix} \end{vmatrix} = \begin{vmatrix} \begin{pmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & -\frac{1}{x} \end{pmatrix} \\ \hline \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 &1 \end{pmatrix} \end{vmatrix} $

Why?

Expanding $R^\top s =0$ we have

$\begin{vmatrix} -\left(s_k s_m^{-1}\right)^\top \\ \hline \left(1_{k\times k}\right) \end{vmatrix}^\top \begin{vmatrix} s_m \\ \hline s_k \end{vmatrix} =0 $

$ -\left( s_k s_m^{-1} \right) s_m + s_k = \\ -(s_k ) + s_k = 0 $

So $R$ is the nullspace transpose of $s$.