set_origin_poseT_set_origin_poseSetOriginPoseSetOriginPoseset_origin_pose (Operator)

Name

set_origin_poseT_set_origin_poseSetOriginPoseSetOriginPoseset_origin_pose — Verschieben des Ursprungs einer 3D-Lage (Pose).

Signatur

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]]

Beschreibung

set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPoseset_origin_pose verschiebt den Ursprung der 3D-Lage PoseInPoseInPoseInPoseInposeInpose_in um den Vektor, der durch die Parameter DXDXDXDXDXdx, DYDYDYDYDYdy und DZDZDZDZDZdz gegeben ist, und liefert das Ergebnis in PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOriginpose_new_origin zurück. Beachten Sie, dass diese Translation relativ zum lokalen Koordinatensystem der 3D-Lage selbst durchgeführt wird. Wenn z.B. PoseInPoseInPoseInPoseInposeInpose_in die Lage eines Objekts im Kamerakoordinatensystem beschreibt, erhält man PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOriginpose_new_origin durch Verschiebung des Objektkoordinatensystems um DXDXDXDXDXdx entlang seiner eigenen x-Achse (und so weiter für die anderen Achsen), und nicht entlang der x-Achse des Kamerakoordinatensystems. Dies entspricht der folgenden Transformationskette:

set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPoseset_origin_pose ist also eine Abkürzung für die folgende Sequenz von Operatoren:
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)

Eine typische Anwendung dieses Operators ist, wenn man ein Weltkoordinatensystem definiert, indem man die Standard-Kalibrierplatte auf die Messebene legt. In diesem Fall entsprechen die von camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibrationcamera_calibration zurückgelieferten externen Kameraparameter PoseInPoseInPoseInPoseInposeInpose_in einem Koordinatensystem, das über der Messebene liegt, da das Koordinatensystem der Kalibrierplatte auf deren Oberfläche liegt und die Platte eine gewisse Dicke hat. Zur Korrektur ruft man set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPoseset_origin_pose mit dem Translationsvektor (0,0,D) auf, wobei D der Dicke der Kalibrierplatte entspricht.

Ausführungsinformationen

Parameter

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

Ursprüngliche 3D-Lage (Pose).

Parameteranzahl: 7

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

Verschiebung des Ursprungs in x-Richtung.

Defaultwert: 0

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

Verschiebung des Ursprungs in y-Richtung.

Defaultwert: 0

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

Verschiebung des Ursprungs in z-Richtung.

Defaultwert: 0

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

Neue 3D-Lage nach Verschiebung des Ursprungs.

Parameteranzahl: 7

Ergebnis

Sind die Parameterwerte korrekt, dann liefert set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPoseset_origin_pose den Wert 2 (H_MSG_TRUE).

Vorgänger

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

Nachfolger

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

Siehe auch

hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_local

Modul

Foundation