Joints
A joint is an object that allows for a relative movement between its parent and its child/children. When a parent-child relationship is built between a joint and an object, the object is attached to the joint's second reference frame, thus, a change of the joint's linear/angular position will directly be reflected onto its children. Joints can operate in different modes. New joints can be added to a scene with [Menu bar --> Add --> Joints].
[Robotic manipulator with highlighted joints]
4 types of joints are supported:
[Revolute joint, prismatic joint, screw and spherical joint]
Revolute joint: a revolute joint has one DoF and is used to describe a rotational movement between objects. The rotation happens about its reference frame's z-axis
Prismatic joint: a prismatic joint has one DoF and is used to describe a translational movement between objects. The translation happens along its reference frame's z-axis
Screw: a screw, which can be seen as a combination of a revolute and prismatic joint with linked values, has one DoF and is used to describe a movement similar to a screw. A pitch parameter defines the amount of translation for a given amount of rotation. The translation/rotation happens along/about its reference frame's z-axis
Spherical joint: a spherical joint has three DoFs and is used to describe a rotational movement between objects. In some situations, a spherical joint can be thought of as 3 concurrent and orthogonal joints, that are parented in a hierarchy-chain. The analogy is however only valid while all revolute joints keep an orientation distinct from any of the other two: indeed, should two joints come close to coincide, a singular situation might appear and the mechanism will lose one DoF. This does never happen with spherical joints, which are internally handled to avoid this kind of situation:
[Two equivalent mechanisms (in this configuration): spherical joint (left) and 3 revolute joints (right)]
[Two non-equivalent mechanisms: the right configuration is close to a singularity]
|