Build And Test
make clean
make -B
make run-tests
SDL2 is only required for demo executables. Core library and tests do not require rendering.
C++17 Inverse Kinematics Toolkit
IKSolver combines CCD, FABRIK, and Jacobian methods with constraints, vector utilities, demos, and tests so you can prototype robotic motion fast.
Move the cursor (or touch) to reposition the target and compare CCD vs FABRIK behavior.
make clean
make -B
make run-tests
SDL2 is only required for demo executables. Core library and tests do not require rendering.
IKChain2D chain({{0,0},{1,0},{2,0}});
Vector2 target(1.5, 0.5);
CCDResult r = CCDSolver::Solve(chain, target);
if (r == CCD_SUCCESS) {
// use end effector
}
Use explicit comparisons with result enums for robust control flow.
Vector2, Vector3, and MathUtils provide low-level geometry, numeric safety, and utility helpers.
IKChain2D and IKChain3D own positional state, lengths, constraints, and forward kinematics.
CCD, FABRIK, and Jacobian mutate chain state in place and return explicit outcome codes.
See README_TECHNICAL.md for implementation details and extension guidance.