Reachability Constraints for Inverse Kinematics Optimization

Thomas Cohn

February 13, 2026
Task-Space Constraints
Learning the Metric of Task Constraint Manifolds for Constrained Motion Planning, Zha et. al.

Planning with Kinematic Constraints
Collision-Free Motion Planning Problem:
\[\begin{array}{rl}\min_\gamma & L(\gamma)\\ \operatorname{s.t.} & \gamma:[0,1]\to\mathbb R^n\\ & \gamma(0)=q_0,\gamma(1)=q_1\\ & g(\gamma(t))\le 0,\forall t\in[0,1]\end{array}\]
Constrained Collision-Free Motion Planning Problem:
\[\begin{array}{rl}\min_\gamma & L(\gamma)\\ \operatorname{s.t.} & \gamma:[0,1]\to\mathbb R^n\\ & \gamma(0)=q_0,\gamma(1)=q_1\\ & g(\gamma(t))\le 0,\forall t\in[0,1]\\ & h(\gamma(t))=0,\forall t\in[0,1]\end{array}\]
Our Idea: Plan with a Parametrization
- Constraint manifold \(\mathcal M=\{q\in\mathbb R^n:h(q)=0\}\)
- Parametrization \(\xi:\mathcal U\to\mathbb R^n\) (with \(\mathcal U\subseteq\mathbb R^m\))
- Require:
- \(\xi\) is smooth and injective
- \(\xi(\mathcal U)\subseteq\mathcal M\), i.e., \(\forall \tilde q\in\mathcal U\), \(\xi(\tilde q)\in\mathcal M\)
Parametrized Motion Planning Problem:
\[\begin{array}{rl}\min_{\tilde\gamma}& L(\xi\circ\tilde\gamma)\\ \operatorname{s.t.} & \tilde\gamma:[0,1]\to\mathcal U\\ & \tilde\gamma(0)=\tilde q_0,\tilde\gamma(1)=\tilde q_1\\ & g((\xi\circ\tilde\gamma)(t))\le 0,\forall t\in[0,1]\\ & h((\xi\circ\tilde\gamma)(t))=0,\forall t\in[0,1]\end{array}\]
Building Parametrizations with Analytic IK
Analytic IK can be written as a function
\[\operatorname{IK}:\operatorname{SE}(3)\times\Psi\times\mathscr K\to\mathbb{R}^n,\]
where \(\Psi\) are continuous redundancy parameters and \(\mathscr K\) are discrete redundancy parameters.
By taking additional arguments, \(\operatorname{IK}\) is smooth and injective (almost everywhere). So we can build up parametrizations with it.
Optimization IK (Standard Form)
\[\begin{array}{rl}\min_q & f(q)\\ \operatorname{subject\; to} & {}^WX^G=\operatorname{FK}(q),\\ & g_i(q)\ge0,\;\forall i\in I,\\ & h_j(q)=0,\;\forall j\in J.\end{array}\]
- \(f\) is our objective.
- \(g_i\) are generic inequality constraints.
- \(h_j\) are generic equality constraints.
Reformulated IK
\[\begin{array}{rl}\min_{X,\psi,\kappa} & f(q)\\\operatorname{subject\; to} & X\in\operatorname{SE}(3),\psi\in\Psi,\kappa\in\mathscr K\\ & q:=\operatorname{IK}(X,\psi,\kappa),\\ & \textrm{$q$ satisfies joint limits},\\ & g_i(q)\ge0,\;\forall i\in I,\\ & h_j(q)=0,\;\forall j\in J.\end{array}\]
- \(q\) is not a variable, but is substituted
- "\(\textrm{$q$ satisfies joint limits}\)" is now a nonlinear inequality constraint
- But wait! What about the domain limits of \(\operatorname{IK}\)?
Reachability Constraints
- For most robots, \(\operatorname{IK}\) is not defined on all of \(\operatorname{SE}(3)\)
- (Obvious example: a robot arm bolted to a table has limited reach)
- Our framework really requires two key ingredients
- A parameterization (i.e. an IK function)
- An optimization-amenable description of its domain
First Try (From our 2023 Paper)
The analytic IK function will have domain limited functions
- \(\arccos(\cdot):[-1,1]\to\mathbb{R}\)
- \(\sqrt{\cdot}:[0,\infty)\to\mathbb{R}\)
Position-based kinematics for 7-DoF serial manipulators with global configuration control, joint limit and singularity avoidance, Faria et al. 2018

Replace with domain-extended versions, e.g.,
\[\arccos(\pi(t))=\left\{\begin{array}{ll}\arccos(-1) & t <=-1\\ \arccos(t) & -1<t<1\\ \arccos(1) & t\ge 1\end{array}\right.\]
\[\sqrt{\pi(t)}=\left\{\begin{array}{ll}\sqrt{0} & t\le 0\\ \sqrt{t} & 0 < t\end{array}\right.\qquad\qquad\]

Closed-Form Inverse Kinematic Joint Solution for Humanoid Robots, Ali et al. 2010
Reachability Constraint
This extends the domain of \(\operatorname{IK}\) to all of \(\operatorname{SE}(3)\times\Psi\times\mathscr K\), but now it is "incorrect" for nonreachable poses.
Impose the constraint
\[\operatorname{FK}(\operatorname{IK}(X,\psi,\kappa))=X\]
Some properties:
- Positive-measure feasible set
- Always active at a feasible \((X,\psi,\kappa)\) -- even if this isn't on the boundary of the reachable set!
Probing Functions (with Julia)
The analytic IK function will have domain limited functions
- \(\arccos(\cdot):[-1,1]\to\mathbb{R}\)
- \(\sqrt{\cdot}:[0,\infty)\to\mathbb{R}\)
Position-based kinematics for 7-DoF serial manipulators with global configuration control, joint limit and singularity avoidance, Faria et al. 2018

Define probing functions
\[\mathcal{D}_k:\operatorname{SE}(3)\times\mathcal{C}\times\mathcal{D}\to\R\]
such that
\[\mathcal{D}_k\ge 0,\forall k\Leftrightarrow \textrm{reachable}\]

Closed-Form Inverse Kinematic Joint Solution for Humanoid Robots, Ali et al. 2010
Example
Suppose we must compute \(\arccos(f(X,\psi,\kappa))\) within \(\operatorname{IK}\)...
- \(\mathcal{D}_1(X,\psi,\kappa)=1-f(X,\psi,\kappa)\)
- \(\mathcal{D}_2(X,\psi,\kappa)=1+f(X,\psi,\kappa)\)
If \(\mathcal D_1(X,\psi,\kappa)\ge 0\) and \(\mathcal D_2(X,\psi,\kappa)\ge 0\), then \(-1\le f(X,\psi,\kappa)\le 1\).
(Thus, \(\arccos(f(X,\psi,\kappa))\) is well-defined.)
Reachability Constraint
Comparison of new-style reachability constraint
\[\mathcal D_k(f(X,\psi,\kappa)\ge 0,\;\forall k\]
to old-style reachability constraint
\[\operatorname{FK}(\operatorname{IK}(X,\psi,\kappa))=X\]
- Both have positive-measure feasible set
- New-style constraint is only active on the boundary of the feasible set!
- Empirically: much better results for IK and planning!
Black-Box IK Functions
- We want to allow people to use any IK function they have
- Main target: codegen tools like IKFast
- No inspection of the code is a problem
- We can't use new-style constraint
- Even the old style-constraint may not work!

Idea 1: Maintain Feasibility
- Given an initial guess which is feasible, we can use line search within optimization to maintain feasibility
- Can apply this to a subset of constraints
- For example, start out reachable but not collision-free
- We can make this work within IPOPT (already used for humanoid stability IK problems)

Idea 2: Learned Reachability
- Construct a description of the reachable set and use that to define the constraint
- For example, one can learn a "differentiable reachability map" (Murooka 2025)
- \(f(X)\) such that \(f(X)\ge 0\) if \(X\) is reachable and \(f(X)<0\) otherwise.
Learning Differentiable Reachability Maps for Optimization-based Humanoid Motion Generation, Murooka et al. 2025

Idea 3: Boundary Singularities
- Points on the workspace boundary are singularities
- Singular configurations have a rank-deficient kinematic Jacobian
- We can force full-rank, i.e., with \(\det(JJ^T)>\epsilon\)
- How to choose \(\epsilon\)?
- How to write this in end-effector space?
Singularity robust algorithm in serial manipulators, Oetomo and Ang (2009)

- Could use with a log-barrier cost to maintain feasibility
Reachability Constraints for Inverse Kinematics Optimization

Thomas Cohn

February 13, 2026
RLG Group Meeting Short Talk 2/13/26
By tcohn
RLG Group Meeting Short Talk 2/13/26
- 39