GenerateGrasp 生成抓取策略

GenerateGrasp算子用于为各类抓取目标生成与导出抓取策略。

类型 功能
CylinderGrasp 专用于圆柱体的抓取策略生成和导出。详细介绍暂无。
ExportGrasp 通用的抓取策略导出方式。基于给入的抓取位列表以及预抓位列表,结合算子参数,生成多组抓取策略保存到指定文件中。

ExportGrasp

将 GenerateGrasp 算子类型选择 ExportGrasp 时,基于给入的抓取位列表以及预抓位列表,结合算子参数,生成多组抓取策略保存到指定文件中。

抓取位列表和预抓位列表应该保持数量一致,定义为 N,并且按照序号依次对应,算子最后也会生成 N 组抓取策略。

算子参数

  • 抓取策略文件名/grasp_json_filename:抓取策略文件的保存路径(含名称),名称必须命名为 grasp.json 才能被运动规划资源算子识别调用。

  • 抓取策略名称/grasp_name:策略族名称。每个策略文件中可以保存多个策略族,彼此用不同名称区分。但是目前 RVS 每次读取抓取策略文件,不会根据策略族名称作区分,仅使用其文件中保存的最后一个策略族。

    注意:每个策略族均包含了下述所有参数,并且包含了 N 组抓取策略。

  • 物体类型/object_type:抓取目标的类型名称。该名称必须同上述抓取策略文件名的路径名保持一致,才能被运动规划资源算子识别调用。比如运动规划资源算子所加载的文件夹为 demo_runtime/models/pipe,则这里的物体类型必须填写为 pipe。

  • 抓取抬高值/pose_grasp_z_offset:基于抓取位的竖直向上抬高距离。基于该数值,算子会结合一对预抓位姿态和抓取位姿态,自动计算出抬升位姿态,三者构成一个策略组。

  • 法兰盘旋转角最小值/min_last_joint_angle:实际抓取时,如果某个抓取策略组的机器人法兰盘抓取角度小于该数值,则自动过滤该抓取策略组不予使用。

  • 法兰盘旋转角最大值/max_last_joint_angle:实际抓取时,如果某个抓取策略组的机器人法兰盘抓取角度大于该数值,则自动过滤该抓取策略组不予使用。

  • 抓取策略排序模式/prefered_grasp_mode:分为X、X90、Y、Y90、Z、Z90共 6 种模式。

    注意

    在大多数机器人抓取的场景中,机器人末端工具都是朝下抓取,即末端工具的 Z 轴同机器人坐标系的 Z 轴朝向基本一致。但考虑到机器人末端工具也可能横向抓取,以及考虑到抓取目标可能使用 Oxy 平面之外的平面放置入料框、料垛,则我们设置了这里的抓取模式。实际生成抓取策略时,会将这里设置的模式作为排序依据。下述提到的“一致”是指两个轴相同或者相反。

    当客户需要机器人末端工具的 Z 轴同目标模型的 Z 轴保持一致,机器人末端工具的 X 轴同目标模型的 X 轴保持一致,则选择模式 Z 。

    当客户需要机器人末端工具的 Z 轴同目标模型的 Z 轴保持一致,机器人末端工具的 X 轴同目标模型的 Y 轴保持一致,则选择模式 Z90 。

    当客户需要机器人末端工具的 Z 轴同目标模型的 Y 轴保持一致,机器人末端工具的 Y 轴同目标模型的 X 轴保持一致,则选择模式 Y 。

    当客户需要机器人末端工具的 Z 轴同目标模型的 Y 轴保持一致,机器人末端工具的 X 轴同目标模型的 X 轴保持一致,则选择模式 Y90 。

    当客户需要机器人末端工具的 Z 轴同目标模型的 X 轴保持一致,机器人末端工具的 Y 轴同目标模型的 Z 轴保持一致,则选择模式 X 。

    当客户需要机器人末端工具的 Z 轴同目标模型的 X 轴保持一致,机器人末端工具的 X 轴同目标模型的 Z 轴保持一致,则选择模式 X90 。

数据信号输入输出

输入:

  • grasp_pose_list :

    • 数据类型:PoseList

    • 输入内容:抓取位列表

  • pre_grasp_pose_list :

    • 数据类型:PoseList

    • 输入内容:预抓位列表

功能演示

详见深框抓取Demo展示。