pub struct IkConfig {
pub max_iterations: usize,
pub tolerance: f64,
pub damping: f64,
pub min_damping: f64,
pub max_damping: f64,
pub step_scale: f64,
pub respect_limits: bool,
pub locked: Vec<usize>,
}Expand description
Solver settings. IkConfig::default is tuned for robot-arm-sized
problems: metres and radians, goals within reach, a seed that is not
exactly at a singularity.
Fields§
§max_iterations: usizeMaximum Levenberg–Marquardt iterations, counting rejected trials.
tolerance: f64Convergence threshold on the largest single residual component — metres for position rows, radians for orientation rows.
damping: f64Initial damping λ. Larger is slower and steadier.
min_damping: f64Floor on λ. Keeps the normal equations conditioned near singularities; zero is legal but asks for a numerically exact rank decision.
max_damping: f64Ceiling on λ. Once damping has to exceed this to make progress, the solver has stalled and returns.
step_scale: f64Fraction of the computed step to take. 1.0 is the LM step; lower it
only when the model has joints whose Jacobian changes violently.
respect_limits: boolEnforce single-DOF joint limits by clamping after each accepted step.
locked: Vec<usize>Velocity-index DOFs to hold fixed (indices into 0..model.nv).