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