User Tools

Site Tools


visual3d:documentation:visual3d_signal_types:link_model_based_data_type

LINK MODEL BASED Data Type

All kinematic and kinetic calculations in Visual3D result in either KINETIC_KINEMATIC items or Link_Model_Based items. Kinematic calculations are based on segment coordinate systems with no reference to inertial properties while kinetic calculations (e.g., inverse dynamics) are based on assuming rigid segments, “connected” by joints with 1 to 6 degrees of freedom. The results of these kinematic and kinetic calculations are KINETIC_KINEMATIC signals and are resolved into the laboratory coordinate system, often with little or no anatomical meaning.

To resolve this issue, Link_Model_Based items allow the user to specify a resolution coordinate system. An appropriate choice of resolution coordinate system imbues anatomical meaning to the signal. The dialog for creating the variables can be accessed by selecting the following option under the Model Menu item or by the Pipeline Command Compute_Model_Based_Data.

Visual3D allows users to specify a large range of Link_Model_Based items that we have grouped into different categories: those related to pose estimation, ground reaction forces, kinematic quantities, and kinetic quantities. We also note those related items that are not Link_Model_Based items themselves.

Pose Estimation Items

These Link_Model_Based items are signals related to the estimation of the pose (position and orientation) of segments.

SEGMENT_RESIDUAL Visual3D computes the 6 Degree of Freedom pose of a segment using a Least Squares fit of the tracking marker locations in the standing trial to the tracking marker locations at each frame of the movement trial. The Goodness of Fit is described by the residual of this Least Squares fit, which is captured by this model-based item.
SEG_CGPOSITION The location of the segment's center of gravity resolved into the chosen coordinate system.
SEG_PROXIMAL_JOINT The position of the segment's proximal end resolved into the chosen coordinate system.
SEG_DISTAL_JOINT The position of the segment's distal end resolved into the chosen coordinate system.

Ground Reaction Force Items

COP_Path A general way to compute the center of pressure. The command checks all contacts between the specified segment and any force platform, then resolves the signal into the specified coordinate system.
GRF_Data A general way to reference an external force assigned to a specified segment. This allows the user to define the segment rather than the Force Platform, thus eliminating the need to make notes as to which segment is in contact with which platform.
COP_MODEL_COG A general way to compute the difference between the COP and the MODEL_COG model-based items.

Kinematic Items

JOINT_ANGLE The joint angle defined using a Cardan sequence (including the Joint Coordinate System).
HELICAL_ANGLE The joint angle defined as a helical angle.
JOINT_ROTATION The joint angle represented as a 3×3 rotation matrix.
JOINT_ACCELERATION The joint angular acceleration is a vector that describes the relative angular acceleration of one segment relative to another segment.
JOINT_VELOCITY The joint angular velocity is a vector that describes the relative angular velocity of one segment relative to another segment.
TARGET_PATH Computing the movement of the tracking markers relative to the segment coordinate system.
SEG_VELOCITY The velocity of the center of mass of a segment relative to the velocity of the center of mass of the reference segment. Computationally, this value is obtained by taking the segment center of mass velocity and subtracting the reference segment center of mass velocity, with the resultant vector being transformed into the resolution segment coordinate system.
MODEL_COG The Model Center of Gravity.
MODEL_COG_VELOCITY The Model Center of Gravity Velocity.
MUSCLE_LENGTH The Path Length of a Muscle.
SEG_PROGRESSION_ANGLE SEG_PROGRESSION_ANGLE is the projected angle of the segment (e.g. projection of the long axis of the segment onto the ground) with the path of the center of mass of the segment over a window of 51 frames centered at the current frame.

Kinetic Items

JOINT_FORCE The joint reaction force at the proximal end of a segment.
JOINT_MOMENT The net joint moment at the proximal end of a segment.
JOINT_POWER The joint power at the proximal end of a segment relative to a parent segment. This terms is parsed into 3 components.
JOINT_POWER_SCALAR The joint power at the proximal end of a segment relative to a parent segment. This term is the scalar counterpart to JOINT_POWER.
ROTATIONAL_ENERGY_SCALAR The scalar rotational energy of a segment.
TRANSLATIONAL_ENERGY_SCALAR The scalar translational anergy of a segment.
POTENTIAL_ENERGY The potential energy of a segment.
SEGMENT_ENERGY_TOTAL The total energy of a segment. This is the sum of the ROTATIONAL_ENERGY_SCALAR, TRANSLATIONAL_ENERGY_SCALAR, and POTENTIAL_ENERGY_SCALAR model-based items for that segment.
MODEL_ENERGY_SCALAR The total energy of the model. This is the sum of the SEGMENT_ENERGY_TOTAL model-based items over all segments in the model.
LINEAR_MOMENTUM The linear momentum of a segment.
ANGULAR_MOMENTUM The local angular momentum of a segment about its center of mass.
MODEL_ANGULAR_MOMENTUM The angular momentum of the model relative to the model's center of mass.
MODEL_MOMENT_OF_INERTIA The moment of inertia of the model relative to the model's center of mass.
UD_POWER The unified deformable power at the distal end of foot (or shank).

Some calculations are based on model-based items but are not themselves LINK_MODEL_BASED items.

Joint_Work The mechanical work (time integration of the power profiles) at the specified joint.

In order to get the most value out of these LINK_MODEL_BASED items it is important to understand how Visual3D works with these items, the assumptions that are made, and the options available to users.

Default Values

Visual3D computes model-based items using MKS units, e.g., meters, kilograms and seconds. The exception to this rule are joint angles, which are represented in degrees.

Visual3D uses certain default scaling factors to normalize model-based items.

Visual3D contains a number of default segment names that are provided for the convenience of the user. These default segments contain geometry, the inertial properties, and the wire frame model. Users that create their own segment names need to add this information in the segment properties tab in Model Builder Mode. Similarly, the calculation of Joint Moment, Joint Power, and Joint Force refer to the proximal end of the segment selected. For convenience we have mapped segment names to default joint names because we assumed that users would find it more intuitive.

Using PROCESSED Signals

Under the settings menu there are three options:

  1. Use Processed Analogs for Ground Reaction Force Calculations
  2. Use Processed Forces for Segment to Force Assignments
  3. Use Processed Targets for Model/Segment/LinkModelBased items

In most situations, you want “Use Processed Analogs” and “Use Processed Targets” set to TRUE and Use “Processed Forces” set to FALSE.

If “Use Processed Analogs” and “Use Processed Targets” are checked (set to TRUE), Visual3D computes Kinetics and Kinematics using the data in the PROCESSED folder of the TARGET and ANALOG data types. If the PROCESSED folder does not exist for either of these data types then the respective ORIGINAL folder is used in its place. If you have filtered the FORCE/COFP/FREEMOMENT folders (which is not recommended) then the PROCESSED folder will always be used.

If “Use Processed Forces” is checked (set to TRUE), Visual3D computes the frames for the force assignments using the FORCE data type's PROCESSED folder. There is more information about this here.

Link_Model_Based signals are calculated using the Compute_Model_Based_Data command. These signals are typically stored in the Recalc pipeline, which means that they get recomputed whenever a Recalc occurs. These signals are stored in the LINK_MODEL_BASED data type's ORIGINAL folder regardless of whether ORIGINAL or PROCESSED targets were used to create the signals.

At what point should signals be filtered

This is a difficult question because there isn't a single correct answer. The answer depends on the pose estimation method, the marker placements, the movement being recorded.

An excellent discussion on this topic can be found on the ISB's Biomch-l forums. In all cases we encourage users to be very deliberate about their choices to filter signals.

Deleting Model Based Signals

Model-based signals can be deleted from the data tree by right-clicking on the signal in question (or foler in question) with the mouse and selecting “Delete”.

This is does delete the model-based item. Since the Recalc Pipeline contains the definition of the signal, the model-based signal will reappear every time the workspace is recalculated. If you want to delete the model-based item completely, edit the Recalc Pipeline and delete the command that defines the signal.

Tutorials

Follow the Model Based Computations tutorial to learn more about defining and using model-based items.

visual3d/documentation/visual3d_signal_types/link_model_based_data_type.txt · Last modified: 2024/08/28 15:23 by wikisysop