任务 ========================================== 任务部分利用视觉部分的计算结果和运动部分的运动规划,控制整个项目的流程运行。本章节将详细介绍任务部分的配置。 .. |add| image:: img/add.png :width: 30px .. |delete2| image:: img/delete2.png :width: 30px .. |change| image:: img/change.png :width: 30px .. |copy| image:: img/copy.png :width: 30px .. |delete3| image:: img/delete3.png :width: 30px .. |start| image:: img/start.png :width: 30px 在 :guilabel:`任务` 中导入纸箱单码的模板,请参见 :doc:`../../../basic_operation/VP_operation/configuration`。 添加好基础模板之后,用户可根据需求添加或修改模块。以纸箱单码为例,任务流图主要分为五个部分:主程序、流图初始化、任务初始化、运动规划和运动执行。主程序控制整体流程,运行过程中会调用另外四个部分执行相应功能。下面依次介绍这五个部分。 **主程序** 主程序控制整个任务流程,主程序配置好之后如下图所示。 .. image:: img/main.png :align: center :width: 700px 下面详细介绍主程序的配置步骤。 1. 在任务流图模块当中选择“功能 > 一键更新节点机械臂属性”,系统自动根据当前设置更新机械臂路径。也可在模块的属性中设置机械臂路径。 .. image:: img/updaterobot.png :align: center :width: 450px 2. 单击 **通知HMI** 模块,在右侧 **属性** 页签中根据需要设置错误信息,包括错误码、错误信息、错误提示等。 .. image:: img/errorinfo.png :align: center :width: 350px **流图初始化** 流图初始化主要设置一些流图运行过程中的必要信息,配置好之后如下图所示。 .. image:: img/taskflow.png :align: center :width: 700px 该部分主要设置“设置设备数字输出”模块,设定IO动作序列。单击该模块,在右侧 **属性** 页签中设置设备类型、相应的端口编号和值等,如下图所示。 .. image:: img/setio.png :align: center :width: 350px | .. hint:: 单击Max右上角的 :guilabel:`虚拟示教器`,在 **I/O控制** 页签根据机械臂实际情况设置数字输出端口号。端口名称可自行定义,然后单击 :guilabel:`确认`。在 **设置设备数字输出** 模块设置时,选择I/O控制里的端口即可。 .. image:: img/iocontrol.png :align: center :width: 550px **任务初始化** 任务初始化主要设置任务运行过程中的环境、机械臂等信息,配置好之后如下图所示。 .. image:: img/taskini.png :align: center :width: 700px 下面详细介绍任务初始化的配置步骤。 1. 单击 **清空环境** 模块,在右侧 **属性** 页签中设置参数。特别需要注意的是“清空所有工作空间”,在纸箱单码的场景中一般不清空所有工作空间,无需勾选,此时仅清空工作空间编号列表中的工作空间。若勾选,则会清空所有工作空间,包括真实环境中的码垛位也会被清空。 .. image:: img/cleanws.png :align: center :width: 450px 2. 单击 **变量写入** 模块,并设置变量sm_workspace。“0”表示单一工作空间码垛模式,任务完成后会告知WCS让托盘离开,然后清空工作空间。“1”表示多工作空间码垛模式,当前任务完成后,机械臂回Home点继续等待任务,当托盘满垛后才清空工作空间。用户可根据实际情况设置。 .. image:: img/writevar.png :align: center :width: 450px 3. 单击 **设置箱子技术协议信息** 模块,在右侧 **属性** 页签,设置条码朝向和纸箱的长、宽、搞、高、重量的上下限,根据纸箱实际情况设置即可。 .. image:: img/boxinfo.png :align: center :width: 350px 4. 单击 **变量写入(is_go_weigh)**,在右侧 **属性** 页签,设置是否称重,“1”表示会对来料纸箱进行称重,“0”表示不称重,默认为0。 .. image:: img/goweigh.png :align: center :width: 350px **运动规划** 运动规划阶段主要规划单码垛型、计算抓取方案并进行运动规划,配置好之后如下图所示。 .. image:: img/movplan.png :align: center :width: 700px 下面详细介绍运动规划的配置步骤。 该部分主要设置 **获取箱子视觉结果** 模块,在右侧 **属性** 页签中设置以下参数。 .. image:: img/boxvisresult.png :align: center :width: 450px - 运动工作空间来源:可以选择自动获取抓取工作空间。 - 校验尺寸模式:对纸箱进行长宽高检验,如果尺寸信息有误,则报错。 - 更新长宽方式:采用“使用输入SKU更新”的方式。 - 更新高度方式:采用“使用输入SKU更新”的方式。 - 是否开启底部填充:对于输送线不需要开启。 **运动执行** 运动执行阶段主要负责按照既定规划执行抓放动作,配置好之后如下图所示。 .. image:: img/movexe.png :align: center :width: 700px 该阶段无需配置模块,保持默认配置即可。