ObjectSceneOperator 物品场景操作
类型 | 功能 |
---|---|
AddObject | 输入检测目标的位姿,其效果是将实际的检测目标添加到场景中。 |
GetObjects | 从场景中获得所有已添加的检测目标的 SceneObject 列表。 |
GetObjectByID | 根据输入的物体 ID 参数,从场景中获得对应名称的检测目标并以 SceneObject 的数据格式输出。 |
RemoveObjects | 清空场景中的所有已添加的检测目标。 |
RemoveObjectByID | 根据输入的物体 ID 参数,清除场景中对应名称的检测目标。 |
AddObstacleObject | 为运动规划场景添加障碍物。 |
RemoveObstacleObjectByID | 根据输入的物体 ID 参数,清除场景中的对应名称的障碍物。 |
ObjectToPolydata | 将 SceneObject 数据转换成 PolyData 数据。 |
AddObject
将 ObjectSceneOperator 的算子类型选择 AddObject,根据输入的检测目标位姿,将该目标添加到场景中。 分为两种输入模式:pose 或者 pose_list。
-
pose:一次添加一个检测目标。在使用 pose 输入模式时,算子参数
物体ID
生效,其参数值会作为检测目标的名称。当参数空置时,以参数运动规划资源管理
的抓取目标类型名 pipe 举例,RVS 会自动为其赋名为 pipe_n。 -
pose_list:一次性添加一个检测目标列表。在使用 pose_list 输入模式时,算子参数
物体ID
无效。RVS 会自动为其赋名为 pipe_1、pipe_n 等。注意:运动规划场景会自动计数当前已添加的检测目标个数,进而保证上述 pipe_n 中数值 n 的正确性。当执行 RemoveObjects类型时,所有计数重置。
算子参数
-
运动规划资源管理/motion_planning_resource
:运动规划资源管理算子名称。使用时需要在 Resource Group 中添加一个运动规划资源管理算子并将其名称填入此处。 -
物体ID/object_id
:物体名称。
数据信号输入输出
说明:Pose 输入端口有数据时,无论 pose_list 输入端口是否有连线,都仅采用 pose 输入端口的连接数据。
输入:
-
pose
:-
数据类型:Pose
-
输入内容:一个检测目标
-
-
pose_list
:-
数据类型:PoseList
-
输入内容:检测目标列表
-
功能演示
详见深框抓取Demo展示。
GetObjects
将 ObjectSceneOperator 的算子类型选择 GetObjects,用于从场景中获得所有已添加的检测目标的SceneObject列表,SceneObject数据无法可视化,需要转换成 polydata 数据进行显示。
算子参数
-
运动规划资源管理/motion_planning_resource
:运动规划资源管理算子名称。使用时需要在 Resource Group 中添加一个运动规划资源管理算子并将其名称填入此处。
数据信号输入输出
输出:
-
scene_object_list
:-
数据类型:SceneObject
-
输出内容:从场景中获得所有已经添加的检测目标的数据列表
-
功能演示
详见深框抓取Demo展示。
GetObjectByID
将 ObjectSceneOperator 的算子类型选择 GetObjectByID,用于根据输入的 物体ID
参数,从场景中获得对应名称的检测目标并以
SceneObject 的数据格式输出。SceneObject数据无法可视化,需要转换成 polydata 数据进行显示。
算子参数
-
运动规划资源管理/motion_planning_resource
:运动规划资源管理算子名称。使用时需要在 Resource Group 中添加一个运动规划资源管理算子并将其名称填入此处。 -
物体ID/object_id
:物体名称。
数据信号输入输出
输出:
-
scene_object_list
:-
数据类型:SceneObject
-
输出内容:从场景中获得指定
物体ID
的检测目标
-
功能演示
详见深框抓取Demo展示。
RemoveObjects
将 ObjectSceneOperator 的算子类型选择 RemoveObjects,用于清空场景中的所有检测目标,同时其内部的命名序号计数(即 AddObject 类型中提及的检测目标计数个数)重置为0。
算子参数
-
运动规划资源管理/motion_planning_resource
:运动规划资源管理算子名称。使用时需要在 Resource Group 中添加一个运动规划资源管理算子并将其名称填入此处。
功能演示
详见深框抓取Demo展示。
RemoveObjectByID
将 ObjectSceneOperator 的算子类型选择 RemoveObjectByID,用于根据输入的物体ID
参数,清除场景中的对应名称的检测目标,其内部命名序号(即
AddObject 类型中提及的检测目标计数个数)不变。
算子参数
-
运动规划资源管理/motion_planning_resource
:运动规划资源管理算子名称。使用时需要在 Resource Group 中添加一个运动规划资源管理算子并将其名称填入此处。 -
物体ID/object_id
:物体名称。
数据信号输入输出
输入:
-
object_id
:-
数据类型:String
-
输入内容:物体名称
-
功能演示
详见深框抓取Demo展示。
AddObstacleObject
将 ObjectSceneOperator 的算子类型选择 AddObstacleObject,为运动规划场景添加障碍物。分为RemainCloud、PolyData、Cube三种模式。
每种模式下都有一个物体ID
的属性,表示所添加障碍物的命名。如果命名已经被占用,则会将新添加的障碍物直接替换原有障碍物。所以不建议将该参数空置,因为全局只能有一个未命名(或者说命名为空)的障碍物。
注意:每个障碍物或者被检测到的抓取目标,在场景中都有唯一对应的名称,用于场景内部数据的增删维护以及避撞消息提示等。
算子参数
-
运动规划资源管理/motion_planning_resource
:运动规划资源管理算子名称。使用时需要在 Resource Group 中添加一个运动规划资源管理算子并将其名称填入此处。 -
mode
:选择障碍物的模式,分为RemainCloud、PolyData、Cube三种模式。-
Cube:类似于工作台的台面这种简单障碍物可以直接使用 Cube 数据类型直接添加到场景中,也可以将障碍物拆分成多个 Cube 的形式分别添加到场景中。Cube形式的障碍物在实际避撞运算时,默认视为凸面体进行避撞运算,所以运算速度最快0。同时添加也最方便,无需客户提供目标数模文件。
-
物体ID/object_id
:物体名称。
-
-
PolyData:对于复杂的障碍物,需要客户提供 3D 数模文件并转换成 PolyData 的数据格式添加到场景中。实际避撞运算时,默认视为凹面体进行避撞运算。
-
物体ID/object_id
:物体名称。
-
-
RemainCloud:一种特殊的避撞物添加方式,专用于将剩余点云转换为 PolyData 数模并添加到场景中。此时算子端口输入的是 Pointcloud,输出的是PolyData 数据,该输出端口专用于在 3D 窗口中的效果展示。
-
物体ID/object_id
:物体名称。 -
采样规模/sampling_size
:将点云转换成 polydata 数据时的采样间隔。在采样间隔范围内仅采集一个点作为 polydata 数据的一个顶点。 -
粘连高度/dliate_height
:当采集的相邻 3 个顶点之间的距离彼此都小于该高度数值时,将 3 个顶点连接构成 polydata 数据的一个三角面。 -
多边形/polydata
:设置多边形在 3D 视图中的可视化属性。-
打开多边形可视化。
-
关闭多边形可视化。
-
设置多边形颜色。取值范围:[-2,360] 。默认值:-1 。
-
设置多边形透明度。取值范围:[0,1] 。默认值:1 。
-
-
-
数据信号输入输出
Cube 模式
输入:
-
cube
:-
数据类型:Cube
-
输入内容:立方体数据(简单障碍物)
-
PolyData 模式
输入:
-
polydata
:-
数据类型:PolyData
-
输入内容: 3D 数据文件转成的 PolyData 数据
-
RemainCloud 模式
输入:
-
cloud
:-
数据类型:PointCloud
-
输入内容:剩余点云
-
输出:
-
polyData
:-
数据类型:PolyData
-
输出内容:剩余点云转成的 PolyData
-
-
功能演示
详见深框抓取Demo展示。
RemoveObstacleObjectByID
将 ObjectSceneOperator 的算子类型选择 RemoveObstacleObjectByID,用于根据输入的物体ID
参数,清除场景中的对应名称的障碍物。
算子参数
-
运动规划资源管理/motion_planning_resource
:运动规划资源管理算子名称。使用时需要在 Resource Group 中添加一个运动规划资源管理算子并将其名称填入此处。 -
物体ID/object_id
:物体名称。
功能演示
详见深框抓取Demo展示。
ObjectToPolydata
将 ObjectSceneOperator 的算子类型选择 ObjectToPolydata,用于将 SceneObject 数据转换成 polydata 数据。
算子参数
-
运动规划资源管理/motion_planning_resource
:运动规划资源管理算子名称。使用时需要在 Resource Group 中添加一个运动规划资源管理算子并将其名称填入此处。 -
多边形/polydata
:设置多边形在 3D 视图中的可视化属性。-
打开多边形可视化。
-
关闭多边形可视化。
-
设置多边形颜色。取值范围:[-2,360] 。默认值:-1 。
-
设置多边形透明度。取值范围:[0,1] 。默认值:1 。
-
-
多边形列表/polydata_list
:设置多边形列表在 3D 视图中的可视化属性。值描述与多边形
一致。
数据信号输入输出
输入:
-
scene_object
:-
数据类型:SceneObject
-
输入内容:单个 SceneObject 数据
-
-
scene_object
:-
数据类型:SceneObjectList
-
输入内容: SceneObject 列表数据
-
输出:
-
polyData
:-
数据类型:PolyData
-
输出内容:PolyData 数据
-
-
polyData_list
:-
数据类型:PolyDataList
-
输出内容:PolyData 数据列表
-
功能演示
详见深框抓取Demo展示。