PolicyIK: Reinforcement Learning Finally Makes Inverse Kinematics Millimetre-Accurate

· Editorial Team estimated
inverse kinematics reinforcement learning robot arms VLA deployment control

PolicyIK replaces hand-tuned inverse kinematics with a goal-conditioned RL policy that updates joint-position references from pose feedback and learns to hold them at rest. Two-scale pose errors resolve millimetre residuals without sacrificing large motions, reaching 1 mm and 0.2 degrees on 93.5% of held-out simulated tasks and 98.9% with a deployment protocol, beating four classical IK controllers on a real arm and executing pi-0.5 commands at 95.7% in simulated pick-and-place.

Paper · arXiv:2611.05372

Vision-language-action models get the attention, but between the policy’s end-effector pose command and the joint motion that actually happens sits inverse kinematics. IK is old, well understood in the textbook sense, and still annoying in practice. Redundant arms have infinitely many solutions, singularities make the Jacobian behave badly near workspace boundaries, and the position controller underneath needs a reference it can hold without chattering.

The usual answer is a classical solver plus a hand-tuned controller, iterated per arm until the residual looks acceptable. That works, but it transfers poorly across embodiments and it is exactly the kind of tuning that makes VLA deployment painful: the policy outputs a pose, and the low-level stack decides whether that pose is reachable in a useful way.

Core innovation

IK as a goal-conditioned policy, not an optimisation solved per step. PolicyIK trains a reinforcement learning policy that receives pose feedback and updates joint-position references. The reframing matters because it lets the policy learn the closed-loop behaviour of the whole stack, including the controller it is talking to, instead of assuming an ideal kinematic chain.

The policy observes its own accumulated reference. This is the paper’s neatest detail. It conditions on the accumulated joint reference relative to the measured joints, so it can preserve the offset that the position controller needs when the arm is at rest. A naive pose-feedback controller drives the error to zero in the reference, and then the real joint sags under gravity or stiction, leaving a steady-state error. Carrying the offset explicitly is how the method keeps holding accuracy rather than only reaching accuracy.

Two-scale pose errors with an error-dependent gain. Large position and orientation errors get one treatment to move quickly across the workspace; small errors get another to grind out millimetre residuals. The gain adapts with the error magnitude, so the same policy can make big, fast motions and then settle precisely instead of choosing between the two.

Progress and dwell rewards. The reward does not stop at reaching the tolerance. A dwell term teaches the policy to stay inside it, which is the behaviour that actually matters at rest — for insertion, for scanning, for holding a pose while a VLA decides the next move.

Results

In simulation, a single attempt by the trained PPO policy keeps the mean error over the final second within 1 mm and 0.2 degrees on 93.5% of held-out tasks. A deployment protocol raises that to 98.9%. The “final second” framing is a deliberate and honest choice: it measures steady-state accuracy, not the transient, which is where hand-tuned IK usually looks fine and learned controllers sometimes do not.

The stronger evidence is on hardware. Trained directly on a physical arm with an off-policy RL learner, PolicyIK achieves higher reaching and holding success than all four classical IK controllers under the same time budgets. Beating classical IK on its home turf — precision at rest — is the claim that will make industrial teams look twice.

The system also plugs into a modern policy stack: in simulated pick-and-place it executes the end-effector commands of the pi-0.5 VLA with 95.7% success. That number is not a statement about VLA quality; it is a statement that the IK layer is not the thing breaking the pipeline.

Limitations

Simulation results are on held-out tasks from the same distribution, so the 93.5% should be read as in-distribution precision rather than generalisation to new arms. The physical-arm experiment is more convincing but is described as a single arm trained with an off-policy learner, and the abstract does not report how much robot time that training consumed — a relevant cost when the pitch is replacing hand tuning.

The deployment protocol that lifts success from 93.5% to 98.9% is doing real work and is not fully characterised in the abstract. If it involves per-task calibration or a residual controller, the practical gain over classical IK narrows.

The evaluation is about pose accuracy and holding, not force. Contact-rich tasks — insertion under uncertainty, polishing, assembly with tight clearances — depend on compliance and force control, which this formulation does not model. It also does not address kinematic calibration error, which in real cells often dominates the residual. Finally, all pick-and-place evidence is simulated; the real-arm result is reaching and holding.

Industry implications

For integrators, the appeal is not that RL is fashionable but that the tuning burden moves. Classical IK plus a hand-tuned controller needs a controls engineer per arm variant and per payload. A learned IK policy can in principle be trained against the actual controller and payload, absorbing the friction and offset behaviour that the textbook model ignores.

That is also the risk: it is a learned component in a safety-relevant loop. Deployments will need envelope checks, fallback to a classical solver, and monitoring for out-of-distribution pose commands — especially since a VLA can ask for poses no human operator would.

The strategic read is that the low-level stack is becoming learnable too. Teams that treat IK and the position controller as fixed infrastructure may find that their policy is limited by a layer they stopped looking at years ago. With code released, this is an easy layer to test.