Force: Joint Friction
Format
<Force_JointFriction
id = "integer"
[ label = "string" ]
joint_id = "integer"
mu_static = "real"
mu_dynamic = "real"
[ max_stiction_deform = "real" ]
[ bristle_stiffness = "real" ]
[ damping_effects = "real" ]
[ viscous_effects = "real" ]
[ stiction_trans_vel = "real"]
[ inactive = "None | Static" ]
[ effect = "All|Stiction |Sliding" ]
[ inputs = "4-bit integer" ]
[ torque_preload = "real" ]
[ friction_arm = "real" ]
[ bending_reaction_arm = "real" ]
[ pin_radius = "real" ]
/>
<Force_JointFriction
id = "integer"
[ label = "string" ]
joint_id = "integer"
mu_static = "real"
mu_dynamic = "real"
[ max_stiction_deform = "real" ]
[ bristle_stiffness = "real" ]
[ damping_effects = "real" ]
[ viscous_effects = "real" ]
[ stiction_trans_vel = "real"]
[ inactive = "None |Static" ]
[ effect = "All |Stiction|Sliding" ]
[ inputs = "4-bit integer" ]
[ torque_preload = "real" ]
[ ball_radius = "real" ]
/>
<Force_JointFriction
id = "integer"
[ label = "string" ]
joint_id = "integer"
mu_static = "real"
mu_dynamic = "real"
[ max_stiction_deform = "real" ]
[ bristle_stiffness = "real" ]
[ damping_effects = "real" ]
[ viscous_effects = "real" ]
[ stiction_trans_vel = "real" ]
[ inactive = "None|Static"]
[ effect = "All|Stiction|Sliding" ]
[ inputs = "4-bit integer" ]
[ force_preload = "real" ]
[ reaction_arm = "real" ]
[ initial_overlap = "real" ]
[ overlap_delta = "Constant|Increase|Decrease" ]
/>
<Force_JointFriction
id = "integer"
[ label = "string" ]
joint_id = "integer"
mu_static = "real"
mu_dynamic = "real"
[ max_stiction_deform = "real" ]
[ bristle_stiffness = "real" ]
[ damping_effects = "real" ]
[ viscous_effects = "real" ]
[ stiction_trans_vel = "real"]
[ inactive = "None|Static"]
[ effect = "All|Stiction|Sliding" ]
[ inputs = "4-bit integer" ]
[ force_preload = "real" ]
[ torque_preload = "real" ]
[ pin_radius = "real" ]
[ initial_overlap = "real" ]
[ overlap_delta = "Constant|Increase|Decrease" ]
/>
<Force_JointFriction
id = "integer"
[ label = "string" ]
joint_id = "integer"
mu_static = "real"
mu_dynamic = "real"
[ max_stiction_deform = "real" ]
[ bristle_stiffness = "real"]
[ damping_effects = "real"]
[ viscous_effects = "real"]
[ stiction_trans_vel = "real"]
[ inactive = "None|Static"]
[ effect = "All|Stiction|Sliding"]
[ inputs = "4-bit integer" ]
[ torque_preload = "real" ]
[ friction_arm = "real" ]
[ bending_reaction_arm = "real" ]
[ pin_radius = "real" ]
[ yoke_choice = "i_yoke|j_yoke"]
/>
Attributes
- id
- Element identification number, (integer > 0). This number is unique among all Force_JointFriction elements.
- label
- A string containing the element description.
- joint_id
- Specifies the joint ID of the joint where the friction force is applied.
- mu_static
- Specifies the static friction coefficient (μs) in the joint.
- mu_dynamic
- Specifies the dynamic friction coefficient (μd) in the joint.
- max_stiction_deform
- Specifies the maximum deformation that can occur in a joint for static friction.
- stiction_trans_vel
- Real value of the absolute velocity below, which the friction transitions from dynamic friction to static friction.
- inactive
- Specify "STATIC" to disable joint friction during static analysis.
- effect
- Specifies the frictional effect. By default, both static and dynamic friction is considered. Stiction uses only static friction, sliding uses only dynamic friction.
- inputs
- A 4-bit integer value specifies the input forces to the friction model. By default, all the preload and joint reaction forces are included. Valid values are 0 or 1 for each bit.
- force_preload
- Specifies the preload friction force for translational and cylindrical joints.
- torque_preload
- Specifies the preload friction torque for revolute, cylindrical, universal and spherical joints.
- friction_arm
- Specifies the moment arm used to compute axial friction torque in revolute, universal joints.
- reaction_arm
- Specifies the moment arm of the reaction torque about the translation joint axial axes.
- bending_reaction_arm
- Specifies the moment arm to compute the bending moment in revolute, hooke and universal joints.
- pin_radius
- Specifies the radius of the pin for revolute, cylindrical, hooke and universal joints.
- ball_radius
- Specifies the radius of the spherical joint.
- initial_overlap
- Specifies the initial overlap of the sliding parts in translation and cylindrical joints.
- overlap_delta
- Specifies friction characteristics in the sliding joint.
- INCREASE
- Overlap increases as the I marker translates in the positive direction of the z-axis of the J marker.
- DECREASE
- Overlap decreases in the positive direction of the J marker.
- yoke_choice
- Specifies the yoke choice for hooke and universal joints.
- bristle_stiffness
- Specifies the bristle stiffness in the LuGre model, σ0. See Comments 1-4 for more information.
- damping_effects
- Defines the damping coefficient for the pre-displacement (or stiction) regime. Its main role is to damp out bristle vibrations in the pre-displacement regime. Represented as σ1 in this documents. See Comments 1-4 for more information.
- viscous_effects
- Specifies the coefficient for the viscous damping force that occurs when relative
sliding actually begins. Represented as σ2
in this document. See Comments 1-4 for more information. In order to guarantee passivity
of the LuGre model (for example, it always dissipates energy) the following condition
must be met:
Default: 0.0004
Examples
|
The friction force id =1. |
|
Friction force associated with revolute joint 301001. |
|
Static friction coefficient (μs) is 0.5. |
|
Dynamic friction coefficient (μd) is 0.3. |
|
Friction is active for all analysis modes. |
|
Transition velocity from dynamic friction to stiction is 10 vel. units. |
|
Both stiction and dynamic friction effects are to be considered. |
|
The friction preload is zero. |
|
Moment arm (rn) to compute axial friction torque is 7 length units. |
|
Joint pin radius (rp) is 5 length units. |
|
Moment arm (rb) to compute bending moment is 5 length units. |
|
All preload and reaction forces are considered for friction force calculation. |
Pendulum with friction model | |
|
|
Comments
- MotionSolve uses the LuGre
(Lundt-Grenoble) model for friction. This model may be summarized as follows: A bristle model is used to idealize friction. Friction is modeled as the average deflection force of elastic springs between two mating surfaces. When a tangential motion is applied, the bristles will deflect like springs. If the deflection is sufficiently large, the bristles start to slip. The slip velocity between the mating surfaces, vslip, determines the average bristle deflection for a steady state motion. It is lower at low velocities, which implies that the steady state deflection decreases with increasing velocity. Figure 2 depicts the bristle model.
- The LuGre model is capable of representing several different
effects:
- The effect of the mating surfaces being pushed apart by lubricant.
- The Stribeck effect (at very low speed). When partial fluid lubrication exists, contact between the surfaces decreases and thus friction decreases exponentially from stiction.
- Rate dependent friction phenomena, such as varying break-away force and frictional lag Static friction between two surfaces.
- The LuGre model, for friction in one dimension, is expressed as follows:
States z = bristle deflection
Inputs
v = slip velocity
vs = static > dynamic friction transition slip velocity
Parameters
s0 = bristle stiffness
s1 = damping coefficient
s2 = viscosity coefficient
vs = stiction transition velocity
Outputs
F = friction force
- The LuGre function may be explained as follows: the function
g(v) defines the shape of the friction function.
As shown in Figure 3, g(v) can model Coulomb friction 2(a), Stiction 2(b), and the Stribeck effect (2c). From its definition: .
At the microscopic level, two surfaces make contact at various asperities. These asperities are represented with bristles, and the bristles deflect like a spring when there is a relative velocity between the two surfaces. The deflection of the springs gives rise to the friction force. If the deflection is sufficiently large, then the bristles will slip in a highly random manner because of the irregular surfaces. Although the deflection of the bristles is random, the LuGre model only considers the average deflection. The average deflection of the bristles, z, is modeled by a first-order differential equation that relates bristle deflection to slip velocity, coefficients of friction, and normal force.- The parameter σ0 represents the bristle stiffness, and it models the stiffness resisting micro-deformation in the friction element.
- The parameter σ1 represents the damping in the pre-displacement (or stiction) regime. When the friction state is far away from this regime, its influence is negligible since tends to zero on a faster time-scale than the slip velocity,v, as the system leaves the pre-displacement zone where the velocity v, is close to zero.
- The parameter σ2 represents viscous damping. This is primarily responsible for the increase in friction force with the increase in the slip velocity,v. The viscous effect dominates the damping when there is a slip velocity between the two surfaces.
- The LuGre model can capture hysteresis as shown in Figure 4.
- The LuGre model also captures frequency dependent hysteresis as
shown in Figure 5.
- The LuGre model can also be used to describe friction in N
-Dimension as follows: Let the 3D space of relevance.
- Slip velocity ,
- Bristle states ,
Now define the following terms:The 3D LuGre friction model is defined by the equations below:- ,
- i=x,y,z
- Friction Force Coupling.
The coupling effect leads to the familiar friction ellipse that defines the limiting forces when sliding is seen in x, y, z directions, as shown in Figure 6.
- Friction in a Revolute Joint.
Figure 7 below describes the geometry of a Revolute joint. A circular pin, shown in grey, holds two bodies (labeled 1 and 2) so that they are able to rotate about the z-axis, which is normal to the plane of the picture. The inset shows a y-z section of the joint cutting through the pin.
The following geometrical properties are important for friction calculations:- The radius of the pin, denoted as rp.
- The bending reaction arm, rb. The width of the inside part, Part-1, is 2*rb.
- The friction arm, rn. This is the effective radius at which the axial force acts.
In a multibody simulation, a joint can be loaded in several ways, thus generating reactions forces and torques. Each of these contributes to the interface dynamics by means of friction forces. For a revolute joint, there are four contributing effects:- Friction on the cylindrical surface of the pin, caused by the normal force in the xy plane, Nxy.
- Friction on the end-caps of the pin, caused by the axial force, Nz.
- Friction caused by the force couple equivalent to the moment arm in the xy plane, Nrxy.
- Friction caused by the assembly preload in the joint.
The calculation of each of these effects is explained next.- Friction on the cylindrical surface of the pin, caused by the normal force in the xy plane, Nxy
-
Figure 8(a) describes the contribution coming from the loading in the x-y plane. The contact surface is at the pin and hence the slip velocity depends on the pin radius and joint relative angular velocity ωr.
The slip velocity in the x-y plane is = vslip1=ωrrp.
The force normal to the pin surface, .
The friction force is: .
The torque generated by this friction force will be: Tz1=Fx1rp. - Friction on the end-caps of the pin, caused by the axial force, Nz
-
From Figure 8(b) we see that friction due to axial loading leads to an annular disc-like contact surface with an effective radius of rn. The slip velocity in the axial direction is therefore: vslip1=ωrrn. The force normal to the pin surface is Nz.
The friction force magnitude to axial loading is .
The friction torque due to axial loading is Tz2=Fxy2rn.
- Friction caused by the force couple equivalent to the moment arm in the xy plane, Nrxy
- The reaction moments can introduce additional frictional torque. This is shown
in Figure 9.
In this case, we need to first identify the individual reactions obtained from the reaction torques. Based on Figure 7, it is seen that since the moment arm of the reaction moment is rb, the equivalent force in the couple would be:
is the reaction force acting on the contact surface.
The normal force acts at a radius rp. Hence, the friction force can be expressed as:
.
The frictional torque caused by this friction force is Tz3=Frxyrp.
- Friction caused by the assembly preload in the joint.
-
The torque preload is divided by μs to calculate an equivalent force normal to the cylindrical surface of the pin. Friction forces on the surface are calculated next, using the LuGre function. Finally, frictional forces on the cylindrical surface are calculated by computing the moment of the frictional forces.
Tz4=Fpreloadrp
The friction force due to preload is Tz4.
The total frictional torque in the revolute joint is TJfric=Tz1+Tz2+Tz3+Tz4.
- Friction in a Translational Joint.
Figure 10 describes the geometry of a translational joint. A slider with a rectangular slot, shown in brick red, slides on a rectangular body, shown in green. The z-axis of marker, J, on the green body, defines the axis of translation. The inset shows an x-y section of the joint cutting through the slider.
The following geometrical properties are important for friction calculations:- The reaction arm, denoted as rn.
- The size of the slider, along the axis of translation, is denoted as xs0.
The translational joint can be loaded in several ways, each of which generates a friction force. The total friction force is a sum of each of these effects. For a translational joint, there are four contributing effects:- Friction in the xy plane, caused by the rubbing of the block on the slider, Figure 11(a).
- Friction in the xy plane, caused by the torsion of the block on the slider, Figure 11(b).
- Friction in the yz plane, caused by the bending of the slider, Figure 11(c).
- Friction caused by the assembly preload in the joint.
- Friction in the xy plane, caused by the rubbing of the block on the slider
- The normal force acting in the xy plane is shown in Figure 10(a). Nx and Ny are the constraint forces preventing relative motion between block and slider in the x- and y-directions respectively.
- Friction in the xy plane, caused by the torsion of the block on the slider.
- Referring to Figure 10(b), the torsional moment between the block and the slider causes contact at two of the corners of the block. Assuming that the distance between the contact points is the constant rn, the torsional moment Nrz can be replaced by a couple of equal and opposite forces Nxy acting at each of the contact points.
- Friction in the xz and yz planes, caused by the bending of the slider.
- Referring to Figure 10(c),
the bending moment tends to bend the block relative to the slider. Contact occurs at
two points separated by a distance that is a function of
initial_overlap and overlap_delta. Let the
distance between the contacts be denoted as xs. Replacing the bending
moment by a couple with a moment arm xs gives:
(1) - Friction caused by the assembly preload in the joint.
- The force preload is divided by μs
to calculate an equivalent force normal to the contact surface if the joint.
Friction forces on the surface are calculated next, using the LuGre function.
Thus:
(2)
The friction force due to preload is: .
The total frictional force in the translational joint is: FJfric=Fz1+Fz2+Fz3+Fz4.
- Friction in a Cylindrical Joint.
Figure 12 describes the geometry of a cylindrical joint. A slider with a circular slot, shown in brick red, slides on a circular shaft, shown in green. The z-axis of Marker J on the green shaft defines the axis of translation and rotation. The inset shows an x-y section of the joint cutting through the slider.
The following geometrical properties are important for friction calculations:- The pin radius, denoted as rp.
- The bending moment arm, along the axis of translation, is denoted as, x0.
The cylindrical joint can be loaded in several ways, each of which generates a friction force. The total friction force is a sum of each of these effects. For a cylindrical joint, there are three contributing effects:- Friction Force/Torque, caused by the radial load
- The normal force acting in the xy plane is shown in Figure 13(a). Nx and Ny are the constraint forces preventing relative motion between block and slider in the x- and y-directions respectively
- Friction Force/Torque caused by the bending of the slider.
- Referring to Figure 11(b),
the bending moment tends to bend the block relative to the slider. Contact occurs at
two points separated by a distance that is a function of
initial_overlap and overlap_delta. Let the
distance between the contacts be denoted as xs. Replacing the bending
moment by a couple with a moment arm xs gives:
(3) - Friction Force/Torque caused by the assembly preload in the joint.
- The force preload is divided by μs
to calculate an equivalent force normal to the contact surface if the joint.
Friction forces on the surface are calculated next, using the LuGre function.
Thus:
(4)
- Friction in a Universal Joint.
A universal joint can be conceptually thought of as being composed of two revolute joints. The axis of one revolute joint is along the I-Yoke, and the axis of the second revolute joint is along the J-Yoke. Friction on each of the yokes is modeled as for a revolute joint. For more information on modeling friction in the revolute joint, see Comment 8.
- Friction in a Spherical Joint.A spherical joint allows rotations about all the three axes and arrests all translational degrees of freedom. Hence, dynamics around a spherical joint can be cast in terms of relative motion on the spherical surface of the ball. A typical loading scenario for a spherical joint is described in Figure 13. In this case, referring to Figure 14below, the following geometrical properties are important for friction calculations:
- The ball radius, denoted as rb.
The spherical joint can be loaded because of the constraint force between the ball and the socket and the joint assembly preload. The total friction force is a sum of each of these effects. For the sake of simplicity, we define the normal reaction as the sum of the joint reaction force and the preload force. This is represented as in the figure below.
Let
The angular velocity of the ball with respect to the socket be .The components of the slip velocity can be computed in the global coordinate system as follows:
Slip velocity , Bristle states .
The frictional force in the spherical joint, following the conventions described in Comment 6, is .
And the frictional torque is therefore .
- The ball radius, denoted as rb.
- Friction in a Hook Joint.
A hook joint can be conceptually thought of as being composed of two revolute joints. The axis of one revolute joint is along the I-Yoke, and the axis of the second revolute joint is along the J-Yoke. Friction on each of the yokes is modeled as for a revolute joint. For more information on modeling friction in the revolute joint, see Comment 8.
- References:
- C. Canudas de Wit, H. Olsson, K. J. Aström, and P. Lischinsky,A New Model for Control of Systems with Friction. IEEE Transactions on Automatic Control, March 1995, vol.40, No.3, pp.419-425.
- Velenis E., Tsiotras P., Canudas-de-Wit C.(2005), "Extension of the LuGre Dynamic Tire Friction Model to 2D Motion", Vehicle System Dynamics, 2005.
- Bliman, P. A. Sorine, M., "Friction modeling by hysteresis operators. Application to Dahl, sticktion and Stribeck effects", Pitman Research Notes in Mathematics Series, 1993, Issue 286, pages 10
- Olsson, H. Aström, K. J. Canudas De Wit, C. Gaefvert, M. Lischinsky, P., "Friction Models and Friction Compensation", European Journal of Control, 1998, Vol. 4; Number 3, pages 176-195
- J. C. Trinkle, J.-S. Pang, S. Sudarsky, G. Lo, "On Dynamic Multi-Rigid-Body Contact Problems with Coulomb Friction", ZAMM - Journal of Applied Mathematics and Mechanics / Zeitschrift für Angewandte Mathematik und Mechanik, Volume 77, Issue 4, pp. 267-279, 1997