反向运动

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

运动学是指不考虑运动原因(如力和扭矩)的运动研究。反向运动学是指使用运动学方程来确定机器人到达所需位置的运动。例如,要执行自动拣箱,生产线中使用的机械臂需要从初始位置进行精确运动l定位到料仓和制造机器之间的所需位置。机器人手臂的抓取端被指定为末端执行器。机器人配置是在机器人模型的位置限制内且不违反机器人的任何约束的关节位置列表。

给定期望的机器人末端执行器位置,逆运动学(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®或模拟人生™ 模型来模拟机器人
  • 生成等效的C代码以与其他应用程序合并。
有关详细信息,请参阅MATLAB符号数学工具箱



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