Collect 收集元素

Collect 算子为收集元素,用于收集元素组合成列表。适用类型有:Cube 、Cylinder 、Image 、ImagePoints 、JointArray 、Object 、PointCloud 、PolyData 、Pose 、String 。

Collect 算子介绍视频教程

类型 功能
Cube 收集立方体,组合成立方体列表。
Cylinder 收集圆柱体,组合成圆柱体列表。
Image 收集图像,组合成图像列表。
ImagePoints 收集图像关键点坐标,组合成关键点坐标列表。
JointArray 收集机器人关节弧度值,组合成机器人关节弧度值列表。
Object 收集机物体,组合成物体列表。
PointCloud 收集点云,组合成点云列表。
PolyData 收集 3D 模型,组合成 3D 模型列表。
Pose 收集坐标,组合成坐标列表。
String 收集字符串,组合成字符串列表。

Cube

将 Collect 算子的 类型 属性选择为 Cube ,用于收集立方体,组合成立方体列表。

算子参数

  • 启动便迭代/iterate_at_start:数据类型:Bool 。使能/去使能迭代触发。

    • True:当算子左侧 start 端口或左侧 iterated 端口被触发时,会自动触发一次 iterate ,此时会输出当前计数序号对应的数据,然后右侧 iterated 被触发,计数序号自加 1 。

    • False:当算子左侧 start 端口被触发时,iterated 不会被触发。

  • 立方体列表/cube_list:设置立方体列表在 3D 视图中的可视化属性。

    • icon_visOn 打开立方体列表可视化。

    • icon_visOff 关闭立方体列表可视化。

    • icon_color 设置立方体列表的颜色。取值范围:[-2,360] 。默认值:-2 。

    • icon_opacity 设置立方体列表的透明度。取值范围:[0,1] 。默认值:0.5 。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • cube

    • 数据类型:Cube

    • 输入内容:立方体数据

  • cube_list

    • 数据类型:CubeList

    • 输入内容:立方体数据列表

输出:

  • cube_list

    • 数据类型:CubeList

    • 输出内容:立方体数据列表

功能演示

使用 Collect 算子中 Cube ,收集2个立方体,将2个立方体组合成一个立方体列表。

步骤1:算子准备

添加 Trigger( 2 个) 、Load 、Collect 算子至算子图。

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → Cube

    • 文件 → icon_more→ 选择 cube 文件名 ( example_data/cube/cube.txt )

  2. 设置 Collect 算子参数:

    • 类型 → Cube

    • 启动便迭代 → True

    • 立方体列表 → icon_visOn 可视

步骤3:连接算子

Basic_Collect_ Cube_Nodes

步骤4:运行

  1. 交互面板中选择输出工具数码管命名为 iterated ;选择输出工具——“数码管”控件,与 counter_string 属性绑定。

  2. 点击运行按钮,先触发 Trigger_1 ,启动 Collect 算子。

  3. 触发 Trigger 后,Collect 完成一次收集。

  4. Load 算子中 filename 属性→ 选择 cube 文件名 ( example_data/cube/cube1.txt ),再次触发 Trigger ,完成第二次收集。

运行结果

  1. 结果如下图所示,3D视图中显示收集的两个 cube 所组成的一个 cubelist 。

    Basic_Collect_Cube_Result

  2. 如下图所示,触发 start 一次和触发 iterate 两次,一共三次,此时数码管显示为 3。

Basic_Collect_Cube_Result1

Cylinder

将 Collect 算子的 类型 属性选择为 Cylinder ,用于收集圆柱体,组合成圆柱体列表。

算子参数

  • 启动便迭代/iterate_at_start:数据类型:Bool 。

    • True:当算子左侧 start 端口被触发时,会自动触发一次 iterate ,此时会输出当前计数序号对应的数据,然后右侧 iterate 被触发,计数序号自加 1 。

    • False:当算子左侧 start 端口被触发时,iterate 不会被触发。

  • 圆柱体列表/cylinder_list:设置圆柱体列表在 3D 视图中的可视化属性。

    • icon_visOn 打开圆柱体列表可视化。

    • icon_visOff 关闭圆柱体列表可视化。

    • icon_color 设置圆柱体列表的颜色。取值范围:[-2,360] 。默认值:-2。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • cylinder

    • 数据类型:Cylinder

    • 输入内容:圆柱体数据

  • cylinder_list

    • 数据类型:CylinderList

    • 输入内容:圆柱体数据列表

输出:

  • cylinder_list

    • 数据类型:CylinderList

    • 输出内容:圆柱体数据列表

功能演示

使用 Collect 算子中 Cylinder ,收集2个圆柱体,将2个圆柱体组合成一个圆柱体列表。

步骤1:算子准备

添加 Trigger( 2 个) 、Emit 、Collect 算子至算子图。

步骤2:设置算子参数

  1. 设置 Emit 算子参数:

    • 类型 → Cylinder

    • 坐标 → 0 0 0 0 0 0

    • 半径 → 0.075

    • 长度 → 0.4

  2. 设置 Collect 算子参数:

    • 类型 → Cylinder

    • 圆柱体列表 → icon_visOn 可视

步骤3:连接算子

basic_Collect_Cylinder_nodes

步骤4:运行

  1. 点击运行按钮,先触发 Trigger_1 ,启动 Collect 算子。

  2. 触发 Trigger 后,Collect 完成一次收集。

  3. 再次调整 Emit 算子:

    • 坐标 → 0.5 0 0 0 0 0

    • 长度 → 0.5

  4. 再次触发 Trigger ,完成第二次收集。

运行结果

结果如下图所示,3D视图中显示收集的 2 个 cylinder 所组成的一个 cylinder 列表 。

basic_Collect_Cylinder_result

Image

使用 Collect 算子中 Image ,用于收集图像,组合成图像列表。

算子参数

  • 启动便迭代/iterate_at_start:数据类型:Bool 。

    • True:当算子左侧 start 端口被触发时,会自动触发一次 iterate ,此时会输出当前计数序号对应的数据,然后右侧 iterate 被触发,计数序号自加 1 。

    • False:当算子左侧 start 端口被触发时,iterate 不会被触发。

  • 图像列表/image_list:设置图像列表在 3D 视图中的可视化属性。

    • icon_visOn 打开图像列表可视化。

    • icon_visOff 关闭图像列表可视化。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • image

    • 数据类型:Image

    • 输入内容:图像数据

  • image_list

    • 数据类型:ImageList

    • 输入内容:图像数据列表

输出:

  • image_list

    • 数据类型:ImageList

    • 输出内容:图像数据列表

功能演示

本节将使用 Collect 算子中 Image ,收集2张图像,将2个图像组合成一个图像列表。这与 Collect 中 cube 属性的收集立方体组成立方体列表的方法相同,请参照该章节的功能演示。

ImagePoints

将 Collect 算子的 类型 属性选择为 ImagePoints ,用于收集图像关键点坐标,组合关键点坐标成列表。

算子参数

  • 启动便迭代/iterate_at_start:数据类型:Bool 。

    • True:当算子左侧 start 端口被触发时,会自动触发一次 iterate ,此时会输出当前计数序号对应的数据,然后右侧 iterate 被触发,计数序号自加 1 。

    • False:当算子左侧 start 端口被触发时,iterate 不会被触发。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • image_points

    • 数据类型:ImagePoints

    • 输入内容:图像关键点坐标数据

  • image_points_list

    • 数据类型:ImagePointsList

    • 输入内容:图像关键点坐标数据列表

输出:

  • image_points_list

    • 数据类型:ImagePointsList

    • 输出内容:图像关键点坐标数据列表

功能演示

本节将使用 Collect 算子中 ImagePoints ,收集2个图像关键点坐标,将 2 个关键点坐标组合成一个关键点坐标列表。这与 Collect 中 cube 属性的收集立方体组成立方体列表的方法相同,请参照该章节的功能演示。

JointArray

将 Collect 算子的 类型 属性为 JointArray ,收集机器人关节弧度值,组合成机器人关节弧度值列表。

算子参数

  • 启动便迭代/iterate_at_start:数据类型:Bool 。

    • True:当算子左侧 start 端口被触发时,会自动触发一次 iterate ,此时会输出当前计数序号对应的数据,然后右侧 iterate 被触发,计数序号自加 1。

    • False:当算子左侧 start 端口被触发时,iterate 不会被触发。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • joint

    • 数据类型:JointArray

    • 输入内容:机器人关节弧度值

  • joint_list

    • 数据类型:JointArrayList

    • 输入内容:机器人关节弧度值列表

输出:

  • joint_list

    • 数据类型:JointArrayList

    • 输出内容:机器人关节弧度值列表

功能演示

本节将使用 Collect 算子中 JointArray ,收集2组机器人关节弧度值,将2组机器人关节弧度值组合成一个机器人关节弧度值列表。这与 Collect 中 cube 属性的收集立方体组成立方体列表的方法相同,请参照该章节的功能演示。

Object

将 Collect 算子的 类型 属性为 Object ,收集物体,组合成物体列表。

算子参数

  • 启动便迭代/iterate_at_start:数据类型:Bool 。

    • True:当算子左侧 start 端口被触发时,会自动触发一次 iterate ,此时会输出当前计数序号对应的数据,然后右侧 iterate 被触发,计数序号自加 1。

    • False:当算子左侧 start 端口被触发时,iterate 不会被触发。

  • 物体列表:设置物体列表在 3D 视图中的可视化属性。

    • icon_visOn 打开物体列表可视化。

    • icon_visOff 关闭物体列表可视化。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • object

    • 数据类型:Object

    • 输入内容:单个物体

  • object_list

    • 数据类型:ObjectList

    • 输入内容:物体列表

输出:

  • object_list

    • 数据类型:ObjectList

    • 输出内容:物体列表

功能演示

本节将使用 Collect 算子中 Object ,收集 2 组物体,组合成物体列表输出。这与 Collect 中 cube 属性的收集立方体组成立方体列表的方法相同,请参照该章节的功能演示。

PointCloud

将 Collect 算子的 类型 属性为 PointCloud ,用于收集点云,组合成点云列表。

算子参数

  • 启动便迭代/iterate_at_start:数据类型:Bool 。

    • True:当算子左侧 start 端口被触发时,会自动触发一次 iterate ,此时会输出当前计数序号对应的数据,然后右侧 iterate 被触发,计数序号自加 1 。

    • False:当算子左侧 start 端口被触发时,iterate 不会被触发。

  • 点云列表/cloud_list:设置点云列表在 3D 视图中的可视化属性。

    • icon_visOn 打开点云列表可视化。

    • icon_visOff 关闭点云列表可视化。

    • icon_color 设置3D视图中点云列表的颜色。取值范围:[-2,360] 。默认值:-1 。

    • icon_size 设置点云中点的尺寸。取值范围:[1,50] 。默认值:1 。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • cloud

    • 数据类型:PointCloud

    • 输入内容:点云数据

  • cloud_list

    • 数据类型:PointCloudList

    • 输入内容:点云数据列表

输出:

  • cloud_list

    • 数据类型:PointCloudList

    • 输出内容:点云数据列表

功能演示

本节将使用 Collect 算子中 PointCloud ,收集2个点云,将2个点云组合成一个点云列表。这与 Collect 中 cube 属性的收集立方体组成立方体列表的方法相同,请参照该章节的功能演示。

PolyData

将 Collect 算子的 类型 属性为 PolyData ,用于收集 3D 模型,组合成 3D 模型列表。

算子参数

  • 启动便迭代/iterate_at_start:数据类型:Bool 。

    • True:当算子左侧 start 端口被触发时,会自动触发一次 iterate ,此时会输出当前计数序号对应的数据,然后右侧 iterate 被触发,计数序号自加 1 。

    • False:当算子左侧 start 端口被触发时,iterate 不会被触发。

  • 多边形列表/polydata_list:设置 3D 模型列表在 3D 视图中的可视化属性。

    • icon_visOn 打开 3D 模型列表可视化。

    • icon_visOff 关闭 3D 模型列表可视化。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • polydata

    • 数据类型:PolyData

    • 输入内容:polydata 数据

  • polydata_list

    • 数据类型:PolyDataList

    • 输入内容:polydata 数据列表

输出:

  • polydata_list

    • 数据类型:PolyDataList

    • 输出内容:polydata 数据列表

功能演示

使用 Collect 算子中 PolyData ,收集2个 3D 模型,将2个 3D 模型组合成一个 3D 模型列表。这与 Collect 中 cube 属性的收集立方体组成立方体列表的方法相同,请参照该章节的功能演示。

Pose

将 Collect 算子的 类型 属性为 Pose ,用于收集 pose ,组合成 pose 列表。

算子参数

  • 启动便迭代/iterate_at_start:数据类型:Bool 。

    • True:当算子左侧 start 端口被触发时,会自动触发一次 iterate ,此时会输出当前计数序号对应的数据,然后右侧 iterate 被触发,计数序号自加 1 。

    • False:当算子左侧 start 端口被触发时,iterate 不会被触发。

  • 坐标列表/pose_list:设置 pose 列表在 3D 视图中的可视化属性。

    • icon_visOn 打开 pose 列表列表可视化。

    • icon_visOff 关闭 pose 列表列表可视化。

    • icon_size 设置 pose 的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。

数据信号输入输出:

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • pose

    • 数据类型:Pose

    • 输入内容:pose 数据

  • pose_list

    • 数据类型:PoseList

    • 输入内容:pose 数据列表

输出:

  • pose_list

    • 数据类型:PoseList

    • 输出内容:pose 数据列表

功能演示

本节将使用 Collect 算子中 Pose ,收集2个坐标,将2个坐标组合成一个坐标列表。这与 Collect 中 cube 属性的收集立方体组成立方体列表的方法相同,请参照该章节的功能演示。

String

将 Collect 算子的 类型 属性为 String ,用于收集字符串,组合成字符串列表

算子参数

  • 启动便迭代/iterate_at_start:数据类型:Bool 。

    • True:当算子左侧 start 端口被触发时,会自动触发一次 iterate ,此时会输出当前计数序号对应的数据,然后右侧 iterate 被触发,计数序号自加 1 。

    • False:当算子左侧 start 端口被触发时,iterate 不会被触发。

  • 字符串列表/string_list:设置字符串列表曝光属性。可用于绑定交互面板中输出工具——“表格”控件。

    • icon_visOn 打开曝光。

    • icon_visOff 关闭曝光。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • string

    • 数据类型:String

    • 输入内容:string 数据

  • string_list

    • 数据类型:StringList

    • 输入内容:string 数据列表

输出:

  • string_list

    • 数据类型:StringList

    • 输出内容:string 数据列表

功能演示

使用 Collect 算子的 type 属性为 String ,收集3个字符串,将3个字符串组合成一个字符串列表。

步骤1:算子准备

添加 Trigger 、Emit 、Collect 算子至算子图。

步骤2:设置算子参数

  1. 设置 Emit 算子参数:

    • 类型 → String

    • 字符串 → RVS

  2. 设置 Collect 算子参数:

    • 类型 → String

    • 字符串列表 → icon_visOn 曝光

步骤3:连接算子

Basic_Collect_String_Nodes

步骤4:运行

  1. 交互面板中选择输出工具——“表格”控件,并与“ string_list ”绑定。

  2. 点击 RVS 运行按钮,先触发 Trigger_1 ,启动 Collect 算子。

  3. 触发 Trigger 后,Collect 完成一次收集。

  4. 调整 Emit 算子中 string 属性,输入 collect ,再次触发 Trigger ,完成第二次收集。

  5. 调整 Emit 算子中 string 属性,输入 1 ,再次触发 Trigger ,完成第三次收集。

运行结果

结果如下图所示,在交互面板中显示收集的多个 string 。

Basic_Collect_String_Result