Drake

These are the parameters controlling the iteration process of the ImplicitStribeckSolver solver.
#include <drake/multibody/plant/implicit_stribeck_solver.h>
Public Attributes  
double  stiction_tolerance {1.0e4} 
The stiction tolerance vₛ for the slip velocity in the Stribeck function, in m/s. More...  
int  max_iterations {100} 
The maximum number of iterations allowed for the NewtonRaphson iterative solver. More...  
double  relative_tolerance {1.0e2} 
The tolerance to monitor the convergence of the tangential velocities. More...  
double  theta_max {M_PI / 3.0} 
(Advanced) ImplicitStribeckSolver limits large angular changes between tangential velocities at two successive iterations vₜᵏ⁺¹ and vₜᵏ. More...  
int max_iterations {100} 
The maximum number of iterations allowed for the NewtonRaphson iterative solver.
double relative_tolerance {1.0e2} 
The tolerance to monitor the convergence of the tangential velocities.
This number specifies a tolerance relative to the value of the stiction_tolerance and thus it is dimensionless. Using a tolerance relative to the value of the stiction_tolerance is necessary in order to capture transitions to stiction that would require an accuracy in the value of the tangential velocities smaller than that of the "Stribeck stiction region" (the circle around the origin with radius stiction_tolerance). A value close to one could cause the solver to miss transitions from/to stiction. Small values approaching zero will result in a higher number of iterations needed to attain the desired level of convergence. Typical values lie within the 10⁻³  10⁻² range.
double stiction_tolerance {1.0e4} 
The stiction tolerance vₛ for the slip velocity in the Stribeck function, in m/s.
Roughly, for an externally applied tangential forcing fₜ and normal force fₙ, under "stiction", the slip velocity will be approximately vₜ ≈ vₛ fₜ/(μfₙ). In other words, the maximum slip error of the Stribeck approximation occurs at the edge of the friction cone when fₜ = μfₙ and vₜ = vₛ. The default of 0.1 mm/s is a very tight value that for most problems of interest in robotics will result in simulation results with negligible slip velocities introduced by the Stribeck approximation when in stiction.
double theta_max {M_PI / 3.0} 
(Advanced) ImplicitStribeckSolver limits large angular changes between tangential velocities at two successive iterations vₜᵏ⁺¹ and vₜᵏ.
This change is measured by the angle θ = acos(vₜᵏ⁺¹⋅vₜᵏ/(‖vₜᵏ⁺¹‖‖vₜᵏ‖)). To aid convergence, ImplicitStribeckSolver, limits this angular change to theta_max
. Please refer to the documentation for ImplicitStribeckSolver for further details.
Small values of theta_max
will result in a larger number of iterations of the solver for situations in which large angular changes occur (sudden transients or impacts). Values of theta_max
close to π/2 allow for a faster convergence for problems with sudden transitions to/from stiction. Large values of theta_max
however might lead to nonconvergence of the solver. We choose a conservative number by default that we found to work well in most practical problems of interest.