算子使用指南

主要介绍如何查找算子、添加算子、删除算子、修改算子、查看算子属性等。

查找算子

在算子列表的搜索框中输入关键字(如下图红框),筛选所需要的算子。

image-20240808160347415

在算子列表的算子库中选择算子库(如下图红框),筛选出所需要的算子。

image-20240808160603546

查看算子在线文档

右击算子选择在线文档,可导航至 RVS 在线文档中相应的算子说明章节。

image-20240808160713295

添加算子至自定义

右击算子选择添加到自定义,可将常用算子添加到自定义库中。

image-20240808160847167

添加算子

方法一:在可用算子活动条形框中,使用鼠标左键长按算子词条,并将其拖动到算子图中即可完成添加。

方法二:找到算子词条,双击鼠标左键即可完成添加。

方法三:右击算子选择添加按钮即可完成添加。

注意:若需要向算子图中的某个 Group 添加算子,只能用上述拖动算子的方法将所需算子拖入该 Group 中。

image-20240808160954380

删除算子

步骤一:右击要删除的算子,弹出菜单栏,选择删除算子或者快捷键(Delete)。

image-20240808161149096

步骤二:弹出”删除”窗口,点击Yes删除。点击Cancel取消删除操作。

image-20240808161310940

修改算子

修改算子包括重命名、选择类型、修改参数值。

算子重命名

方法一:选中需要重命名的算子,按住键盘F2

image-20240808161342895

方法二:选中需要重命名的算子,双击属性面板中算子名称属性,修改后回车确定。

image-20240808161413259

选择类型

使用鼠标左键单击算子图中的算子,对应的算子属性将曝光在属性面板中。对于含有多种类型的算子,在使用前须先选择类型,如 Load 算子,当选择 Cube 类型后,可以在属性面板中对 Cube 的属性进行修改,算子图中也会显示对应的数据输入输出端口。

load

修改参数值

对于含有“目录/文件”属性的算子,在该属性处点击icon_more,会自动弹出“文件夹/文件”的选择对话框。

image-20240808172117545

对于含有 pose 属性的算子,在该属性处可以在菜单中选择是否进行 复制/粘贴/重置 。

image-20240808173354363

说明:若更改了算子输入输出端口的数量,需点击算子图左侧工具栏的"刷新"按钮才能重绘算子。

连接算子

RVS软件中的连接算子的目的是将不同的算子按照一定的逻辑顺序和数据流关系连接起来,形成一个完整的应用流程图。连接算子可以实现算子之间的数据传递和控制转移,从而实现复杂的功能和逻辑。

在 RVS 软件中,连接算子有两种类型:控制连接和数据连接。

  • 控制连接:指将一个算子的控制端口连接到另一个算子的控制端口,从而实现流程图的分支和循环等控制结构。

  • 数据连接:指将一个算子的输出端口连接到另一个算子的输入端口,从而实现数据的传输和处理。

连接控制信号

算子之间的控制端口连接,实现流程图的分支和循环等控制结构。橙色的 为控制信号端口,左侧的 start 端口被触发以后,算子会自动运行一次。

算子运行完成后,则右侧的 finished 端口或 failed 端口会发出触发信号。

如下图中的 Trigger 和 Emit(cube) 算子,当触发 Trigger 算子后, Emit(cube) 算子会被触发。

说明:控制信号端口不区分类型类别,可以相互连接。

triggeremit

连接数据信号

用鼠标左键单击某个算子端口,不要释放鼠标,将鼠标拖动到所需连接的下一个端口处并释放鼠标,即可完成一次连接。

注意:算子的输出端口可以导出多条线连接到其他端口,但是其输入端口只能接受一个输入。算子端口不可以自连。

算子端口图标有 ■ ●三类,如下图所示。

image-20240809100124580

天蓝色的 ■ ● 为数据信号端口, 为列表数据, 为单个数据。数据端口有数据类型的区别,常用的类型包括点云 PointCloud 、图像 Image 、字符串 string 、姿态 pose 、立方体 cube 以及各自对应的列表数据如 PointCloudList 、ImageList 等。

说明:只有相同类型的数据端口才能相互连接。若将不同类型的数据信号连接时,会出现的日志中的红色报错,提示数据信号端口不能被连接。

image-20230602105827576

注意:数据流和信号流只能向后流动,无法构成循环,当您需要循环时,请使用 Group 的 MirrorInput 和 MirrorOutput 端口,详见 Group 使用指南

连线技巧

算子连线删除/禁用

选中连接线后右键单击该连接线,出现菜单栏。

  • m_Delete 删除:删除该连线。快捷键:Delete

  • m_enable_edge 禁用:选中该连线鼠标右击,选择禁用该连线,禁用后呈虚线状态。再次选中该连线鼠标右击,选中启用可恢复连线。

    image-20240809163406045

更改连线的端口或更换算子,不必删除现有的连线并重新建立新的连线。按住Ctrl+左键拖动至需要的位置释放即可更改连线的端口。避免缩放视图来查找算子端口,更加方便快捷。

image-20240809165117249

当需要连接相同数据类型端口算子时,按住Alt+左键拖动至同类型端口释放即可完成操作。避免缩放视图查找上一端口,快速连接算子。

image-20240809171916850

运行算子

算子运行方式

运行算子分为两种方式,单次运行和正常运行。

单次运行:在 RVS 没有运行时,右击算子,弹出菜单栏,选择单次运行或者快捷键 P,则算子运行一次。

image-20240809172114433

算子运行成功如下图所示。

image-20240809172402818

正常运行:点击 RVS 运行按钮,单击一次切换为运行中,点击触发器 (Trigger)算子,触发后续算子。

算子运行成功如下图所示。

image-20240809172506075

运行状态说明

算子有 5 种运行状态,可以通过算子的颜色来区分:

  • 灰色:默认状态,该算子没有被触发。

  • 绿色:该算子被触发并成功运行,此时算子的 finished 端口会发出触发信号。

  • 蓝色:该算子已经被触发,并且在独立线程中持续运行,等待回复或者仍在计算过程中,常见于资源类算子以及名称中含有 Thread 的线程类算子。

  • 黄色:该算子已经被触发,并且运行完成,但是没有获得预期的输出结果,此时该算子的 failed 端口会给出触发信号。

  • 红色:该算子已经被触发,但是发生了严重错误,无法给出任何触发信号。

image-20240809172704873

运行结果解说

算子的数据

RVS 程序运行时,如需查看算子某个端口的实际数据,可以将鼠标光标移动至对应端口处,停滞1秒后会自动弹出当前端口的数据信息,如下图所示。

下图中 Load 算子的类型为 Pose,输出的是 pose[数据类型]:x y z rx ry rz。

image-20240809173454516

另外,还可以通过 Emit 算子来查看算子运行结果,将需要查看数据的输出端口连接到同数据类型的 Emit 算子的输入端口,进而可以在该 Emit 算子的属性栏中查看该输入数据的实际数值。用这种方法还可以更方便的进行数据的复制粘贴等操作。

image-20240809173555763

对于含有数据输出端口的算子,比如 pointcloud 端口,其属性面板会有对应的可视化的可视化属性(m_visOn图标 ),可以打开该属性来显示结果,关闭可以隐藏显示,默认隐藏显示。

image-20240809173718707

如上图所示,对于点云(PointCloud)类型的数据输出端口,除了含有icon_color 的颜色显示属性,还含有一个icon_size 点尺寸属性,单位:m,表示每个显示点的大小。

注意:对于点云输出,如需设置其显示的点云颜色为真实色彩时,可以将对应的"颜色"属性设为 -2 ,此时只要点云数据类型是 XYZRGB,就会自动使用其包含的 RGB 数据进行色彩着色,还原点云的真实色彩信息。如果设置为 -1 ,表示显示颜色每次在0~360之间随机选择。

image-20240809173758402

如上图所示,对于 cube 类型的数据输出端口:

icon_color:表示-2~360之间的着色范围。特别的,0为红色,120为绿色,240为蓝色,默认值:-2。

icon_opacity:透明度:范围:0~1,默认值:0.5。

如上图所示,对于 pose 类型的数据输出端口:

icon_size:尺寸的显示属性。单位:m,表示 pose 坐标轴的显示长度。范围:0.001~10。默认值:0.1。