Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Double-sided rotational hard stop

**Library:**Simscape / Foundation Library / Mechanical / Rotational Elements

The Rotational Hard Stop block represents a double-sided mechanical rotational hard stop that restricts motion of a body between upper and lower bounds. Both ports of the block are of mechanical rotational type. The impact interaction between the slider and the stops is assumed to be elastic. The stop is implemented as a spring that comes into contact with the slider as the gap is cleared. The spring opposes slider penetration into the stop with the torque linearly proportional to this penetration. To account for energy dissipation and nonelastic effects, the damping is introduced as a block parameter, thus making it possible to account for energy loss.

The basic hard stop model, ```
Full stiffness and damping applied at bounds,
damped rebound
```

, is described with the following equations:

$$T=\{\begin{array}{ll}{K}_{p}\cdot \left(\phi -{g}_{p}\right)+{D}_{p}\cdot \omega \hfill & \text{for}\phi \ge {g}_{p}\hfill \\ 0\hfill & \text{for}{g}_{n}\phi {g}_{p}\hfill \\ {K}_{n}\cdot \left(\phi -{g}_{n}\right)+{D}_{n}\cdot \omega \hfill & \text{for}\phi \le {g}_{n}\hfill \end{array}$$

$$\omega =\frac{d\phi}{dt}$$

where

*T*is interaction torque between the slider and the case.*g*_{p}is the initial gap between the slider and upper bound.*g*_{n}is the initial gap between the slider and lower bound.*φ*is the slider angular position.*K*_{p}is contact stiffness at upper bound.*K*_{n}is contact stiffness at lower bound.*D*_{p}is damping coefficient at upper bound.*D*_{n}is damping coefficient at lower bound.*ω*is the slider angular velocity.*t*is time.

In the ```
Full stiffness and damping applied at bounds, undamped
rebound
```

hard stop model, equations contain additional terms,
`ge`

(*ω*,0) and
`le`

(*ω*,0). These terms ensure that damping is
not applied on the rebound.

$$T=\{\begin{array}{ll}{K}_{p}\cdot \left(\phi -{g}_{p}\right)+{D}_{p}\cdot \omega \cdot ge\left(\omega ,0\right)\hfill & \text{for}\phi \ge {g}_{p}\hfill \\ 0\hfill & \text{for}{g}_{n}\phi {g}_{p}\hfill \\ {K}_{n}\cdot \left(\phi -{g}_{n}\right)+{D}_{n}\cdot \omega \cdot le\left(\omega ,0\right)\hfill & \text{for}\phi \le {g}_{n}\hfill \end{array}$$

Relational functions `ge`

(greater or equal) and
`le`

(less or equal) do not generate zero crossings when angular
velocity changes sign. For more information, see Enabling and Disabling Zero-Crossing Conditions in Simscape Language.
However, the solver treats `ge`

and `le`

functions
as nonlinear. Therefore, if `simscape.findNonlinearBlocks`

indicates
that the rest of your network is linear or switched linear, use the ```
Full
stiffness and damping applied at bounds, damped rebound
```

model to
improve performance.

The default hard stop model, ```
Stiffness and damping applied smoothly
through transition region, damped rebound
```

, adds two transitional
regions to the equations, one at each bound. While the slider travels through a
transition region, the block smoothly ramps up the torque from zero to the full value.
At the end of the transition region, the full stiffness and damping are applied. On the
rebound, both stiffness and damping torques are smoothly decreased back to zero. These
equations also use the `ge`

and `le`

relational
functions, which do not produce zero crossings.

The block is oriented from R to C. This means that the block transmits torque from port R to port C when the gap is closed in the positive direction.

To set the priority and initial target values for the block variables prior to simulation, use
the **Variables** tab in the block dialog box (or the
**Variables** section in the block Property Inspector). For more
information, see Set Priority and Initial Target for Block Variables.

Was this topic helpful?