pyDynaMapp.viscoelastic package

Submodules

pyDynaMapp.viscoelastic.backlash module

class pyDynaMapp.viscoelastic.backlash.Backlash[source]

Bases: object

pyDynaMapp.viscoelastic.cuLugre module

pyDynaMapp.viscoelastic.dahl module

class pyDynaMapp.viscoelastic.dahl.Dahl(sigma0, Fs, time_step=0.001)[source]

Bases: object

Dahl friction Model class base definition. The friction force is a hysteresis function, without memory of the x Args:

  • sigma0: Constant coefficient

  • Fs : Stribeck force coefficient

computeFrictionForce(velocity: numpy.ndarray) numpy.ndarray[source]

Compute the friction force based on the Dahl model.

Args:
  • velocity (np.ndarray): velocity values.

Returns:

np.ndarray: computed friction forces.

dahl(F, v)[source]

pyDynaMapp.viscoelastic.lugre module

class pyDynaMapp.viscoelastic.lugre.LuGre(Fc, Fs, v, sigma0, sigma1, sigma2, tspan, ts=0.001, tinit=0, z0=0.01, vs=0.1235)[source]

Bases: object

Class to compute LuGre Friction Model

Params:
  • Fc (float): Coulomb friction coefficient.

  • Fs (float): Stribeck friction coefficient.

  • v (float): Joint velocity.

  • vs (float): Kinetic velocity transition.

  • sigma0 (float): Model parameter sigma0.

  • sigma1 (float): Model parameter sigma1.

  • sigma2 (float): Model parameter sigma2.

  • tinit (float): Initial simulation time.

  • ts (float): Step time simulation.

  • tspan (float): Final simulation time.

  • z0 (float): Initial value of internal state z.

computeFrictionForce()[source]

Compute friction force over the simulation time span.

Returns:
  • F (numpy.ndarray): Friction force for the given velocity.

computeSteadyForce()[source]

Compute the LuGre steady state friction force

Returns:
  • Fss (float): Steady state friction force.

pyDynaMapp.viscoelastic.maxwell module

class pyDynaMapp.viscoelastic.maxwell.Maxwell(sigma0: float, eta: float, E: float)[source]

Bases: object

Maxwell-Voight contact model class.

Args:

sigma0 (float): Initial stress value. eta (float): Viscosity parameter. E (float): Elastic modulus.

simulate(time: numpy.ndarray, strain: numpy.ndarray) numpy.ndarray[source]

Simulate the stress response over time for a given strain history.

Args:

time (np.ndarray): Time values. strain (np.ndarray): Strain values over time.

Returns:

np.ndarray: Stress values over time.

stress(strain: numpy.ndarray, strain_rate: numpy.ndarray) numpy.ndarray[source]

Calculate the stress based on strain and strain rate using the Maxwell-Voight model.

Args:

strain (np.ndarray): Strain values. strain_rate (np.ndarray): Strain rate values.

Returns:

np.ndarray: Calculated stress values.

pyDynaMapp.viscoelastic.maxwell_slip module

class pyDynaMapp.viscoelastic.maxwell_slip.MaxwellSlip(n, velocity: numpy.ndarray, k, c, sigma0, samplingRate=1000)[source]

Bases: object

MaxwellSlip - Compute Maxwell Slip Friction Model.

Inputs:

n - Number of Maxwell elements. velocity - Velocity (m/s) k - Stiffness of Maxwell elements (N/m) c - Damping coefficients of Maxwell elements (Ns/m) sigma0 - Static friction force (N) samplingRate- Sampling rate (Hz)

Returns:

t - Simulation time vector. F - Friction Force for the given velocity

Note:

Ref:

Fundamentals Of Friction Modeling - Farid Al-Bender - 2010.

computeFrictionForce()[source]
maxwell(y, t)[source]

pyDynaMapp.viscoelastic.viscous module

pyDynaMapp.viscoelastic.viscous.computeViscousFrictionForce(V, Fc, Fs)[source]

Compute the Coulomb and viscous friction model.

Parameters: V (numpy array): Velocity array. Fc (float or numpy array): Coulomb friction coefficient. Fs (float or numpy array): Viscous friction coefficient.

Returns:

numpy-array: Friction force array.

Module contents

class pyDynaMapp.viscoelastic.Backlash[source]

Bases: object

class pyDynaMapp.viscoelastic.Dahl(sigma0, Fs, time_step=0.001)[source]

Bases: object

Dahl friction Model class base definition. The friction force is a hysteresis function, without memory of the x Args:

  • sigma0: Constant coefficient

  • Fs : Stribeck force coefficient

computeFrictionForce(velocity: numpy.ndarray) numpy.ndarray[source]

Compute the friction force based on the Dahl model.

Args:
  • velocity (np.ndarray): velocity values.

Returns:

np.ndarray: computed friction forces.

dahl(F, v)[source]
class pyDynaMapp.viscoelastic.LuGre(Fc, Fs, v, sigma0, sigma1, sigma2, tspan, ts=0.001, tinit=0, z0=0.01, vs=0.1235)[source]

Bases: object

Class to compute LuGre Friction Model

Params:
  • Fc (float): Coulomb friction coefficient.

  • Fs (float): Stribeck friction coefficient.

  • v (float): Joint velocity.

  • vs (float): Kinetic velocity transition.

  • sigma0 (float): Model parameter sigma0.

  • sigma1 (float): Model parameter sigma1.

  • sigma2 (float): Model parameter sigma2.

  • tinit (float): Initial simulation time.

  • ts (float): Step time simulation.

  • tspan (float): Final simulation time.

  • z0 (float): Initial value of internal state z.

computeFrictionForce()[source]

Compute friction force over the simulation time span.

Returns:
  • F (numpy.ndarray): Friction force for the given velocity.

computeSteadyForce()[source]

Compute the LuGre steady state friction force

Returns:
  • Fss (float): Steady state friction force.

class pyDynaMapp.viscoelastic.MaxwellSlip(n, velocity: numpy.ndarray, k, c, sigma0, samplingRate=1000)[source]

Bases: object

MaxwellSlip - Compute Maxwell Slip Friction Model.

Inputs:

n - Number of Maxwell elements. velocity - Velocity (m/s) k - Stiffness of Maxwell elements (N/m) c - Damping coefficients of Maxwell elements (Ns/m) sigma0 - Static friction force (N) samplingRate- Sampling rate (Hz)

Returns:

t - Simulation time vector. F - Friction Force for the given velocity

Note:

Ref:

Fundamentals Of Friction Modeling - Farid Al-Bender - 2010.

computeFrictionForce()[source]
maxwell(y, t)[source]