raisim::ArticulatedSystem::IKOptions
struct · #include <raisim/object/ArticulatedSystem/ArticulatedSystem.hpp>
Options for solveIK().
Public attributes
maxIterations
int maxIterationsMaximum number of solver updates (at least 1 is used).
positionTolerance
double positionToleranceSuccess threshold on the frame position error [m].
orientationTolerance
double orientationToleranceSuccess threshold on the frame orientation error (rotation-vector norm) [rad]. Used only with useOrientation.
orientationWeight
double orientationWeightWeight of the orientation error relative to the position error. 0 disables the orientation task.
damping
double dampingDamping factor of the "dls" method (lambda; lambda^2 is added to J*J^T).
stepSize
double stepSizeScale applied to each update.
maxStep
double maxStepThe largest absolute component of each generalized-velocity-space update is clamped to this value.
svdTolerance
double svdToleranceEigenvalue cutoff (applied as svdTolerance^2 to J*J^T) of the "pinv" and "svd" methods.
finiteDifferenceStep
double finiteDifferenceStepStep used to compute the rotational Jacobian columns by finite differences.
useOrientation
bool useOrientationIf true, the orientation target is also tracked.
applySolution
bool applySolutionIf true, the converged solution is written to the system's generalized coordinate. Otherwise, the generalized coordinate is restored to its value before the call.
applyBestOnFailure
bool applyBestOnFailureIf true (and applySolution is true), the best iterate is applied when the solver does not converge. Otherwise, a failed solve restores the original generalized coordinate.
enforceJointLimits
bool enforceJointLimitsIf true, revolute/prismatic joints with a position limit are clamped to it after every update.
inverseMethod
std::string inverseMethodUpdate rule: "dls" (damped least squares), "pinv"/"svd" (pseudo-inverse), or "transpose" (Jacobian transpose).
transposeGain
double transposeGainGain of the "transpose" method.
seed
std::vector<double> seedOptional initial generalized coordinate (size getGeneralizedCoordinateDim()). Empty means the current state.