运动 ========================================== 在 :guilabel:`运动` 界面,配置仿真环境并规划运动路径。 .. hint:: 在开始设置运动相关内容前,请先根据机械臂和相机品牌连接并配置真实环境中的机械臂和相机。相关内容请参考 :doc:`../../../basic_operation/robot` 和 :doc:`../../../appendix/camera_connection/camera_IP`。如果仅在仿真环境中运行,则无需配置机械臂和相机。 配置仿真环境 +++++++++++++++ 根据实际场景,在仿真环境中添加机械臂、料筐、几何体、工具。 1. 创建项目时,已添加机械臂。如未添加,可在 :guilabel:`运动` 页签下快捷工具栏,单击 :guilabel:`机械臂`,添加机械臂,请参见 :doc:`../../../basic_operation/motion_operation/add_robot`。 2. 创建项目时,已添加料筐。可在顶部快捷工具栏,单击 :guilabel:`容器`,选择 **添加料筐**,继续添加料筐。本项目需添加两个料筐,添加料筐后需设置料筐及工作空间的尺寸、位姿等参数,请参见 :ref:`basic_operation/motion_operation/add_ws:添加料筐`。 3. 创建项目时,已添加工具,工具自动加载至机械臂末端。如未添加,可在 :guilabel:`运动` 页签下快捷工具栏,单击 :guilabel:`末端工具`,选择 **注册工具**,注册工具并将工具添加至机械臂,具体参见下一节。 4. 在顶部快捷工具栏,单击 :guilabel:`几何体`,根据实际场景,添加几何体,用于表示环境中的相机、障碍物等物体。 .. image:: img/env2.png :align: center :width: 400px 注册抓取 ++++++++++++ 利用工具和工件,注册抓取方式和抓取处理流程。 1. 注册工具,具体操作参见 :ref:`basic_operation/motion_operation/add_tool:注册工具`。 a. 在 :guilabel:`运动` 页签快捷工具栏,单击 :guilabel:`末端工具`,选择 **注册工具**, b. 单击左下角 **工具** 节点,在右侧参数设置栏添加工具形态,设置可视化模型和碰撞模型。 .. image:: img/shapes.png :align: center :width: 700px c. 添加工具参考点,然后单击右下角 :guilabel:`完成`,回到 **工具形态** 页签,再单击右下角 :guilabel:`完成`,回到 **工具** 页签,单击 :guilabel:`完成并添加到机械臂`。 .. image:: img/tcp2.png :align: center :width: 700px 2. 注册工件。在顶部快捷工具栏,单击 :guilabel:`工件`,选择 **注册工件**,无需添加模型,只需确保工件名称与视觉中 **3D模板匹配** 模块使用的模板名称相同。 3. 注册抓取方式。在顶部快捷工具栏,选择 “抓取方式 > 圆柱抓取注册”。设置圆柱体尺寸,使用已注册的工具设置抓取注册集,请参见 :doc:`../../../basic_operation/motion_operation/grasp_reg/cylinder`。 .. image:: img/method2.png :align: center :width: 700px 4. 注册抓取处理流程。在顶部快捷工具栏,选择 “抓放规划 > 抓取处理流程”,单击左下角 **抓取处理流程**,设置抓取处理流程。在本项目中,可按以下步骤设置: a. 工件处理策略选择 **无处理**,抓取注册集选择之前注册的圆柱抓取注册集。 b. 抓取规划处理策略选择 **[倍增]根据抓取姿态拆分抓取规划**,对抓取规划进行拆分,再使用 **[过滤]根据抓取角度过滤抓取规划** 加以过滤。 .. image:: img/step2.png :align: center :width: 350px c. 在抓取规划处理策略中添加 **[排序]根据混合策略排序抓取规划**,然后将 **[排序]根据物体遮挡率排序抓取规划** 和 **[排序]根据抓取角度排序抓取规划** 添加至排序处理列表中,根据物体遮挡率和抓取角度对抓取规划进行排序。 .. image:: img/step3.png :align: center :width: 350px d. 在抓取规划处理策略中添加 **[合并]合并抓取物体相同的抓取规划**,将多个抓取规划合而为一,然后单击 :guilabel:`下一步`。 5. (可选)选择抓取工作空间,单击 :guilabel:`测试运行`,查看运行结果,包括工件处理结果、抓取规划生成结果、抓取规划处理结果。 6. 单击右下角 :guilabel:`完成`。 配置运动路径 ++++++++++++++++++ .. |menu| image:: img/menu.png :width: 20px .. |edit| image:: img/edit2.png :width: 20px 添加点位,配置机械臂运动路径。一般需添加抓取点、放置点以及相对于抓取点、放置点的点位。 1. 在 :guilabel:`运动` 页签下的 **路径** 面板,单击右上角 |menu|,选择 **导入深筐模板**。 2. 在右侧参数设置栏 **抓取配置** 下方,设置抓取移动涉及的工作空间、处理流程、视觉服务编号,在 **放置配置** 下方设置放置工作空间。 .. image:: img/path_pick.png :align: center :width: 400px 3. 单击左下角 **过渡** 节点,在右侧参数设置栏单击 **目标点** 右侧 :guilabel:`添加`,使用示教器控制机械臂运动到指定点位后,单击 :guilabel:`获取机械臂关节角`,单击 :guilabel:`确定`。 .. image:: img/transition.png :align: center :width: 700px 4. 单击左下角 **预抓取** 节点,在右侧参数设置栏单击 **目标点** 右侧 :guilabel:`添加`,设置预抓取点相对于抓取点的相对位姿。 .. image:: img/prepick1.png :align: center :width: 700px 5. 单击左下角 **抓取** 节点,在右侧参数设置栏设置运动类型,建议使用 **线性移动&关节过奇点-MoveLJL**。在该模式下,机械臂默认采取线性移动(MoveL)方式,并自动判断是否经过奇异点,经过奇异点时切换成关节移动(MoveJ)方式,经过后再切换回线性移动方式。 6. 单击左下角 **后抓取** 节点,在右侧参数设置栏设置运动类型,建议使用 **线性移动&关节过奇点-MoveLJL**,单击 **目标点** 右侧 :guilabel:`添加`,设置后抓取点相对于抓取点的相对位姿。 7. 单击左下角 **筐外** 节点,在右侧参数设置栏单击 **目标点** 右侧 :guilabel:`添加`,设置该点位的机械臂关节角。 8. 单击左下角 **预放置** 节点,在右侧参数设置栏单击 **目标点** 右侧 :guilabel:`添加`,设置预放置点的机械臂关节角。 9. 单击左下角 **放置** 节点,在右侧参数设置栏将 **抓放状态** 设置为 **放下工件**,单击 **目标点** 右侧 :guilabel:`添加`,添加放置点的机械臂关节角。 .. image:: img/place2.png :align: center :width: 700px 10. 单击左下角 **后放置** 节点,在右侧参数设置栏单击 **目标点** 右侧 :guilabel:`添加`,设置后放置点的机械臂关节角。 11. 确认各点位的碰撞检测设置。单击各节点,在右侧参数设置栏 **碰撞检测设置** 下方查看碰撞检测参数。 - 检查目标点位碰撞:检测该点是否发生碰撞。抓取和放置节点一般不启用该功能。 - 检查插值点位碰撞:检测从上一个点到该点之间插值点位是否发生碰撞。 12. 右键单击中间预览窗口上方 **深筐路径** 页签,选择 **保存**。