set_origin_poseT_set_origin_poseSetOriginPoseSetOriginPoseset_origin_pose (Operator)

Name

set_origin_poseT_set_origin_poseSetOriginPoseSetOriginPoseset_origin_pose — Translate the origin of a 3D pose.

Signature

set_origin_pose( : : PoseIn, DX, DY, DZ : PoseNewOrigin)

Herror T_set_origin_pose(const Htuple PoseIn, const Htuple DX, const Htuple DY, const Htuple DZ, Htuple* PoseNewOrigin)

void SetOriginPose(const HTuple& PoseIn, const HTuple& DX, const HTuple& DY, const HTuple& DZ, HTuple* PoseNewOrigin)

HPose HPose::SetOriginPose(double DX, double DY, double DZ) const

static void HOperatorSet.SetOriginPose(HTuple poseIn, HTuple DX, HTuple DY, HTuple DZ, out HTuple poseNewOrigin)

HPose HPose.SetOriginPose(double DX, double DY, double DZ)

def set_origin_pose(pose_in: Sequence[Union[int, float]], dx: float, dy: float, dz: float) -> Sequence[Union[int, float]]

Description

set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPoseset_origin_pose translates the origin of the 3D pose PoseInPoseInPoseInPoseInposeInpose_in by the vector given by DXDXDXDXDXdx, DYDYDYDYDYdy, and DZDZDZDZDZdz and returns the result in PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOriginpose_new_origin. Note that the translation is performed relative to the local coordinate system of the pose itself. For example, if PoseInPoseInPoseInPoseInposeInpose_in describes the pose of an object in camera coordinates, PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOriginpose_new_origin is obtained by translating the object's coordinate system by DXDXDXDXDXdx along its own x-axis (and so on for the other axes) and not along the x-axis of the camera coordinate system. This corresponds to the following chain of transformations:

Thus, set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPoseset_origin_pose is a shortcut for the following sequence of operator calls:

pose_to_hom_mat3d(PoseIn, HomMat3DIn)pose_to_hom_mat3d(PoseIn, HomMat3DIn)PoseToHomMat3d(PoseIn, HomMat3DIn)PoseToHomMat3d(PoseIn, HomMat3DIn)PoseToHomMat3d(PoseIn, HomMat3DIn)pose_to_hom_mat3d(PoseIn, HomMat3DIn)
hom_mat3d_translate_local(HomMat3DIn, DX, DY, DZ, HomMat3DNewOrigin)hom_mat3d_translate_local(HomMat3DIn, DX, DY, DZ, HomMat3DNewOrigin)HomMat3dTranslateLocal(HomMat3DIn, DX, DY, DZ, HomMat3DNewOrigin)HomMat3dTranslateLocal(HomMat3DIn, DX, DY, DZ, HomMat3DNewOrigin)HomMat3dTranslateLocal(HomMat3DIn, DX, DY, DZ, HomMat3DNewOrigin)hom_mat3d_translate_local(HomMat3DIn, DX, DY, DZ, HomMat3DNewOrigin)
hom_mat3d_to_pose(HomMat3DNewOrigin, PoseNewOrigin)hom_mat3d_to_pose(HomMat3DNewOrigin, PoseNewOrigin)HomMat3dToPose(HomMat3DNewOrigin, PoseNewOrigin)HomMat3dToPose(HomMat3DNewOrigin, PoseNewOrigin)HomMat3dToPose(HomMat3DNewOrigin, PoseNewOrigin)hom_mat3d_to_pose(HomMat3DNewOrigin, PoseNewOrigin)

A typical application of this operator when defining a world coordinate system by placing the standard calibration plate on the plane of measurements. In this case, the external camera parameters returned by camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibrationcamera_calibration correspond to a coordinate system that lies above the measurement plane, because the coordinate system of the calibration plate is located on its surface and the plate has a certain thickness. To correct the pose, call set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPoseset_origin_pose with the translation vector (0,0,D), where D is the thickness of the calibration plate.

Execution Information

Parameters

PoseInPoseInPoseInPoseInposeInpose_in (input_control)  pose HPose, HTupleSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

original 3D pose.

Number of elements: 7

DXDXDXDXDXdx (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

translation of the origin in x-direction.

Default value: 0

DYDYDYDYDYdy (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

translation of the origin in y-direction.

Default value: 0

DZDZDZDZDZdz (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

translation of the origin in z-direction.

Default value: 0

PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOriginpose_new_origin (output_control)  pose HPose, HTupleSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

new 3D pose after applying the translation.

Number of elements: 7

Result

set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPoseset_origin_pose returns 2 (H_MSG_TRUE) if all parameter values are correct. If necessary, an exception is raised.

Possible Predecessors

create_posecreate_poseCreatePoseCreatePoseCreatePosecreate_pose, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose, camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibrationcamera_calibration, hand_eye_calibrationhand_eye_calibrationHandEyeCalibrationHandEyeCalibrationHandEyeCalibrationhand_eye_calibration

Possible Successors

write_posewrite_poseWritePoseWritePoseWritePosewrite_pose, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d, image_points_to_world_planeimage_points_to_world_planeImagePointsToWorldPlaneImagePointsToWorldPlaneImagePointsToWorldPlaneimage_points_to_world_plane, contour_to_world_plane_xldcontour_to_world_plane_xldContourToWorldPlaneXldContourToWorldPlaneXldContourToWorldPlaneXldcontour_to_world_plane_xld

See also

hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_local

Module

Foundation