算子使用指南
主要介绍如何查找算子、添加算子、删除算子、修改算子、查看算子属性等。
查找算子
在算子列表的搜索框中输入关键字(如下图红框),筛选所需要的算子。
在算子列表的算子库中选择算子库(如下图红框),筛选出所需要的算子。
查看算子在线文档
右击算子选择在线文档
,可导航至 RVS 在线文档中相应的算子说明章节。
添加算子至自定义
右击算子选择添加到自定义
,可将常用算子添加到自定义库中。
添加算子
方法一:在可用算子活动条形框中,使用鼠标左键长按算子词条,并将其拖动到算子图中即可完成添加。
方法二:找到算子词条,双击鼠标左键即可完成添加。
方法三:右击算子选择添加
按钮即可完成添加。
注意:若需要向算子图中的某个 Group 添加算子,只能用上述拖动算子的方法将所需算子拖入该 Group 中。
删除算子
步骤一:右击要删除的算子,弹出菜单栏,选择删除算子
或者快捷键(Delete)。
步骤二:弹出”删除”窗口,点击Yes
删除。点击Cancel
取消删除操作。
修改算子
修改算子包括重命名、选择类型、修改参数值。
算子重命名
方法一:选中需要重命名的算子,按住键盘F2
。
方法二:选中需要重命名的算子,双击属性面板中算子名称
属性,修改后回车确定。
选择类型
使用鼠标左键单击算子图中的算子,对应的算子属性将曝光在属性面板中。对于含有多种类型的算子,在使用前须先选择类型,如 Load 算子,当选择 Cube 类型后,可以在属性面板中对 Cube 的属性进行修改,算子图中也会显示对应的数据输入输出端口。
修改参数值
对于含有“目录/文件”属性的算子,在该属性处点击,会自动弹出“文件夹/文件”的选择对话框。
对于含有 pose 属性的算子,在该属性处可以在菜单中选择是否进行 复制/粘贴/重置 。
说明:若更改了算子输入输出端口的数量,需点击算子图左侧工具栏的"刷新"按钮才能重绘算子。
连接算子
RVS软件中的连接算子的目的是将不同的算子按照一定的逻辑顺序和数据流关系连接起来,形成一个完整的应用流程图。连接算子可以实现算子之间的数据传递和控制转移,从而实现复杂的功能和逻辑。
在 RVS 软件中,连接算子有两种类型:控制连接和数据连接。
-
控制连接
:指将一个算子的控制端口连接到另一个算子的控制端口,从而实现流程图的分支和循环等控制结构。 -
数据连接
:指将一个算子的输出端口连接到另一个算子的输入端口,从而实现数据的传输和处理。
连接控制信号
算子之间的控制端口连接,实现流程图的分支和循环等控制结构。橙色的 ▶ 为控制信号端口,左侧的 start 端口被触发以后,算子会自动运行一次。
算子运行完成后,则右侧的 finished 端口或 failed 端口会发出触发信号。
如下图中的 Trigger 和 Emit(cube) 算子,当触发 Trigger 算子后, Emit(cube) 算子会被触发。
说明:控制信号端口不区分类型类别,可以相互连接。
连接数据信号
用鼠标左键单击某个算子端口,不要释放鼠标,将鼠标拖动到所需连接的下一个端口处并释放鼠标,即可完成一次连接。
注意:算子的输出端口可以导出多条线连接到其他端口,但是其输入端口只能接受一个输入。算子端口不可以自连。
算子端口图标有▶ ■ ●三类,如下图所示。
天蓝色的 ■ ● 为数据信号端口,■ 为列表数据,● 为单个数据。数据端口有数据类型的区别,常用的类型包括点云 PointCloud 、图像 Image 、字符串 string 、姿态 pose 、立方体 cube 以及各自对应的列表数据如 PointCloudList 、ImageList 等。
说明:只有相同类型的数据端口才能相互连接。若将不同类型的数据信号连接时,会出现的日志中的红色报错,提示数据信号端口不能被连接。
注意:数据流和信号流只能向后流动,无法构成循环,当您需要循环时,请使用 Group 的 MirrorInput 和 MirrorOutput 端口,详见 Group 使用指南
连线技巧
算子连线删除/禁用
选中连接线后右键单击该连接线,出现菜单栏。
-
删除:删除该连线。快捷键:Delete。
-
禁用:选中该连线鼠标右击,选择
禁用
该连线,禁用后呈虚线状态。再次选中该连线鼠标右击,选中启用
可恢复连线。
更改连线的端口或更换算子,不必删除现有的连线并重新建立新的连线。按住Ctrl+左键拖动至需要的位置释放即可更改连线的端口。避免缩放视图来查找算子端口,更加方便快捷。
当需要连接相同数据类型端口算子时,按住Alt+左键拖动至同类型端口释放即可完成操作。避免缩放视图查找上一端口,快速连接算子。
运行算子
算子运行方式
运行算子分为两种方式,单次运行和正常运行。
单次运行:在 RVS 没有运行时,右击算子,弹出菜单栏,选择单次运行
或者快捷键 P,则算子运行一次。
算子运行成功如下图所示。
正常运行:点击 RVS 运行按钮,单击一次切换为运行中
,点击触发器
(Trigger)算子,触发后续算子。
算子运行成功如下图所示。
运行状态说明
算子有 5 种运行状态,可以通过算子的颜色来区分:
-
灰色:默认状态,该算子没有被触发。
-
绿色:该算子被触发并成功运行,此时算子的 finished 端口会发出触发信号。
-
蓝色:该算子已经被触发,并且在独立线程中持续运行,等待回复或者仍在计算过程中,常见于资源类算子以及名称中含有 Thread 的线程类算子。
-
黄色:该算子已经被触发,并且运行完成,但是没有获得预期的输出结果,此时该算子的 failed 端口会给出触发信号。
-
红色:该算子已经被触发,但是发生了严重错误,无法给出任何触发信号。
运行结果解说
算子的数据
RVS 程序运行时,如需查看算子某个端口的实际数据,可以将鼠标光标移动至对应端口处,停滞1秒后会自动弹出当前端口的数据信息,如下图所示。
下图中 Load 算子的类型为 Pose,输出的是 pose[数据类型]:x y z rx ry rz。
另外,还可以通过 Emit 算子来查看算子运行结果,将需要查看数据的输出端口连接到同数据类型的 Emit 算子的输入端口,进而可以在该 Emit 算子的属性栏中查看该输入数据的实际数值。用这种方法还可以更方便的进行数据的复制粘贴等操作。
对于含有数据输出端口的算子,比如 pointcloud 端口,其属性面板会有对应的可视化的可视化属性(图标 ),可以打开该属性来显示结果,关闭可以隐藏显示,默认隐藏显示。
如上图所示,对于点云(PointCloud)类型的数据输出端口,除了含有 的颜色显示属性,还含有一个 点尺寸属性,单位:m,表示每个显示点的大小。
注意:对于点云输出,如需设置其显示的点云颜色为真实色彩时,可以将对应的"颜色"属性设为 -2 ,此时只要点云数据类型是 XYZRGB,就会自动使用其包含的 RGB 数据进行色彩着色,还原点云的真实色彩信息。如果设置为 -1 ,表示显示颜色每次在0~360之间随机选择。
如上图所示,对于 cube 类型的数据输出端口:
:表示-2~360之间的着色范围。特别的,0为红色,120为绿色,240为蓝色,默认值:-2。
:透明度:范围:0~1,默认值:0.5。
如上图所示,对于 pose 类型的数据输出端口:
:尺寸的显示属性。单位:m,表示 pose 坐标轴的显示长度。范围:0.001~10。默认值:0.1。