Skip to content

TRAC-IK

  • Software
  • Robot arms and industry
  • Library

TRAC-IK is a ROS-based inverse kinematics solver for robot arms that handles joint limits better than KDL's default Jacobian-based solver.

Made by TRACLabs, United States (checked on github.com/traclabs (opens in a new tab)).

Source on GitHub: github.com/traclabs/trac_ik (opens in a new tab). Facts read at commit 90162ac (opens in a new tab).

Licenses

Code
BSD-3-Clause (opens in a new tab)

Read by Robotheca from LICENSE.txt (opens in a new tab) (BSD-3-Clause) at commit 90162ac (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

What it does

  • Runs two IK solvers concurrently: a KDL Newton-based solver with random jumps to escape joint-limit local minima, and an SQP nonlinear optimizer.
  • Returns as soon as either solver converges, with optional distance and manipulability constraints to pick a best solution.
  • Acts as a drop-in replacement for KDL's IK functions for KDL chains, and as a MoveIt! kinematics plugin.
  • Includes a Python wrapper and examples; benchmarks show higher solve rates than KDL across many robot arms.
  • Not thread safe, since the underlying KDL library uses static internals, so only one instance should run per process.
  • Does not check solutions for self-collisions based on mesh geometry.

Written by Robotheca from the project's README (opens in a new tab) at commit 90162ac.

Getting started

Difficulty
Intermediate

Maintenance

Status
Maintained: a commit in the last 12 months
Newest commit
2 Jun 2026 on rolling
Latest release
None published on GitHub

Checked on GitHub on 16 Oct 2026.

Robots on Robotheca that use it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.