create_pose T_create_pose CreatePose CreatePose create_pose 创建姿态(算子)
名称
create_pose T_create_pose CreatePose CreatePose create_pose — 创建三维姿态。
签名
void CreatePose (const HTuple& TransX , const HTuple& TransY , const HTuple& TransZ , const HTuple& RotX , const HTuple& RotY , const HTuple& RotZ , const HTuple& OrderOfTransform , const HTuple& OrderOfRotation , const HTuple& ViewOfTransform , HTuple* Pose )
void HPose ::HPose (double TransX , double TransY , double TransZ , double RotX , double RotY , double RotZ , const HString& OrderOfTransform , const HString& OrderOfRotation , const HString& ViewOfTransform )
void HPose ::HPose (double TransX , double TransY , double TransZ , double RotX , double RotY , double RotZ , const char* OrderOfTransform , const char* OrderOfRotation , const char* ViewOfTransform )
void HPose ::HPose (double TransX , double TransY , double TransZ , double RotX , double RotY , double RotZ , const wchar_t* OrderOfTransform , const wchar_t* OrderOfRotation , const wchar_t* ViewOfTransform )
(
Windows only)
void HPose ::CreatePose (double TransX , double TransY , double TransZ , double RotX , double RotY , double RotZ , const HString& OrderOfTransform , const HString& OrderOfRotation , const HString& ViewOfTransform )
void HPose ::CreatePose (double TransX , double TransY , double TransZ , double RotX , double RotY , double RotZ , const char* OrderOfTransform , const char* OrderOfRotation , const char* ViewOfTransform )
void HPose ::CreatePose (double TransX , double TransY , double TransZ , double RotX , double RotY , double RotZ , const wchar_t* OrderOfTransform , const wchar_t* OrderOfRotation , const wchar_t* ViewOfTransform )
(
Windows only)
static void HOperatorSet .CreatePose (HTuple transX , HTuple transY , HTuple transZ , HTuple rotX , HTuple rotY , HTuple rotZ , HTuple orderOfTransform , HTuple orderOfRotation , HTuple viewOfTransform , out HTuple pose )
public HPose (double transX , double transY , double transZ , double rotX , double rotY , double rotZ , string orderOfTransform , string orderOfRotation , string viewOfTransform )
void HPose .CreatePose (double transX , double transY , double transZ , double rotX , double rotY , double rotZ , string orderOfTransform , string orderOfRotation , string viewOfTransform )
描述
create_pose create_pose CreatePose CreatePose CreatePose create_pose 用于创建三维 Pose Pose Pose Pose pose pose 。姿态描述了一种刚体 3D 变换,即由任意平移和旋转组成的变换,包含 6 个参数: TransX TransX TransX TransX transX trans_x 、
TransY TransY TransY TransY transY trans_y 和 TransZ TransZ TransZ TransZ transZ trans_z 分别指定沿 x、y 和 z 轴的平移,而 RotX RotX RotX RotX rotX rot_x 、RotY RotY RotY RotY rotY rot_y 和 RotZ RotZ RotZ RotZ rotZ rot_z 描述旋转。
三维姿态通常有两种用途:首先,用于描述一个坐标系相对于另一个坐标系的位置和方向(例如,零件坐标系相对于相机坐标系的姿态——简而言之:零件相对于相机的姿态);其次,用于描述两个坐标系之间坐标的转换方式(例如,将零件坐标系中的点转换为相机坐标系中的点)。
方向(旋转)的表示
围绕任意轴的三维旋转可以通过 3 个参数以多种方式表示。HALCON 允许您通过 OrderOfRotation OrderOfRotation OrderOfRotation OrderOfRotation orderOfRotation order_of_rotation 参数在三种表示方式中进行选择:如果传入值 'gba' "gba" "gba" "gba" "gba" "gba" ,则该旋转由围绕三个轴的以下旋转链描述(有关旋转矩阵
的内容,请参阅 hom_mat3d_rotate hom_mat3d_rotate HomMat3dRotate HomMat3dRotate HomMat3dRotate hom_mat3d_rotate ):
在文献中,
被称为“偏航Yaw-俯仰Pitch-横滚Roll”约定。请注意,您可以有两种方式“读取”这个链:如果从右向左读,旋转总是相对于全局(即固定或“旧”)坐标系进行的。因此,
可以读取为:首先绕 z 轴旋转,然后绕“旧” y 轴旋转,最后绕“旧” x 轴旋转。相反,若从左向右读取,旋转操作则是相对于局部(即“新”)坐标系进行的。此时,
对应的操作顺序为:先绕 x 轴旋转,再绕“新” y 轴旋转,最后绕“(最)新” z 轴旋转。
从右向左读取
对应以下算子调用序列:
hom_mat3d_identity(HomMat3DIdent) hom_mat3d_identity(HomMat3DIdent) HomMat3dIdentity(HomMat3DIdent) HomMat3dIdentity(HomMat3DIdent) HomMat3dIdentity(HomMat3DIdent) hom_mat3d_identity(HomMat3DIdent)
hom_mat3d_rotate(HomMat3DIdent, RotZ, 'z', 0, 0, 0, HomMat3DRotZ) hom_mat3d_rotate(HomMat3DIdent, RotZ, "z", 0, 0, 0, HomMat3DRotZ) HomMat3dRotate(HomMat3DIdent, RotZ, "z", 0, 0, 0, HomMat3DRotZ) HomMat3dRotate(HomMat3DIdent, RotZ, "z", 0, 0, 0, HomMat3DRotZ) HomMat3dRotate(HomMat3DIdent, RotZ, "z", 0, 0, 0, HomMat3DRotZ) hom_mat3d_rotate(HomMat3DIdent, RotZ, "z", 0, 0, 0, HomMat3DRotZ)
hom_mat3d_rotate(HomMat3DRotZ, RotY, 'y', 0, 0, 0, HomMat3DRotYZ) hom_mat3d_rotate(HomMat3DRotZ, RotY, "y", 0, 0, 0, HomMat3DRotYZ) HomMat3dRotate(HomMat3DRotZ, RotY, "y", 0, 0, 0, HomMat3DRotYZ) HomMat3dRotate(HomMat3DRotZ, RotY, "y", 0, 0, 0, HomMat3DRotYZ) HomMat3dRotate(HomMat3DRotZ, RotY, "y", 0, 0, 0, HomMat3DRotYZ) hom_mat3d_rotate(HomMat3DRotZ, RotY, "y", 0, 0, 0, HomMat3DRotYZ)
hom_mat3d_rotate(HomMat3DRotYZ, RotX, 'x', 0, 0, 0, HomMat3DXYZ) hom_mat3d_rotate(HomMat3DRotYZ, RotX, "x", 0, 0, 0, HomMat3DXYZ) HomMat3dRotate(HomMat3DRotYZ, RotX, "x", 0, 0, 0, HomMat3DXYZ) HomMat3dRotate(HomMat3DRotYZ, RotX, "x", 0, 0, 0, HomMat3DXYZ) HomMat3dRotate(HomMat3DRotYZ, RotX, "x", 0, 0, 0, HomMat3DXYZ) hom_mat3d_rotate(HomMat3DRotYZ, RotX, "x", 0, 0, 0, HomMat3DXYZ)
相比之下,从左到右的读取对应于以下算子序列:
hom_mat3d_identity(HomMat3DIdent) hom_mat3d_identity(HomMat3DIdent) HomMat3dIdentity(HomMat3DIdent) HomMat3dIdentity(HomMat3DIdent) HomMat3dIdentity(HomMat3DIdent) hom_mat3d_identity(HomMat3DIdent)
hom_mat3d_rotate_local(HomMat3DIdent, RotX, 'x', HomMat3DRotX) hom_mat3d_rotate_local(HomMat3DIdent, RotX, "x", HomMat3DRotX) HomMat3dRotateLocal(HomMat3DIdent, RotX, "x", HomMat3DRotX) HomMat3dRotateLocal(HomMat3DIdent, RotX, "x", HomMat3DRotX) HomMat3dRotateLocal(HomMat3DIdent, RotX, "x", HomMat3DRotX) hom_mat3d_rotate_local(HomMat3DIdent, RotX, "x", HomMat3DRotX)
hom_mat3d_rotate_local(HomMat3DRotX, RotY, 'y', HomMat3DRotXY) hom_mat3d_rotate_local(HomMat3DRotX, RotY, "y", HomMat3DRotXY) HomMat3dRotateLocal(HomMat3DRotX, RotY, "y", HomMat3DRotXY) HomMat3dRotateLocal(HomMat3DRotX, RotY, "y", HomMat3DRotXY) HomMat3dRotateLocal(HomMat3DRotX, RotY, "y", HomMat3DRotXY) hom_mat3d_rotate_local(HomMat3DRotX, RotY, "y", HomMat3DRotXY)
hom_mat3d_rotate_local(HomMat3DRotXY, RotZ, 'z', HomMat3DXYZ) hom_mat3d_rotate_local(HomMat3DRotXY, RotZ, "z", HomMat3DXYZ) HomMat3dRotateLocal(HomMat3DRotXY, RotZ, "z", HomMat3DXYZ) HomMat3dRotateLocal(HomMat3DRotXY, RotZ, "z", HomMat3DXYZ) HomMat3dRotateLocal(HomMat3DRotXY, RotZ, "z", HomMat3DXYZ) hom_mat3d_rotate_local(HomMat3DRotXY, RotZ, "z", HomMat3DXYZ)
在 OrderOfRotation OrderOfRotation OrderOfRotation OrderOfRotation orderOfRotation order_of_rotation 中传入 'abg' "abg" "abg" "abg" "abg" "abg" 时,旋转对应于以下链:
在文献中,
被称为“横滚Roll-俯仰Pitch-偏航Yaw”约定。
如果在 OrderOfRotation OrderOfRotation OrderOfRotation OrderOfRotation orderOfRotation order_of_rotation 中传入 'rodriguez' "rodriguez" "rodriguez" "rodriguez" "rodriguez" "rodriguez" ,则旋转参数 RotX RotX RotX RotX rotX rot_x 、RotY RotY RotY RotY rotY rot_y 和 RotZ RotZ RotZ RotZ rotZ rot_z 将被解释为所谓罗德里格斯(Rodriguez)旋转向量的 x、y 和 z 分量。该向量的方向定义了(任意的)旋转轴。向量的长度通常定义了正向的旋转角度。此处使用的是罗德里格斯向量的一种变体,其中向量的长度定义了旋转角度一半的正切值:
请注意,这些三维姿态可能存在歧义,这意味着一个齐次变换矩阵可能对应多种姿态表示。例如,对于
且
的情况,以下姿态对应同一个齐次变换矩阵:
create_pose(0, 0, 0, 30, 90, 54, 'Rp+T', 'gba', 'point', Pose1) create_pose(0, 0, 0, 30, 90, 54, "Rp+T", "gba", "point", Pose1) CreatePose(0, 0, 0, 30, 90, 54, "Rp+T", "gba", "point", Pose1) CreatePose(0, 0, 0, 30, 90, 54, "Rp+T", "gba", "point", Pose1) CreatePose(0, 0, 0, 30, 90, 54, "Rp+T", "gba", "point", Pose1) create_pose(0, 0, 0, 30, 90, 54, "Rp+T", "gba", "point", Pose1)
create_pose(0, 0, 0, 17, 90, 67, 'Rp+T', 'gba', 'point', Pose2) create_pose(0, 0, 0, 17, 90, 67, "Rp+T", "gba", "point", Pose2) CreatePose(0, 0, 0, 17, 90, 67, "Rp+T", "gba", "point", Pose2) CreatePose(0, 0, 0, 17, 90, 67, "Rp+T", "gba", "point", Pose2) CreatePose(0, 0, 0, 17, 90, 67, "Rp+T", "gba", "point", Pose2) create_pose(0, 0, 0, 17, 90, 67, "Rp+T", "gba", "point", Pose2)
如果这会引发问题,您可以改用齐次变换矩阵或四元数(axis_angle_to_quat axis_angle_to_quat AxisAngleToQuat AxisAngleToQuat AxisAngleToQuat axis_angle_to_quat )来表示旋转。
相应的齐次变换矩阵
您可以使用算子 pose_to_hom_mat3d pose_to_hom_mat3d PoseToHomMat3d PoseToHomMat3d PoseToHomMat3d pose_to_hom_mat3d 获取与某个姿态对应的齐次变换矩阵。根据标准定义,这是一个可拆分为两个独立矩阵的齐次变换矩阵,其中一个表示平移(H(T)),另一个表示旋转(H(R)):
坐标变换
以下方程描述了如何将一个点从坐标系 1(cs 1)转换到坐标系 2(cs 2),其中涉及一个姿态,或者更准确地说,涉及相应的齐次变换矩阵
(输入和输出点均为齐次向量,另请参阅
affine_trans_point_3d affine_trans_point_3d AffineTransPoint3d AffineTransPoint3d AffineTransPoint3d affine_trans_point_3d )。请注意,要将点从 cs 1 转换到 cs 2,需使用描述 cs 1 相对于 cs 2 的姿态的变换矩阵。
这对应于以下算子调用:
pose_to_hom_mat3d(PoseOf1In2, HomMat3DFrom1In2) pose_to_hom_mat3d(PoseOf1In2, HomMat3DFrom1In2) PoseToHomMat3d(PoseOf1In2, HomMat3DFrom1In2) PoseToHomMat3d(PoseOf1In2, HomMat3DFrom1In2) PoseToHomMat3d(PoseOf1In2, HomMat3DFrom1In2) pose_to_hom_mat3d(PoseOf1In2, HomMat3DFrom1In2)
affine_trans_point_3d(HomMat3DFrom1In2, P1X, P1Y, P1Z, P2X, P2Y, P2Z) affine_trans_point_3d(HomMat3DFrom1In2, P1X, P1Y, P1Z, P2X, P2Y, P2Z) AffineTransPoint3d(HomMat3DFrom1In2, P1X, P1Y, P1Z, P2X, P2Y, P2Z) AffineTransPoint3d(HomMat3DFrom1In2, P1X, P1Y, P1Z, P2X, P2Y, P2Z) AffineTransPoint3d(HomMat3DFrom1In2, P1X, P1Y, P1Z, P2X, P2Y, P2Z) affine_trans_point_3d(HomMat3DFrom1In2, P1X, P1Y, P1Z, P2X, P2Y, P2Z)
非标准姿态定义
到目前为止,我们介绍了标准姿态的定义。要创建此类姿态,请为参数 OrderOfTransform OrderOfTransform OrderOfTransform OrderOfTransform orderOfTransform order_of_transform 选择(默认)值 'Rp+T' "Rp+T" "Rp+T" "Rp+T" "Rp+T" "Rp+T" ,并为 ViewOfTransform ViewOfTransform ViewOfTransform ViewOfTransform viewOfTransform view_of_transform 选择 'point' "point" "point" "point" "point" "point" 。通过为这些参数指定其他值,您可以创建非标准姿态类型,我们将在下文中简要介绍。请注意,这些表示类型仅出于向后兼容性而提供支持;我们强烈建议使用标准类型。
如果将 OrderOfTransform OrderOfTransform OrderOfTransform OrderOfTransform orderOfTransform order_of_transform 设置为 'R(p-T)' "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)" ,生成的姿态将对应以下变换链,即旋转和平移的顺序被颠倒,且平移方向被反转:
如果将 ViewOfTransform ViewOfTransform ViewOfTransform ViewOfTransform viewOfTransform view_of_transform 设置为 'coordinate_system' "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system" ,变换序列将保持不变,但旋转角度会被取反。请注意,尽管名称如此,这并不等同于对坐标系进行变换!
返回的数据结构
生成的三维姿态将通过 Pose Pose Pose Pose pose pose 返回,这是一个长度为 7 的元组。前三个元素存储平移参数 TransX TransX TransX TransX transX trans_x 、TransY TransY TransY TransY transY trans_y 和 TransZ TransZ TransZ TransZ transZ trans_z ,随后是旋转参数 RotX RotX RotX RotX rotX rot_x 、RotY RotY RotY RotY rotY rot_y 和 RotZ RotZ RotZ RotZ rotZ rot_z 。最后一个元素表示您通过参数 OrderOfTransform OrderOfTransform OrderOfTransform OrderOfTransform orderOfTransform order_of_transform 、OrderOfRotation OrderOfRotation OrderOfRotation OrderOfRotation orderOfRotation order_of_rotation 和 ViewOfTransform ViewOfTransform ViewOfTransform ViewOfTransform viewOfTransform view_of_transform 所选定的姿态表示类型。下表列出了可能的组合。如前所述,我们建议仅使用 OrderOfTransform OrderOfTransform OrderOfTransform OrderOfTransform orderOfTransform order_of_transform = 'Rp+T' "Rp+T" "Rp+T" "Rp+T" "Rp+T" "Rp+T" 且
ViewOfTransform ViewOfTransform ViewOfTransform ViewOfTransform viewOfTransform view_of_transform = 'point' "point" "point" "point" "point" "point" 的表示类型(代码分别为 0、2 和 4)。
OrderOfTransform OrderOfTransform OrderOfTransform OrderOfTransform orderOfTransform order_of_transform 变换顺序
OrderOfRotation OrderOfRotation OrderOfRotation OrderOfRotation orderOfRotation order_of_rotation 旋转顺序
ViewOfTransform ViewOfTransform ViewOfTransform ViewOfTransform viewOfTransform view_of_transform 变换视图
代码
'Rp+T' "Rp+T" "Rp+T" "Rp+T" "Rp+T" "Rp+T"
'gba' "gba" "gba" "gba" "gba" "gba"
'point' "point" "point" "point" "point" "point"
0
'Rp+T' "Rp+T" "Rp+T" "Rp+T" "Rp+T" "Rp+T"
'abg' "abg" "abg" "abg" "abg" "abg"
'point' "point" "point" "point" "point" "point"
2
'Rp+T' "Rp+T" "Rp+T" "Rp+T" "Rp+T" "Rp+T"
'rodriguez' "rodriguez" "rodriguez" "rodriguez" "rodriguez" "rodriguez"
'point' "point" "point" "point" "point" "point"
4
'Rp+T' "Rp+T" "Rp+T" "Rp+T" "Rp+T" "Rp+T"
'gba' "gba" "gba" "gba" "gba" "gba"
'coordinate_system' "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system"
1
'Rp+T' "Rp+T" "Rp+T" "Rp+T" "Rp+T" "Rp+T"
'abg' "abg" "abg" "abg" "abg" "abg"
'coordinate_system' "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system"
3
'Rp+T' "Rp+T" "Rp+T" "Rp+T" "Rp+T" "Rp+T"
'rodriguez' "rodriguez" "rodriguez" "rodriguez" "rodriguez" "rodriguez"
'coordinate_system' "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system"
5
'R(p-T)' "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)"
'gba' "gba" "gba" "gba" "gba" "gba"
'point' "point" "point" "point" "point" "point"
8
'R(p-T)' "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)"
'abg' "abg" "abg" "abg" "abg" "abg"
'point' "point" "point" "point" "point" "point"
10
'R(p-T)' "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)"
'rodriguez' "rodriguez" "rodriguez" "rodriguez" "rodriguez" "rodriguez"
'point' "point" "point" "point" "point" "point"
12
'R(p-T)' "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)"
'gba' "gba" "gba" "gba" "gba" "gba"
'coordinate_system' "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system"
9
'R(p-T)' "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)"
'abg' "abg" "abg" "abg" "abg" "abg"
'coordinate_system' "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system"
11
'R(p-T)' "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)"
'rodriguez' "rodriguez" "rodriguez" "rodriguez" "rodriguez" "rodriguez"
'coordinate_system' "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system"
13
您可以使用
convert_pose_type convert_pose_type ConvertPoseType ConvertPoseType ConvertPoseType convert_pose_type 将姿态转换为其他表示类型,并使用 get_pose_type get_pose_type GetPoseType GetPoseType GetPoseType get_pose_type 查询该类型。
执行信息
多线程类型:可重入(与非独占算子并行运行)。
多线程作用域:全局(可从任何线程调用)。
未采用并行化处理。
参数
TransX TransX TransX TransX transX trans_x (输入控制) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
沿 x 轴的平移(单位:[米])。
默认值:
0.1
建议值:
-1.0, -0.75, -0.5, -0.25, -0.2, -0.1, -0.5, -0.25, -0.125, -0.01, 0.0, 0.01, 0.125, 0.25, 0.5, 0.1, 0.2, 0.25, 0.5, 0.75, 1.0
TransY TransY TransY TransY transY trans_y (输入控制) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
沿 y 轴的平移(单位:[米])。
默认值:
0.1
建议值:
-1.0, -0.75, -0.5, -0.25, -0.2, -0.1, -0.5, -0.25, -0.125, -0.01, 0.0, 0.01, 0.125, 0.25, 0.5, 0.1, 0.2, 0.25, 0.5, 0.75, 1.0
TransZ TransZ TransZ TransZ transZ trans_z (输入控制) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
沿 z 轴的平移(单位:[米])。
默认值:
0.1
建议值:
-1.0, -0.75, -0.5, -0.25, -0.2, -0.1, -0.5, -0.25, -0.125, -0.01, 0.0, 0.01, 0.125, 0.25, 0.5, 0.1, 0.2, 0.25, 0.5, 0.75, 1.0
RotX RotX RotX RotX rotX rot_x (输入控制) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
绕 x 轴旋转,或罗德里格斯向量的 x 分量(单位为 [°] 或无单位)。
默认值:
90.0
建议值:
0.0, 90.0, 180.0, 270.0
值范围:
0
≤
RotX
RotX
RotX
RotX
rotX
rot_x
≤
360
RotY RotY RotY RotY rotY rot_y (输入控制) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
绕 y 轴旋转,或罗德里格斯向量的 y 分量(单位为 [°] 或无单位)。
默认值:
90.0
建议值:
0.0, 90.0, 180.0, 270.0
值范围:
0
≤
RotY
RotY
RotY
RotY
rotY
rot_y
≤
360
RotZ RotZ RotZ RotZ rotZ rot_z (输入控制) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
绕 z 轴旋转,或罗德里格斯向量的 z 分量(单位为 [°] 或无单位)。
默认值:
90.0
建议值:
0.0, 90.0, 180.0, 270.0
值范围:
0
≤
RotZ
RotZ
RotZ
RotZ
rotZ
rot_z
≤
360
OrderOfTransform OrderOfTransform OrderOfTransform OrderOfTransform orderOfTransform order_of_transform (输入控制) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
旋转和平移的顺序。
默认值:
'Rp+T'
"Rp+T"
"Rp+T"
"Rp+T"
"Rp+T"
"Rp+T"
建议值:
'Rp+T' "Rp+T" "Rp+T" "Rp+T" "Rp+T" "Rp+T" , 'R(p-T)' "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)" "R(p-T)"
OrderOfRotation OrderOfRotation OrderOfRotation OrderOfRotation orderOfRotation order_of_rotation (输入控制) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
旋转值的含义。
默认值:
'gba'
"gba"
"gba"
"gba"
"gba"
"gba"
建议值:
'gba' "gba" "gba" "gba" "gba" "gba" , 'abg' "abg" "abg" "abg" "abg" "abg" , 'rodriguez' "rodriguez" "rodriguez" "rodriguez" "rodriguez" "rodriguez"
ViewOfTransform ViewOfTransform ViewOfTransform ViewOfTransform viewOfTransform view_of_transform (输入控制) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
变换视图。
默认值:
'point'
"point"
"point"
"point"
"point"
"point"
建议值:
'point' "point" "point" "point" "point" "point" , 'coordinate_system' "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system" "coordinate_system"
Pose Pose Pose Pose pose pose (输出控制) pose → HPose , HTuple Sequence[Union[int, float]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
三维姿态。
元素数量:
7
示例(HDevelop)
* Create a pose.
create_pose (0.1, 0.2, 0.3, 40, 50, 60, 'Rp+T', 'gba', 'point', Pose)
示例(HDevelop)
* Create a pose.
create_pose (0.1, 0.2, 0.3, 40, 50, 60, 'Rp+T', 'gba', 'point', Pose)
示例(HDevelop)
* Create a pose.
create_pose (0.1, 0.2, 0.3, 40, 50, 60, 'Rp+T', 'gba', 'point', Pose)
示例(HDevelop)
* Create a pose.
create_pose (0.1, 0.2, 0.3, 40, 50, 60, 'Rp+T', 'gba', 'point', Pose)
示例(HDevelop)
* Create a pose.
create_pose (0.1, 0.2, 0.3, 40, 50, 60, 'Rp+T', 'gba', 'point', Pose)
结果
create_pose create_pose CreatePose CreatePose CreatePose create_pose 在所有参数值正确时返回 2 (H_MSG_TRUE )。如有必要,则抛出异常。
可能的后继
pose_to_hom_mat3d pose_to_hom_mat3d PoseToHomMat3d PoseToHomMat3d PoseToHomMat3d pose_to_hom_mat3d ,
write_pose write_pose WritePose WritePose WritePose write_pose ,
camera_calibration camera_calibration CameraCalibration CameraCalibration CameraCalibration camera_calibration ,
hand_eye_calibration hand_eye_calibration HandEyeCalibration HandEyeCalibration HandEyeCalibration hand_eye_calibration
替代
read_pose read_pose ReadPose ReadPose ReadPose read_pose ,
hom_mat3d_to_pose hom_mat3d_to_pose HomMat3dToPose HomMat3dToPose HomMat3dToPose hom_mat3d_to_pose
另见
hom_mat3d_rotate hom_mat3d_rotate HomMat3dRotate HomMat3dRotate HomMat3dRotate hom_mat3d_rotate ,
hom_mat3d_translate hom_mat3d_translate HomMat3dTranslate HomMat3dTranslate HomMat3dTranslate hom_mat3d_translate ,
convert_pose_type convert_pose_type ConvertPoseType ConvertPoseType ConvertPoseType convert_pose_type ,
get_pose_type get_pose_type GetPoseType GetPoseType GetPoseType get_pose_type ,
hom_mat3d_to_pose hom_mat3d_to_pose HomMat3dToPose HomMat3dToPose HomMat3dToPose hom_mat3d_to_pose ,
pose_to_hom_mat3d pose_to_hom_mat3d PoseToHomMat3d PoseToHomMat3d PoseToHomMat3d pose_to_hom_mat3d ,
write_pose write_pose WritePose WritePose WritePose write_pose ,
read_pose read_pose ReadPose ReadPose ReadPose read_pose
模块
基础