ConvertPose 位姿转换

ConvertPose 算子作用于对位姿进行转换。

类型 功能
PoseToEuler pose 默认的旋转方式绕着 Z-Y-X 的顺序对固定轴进行旋转,PoseToEuler 算子用于将 pose 转换成欧拉角(绕着X-Y-Z的顺序对固定轴进行旋转)
EulerToPose 用于将欧拉角转换成 pose。
PoseToRotateVector 用于将 pose 转成旋转矢量。主要用于转换成优傲机器人所接受的表达方式。
RotateVectorToPose 用于将旋转矢量转成 pose 。
PoseToMatrix 用于将 pose 转换成变换矩阵。
MatrixToPose 用于将变换矩阵转换成 pose 。

PoseToEuler

将 ConvertPose 算子中 类型 设置为 PoseToEuler ,用于将 pose 转换成欧拉角(绕着 X - Y - Z 的顺序对固定轴进行旋转)

算子参数

  • 第一旋转轴/asix_1:调整旋转顺序,轴1 。默认值:X 。

  • 第二旋转轴/axis_2:调整旋转顺序,轴2 。默认值:Y 。

  • 第三旋转轴/axis_3:调整旋转顺序,轴3 。默认值:Z 。

    说明:三个轴的顺序表示旋转顺序,如上面的顺序表示为 X-Y-Z。

  • 欧拉角/euler:设置欧拉角在 3D 视图中的可视化属性。

    • icon_visOn 打开欧拉角可视化。

    • icon_visOff 关闭欧拉角可视化。

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

数据信号输入输出

输入:

  • pose

    • 数据类型:Pose

    • 输入内容:pose 数据 X 、Y 、Z 、yaw 、pitch 、roll

输出:

  • euler

    • 数据类型:Pose

    • 输出内容:欧拉角数据

功能演示

使用 ConvertPose 算子中 PoseToEuler 将加载的 pose 转换成欧拉角。

步骤1:算子准备

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

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → pose

    • 文件 → icon_more → 选择 pose 文件名( example_data/pose/tcp1.txt )

    • 坐标 → icon_visOn 可视

  2. 设置 ConvertPose 算子参数:

    • 类型 → PoseToEuler

    • 坐标 → icon_visOn 可视 → icon_size 0.2

步骤3:连接算子

3D_Convert_PoseToEuler_nodes

步骤4:运行

  1. 将 Load 算子和 Convert 的可视化结果分别与交互面板中输出工具——“坐标输出”控件进行绑定。

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

运行结果

如下图所示,在 3D 视图中看到两个算子的对比结果,在交互面板中控件显示已经完成了欧拉角切换。

3D_ConvertPose_PoseToEuler_result

EulerToPose

将 ConvertPose 算子中 类型 设置为 EulerToPose,用于将欧拉角转换成 pose。

算子参数

  • 第一旋转轴/axis_1:调整旋转顺序,轴 1 。默认值:X 。

  • 第二旋转轴/axis_2:调整旋转顺序,轴 2 。默认值:Y 。

  • 第三旋转轴/axis_3:调整旋转顺序,轴 3 。默认值:Z 。

    说明:三个轴的顺序表示旋转顺序,如上面的顺序表示为X - Y - Z。

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

    • icon_visOn 打开 pose 可视化。

    • icon_visOff 关闭 pose 可视化。

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

数据信号输入输出

输入:

  • euler

    • 数据类型:Pose

    • 输入内容:欧拉角

输出:

  • pose

    • 数据类型:Pose

    • 输出内容: pose 数据

功能演示

本节将使用 ConverPose 算子中 EulerToPose 将欧拉角转换为位姿。这与 PoseToEuler 中展现的位姿转换为欧拉角方法相同,请参照该章节的功能演示。

PoseToRotateVector

将 ConvertPose 算子中 类型 设置为 PoseToRotateVector,用于将位姿转成旋转矢量。主要用于转换成优傲机器人所接受的表达方式。

算子参数

  • 旋转矢量/rotate_vector:设置旋转矢量在3D视图中的可视化属性。

    • icon_visOn 打开旋转矢量可视化。

    • icon_visOff 关闭旋转矢量可视化。

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

数据信号输入输出

输入:

  • pose

    • 数据类型:Pose

    • 输入内容:pose 数据

输出:

  • rotate_vector

    • 数据类型:Pose

    • 输出内容:旋转矢量数据

功能演示

本节将使用 ConverPose 算子中 PoseToRotateVector 中将位姿转换为旋转矢量。这与 PoseToEuler 中展现的位姿转换为欧拉角方法相同,请参照该章节的功能演示。

RotateVectorToPose

将 ConvertPose 算子中 类型 设置为 RotateVectorToPose ,用于将旋转矢量转成 pose 。

算子参数

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

    • icon_visOn 打开 pose 可视化。

    • icon_visOff 关闭 pose 可视化。

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

数据信号输入输出

输入:

  • rotate_vector

    • 数据类型:Pose

    • 输入内容:旋转矢量数据

输出:

  • pose

    • 数据类型:Pose

    • 输出内容:pose 数据

功能演示

本节将使用 ConvertPose 算子中 RotateVectorToPose 中将旋转矢量转换为位姿 。这与 PoseToEuler 中展现的位姿转换为欧拉角方法相同,请参照该章节的功能演示。

PoseToMatrix

将 ConvertPose 算子中 类型 设置为 PoseToMatrix ,用于将 pose 转换成变换矩阵。

算子参数

  • m_0/1/2/4/5/6/8/9/10:转换后旋转矩阵的值。

  • m_3/7/11:转换后平移矩阵的值。

  • m_12/13/14:转换后缩放斜切的值,通常为 0 。

  • m_15:如果要平移坐标,要将坐标维度增加 1 ,变成齐次坐标。默认值 1 。

数据信号输入输出

输入:

  • pose

    • 数据类型:Pose

    • 输入内容:pose 的数据 X 、Y 、Z 、yaw 、pitch 、roll

功能演示

将 ConvertPose 算子中 类型 设置为 PoseToMatrix ,将加载的 pose 转换为变换矩阵。

步骤1:算子准备

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

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → pose

    • 文件 → icon_more → 选择 pose 文件名( example_data/pose/tcp1.txt )

  2. 设置 ConvertPose 算子参数:

    • 类型 → PoseToMatrix

步骤3:连接算子

3D_ConverPose_PoseToMatrix_nodes

步骤4:运行

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

运行结果

如下图所示,在属性面板中显示矩阵的值。

3D_ConvertPose_poseToMatrix_result

MatrixToPose

将 ConvertPose 算子中 类型 设置为 MatrixToPose ,用于将变换矩阵转换为 pose 。

算子参数

  • m_0/1/2/4/5/6/8/9/10:输入4x4 矩阵中旋转矩阵的值。

  • m__3/7/11:输入平移矩阵的值。

  • m_12/13/14:缩放斜切的值。默认值:0 。

  • m_15:如果要平移坐标,要将坐标维度增加1,变成齐次坐标。默认值:1 。

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

    • icon_visOn 打开 pose 可视化。

    • icon_visOff 关闭 pose 可视化。

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

数据信号输入输出

输出:

  • pose

    • 数据类型:Pose

    • 输出内容:位姿数据

功能演示

将 ConvertPose 算子中 类型 设置为 MatrixToPose ,将变换矩阵转换为位姿。

步骤1:算子准备

添加 Trigger 、ConvertPose 算子至算子图。

步骤2:设置算子参数

  1. 设置 ConvertPose 算子参数:

    • 类型 → MatrixToPose

    • m_? → 参照下图属性面板中的值设定

步骤3:连接算子

3D_ConvertPose_MatrixToPose_nodes

步骤4:运行

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

运行结果

如下图所示,3D 视图中显示变换矩阵转换后的 pose 和点击 3D 视图中的 pose ,属性面板中显示其对应的 pose 值。

3D_ConvertPose_MatrixToPose_result