Skip to content

raisim::ArticulatedSystem::IKOptions ​

struct · #include <raisim/object/ArticulatedSystem/ArticulatedSystem.hpp>

Options for solveIK().

Public attributes ​

maxIterations ​

cpp
int maxIterations

Maximum number of solver updates (at least 1 is used).

positionTolerance ​

cpp
double positionTolerance

Success threshold on the frame position error [m].

orientationTolerance ​

cpp
double orientationTolerance

Success threshold on the frame orientation error (rotation-vector norm) [rad]. Used only with useOrientation.

orientationWeight ​

cpp
double orientationWeight

Weight of the orientation error relative to the position error. 0 disables the orientation task.

damping ​

cpp
double damping

Damping factor of the "dls" method (lambda; lambda^2 is added to J*J^T).

stepSize ​

cpp
double stepSize

Scale applied to each update.

maxStep ​

cpp
double maxStep

The largest absolute component of each generalized-velocity-space update is clamped to this value.

svdTolerance ​

cpp
double svdTolerance

Eigenvalue cutoff (applied as svdTolerance^2 to J*J^T) of the "pinv" and "svd" methods.

finiteDifferenceStep ​

cpp
double finiteDifferenceStep

Step used to compute the rotational Jacobian columns by finite differences.

useOrientation ​

cpp
bool useOrientation

If true, the orientation target is also tracked.

applySolution ​

cpp
bool applySolution

If 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 ​

cpp
bool applyBestOnFailure

If 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 ​

cpp
bool enforceJointLimits

If true, revolute/prismatic joints with a position limit are clamped to it after every update.

inverseMethod ​

cpp
std::string inverseMethod

Update rule: "dls" (damped least squares), "pinv"/"svd" (pseudo-inverse), or "transpose" (Jacobian transpose).

transposeGain ​

cpp
double transposeGain

Gain of the "transpose" method.

seed ​

cpp
std::vector<double> seed

Optional initial generalized coordinate (size getGeneralizedCoordinateDim()). Empty means the current state.

RaiSim — physics for robotics and AI.