Bushing Joint

Joint with three prismatic and three revolute primitives

Joints

Description

This block represents a joint with three translational and three rotational degrees of freedom. Three prismatic primitives provide the translational degrees of freedom. Three revolute primitives provide the rotational degrees of freedom.

Joint Degrees of Freedom

The joint block represents motion between the base and follower frames as a sequence of time-varying transformations. Each joint primitive applies one transformation in this sequence. The transformation translates or rotates the follower frame with respect to the joint primitive base frame. For all but the first joint primitive, the base frame coincides with the follower frame of the previous joint primitive in the sequence.

At each time step during the simulation, the joint block applies the sequence of time-varying frame transformations in this order:

1. Translation:

1. Along the X axis of the X Prismatic Primitive (Px) base frame.

2. Along the Y axis of the Y Prismatic Primitive (Py) base frame. This frame is coincident with the X Prismatic Primitive (Px) follower frame.

3. Along the Z axis of the Z Prismatic Primitive (Pz) base frame. This frame is coincident with the Y Prismatic Primitive (Py) follower frame.

2. Rotation:

1. About the X axis of the X Revolute Primitive (Rx) base frame. This frame is coincident with the Z Prismatic Primitive (Pz) follower frame.

2. About the Y axis of the Y Revolute Primitive (Ry) base frame. This frame is coincident with the X Revolute Primitive (Rx) follower frame.

3. About the Z axis of the Z Revolute Primitive (Rz) base frame. This frame is coincident with the Y Revolute Primitive (Ry) follower frame.

The figure shows the sequence in which the joint transformations occur at a given simulation time step. The resulting frame of each transformation serves as the base frame for the following transformation. Because 3-D rotation occurs as a sequence, it is possible for two axes to align, causing to the loss of one rotational degree of freedom. This phenomenon is known as gimbal lock.

Joint Transformation Sequence

A set of optional state targets guide assembly for each joint primitive. Targets include position and velocity. A priority level sets the relative importance of the state targets. If two targets are incompatible, the priority level determines which of the targets to satisfy.

Internal mechanics parameters account for energy storage and dissipation at each joint primitive. Springs act as energy storage elements, resisting any attempt to displace the joint primitive from its equilibrium position. Joint dampers act as energy dissipation elements. Springs and dampers are strictly linear.

Each joint primitive has a set of optional actuation and sensing ports. Actuation ports accept physical signal inputs that drive the joint primitives. These inputs can be forces and torques or a desired joint trajectory. Sensing ports provide physical signal outputs that measure joint primitive motion as well as actuation forces and torques. Actuation modes and sensing types vary with joint primitive.

C/C++ Code Generation

This block supports code generation for real-time simulation tasks. Certain blocks and block settings may be more suitable for simulation on a real-time device. For suggestions on how to improve real-time simulation performance, use the Simulink® Performance Advisor (Simulink). Suggestions include ways to reduce model complexity where helpful and to decrease numerical stiffness.

Select Analysis > Performance Tools > Performance Advisor in the Simulink menu bar to open the Performance Advisor. Set the Activity parameter to `Execute real-time application` to view suggestions specific to real-time simulation performance. Expand the Real-Time node in the tree view pane to select performance checks specific to Simscape™ products.

Parameters

Prismatic Primitive: State Targets

Specify the prismatic primitive state targets and their priority levels. A state target is the desired value for one of the joint state parameters—position and velocity. The priority level is the relative importance of a state target. It determines how precisely the target must be met. Use the Model Report tool in Mechanics Explorer to check the assembly status for each joint state target.

Specify Position Target

Select this option to specify the desired joint primitive position at time zero. This is the relative position, measured along the joint primitive axis, of the follower frame origin with respect to the base frame origin. The specified target is resolved in the base frame. Selecting this option exposes priority and value fields.

Specify Velocity Target

Select this option to specify the desired joint primitive velocity at time zero. This is the relative velocity, measured along the joint primitive axis, of the follower frame origin with respect to the base frame origin. It is resolved in the base frame. Selecting this option exposes priority and value fields.

Priority

Select state target priority. This is the importance level assigned to the state target. If all state targets cannot be simultaneously satisfied, the priority level determines which targets to satisfy first and how closely to satisfy them. This option applies to both position and velocity state targets.

Priority LevelDescription
`High (desired)`Satisfy state target precisely
`Low (approximate)`Satisfy state target approximately

Note

During assembly, high-priority targets behave as exact guides. Low-priority targets behave as rough guides.

Value

Enter the state target numerical value. The default is `0`. Select or enter a physical unit. The default is `m` for position and `m/s` for velocity.

Prismatic Primitive: Internal Mechanics

Specify the prismatic primitive internal mechanics. Internal mechanics include linear spring forces, accounting for energy storage, and damping forces, accounting for energy dissipation. You can ignore internal mechanics by keeping spring stiffness and damping coefficient values at `0`.

Equilibrium Position

Enter the spring equilibrium position. This is the distance between base and follower frame origins at which the spring force is zero. The default value is `0`. Select or enter a physical unit. The default is `m`.

Spring Stiffness

Enter the linear spring constant. This is the force required to displace the joint primitive by a unit distance. The default is `0`. Select or enter a physical unit. The default is `N/m`.

Damping Coefficient

Enter the linear damping coefficient. This is the force required to maintain a constant joint primitive velocity between base and follower frames. The default is `0`. Select or enter a physical unit. The default is `N/(m/s)`.

Prismatic Primitive: Actuation

Specify actuation options for the prismatic joint primitive. Actuation modes include and Motion. Selecting `Provided by Input` from the drop-down list for an actuation mode adds the corresponding physical signal port to the block. Use this port to specify the input signal. Actuation signals are resolved in the base frame.

Force

Select an actuation force setting. The default setting is `None`.

Actuation Force SettingDescription
`None`No actuation force.
`Provided by Input`Actuation force from physical signal input. The signal provides the force acting on the follower frame with respect to the base frame along the joint primitive axis. An equal and opposite force acts on the base frame.
`Automatically computed`Actuation force from automatic calculation. Simscape Multibody™ computes and applies the actuation force based on model dynamics.
Motion

Select an actuation motion setting. The default setting is ```Automatically Computed```.

Actuation Motion SettingDescription
`Provided by Input`Joint primitive motion from physical signal input. The signal provides the desired trajectory of the follower frame with respect to the base frame along the joint primitive axis.
`Automatically computed`Joint primitive motion from automatic calculation. Simscape Multibody computes and applies the joint primitive motion based on model dynamics.

Prismatic Primitive: Sensing

Select the variables to sense in the prismatic joint primitive. Selecting a variable exposes a physical signal port that outputs the measured quantity as a function of time. Each quantity is measured for the follower frame with respect to the base frame. It is resolved in the base frame. You can use the measurement signals for analysis or as input in a control system.

Position

Select this option to sense the relative position of the follower frame origin with respect to the base frame origin along the joint primitive axis.

Velocity

Select this option to sense the relative velocity of the follower frame origin with respect to the base frame origin along the joint primitive axis.

Acceleration

Select this option to sense the relative acceleration of the follower frame origin with respect to the base frame origin along the joint primitive axis.

Actuator Force

Select this option to sense the actuation force acting on the follower frame with respect to the base frame along the joint primitive axis.

Revolute Primitive: State Targets

Specify the revolute primitive state targets and their priority levels. A state target is the desired value for one of the joint state parameters—position and velocity. The priority level is the relative importance of a state target. It determines how precisely the target must be met. Use the Model Report tool in Mechanics Explorer to check the assembly status for each joint state target.

Specify Position Target

Select this option to specify the desired joint primitive position at time zero. This is the relative rotation angle, measured about the joint primitive axis, of the follower frame with respect to the base frame. The specified target is resolved in the base frame. Selecting this option exposes priority and value fields.

Specify Velocity Target

Select this option to specify the desired joint primitive velocity at time zero. This is the relative angular velocity, measured about the joint primitive axis, of the follower frame with respect to the base frame. It is resolved in the base frame. Selecting this option exposes priority and value fields.

Priority

Select state target priority. This is the importance level assigned to the state target. If all state targets cannot be simultaneously satisfied, the priority level determines which targets to satisfy first and how closely to satisfy them. This option applies to both position and velocity state targets.

Priority LevelDescription
`High (desired)`Satisfy state target precisely
`Low (approximate)`Satisfy state target approximately

Note

During assembly, high-priority targets behave as exact guides. Low-priority targets behave as rough guides.

Value

Enter the state target numerical value. The default is `0`. Select or enter a physical unit. The default is `deg` for position and `deg/s` for velocity.

Revolute Primitive: Internal Mechanics

Specify the revolute primitive internal mechanics. Internal mechanics include linear spring torques, accounting for energy storage, and linear damping torques, accounting for energy dissipation. You can ignore internal mechanics by keeping spring stiffness and damping coefficient values at `0`.

Equilibrium Position

Enter the spring equilibrium position. This is the rotation angle between base and follower frames at which the spring torque is zero. The default value is `0`. Select or enter a physical unit. The default is `deg`.

Spring Stiffness

Enter the linear spring constant. This is the torque required to rotate the joint primitive by a unit angle. The default is `0`. Select or enter a physical unit. The default is `N*m/deg`.

Damping Coefficient

Enter the linear damping coefficient. This is the torque required to maintain a constant joint primitive angular velocity between base and follower frames. The default is `0`. Select or enter a physical unit. The default is `N*m/(deg/s)`.

Revolute Primitive: Actuation

Specify actuation options for the revolute joint primitive. Actuation modes include and Motion. Selecting `Provided by Input` from the drop-down list for an actuation mode adds the corresponding physical signal port to the block. Use this port to specify the input signal. Input signals are resolved in the base frame.

Torque

Select an actuation torque setting. The default setting is `None`.

Actuation Torque SettingDescription
`None`No actuation torque.
`Provided by Input`Actuation torque from physical signal input. The signal provides the torque acting on the follower frame with respect to the base frame about the joint primitive axis. An equal and opposite torque acts on the base frame.
`Automatically computed`Actuation torque from automatic calculation. Simscape Multibody computes and applies the actuation torque based on model dynamics.
Motion

Select an actuation motion setting. The default setting is ```Automatically Computed```.

Actuation Motion SettingDescription
`Provided by Input`Joint primitive motion from physical signal input. The signal provides the desired trajectory of the follower frame with respect to the base frame along the joint primitive axis.
`Automatically computed`Joint primitive motion from automatic calculation. Simscape Multibody computes and applies the joint primitive motion based on model dynamics.

Revolute Primitive: Sensing

Select the variables to sense in the revolute joint primitive. Selecting a variable exposes a physical signal port that outputs the measured quantity as a function of time. Each quantity is measured for the follower frame with respect to the base frame. It is resolved in the base frame. You can use the measurement signals for analysis or as input in a control system.

Position

Select this option to sense the relative rotation angle of the follower frame with respect to the base frame about the joint primitive axis.

Velocity

Select this option to sense the relative angular velocity of the follower frame with respect to the base frame about the joint primitive axis.

Acceleration

Select this option to sense the relative angular acceleration of the follower frame with respect to the base frame about the joint primitive axis.

Actuator Torque

Select this option to sense the actuation torque acting on the follower frame with respect to the base frame about the joint primitive axis.

Composite Force/Torque Sensing

Select the composite, or joint-wide, forces and torques to sense. These are forces and torques that act not at individual joint primitives but at the whole joint. Options include constraint and total forces and torques.

During simulation, the block computes the selected composite forces and torques acting between the base and follower port frames. It outputs these variables using physical signal output ports. Check the port labels to identify the output variables at different ports.

Direction

Forces and torques acting at joints do so in pairs. Newton’s third law of motion requires that every action be accompanied by an equal and opposite reaction. If the base frame of a joint exerts a force or torque on the follower frame, then the follower frame must exert an equal and opposite force or torque on the base frame.

Select whether to sense the composite forces and torques exerted by the base frame on the follower frame or vice versa. The force and torque vector components are positive if they point along the positive X, Y, and Z axes of the selected resolution frame.

Resolution Frame

You can resolve a vector quantity into Cartesian components in different frames. If the resolution frames have different orientations, then the measured components are themselves different—even though the vector quantity remains the same.

Select the frame in which to resolve the sensed force and torque variables. Possible resolution frames include `Base` and `Follower`. The block outputs the Cartesian components of the sensed force and torque vectors as observed in this frame.

Constraint Force

Joint blocks with fewer than three translational degrees of freedom forbid motion along one or more axes. For example, the Gimbal Joint block forbids translation along all axes. To prevent translation along an axis, a joint block applies a constraint force between its base and follower port frames. Constraint forces are orthogonal to joint translation axes and therefore do no work.

Select the check box to compute and output the 3-D constraint force vector [fcx, fcy, fcz] acting at the joint. Only constraint force components that are orthogonal to the joint translational degrees of freedom have nonzero values. Selecting this option causes the block to expose physical signal port fc.

Constraint Torque

Joint blocks with fewer than three rotational degrees of freedom forbid motion about one or more axes. For example, the Cartesian Joint block forbids rotation about all axes. To prevent rotation about an axis, a joint block applies a constraint torque between its base and follower port frames. Constraint torques are orthogonal to joint rotation axes and therefore do no work.

Select the check box to compute and output the 3-D constraint torque vector [tcx, tcy, tcz] acting at the joint. Only constraint torque components that are orthogonal to the joint rotational degrees of freedom have nonzero values. Selecting this option causes the block to expose physical signal port tc.

Total Force

A joint block generally applies various forces between its port frames:

• Actuation forces that drive prismatic joint primitives.

• Internal spring and damper forces that resist motion at prismatic joint primitives.

• Constraint forces that forbid motion in directions orthogonal to prismatic joint primitives.

The net sum of the different force components equals the total force acting between the joint port frames. Select the check box to compute and output the 3-D total force vector [ftx, fty, ftz]. Selecting this option causes the block to expose physical signal port ft.

Total Torque

A joint block generally applies various torques between its port frames:

• Actuation torques that drive revolute or spherical joint primitives.

• Internal spring and damper torques that resist motion at revolute or spherical joint primitives.

• Constraint torques that forbid motion in directions orthogonal to the revolute or spherical joint primitive axes.

The net sum of the different torque components equals the total torque acting at a joint. Select the check box to compute and output the 3-D total torque vector [ttx, tty, ttz]. Selecting this option causes the block to expose physical signal port tt.

Ports

This block has two frame ports. It also has optional physical signal ports for specifying actuation inputs and sensing dynamical variables such as forces, torques, and motion. You expose an optional port by selecting the sensing check box corresponding to that port.

Frame Ports

• B — Base frame

• F — Follower frame

Actuation Ports

The prismatic joint primitives provide the following actuation ports:

• fx, fy, fz — Actuation forces acting on the X, Y, and Z prismatic joint primitives

• px, py, pz — Desired trajectories of the X, Y, Z prismatic joint primitives

The revolute joint primitives provide the following actuation ports:

• tx, ty, tz — Actuation torques acting on the X, Y, and Z revolute joint primitives

• qx, qy, qz — Desired rotations of the X, Y, and Z revolute joint primitives

Sensing Ports

The prismatic joint primitives provide the following sensing ports:

• px, py, pz — Positions of the X, Y, and Z prismatic joint primitives

• vx, vy, vz — Velocities of the X, Y, and Z prismatic joint primitives

• ax, ay, az — Accelerations of the X, Y, and Z prismatic joint primitives

• fx, fy, fz — Actuation forces acting on the X, Y, and Z prismatic joint primitives

The revolute joint primitives provide the following sensing ports:

• qx, qy, qz — Angular positions of the X, Y, and Z revolute joint primitives

• wx, wy, wz — Angular velocities of the X, Y, and Z revolute joint primitives

• bx, by, bz — Angular accelerations of the X, Y, and Z revolute joint primitives

• tx, ty, tz — Actuation torques acting on the X, Y, and Z revolute joint primitives

The following sensing ports provide the composite forces and torques acting on the joint:

• fc — Constraint force

• tc — Constraint torque

• ft — Total force

• tt — Total torque