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

Translate the origin of a 3D pose.

set_origin_pose translates the origin of the 3D pose PoseIn by the vector given by DX, DY, and DZ and returns the result in PoseNewOrigin. Note that the translation is performed relative to the coordinate system of the pose itself. For example, if PoseIn describes the pose of an object in camera coordinates, PoseNewOrigin is obtained by translating the object's coordinate system by DX 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:

                               / 1 0 0  DX \ 
 PoseNewOrigin   =  PoseIn  *  | 0 1 0  DY | 
                               | 0 0 1  DZ | 
                               \ 0 0 0  1 /

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_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_pose with the translation vector (0,0,D), where D is the thickness of the calibration plate.


Parameters

PoseIn (input_control)
pose-array -> real / integer
original 3D pose.
Number of elements: 7

DX (input_control)
real -> real
translation of the origin in x-direction.
Default value: 0

DY (input_control)
real -> real
translation of the origin in y-direction.
Default value: 0

DZ (input_control)
real -> real
translation of the origin in z-direction.
Default value: 0

PoseNewOrigin (output_control)
pose-array -> real / integer
new 3D pose after applying the translation.
Number of elements: 7


Result

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


Parallelization Information

set_origin_pose is reentrant and processed without parallelization.


Possible Predecessors

create_pose, hom_mat3d_to_pose, camera_calibration, hand_eye_calibration


Possible Successors

write_pose, pose_to_hom_mat3d, image_points_to_world_plane, contour_to_world_plane_xld


Module

Camera calibration



Copyright © 1996-2005 MVTec Software GmbH