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
- How to start
- The project's README (opens in a new tab)
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.
Links
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.