PRIMER 22.1

Drag Assembly: Free Dragging of Limbs Using Mechanism Analysis

Drag Assembly: Free Dragging of Limbs Using Mechanism Analysis

In Drag Assembly mode the positioning panel changes.

Each assembly is still shown as a row, but now:

  • Clicking on the "name" button brings up the assembly editing panel as before.

  • You can select the degrees of freedom to be restrained (locked) during positioning for each assembly. Restraint acts in the coordinate system of the assembly (if defined), otherwise in the global system. These restraints can be controlled for all assemblies using the popup buttons on 'Lock tr' and 'Lock rot'

In this example the pelvis is restrained against all translations and rotations, thorax is restrained in Ty and Rx, head is retrained in Ty and against all rotations.

As before you click on an assembly to drag it, but now the dummy is treated as a mechanism, and it will follow the mouse movement in a natural way, subject to any restraints placed upon it, and also the properties of the joints between assemblies.

Joint rotation axes and stop angles are honoured as in Rotate Angles mode above, but otherwise the dummy is treated as a pin-jointed set of rigid assemblies, and will respond to dragging using rigid body mechanics.

Mouse motion following picking on an assembly works as follows:

Mouse button Resulting action
Left All limbs attached to this limb, in both "parent" and "child" directions, that are not fully restrained become draggable, and will follow to where the motion of this limb drags them.
Middle Only this assembly and its children will move.
Right Only this assembly, its immediate parent and its children will move.
An example of Drag Assembly free dragging

The following sequence of images shows how this might be used in practice. In this example the dummy has been positioned in the seat, with hands attached to the steering wheel and feet to the pedals. Both hands and feet are fully restrained in all degrees of freedom, the torso, thorax and head are restrained against all rotations and also Y (out of plane) translation.

The user has clicked on the lower torso with the left mouse button, so the whole dummy is selected for movement, and drags it progressively further forwards. This sequence would be carried out in a single operation, and for this dummy the drag occurs in near real-time on a modern desktop computer.

Initial condition

The user has clicked on the lower torso, which selects the whole dummy, and is about to drag from left to right

After about 100mm movement to the right

Notice that the hands and feet have remained fixed, the knees have moved up and the elbows have moved out.

Because of their rotational restraints the head, torso and pelvis regions have remained upright.

Final position

The elbows have moved up and outwards, and the knees have moved up.

Here is the final position in an isometric view.

Arm and leg movement is very obvious!

An example of Dragging child assemblies with more than one parent

The following sequence of images shows how this might be used in practice.

In this example the dummy has its two feet/ankles conjoined at a node.

Here the the dummy assembly connections are:

  1. Assembly left_foot is a child assembly to assembly 'left_lo_leg' (DOF=XYZ)
  2. Assembly right_foot is a child assembly to assembly 'right_lo_leg' (DOF=XYZ)
  3. Assembly right_foot is a child assembly to assembly 'left_foot' (DOF= PIN)

So the assembly ' right_foot ' has two parent assemblies - 'right_lo_leg' and 'left_foot'.

1Initial condition

The assemblies 'right_foot' and 'left_foot' are conjoined at the ankles.

This means that 'right_foot', 'right_lo_leg' and 'left_foot' assemblies form circular connections. From PRIMER V21.0, Rotate Angles can also be used to position the left and right legs independently. However, Drag Assemblies and Move points can be used to position these assemblies in all versions of PRIMER.

Assemblies above the pelvis in this model are not affected, for example the assemblies making up the torso, arms and head each only have a single parent so they can be positioned using Rotate Angles or Drag Assemblies or Move points in PRIMER of any version. 

1Drag Right Foot with middle mouse button

If any of the feet are dragged then the other foot gets dragged too.

Because of their rotational restraints the head, torso and pelvis regions have remained upright.

1Drag the Left Lower leg with the Right mouse button

The Right lower leg and the and left foot moves with the dragged assembly.

The characteristics of Drag Assembly mode
  • It is approximate: movement is calculated using rigid body mechanics in an iterative scheme, and some small errors are inevitably generated. Using the default Options errors will be of the order of 1 part in 10,000, or around 0.2mm for a typical dummy model which, in engineering terms, is not significant.

    However Ansys LS-DYNA requires node pairs at joints to be coincident to a very tight tolerance, and the actions taken to achieve this when you Accept the positioned dummy are described below.

  • It considers restraints on assemblies, or restrained points within them. You can switch restraints on/off at will during the positioning process, and indeed the "move to position, then clamp in place" process is the obvious way to work.

  • It is intuitive: movement is a reasonably natural mixture of translation and rotation, more or less what one would get in real life from grabbing a limb and pulling it.
Using assembly to structure contact

In the example above the hands are fixed rigidly to the steering wheel, which prevents them from rotating and therefore forces the elbows out at an unrealistic angle.

An alternative way of modelling the connection of the hands to the wheel is to define a contact between them and to turn off the fixity. This allows the hands to rotate on the wheel in a more realistic fashion and gives an altogether better final shape.

Contact for dummy positioning is not a "true" contact using the *CONTACT card, but rather a simplified version defined on the assembly editing panel as a "list of part sets contacted during positioning". Here the part set includes the steering wheel, and a box has been used to limit contact to just the section of the wheel near the right hand. A similar contact has also been set up for the right hand.

Compare the result with the final image from the example above. The positions of the arms and hands are more natural as they have been able to rotate on the wheel.

The disadvantage is that movement is much slower because of the need to compute contact, making it much harder to drag the dummy interactively when contact is used since response is so slow. For this reason contacts can be turned on/off via their [C] buttons in the "cont" column of the positioning panel.

However when positioning a dummy by specifying displacement at a point motion is driven by PRIMER itself and the result is acceptable.