Inverse kinematics

逆向运动学的意义与主要方法

  • 只考虑单点的情况
    • 解析解:通过几何变换求解逆向运动学,求解速度最快,所得到的解不存在误差,但是局限最大:
      • 无法处理冗余自由度或欠自由度的情况
      • 不一定存在解
      • 解法局限于根据给定的机械臂的构型,不存在通解
      • 从机械臂构型反推解的过程复杂,技巧性较高
    • 数值解:
      • 将构型空间视作流形(manifold)
      • 将求解过程想象为机械臂的运动,通过Jacobian让机械臂从初始位置向目标位置运动,逼近求解。经典的如Newton-Raphson方法
      • 将机械臂的构型空间理解为一个图,求解过程想象为将图中节点连接的过程,通过搜索(如PRM)或采样的方法(如RRT)进行求解
    • 冗余自由度的问题: 当机械臂自由度高于任务空间自由度时,对任务空间中某一点求解可能会得到多组构型空间中的解,此时机械臂的运动可以满足多个条件,如:运动到指定姿态,运动速度、特定关节的角度(避开障碍物)等等 如何协调主要任务与次要任务?
  • 路径和单点求解之间的关系:
    • 最常用的方法:将路径离散化为一定间距的点,然后逐点使用IK求解器进行求解。当前点作为下一个点求解时的初始状态。
    • 存在的问题:
      • 路径规划和求解过程分开,当路径上的点无法求解,或有碰撞时需返回路径规划器重新进行规划,再交由求解器求解,如此反复
      • 求解结果导致其在路径上运动的不连续
      • 对于某一路径,沿路径正向或反向运动时关节走向不一致
      • 由于存在多组解,对于一个闭合路径,起点处关节配置和抵达终点(与起点相同)时关节配置不一致,机械臂无法实现连续的周期性运动
    • 求解IK同时考虑路径:Global Redundancy Resolution,参考论文Continuous Pseudoinversion of a Multivariate Function: Application to Global Redundancy Resolution

采用Jacobian求解

牛顿-拉弗森法Newton-Raphson method

  • 只考虑单一任务:位姿,没有次要任务

Gauss-Newton

The Levenberge-Marquardt algorithm (Damped least squares)

  • , the damping factor , the identity matrix
  • The Moore-Penrose Pseudoinverse

The gradient method

  • 越过奇点时减小冲击:
    • damped least square (DLS) 在迭代过程中加入了λ阻尼项 Then, we obtain as follows by simplifying Then, we obtain the joint velocity increment of DLS method