control.friction_backlash_nonlinearity

class control.friction_backlash_nonlinearity(b)[source]

Backlash nonlinearity for describing function analysis.

This class creates a nonlinear function representing a friction-dominated backlash nonlinearity ,including the describing function for the nonlinearity. The following call creates a nonlinear function suitable for describing function analysis:

F = friction_backlash_nonlinearity(b)

This function maintains an internal state representing the ‘center’ of a mechanism with backlash. If the new input is within b/2 of the current center, the output is unchanged. Otherwise, the output is given by the input shifted by b/2.

Parameters
bfloat

Backlash amount.

Examples

>>> nl = ct.friction_backlash_nonlinearity(2)  # backlash of +/- 1
>>> nl(0)
0
>>> nl(1)  # not enough to overcome backlash
0
>>> nl(2)
1.0
>>> nl(1)
1.0
>>> nl(0)  # not enough to overcome backlash
1.0
>>> nl(-1)
0.0
__init__(b)[source]

Initialize a describing function nonlinearity (optional).

Methods

__init__(b)

Initialize a describing function nonlinearity (optional).

describing_function(A)

Return the describing function for a backlash nonlinearity.

describing_function(A)[source]

Return the describing function for a backlash nonlinearity.

Parameters
Afloat

Amplitude of the sinusoidal input to the nonlinearity.

Returns
float

Value of the describing function at the given amplitude.