逆运动学

基于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主要用于自由度较低的机器人。

例子:二连杆机械臂逆运动学的推导与应用

一种以关节角θ1和θ2为关节参数的二连杆机械臂的运动学逆解计算方法。

一种以关节角θ1和θ2为关节参数的二连杆机械臂的运动学逆解计算方法。

关节角θ1和θ2在所需末端执行器姿态下的解析逆运动学解。

关节角θ1和θ2在所需末端执行器姿态下的解析逆运动学解。

机器人系统工具箱™而且符号数学工具箱™可用于分析性IK。

有了这些产品,你可以:2022世界杯八强谁会赢?

  • 为MATLAB中定义的六自由度机器人子集生成IK解析解算器
  • 通过将机器人的末端执行器位置和关节参数象征性地定义为正弦和余弦函数来编写自定义求解器
  • 求解关节角的逆运动学方程,生成运动廓线
  • 将推导出的表达式转换到MATLAB中®功能块,并创建Simulink®或Simscape™模型来模拟机器人
  • 生成等价的C代码以合并到其他应用程序中。



参见:机器人系统工具箱Simscape多体符号数学工具箱机器人编程路径规划量纲分析cobots

密歇根大学开发基于模型设计的双足机器人控制

Baidu
map