Multiplexer 元素多路复用器

Multiplexer 算子为元素多路复用器。用于将多条数据信号流并联在一起,合并后再统一传给后续处理环节。适用于:Cube 、Image 、JointArray 、PointCloud 、Pose 、String 、ImagePoints。

Multiplexer 算子介绍视频教程

类型 功能
Cube 将多条立方体数据信号流并联在一起,合并后再统一传给后续处理环节。
Image 将多条图像数据信号流并联在一起,合并后再统一传给后续处理环节。
JointArray 将多条机器人关节值数据信号流并联在一起,合并后再统一传给后续处理环节。
PointCloud 将多条点云数据信号流并联在一起,合并后再统一传给后续处理环节。
Pose 将多条坐标数据信号流并联在一起,合并后再统一传给后续处理环节。
String 将多条字符串数据信号流并联在一起,合并后再统一传给后续处理环节。
ImagePoints 将多条图像关键点坐标数据信号流并联在一起,合并后再统一传给后续处理环节。

Cube

将 Multiplexer 算子的 类型 属性选择 Cube ,用于将多条立方体数据信号流并联在一起,合并后再统一传给后续处理环节。

算子参数

  • 是否为列表/is_list:数据类型:bool 。将算子输入输出端口设置为列表形式。

    • True:元素类型变为 cube_list。

    • False:元素类型为 cube。

  • 输入数量/number_input:决定该算子的输入端口 cube_? 的数量。范围:[1,10] 。默认值:2 。

  • 选择器/selector:其内容为输出端口所采用的 cube _ ? 。

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

    • icon_visOn 打开立方体可视化。

    • icon_visOff 关闭立方体可视化。

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

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

数据信号输入输出

输入:

  • selector

    • 数据类型:String

    • 输入内容:该端口通常是配合 Or 算子的 selector 输出端口使用,也可以通过 Emit-String 给定。

  • cube_?

    • 数据类型:Cube

    • 输入内容:cube 数据

输出:

  • cube

    • 数据类型:Cube

    • 输出内容:当算子 selector 端口输入为 “0” 时,输入端口 cube_0 中的数据会作为输出端口 cube 的数据输出;selector 端口输入为 “1” 时对应输出 cube_1 中的数据,以此类推。

功能演示

使用 Multiplexer 算子中 Cube ,将生成的 2 条立方体数据信号流并联在一起,分别触发查看输出效果。

步骤1:算子准备

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

步骤2:设置算子参数

  1. 设置 Emit 算子参数:

    • 类型 → Cube

    • 坐标 → 0 0 0 0 0 0

    • 宽度 → 1

    • 高度 → 1

    • 深度 → 1

  2. 设置 Emit_1 算子参数:

    • 类型 → Cube

    • 坐标 → 0.5 0 0 0 0 0

    • 宽度 → 1

    • 高度 → 2

    • 深度 → 3

  3. 设置 Multiplexer 算子参数:

    • 类型 → Cube

    • 输入数量 → 2

    • 立方体 → icon_visOn 可视

    • 选择器 → 1

步骤3:连接算子

Basic_Multiplexer_Cube_Nodes

步骤4:运行

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

运行结果:

  1. 如下图所示,触发 Trigger ,触发 Or 算子 input_0 端口,因此 Multiplexer 输出的是 Cube_0 的数据。

    Basic_Multiplexer_Cube_Result1

  2. 3D 视图中显示 Emit 算子生成的 Cube 。

    Basic_Multiplexer_Cube_Result5

  3. 触发 Trigger_1 ,触发 Or 算子 input_1 端口,因此 Multiplexer 右侧 cube 端口输出的是 Cube_1 的数据。

    注意:触发 Trigger 后,若没有进行刷新(算子图左侧侧边栏倒数第二个为“刷新”按钮),再次触发Trigger_1,Emit 算子 和 Emit_1 算子都显示绿色。

    Basic_Multiplexer_Cube_Result3

  4. 3D 视图中显示 Emit_1 算子生成的 Cube 。

    Basic_Multiplexer_Cube_Result4

Image

将 Multiplexer 算子的 类型 属性选择 Image ,用于将多条图像数据信号流并联在一起,合并后再统一传给后续处理环节。

算子参数

  • 是否为列表/is_list:数据类型:bool 。将算子输入输出端口设置为列表形式。

    • True:元素类型变为 image_list。

    • False:元素类型为 image。

  • 输入数量/number_input:决定该算子的输入端口 image_? 的数量。范围:[1,10] 。默认值:2 。

  • 选择器/selector:其内容为输出端口所采用的 image _ ? 。

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

    • icon_visOn 打开图像可视化。

    • icon_visOff 关闭图像可视化。

数据信号输入输出

输入:

  • selector

    • 数据类型:String

    • 输入内容:其内容决定了输出端口所采用的实际数据。该端口通常是配合 Or 算子的 selector 输出端口使用;也可以通过 Emit-String 给定。

  • image_?

    • 数据类型:Image

    • 输入内容:图像数据

输出:

  • image

    • 数据类型:Image

    • 输出内容:当算子 selector 端口输入为 “0” 时,输入端口 image_0 中的数据会作为输出端口 image 的数据输出;selector 端口输入为 “1” 时对应输出image_1 中的数据,以此类推。

功能演示

使用 Multiplexer 算子中 Image ,将 2 条加载的图像数据信号流并联在一起,分别触发查看输出效果。

步骤1:算子准备

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

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → image

    • 文件 →icon_more → 选择图像文件名( example_data/images/cat.png )

  2. 设置 Load_1 算子参数:

    • 类型 → image

    • 文件 →icon_more → 选择图像文件名( example_data/images/dog.png )

  3. 设置 Multiplexer 算子参数:

    • 类型 → image

    • 输入数量 → 2

    • 图像 → icon_visOn 可视

步骤3:连接算子

basic_Multiplexer_image_nodes

步骤4:运行

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

运行结果:

  1. 如下图所示,触发 Trigger ,触发 Or 算子 input_0 端口,因此 Multiplexer 输出的是 image_0 的数据。

    basic_Multiplexer_image_result1

  2. 2D 视图中显示 Load 算子加载的图像 。

    basic_Multiplexer_image_result2

  3. 触发 Trigger_1 ,触发 Or 算子 input_1 端口,因此 Multiplexer 右侧 image 端口输出的是 image_1 的数据。

    注意:触发 Trigger 后,若没有进行刷新,再次触发Trigger_1,Load 算子 和 Load_1 算子都显示绿色。

    basic_Multiplexer_image_result3

  4. 2D 视图中显示 Load_1 算子加载的图像 。

    basic_Multiplexer_image_result4

JointArray

将 Multiplexer 算子的 类型 属性选择 JointArray ,用于将多条机器人关节弧度值数据信号流并联在一起,合并后再统一传给后续处理环节。

算子参数

  • 是否为列表/is_list:数据类型:bool 。将算子输入输出端口设置为列表形式。

    • True:元素类型变为 joint_list。

    • False:元素类型为 joint。

  • 输入数量/number_input:决定该算子的输入端口 joint_? 的数量。范围:[1,10] 。默认值:2 。

  • 选择器/selector:其内容为输出端口所采用的 joint_? 。

数据信号输入输出

输入:

  • selector

    • 数据类型:String

    • 输入内容:其内容决定了输出端口所采用的实际数据。该端口通常是配合 Or 算子的 selector 输出端口使用;也可以通过 Emit-String 给定。

  • joint_?

    • 数据类型:JointArray

    • 输入内容:机器人关节值数据

输出:

  • joint

    • 数据类型:JointArray

    • 输出内容:

    • 当算子 selector 端口输入为 “0” 时,输入端口 joint_0 中的数据会作为输出端口 joint 的数据输出;selector 端口输入为 “1” 时对应输 joint_1 中的数据,以此类推。

功能演示

本节将使用 Multiplexer 算子中 JointArray ,将 2 条机器人关节弧度值数据信号流并联在一起,分别触发查看输出效果。这与 Multiplexer 算子中 Image 属性将 2 条立方体数据信号流并联在一起,分别触发查看输出效果的结果方法相同。请参照该章节的功能演示。

PointCloud

将 Multiplexer 算子的 类型 属性选择 PointCloud ,用于将多条点云数据信号流并联在一起,合并后再统一传给后续处理环节。

算子参数

  • 是否为列表/is_list:数据类型:bool 。将算子输入输出端口设置为列表形式。

    • True:元素类型变为 cloud_list。

    • False:元素类型为 cloud。

  • 输入数量/number_input:决定该算子的输入端口 cloud_? 的数量。范围:[1,10] 。默认值:2 。

  • 选择器/selector:其内容为输出端口所采用的 cloud _ ? 。

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

    • icon_visOn 打开点云可视化。

    • icon_visOff 关闭点云可视化。

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

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

数据信号输入输出

输入:

  • selector

    • 数据类型:String

    • 输入内容:其内容决定了输出端口所采用的实际数据。该端口通常是配合 Or 算子的 selector 输出端口使用;也可以通过 Emit-String 给定。

  • cloud_?

    • 数据类型:PointCloud

    • 输入内容:点云数据

输出:

  • cloud

    • 数据类型:PointCloud

    • 输出内容:当算子 selector 端口输入为 “0” 时,输入端口 cloud_0 中的数据会作为输出端口 cloud 的数据输出;selector 端口输入为 “1” 时对应输出 cloud_1 中的数据,以此类推。

功能演示

本节将使用 Multiplexer 算子中 PointCloud ,将 2 条点云数据信号流并联在一起,分别触发查看输出效果。这与 Multiplexer 算子中 Image 属性将 2 条图像数据信号流并联在一起,分别触发查看输出效果相同,请参照该章节的功能演示。

Pose

将 Multiplexer 算子的 类型 属性选择 Pose ,用于将多条坐标数据信号流并联在一起,合并后再统一传给后续处理环节。

算子参数

  • 是否为列表/is_list:数据类型:bool 。将算子输入输出端口设置为列表形式。

    • True:元素类型变为 pose_list。

    • False:元素类型为 pose。

  • 输入数量/number_input:决定该算子的输入端口 pose_?的数量。范围:[1,10] 。默认值:2 。

  • 选择器/selector:其内容为输出端口所采用的 pose_? 。

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

    • icon_visOn 打开 pose 可视化。

    • icon_visOff 关闭 pose 可视化。

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

数据信号输入输出

输入:

  • selector

    • 数据类型:String

    • 输入内容:其内容决定了输出端口所采用的实际数据。该端口通常是配合 Or 算子的 selector 输出端口使用;也可以通过 Emit-String 给定。

  • pose_?

    • 数据类型:Pose

    • 输入内容:pose 数据

输出:

  • pose

    • 数据类型:Pose

    • 输出内容:当算子 selector 端口输入为 “0” 时,输入端口 pose_0 中的数据会作为输出端口 pose 的数据输出;selector 端口输入为 “1” 时对应输出 pose_1 中的数据,以此类推。

功能演示

本节将使用 Multiplexer 算子中 Pose ,将 2 条坐标数据信号流并联在一起,分别触发查看输出效果。这与 Multiplexer 算子中 Cube 属性将 2 条立方体数据信号流并联在一起,分别触发查看输出效果方法相同,请参照该章节的功能演示。

String

将 Multiplexer 算子的 类型 属性选择 String ,用于将多条字符串数据信号流并联在一起,合并后再统一传给后续处理环节。

算子参数

  • 是否为列表/is_list:数据类型:bool 。将算子输入输出端口设置为列表形式。

    • True:元素类型变为 string_list。

    • False:元素类型为 string。

  • 输入数量/number_input:决定该算子的输入端口 string_? 的数量。范围:[1,10] 。默认值:2 。

  • 选择器/selector:其内容为输出端口所采用的 string_? 。

  • 字符串/string:设置字符串曝光属性。可与交互面板中输出工具——“文本框”控件进行绑定。

    • icon_visOn 打开曝光。

    • icon_visOff 关闭曝光。

数据信号输入输出

输入:

  • selector

    • 数据类型:String

    • 输入内容:其内容决定了输出端口所采用的实际数据。该端口通常是配合 Or 算子的 selector 输出端口使用;也可以通过 Emit-String 给定。

  • string

    • 数据类型:String

    • 输入内容:string 数据

输出:

  • string

    • 数据类型:String

    • 输出内容:当算子 selector 端口输入为 “0” 时,输入端口 string_0 中的数据会作为输出端口 string 的数据输出;selector 端口输入为 “1” 时对应输出 string_1 中的数据,以此类推。

功能演示

本节将使用 Multiplexer 算子中 String ,将 2 条字符串数据信号流并联在一起,分别触发查看输出效果。这与 Multiplexer 算子中 Cube 属性将 2 条立方体数据信号流并联在一起,分别触发查看输出效果方法相同,请参照该章节的功能演示。

ImagePoints

将 Multiplexer 算子的 类型 属性选择 ImagePoints ,用于将多条图像关键点坐标数据信号流并联在一起,合并后再统一传给后续处理环节。

算子参数

  • 是否为列表/is_list:数据类型:bool 。将算子输入输出端口设置为列表形式。

    • True:元素类型变为 image_points_list。

    • False:元素类型为 image_points 。

  • 输入数量/number_input:决定该算子的输入端口 image_point_? 的数量。范围:[1,10] 。默认值:2 。

  • 选择器/selector:其内容为输出端口所采用的 image_point_? 。

数据信号输入输出

输入:

  • selector

    • 数据类型:String

    • 输入内容:其内容决定了输出端口所采用的实际数据。该端口通常是配合 Or 算子的 selector 输出端口使用;也可以通过 Emit-String 给定。

  • image_points_?

    • 数据类型:ImagePoints

    • 输入内容:imagepoints 数据

输出:

  • image_points

    • 数据类型:ImagePoints

    • 输出内容:当算子 selector 端口输入为 “0” 时,输入端口 image_points_0 中的数据会作为输出端口 image_points 的数据输出;selector 端口输入为 “1” 时对应输出 image_points_1 中的数据,以此类推。

功能演示

本节将使用 Multiplexer 算子中 ImagePoints ,将 2 条图像关键点坐标数据信号流并联在一起,分别触发查看输出效果。这与 Multiplexer 算子中 Cube 属性将 2 条立方体数据信号流并联在一起,分别触发查看输出效果方法相同,请参照该章节的功能演示。