FreeMotionScalarInit
Free motion joint with scalar initialization and state selection (6 degrees-of-freedom, 12 potential states)
Library
Modelica/Mechanics/MultiBody/Joints
Description
Joint which does not constrain the motion between frame_a and frame_b.Such a joint is meaningful if the relative distance and orientationbetween frame_a and frame_b, and their derivatives, shall be usedas states or shall be used for non-standardinitialization. This joint allows to initializeevery scalar element of the relative quantities, as wellas to define StateSelect attributes for everyscalar element separately.
In the following figure the animation of a FreeMotionScalarInitjoint is shown. The light blue coordinate system isframe_a and the dark blue coordinate system isframe_b of the joint.(here: r_rel_a_1(start = 0.5), r_rel_a_2(start = 0), r_rel_a_3(start = 0.5), angle_1(start = 45o), angle_2(start = 45o), angle_3(start = 45o)).
A example to use this joint for the initialization of a planar double pendulum by providingits tip position, is shown inExamples.Elementary.DoublePendulumInitTip.
Parameters
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_animation | animation | = true, if animation shall be enabled (show arrow from frame_a to frame_b) | Scalar | true |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_use_r | use_r | = true, if r_rel_a shall be used | Scalar | true |
mo_r_rel_a_1 | r_rel_a_1 | r_rel_a_1 | Structure | |
mo_r_rel_a_1/fixed | fixed | Cell of scalars | true | |
mo_r_rel_a_1/start | start | Cell of scalars | ||
mo_r_rel_a_2 | r_rel_a_2 | r_rel_a_2 | Structure | |
mo_r_rel_a_2/fixed | fixed | Cell of scalars | true | |
mo_r_rel_a_2/start | start | Cell of scalars | ||
mo_r_rel_a_3 | r_rel_a_3 | r_rel_a_3 | Structure | |
mo_r_rel_a_3/fixed | fixed | Cell of scalars | true | |
mo_r_rel_a_3/start | start | Cell of scalars | ||
mo_r_rel_a_1_stateSelect | r_rel_a_1_stateSelect | StateSelect of r_rel_a[1] | Structure | |
mo_r_rel_a_1_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_r_rel_a_1_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_r_rel_a_1_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_r_rel_a_1_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_r_rel_a_1_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_r_rel_a_2_stateSelect | r_rel_a_2_stateSelect | StateSelect of r_rel_a[2] | Structure | |
mo_r_rel_a_2_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_r_rel_a_2_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_r_rel_a_2_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_r_rel_a_2_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_r_rel_a_2_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_r_rel_a_3_stateSelect | r_rel_a_3_stateSelect | StateSelect of r_rel_a[3] | Structure | |
mo_r_rel_a_3_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_r_rel_a_3_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_r_rel_a_3_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_r_rel_a_3_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_r_rel_a_3_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_use_v | use_v | = true, if v_rel_a shall be used | Scalar | true |
mo_v_rel_a_1 | v_rel_a_1 | v_rel_a_1 | Structure | |
mo_v_rel_a_1/fixed | fixed | Cell of scalars | true | |
mo_v_rel_a_1/start | start | Cell of scalars | ||
mo_v_rel_a_2 | v_rel_a_2 | v_rel_a_2 | Structure | |
mo_v_rel_a_2/fixed | fixed | Cell of scalars | true | |
mo_v_rel_a_2/start | start | Cell of scalars | ||
mo_v_rel_a_3 | v_rel_a_3 | v_rel_a_3 | Structure | |
mo_v_rel_a_3/fixed | fixed | Cell of scalars | true | |
mo_v_rel_a_3/start | start | Cell of scalars | ||
mo_v_rel_a_1_stateSelect | v_rel_a_1_stateSelect | StateSelect of v_rel_a[1] | Structure | |
mo_v_rel_a_1_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_v_rel_a_1_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_v_rel_a_1_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_v_rel_a_1_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_v_rel_a_1_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_v_rel_a_2_stateSelect | v_rel_a_2_stateSelect | StateSelect of v_rel_a[2] | Structure | |
mo_v_rel_a_2_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_v_rel_a_2_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_v_rel_a_2_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_v_rel_a_2_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_v_rel_a_2_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_v_rel_a_3_stateSelect | v_rel_a_3_stateSelect | StateSelect of v_rel_a[3] | Structure | |
mo_v_rel_a_3_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_v_rel_a_3_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_v_rel_a_3_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_v_rel_a_3_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_v_rel_a_3_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_use_a | use_a | = true, if a_rel_a shall be used | Scalar | true |
mo_a_rel_a_1 | a_rel_a_1 | a_rel_a_1 | Structure | |
mo_a_rel_a_1/fixed | fixed | Cell of scalars | true | |
mo_a_rel_a_1/start | start | Cell of scalars | ||
mo_a_rel_a_2 | a_rel_a_2 | a_rel_a_2 | Structure | |
mo_a_rel_a_2/fixed | fixed | Cell of scalars | true | |
mo_a_rel_a_2/start | start | Cell of scalars | ||
mo_a_rel_a_3 | a_rel_a_3 | a_rel_a_3 | Structure | |
mo_a_rel_a_3/fixed | fixed | Cell of scalars | true | |
mo_a_rel_a_3/start | start | Cell of scalars |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_use_angle | use_angle | = true, if angle shall be used | Scalar | true |
mo_sequence_start | sequence_start | Sequence of angle rotations | Vector of size 3 | |
mo_angle_1 | angle_1 | angle_1 | Structure | |
mo_angle_1/fixed | fixed | Cell of scalars | true | |
mo_angle_1/start | start | Cell of scalars | ||
mo_angle_2 | angle_2 | angle_2 | Structure | |
mo_angle_2/fixed | fixed | Cell of scalars | true | |
mo_angle_2/start | start | Cell of scalars | ||
mo_angle_3 | angle_3 | angle_3 | Structure | |
mo_angle_3/fixed | fixed | Cell of scalars | true | |
mo_angle_3/start | start | Cell of scalars | ||
mo_angle_1_stateSelect | angle_1_stateSelect | StateSelect of angle_1 | Structure | |
mo_angle_1_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_angle_1_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_angle_1_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_angle_1_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_angle_1_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_angle_2_stateSelect | angle_2_stateSelect | StateSelect of angle_2 | Structure | |
mo_angle_2_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_angle_2_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_angle_2_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_angle_2_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_angle_2_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_angle_3_stateSelect | angle_3_stateSelect | StateSelect of angle_3 | Structure | |
mo_angle_3_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_angle_3_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_angle_3_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_angle_3_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_angle_3_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_use_angle_d | use_angle_d | = true, if angle_d shall be used | Scalar | true |
mo_angle_d_1 | angle_d_1 | angle_d_1 | Structure | |
mo_angle_d_1/fixed | fixed | Cell of scalars | true | |
mo_angle_d_1/start | start | Cell of scalars | ||
mo_angle_d_2 | angle_d_2 | angle_d_2 | Structure | |
mo_angle_d_2/fixed | fixed | Cell of scalars | true | |
mo_angle_d_2/start | start | Cell of scalars | ||
mo_angle_d_3 | angle_d_3 | angle_d_3 | Structure | |
mo_angle_d_3/fixed | fixed | Cell of scalars | true | |
mo_angle_d_3/start | start | Cell of scalars | ||
mo_angle_d_1_stateSelect | angle_d_1_stateSelect | StateSelect of angle_d_1 | Structure | |
mo_angle_d_1_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_angle_d_1_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_angle_d_1_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_angle_d_1_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_angle_d_1_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_angle_d_2_stateSelect | angle_d_2_stateSelect | StateSelect of angle_d_2 | Structure | |
mo_angle_d_2_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_angle_d_2_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_angle_d_2_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_angle_d_2_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_angle_d_2_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_angle_d_3_stateSelect | angle_d_3_stateSelect | StateSelect of angle_d_3 | Structure | |
mo_angle_d_3_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_angle_d_3_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_angle_d_3_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_angle_d_3_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_angle_d_3_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_use_angle_dd | use_angle_dd | = true, if angle_dd shall be used | Scalar | true |
mo_angle_dd_1 | angle_dd_1 | angle_dd_1 | Structure | |
mo_angle_dd_1/fixed | fixed | Cell of scalars | true | |
mo_angle_dd_1/start | start | Cell of scalars | ||
mo_angle_dd_2 | angle_dd_2 | angle_dd_2 | Structure | |
mo_angle_dd_2/fixed | fixed | Cell of scalars | true | |
mo_angle_dd_2/start | start | Cell of scalars | ||
mo_angle_dd_3 | angle_dd_3 | angle_dd_3 | Structure | |
mo_angle_dd_3/fixed | fixed | Cell of scalars | true | |
mo_angle_dd_3/start | start | Cell of scalars |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_use_w | use_w | = true, if w_rel_b shall be used | Scalar | true |
mo_w_rel_b_1 | w_rel_b_1 | w_rel_b_1 | Structure | |
mo_w_rel_b_1/fixed | fixed | Cell of scalars | true | |
mo_w_rel_b_1/start | start | Cell of scalars | ||
mo_w_rel_b_2 | w_rel_b_2 | w_rel_b_2 | Structure | |
mo_w_rel_b_2/fixed | fixed | Cell of scalars | true | |
mo_w_rel_b_2/start | start | Cell of scalars | ||
mo_w_rel_b_3 | w_rel_b_3 | w_rel_b_3 | Structure | |
mo_w_rel_b_3/fixed | fixed | Cell of scalars | true | |
mo_w_rel_b_3/start | start | Cell of scalars | ||
mo_w_rel_b_1_stateSelect | w_rel_b_1_stateSelect | StateSelect of w_rel_b[1] | Structure | |
mo_w_rel_b_1_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_w_rel_b_1_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_w_rel_b_1_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_w_rel_b_1_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_w_rel_b_1_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_w_rel_b_2_stateSelect | w_rel_b_2_stateSelect | StateSelect of w_rel_b[2] | Structure | |
mo_w_rel_b_2_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_w_rel_b_2_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_w_rel_b_2_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_w_rel_b_2_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_w_rel_b_2_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_w_rel_b_3_stateSelect | w_rel_b_3_stateSelect | StateSelect of w_rel_b[3] | Structure | |
mo_w_rel_b_3_stateSelect/choice1 | StateSelect.never | Number | 0 | |
mo_w_rel_b_3_stateSelect/choice2 | StateSelect.avoid | Number | 0 | |
mo_w_rel_b_3_stateSelect/choice3 | StateSelect.default | Number | 0 | |
mo_w_rel_b_3_stateSelect/choice4 | StateSelect.prefer | Number | 0 | |
mo_w_rel_b_3_stateSelect/choice5 | StateSelect.always | Number | 0 | |
mo_use_z | use_z | = true, if z_rel_b shall be used | Scalar | true |
mo_z_rel_b_1 | z_rel_b_1 | z_rel_b_1 | Structure | |
mo_z_rel_b_1/fixed | fixed | Cell of scalars | true | |
mo_z_rel_b_1/start | start | Cell of scalars | ||
mo_z_rel_b_2 | z_rel_b_2 | z_rel_b_2 | Structure | |
mo_z_rel_b_2/fixed | fixed | Cell of scalars | true | |
mo_z_rel_b_2/start | start | Cell of scalars | ||
mo_z_rel_b_3 | z_rel_b_3 | z_rel_b_3 | Structure | |
mo_z_rel_b_3/fixed | fixed | Cell of scalars | true | |
mo_z_rel_b_3/start | start | Cell of scalars |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_arrowDiameter | arrowDiameter | Diameter of arrow from frame_a to frame_b | Scalar | |
mo_arrowColor | arrowColor | Color of arrow | Vector of size 3 | |
mo_specularCoefficient | specularCoefficient | Reflection of ambient light (= 0: light is completely absorbed) | Scalar |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo__nmodifiers | Number of Modifiers | Specifies the number of modifiers | Number | |
mo__modifiers | Modifiers | Add new modifier | Structure | |
mo__modifiers/varname | Variable name | Cell of strings | ||
mo__modifiers/attribute | Attribute | Cell of strings | 'start' | |
mo__modifiers/value | Value |
Ports
Name | Type | Description | IO Type | Number |
---|---|---|---|---|
frame_a | implicit | Coordinate system a fixed to the component with one cut-force and cut-torque | input | 1 |
frame_b | implicit | Coordinate system b fixed to the component with one cut-force and cut-torque | output | 1 |