create_poseT_create_poseCreatePoseCreatePosecreate_pose创建姿态(算子)

名称

create_poseT_create_poseCreatePoseCreatePosecreate_pose — 创建三维姿态。

签名

create_pose( : : TransX, TransY, TransZ, RotX, RotY, RotZ, OrderOfTransform, OrderOfRotation, ViewOfTransform : Pose)

Herror T_create_pose(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 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)

def create_pose(trans_x: float, trans_y: float, trans_z: float, rot_x: float, rot_y: float, rot_z: float, order_of_transform: str, order_of_rotation: str, view_of_transform: str) -> Sequence[Union[int, float]]

描述

create_posecreate_poseCreatePoseCreatePoseCreatePosecreate_pose 用于创建三维 PosePosePosePoseposepose。姿态描述了一种刚体 3D 变换,即由任意平移和旋转组成的变换,包含 6 个参数: TransXTransXTransXTransXtransXtrans_xTransYTransYTransYTransYtransYtrans_yTransZTransZTransZTransZtransZtrans_z 分别指定沿 x、y 和 z 轴的平移,而 RotXRotXRotXRotXrotXrot_xRotYRotYRotYRotYrotYrot_yRotZRotZRotZRotZrotZrot_z 描述旋转。

三维姿态通常有两种用途:首先,用于描述一个坐标系相对于另一个坐标系的位置和方向(例如,零件坐标系相对于相机坐标系的姿态——简而言之:零件相对于相机的姿态);其次,用于描述两个坐标系之间坐标的转换方式(例如,将零件坐标系中的点转换为相机坐标系中的点)。

方向(旋转)的表示

围绕任意轴的三维旋转可以通过 3 个参数以多种方式表示。HALCON 允许您通过 OrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationorderOfRotationorder_of_rotation 参数在三种表示方式中进行选择:如果传入值 'gba'"gba""gba""gba""gba""gba",则该旋转由围绕三个轴的以下旋转链描述(有关旋转矩阵 的内容,请参阅 hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_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)

OrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationorderOfRotationorder_of_rotation 中传入 'abg'"abg""abg""abg""abg""abg" 时,旋转对应于以下链:

在文献中,

被称为“横滚Roll-俯仰Pitch-偏航Yaw”约定。

如果在 OrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationorderOfRotationorder_of_rotation 中传入 'rodriguez'"rodriguez""rodriguez""rodriguez""rodriguez""rodriguez",则旋转参数 RotXRotXRotXRotXrotXrot_xRotYRotYRotYRotYrotYrot_yRotZRotZRotZRotZrotZrot_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_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuataxis_angle_to_quat)来表示旋转。

相应的齐次变换矩阵

您可以使用算子 pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d 获取与某个姿态对应的齐次变换矩阵。根据标准定义,这是一个可拆分为两个独立矩阵的齐次变换矩阵,其中一个表示平移(H(T)),另一个表示旋转(H(R)):

坐标变换

以下方程描述了如何将一个点从坐标系 1(cs1)转换到坐标系 2(cs2),其中涉及一个姿态,或者更准确地说,涉及相应的齐次变换矩阵 (输入和输出点均为齐次向量,另请参阅 affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d)。请注意,要将点从 cs1 转换到 cs2,需使用描述 cs1 相对于 cs2 的姿态的变换矩阵。

这对应于以下算子调用:
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)

非标准姿态定义

到目前为止,我们介绍了标准姿态的定义。要创建此类姿态,请为参数 OrderOfTransformOrderOfTransformOrderOfTransformOrderOfTransformorderOfTransformorder_of_transform 选择(默认)值 'Rp+T'"Rp+T""Rp+T""Rp+T""Rp+T""Rp+T",并为 ViewOfTransformViewOfTransformViewOfTransformViewOfTransformviewOfTransformview_of_transform 选择 'point'"point""point""point""point""point"。通过为这些参数指定其他值,您可以创建非标准姿态类型,我们将在下文中简要介绍。请注意,这些表示类型仅出于向后兼容性而提供支持;我们强烈建议使用标准类型。

如果将 OrderOfTransformOrderOfTransformOrderOfTransformOrderOfTransformorderOfTransformorder_of_transform 设置为 'R(p-T)'"R(p-T)""R(p-T)""R(p-T)""R(p-T)""R(p-T)",生成的姿态将对应以下变换链,即旋转和平移的顺序被颠倒,且平移方向被反转:

如果将 ViewOfTransformViewOfTransformViewOfTransformViewOfTransformviewOfTransformview_of_transform 设置为 'coordinate_system'"coordinate_system""coordinate_system""coordinate_system""coordinate_system""coordinate_system",变换序列将保持不变,但旋转角度会被取反。请注意,尽管名称如此,这并不等同于对坐标系进行变换!

返回的数据结构

生成的三维姿态将通过 PosePosePosePoseposepose 返回,这是一个长度为 7 的元组。前三个元素存储平移参数 TransXTransXTransXTransXtransXtrans_xTransYTransYTransYTransYtransYtrans_yTransZTransZTransZTransZtransZtrans_z,随后是旋转参数 RotXRotXRotXRotXrotXrot_xRotYRotYRotYRotYrotYrot_yRotZRotZRotZRotZrotZrot_z。最后一个元素表示您通过参数 OrderOfTransformOrderOfTransformOrderOfTransformOrderOfTransformorderOfTransformorder_of_transformOrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationorderOfRotationorder_of_rotationViewOfTransformViewOfTransformViewOfTransformViewOfTransformviewOfTransformview_of_transform 所选定的姿态表示类型。下表列出了可能的组合。如前所述,我们建议仅使用 OrderOfTransformOrderOfTransformOrderOfTransformOrderOfTransformorderOfTransformorder_of_transform = 'Rp+T'"Rp+T""Rp+T""Rp+T""Rp+T""Rp+T"ViewOfTransformViewOfTransformViewOfTransformViewOfTransformviewOfTransformview_of_transform = 'point'"point""point""point""point""point" 的表示类型(代码分别为 0、2 和 4)。

OrderOfTransformOrderOfTransformOrderOfTransformOrderOfTransformorderOfTransformorder_of_transform 变换顺序 OrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationorderOfRotationorder_of_rotation 旋转顺序 ViewOfTransformViewOfTransformViewOfTransformViewOfTransformviewOfTransformview_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_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeConvertPoseTypeconvert_pose_type 将姿态转换为其他表示类型,并使用 get_pose_typeget_pose_typeGetPoseTypeGetPoseTypeGetPoseTypeget_pose_type 查询该类型。

执行信息

参数

TransXTransXTransXTransXtransXtrans_x (输入控制)  real HTuplefloatHTupleHtuple (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

TransYTransYTransYTransYtransYtrans_y (输入控制)  real HTuplefloatHTupleHtuple (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

TransZTransZTransZTransZtransZtrans_z (输入控制)  real HTuplefloatHTupleHtuple (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

RotXRotXRotXRotXrotXrot_x (输入控制)  real HTuplefloatHTupleHtuple (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

RotYRotYRotYRotYrotYrot_y (输入控制)  real HTuplefloatHTupleHtuple (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

RotZRotZRotZRotZrotZrot_z (输入控制)  real HTuplefloatHTupleHtuple (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

OrderOfTransformOrderOfTransformOrderOfTransformOrderOfTransformorderOfTransformorder_of_transform (输入控制)  string HTuplestrHTupleHtuple (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)"

OrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationorderOfRotationorder_of_rotation (输入控制)  string HTuplestrHTupleHtuple (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"

ViewOfTransformViewOfTransformViewOfTransformViewOfTransformviewOfTransformview_of_transform (输入控制)  string HTuplestrHTupleHtuple (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"

PosePosePosePoseposepose (输出控制)  pose HPose, HTupleSequence[Union[int, float]]HTupleHtuple (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_posecreate_poseCreatePoseCreatePoseCreatePosecreate_pose 在所有参数值正确时返回 2 (H_MSG_TRUE)。如有必要,则抛出异常。

可能的后继

pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d, write_posewrite_poseWritePoseWritePoseWritePosewrite_pose, camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibrationcamera_calibration, hand_eye_calibrationhand_eye_calibrationHandEyeCalibrationHandEyeCalibrationHandEyeCalibrationhand_eye_calibration

替代

read_poseread_poseReadPoseReadPoseReadPoseread_pose, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose

另见

hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate, convert_pose_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeConvertPoseTypeconvert_pose_type, get_pose_typeget_pose_typeGetPoseTypeGetPoseTypeGetPoseTypeget_pose_type, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d, write_posewrite_poseWritePoseWritePoseWritePosewrite_pose, read_poseread_poseReadPoseReadPoseReadPoseread_pose

模块

基础