3.2 Black Spot module analysis
Given two 3D vectors v and v0 there is a quaternion qr that describes the rotation between v and v0 given by
q v = q r q v q r
Here qv is a quaternion which has a vector part v (the scalar part can take any value),
qv is the quaternion with vector part v0, and qr
is the inverse of the quaternion qr. For
quaternion rotations, finding the inverse of q is simplified as it is equal to the conjugate of
q, i.e., q
= q∗and the conjugate of a quaternion is defined as
q∗ = w
xi yj zk.
The components of a quaternion are expressed in short hand in this thesis using the nota- tion q = (w, x, y, z) where w, x, y, z are the components of the quaternion. The notation q = (w, v) is also used. Here w represents the scalar part and v represents the vector part. Quaternion rotations are used extensively throughout the implementation of the Soft Hub (see Chapter 7) to describe orientations. They are also used in the construction of coordi- nate frames described in Section 3.1.3.
coordinate frame is the term used in this work to describe the orientation and position of
the standard orthogonal X, Y, and Z axes in 3D with respect to another three axes.
nate frame is implemented here using a vector and quaternion pair. The vector represents the translation of the coordinate frame’s origin relative to a ‘parent’ frame. Likewise, the quaternion represents the orientation of the axes in terms of these two frames. Figure 3.2
shows the axes of two coordinate frames.
point P in the parent frame (X, Y, Z axes) is
t r a n s f o r m e d t o a p o i n t P 0 i n t h e X ’ , Y ’ , Z ’ f r a m e b y
P 0 = T + q R P q R
where T represents the translation vector that translates the origin from the parent frame to the new frame and qR is a quaternion that describes the rotation that transforms a vector in the parent frame to a vector in the new frame.
Black Spot module analysis
The Black Spot modules perform 2D tracking of markers. The locations of the markers are sent to the hub after each frame. There are three steps required to achieve this: segmen- tation, position calculation, and tracking. Before discussing each of these, the concept of a region of interest (ROI) is introduced.