Difference between revisions of "Realization of transformations"

From Robotics
Jump to: navigation, search
Line 4: Line 4:
 
Up to now transformations have been defined by homogeneous matrices combining a rotation matrix <math>\mathbf{R}</math> and a translation vector <math>\vec{\mathbf{p}}</math>. Now a new notation is introduced to represent a transformation using two quaternions <math>e</math> and <math>p</math>:
 
Up to now transformations have been defined by homogeneous matrices combining a rotation matrix <math>\mathbf{R}</math> and a translation vector <math>\vec{\mathbf{p}}</math>. Now a new notation is introduced to represent a transformation using two quaternions <math>e</math> and <math>p</math>:
 
:<math>
 
:<math>
\mathbf{T} = \left[\begin{array}{cccc} & & & \\ & \mathbf{R} &  & \vec{\mathbf{p}} \\ & & & \\ 0 & 0 & 0 & 1\end{array}\right] \equiv \left\{e,p\right\}
+
\mathbf{T} = \left[\begin{array}{cccc} & & & \\ & \mathbf{R} &  & \vec{\mathbf{p}} \\ & & & \\ 0 & 0 & 0 & 1\end{array}\right] \quad \equiv \quad \left\{e,p\right\}
 
</math>
 
</math>
 
The quaternion <math>e</math> is equivalent to <math>\mathbf{R}</math> and describes the rotation while <math>p</math> is defined as <math>0 \oplus \vec{\mathbf{p}}</math> and so equivalent to the translation.
 
The quaternion <math>e</math> is equivalent to <math>\mathbf{R}</math> and describes the rotation while <math>p</math> is defined as <math>0 \oplus \vec{\mathbf{p}}</math> and so equivalent to the translation.
Line 22: Line 22:
 
\mathbf{T}_c = \mathbf{T}_2\mathbf{T}_1  =  
 
\mathbf{T}_c = \mathbf{T}_2\mathbf{T}_1  =  
 
\left[\begin{array}{cccc} & & & \\ & \mathbf{R}_2\mathbf{R}_1 &  & \vec{\mathbf{p}}_2+\mathbf{R}_2\vec{\mathbf{p}}_1 \\ & & & \\ 0 & 0 & 0 & 1\end{array}\right]
 
\left[\begin{array}{cccc} & & & \\ & \mathbf{R}_2\mathbf{R}_1 &  & \vec{\mathbf{p}}_2+\mathbf{R}_2\vec{\mathbf{p}}_1 \\ & & & \\ 0 & 0 & 0 & 1\end{array}\right]
=
+
\quad \equiv \quad
 
\left[\begin{array}{cccc} & & & \\ & \mathbf{R}_c &  & \vec{\mathbf{p}}_c \\ & & & \\ 0 & 0 & 0 & 1\end{array}\right]
 
\left[\begin{array}{cccc} & & & \\ & \mathbf{R}_c &  & \vec{\mathbf{p}}_c \\ & & & \\ 0 & 0 & 0 & 1\end{array}\right]
 
=
 
=

Revision as of 16:07, 15 October 2015

← Back: Composition of rotations Overview: Quaternions Next: ???

Quaternion notation for general transformations

Up to now transformations have been defined by homogeneous matrices combining a rotation matrix \mathbf{R} and a translation vector \vec{\mathbf{p}}. Now a new notation is introduced to represent a transformation using two quaternions e and p:


\mathbf{T} = \left[\begin{array}{cccc} & & & \\ & \mathbf{R} &  & \vec{\mathbf{p}} \\ & & & \\ 0 & 0 & 0 & 1\end{array}\right] \quad \equiv \quad \left\{e,p\right\}

The quaternion e is equivalent to \mathbf{R} and describes the rotation while p is defined as 0 \oplus \vec{\mathbf{p}} and so equivalent to the translation.


e \equiv \mathbf{R} \qquad \quad p = 0 \oplus \vec{\mathbf{p}}

Applying such a transformation to a quaternion q is done by first rotating q with e corresponding to the rotation equation and then adding p:


q' = e\ q\ e^*+ p

Combination of transformations

It is known that a combination of transformations is defined as:


\begin{align}
\mathbf{T}_c = \mathbf{T}_2\mathbf{T}_1  = 
\left[\begin{array}{cccc} & & & \\ & \mathbf{R}_2\mathbf{R}_1 &  & \vec{\mathbf{p}}_2+\mathbf{R}_2\vec{\mathbf{p}}_1 \\ & & & \\ 0 & 0 & 0 & 1\end{array}\right]
\quad \equiv \quad
\left[\begin{array}{cccc} & & & \\ & \mathbf{R}_c &  & \vec{\mathbf{p}}_c \\ & & & \\ 0 & 0 & 0 & 1\end{array}\right]
=
\left\{e_c,p_c\right\}
\end{align}

But how can the two quaternions e_c and p_c of the quaternion notation be calculated based on the individual transformations?