ElementToPose 元素转 pose

ElementToPose 算子用于将元素或者元素中心点输出为 pose 或者 pose_list 。使用元素类型有:Cube 、Cylinder 、Path 。

ElementToPose 算子介绍视频教程

类型 功能
Cube 将 cube 或者 cube_list 中心点输出格式为 pose 或者 pose_list 。cube 的 Width/Height/Depth 作为 pose 的 X/Y/Z 轴方向。
Cylinder 将 cylinder 或者 cylinder_list 中心点输出格式为 pose 或者 pose_list 。cylinder 的 Length 作为 pose 的 Z 的方向。
Cloud 将 PointCloud 中的点输出格式为 pose_list, 可根据参考姿态(ref_pose)中 Roll、Pitch、Yaw 调整 pose_list 的旋转姿态。
Grasp /
Path 将 path 或者 path_list 中心点输出格式为 poselist 。

Cube

将 ElementToPose 算子 类型 属性选择 Cube ,用于将 cube 或者 cube_list 中心点输出格式为 pose 或者 pose_list 。cube 的Width-Height-Depth 作为 pose 的三个轴 X-Y-Z 的方向。

算子参数

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

    • icon_visOn 打开 pose 可视化。

    • icon_visOff 关闭 pose 可视化。

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

  • 坐标列表/pose_list:设置 pose 列表在 3D 视图中的可视化属性。参数值描述与 坐标 一致。

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • cube

    • 数据类型:Cube

    • 输入内容:立方体数据

  • cube_list

    • 数据类型:CubeList

    • 输入内容:立方体数据列表

输出:

  • pose

    • 数据类型:Pose

    • 输出内容:单个 pose 数据

  • pose_list

    • 数据类型:PoseList

    • 输出内容: pose 数据列表

功能演示

使用 ElementToPose 算子中 Cube ,将 cube 中心点输出格式为 pose 。

步骤1:算子准备

添加 Trigger 、Emit 、ElementToPose 算子至算子图。

步骤2:设置算子参数

  1. 设置 Emit 算子参数:

    • 类型 → Cube

    • 坐标 → 0 0 0 0 0 0

    • 宽度 → 1

    • 高度 → 1

    • 深度 → 1

    • 立方体 → icon_visOn 可视

  2. 设置 ElementToPose 算子参数:

    • 类型 → Cube

    • 坐标 → icon_visOn 可视

步骤3:连接算子

Basic_ElementToPose_Cube_Nodes

步骤4:运行

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

运行结果

结果如下图所示,3D 视图中显示加载的 cube 以及中心点 pose ,pose 的 X 轴的方向为 cube 的 width ,pose 的 Y 轴的方向为 cube 的 height ,pose 的Z 轴的方向为 cube 的 depth 。

Basic_ElementToPose_Cube_Result

Cylinder

选择 ElementToPose 算子中 Cylinder ,用于将 cylinder 或者 cylinder_list 中心点输出格式为 pose 或者 pose_list 。Cylinder 的 Length 作为 pose 的 Z 的方向。

算子参数

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

    • icon_visOn 打开 pose 可视化。

    • icon_visOff 关闭 pose 可视化。

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

  • 坐标列表/pose_list:设置 pose 列表在 3D 视图中的可视化属性。参数值描述与 坐标 一致

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • cylinder

    • 数据类型:Cylinder

    • 输入内容:圆柱体数据

  • cylinder_list

    • 数据类型:CylinderList

    • 输入内容:圆柱体数据列表

输出:

  • pose

    • 数据类型:Pose

    • 输出内容:单个 pose 数据

  • pose_list

    • 数据类型:PoseList

    • 输出内容: pose 数据列表

功能演示

本节将使用 ElementToPose 算子中 Cylinder ,将生成的 cylinder 中心点输出格式为 pose 。这与 ElementToPose算子中 cube 属性将 cube 中心点输出格式为 pose 或者 pose_list的方法相同,请参照该章节的功能演示。

Cloud

将ElementToPose 算子的类型属性选择Cloud,用于将 PointCloud 中的点输出格式为 pose_list, 可根据参考姿态(ref_pose)中 Roll、Pitch、Yaw 调整 pose_list 的旋转姿态。

算子参数

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

    • icon_visOn 打开 pose 列表可视化。

    • icon_visOff 关闭 pose 列表可视化。

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

数据信号输入输出

输入:

  • cloud

    • 数据类型:PointCloud

    • 输入内容:单个点云

  • ref_pose

    • 数据类型:pose

    • 输入内容:单个坐标

      说明:当连接 ref_pose 端口时,pose_list 的结果会根据左侧 ref_pose 输入的姿态进行调整。如果该端口没有连接数据,则默认使用姿态 Pose(0,0,0,0,0,0) 作为参考姿态。

输出:

  • pose_list

    • 数据类型:PoseList

    • 输出内容:坐标列表

功能演示

使用 ElementToPose 算子中 Cloud ,将 点云中的点输出为坐标列表,根据参考姿态(0,0,0,0.5,0,0)调整输出结果的姿态 。

步骤1:算子准备

添加 Trigger 、Load 、Emit、ElementToPose 算子至算子图。

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → PointCloud

    • 文件 → 选择点云文件名(example_data/pointcloud/line.pcd)

    • 点云 → icon_visOn 可视 → icon_size 2

  2. 设置 Emit 算子参数:

    • 类型 → Pose

    • 坐标 → 0 0 0 0.5 0 0

    • 坐标→ icon_visOn 可视 → icon_size 0.3

  3. 设置 ElementToPose 算子参数:

    • 类型 → PointCloud

    • 坐标列表 → icon_visOn 可视

步骤3:连接算子

image-20230822164046888

步骤4:运行

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

运行结果

结果如下图所示,左图显示的是 Load、Emit 算子结果,右图显示 ElementToPose 的结果。根据参考姿态(0,0,0,0.5,0,0),可以观察到坐标列表的调整。

image-20230822164812541

Path

将 ElementToPose 算子 类型 属性选择 Path ,用于将 path 或者 path_list 中的点输出格式为 poselist 。

算子参数

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

    • icon_visOn 打开 pose 列表可视化。

    • icon_visOff 关闭 pose 列表可视化。

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

数据信号输入输出

输入:

说明:根据需求选择其中一种数据信号输入即可。

  • path

    • 数据类型:Path

    • 输入内容:Path 数据

  • path_list

    • 数据类型:PathList

    • 输入内容:Path 数据列表

输出:

  • pose_list

    • 数据类型:PoseList

    • 输出内容: pose 数据列表

功能演示

使用 ElementToPose 算子中 Path ,将 path 中的点输出为 poselist 。

步骤1:算子准备

添加 Trigger 、Load 、ElementToPose 算子至算子图。

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → Path

    • 文件 →icon_more→ 选择 path 文件名 ( example_data/paths/path.txt:文件内容如下 )

    path

    • path → icon_visOn 可视

  2. 设置 ElementToPose 算子参数:

    • 类型 → Path

    • 坐标列表 → icon_visOn 可视

步骤3:连接算子

Basic_ElementToPose_Path_Nodes

步骤4:运行

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

运行结果

结果如下图所示,3D 视图中显示加载的 Path 以及转换后的点 pose 。

Basic_ElementToPose_Path_Result