Motion Designer

The MotionDesigner is an interactive tool for designing rational motions (and corresponding linkages) for a given task, i.e., a set of poses or points.

It is a part of the Rational Linkages package, using Qt6 backend for the GUI. There are four methods supported for designing rational motions. They correspond to the Motion Interpolation method.

  • quadratic_from_poses – interpolates a sef of 3 poses yielding a quadratic motion curve (4-bar linkage)

  • cubic_from_poses – interpolates a set of 4 poses yielding a cubic motion curve (6-bar linkage)

  • quadratic_from_points – interpolates a set of 5 points yielding a quadratic motion curve (4-bar linkage)

  • cubic_from_points – interpolates a set of 7 points yielding a cubic motion curve (6-bar linkage)

In the code, use it as follows:

# This code is NOT TESTED on redular pipeline schedule
from rational_linkages import MotionDesigner

MotionDesigner.start()

Eventually, if you don’t want to always choose methodology using GUI, just use:

from rational_linkages import MotionDesigner

designer = MotionDesigner(method='quadratic_from_poses')
designer.show()

This will produce an interactive window where you can alter the given poses or points using the sliders or text boxes. It is possible to synthesize and visualize multiple mechanisms. However, sometimes the parameterization of the motion curve is not ‘nice’, i.e., the motion curve visualization is not smooth. To avoid this, copy the output data and insert to a new Plotter instance with a higher number of steps.

../_images/motion_designer.png

After closing the window, chosen parameters will be printed out, so they can be used in Motion Interpolation, or used as an input for a new MotionDesigner instance (see the docstring of the class for more details).

MotionDesigner can also preview the mechanism or visualize STL of your workcell. See the section Visualizing Custom STL in MotionDesigner for more details.