Multiplexer 元素多路复用器

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

Multiplexer 算子介绍视频教程

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

Cube

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

算子参数

  • 是否为列表/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 。

数据信号输入输出

输入:

  • 选择器

    • 数据类型:String

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

  • 立方体_?

    • 数据类型:Cube

    • 输入内容:cube 数据

输出:

  • 立方体

    • 数据类型:Cube

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

功能演示

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

步骤1:算子准备

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

步骤2:设置算子参数

  1. 设置 Emit 算子参数:

    • 类型 → 立方体

    • 坐标 → 0 0 0 0 0 0

    • 宽度 → 1

    • 高度 → 1

    • 深度 → 1

  2. 设置 Emit_1 算子参数:

    • 类型 → 立方体

    • 坐标 → 0.5 0 0 0 0 0

    • 宽度 → 1

    • 高度 → 2

    • 深度 → 3

  3. 设置 Multiplexer 算子参数:

    • 类型 → 立方体

    • 输入数量 → 2

    • 立方体 → icon_visOn 可视

    • 选择器 → 1

步骤3:连接算子

image-20240823150932362

步骤4:运行

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

运行结果:

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

    image-20240823150956312

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

    image-20240823151021081

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

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

    image-20240823153018430

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

    image-20240823153040655

Image

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

算子参数

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

    • True:元素类型变为 image_list。

    • False:元素类型为 image。

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

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

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

    • icon_visOn 打开图像可视化。

    • icon_visOff 关闭图像可视化。

数据信号输入输出

输入:

  • 选择器

    • 数据类型:String

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

  • 图像_?

    • 数据类型:Image

    • 输入内容:图像数据

输出:

  • 图像

    • 数据类型:Image

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

功能演示

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

步骤1:算子准备

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

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 →图像

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

  2. 设置 Load_1 算子参数:

    • 类型 → 图像

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

  3. 设置 Multiplexer 算子参数:

    • 类型 → 图像

    • 输入数量 → 2

    • 图像 → icon_visOn 可视

步骤3:连接算子

image-20240823153741632

步骤4:运行

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

运行结果:

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

    image-20240823153759889

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

    basic_Multiplexer_image_result2

  3. 触发 Trigger_1 ,触发 Or 算子 输入_1 端口,因此 Multiplexer 右侧图像端口输出的是 图像 _1 的数据。

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

    image-20240823153823334

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

    basic_Multiplexer_image_result4

JointArray

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

算子参数

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

    • True:元素类型变为 joint_list。

    • False:元素类型为 joint。

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

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

数据信号输入输出

输入:

  • 选择器

    • 数据类型:String

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

  • 关节_?

    • 数据类型:JointArray

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

输出:

  • 关节

    • 数据类型:JointArray

    • 输出内容:

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

功能演示

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

PointCloud

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

算子参数

  • 是否为列表/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” 时,输入端口 点云_0 中的数据会作为输出端口点云的数据输出;selector 端口输入为 “1” 时对应输出 点云 _1 中的数据,以此类推。

功能演示

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

Pose

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

算子参数

  • 是否为列表/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 。

数据信号输入输出

输入:

  • 选择器

    • 数据类型:String

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

  • 坐标_?

    • 数据类型:Pose

    • 输入内容:pose 数据

输出:

  • 坐标

    • 数据类型:Pose

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

功能演示

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

String

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

算子参数

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

    • True:元素类型变为 string_list。

    • False:元素类型为 string。

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

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

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

    • icon_visOn 打开曝光。

    • icon_visOff 关闭曝光。

数据信号输入输出

输入:

  • 选择器

    • 数据类型:String

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

  • 字符串_?

    • 数据类型:String

    • 输入内容:string 数据

输出:

  • 字符串

    • 数据类型:String

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

功能演示

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

ImagePoints

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

算子参数

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

    • True:元素类型变为 image_points_list。

    • False:元素类型为 image_points 。

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

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

数据信号输入输出

输入:

  • 选择器

    • 数据类型:String

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

  • 图像点_?

    • 数据类型:ImagePoints

    • 输入内容:imagepoints 数据

输出:

  • 图像点

    • 数据类型:ImagePoints

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

功能演示

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