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 orientation between frame_a and frame_b, and their derivatives, shall be used as states or shall be used for non-standard initialization. This joint allows to initialize every scalar element of the relative quantities, as well as to define StateSelect attributes for every scalar element separately.
In the following figure the animation of a FreeMotionScalarInit joint is shown. The light blue coordinate system is frame_a and the dark blue coordinate system is frame_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 providing its tip position, is shown in Examples.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_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_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 |
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_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_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 |
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_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 |
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_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_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_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 | ||
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_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_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 | ||
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_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 |
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 |