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 视图中的可视化属性。-
打开欧拉角可视化。
-
关闭欧拉角可视化。
-
设置欧拉角的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。
-
数据信号输入输出
输入:
-
pose
:-
数据类型:Pose
-
输入内容:pose 数据 X 、Y 、Z 、RX 、RY 、RZ
-
输出:
-
euler
:-
数据类型:Pose
-
输出内容:欧拉角数据
-
功能演示
使用 ConvertPose 算子中 PoseToEuler 将加载的 pose 转换成欧拉角。
步骤1:算子准备
添加 Trigger 、Load 、ConvertPose 算子至算子图。
步骤2:设置算子参数
-
设置 Load 算子参数:
-
类型 → pose
-
文件 → → 选择 pose 文件名( example_data/pose/tcp1.txt )
-
坐标 → 可视
-
-
设置 ConvertPose 算子参数:
-
类型 → PoseToEuler
-
坐标 → 可视 → 0.2
-
步骤3:连接算子
步骤4:运行
-
将 Load 算子和 Convert 的可视化结果分别与交互面板中输出工具——“坐标输出”控件进行绑定。
-
点击 RVS 运行按钮,触发 Trigger 算子。
运行结果
如下图所示,在 3D 视图中看到两个算子的对比结果,在交互面板中控件显示已经完成了欧拉角切换。
EulerToPose
将 ConvertPose 算子中 类型
设置为
EulerToPose,用于将欧拉角转换成 pose。
算子参数
-
第一旋转轴/axis_1
:调整旋转顺序,轴 1 。默认值:X 。 -
第二旋转轴/axis_2
:调整旋转顺序,轴 2 。默认值:Y 。 -
第三旋转轴/axis_3
:调整旋转顺序,轴 3 。默认值:Z 。说明:三个轴的顺序表示旋转顺序,如上面的顺序表示为X - Y - Z。
-
坐标/pose
:设置 pose 在 3D 视图中的可视化属性。-
打开 pose 可视化。
-
关闭 pose 可视化。
-
设置 pose 的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。
-
数据信号输入输出
输入:
-
euler
:-
数据类型:Pose
-
输入内容:欧拉角
-
输出:
-
pose
:-
数据类型:Pose
-
输出内容: pose 数据
-
功能演示
本节将使用 ConverPose 算子中 EulerToPose 将欧拉角转换为位姿。这与 PoseToEuler 中展现的位姿转换为欧拉角方法相同,请参照该章节的功能演示。
PoseToRotateVector
将 ConvertPose 算子中 类型
设置为
PoseToRotateVector,用于将位姿转成旋转矢量。主要用于转换成优傲机器人所接受的表达方式。
算子参数
-
旋转矢量/rotate_vector
:设置旋转矢量在3D视图中的可视化属性。-
打开旋转矢量可视化。
-
关闭旋转矢量可视化。
-
设置旋转矢量的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。
-
数据信号输入输出
输入:
-
pose
:-
数据类型:Pose
-
输入内容:pose 数据
-
输出:
-
rotate_vector
:-
数据类型:Pose
-
输出内容:旋转矢量数据
-
功能演示
本节将使用 ConverPose 算子中 PoseToRotateVector 中将位姿转换为旋转矢量。这与 PoseToEuler 中展现的位姿转换为欧拉角方法相同,请参照该章节的功能演示。
RotateVectorToPose
将 ConvertPose 算子中 类型
设置为
RotateVectorToPose ,用于将旋转矢量转成 pose 。
算子参数
-
坐标/pose
:设置pose在3D视图中的可视化属性。-
打开 pose 可视化。
-
关闭 pose 可视化。
-
设置 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 、RX、RY、RZ
-
功能演示
将 ConvertPose 算子中 类型
设置为 PoseToMatrix ,将加载的 pose 转换为变换矩阵。
步骤1:算子准备
添加 Trigger、Load、ConvertPose 算子至算子图。
步骤2:设置算子参数
-
设置 Load 算子参数:
-
类型 → pose
-
文件 → → 选择 pose 文件名( example_data/pose/tcp1.txt )
-
-
设置 ConvertPose 算子参数:
-
类型 → PoseToMatrix
-
步骤3:连接算子
步骤4:运行
点击 RVS 运行按钮,触发 Trigger 算子。
运行结果
如下图所示,在属性面板中显示矩阵的值。
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 视图中的可视化属性。-
打开 pose 可视化。
-
关闭 pose 可视化。
-
设置 pose 的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。
-
数据信号输入输出
输出:
-
pose
:-
数据类型:Pose
-
输出内容:位姿数据
-
功能演示
将 ConvertPose 算子中 类型
设置为 MatrixToPose ,将变换矩阵转换为位姿。
步骤1:算子准备
添加 Trigger 、ConvertPose 算子至算子图。
步骤2:设置算子参数
-
设置 ConvertPose 算子参数:
-
类型 → MatrixToPose
-
m_? → 参照下图属性面板中的值设定
-
步骤3:连接算子
步骤4:运行
点击 RVS 运行按钮,触发 Trigger 算子。
运行结果
如下图所示,3D 视图中显示变换矩阵转换后的 pose 和点击 3D 视图中的 pose ,属性面板中显示其对应的 pose 值。