General info for all joints
What a joint is
A joint is a constraint between two rigid markers - MarkerBodyRigid, MarkerNodeRigid, a super
element or kinematic tree marker - which fixes some of the relative motions of the two frames and
leaves the others free: the revolute joint the rotation about one axis, the prismatic joint the
translation along one axis. Everything the page of the constraints says - Lagrange multipliers,
index 3 and index 2, activeConnector, redundant constraints - holds for the joints.
Joint frames
The free axes are those of a joint frame in each marker: rotationMarker0 and
rotationMarker1 rotate the marker frames into the joint frames, and ObjectJointRevoluteZ, for
example, turns about the local \(z\)-axis of the joint frame. mbs.CreateRevoluteJoint,
CreatePrismaticJoint, CreateSphericalJoint and CreateGenericJoint take a global position and
axis and compute the markers and the joint frames.
Reaction forces
The multipliers of a joint are its reaction forces and torques; the output variables give them -
ForceLocal and TorqueLocal in the joint frame \(J0\) of marker 0 for most joints, Force in the
global frame for the spherical joint -, as the page of each joint lists them.
Drawing
A joint is drawn as a connector: if connectors.show and its own show are True, at the
positions of its markers, in its color or connectors.defaultColor, a drawSize of -1 takes
connectors.defaultSize, and connectors.showNumbers writes its number. The 3D joints draw their axes as cylinders
(general.cylinderTiling) and, with connectors.showJointAxes, the frames of their markers
(connectors.jointAxesLength, connectors.jointAxesRadius, general.axesTiling); the 2D joints draw circles.
The settings: connectors.show, connectors.showNumbers, connectors.defaultColor, connectors.defaultSize.