universal.world File Reference

Detailed Description

Example of how to set a universal joint including range limitations.

A universal joint is composed by two coincident revolute joints that form an angle of 90 degrees. The way to encode this joints is defining and implicit reference frame in between the two involved links (named ground and link in the example). The X unitary vector ( $v_i$ in the figure above) is given by points Q1 and P1. The Y unitary vector ( $u_i$ in the figure above) is given by points Q2 and R2. When the joint is assembled, Q1 and Q2 coincide and vectors Q1-P1 and Q2-P2 are orthogonal.

The ranges of the universal joint are defined with two vectors, each given by to points:

  • Q1-S1 in the first link: when the first rotation angle is 0 this vector is aligned with vector Q2-R2 (defined in the second link).
  • Q2-T2 in the second link: when the second rotation angle is 0 this vector is aligned with Q1-P1 (defined in the first link).

This example can be processed following the next steps:

After this sequence of commands you will see the motions of two links with repect to each other. Use the slider to move the cylinder. Note that the solutions are not sorted in any way (the sort operation only works for one-dimensional solution sets and here the solution set is 2-dimensional).

You can also interactively explore the solution set executing:

Use the sliders in the graphical interface to move the cylinder.

See Also
in_patch.world, revolute.world, prismatic.world, spherical.world

Definition in file universal.world.