Joint Types

A biomechanical joint is a constraint that attaches two bodies to each other, creating articulated bodies. A joint will contain at least one constraint where the position or acceleration of one body is fixed relative to the other. All body parts except the root of the biomechanical organism are connected to one another using a joint. However, biomechanical joints are not directly added to the organism. You select the default joint and body part types and then when you add bodies the current default joint type is added to connect the parent item to the new body part.

Joint Limits

The movement of some joints can be limited. These limits let a developer create simple models of real-world behavior: a hinge can be limited, for example, so that it only opens 270 degrees. Joints can have one, several, or no limits depending upon their geometry.

Each limit consists of an upper and a lower limit. You can specify these limits independently to appear either hard or soft. A hard bounce reverses the bodies’ angular velocities in a single time step, while a soft bounce may take many time steps to complete. If the limits are soft, you can also set their damping so that, beyond the limits, the joint behaves like a damped spring. If the limits are hard, you can set the limit restitution between zero and one to govern the loss of angular momentum as the bodies rebound.

Joint Constraints

Each joint has a number of constraint equations that control its behavior. You can control the settings of each of these constraints to determine their stiffness and damping. To learn more about this please see the Joint Relaxation description. Also, the hinge and prismatic joints also have a joint friction that can be used to apply a more realistic friction force to them. Please see the Joint Friction description for more details on this. 

Biomechanical Joint Types

These are the available biomechanical joint types.


Ball-n-Socket

A ball and socket joint forces a point fixed in one body to be at the same location as that of a point fixed in another body, removing three degrees of freedom. It allows rotations about that point though. You can specify a cone limit to restrict the movements of the ball-n-socket joint.


Hinge

A Hinge leaves a pair of bodies free to rotate about a single axis (the hinge axis) but otherwise completely fixed with respect to each other.


Prismatic

The Prismatic joint is much like the Hinge, since two axes, one fixed in each of the two constrained bodies, are forced to coincide. However, in this case the bodies are allowed to move along the axis, not to rotate.


Static

The Static joint fuses two parts together and removes all degrees of freedom between the two parts. They move as if they were welded together.


Distance

The distance joint constrains two bodies to maintain a given distance between themselves, but does not restrain other movements or rotations.

General Properties

Figure 1. Properties panel showing properties common to all joint types.
All biomechanical joints are derived from the joint object and share the properties of that item.  Check below for a list of common properties for a joint.  Click on each joint type for a description of that joint and a list of any additional properties specific to that joint. 
Damping
Damping is a spring damping term applied to joints that have exceeded their limit. As with a spring, if both the stiffness and damping are set to zero, the limit is essentially deactivated.
Default value: 0 MN/m
Acceptable range: Anything greater than or equal to 0.

Enable Limits
If this is true then the constraint is turned on, if it is false then there are no constraints on the movement of the hinge joint within its axis of movement.
Default value: True
Acceptable range: True/False

Restitution
The coefficient of restitution is the ratio of rebound velocity to impact velocity when the joint reaches the low or high stop. This is used if the limit stiffness is greater than zero. Restitution must be in the range zero to one inclusive.
Default value: 0 V/V
Acceptable range: 0-1.

Stiffness
When the angle between two bodies reaches the cone limit a stiffness value determines how the restoring force is applied. If this value is set high, there is perfect restitution when the limit is reached. Otherwise, there will be a degree of springiness between the two bodies at the limit.
Default value: 5 MN/m
Acceptable range: Anything greater than or equal to 0.

Location Local
The location of the body relative to it's own origin.  Each body part has it's own local coordinate system which is the center of the body's parent body part.. 
Default value: (0,0,0)
Acceptable range:-infinity - infinity

Location World
The location of the body relative to the world origin.  The world origin is center of the root body
Default value: The distance from the center of the root body part
Acceptable range:  -infinity - infinity

Name
The name of this body
Default value: The name is "joint_xx" where xx is the number in which the body was added.

Rotation X
The rotation of the body about the X axis.  This value can be directly entered by the user or they can use the mouse by right clicking the center selection box and dragging the mouse while holding the x-key down.
Default value: Dependent on what part of the parent body this body was added
Acceptable range: -360 - 360

Rotation Y The rotation of the body about the Y axis.  This value can be directly entered by the user or they can use the mouse by right clicking the center selection box and dragging the mouse while holding the y-key down.
Default value: Dependent on what part of the parent body this body was added
Acceptable range:  -360 - 360

Rotation Z
The rotation of the body about the Z axis.  This value can be directly entered by the user or they can use the mouse by right clicking the center selection box and dragging the mouse while holding the z-key down.
Default value: Dependent on what part of the parent body this body was added
Acceptable range: -360 - 360

Radius
This determines how big the joint is in the editor window. A large radius produces a large editor graphic.
Default value: 5 cm
Acceptable range: Anything greater than 0.