pyRoboPlan中的微分逆运动学
differential_ik
含义
differential_ik
指的是微分逆运动学(Differential Inverse Kinematics),它是机器人运动学中的一个重要概念,用于解决机器人的逆运动学问题。逆运动学的目标是根据机器人末端执行器期望的位置和姿态,计算出各个关节应有的角度。
工作原理
微分逆运动学的核心思想是利用雅可比矩阵的伪逆,将末端执行器的位姿误差转化为关节角度的增量。具体步骤如下:
- 计算当前关节角度下的末端执行器位姿。
- 计算期望位姿与当前位姿之间的误差。
- 根据雅可比矩阵的伪逆,将位姿误差转换为关节角度的增量。
- 更新关节角度,重复上述步骤,直到位姿误差小于设定的阈值。
微分逆运动学有多种实现方法,不同方法在处理奇异性、计算效率、收敛速度等方面存在差异,以下是一些常见的方法:
1. 基于雅可比矩阵伪逆的方法
创建 DifferentialIk 实例时,若不额外配置,可能按该方法求解
这是最基本的方法,通过计算雅可比矩阵的伪逆来求解关节角度增量。上述代码示例就是基 于这种方法,优点是实现简单,缺点是在奇异点附近可能会出现数值不稳定的问题。
2. 阻尼最小二乘法(Damped Least Squares, DLS)