This component consists of 3 revolute joints with parallel
axes of rotation that are connected together by two rods, see the default
animation in the following figure (the axes vectors are not part of the
default animation):
This joint aggregation introduces neither constraints nor state variables and
should therefore be used in kinematic loops whenever possible to
avoid non-linear systems of equations. It is only meaningful to
use this component in planar loops. Basically, the position
and orientation of the 3 revolute joints as well as of frame_ia, frame_ib, and
frame_im are calculated by solving analytically a non-linear equation,
given the position and orientation at frame_a and at frame_b.
Connector frame_a is the "left" side of the first revolute joint
whereas frame_ia is the "right side of this revolute joint, fixed in rod 1.
Connector frame_b is the "right" side of the third revolute joint
whereas frame_ib is the "left" side of this revolute joint, fixed in rod 2.
Finally, connector frame_im is the connector at the "right" side
of the revolute joint in the middle, fixed in rod 2.
The easiest way to define the parameters of this joint is by moving the
MultiBody system in a reference configuration where all frames
of all components are parallel to each other (alternatively,
at least frame_a, frame_ia, frame_im, frame_ib, frame_b of the JointRRR joint
should be parallel to each other when defining an instance of this
component).
Basically, the JointRRR model consists internally of a universal -
spherical - revolute joint aggregation (= JointUSR). In a planar
loop this will behave as if 3 revolute joints with parallel axes
are connected by rigid rods.