Engineering Solutions

CRASH-2300: Creating a Seat Mechanism Using the Mechanism Browser

CRASH-2300: Creating a Seat Mechanism Using the Mechanism Browser

Previous topic Next topic Expand/collapse all hidden text  

CRASH-2300: Creating a Seat Mechanism Using the Mechanism Browser

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

The goal of this tutorial is to create a seat mechanism. The Mechanism browser provides all functionalities to model a kinematic mechanism, for example a vehicle driver or passenger seat. All aspects needed to define a mechanism, articulate it into a desired position and export the final data are covered, such as:

Definition of the bodies: Identified by parts and/or part sets and/or node sets. During mechanism motion, each body behaves as a rigid body.
Definition of kinematic joints: A joint defines the relative kinematic behavior between two or three bodies. A joint defined inside the mechanism tool is independent from a joint available in the solver.      
Mechanism check: A check is available in order to verify the validity of the defined mechanism (bodies/joints).
Move mechanism to target position: The mechanism can be automatically moved to a desired position by selecting a target node or by specifying the coordinates of the target node (for example: H-Point of a driver seat).    
Save positions: Several defined positions of a mechanism can be saved and retrieved quickly.
Export “solver” positions: Each of the saved positions can be exported as a solver include file in which the positions of the bodies are defined via solver transformation cards.
Export mechanism: During solver input deck export the complete mechanism, as well as the defined positions, are embedded inside the solver deck and described after the end (*END for LS-DYNA; /END for RADIOSS).

crash_2300_01

hmtoggle_plus1greyModel Description

The driver seat model used in this tutorial is based on the free Toyota Yaris model, provided by the National Crash Analysis Center (NCAC) (http://www.ncac.gwu.edu/vml/models.html). The LS-DYNA seat model as well as the RADIOSS model are available. This tutorial uses the RADIOSS version of the seat, but each step can be reproduced using the LS-DYNA model. The files needed for this tutorial are located in example_seat_mechanism_0000.rad in the es.zip file. Copy these files into a local directory before proceeding with this tutorial.          

hmtoggle_plus1greyStep 1:  Load the Engineering Solutions RADIOSS User Profile
1.From the Start menu, select Engineering Solutions > Crash (HyperMesh) or click userProfile-24 on the Standard toolbar.
2.Select Crash > RADIOSS.    
3.Click OK.
hmtoggle_plus1greyStep 2: Load the Model File
1.Click File > Import > Solver Deck.
2.Click the fileOpen-24 icon to browse and select the example_seat_mechanism_0000.rad file.
3.Click Import. The model loads into the graphics area.
hmtoggle_plus1greyStep 3: Open the Mechanism Browser
1.From the menu bar, click Safety >  Seat Mechanism. The Mechanism browser opens.        
2.Right-click and select Create > Mechanism. A mechanism named mechanism1 is created containing two empty bodies named body1 and body2.

crash_2300_34

3.Rename mechanism1 to Driver_Seat. You can do this one of two ways. The first way is by clicking mechanism1 to open the Entity Editor at the bottom of the browser and typing in the Name. Or you can right-click mechanism1 > Rename in the browser.

crash_2300_35

crash_2300_36

hmtoggle_plus1greyStep 4:  Define the Bodies

For the definition of the bodies, it is necessary to know which parts or nodes belong to which kinematic assemblies. The definition of part or node sets can be done in the solver deck before starting to define the mechanism, or directly in the body Entity Editor below the Mechanism browser. Below are the different ways you can define the content of a body inside the body Entity Editor.  

Select a list of components.

crash_2300_02

Create a set of components- Card Image GRPART (for RADIOSS) in set Entity Editor.

crash_2300_03

Create a set of nodes- Card Image GRNOD (for RADIOSS) in set Entity Editor.

crash_2300_04

Note:It is recommended to use sets of parts or nodes, as these entities are directly defined and exported in the solver deck. A body can be defined by a combination of these three contents.
hmtoggle_plus1greyStep 5: Create the Fix_Rail Body
1.Inside the Mechanism browser, select body1 to activate the body Entity Editor.

crash_2300_05

2.Change the name of body1 to Fix_Rail. This body is Fixed to ground which means that all degrees of freedom of this body are locked. The crash_2300_06 icon attached to this body inside the Mechanism browser refers to this behavior.
3.Inside the Entity Editor, right-click Sets > Create. A dialog opens.

crash_2300_07

4.In the dialog, change the Name of the set to Fix_Rail_Parts and change the Card Image to GRPART.

crash_2300_08

5.Click Entity IDs and then click the Components field.
6.Select the components defining the Fix_Rail body by selecting them on the display or in the Select Components dialog.

crash_2300_09

7.Click OK when you are done selecting the components and close the dialog.
8.To review the body you created right-click Fix_Rail > Review inside the Mechanism browser.

crash_2300_10

9.Click Reset Review from the right-click context menu to turn off the body display mode.
hmtoggle_plus1greyStep 6: Create the Move_Rail Body
1.Inside the Mechanism browser, click body2 to activate the body Entity Editor.
2.Change the name of body2 to Move_Rail. This body is Fixed to ground which means that all degrees of freedom of this body are locked. The crash_2300_06 icon attached to this body inside the Mechanism browser refers to this behavior.
3.Inside the Entity Editor, right-click Sets > Create. A dialog opens.
4.In the dialog, change the name of the set to Move_Rail_Parts and change the Card Image to GRPART.
5.Click Entity IDs and then click the Components field.
6.Select the components defining the Move_Rail body by selecting them on the display or in the Select Components dialog.
7.Click OK when you are done selecting the components and close the dialog.
8.To review the body you created right-click Move_Rail > Review inside the Mechanism browser.
9.Click Reset Review from the right-click context menu to turn off the body display mode.

crash_2300_11

Move_Rail body

Note:The 1D parts modeling the spot-weld connections between the shell meshed parts and also the set of nodes containing the master nodes of the rigid bodies have to be taken into account in this body.
hmtoggle_plus1greyStep 7: Create the Other Bodies

There are five more bodies to define: Roller, Front_Lever, Rear_Lever, Seat_Cushion and Back_Seat.

1.To create a new body, right-click the mechanism and select Create > Body.

crash_2300_12

For each of these bodies, the parts and nodes sets are already defined in the model.

2.To define the content of each body, click Sets inside the body Entity Editor and retrieve the corresponding sets in the model set-list (for example Front_Lever_Parts and Front_Lever_Nodes sets for the Front_Lever body).

crash_2300_13

hmtoggle_plus1greyStep 8: Create the Joints

Inside a mechanism bodies are connected together via kinematic joints. The different joints available are:  

Ball: Joint having the three translational degrees of freedom (DOF) blocked. This joint is defined by the center coordinates or by a node.
Cylinder: Joint allowing a translation and a rotation around the same axis. This joint is defined by the axis (Origin+direction given by coordinates or node selection).
Revolute: Same as Cylinder joint, without translation.
Slider: Same as Cylinder, without rotation.
Double Slider: A slider with a third body for which the motion is linked to the two main bodies via scale factors:
oMotion_body3 = Factor1*Motion_body1 + Factor2*Motion_body2
oWhere: 0<Factor1<1 and 0<Factor1<1 and Factor2=1-Factor1

Create the Double Slider joint

1.In the Mechanism browser, select Fix_Rail and Move_Rail, and then right-click and select Connect.

crash_2300_14

Note:Another way to connect bodies: Select Fix_Rail and then right-click and select Connect To. A dialog opens listing the available bodies. Select Move_Rail and close the dialog.

crash_2300_25

2.Inside the joint Entity Editor select the Joint type DoubleSlider.

crash_2300_15

3.Specify Body3 by selecting Roller inside the body list.

crash_2300_16

4.Verify that Input Option is set to By Positions.
5.Under Location, activate the two checkboxes labeled Define by Node.
6.Click Origin, select a node on the rail part and click proceed.

crash_2300_17

7.Click Local Z-axis, select another node to define the direction of motion and click proceed.

crash_2300_18

8.Click Create to confirm the joint. The Double Slider joint is created in the Mechanism browser with the three bodies defined inside, as well as on the display.

crash_2300_19

The scale factors (Factor 1 and Factor 2) defining the relative motion between Roller and Fix_Rail and Roller and Move_Rail are set up per default to 0.5.

9.In order to change these values, select the DoubleSlider joint in the Mechanism browser and update the value of Factor 1 in the Entity Editor (Factor 2 is directly computed as 1-Factor 1).

crash_2300_20

Define the joint limits

It is possible to define limits for each type of joint.

1.For example, in the previous DoubleSlider Entity Editor, activate the checkbox Define limits, and provide the following limit values:
Min distance: -100.0
Max distance: 50.0

Create the Revolute joints

All of the other joints are revolute joints and are defined in the same way – Origin + direction in Y-Axis.

To create the revolute joint between Move_Rail and Front_Lever bodies perform the following steps.

1.Select Move_Rail and Front_Lever, right-click and select Connect.

crash_2300_21

2.In the joint Entity Editor, set Joint type to Revolute and Input Option to By Directions.
3.Click Origin and provide the coordinates of the axis-origin or define them by selecting a node. To do that, click the blue arrow, pick a node and click proceed. The following Origin coordinates should be used: -1661, 104 and 418.5. The Local Z-axis of the joint is oriented in the global y-axis: 0, 1, 0.
4.Click Create to confirm the creation of the revolute joint.

crash_2300_22

5.Repeat these steps to create the other revolute joints, defined as follow:

Body 1

Body 2

Origin Coordinates

Local Z-axis

Move_Rail

Rear_Lever

-1961; 117; 408.5

0; 1; 0

Rear_Lever

Seat_Cushion

-2040.6; 104; 420.7

0; 1; 0

Front_Lever

Seat_Cushion

-1722.5; 121; 475

0; 1; 0

Seat_Cushion

Back_Seat

-2067; 103.6; 506

0; 1; 0

The complete seat mechanism should look like the image below.

crash_2300_23

hmtoggle_plus1greyStep 9: Check a Mechanism

In order to work correctly, there are basic checks on the mechanism that need to be performed to ensure the validity of the mechanism.

1.Right-click the mechanism Driver_Seat > Check Mechanism. Checks will be automatically performed to detect common nodes (checks if nodes are shared in several bodies), empty bodies and redundant joints.

If the bodies and joints are correctly defined, all checks should be green in color check-24.

If a check fails, a red delete-24 appears and an automatic fix will be available. For example, in a case of common nodes, a dialog opens where you can select which body the common nodes have to be retained.

crash_2300_24

hmtoggle_plus1greyStep 10: Move a Mechanism

Before moving a mechanism, it is possible to specify what the joints are that are able to move and those that are locked.  

Define joint lock level

1.Click the lock icon lock2Unlocked-24 of a joint. The green icon means that the joint is locked and can move. The yellow icon lock2LockedAlternate1-24 means that the joint is locked and cannot move.

Move a single joint

1.Select the joint in the Mechanism browser, for example DoubleSlider on the actual Driver_Seat, right-click and select Move. You are now able to move interactively the DoubleSlider joint by activating the arrow on the display.  

crash_2300_26

To move a joint, it is possible to use the entries in the Entity Editor.

1.Select the DoubleSlider, right-click and select Move. Current distance of the joint can be modified by giving a desired value or using the up and down arrow buttons. Moreover, you have control on the increments of the operations by changing the Increment value.

crash_2300_27

Move mechanism to target

Instead of moving the joints, there is the option to move the mechanism automatically by selecting a node of a body and the target position. Typically, you can select the seat H-Point. In this example, the following node represents the H-Point and belongs to the Seat_Cushion body.

crash_2300_28

1.To move the H-Point to a target location, select Driver_Seat in the Mechanism browser, right-click and select Actuate Mechansim > Target Point. This opens Move to target in the Entity Editor.

crash_2300_29

New position name: Define the name of the final position of the seat, for example Target_1.
Multiple pairs: Yes or No – Defines if the final position is based on one node and one target (Multiple pairs = No) or based on multiple nodes and corresponding targets (Multiple pairs = Yes). For this example, select No.
Node/Constraint: Select the seat node, which needs to be moved to the target. Select H-Point Node.  

crash_2300_30

Target X,Y,Z/Node: Provide the target coordinates or pick a node (blue arrow) as the target. In this example, give the following coordinates: -1800; 330; 625.
2.Click Move, and observe that the seat is automatically positioned matching the new H-Point target.

crash_2300_31

3.Click Save to save the new position of the seat.
hmtoggle_plus1greyStep 11: Save and Retrieve Positions

A mechanism position can be saved directly in the Move to Target Entity Editor after mechanism positioning. Otherwise, after modifying manually the joint positions the final position can be saved.

1.Right-click Driver_Seat > Save Position as. You can create a new position or overwrite an existing position.
2.After creating several positions you can quickly retrieve them by clicking Move Mechanism To > Other Position.

crash_2300_32

3.Select the desired position in the list.

crash_2300_33

Note:The Initial position of the mechanism is automatically created when the mechanism has been defined for the first time, and thus, it is always possible to bring it to this initial position at any time.
hmtoggle_plus1greyStep 12: Export a Position as a Solver Include File

The Mechanism browser allows you to export any saved mechanism position to a solver file containing transformation cards and related sets of parts or sets of nodes. This allows you to position, for example a seat, using solver entities.

1.Right-click Driver_Seat > Export Position.
2.Set the Reference position as Initial[Driver_Seat].
3.Select the Position to export, for example Target_1.
4.Define a file to export the results and click Export. The exported file can be used directly as an include file into the initial seat model.
hmtoggle_plus1greyStep 13: Export a Mechanism using the Solver Deck
1.Click File > Export > Solver Deck.
2.Click the fileOpen-24 icon to browse and select the seat_positioned_0000.rad file.
3.Click Export.
4.Open the exported deck in a text editor and pay attention to the /END. The created mechanism is stored between the keywords /MECHANISM_START and /MECHANISM_END.
/ASSEMBLY: Defines a body with the different set IDs or PART IDs, for example part set number and related set ID, number of parts and related part IDs, number of nodes set and related set ID).

/ASSEMBLY/1        

Example_of_body

          1                 10                                       1                   0                   0                  0

1000000

2000682   2000683   2000684   6500093   6500094   6500095   6500096   2000637   2000638   2000669

2000000

/CONNECTION_***: Defines the type of joint between ASSEMBLY (/CONNECTION_HINGE; /CONNECTION_LINE…)
/POSITION: Defines a position of the mechanism
Note:Reference and Initial positions should never be deleted.

If you were using the LS-DYNA solver you would see *ASSEMBLY, *CONNECTION, *POSITION

*ASSEMBLY

1Example_of_body

             1                 10                                       1                   0                   0                  0

1000000

2000682   2000683   2000684   6500093   6500094   6500095   6500096   2000637   2000638   2000669

2000000