Announcement

Collapse
No announcement yet.

Normalized Segment Coordinate System

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Normalized Segment Coordinate System

    Hello,

    I have recorded some movement data with Vicon and would like to know the relative movement of certain markers (i.e. breast markers) in their respective segment coordinate system (i.e . trunk coordinate system).
    For this, I would like to normalize the segment orientation to the calibration pose.
    I followed the description in 'Research Methods in Biomechanics' 2nd ed. in constructing the orientation/rotation matrix (pg. 40).

    According to the book: "the rotation matrix that defines the relative orientation of a segment, Rseg, with reference segment Rref, can be expressed as" (pg. 57)

    R = Rseg * transpose(Rref)

    To my understanding, if I want to apply it to my case, Rseg would be the rotation matrix i.e. of the trunk at each instant and the reference segment, Rref, the rotation matrix of the trunk of the static trial.

    However, the book further states that "for a normalized joint angle, the rotation matrix must include the orientation of the segments in the calibration pose Rcalseg and Rcalref and is expressed as follows:

    R = (transpose(Rcalseg)*Rseg) * transpose(transpose(Rcalref)*Rref)

    As I am only interested in the normalized rotation matrix without referencing it to a further segment, I am now confused if I have to calculate my rotation matrix either

    a) R = R_trunk_dynamic * transpose(R_trunk_static)
    or
    b) R = transpose(R_trunk_static) * R_trunk_dynamic

    Also, as the rotation matrix is made up of the unit vectors of the local or segment coordinate system (LCS) I would now like to have a normalized LCS with reference to the static trial.

    Therefore, I assumed that R has now the unit vectors of my normalized LCS. However, I am wondering if now the columns or the rows of R will be the unit vectors in x, y and z direction? Assuming Rseg and Rref originally had their unit vectors as rows.

    Any advice is greatly appreciated.

    Thank you,
    Janina

  • #2
    Re: Normalized Segment Coordinate System

    Janina,

    You are only dealing with one body segment (the trunk), so some of the equations you wrote are not relevant.

    Also you did not refer to translations, only rotations. Translations are important here.

    I assume you have at least three markers on the trunk so you can track its position and orientation through time.

    Here is how I would do it:

    1. Define a trunk coordinate system. You can do this with markers at anatomical sites, or simply by defining the local (trunk) coordinate system to coincide with the global (lab) coordinate system during a reproducible reference pose such as standing.

    2. Determine the local coordinates of your trunk markers.

    3. At any time point during the movement activity, use the global coordinates of the markers to determine the position and orientation of the trunk coordinate system.

    4. Transform the global coordinates of your breast marker to the local trunk coordinate system.

    5. Repeat 3 and 4 for the entire movement, plot the local x,y,z obtained from step 4 vs. time. This is the motion of your breast marker relative to the trunk.

    If you use Matlab, look up the Kinemat and soder.m codes on isbweb.org:




    These codes are 25 years old but still work. If needed I can write some lines of code here to clarify things.

    Ton van den Bogert

    Comment

    Working...
    X