Vicon ProCalc banner

The most common way to define the subject's progression frame is to align the axes of progression (ie, walking direction) with the anterior-posterior axis used for the individual segments. In our case, this means that the walking direction should be the Y axis.
If the lab has a walkway which is already aligned with one of the lab coordinate system's axes, then the task is to find out whether the subject walks along the +X, +Y, -X or -Y axis, and to calculate the progression frame that transforms the lab coordinate system to the one where the subject's forward direction is +Y.
There are several approaches to this – here is one example:

  1. Add a new variable, name it PelvisOrigin.
  2. Choose Function: Point and Transform: A from B's coordinates back to global.
  3. For A, choose Type: Point and for Input Variable, choose Lab Origin.
  4. For B, choose  Type: Segment and for Input Variable, choose pelvis_4X4.



    You have now defined a point that corresponds to the pelvis segment's origin. To do this, you have used the pre-defined Lab Origin point, which is simply {0, 0 , 0}, and transformed this point from the pelvis' local coordinates back to global.
  5. Add a new variable named WalkingDirection.
  6. For Function, choose Vector and From point A to point B.
  7. For A, choose Type: Point, for Input Variable, choose PelvisOrigin, and for Timing, choose FirstValidFrame.
  8. For B, choose Type: Point, for Input Variable, choose PelvisOrigin, and for Timing, choose LastValidFrame. 



    Here, you've created a vector from a point to the same point, but evaluated at two different times, namely the first and the last valid point. Thus, as long as the subject has moved, you get a vector pointing in the direction in which the subject has moved.
  9. Add a new variable named ProgressionFrame.
  10. For Function, choose: Segment and Origin A, Y-Axis=lab axis closest to B, Z-Axis up.
  11. For A, choose Type: Point and for Input Variable, choose PelvisOrigin.
  12. For B, choose Type: Vector and for Input Variable, choose WalkingDirection.



    This defines a segment with its +Y direction aligned with the lab axis that has the best alignment with the WalkingDirection vector, which is exactly what is needed to define the progression angles.
  13. Add a new variable named PelvisProgressionAngles.
  14. For Function, choose Angle and Euler angle: XYZ between A and B.
  15. For A, choose Segment and for Input Variable, choose ProgressionFrame.
  16. For B, choose Segment and for Input Variable, choose pelvis_4X4.

This defines the progression angle that we're interested in.