# simscape.multibody.SphericalSpringDamper class

Package: simscape.multibody
Superclasses: `simscape.multibody.JointForceLaw`

Construct spherical spring-damper force law

## Description

Use an object of the `simscape.multibody.SphericalSpringDamper` class to construct a spherical spring-damper force law. You can use the force law to apply a pure torque to a `simscape.multibody.SphericalPrimitive` object.

The spherical spring-damper force law is a vector force law. The deviation between the current and equilibrium position is expressed as

${R}_{rel}={R}_{e}^{-1}\cdot R$,

where:

SymbolDescription
${R}_{rel}$Relative rotation, specified as a vector.
${R}_{e}$Equilibrium position of a spherical primitive, specified as a vector.
$R$Current position of the spherical primitive, specified as a vector that represents a 3-D rotation from the follower to the base frame of the primitive.

The relative rotation can be parameterized by a natural angle-axis pair. The angle, $\theta$, is a scalar angle in the range of [0,180] degree, and the axis, $u$, is a unit vector along the axis. Therefore, the torque is expressed as

$T=-{k}_{s}\theta u-{k}_{d}\omega$,

where:

SymbolDescription
$T$Applied torque, specified as a vector.
${k}_{s}$Spring stiffness
${k}_{d}$Damping coefficient
$u$Natural axis of the rotation, specified as a vector. For more information about the natural axis, see `naturalAxis` method.
$\theta$Natural angle of the rotation. For more information about the natural angle, see `naturalAngle` method.
$\omega$Spherical primitive 3-D angular velocity, specified as a vector.

### Class Attributes

 `Sealed` `true` `ConstructOnLoad` `true` `RestrictsSubclassing` `true`

For information on class attributes, see Class Attributes.

## Creation

### Description

`ssd = simscape.multibody.SphericalSpringDamper` constructs a spherical spring-damper force law with default values.

## Properties

expand all

Equilibrium position of the spherical spring, specified as an object of a subclass of the `simscape.multibody.Rotation` class. The torque is zero when the primitive position is at the equilibrium position.

Example: ```simscape.multibody.AlignedAxesRotation(simscape.multibody.Axis.PosX, simscape.multibody.Axis.NegZ,simscape.multibody.Axis.NegY,simscape.multibody.Axis.PosY)```

#### Attributes:

 `GetAccess` `public` `SetAccess` `public` `NonCopyable` `true`

Stiffness of the spherical spring, specified as a `simscape.Value` object that represents a scalar with a unit of torque/angle. The scalar is a measure of how hard the spring pushes the primitive position toward the equilibrium position and must be nonnegative.

Example: `simscape.Value(5,"N*m/deg")`

#### Attributes:

 `GetAccess` `public` `SetAccess` `public` `NonCopyable` `true`

Damping coefficient of the spherical damper, specified as a `simscape.Value` object that represents a scalar with a unit of torque/angular velocity. The scalar is a measure of how hard the damper resists the motion of a primitive and must be nonnegative.

Example: `simscape.Value(10,"N*m/(deg/s))`

#### Attributes:

 `GetAccess` `public` `SetAccess` `public` `NonCopyable` `true`

## Version History

Introduced in R2022a