User Tools

Site Tools


visual3d:documentation:kinematics_and_kinetics:joint

Joint

The term “joint” is used periodically throughout Visual3D, and has several different meanings. This tutorial focuses on a joint that connects two kinetic segments.

In 6 DOF tracking there is no explicit linkage (or joint) connecting the segments. Visual3D explores the collection of segments and considers any two segments in proximity (the distal end of one segment and the proximal end of another segment within the radius of the segment ends) to be “linked” and references a Joint between them. The Joint does not constrain the segments, but is rather a bookkeeping tool that keeps track of which segments are assumed to have an equal and opposite Joint Reaction Force acting between their endpoints and an equal and opposite Joint Moments acting on the adjacent segments.

The most typical example of a joint would be in gait, the GRF is applied to the foot segment, and because there is a joint at the ankle, the force is applied from the foot segment to the shank segment.

How is a joint created

A joint is created by:

  1. Distance Between the Segments. Calculated as the distance between the proximal end of a segment and the distal end of a segment (e.g., for the ankle joint this is the distance between the distal end of the shank and the proximal end of the foot).
  2. Largest Radius. This is the larger of the two relevant segment radii, e.g. for the ankle joint the proximal end radius of the foot and the distal end radius of the shank.
  3. Joint Radius Ratio. As of Visual3D v6, the Joint_Radius_Ratio is a Model Metric. Its default value is 1.1, but this can be modified using an expression.
  4. If the Distance Between the Segments is less than the Largest Radius multiplied by the Joint Radius Ratio, then Visual3D creates a joint between the two segments.

Essentially, a joint is created if the proximal and distal ends of two segments are “close enough” to each other.

Default Joint Names

Visual3D creates joint names automatically for the default segments, which 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. If a default name doesn't exist for a segment you have created then Visual3D, for the purpose of creating model based items, specifies the joint name as “segmentName_JOINT”.

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 joint names automatically because we assumed that users would find it more intuitive.

Visual3D Segment NameAnatomical SegmentJoint NameAnatomical Joint
RFT Right Foot RANKLE Right Ankle
RSK Right Shank RKNEE Right Knee
RTH Right Thigh RHIP Right Hip
LFT Left Foot LANKLE Left Ankle
LSK Left Shank LKNEE Left Knee
LTH Left Thigh LIHP Left Hip
RPV Pelvis WAIST Waist
RTK Trunk and Pelvis RWAIST Waist
RTA Thorax and AbdomenRWAIST Waist
RHE Head NECK Neck
RAR Right Upper Arm RSHOULDER Right Shoulder
RFA Right Forearm RELBOW Right Elbow
RHA Right Hand RWRIST Right Wrist
LAR Left Upper Arm LSHOULDER Left Shoulder
LFA Left Forearm LELBOW Left Elbow
LHA Left Hand LWRIST Left Wrist

How to visually check for joints

If you have a model template applied to a static trial, then joints will appear in the 3D viewer of the model's tab as yellow spheres.

Joints are illustrated using yellow spheres in the Model Builder mode's 3D viewer. If the joints are hard to see, try hiding the bones from the 3D view.

If you do not see joints, make sure that you have the option to see joints on by right-clicking in the 3D viewer and selecting View Joints. You can also change the size of the spheres by going to SettingsModify Scale of 3D Graphics Objects, and changing the Joint Size option.

Example: Hip Joint

This is a walkthrough of Visual3D applying its rule for deciding when to form a hip joint during calibration.

  1. Visual3D takes the proximal end of the thigh location.
  2. Visual3D then searches all of the other segments and finds their distal end location.
  3. Visual3D then finds which segment's distal end is closest to the proximal end of the thigh. This is the neighbouring segment. (This is almost always the distal end of the pelvis.)
  4. Visual3D then look at looks at the radius of the proximal end of the thigh and the distal end of the neighbouring (pelvis) segment and chooses the larger value between the two radii.
  5. Visual3D then computes the distance between the proximal end of the thigh and the distal end of the neighbouring (pelvis) segment.
  6. If the value in step 5 (distance between the segment ends) is less then 1.1 times the value in Step 4 (the larger radius), then a joint is formed. If the segment ends are separated by more then 1.1 times the larger radius no joint is formed.
    1. Note, as of Visual3D v6 the Joint_Radius_Ratio is defined as a Model Metric with a default value of 1.1. This can be modified by the user via an expression.
visual3d/documentation/kinematics_and_kinetics/joint.txt · Last modified: by wikisysop