Convex Iteration for Distance-Geometric Inverse Kinematics

Inverse kinematics (IK) is the problem of finding robot joint configurations that satisfy constraints on the position or pose of one or more end-effectors. For robots with redundant degrees of freedom, there is often an infinite, nonconvex set of solutions. The IK problem is further complicated when collision avoidance constraints are imposed by obstacles in the workspace. In general, closed-form expressions yielding feasible configurations do not exist, motivating the use of numerical solution methods. However, these approaches rely on local optimization of nonconvex problems, often requiring an accurate initialization or numerous re-initializations to converge to a valid solution. In this work, we first formulate inverse kinematics with complex workspace constraints as a convex feasibility problem whose low-rank feasible points provide exact IK solutions. We then present CIDGIK (Convex Iteration for Distance-Geometric Inverse Kinematics), an algorithm that solves this feasibility problem with a sequence of semidefinite programs whose objectives are designed to encourage low-rank minimizers. Our problem formulation elegantly unifies the configuration space and workspace constraints of a robot: intrinsic robot geometry and obstacle avoidance are both expressed as simple linear matrix equations and inequalities. Our experimental results for a variety of popular manipulator models demonstrate faster and more accurate convergence than a conventional nonlinear optimization-based approach, especially in environments with many obstacles.

[1]  Dinesh Manocha,et al.  Efficient inverse kinematics for general 6R manipulators , 1994, IEEE Trans. Robotics Autom..

[2]  Stephen P. Boyd,et al.  Semidefinite Programming Relaxations of Non-Convex Problems in Control and Combinatorial Optimization , 1997 .

[3]  Knud D. Andersen,et al.  The Mosek Interior Point Optimizer for Linear Programming: An Implementation of the Homogeneous Algorithm , 2000 .

[4]  James Aspnes,et al.  On the Computational Complexity of Sensor Network Localization , 2004, ALGOSENSORS.

[5]  S. Buss Introduction to Inverse Kinematics with Jacobian Transpose , Pseudoinverse and Damped Least Squares methods , 2004 .

[6]  Jon C. Dattorro,et al.  Convex Optimization & Euclidean Distance Geometry , 2004 .

[7]  Anthony Man-Cho So,et al.  Theory of semidefinite programming for Sensor Network Localization , 2005, SODA '05.

[8]  Federico Thomas,et al.  INVERSE KINEMATICS BY DISTANCE MATRIX COMPLETION , 2005 .

[9]  T. Cai,et al.  One-sided confidence intervals in discrete distributions , 2005 .

[10]  M. Spong,et al.  Robot Modeling and Control , 2005 .

[11]  Carme Torras,et al.  A branch-and-prune solver for distance constraints , 2005, IEEE Transactions on Robotics.

[12]  Lorenz T. Biegler,et al.  On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming , 2006, Math. Program..

[13]  Nathan Krislock,et al.  Sensor network localization, euclidean distance matrix completions, and graph realization , 2008, MELT '08.

[14]  G. Oriolo,et al.  Robotics: Modelling, Planning and Control , 2008 .

[15]  Jiawang Nie,et al.  Sum of squares method for sensor network localization , 2006, Comput. Optim. Appl..

[16]  Pablo A. Parrilo,et al.  Guaranteed Minimum-Rank Solutions of Linear Matrix Equations via Nuclear Norm Minimization , 2007, SIAM Rev..

[17]  Nathan Krislock,et al.  Explicit Sensor Network Localization using Semidefinite Representations and Facial Reductions , 2010, SIAM J. Optim..

[18]  Pablo A. Parrilo,et al.  The Convex Geometry of Linear Inverse Problems , 2010, Foundations of Computational Mathematics.

[19]  Leo Liberti,et al.  Euclidean Distance Geometry and Applications , 2012, SIAM Rev..

[20]  Robin Deits,et al.  Computing Large Convex Regions of Obstacle-Free Space Through Semidefinite Programming , 2014, WAFR.

[21]  Raul Ordonez,et al.  Design and construction of 9-DOF hyper-redundant robotic arm , 2014, NAECON 2014 - IEEE National Aerospace and Electronics Conference.

[22]  Patrick Beeson,et al.  TRAC-IK: An open-source library for improved solving of generic inverse kinematics , 2015, 2015 IEEE-RAS 15th International Conference on Humanoid Robots (Humanoids).

[23]  Franco Blanchini,et al.  Inverse kinematics by means of convex programming: Some developments , 2015, 2015 IEEE International Conference on Automation Science and Engineering (CASE).

[24]  Martin Vetterli,et al.  Euclidean Distance Matrices: Essential theory, algorithms, and applications , 2015, IEEE Signal Processing Magazine.

[25]  Stephen P. Boyd,et al.  Conic Optimization via Operator Splitting and Homogeneous Self-Dual Embedding , 2013, Journal of Optimization Theory and Applications.

[26]  Stephen P. Boyd,et al.  CVXPY: A Python-Embedded Modeling Language for Convex Optimization , 2016, J. Mach. Learn. Res..

[27]  Franco Blanchini,et al.  A convex programming approach to the inverse kinematics problem for manipulators under constraints , 2017, Eur. J. Control.

[28]  Danica Kragic,et al.  Caging and Path Non-existence: A Deterministic Sampling-Based Verification Algorithm , 2017, ISRR.

[29]  N. Yu,et al.  Chordal Conversion Based Convex Iteration Algorithm for Three-Phase Optimal Power Flow Problems , 2018, IEEE Transactions on Power Systems.

[30]  Ariel Shamir,et al.  Inverse Kinematics Techniques in Computer Graphics: A Survey , 2018, Comput. Graph. Forum.

[31]  Stephen P. Boyd,et al.  Differentiating through a cone program , 2019, Journal of Applied and Numerical Optimization.

[32]  Kenny Erleben,et al.  Solving inverse kinematics using exact Hessian matrices , 2019, Comput. Graph..

[33]  Nicolas Courty,et al.  Kinematics in the metric space , 2019, Comput. Graph..

[34]  Russ Tedrake,et al.  Global inverse kinematics via mixed-integer convex optimization , 2019, Int. J. Robotics Res..

[35]  Christian Theobalt,et al.  Convex Optimisation for Inverse Kinematics , 2019, 2019 International Conference on 3D Vision (3DV).

[36]  Mark Cannon,et al.  COSMO: A conic operator splitting method for large convex problems , 2019, 2019 18th European Control Conference (ECC).

[37]  Tomás Pajdla,et al.  Globally Optimal Solution to Inverse Kinematics of 7DOF Serial Manipulator , 2020, IEEE Robotics and Automation Letters.

[38]  Amir Ali Ahmadi,et al.  A Survey of Recent Scalability Improvements for Semidefinite Programming with Applications in Machine Learning, Control, and Robotics , 2019, Annu. Rev. Control. Robotics Auton. Syst..

[39]  Filip Maric,et al.  Inverse Kinematics for Serial Kinematic Chains via Sum of Squares Optimization , 2019, 2020 IEEE International Conference on Robotics and Automation (ICRA).

[40]  Joel Nothman,et al.  SciPy 1.0-Fundamental Algorithms for Scientific Computing in Python , 2019, ArXiv.

[41]  Rekha R. Thomas,et al.  On the local stability of semidefinite relaxations , 2017, Mathematical Programming.

[42]  Jonathan Kelly,et al.  Riemannian Optimization for Distance Geometric Inverse Kinematics , 2021, IEEE Transactions on Robotics.