This paper presents the open-source robot inverse kinematics (IK) solver IK-Geo, the fastest general IK solver based on published literature. In this unifying approach, IK for any 6-DOF all-revolute (6R) manipulator is decomposed into six canonical geometric subproblems solved by intersecting circles with other geometric objects. We present new efficient and singularity-robust solutions to these subproblems using geometric and linear algebra methods. IK-Geo finds all IK solutions including singular solutions and sometimes least-squares solutions by solving for subproblem solutions in all cases, including in a continuous and sometimes least-squares sense when a solution does not exist. Robots are classified into kinematic families based on cases of intersecting or parallel joint axes, and robots in the same family use the same IK algorithm. 6R robots with three intersecting or parallel axes are solved in closed form, and all solutions are found exactly without iteration. Other 6R robots are efficiently solved by searching for zeros of an error function of one or two joint angles. The subproblem and IK solutions are easy to understand, implement, test, and modify, meaning this method is readily ported to new languages and environments. We connect our geometric method with less efficient but more robust polynomial-based methods: rather than using search, subproblems and error functions may be written in terms of the tangent half-angle of one joint. This results in a system of multivariate polynomial equations from which the univariate polynomial with zeros corresponding to IK solutions is readily derived.
翻译:摘要:本文提出了开源机器人逆运动学(IK)求解器IK-Geo,这是基于已发表文献的最快通用IK求解器。在这种统一方法中,任意6自由度全旋转关节(6R)机械臂的IK被分解为六个标准几何子问题,这些子问题通过求解圆与其他几何对象的交点来解决。我们利用几何与线性代数方法,提出了这些子问题的高效且对奇异性鲁棒的新解法。IK-Geo通过在所有情况下求解子问题(包括在无解时以连续甚至最小二乘意义求解),能够找到所有IK解(包括奇异解)及部分最小二乘解。根据关节轴相交或平行的不同情况,机器人被分类为运动学族,属于同一族的机器人使用相同的IK算法。对于具有三个相交或平行关节轴的6R机器人,可通过闭式求解精确得到所有解,无需迭代。其他6R机器人则通过搜索一个或两个关节角的误差函数零点进行高效求解。子问题及IK解易于理解、实现、测试和修改,使得该方法可便捷地移植到新的编程语言和环境中。我们将几何方法与效率较低但鲁棒性更强的基于多项式的方法相结合:不同于直接搜索,子问题和误差函数可用单关节角的正切半角表示,从而得到多元多项式方程组,进而可推导出零点对应IK解的单变量多项式。