Foreach 遍历元素列表

Foreach 算子为遍历元素列表,用于遍历 Cube 、Image 、JointArray 、MotionPlan 、Path 、PlannedGrasp 、PointCloud 、Pose 、String 、ImagePoints列表。

Foreach 算子介绍视频教程

类型 功能
Cube 用于遍历立方体列表。
Image 用于遍历图像列表。
JointArray 用于遍历机器人关节弧度值列表。
MotionPlan /
Path 用于遍历路径数组。
PlannedGrasp /
PointCloud 用于遍历点云列表。
Pose 用于遍历 pose 列表。
String 用于遍历字符串列表。
ImagePoints 用于遍历图像关键点坐标列表。
RotatedRect /

Cube

将 Foreach 算子的 类型 属性选择 Cube ,用于遍历 Cube 列表。

算子参数

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

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

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

  • 最大迭代次数/max_iteration:计数序号的最大迭代次数。输入的数值表示最大迭代几次。默认值: -1 ,表示迭代整个列表。

  • 下限/lower_bound:表示迭代计数的最小边界值。默认值:0 。表示从列表第一个开始迭代。最小值:0。

  • 上限/upper_bound:表示迭代计数的最大边界值。默认值:-1 。表示 size-1 ,为列表最后一个。

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

    • icon_visOn 打开立方体可视化。

    • icon_visOff 关闭立方体可视化。

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

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

数据信号输入输出

输入:

  • cube_list

    • 数据类型:CubeList

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

输出:

  • cube

    • 数据类型:Cube

    • 输出内容:单个立方体数据

功能演示

使用 Foreach 算子中 Cube ,遍历输出加载 cube_list 里的 cube 数据。

步骤1:算子准备

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

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → Cube

    • 目录 → icon_more→ 选择 cube 文件目录名( example_data/cube )

  2. 设置 Foreach 算子参数:

    • 类型 → Cube

    • 立方体 → icon_visOn 可视

步骤3:连接算子

Basic_Foreach_Cube_Nodes

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子,再触发 Trigger_1 。

运行结果

如下图所示,在 3D 视图中显示当前遍历的 cube 。

Basic_Foreach_Cube_Result

Image

将 Foreach 算子的 类型 属性选择 Image ,用于遍历图像列表。

算子参数

  • 其余参数:同本算子 Cube 章节——算子参数。

  • 图像:设置图像在 2D 视图中的可视化属性。

    • icon_visOn 打开图像可视化。

    • icon_visOff 关闭图像可视化。

数据信号输入输出

输入:

  • image_list

    • 数据类型:ImageList

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

输出:

  • Image

    • 数据类型:Image

    • 输出内容:单个图像数据

功能演示

本节将使用 Foreach 算子中 Image ,遍历加载图像列表中的图像。这与 Foreach 算子中 Cube 属性遍历 Cube 列表的方法相同,请参照该章节的功能演示。

JointArray

将 Foreach 算子的 类型 属性选择 JointArray ,用于遍历机器人关节弧度值。

算子参数

  • 所有参数:同本算子 Cube 章节——算子参数。

数据信号输入输出

输入:

  • joint_list

    • 数据类型:JointArrayList

    • 输入内容:jointarray 列表数据

输出:

  • joint

    • 数据类型:JointArrayList

    • 输出内容:jointarray 数据

功能演示

本节将使用 Foreach 算子中 JointArray ,遍历加载 jointarray_list 里的单组机器人关节弧度值数据。这与 Foreach 算子中 Cube 属性遍历 Cube 列表的方法相同,请参照该章节的功能演示。

Path

将 Foreach 算子的 类型 属性选择 Path ,用于遍历机器人路径。

算子参数

  • 其余参数:同本算子 Cube 章节——算子参数。

  • path:设置路径在 3D 视图中的可视化属性。

    • icon_visOn 打开路径可视化。

    • icon_visOff 关闭路径可视化。

    • icon_linewidth 设置路径的线宽。默认值:1 。

数据信号输入输出

输入:

  • path_list

    • 数据类型:PathList

    • 输入内容:路径列表数据

输出:

  • path

    • 数据类型:Path

    • 输出内容:单个路径数据

功能演示

本节将使用 Foreach 算子中 Path ,遍历加载 path_list 里的路径数据。这与 Foreach 算子中 Cube 属性遍历 Cube 列表的方法相同,请参照该章节的功能演示。

PointCloud

将 Foreach 算子的 类型 属性选择 PointCloud ,用于遍历点云。

算子参数

  • 其余参数:同本算子 Cube 章节——算子参数。

  • 点云:设置当前遍历的点云在 3D 视图中的可视化属性。

    • icon_visOn 打开点云可视化。

    • icon_visOff 关闭点云可视化。

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

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

数据信号输入输出

输入:

  • cloud_list

    • 数据类型:PointCloudList

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

输出:

  • cloud

    • 数据类型:PointCloud

    • 输出内容:单个点云数据

功能演示

本节将使用 Foreach 算子中 PointCloud ,遍历加载点云列表中的点云数据。这与 Foreach 算子中 Cube 属性遍历 Cube 列表的方法相同,请参照该章节的功能演示。

Pose

将 Foreach 算子的 类型 属性选择 Pose ,用于遍历 pose 。

算子参数

  • 其余参数:同本算子 Cube 章节——算子参数。

  • 坐标:设置当前遍历的 pose 在 3D 视图中的可视化属性。

    • icon_visOn 打开 pose 可视化。

    • icon_visOff 关闭 pose 可视化。

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

数据信号输入输出

输入:

  • pose_list

    • 数据类型:PoseList

    • 输入内容:pose 列表数据

输出:

  • pose

    • 数据类型:Pose

    • 输出内容:单个 pose 数据

功能演示

本节将使用 Foreach 算子中 Pose ,遍历加载 pose_list 里的 pose 数据。这与 Foreach 算子中 Cube 属性遍历 Cube 列表的方法相同,请参照该章节的功能演示。

String

将 Foreach 算子的 类型 属性选择 String ,用于遍历字符串。

算子参数

  • 其余参数:同本算子 Cube 章节——算子参数。

  • 字符串:设置当前遍历的 string 的曝光属性。打开后可与交互面板中输出工具——“文本框”控件绑定

    • icon_visOn 打开曝光。

    • icon_visOff 关闭曝光。

数据信号输入输出

输入:

  • string_list

    • 数据类型:String

    • 输入内容:String 列表数据

输出:

  • string

    • 数据类型:String

    • 输出内容:单个 String 数据

功能演示

使用 Foreach 算子中 String ,遍历目录中的子目录。

步骤1:算子准备

添加 Trigger(2个) 、DirectoryOperation 、Foreach 算子至算子图。

步骤2:设置算子参数

  1. 设置 DirectoryOperation 算子参数:

    • 类型 → ReadDirectory

    • 父目录 → icon_more→ 选择 example_data 文件目录名( example_data )

  2. 设置 Foreach 算子参数:

    • 类型 → String

    • 字符串 → icon_visOn 曝光

步骤3:连接算子

Basic_Foreach_String_Nodes

步骤4:运行

  1. 将 string 属性与交互面板中输出工具——“文本框”控件进行绑定。

  2. 点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

结果如下图所示, 交互面板中显示当前遍历的子目录名。

Basic_Foreach_String_result

ImagePoints<

将 Foreach 算子的 类型 属性选择 ImagePoints ,用于遍历图像关键点坐标 。

算子参数

  • 所有参数:同本算子 Cube 章节——算子参数。

数据信号输入输出

输入:

  • image_points_list

    • 数据类型:ImagePoints

    • 输入内容:ImagePoints 列表数据

输出:

  • image_points

    • 数据类型:ImagePoints

    • 输出内容:单组 ImagePoints 数据

功能演示

本节将使用 Foreach 算子中 imagePoints ,遍历图像关键点坐标列表里的单组图像关键点坐标。这与 Foreach 算子中 Cube 属性遍历 Cube 列表的方法相同,请参照该章节的功能演示。