机器人模型制作及导入

软件内置机器人库和在线机器人库中均无所需机器人时,请参考本文内容制作并导入机器人模型,操作步骤如下:

本文以 FANUC M-900iB/400L 为例。

准备机器人 CAD 文件及说明书

在制作机器人模型之前,需要准备机器人的 CAD 模型,以及标注有机器人 DH 参数、各关节限位等的说明书文件。

用户可以通过查询具体机器人官网并下载对应型号机器人的相关文件。

下图为 FANUC M-900iB/400L CAD 模型说明书

../../_images/robot_model1.png

提示

部分机器人网站提供 x_t 格式的模型,x_t 格式的模型相较于 STEP 格式在重建时成功率更高,速度更快,建议优先使用 x_t 格式的模型。

编写 [robot]_algo.json 参数文件

[robot]_algo.json 文件模板

[robot]_algo.json 的模板文件位于 Mech-Viz 安装路径下的 C:/Users/Administrator/AppData/Roaming/Mmind/robot/profile_example.json 中,用户可以此为基础创建新机器人的 [robot]_algo.json 文件。

提示

[robot]_algo.json 文件中各个参数的含义请参考 [robot]_algo.json 文件参数释义

确认机器人构型(algo_type)

机器人分为很多不同的构型,不同的机器人构型对应不同的坐标系和 DH 参数定义。

机器人构型划分详情请参考 机器人构型

FANUC M-900iB/400L 是一款较为常规的六轴球型腕工业机器人,属于 SphericalWrist_SixAxis 构型。

确认 DH 参数(dh、dhPassive)

参考 机器人构型 中的机器人分类,找到对应的机器人构型图,对照机器人说明书确定 [robot]_algo.json 中的 dh 的数值。

经过查阅,FANUC M-900iB/400L 的 dh 参数分别为 a=0.940,b=0.410,c=1.120,d=0.250,e=2.180,f=0.300。

../../_images/robot_model2.png

左侧为 SphericalWrist_SixAxis 机器人构型图,右侧为 FANUC M-900iB/400L 机器人尺寸图

确认机器人各轴限位(minlimits、maxlimits)

通常从机器人说明书可以获知机器人各轴的运动范围,但是 FANUC 机器人比较特殊,需要在 FANUC 的机器人仿真软件 RoboGuide 中查找对应内容。

../../_images/robot_model3.png

确认其他参数

对于常见机器人品牌,可以参考其他已添加机器人的历史数据。 若无参考数据,则需要现场工程师对照真实机器人确定剩余参数:mastering_joints、axis_flip、base_z_offset、axis_flip、mastering_joints。

注意

  • json 参数文件中的标点符号必须是英文,例如逗号。

  • mastering_joints、axis_flip、base_z_offset 属性需要在机器人制作完成后与 机器人仿真软件 对照,以确保正确。

  • axis_flip 属性与 minlimits、maxlimits 耦合,必要情况下需要将一个关节的上下限正负号取反,位置对调。

  • mastering_joints 属性的最后一位 J6 经常被忽略,此属性影响 欧拉角 ,也需要检查并确保准确。

编写 [robot]_profile.json 参数文件

[robot]_profile.json 文件模板板存放在 Mech-Viz 安装路径下的 resource/robot/profile_example.json 中,用户可以以此为基础创建新机器人的 [robot]_profile.json 文件。

提示

使用 Solidworks 建立完整的机器人 STL 模型

导入模型到 SolidWorks

使用 SolidWorks 打开预先准备好的机器人 CAD 模型,如下图所示。

../../_images/robot_model4.png

在上图中,左侧为三维软件中显示机器人模型,右侧为装配参考图。

提示

  • 下载机器人模型时尽量从官网下载预装配好的整体模型。

  • 如果只能下载到零件,则需要自行装配组成装配体,并参考 dh 参数逐个关节检查。

  • 为了提高模型载入速度,可以适当删除模型细节,只保留会影响碰撞检测的模型结构。

建立坐标系

参考 机器人构型 页面建立各轴的坐标系。

对于 FANUC M-900iB/400L ,构型为 SphericalWrist_SixAxis,机器人姿态应为:1轴回正,2轴竖直向上,3、4轴水平向前,5轴为向前而非向下。 姿势确保正确后建议先将所有的部件固定。

../../_images/robot_model5.png
../../_images/robot_model6.png
../../_images/robot_model7.png

导出机器人各关节 STL 模型

导出机器人模型时,在装配体中隐藏其他零部件的显示,以方便逐个导出。

导出时将文件另存为 stl 文件,输出为二进制,单位为米,文件名命名规则和各部分应选取的坐标系参考 机器人构型 。 其他导出选项设置请参考下图。

../../_images/robot_model8.png

FANUC M-900iB/400L 机器人全部保存完成后的完整 STL 模型文件如下图所示。

../../_images/robot_model9.png

至此,机器人模型制作流程结束。

将模型文件放入 Mech-Viz 软件

Mech-Viz 软件存放机器人库的路径为其安装路径下的 resource/robot 文件夹,同一品牌的机器人会存放在同一个以机器人品牌命名的文件夹内,每一个机器人的全部文件都放在品牌文件夹下以机器人型号命名的文件夹内。

以 FANUC M900iB/400L 机器人为例,对应的模型文件夹为 resource/robot/fanuc_m900ib_400l ,文件夹结构如下图所示。

../../_images/robot_model10.png
  • STL:模型文件

  • fanuc_m900ib_400l_algo.json:机器人运动学参数文件

  • fanuc_m900ib_400l_preview.png:机器人图片

  • fanuc_m900ib_400l_profile.json:机器人描述参数文件

注意

  • 机器人文件夹名必须全部小写。

  • 机器人模型文件可以是 STL、DAE、OBJ,它们分别放置在自身文件夹内。

  • STL 模型可以作为显示和碰撞模型。

  • DAE 模型只可以作为显示模型。

  • OBJ 模型只可以作为碰撞模型。

  • 对于一个完整的机器人模型,至少需要有一个可以作为显示的模型和一个作为碰撞的模型。

将所有的文件放在对应的路径下即可完成机器人模型导入。新导入的机器人可以从 Mech-Viz 软件机器人库中选择。