Often, the real purpose of a research biomechanical model is to extract certain parameters from motion captured data. For example, we may be interested in certain temporal parameters such as foot contact time as a percentage of the cycle time, or perhaps spatial parameters such as the stride length.
In addition, kinematic parameters may also be of interest, such as the foot inversion upon foot contact. The following part of the tutorial provides examples of all these.
For each parameter, it is important that you decide what you want to use the parameter for. There are three options:
- Export parameter. Calculated and exported to Microsoft Excel. These parameters are the ones that you wish to use for further analysis, for example key kinematic or temporal/spatial parameters calculated based on a dynamic trial. Ensure that you have selected the Export Parameter check box.
- Model parameter. Calculated and stored in the XMP file, to be used later for further calculation on other trials, for example offset parameters calculated from the static trial to be used in the dynamic processing. Ensure that you have selected the Model Parameter check box.
- Internal parameter. Only used as an intermediate parameter. Ensure that neither of the above check boxes are selected.
Inversion at foot contact
We'll use the vertical axis of the foot to estimate inversion/eversion at foot contact. If the left foot lands in inversion, the vertical axis will point to the left when seen from behind
To calculate inversion:
Use the angle between the vertical axis and the foot's vertical axis, projected into the frontal (XZ) plane. To do this:
- On the Variables tab, click the Edit button and then click the Add button to add a new variable and call it LeftFootInversion.
- Select the Angle group and the Angle: Between A and B around C.
- For A, select Segment, Lab Coordinate System and Z.
- For B select Segment, LeftFoot and Z.
- For C select Vector, Lab Y-Axis and XYZ.
This calculates the angle between the Z-axis of the lab and foot coordinate system around the Y axis of the lab coordinate system, which is our direction of running. If you'd like inversion to be positive, change the Factor for the Lab Y-Axis from 1 to -1.
As an alternative, you could also calculate the 3D Euler angles between the lab coordinate system and the foot coordinate system as follows:
- Add a new variable called LeftFootAngles.
- Select Angle and Euler angle: YXZ between A and B.
- Select A = Lab Coordinate System and B = LeftFoot.
In this case, ProCalc calculates three angles, the Inversion being the first due to the Euler angle extraction order being YXZ. In other words, inversion/eversion first, the "dorsi/plantarflexion" with respect to the lab, then the foot progression angle.
Save the variable scheme and on the Parameters tab, click Edit and then add a new parameter called LeftFootInversionAtFS.
For Function, choose Value and Variable A [Event A], then select variable A to be Angle and LeftFootInversion and event A to be Left Foot Strike.
The individual values for each foot strike are displayed in the log.
Foot contact as percentage of cycle
- Edit the Parameters scheme, click the Add button to add a new parameter, and name it LeftFootContactTime.
- Select function group Time and function Event A to Event B.
- In the Input Events section, select A = Left Foot Strike and B = Left Foot Off.
This calculates the duration of each contact cycle. Now all you need to do is to normalize.
- Select the Time Normalize Between option, and then select Left Foot Strike for both the following drop-downs.
The parameters, one for each cycle, are output in the log. You can copy/mirror to do the same thing for the right side, as usual.
As this is a running trial on a treadmill, the calculation of stride length has to take the speed of the treadmill into account – after all, the subject isn't actually going anywhere. We could therefore calculate the stride length as the distance between the Y-component (the running direction) of two subsequent foot strikes plus the speed of the treadmill times the cycle time. The main challenge is to find the speed of the treadmill. We could estimate this using the speed of the heel markers between foot strike and mid-swing of the opposite foot. As the heel marker slows down relative to the treadmill as soon as the heel starts to come off the ground, it seems sensible to use the mid-swing rather than the foot off event as the cut-off time for the calculation.
To calculate the stride length:
- Edit the Parameters scheme, click the Add button to add a new parameter, and name it LeftHeelSpeedFStoMS.
- Choose the 3D function group and the Speed Variable A [Event A, Event B] function.
- For A, choose Point and LHEE_Lower, and for XYZ, make sure you select the Y component only.
- Choose the event A = Left Foot Strike and B = RightMidSwing.
The calculated speeds are output in the log – these should be fairly consistent.
- Add another parameter and call it LeftCycleDuration, function group Time, function Event A to Event B.
- For both events A and B, choose Left Foot Strike.
This calculates the time of each left cycle.
- Add another parameter and call it LeftTreadmillDistance.
- Choose function group Parameter, function Parameter A * Parameter B.
- Choose A = LeftHeelSpeedFStoMS, B = LeftCycleDuration and for combine, select average(A) <-> each(B).
In this case, all we're doing is to use the average of the treadmill speed and multiplying this with each cycle duration, which should give us a good estimate of how far the treadmill has traveled between each foot strike.
- Because the subject will typically not land at the exact same spot on the treadmill for each cycle, you must also adjust for the spatial delta between each foot strike. To calculate this distance:
- Add another parameter, name it LeftHeelDistFStoFS and select from the 3D group the function Distance Variable A [Event A, Event B].
- Choose the Y component of LHee_Lower between Left Foot Strike and Left Foot Strike.
The log outputs the difference in the Y position of the heel from stride to stride, which should fluctuate around zero unless the subject changes the position on the treadmill.
- Combine the LeftTreadmillDistance parameter and the LeftHeelDistFStoFS parameter. To do this:
- Add a new parameter named LeftStrideLength.
- For Function group, select Parameter and Parameter A – Parameter B and then select A=LeftHeelDistFStoFS and B=LeftTreadMillDistance.
As the latter is negative due to the treadmill moving in the negative Y direction, this calculates the correct stride length.
- Save the scheme before continuing.