set_calib_data_observ_poseT_set_calib_data_observ_poseSetCalibDataObservPoseSetCalibDataObservPoseset_calib_data_observ_pose (Operator)

Name

set_calib_data_observ_poseT_set_calib_data_observ_poseSetCalibDataObservPoseSetCalibDataObservPoseset_calib_data_observ_pose — Setzen von beobachteten Posen eines Kalibrierobjekts in einem Kalibrierdatenmodell.

Signatur

set_calib_data_observ_pose( : : CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, ObjInCameraPose : )

Herror T_set_calib_data_observ_pose(const Htuple CalibDataID, const Htuple CameraIdx, const Htuple CalibObjIdx, const Htuple CalibObjPoseIdx, const Htuple ObjInCameraPose)

void SetCalibDataObservPose(const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx, const HTuple& ObjInCameraPose)

void HCalibData::SetCalibDataObservPose(Hlong CameraIdx, Hlong CalibObjIdx, Hlong CalibObjPoseIdx, const HPose& ObjInCameraPose) const

static void HOperatorSet.SetCalibDataObservPose(HTuple calibDataID, HTuple cameraIdx, HTuple calibObjIdx, HTuple calibObjPoseIdx, HTuple objInCameraPose)

void HCalibData.SetCalibDataObservPose(int cameraIdx, int calibObjIdx, int calibObjPoseIdx, HPose objInCameraPose)

def set_calib_data_observ_pose(calib_data_id: HHandle, camera_idx: int, calib_obj_idx: int, calib_obj_pose_idx: int, obj_in_camera_pose: Sequence[Union[float, int]]) -> None

Beschreibung

Für ein Kalibrierdatenmodell des Types CalibSetupCalibSetupCalibSetupCalibSetupcalibSetupcalib_setup='hand_eye_moving_cam'"hand_eye_moving_cam""hand_eye_moving_cam""hand_eye_moving_cam""hand_eye_moving_cam""hand_eye_moving_cam", 'hand_eye_stationary_cam'"hand_eye_stationary_cam""hand_eye_stationary_cam""hand_eye_stationary_cam""hand_eye_stationary_cam""hand_eye_stationary_cam", 'hand_eye_scara_moving_cam'"hand_eye_scara_moving_cam""hand_eye_scara_moving_cam""hand_eye_scara_moving_cam""hand_eye_scara_moving_cam""hand_eye_scara_moving_cam" oder 'hand_eye_scara_stationary_cam'"hand_eye_scara_stationary_cam""hand_eye_scara_stationary_cam""hand_eye_scara_stationary_cam""hand_eye_scara_stationary_cam""hand_eye_scara_stationary_cam" ohne Kalibrierobjekt (siehe create_calib_datacreate_calib_dataCreateCalibDataCreateCalibDataCreateCalibDatacreate_calib_data) basiert die Hand-Auge-Kalibrierung auf Beobachtungen der Pose eines beliebigen Objekts in einem Kamerakoordinatensystem. Im Folgenden wird dieses Objekt als Kalibrierobjekt bezeichnet. Zusätzlich müssen die korrespondierenden Posen des Roboter-Tools im Roboterbasiskoordinatensystem bekannt sein. Mittels set_calib_data_observ_poseset_calib_data_observ_poseSetCalibDataObservPoseSetCalibDataObservPoseSetCalibDataObservPoseset_calib_data_observ_pose, wird die beobachtete Pose des Kalibrierobjektes im Kalibrierdatenmodell CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id gespeichert. Eine Beobachtung der Pose besteht aus den folgenden Daten:

CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx:

Index der beobachtenden Kamera

CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx:

Index des beobachteten Kalibrierobjektes

CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx:

Index der beobachteten Pose des Kalibrierobjekts. Der Index kann beliebig gewählt werden ohne einer strengen Ordnung zu folgen. Falls ein Index gewählt wird, der für das Kalibrierobjekt CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx bereits existiert, so wird die entsprechende Pose durch die neue Pose ersetzt.

ObjInCameraPoseObjInCameraPoseObjInCameraPoseObjInCameraPoseobjInCameraPoseobj_in_camera_pose:

Pose des beobachteten Kalibrierobjekts relative zur beobachtenden Kamera.

Da das Modell für Kalibrierdaten CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id einen allgemeinen Sensor ohne Kalibrierobjekt verwendet (d.h. das Modell wurde mit create_calib_datacreate_calib_dataCreateCalibDataCreateCalibDataCreateCalibDatacreate_calib_data mit NumCamerasNumCamerasNumCamerasNumCamerasnumCamerasnum_cameras=0 und NumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsnumCalibObjectsnum_calib_objects=0 erzeugt), müssen sowohl CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx als auch CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx auf 0 gesetzt werden. Falls das Modell ein Kalibrierobjekt verwendet (d.h. NumCamerasNumCamerasNumCamerasNumCamerasnumCamerasnum_cameras=1 und NumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsnumCalibObjectsnum_calib_objects=1), muss stattdessen find_calib_objectfind_calib_objectFindCalibObjectFindCalibObjectFindCalibObjectfind_calib_object oder set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_points verwendet werden.

Die beobachteten Posen können mittels des Operators get_calib_data_observ_poseget_calib_data_observ_poseGetCalibDataObservPoseGetCalibDataObservPoseGetCalibDataObservPoseget_calib_data_observ_pose abgefragt werden, wobei die gleichen Werte für die Argumente CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx, CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx und CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx zu setzen sind.

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id (input_control, Zustand wird modifiziert)  calib_data HCalibData, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Kalibrierdatenmodells.

CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index der beobachtenden Kamera.

Defaultwert: 0

Wertevorschläge: 0, 1, 2

CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index des beobachteten Kalibrierobjekts.

Defaultwert: 0

Wertevorschläge: 0, 1, 2

CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index der Pose des beobachteten Kalibrierobjekts.

Defaultwert: 0

Wertevorschläge: 0, 1, 2

Restriktion: CalibObjPoseIdx >= 0

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

Gespeicherte beobachtete Poses des Kalibrierobjekts relativ zur beobachtenden Kamera.

Parameteranzahl: 7

Vorgänger

find_marks_and_posefind_marks_and_poseFindMarksAndPoseFindMarksAndPoseFindMarksAndPosefind_marks_and_pose, set_calib_data_cam_paramset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParamSetCalibDataCamParamset_calib_data_cam_param, set_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObjectSetCalibDataCalibObjectset_calib_data_calib_object

Nachfolger

set_calib_dataset_calib_dataSetCalibDataSetCalibDataSetCalibDataset_calib_data, calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras

Alternativen

find_calib_objectfind_calib_objectFindCalibObjectFindCalibObjectFindCalibObjectfind_calib_object

Modul

Calibration