逆运动学

利用MATLAB和Simulink设计逆运动学(IK)算法万博1manbetx

运动学是研究运动的学科,不考虑运动的原因,如力和力矩。逆运动学是利用运动学方程来确定机器人达到期望位置的运动。例如,为了实现自动拣箱,在生产线上使用的机械臂需要在垃圾桶和制造机器之间从初始位置到期望位置进行精确运动。机器人手臂的抓取端称为末端执行器。机器人构型是在机器人模型的位置限制内且不违反机器人所具有的任何约束条件的关节位置列表。

给定期望的机器人末端执行器位置,逆运动学(IK)可以确定一个合适的关节配置,使末端执行器移动到目标位姿。

利用正运动学或逆运动学配置机器人的关节位置。

一旦机器人的关节角度通过逆运动学计算出来,就可以使用雅可比矩阵生成运动轮廓,使末端执行器从初始姿态移动到目标姿态。雅可比矩阵有助于确定机器人的关节参数和末端执行器速度之间的关系。

相对于正运动学(FK),具有多个转动关节的机器人通常有多个逆运动学解,并根据其目的提出了各种方法。万博 尤文图斯一般分为两种方法,一种是解析法(即解析解),另一种是数值计算法。

数值逆运动学解万博 尤文图斯

为了近似一个机器人配置,达到指定的目标和机器人的约束条件,可以使用数值解。万博 尤文图斯使用基于梯度的方法等优化算法,迭代计算每个关节角。

数值IK求解器更一般,但需要多个步骤才能收敛到系统的非线性解,而解析IK求解器最适合于简单的IK问题。决定采用哪个IK求解器主要取决于机器人应用,如实时交互应用,以及几个性能标准,如最终姿态的平滑性和冗余机器人系统的可伸缩性。

例子:多运动约束下的到达轨迹规划

您可以使用Robotics System Toolbox™和Simscape Multibody™进行IK,使用数值计算。完整的工作流程包括:

  • 建立刚体树机器人模型
  • 从URDF和DH参数中导入机器人定义
  • 基于CAD中定义的信息建立多体模型
  • 计算几何雅可比矩阵
  • 分析正运动学和动力学,逆运动学和动力学
  • 求解多约束逆运动学
  • 并联机构分析
  • 生成等价的C/ c++代码并嵌入到其他应用程序中

看到机器人系统工具箱Simscape多体为更多的信息。

解析逆运动学解万博 尤文图斯

每个关节角度都是由末端执行器的姿态根据一个数学公式计算出来的。通过象征性地定义关节参数和末端执行器位姿,IK可以以解析形式找到关节角的所有可能解,关节角是连杆长度、起始姿态和旋转约束的函数。万博 尤文图斯

由于运动学方程的非线性和冗余机器人构型缺乏可扩展性,解析IK主要用于低自由度机器人。

例子:二连杆机器人手臂的逆运动学推导及应用

用关节角θ1和θ2和关节参数计算逆运动学解。万博 尤文图斯

在期望的末端执行器位姿下关节角θ1和θ2的运动学解析解万博 尤文图斯。

符号数学工具箱™可以用于解析IK。您可以:

  • 将机器人的末端执行器位置和关节参数象征性地定义为正弦和余弦函数
  • 求解关节角度的逆运动学方程并生成运动轮廓
  • 将系统雅可比矩阵作为符号表达式计算,得到关节与机器人速度之间的关系
  • 将导出表达式转换到MATLAB中®函数块并创建一个Simulink万博1manbetx®或Simscape™模型来模拟机器人
  • 生成等价的C代码与其他应用程序合并。
有关更多信息,请参见MATLAB符号数学工具箱



参见:机器人系统工具箱Simscape多体符号数学工具箱机器人编程旋转矩阵积分用MATLAB和Simulink进行Arduino编程万博1manbetxArduino工程装备路径规划