六轴机器人模型制作
当您获得本文档时,可点击下载 robot_model.zip 压缩包。解压后其内容应包括:
-
UR30_obj 文件夹
:包含 UR30 已拆分的机器人各轴文件,OBJ 格式。 -
UR30_step 文件夹
:包含 UR30 机器人 STEP 格式及参数的 PDF。 -
make_robot.xml
:RVS 制作机器人模型 XML。make_robot.dashboard.xml 为相应的交互面板配置。
准备机器人模型关节
在使用 RVS 制作模型之前我们需要将机器人模型进行拆分,并将机器人模型的各轴文件类型进行转换等操作。在进行以上操作时,我们将会用到软件有:
-
NXUG:在本手册的操作中用于拆分机器人模型。(Windows 版本)
-
blender:在本手册的操作中主要用于调整机器人模型关节的尺寸。(Windows 版本)
点击软件下载获得以上两个软件的安装包以及配套的安装说明,按照安装说明进行安装即可。
一. 拆分机器人模型关节
-
打开 NXUG 软件,点击菜单栏
文件
→打开
。在打开窗口中设置文件类型为所有文件,然后选择机器人数模所在目录,鼠标双击要打开的数模文件。 -
加载机器人模型后,鼠标右键点击 3D 视图并选择
适合窗口
。然后鼠标左键双击坐标轴,将坐标系拖动到机器人基坐标系上。 -
调整坐标系的坐标轴朝向,使得视图中的坐标系与实际的基坐标系相符,如下图所示。
-
调整好坐标系后,鼠标右键点击视图窗口,然后鼠标点击确定锁定坐标轴,如下图所示。
-
导出机器人模型关节:点击菜单栏
文件
→导出
,选择STL
格式。 -
在 STL 导出窗口中,点击
导出至
下面的目录选择按钮,选择要导出的目录并填写文件名(建议保存为 J0 到 J6 )。 -
在 3D 视图中选择要导出的关节部件,然后点击导出窗口的
确定
按钮,如下图所示。同样的,依次导出 J1 到 J6 所有关节。
二. 调整关节尺寸和文件格式
-
打开 Blender 软件,点击
文件
→导入
→Stl
。 -
打开关节目录,选中所有关节,缩放参数改为
0.001
,前进改为-Z 向前
,向上改为Y 向上
,然后点击导入 STL
,如下图所示: -
导入所有关节,关节显示在视图中,如下图所示:
-
导出关节:点击
文件
→导出
→Wavefront(.obj)
。 -
选择保存路径,输入保存的文件名( J0.obj…… ),窗口右侧选中关节( J0…… ),选中文件视图窗口中
仅导出选中的物体
,点击导出 OBJ 。重复同样的操作,保存 J1 到 J6 。
生成机器人模型文件
-
打开 RVS 软件,并加载 make_robot.xml ,如下图所示。将机器人各个关节的 obj 和 mtl 文件,拷贝到当前 runtime 目录下的 data/UR30/(建议以实际机器人型号创建目录名)。同时修改
GenerateRobot Group
属性面板上机器人品牌和机器人型号分别为 UR 和 UR30 。 -
修改
LoadRobot Group
中机器人模型文件参数,如下图所示。 -
将交互面板中最底部的 ZeroJoints 参数全部修改为 0 值。依次点击最顶部
Generate
和LoadRobot
按钮,加载机器人关节的数模,如下图所示。修改交互面板的 RobotBase 参数对整个模型进行 Transform(若按照教程正确拆分关节则六个参数全为 0 ),使得 3D 视图中的原点坐标系(Pose[0, 0, 0, 0, 0, 0])与机器人实际的基坐标系完全相符。然后修改 GenerateRobot 属性面板上六个关节的旋转方向,使得与实际机器人各个关节的旋转方向相符。
可打开 robodk.com 网站参考对应机器人的仿真模型。
-
打开
GenerateRobot
属性面板上的 PoseListView ,显示各个关节的旋转坐标系。各个关节的旋转方向即为旋转坐标系的坐标轴。根据机器人的 DH 参数值,修改交互面板中 ZeroPose1 到 ZeroPose6 的数值。这六个 ZeroPose 分别表示每个关节的旋转坐标系,在上一个关节的旋转坐标系中的相对坐标(第一关节则相对于机器人底座)。第一关节到第五关节通常只修改 X、Y、Z 的值,第六关节表示机器人的 TCP,还需要调整姿态角 RX、RY、RZ ,使得 TCP 的姿态与实际机器人相符,如下图所示。注意:交互面板中参数调整后,需要进行回车确认。
-
再次点击交互面板中的
Generate
和LoadRobot
,重新生成和加载机器人模型。鼠标左键双击 3D 视图中的机器人,打开机器人面板,如下图所示。拖动关节轴点动的六个滑块,验证机器人各个关节的旋转中心轴和旋转方向是否正确。如果不正确,则返回第三步和第四步,修改对应的参数值。若关节轴点动的滑块无法拖动,则确认面板上关节滑块的最小值和最大值范围是否全为 0,验证阶段建议设置为 -360 到 360,即交互面板的 MinJoints 和 MaxJoints 值,可参考下一步骤。 -
设置交互面板中的 MinJoints、MaxJoints、HomeJoints 数值,分别表示实际机器人各个关节的角度范围(最小值和最大值)和 Home 位。建议参考 RoboDK的操作面板,也可以查看机器人文档。
-
当机器人数模姿态(上图)与机器人关节零位姿态(下图)不相同时(若相同则忽略此步骤),需要进行机器人的关节零位调整。机器人关节零位姿态可以参考实际的机器人,也可以参考 RoboDK 中的仿真模型。
鼠标双击机器人,打开机器人面板,并拖动关节滑块,使得机器人到达零位姿态,将六个关节值填入交互面板中 ZeroJoints 列表。最后点击
Generate
和LoadRobot
重新生成,验证机器人模型是否相符,若相符则机器人建模到此完成。