create_calib_dataT_create_calib_dataCreateCalibDataCreateCalibDatacreate_calib_data (Operator)

Name

create_calib_dataT_create_calib_dataCreateCalibDataCreateCalibDatacreate_calib_data — Anlegen eines generischen HALCON-Kalibrierdatenmodells.

Signatur

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

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

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::HCalibData(const wchar_t* CalibSetup, Hlong NumCameras, Hlong NumCalibObjects)   (Nur Windows)

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

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

void HCalibData::CreateCalibData(const wchar_t* CalibSetup, Hlong NumCameras, Hlong NumCalibObjects)   (Nur Windows)

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)

def create_calib_data(calib_setup: str, num_cameras: int, num_calib_objects: int) -> HHandle

Beschreibung

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

Im Parameter CalibSetupCalibSetupCalibSetupCalibSetupcalibSetupcalib_setup 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.

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

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

Ausführungsinformationen

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

CalibSetupCalibSetupCalibSetupCalibSetupcalibSetupcalib_setup (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (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"

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

Gesetzte Anzahl der Kameras im Kalibrieraufbau.

Defaultwert: 1

Restriktion: NumCameras >= 0

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

Gesetzte Anzahl der Kalibrierkörper im Kalibrieraufbau.

Defaultwert: 1

Restriktion: NumCalibObjects >= 0

CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id (output_control)  calib_data HCalibData, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Kalibriermodells.

Nachfolger

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

Modul

Calibration