KlassenKlassenKlassenKlassen | | | | Operatoren

create_calib_datacreate_calib_dataCreateCalibDatacreate_calib_dataCreateCalibDataCreateCalibData (Operator)

Name

create_calib_datacreate_calib_dataCreateCalibDatacreate_calib_dataCreateCalibDataCreateCalibData — Anlegen eines generischen HALCON-Kalibrierdatenmodells.

Signatur

create_calib_data( : : CalibSetup, NumCameras, NumCalibObjects : CalibDataID)

Herror create_calib_data(const char* CalibSetup, const Hlong NumCameras, const Hlong NumCalibObjects, Hlong* CalibDataID)

Herror T_create_calib_data(const Htuple CalibSetup, const Htuple NumCameras, const Htuple NumCalibObjects, Htuple* CalibDataID)

Herror create_calib_data(const HTuple& CalibSetup, const HTuple& NumCameras, const HTuple& NumCalibObjects, Hlong* CalibDataID)

void HCalibData::CreateCalibData(const HTuple& CalibSetup, const HTuple& NumCameras, const HTuple& NumCalibObjects)

void CreateCalibData(const HTuple& CalibSetup, const HTuple& NumCameras, const HTuple& NumCalibObjects, HTuple* CalibDataID)

void HCalibData::HCalibData(const HString& CalibSetup, Hlong NumCameras, Hlong NumCalibObjects)

void HCalibData::HCalibData(const char* CalibSetup, Hlong NumCameras, Hlong NumCalibObjects)

void HCalibData::CreateCalibData(const HString& CalibSetup, Hlong NumCameras, Hlong NumCalibObjects)

void HCalibData::CreateCalibData(const char* CalibSetup, Hlong NumCameras, Hlong NumCalibObjects)

void HOperatorSetX.CreateCalibData(
[in] VARIANT CalibSetup, [in] VARIANT NumCameras, [in] VARIANT NumCalibObjects, [out] VARIANT* CalibDataID)

void HCalibDataX.CreateCalibData(
[in] BSTR CalibSetup, [in] Hlong NumCameras, [in] Hlong NumCalibObjects)

static void HOperatorSet.CreateCalibData(HTuple calibSetup, HTuple numCameras, HTuple numCalibObjects, out HTuple calibDataID)

public HCalibData(string calibSetup, int numCameras, int numCalibObjects)

void HCalibData.CreateCalibData(string calibSetup, int numCameras, int numCalibObjects)

Beschreibung

Der Operator create_calib_datacreate_calib_dataCreateCalibDatacreate_calib_dataCreateCalibDataCreateCalibData erstellt ein generisches Modell für Kalibrierdaten. Das Modell speichert:

Im Parameter CalibSetupCalibSetupCalibSetupCalibSetupCalibSetupcalibSetup wird der generische Typ des Kalibrieraufbaus gesetzt. Derzeit werden fünf Typen unterstützt. Ein Modell vom Typ 'calibration_object'"calibration_object""calibration_object""calibration_object""calibration_object""calibration_object" wird benutzt um die internen Kameraparameter und -posen von einer oder mehreren Kameras anhand der metrische Information, die aus Beobachtungen von Kalibrierkörpern gemessen wird, zu kalibrieren.

Ein Modell vom Typ '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" wird benutzt um eine Hand-Auge-Kalibrierung basierend auf Beobachtungen eines Kalibrierkörpers und den zugehörigen Posen des Robotertools im Roboterbasiskoordinatensystem durchzuführen. Diese vier zuletzt genannten Modelle unterscheiden zum einen, ob die Kamera oder der Kalibrierkörper vom Roboter bewegt wird und zum anderen, ob ein anthropomorpher oder ein SCARA-Roboter kalibriert wird. Der Arm eines anthropomorphen Roboters hat 3 Drehgelenke, die typischerweise 6 Freiheitsgrade abdecken (3 Translationen und 3 Rotationen). SCARA-Roboter besitzen dagegen nur zwei parallele Drehgelenke und ein paralleles Schubgelenk, die nur 4 Freiheitsgrade (3 Translationen und 1 Rotation) abdecken. Grob gesagt ist ein anthropomorpher Roboter im Gegensatz zum SCARA-Roboter in der Lage, seinen Endeffektor zu verkippen.

NumCamerasNumCamerasNumCamerasNumCamerasNumCamerasnumCameras setzt die Anzahl der Kameras ein, die gleichzeitig im Aufbau kalibriert werden. NumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsnumCalibObjects setzt die Anzahl der Kalibrierkörper ein, die von den Kameras beobachtet werden. Bei Kamerakalibrierungen ist zu beachten, dass für telezentrische Flächenkameras, sowie für Zeilenkameras nur ein Kalibrierkörper unterstützt wird (NumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsnumCalibObjects=1). Bei Hand-Auge-Kalibrierungen ist zu beachten, dass derzeit nur zwei Setups unterstützt werden: eine Kamera (NumCamerasNumCamerasNumCamerasNumCamerasNumCamerasnumCameras=1) und ein Kalibrierkörper (NumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsnumCalibObjects=1) oder ein allgemeiner Sensor ohne Kalibrierobjekt (NumCamerasNumCamerasNumCamerasNumCamerasNumCamerasnumCameras=0, NumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsnumCalibObjects=0).

Der Ausgabeparameter CalibDataIDCalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataID gibt einen Handle des neuen Kalibrierdatenmodell zurück. Dieser Handle wird im Anschluß weiteren Operatoren übergeben, um die Aufbaubeschreibung, die Kalibriereinstellungen und -data ins Modell zu speichern. Für Kamerakalibrierungen wird der Handle in calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras eingegeben. Dieser führt die eigentliche Kamerakalibrierung aus und speichert die Kalibrierergebnisse wiederum im Modell. Für weitere Information über den Kalibrierprozess, siehe die Beschreibung vom Operator calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras. Für Hand-Auge-Kalibrierungen, wird der Handle an calibrate_hand_eyecalibrate_hand_eyeCalibrateHandEyecalibrate_hand_eyeCalibrateHandEyeCalibrateHandEye weitergegeben. Dieser führt die eigentliche Hand-Auge-Kalibrierung durch und speichert die Kalibriersergebnisse wiederum im Modell. Für weitere Information über den Kalibrierprozess, siehe die Beschreibung vom Operator calibrate_hand_eyecalibrate_hand_eyeCalibrateHandEyecalibrate_hand_eyeCalibrateHandEyeCalibrateHandEye.

Parallelisierung

Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.

Parameter

CalibSetupCalibSetupCalibSetupCalibSetupCalibSetupcalibSetup (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Generischer Typ des Kalibrieraufbaus.

Defaultwert: 'calibration_object' "calibration_object" "calibration_object" "calibration_object" "calibration_object" "calibration_object"

Werteliste: 'calibration_object'"calibration_object""calibration_object""calibration_object""calibration_object""calibration_object", '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_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", '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", 'hand_eye_stationary_cam'"hand_eye_stationary_cam""hand_eye_stationary_cam""hand_eye_stationary_cam""hand_eye_stationary_cam""hand_eye_stationary_cam"

NumCamerasNumCamerasNumCamerasNumCamerasNumCamerasnumCameras (input_control)  number HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Festgesetzte Anzahl der Kameras im Kalibrieraufbau.

Defaultwert: 1

Restriktion: NumCameras >= 0

NumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsnumCalibObjects (input_control)  number HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Festgesetzte Anzahl der Kalibrierkörper im Kalibrieraufbau.

Defaultwert: 1

Restriktion: NumCalibObjects >= 0

CalibDataIDCalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataID (output_control)  calib_data HCalibData, HTupleHTupleHCalibData, HTupleHCalibDataX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des Kalibriermodells.

Nachfolger

set_calib_data_cam_paramset_calib_data_cam_paramSetCalibDataCamParamset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParam, set_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObject

Modul

Calibration


KlassenKlassenKlassenKlassen | | | | Operatoren