机器人模型参数校验教程
当Mech-Viz中的仿真机器人位姿、工具位姿与真实机器人不一致时,请参考本章中的内容,完成机器人模型参数的校验。
不一致情况说明
以 Kawasaki RS007N 机器人为例。
以下示例使用机器人厂家提供的仿真软件来模拟真实机器人。 |
-
使用示教器控制真实机器人到任意位姿,并记录关节角与工具位姿数值。
-
在机器人模型库中搜索 Kawasaki RS007N 并选择。
-
将真实机器人的关节角数值输入到Mech-Viz中,仿真机器人位姿如下图所示。
对比以上两图发现机器人位姿差异较大。
校验步骤
按照以下顺序逐项排查问题:
-
机器人坐标系各轴方向。
-
机器人各关节旋转方向。
-
机器人各关节位姿。
-
机器人坐标系的原点位置。
以上四项由 [robot]_algo.json 文件中的参数定义。
|
机器人坐标系各轴方向
在此示例中,通过下图可发现,真实机器人面向自身机器人坐标系 Y 轴正方向,而仿真机器人面向自身坐标系 X 轴正方向。
真实机器人 |
仿真机器人 |
若你当前校验的机器人坐标系各轴方向一致,请跳过此部分内容。 |
此时需要将仿真机器人坐标系绕其Z轴旋转 -90° ,修改步骤如下:
-
将 kawasaki_RS007N_algo 文件中的robot_frame_in_robot_base_frame参数值设置为 [0,0,0,0,0,-90] ,并保存。
-
右键单击 工程资源树 > 机器人名称,在快捷菜单中单击重新加载机器人。
-
重新将真实机器人的关节角数值输入到Mech-Viz中,对比机器人位姿。
真实机器人
仿真机器人
机器人各关节旋转方向
在示教器上和Mech-Viz中相应调整各关节角的数值,对比真实机器人和仿真机器人关节的旋转方向。
真实机器人 |
仿真机器人 |
若你当前校验的机器人机器人各关节旋转方向一致,请跳过此部分内容。 |
在此示例中,J3 的旋转方向相反,修改步骤如下:
-
将 kawasaki_RS007N_algo 文件中的 axis_flip 参数值由 "100010" 修改为 "101010" 并保存。
将 0 改为 1,或 1 改为 0,即可翻转对应关节的旋转方向。 -
右键单击 工程资源树 > 机器人名称,在快捷菜单中单击重新加载机器人。
-
分别转动机器人的各个关节,对比真实机器人与仿真机器人的旋转方向是否一致。
机器人各关节位姿
机器人各关节旋转方向调整正确后,再次将真实机器人关节角输入到Mech-Viz中,对比二者差异。
真实机器人 |
仿真机器人 |
若你当前校验的机器人各关节位姿一致,请跳过此部分内容。 |
从机器人位姿上来看,J6相差180°,修改步骤如下:
-
将 kawasaki_RS007N_algo 文件中的 mastering_joints 参数值由 [ 0, 0, 90, 0, 0, -90 ] 修改为 [ 0, 0, 90, 0, 0, 90 ] 并保存。
-
右键单击 工程资源树 > 机器人名称,在快捷菜单中单击重新加载机器人。
重新将真实机器人的关节角数值输入到Mech-Viz中,对比机器人位姿。
真实机器人 |
仿真机器人 |
机器人坐标系的原点位置
校验机器人坐标系的原点位置前,确保已清除Mech-Viz中和真实机器人的全部末端工具配置。
对比相同关节角状态下的工具位姿。
真实机器人工具位姿 |
仿真机器人工具位姿 |
若你当前校验的机器人坐标系的原点位置一致,请跳过此部分内容。 |
通过对比上图,可以发现工具位姿的 Z 值相差了 360mm,且通过查阅 dh 参数图获知 dh1 数值为 360,真实机器人的坐标系不位于其底部,而是位于其二轴转轴位置。
修改步骤如下:
-
将 kawasaki_RS007N_algo 文件中的robot_frame_in_robot_base_frame参数值修改为 [0,0,0.36,0,0,-90] ,并保存。
-
右键单击 工程资源树 > 机器人名称,在快捷菜单中单击重新加载机器人。
-
重新将真实机器人的关节角数值输入到Mech-Viz中,对比机器人位姿。
真实机器人 |
仿真机器人 |