任务

设置完视觉和运动部分之后、运行任务流图之前,需要添加工件代号映射关系,以便任务流图调用视觉和运动设置的工件、视觉服务编号、抓取处理流程等内容,具体步骤如下。

工件代号映射表

  1. 单击Max右上角 映射表与通信协议,在弹出的 映射表与通信协议 窗口选择 “工件代号映射表 > 坐标移动”页签。

../../../_images/task1.png
  1. 单击 添加映射关系,在弹出的 添加映射关系 窗口设置键、值和参数。

    ../../../_images/task2.png
    • 工件代号:用户自定义工件代号,仅支持英文字母和数字,长度不超过15个字符。可添加多个工件。

    • 视觉服务编号:在下拉菜单选择视觉服务编号,编号和视觉部分的设置保持一致。

    • 视觉流图文件:与视觉空间ID下的流图保持一致。

    • 处理流程:在下拉菜单中选择抓取处理流程,这些抓取处理流程已在运动部分设置好。运动流程编号从0开始自动增加,可单击 adddelete2 新建或删除处理流程。

    • 缓存多个视觉结果:可根据需要是否勾选。

  2. 单击 确认 完成添加,列表中会显示已添加的映射关系,用户可对列表中的映射关系进行操作。

    ../../../_images/task3.png
    • change:修改映射关系。

    • copy:复制并修改映射关系,注意键值不能重复。

    • delete3:删除映射关系。

  3. 单击 确认 完成映射表设置。

提示

用户可单击 自动生成映射关系,系统自动根据视觉和运动的设置生成工件代号映射表,但有多个抓取处理流程时无法自动生成映射关系。

任务流图

设置完工件代号映射表之后,在 任务 中导入2D/3D坐标移动中的基础模板,请参见 流图配置。任务流图的设置分为工控机主控和机械臂主控两种方式。

工控机主控

添加好基础模板之后,用户可根据需求添加或修改模块。以抓取圆环项目为例,配置完成后的流图如下。

../../../_images/taskflow.png

下面详细介绍该任务流图的配置步骤。

  1. 在任务流图模块当中选择“功能 > 一键更新节点机械臂属性”,系统自动根据当前设置更新机械臂路径。也可在模块的属性中设置机械臂路径。

../../../_images/updaterobot.png
  1. 切换工件 模块中设置工件代号和视觉服务编号,其它参数可根据需求修改。该工件代号在映射表中设置,请参考本页面开头的内容。

../../../_images/objchange.png
  1. 移动到目标关节 模块中设置关节角度、位置和速度等参数,指定一个起始点位置。

../../../_images/joint1.png
  1. 呼叫视觉与计算抓取规划(坐标移动) 模块中设置工作空间编号、机械臂路径、工作空间和机械臂位姿等参数,其它参数可根据需求修改,该模块会计算出最终的抓取位姿。

  2. 设置目标关节和数字输出。

    1. 根据实际需要,设置预抓取点(prepick)、后抓取点(postpick)的位姿偏移,分别表示抓取前和抓取后机械臂停留的位置。例如在本项目中,该位姿是相对于抓取位姿的偏移量。模块中参考点路径为实际环境中工具参考点的路径。

      ../../../_images/prepick1.png
    2. 在预抓取点之后添加一个 设置设备数字输出 模块。单击该模块,在右侧 属性 页签,设置端口编号和值,此时值变为0,表示工具张开。

      ../../../_images/ioset.png

    提示

    单击Max右上角的 虚拟示教器,在 I/O控制 页签根据机械臂实际情况设置数字输出端口号。例如在本项目中端口3控制的是工具的开合,信号1表示工具闭合,信号0表示工具张开。端口名称可自行定义,然后单击 确认。在 设置设备数字输出 模块设置时,选择I/O控制里的端口即可。

    ../../../_images/iocontrol.png
    1. 在抓取点(pick)之后添加一个 设置设备数字输出 模块。单击该模块,在右侧 属性 页签,勾选 ,此时值变为1,表示工具闭合。

    2. 添加两个 移动到目标关节 模块,分别表示后抓取点(postpick)和放置点(place),并在 属性 页签中设置在这些点的目标关节角。

    3. 在放置点之后添加一个 设置设备数字输出 模块。单击该模块,在右侧 属性 页签,勾选 ,此时值变为0,表示工具张开。

    4. 从流图末尾引出连线至表示起始点的 移动到目标关节 模块(切换工件模块之后),以设置抓取多个工件的动作循环,系统会自动根据视觉计算结果判断是否有待抓取工件。

  1. 单击任务流图左上角的 start,开始执行整个抓取流程。

机械臂主控

  1. 任务 界面右侧 服务编辑 页签下,单击服务指令,编辑相应模块。

    在2D/3D坐标移动场景中,常见的服务如下:

    • switch_item:切换工件。

    • calculate_grasp_poses:计算抓取位姿。

    ../../../_images/service1.png
  2. 选择 开启服务,开启服务。工控机收到机械臂请求后,调用相应服务。

机械臂主控模式下,ABB机械臂案例和示例代码可参考 案例/模板说明,其他品牌的案例和代码可在 安装机械臂驱动 中选择相应的品牌查看。

在Max中,单击右上方 映射表与通信协议,在弹出窗口的 机械臂基础设置 页签下,勾选 开启 打开测试模式。此时右侧会出现 打开文件help。单击 打开文件 可查看通信指令的yml文件,单击 help 可在浏览器中打开 机械臂主控通讯协议 v2 页面,并查看机械臂主控通信协议、指令等的内容。

../../../_images/instruction.png