逆运动学设计
设计逆运动学解算器、构型和路径点
描述
的逆运动学设计可以为URDF机器人模型设计逆运动学求解器。您可以调整逆运动学求解器并添加约束以实现所需的行为。使用这个应用程序,你可以:
从URDF文件或MATLAB工作区导入URDF机器人模型。
调整逆运动学求解器和约束条件。
创建联合配置并导出路径点。
导出求解器设置,约束,和联合配置到MATLAB®工作区。
打开逆运动学设计器App
MATLAB工具条:在应用程序选项卡,在机器人与自主系统,点击逆运动学设计.
MATLAB命令提示符:输入
inverseKinematicsDesigner
.
参数
逆运动学
-管理会话,检查冲突,导入和导出求解器/约束/配置
选项卡
使用逆运动学选项卡来管理会话、添加和编辑约束、检查配置冲突、导入和导出求解器、约束和配置。只有在创建或加载会话之后,此选项卡中的参数和按钮才可用。
参数/按钮 | 描述 |
---|---|
新会话 | 点击新会话方法从工作空间或机器人库中的机器人列表中加载指定的机器人新会话对话框。 |
公开会议 | 点击公开会议加载已保存的会话mat文件。 |
保存会话 | 点击保存会话将当前会话保存为一个mat文件。 |
进口 | |
添加碰撞对象 | 点击添加碰撞对象方法将碰撞对象从工作区添加到场景中添加碰撞对象对话框。 |
添加约束 | 点击添加约束为逆运动学求解器添加约束约束选项卡。 |
编辑约束 | 点击编辑约束来编辑所选求解器约束约束选项卡。 |
刷新解算器 | 点击刷新解算器以当前构型作为初始猜想,运行逆运动学求解器。 |
解算器设置 | 点击解算器设置来编辑逆运动学求解器设置解算器选项卡。 |
报告状态 | 点击报告状态来查看最新的逆运动学求解器的解的状态解决方案报告对话框。 |
标记构成约束 | 点击标记构成约束来编辑标记姿态目标约束选项卡。 |
标记的身体 | 从装载机器人模型中要受标记位姿目标约束约束的物体列表中选择一个物体。默认情况下,标记的身体设置为机器人模型中的最后一个主体。 |
检查碰撞 |
|
出口 |
解算器
-解算器设置
选项卡
这些参数指定了逆运动学求解器的设置。要访问这些参数,请打开解算器选项卡。要打开“求解器”选项卡,在“逆运动学”选项卡上,选择解算器设置.
参数 | 描述 |
---|---|
规划求解算法 | 逆运动学求解算法,指定为以下选项之一:
有关如何选择求解器的更多信息,请参见选择一种算法. |
马克斯迭代 | 逆运动学求解器要运行的最大迭代次数,指定为正整数。默认是50 . |
最大时间 | 逆运动学求解器搜索解的最大时间,指定为正标量,单位为秒。默认是 |
实施联合限制 | 选择设置逆运动学求解器,从机器人模型执行关节限制。默认是 有关执行联合限制的详细信息,请参见解算器参数. |
允许随机重新启动 | 选择允许逆运动学求解器以不同的随机生成的初始猜测重新启动,如果算法接近一个不满足约束的解。默认是 有关执行联合限制的详细信息,请参见解算器参数. |
点击重置设置>重置设置而且重置设置>重置为默认设置将逆运动学求解器设置分别重置为上一次存储的值和默认设置。
编辑解算器设置后,单击适用于解算器对当前的逆运动学求解器进行修改。
约束
—添加或编辑约束
选项卡
点击添加约束在逆运动学选项卡以打开约束选项卡来创建一个约束。设置约束的名称并选择所需的约束。的约束TAB还包含一个额外的部分,其中包含相应选定约束的参数:
构成约束-将目标姿势分配给身体的约束。参见相应的标签部分,构成约束, MATLAB对象,
constraintPoseTarget
,以查询更多资料。笛卡尔的边界约束-为末端执行器位姿定义有界目标区域的约束。参见相应的标签部分,笛卡尔的边界约束, MATLAB对象,
constraintCartesianBounds
,以查询更多资料。目标约束-分配自定义关节限制的约束。参见相应的标签部分,目标约束, MATLAB对象,
constraintAiming
,以查询更多资料。联合边界约束-分配自定义关节限制的约束。参见相应的标签部分,联合边界约束, MATLAB对象,
constraintJointBounds
,以查询更多资料。
约束参数设置完成后,单击应用以保存您的更改和密切的约束.所有未保存的更改将丢失。
构成约束
-姿势约束设置
标签部分
点击构成约束在约束选项卡以打开构成约束TAB节来创建约束。
参数 | 描述 |
---|---|
终端执行器的身体 | 末端执行器主体,指定为从装载机器人模型中的主体列表中的一个选择。默认设置为加载的机器人模型中的最后一个主体。 |
参考的身体 | 引用体,指定为从装载机器人模型中的体列表中的一个选择。默认设置为装载的机器人模型中的第一个主体。 |
X | 目标x末端执行器在参考坐标系中的位置参考的身体,以米为单位的标量表示。默认是0 . |
Y | 目标y末端执行器在参考坐标系中的位置参考的身体,以米为单位的标量表示。默认是0 . |
Z | 目标z末端执行器在参考坐标系中的位置参考的身体,以米为单位的标量表示。默认是0 . |
欧拉X | 目标欧拉x所述末端执行器体在参考坐标系中的旋转参考的身体,指定为一个以度为单位的标量。默认是0 . |
欧拉Y | 目标欧拉y所述末端执行器体在参考坐标系中的旋转参考的身体,指定为一个以度为单位的标量。默认是0 . |
欧拉Z | 目标欧拉z所述末端执行器体在参考坐标系中的旋转参考的身体,指定为一个以度为单位的标量。默认是0 . |
位置公差 | 末端执行器位置的公差,指定为非负标量,单位为米。默认是0.01 . |
位置重量 | 末端执行器位置的权值,指定为非负标量。默认是1 . |
定向公差 | 末端执行器方向的公差,指定为以度为单位的非负标量。默认是1 . |
取向的体重 | 末端执行器方向的权值,指定为非负标量。默认是1 . |
笛卡尔的边界约束
-笛卡尔边界约束设置
标签部分
点击笛卡尔的边界约束在约束选项卡以打开笛卡尔的边界约束TAB节来创建约束。
参数 | 描述 |
---|---|
终端执行器的身体 | 末端执行器主体,指定为从装载机器人模型中的主体列表中的一个选择。默认设置为加载的机器人模型中的最后一个主体。 |
参考的身体 | 引用体,指定为从装载机器人模型中的体列表中的一个选择。默认设置为装载的机器人模型中的第一个主体。 |
X | 目标x末端执行器在参考坐标系中的位置参考的身体,以米为单位的标量表示。默认是0 . |
Y | 目标y末端执行器在参考坐标系中的位置参考的身体,以米为单位的标量表示。默认是0 . |
Z | 目标z末端执行器在参考坐标系中的位置参考的身体,以米为单位的标量表示。默认是0 . |
欧拉X | 目标欧拉x所述末端执行器体在参考坐标系中的旋转参考的身体,指定为一个以度为单位的标量。默认是0 . |
欧拉Y | 目标欧拉y所述末端执行器体在参考坐标系中的旋转参考的身体,指定为一个以度为单位的标量。默认是0 . |
欧拉Z | 目标欧拉z所述末端执行器体在参考坐标系中的旋转参考的身体,指定为一个以度为单位的标量。默认是0 . |
X分钟 | 最低x约束末端执行器位置相对于参考坐标系的参考的身体,以米为单位的标量表示。默认是-0.5 . |
Y敏 | 最低y约束末端执行器位置相对于参考坐标系的参考的身体,以米为单位的标量表示。默认是-0.5 |
Z分 | 最低z约束末端执行器位置相对于参考坐标系的参考的身体,以米为单位的标量表示。默认是-0.5 |
X最大值 | 最大x约束末端执行器位置相对于参考坐标系的参考的身体,以米为单位的标量表示。默认是0.5 |
Y马克斯 | 最大y约束末端执行器位置相对于参考坐标系的参考的身体,以米为单位的标量表示。默认是0.5 |
Z马克斯 | 最大z约束末端执行器位置相对于参考坐标系的参考的身体,以米为单位的标量表示。默认是0.5 |
X重量 | 约束的权重x有界的,指定为标量。默认是1 . |
Y重量 | 约束的权重y有界的,指定为标量。默认是1 . |
Z重量 | 约束的权重z有界的,指定为标量。默认是1 . |
目标约束
-瞄准约束设置
标签部分
点击目标约束在约束选项卡以打开目标约束TAB节来创建约束。
参数 | 描述 |
---|---|
终端执行器的身体 | 末端执行器主体,指定为从装载机器人模型中的主体列表中的一个选择。默认设置为加载的机器人模型中的最后一个主体。 |
参考的身体 | 引用体,指定为从装载机器人模型中的体列表中的一个选择。默认设置为装载的机器人模型中的第一个主体。 |
X目标 | 目标x位置相对于参考的身体,以米为单位的标量表示。默认是0 . |
Y的目标 | 目标y位置相对于参考的身体,以米为单位的标量表示。默认是0 . |
Z目标 | 目标z位置相对于参考的身体,以米为单位的标量表示。默认是0 . |
角公差 | 允许的最大角度公差,指定为以度为单位的非负标量。默认是1 . |
限制重量 | 约束的权值,指定为标量。默认是1 . |
联合边界约束
-关节边界约束设置
标签部分
点击联合边界约束在约束选项卡以打开联合边界约束TAB节来创建约束。
参数 | 描述 |
---|---|
上联合限制 | 上关节极限角,用a表示N-元素角的行向量,单位为度,其中N为机器人模型中活动关节的个数。默认是180 * 1 (1, N) . |
降低关节限制 | 下关节极限角,用a表示N-元素角的行向量,单位为度,其中N为机器人模型中活动关节的个数。默认是-180 * 1 (1, N) . |
联合限制重量 | 关节极限重量,指定为N-元素行向量N为机器人模型中活动关节的个数。默认是(1, N) . |
新会话
-开始新的会话并选择机器人模型
对话框
开始新的会话,并选择机器人模型作为rigidBodyTree
要么从刚体的树列表或MATLAB工作区。要将机器人导入工作空间,请使用loadrobot
函数或importrobot
函数。
有关如何创建刚体树的更多信息,请参见建立基本刚体树模型.
添加碰撞对象
-从工作区中添加碰撞网格
对话框
从MATLAB工作区中添加碰撞网格,指定为collisionBox
,collisionCylinder
,collisionSphere
,或collisionMesh
对象。的添加碰撞对象对话框可通过单击进入添加碰撞对象在逆运动学选项卡。
进口逆运动学求解器
-导入逆运动学求解器
对话框
从MATLAB工作空间导入逆运动学求解器,指定为ageneralizedInverseKinematics
,或inverseKinematics
对象。“工作区”中的求解器出现在可用的解决者表格选择解算器并单击进口将求解器导入逆运动学设计如果工作区中的求解器没有出现在可用的解决者表,点击刷新.
导入联合配置
—导入联合配置
对话框
从MATLAB工作区导入联合配置,指定为米——- - - - - -N其中的双精度矩阵米是构型的个数,和N是机器人中可移动关节的个数。工作区中的配置数据出现在工作区中的配置表格选择配置数据,单击进口将配置数据导入逆运动学设计应用程序。
如果工作区中的配置没有出现在工作区中的配置表,点击刷新.
引入逆运动学约束
-导入逆运动学约束
对话框
从工作区导入逆运动学约束,指定为constraintAiming
,constraintPoseTarget
,constraintCartesianBounds
,或constraintJointBounds
对象。中的约束对象出现在工作区中的配置表格选择所需的约束对象并单击进口将约束导入逆运动学设计应用程序。
如果工作区中的配置没有出现在在工作区中约束对象表,点击刷新.
导出求解器和约束
-求解器和约束导出设置
对话框
更改求解器和约束导出设置,将求解器和约束导出到MATLAB。要访问这些参数,在逆运动学选项卡上,选择导出>求解器和约束.完成所有设置和选择后,单击出口将求解器和约束导出到工作区。
参数 | 描述 |
---|---|
出口解算器 | 选择在导出时包含逆运动学求解器。默认是在 . |
解算器名称 | 逆运动学求解器的名称。默认是ikSolver . |
出口限制 | 选择在导出时包含求解器约束。默认是在 . |
限制单元格数组名称 | 求解器约束单元格数组的名称,指定为字符串。默认是 若要启用此参数,请选择出口限制参数。 |
可用的约束 | 包含求解器约束的表,列出每个约束的名称、大小和类。从该表中选择约束并单击出口将约束导出到工作区。 若要启用此参数,请选择出口限制参数。 |
出口中转地点
—导出配置为路径点
对话框
使用“导出路径点”对话框将配置导出为路径点。要访问这些参数,在逆运动学选项卡上,选择出口>配置.选择完成后,单击出口将路径点导出为米——- - - - - -N数据类型矩阵双
到MATLAB工作区,其中米是航路点的个数,和N为机器人中活动关节的个数。
参数 | 描述 |
---|---|
路径矩阵的名字 | 路径点矩阵的名称。默认是waypointData . |
可用配置 | 包含可用配置的表,列出每个约束的名称、大小和类。从该表中选择配置并单击出口将配置作为路径点导出到工作区。 |
解决方案报告
-最新的逆运动学解决方案细节
对话框
在“解决方案报告”对话框中查看最新的逆运动学解决方案的详细信息。要访问这些参数,在逆运动学选项卡上,选择报告状态.
这些参数是只读的。
编程使用
更多关于
版本历史
介绍了R2022a