Motions

Use the Motions tool to create motions and to edit the initial conditions, displacements, velocities, and acceleration of joints.

Create Motions

  1. From the Project Browser, select the system to which the motion entity is to be added.
  2. Right-click on a system in the Project Browser and select Add > Constraint > Motion from the context menu.
    OR
    Right-click on a motion folder in the Project Browser and select Add Motion from the context menu.
    OR
    Right-click the Motion button on the Constraint toolbar.
    The Add Motion or MotionPair dialog is displayed.
  3. Specify a label and variable name.
    By default, variables names of entities in MotionView follow a certain convention. For example, all motion entities have a variable name starting with “m_”. This is the recommended convention to follow when building models in MotionView since it has many advantages in model editing and model manipulation.
  4. Select whether to create a single motion or a motion pair.
    A motion entity, like most of the entities that are created in MotionView, can be a single entity or a pair entity. Pair entities help in creating models which have symmetric properties.
  5. Click OK to close the window or Apply to continue creating entities.
    Once a motion entity has been added to the model, the panel for the motion will be displayed in the panel area.

Edit Motions

A motion can be a displacement, velocity, or acceleration and can be applied to some joint types or between markers.

Define the Connectivity of Motions

From the Connectivity tab of the Motions panel, select an option from the Define motion drop-down menu.
If On joint is chosen:
  1. Click the Joint collector and select the joint to which the motion is connected from the modeling window, or double-click the Joint collector to open the Model Tree (from which the desired joint can be selected).
    Note: If the selected motion is a pair entity, first distinguish between the Left and Right tabs in the panel, and then edit the properties. When defining a pair motion, use pair entities for Joint, Marker, etc.
    Tip: Check the Symmetric properties option to make the motion properties symmetric. Once this option is activated, MotionView will ask you which side of the values of the pair entity (left or right) is to be used. Selecting any one side will make values of that side as “master” and the values of the other side will gray out and follow the values on the master side.
  2. Select an option from the Properties drop-down menu.
Option Description
Displacement Requires no initial conditions
Velocity Requires an initial displacement
Acceleration Requires an initial displacement and an initial velocity
If Using markers is chosen:
  1. Select the axis to define the translational or rotational motion.
  2. Select an option from the Properties drop-down menu.
  3. Click the Marker 1 and Marker 2 collectors to select the first and second markers to which to the motion is applied.
Tip: Click Data Summary to view the Data Summary table for motions.

Define the Properties of Motions

From the Properties tab, you can define the magnitude of a motion either as a constant value or as a non-linear value using a 2D curve, 3D spline, or expressions.

  1. Click the Properties tab.
  2. Specify how to define the motion properties using the drop down menu.
    If Linear is chosen, enter a constant value of displacement, velocity, or acceleration.
    If Curve is chosen:
    1. Select AKIMA, CUBIC, LINEAR, or QUINTIC under Interpolation as the method of interpolation of between two data points in the curve.
    2. Enter a value under Independent variable.
    3. Resolve the curve by double-clicking the Curve collector and selecting a curve from the Select a Curve dialog.
      Note: When using curve data, a curve, interpolation method, and an independent variable must be specified in the form of a solver expression. The solver expression may refer to MotionView attributes specified in the Templex syntax. Generally, the independent variable is a function of TIME.
    If Sline3D is chosen:
    1. Select AKIMA, CUBIC, LINEAR, or QUINTIC under as the method of interpolation of values between 2 data points in XY plane.
    2. Resolve the 3D spline by double-clicking on the Spline3D collector and selecting a Spline3D entity from the Select a Spline3D dialog.
      Note: To use a Spline3D entity, you first need to define a spline using the Spline3D panel.
    3. Specify an expression for Independent variable X and Independent variable Z.
    If Expressions is chosen, enter a solver expression to define displacement, velocity, or acceleration.

Define the Initial Conditions of Motions

  1. Click the Initial Conditions tab.
    Note: This tab is not available if you selected Displacement as the property in the Connectivity tab. See the Define the Connectivity of Motions topic for additional information.
  2. Enter a value for displacement and/or velocity initial conditions.

Use User-Defined Properties for a Motion

If desired, define the motion using the User-Defined tab, which will allow you to specify the properties of the motion using user subroutines.

  1. From the Connectivity tab, click the User-defined properties check box.
    The properties option and the Properties tab are both removed.
  2. Click the newly added User-Defined tab.
  3. Define the user subroutine.
    1. Provide an expression with the USER solver function with parameters being passed to the user subroutine.
    2. Alternatively, activate the Use local file and function name check box to specify a local file where the subroutine code can be accessed by the solver.
      If this option is not specified, MotionSolve will search for a subroutine following its user subroutine loading rules.
    3. Select a function type from the drop-down menu.
    4. Select the local file for the subroutine.
      The type of file to be specified will depend on the selected function type. For example, if DLL/SO is selected, you can specify a file with a .dll extension (for Windows) or an .so extension (for Linux).
    5. Specify the function name in the subroutine that defines the entity, or accept the default name provided by MotionView.