TRAC-IK是由 TRACLabs 开发的反向运动学求解器,它通过线程结合了两个 IK 实现,以实现比常见的开源 IK 求解器更可靠的解决方案。从他们的文件:
(TRAC-IK) 为 KDL 中流行的逆雅可比方法提供了一种替代的逆运动学求解器。具体来说,KDL 的收敛算法基于牛顿法,该法在存在关节限制的情况下效果不佳——这对于许多机器人平台来说很常见。TRAC-IK 同时运行两个 IK 实现。一种是对 KDL 基于牛顿的收敛算法的简单扩展,该算法检测并减轻由于随机跳跃的联合限制而导致的局部最小值。第二种是 SQP(顺序二次规划)非线性优化方法,它使用可以更好地处理关节限制的拟牛顿方法。默认情况下,当这些算法中的任何一个收敛到答案时,IK 搜索会立即返回。还提供了距离和可操作性的次要约束,以便接收“最佳”IK 解决方案。
包trac_ik_kinematics_plugin提供了一个 KinematicsBase MoveIt 接口,可以替换默认的 KDL 求解器。目前不支持模拟关节。
从 v1.4.5 开始,trac_ik是 ROS Indigo/Jade 二进制文件的一部分:
sudo apt-get 安装 ros-kinetic-trac-ik-kinematics-plugin