逆运动学(IK)算法设计与MATLAB和Simulink
运动学是在不考虑运动原因的情况下研究运动,如力和力矩。逆运动学是利用运动学方程来确定机器人达到期望位置的运动。例如,为了实现自动拣箱,在生产线上使用的机械臂需要从初始位置到箱体和制造机器之间的期望位置的精确运动。机械臂的抓取端被指定为末端执行器。机器人配置是在机器人模型的位置限制内,且不违反机器人所具有的任何约束条件的关节位置列表。
给定所需机器人的末端执行器位置,逆运动学(IK)可以确定一个适当的关节配置,使末端执行器移动到目标姿势。
一旦使用逆运动学计算出机器人的关节角,就可以使用雅可比矩阵生成运动轮廓,将末端执行器从初始位姿移动到目标位姿。雅可比矩阵有助于定义机器人的关节参数和末端执行器速度之间的关系。
与正运动学(FK)相比,具有多个转动关节的机器人一般有多个反运动学解,并根据目的提出了各种方法。一般来说,它们被分为两种方法,一种是解析得到的(即解析解),另一种是使用数值计算。
数值逆运动学解
为了近似实现机器人指定目标和约束条件的机器人配置,可以使用数值解。每个关节角度都使用算法进行迭代计算,例如基于梯度的方法。
数值IK求解器更为通用,但需要多个步骤才能收敛到系统非线性的解,而解析IK求解器最适合求解简单的IK问题。数值IK的通用性更强,因为可以指定机器人的运动学约束,并且可以将外部约束,比如相机臂指向目标位置的瞄准约束设置为IK求解器。确定应用哪一个IK求解器主要取决于机器人的应用,如实时交互应用,以及几个性能标准,如最终姿态的平滑性和对冗余机器人系统的可扩展性。
可以使用Robotics System Toolbox™和Simscape Multibody™进行IK的数值计算。相关工作流程包括:
- 创建刚体树机器人模型
- 从URDF或DH参数导入机器人定义
- 基于CAD中定义的信息构建多体模型
- 几何雅可比矩阵的计算
- 逆运动学分析
- 设计逆运动学求解器、构型和路径点
- 利用广义逆运动学求解器求解多约束运动学构型
- 并行连杆机构分析
- 生成等价的C/ c++代码,并嵌入到其他应用程序中
看到机器人系统工具箱和Simscape多体为更多的信息。
解析逆运动学解
每个关节角都是根据数学公式从末端执行器的姿态计算出来的。通过符号化地定义关节参数和末端执行器位姿,IK可以以解析形式找到关节角的所有可能解,作为连杆长度、其起始姿态和旋转约束的函数。
由于运动学方程的非线性和冗余机器人配置缺乏可扩展性,分析IK主要用于自由度(DoF)较低的机器人。