Transform 元素空间变换
Transform 算子用于元素空间变换,适用于 Pose 、Cube 、PointCloud 。
type | 功能 |
---|---|
Pose | pose 空间变换。 |
Cube | 立方体空间变化。 |
PointCloud | 点云空间变换。 |
Pose
将 Transform 算子的 类型
属性选择
Pose ,用于 pose 空间变换。Pose 以算子左侧输入端口 base 坐标为基础坐标系,平移旋转 relative 的量。 relative 矩阵左乘 base 矩阵所得到的矩阵即为
transform 所得 pose 的矩阵。
算子参数
-
倒置/invert
:-
True
:输出空间变换后的逆 pose 。 -
False
:输出空间变换后 pose 。
-
-
转换后坐标/transformed
:设置空间变换后的 pose 在 3D 视图中的可视化属性。-
打开 pose 可视化。
-
关闭 pose 可视化。
-
设置 pose 的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。
-
-
转换后坐标列表/transformed_list
:设置空间变换后的 pose 列表在 3D 视图中的可视化属性。值描述与 transformed 一致。
数据信号输入输出
输入:
说明:base / base_list 端口和 relative / relative_list 端口连接时,单个 base 可以和单个 relative 连接,也可以和 relative_list 连接。只需要连接两个端口即可。
-
base
:-
数据类型:Pose
-
输入内容:需要变换的坐标
-
-
relative
:-
数据类型:Pose
-
输入内容:相对坐标
-
-
base_list
:-
数据类型:PoseList
-
输入内容:需要变换的坐标列表
-
-
relative_list
:-
数据类型:PoseList
-
输入内容:相对坐标列表
-
输出:
-
transformed
:-
数据类型:Pose
-
输出内容:变换后坐标数据
-
-
transformed_list
:-
数据类型:PoseList
-
输出内容:变换后坐标列表数据
-
功能演示
使用 Transform 算子中将 Emit 生成的 pose 与 Emit_1 生成的 pose 二者进行空间转换。
步骤1:算子准备
添加 Trigger 、Emit 、Emit(2个) 、Transform 算子至算子图。
步骤2:设置算子参数
-
设置 Emit 算子参数:
-
类型 → Pose
-
坐标 → 0.2 0 0 0 0 0
-
坐标 → 可视
-
-
设置Emit _1算子参数:
-
类型 → Pose
-
坐标 → 0 0 0 0 1.5708 0
-
坐标 → 可视
-
-
设置 Transform 算子参数:
-
类型 → Pose
-
转换后坐标 → 可视
-
步骤3:连接算子
步骤4:运行
点击 RVS 运行按钮,触发 Trigger 算子。
运行结果
如下图所示,在 3D 视图中显示 Emit 和 Emit_1 结果和 Transformed 结果,其为 Emit 生成的 pose 与 Emit_1 生成的 pose ,前者矩阵左乘后者矩阵所得到的矩阵即为 transform 所得 pose 的矩阵。
Cube
将 Transform 算子的 类型
属性选择
Cube ,用于立方体空间变换。其变换的原理是以 Cube 的中心点 pose 为基础进行变换。
算子参数
-
倒置/invert
:-
True
:输出空间变换后的逆 pose 。 -
False
:输出空间变换后 pose 。
-
-
模式/mode
:设置 cube 位姿的模式。-
cube_base
:将 cube 位姿作为变换的坐标。 -
cube_relative
:将 cube 位姿作为相对的坐标。
-
-
立方体/cube
:设置空间变换后的 cube 在3D视图中的可视化属性。-
打开立方体可视化 。
-
关闭立方体可视化 。
-
设置 3D 视图中立方体的颜色。取值范围:[-2,360] 。默认值:-2 。
-
设置立方体的透明度。取值范围:[0,1] 。默认值:0.5
-
-
坐标/pose
:设置变换后立方体中心点 pose 在 3D 视图中的可视化属性。-
打开立方体中心点 pose 可视化。
-
关闭立方体中心点 pose 可视化。
-
设置立方体中心点 pose 的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。
-
-
立方体列表/cube_list
:设置 cube_list 的可视化属性,值描述与上述立方体
一致。 -
坐标列表/pose_list
:设置空间变换后的 pose 列表可视化属性。值描述与坐标
一致。
数据信号输入输出
说明:数据输入内容与属性面板中的 mode 模式相关。
输入:
-
cube
:-
数据类型:Cube
-
输入内容:当模式为 cube_base 时为变换的 cube,当模式为 cube_relative 时为相对的 cube
-
-
cube_list
:-
数据类型:Cube
-
输入内容:当模式为 cube_base 时为变换的 cubelist,当模式为 cube_relative 时为相对的 cubelist
-
-
pose
:-
数据类型:Pose
-
输入内容:当模式为 cube_base 时为相对的 pose,当模式为 cube_relative 时为变换的 pose
-
-
pose_list
:-
数据类型:PoseList
-
输入内容:当模式为 cube_base 时为相对的 poselist,当模式为 cube_relative 时为变换的 poselist
-
输出:
-
cube
:-
数据类型:Cube
-
输出内容:变换后立方体数据
-
-
cube_list
:-
数据类型:CubeList
-
输出内容:变换后立方体列表数据
-
-
pose
:-
数据类型:Pose
-
输出内容:变换后立方体中心点坐标
-
-
pose_list
:-
数据类型:PoseList
-
输出内容:变换后立方体中心点坐标列表
-
功能演示
使用 Transform 算子中 Cube 将加载的立方体进行空间变换。
步骤1:算子准备
添加 Trigger 、Emit、Load 、Transform 算子至算子图。
步骤2:设置算子参数
-
设置 Load 算子参数:
-
类型 → Cube
-
文件 → → 选择立方体文件名 ( example_data/cube/cube.txt )
-
立方体 → 可视
-
-
设置Emit 算子参数:
-
类型 → Pose
-
坐标 → 1 0 0 1.57 3.14 0
-
坐标 → 可视 → 1
-
-
设置 Transform 算子参数:
-
类型 → Cube
-
模式 → cube_base
-
立方体 → 可视 → 120
-
步骤3:连接算子
步骤4:运行
点击 RVS 运行按钮,触发 Trigger 算子。
运行结果
如下图所示,3D 视图中分别显示 cube 转换前后的对比图,灰色立方体为 Load 算子加载的 cube ,绿色立方体为 Transform 算子转换后的 cube 。pose 为 Emit 算子生成的 pose 。
PointCloud
将 Transform 算子的 类型
属性选择
PointCloud ,用于点云空间变换。其变换的原理是以点云的中心点 pose 为基础进行变换。
算子参数
-
点云/cloud
:设置空间变换后的点云在 3D 视图中的可视化属性。-
打开点云可视化。
-
关闭点云可视化。
-
设置 3D 视图中点云的颜色。取值范围:[-2,360] 。默认值:-1 。
-
设置点云中点的尺寸。取值范围:[1,50] 。默认值:1 。
-
-
点云列表/cloud_list
:设置点云列表在 3D 视图中的可视化属性。值描述与点云
一致。
数据信号输入输出
输入:
-
cloud
:-
数据类型:PointCloud
-
输入内容:需要变换的点云数据
-
-
cloud_list
:-
数据类型:CloudList
-
输入内容:需要变换的点云列表数据
-
-
pose
:-
数据类型:Pose
-
输入内容:相对坐标数据
-
-
pose_list
:-
数据类型:PoseList
-
输入内容:相对坐标列表数据
-
输出:
-
cloud
:-
数据类型:PointCloud
-
输出内容:变换后点云数据
-
-
cloud_list
:-
数据类型:PointCloudList
-
输出内容:变换后点云列表数据
-
功能演示
使用 Transform 算子中 PointCloud 将加载的点云进行空间变换。
步骤1:算子准备
添加 Trigger 、Load、Emit 、Transform 算子至算子图。
步骤2:设置算子参数
-
设置 Load 算子参数:
-
类型 → pointcloud
-
文件 → → 选择点云文件名( example_data/pointcloud/wolf1.pcd )
-
坐标 → 可视 → 280
-
-
设置Emit 算子参数:
-
类型 → Pose
-
坐标 → 1 2 0 1.57 3.14 0
-
坐标 → 可视 → 10
-
-
设置 Transform 算子参数:
-
类型 → PointCloud
-
点云 → 可视 → 60
-
步骤3:连接算子
步骤4:运行
点击 RVS 运行按钮,触发 Trigger 算子。
运行结果
如下图所示,3D 视图中分别显示点云转换前后的对比图,紫色点云为 Load 算子加载的点云,黄色点云为 Transform 算子转换后的点云,pose 为 Emit 算子生成的 pose。