Name
set_calib_dataset_calib_dataSetCalibDataset_calib_dataSetCalibDataSetCalibData — Setzen von Parametern für das Kalibrierdatenmodell.
void SetCalibData(const HTuple& CalibDataID, const HTuple& ItemType, const HTuple& ItemIdx, const HTuple& DataName, const HTuple& DataValue)
void HCalibData::SetCalibData(const HString& ItemType, const HTuple& ItemIdx, const HString& DataName, const HTuple& DataValue) const
void HCalibData::SetCalibData(const HString& ItemType, Hlong ItemIdx, const HString& DataName, const HString& DataValue) const
void HCalibData::SetCalibData(const char* ItemType, Hlong ItemIdx, const char* DataName, const char* DataValue) const
static void HOperatorSet.SetCalibData(HTuple calibDataID, HTuple itemType, HTuple itemIdx, HTuple dataName, HTuple dataValue)
void HCalibData.SetCalibData(string itemType, HTuple itemIdx, string dataName, HTuple dataValue)
void HCalibData.SetCalibData(string itemType, int itemIdx, string dataName, string dataValue)
Mit dem Operator set_calib_dataset_calib_dataSetCalibDataset_calib_dataSetCalibDataSetCalibData können Daten im Kalibrierdatenmodell
CalibDataIDCalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataID gespeichert werden. Je nach Auswahl im Parameter
ItemTypeItemTypeItemTypeItemTypeItemTypeitemType, werden Modell-, Kamera- oder Kalibrierkörperposedaten,
oder Hand-Auge-Kalibrierdaten. Der Parameter ItemIdxItemIdxItemIdxItemIdxItemIdxitemIdx bezeichnet,
ob der neue Parameterwert für alle oder nur für einen Element gesetzt werden
soll. Die Daten, die geändert werden sollen, werden in DataNameDataNameDataNameDataNameDataNamedataName
eingegeben, ihre Werte in DataValueDataValueDataValueDataValueDataValuedataValue.
Modelldaten
Für ItemTypeItemTypeItemTypeItemTypeItemTypeitemType='model'"model""model""model""model""model" kann nur der Wert 'general'"general""general""general""general""general"
in ItemIdxItemIdxItemIdxItemIdxItemIdxitemIdx eingegeben werden. Je nach Auswahl in
DataNameDataNameDataNameDataNameDataNamedataName werden die folgenden Modellparameter auf den in
DataValueDataValueDataValueDataValueDataValuedataValue übergebenen Wert gesetzt:
- 'reference_camera'"reference_camera""reference_camera""reference_camera""reference_camera""reference_camera":
Referenzkamera für das Kalibrierdatenmodell. Alle 3D-Posen, sowohl für
die Kameras, als auch für die Kalibrierkörper, werden relativ
zu diesem Kamera-Koordinatensystem angegeben (siehe
get_calib_dataget_calib_dataGetCalibDataget_calib_dataGetCalibDataGetCalibData).
- 'optimization_method'"optimization_method""optimization_method""optimization_method""optimization_method""optimization_method":
Setzen der Optimierungsmethode für die Hand-Auge-Kalibrierung. Falls
DataValueDataValueDataValueDataValueDataValuedataValue='linear'"linear""linear""linear""linear""linear" gesetzt ist, wird eine lineare Methode
verwendet. Falls DataValueDataValueDataValueDataValueDataValuedataValue='nonlinear'"nonlinear""nonlinear""nonlinear""nonlinear""nonlinear" gesetzt ist, wird
eine nichtlineare Methode verwendet (siehe calibrate_hand_eyecalibrate_hand_eyeCalibrateHandEyecalibrate_hand_eyeCalibrateHandEyeCalibrateHandEye für
mehr Details).
Kameradaten
Mit ItemTypeItemTypeItemTypeItemTypeItemTypeitemType='camera'"camera""camera""camera""camera""camera" können Kalibrierungseinstellungen
entweder für alle Kameras oder für einzelnen Kameras gespeichert werden.
Mit ItemIdxItemIdxItemIdxItemIdxItemIdxitemIdx='general'"general""general""general""general""general" werden die neue Einstellungen als
Standardwert für alle Kameras im Modell gesetzt. Wenn dagegen ein gültiger
Kameraindex in ItemIdxItemIdxItemIdxItemIdxItemIdxitemIdx eingegeben wird, d.h. eine Zahl zwischen
0 und NumCameras-1 (NumCameras wird mit dem Erstellen
des Modells vom create_calib_datacreate_calib_dataCreateCalibDatacreate_calib_dataCreateCalibDataCreateCalibData festgesetzt), dann werden nur die
Einstellungen der ausgewählten Kamera geändert.
Beim Auswählen eines der folgenden Parameter in DataNameDataNameDataNameDataNameDataNamedataName kann
eingegeben werden, welche Kameraparameter optimiert werden sollen:
- 'calib_settings'"calib_settings""calib_settings""calib_settings""calib_settings""calib_settings":
Zu optimierende Kameraparameter.
- 'excluded_settings'"excluded_settings""excluded_settings""excluded_settings""excluded_settings""excluded_settings":
Von der Optimierung ausgeschlossene Kameraparameter.
Die folgenden Kameraparameter können in DataValueDataValueDataValueDataValueDataValuedataValue verwendet
werden:
Interne Kameraparameter
- 'focus'"focus""focus""focus""focus""focus":
Brennweite des Kameraobjektivs.
- 'kappa'"kappa""kappa""kappa""kappa""kappa":
Verzeichnungskoeffizient zur Modellierung der radialen Verzeichnung
mit dem Divisionsmodell (nur für Kameras von Typ
'area_scan_division' und 'area_scan_telecentric_division').
- 'k1'"k1""k1""k1""k1""k1",'k2'"k2""k2""k2""k2""k2",'k3'"k3""k3""k3""k3""k3":
Radiale Verzeichnungskoeffizienten zur Modellierung der Verzeichnung mit
dem Polynommodell (nur für Kameras
von Typ 'area_scan_polynomial' oder 'area_scan_telecentric_polynomial').
- 'poly_rad_2'"poly_rad_2""poly_rad_2""poly_rad_2""poly_rad_2""poly_rad_2",'poly_rad_4'"poly_rad_4""poly_rad_4""poly_rad_4""poly_rad_4""poly_rad_4",
'poly_rad_6'"poly_rad_6""poly_rad_6""poly_rad_6""poly_rad_6""poly_rad_6":
Radiale Verzeichnungskoeffizienten zur Modellierung der Verzeichnung mit
dem Polynommodell wie in
binocular_calibrationbinocular_calibrationBinocularCalibrationbinocular_calibrationBinocularCalibrationBinocularCalibration beschrieben (nur für Kameras
von Typ 'area_scan_polynomial' oder 'area_scan_telecentric_polynomial').
- 'poly_tan_2'"poly_tan_2""poly_tan_2""poly_tan_2""poly_tan_2""poly_tan_2":
Allgemeiner Parametername, der für alle tangentialen
Verzeichnungskoeffizienten des Polynommodells steht, d.h. für p1 and p2
(nur für Kameras
von Typ 'area_scan_polynomial' oder 'area_scan_telecentric_polynomial').
- 'poly'"poly""poly""poly""poly""poly":
Allgemeiner Parametername, der für alle
Verzeichnungskoeffizienten des Polynommodells steht, d.h. k1, k2, k3,
p1 und p2 (nur für Kameras
von Typ 'area_scan_polynomial' oder 'area_scan_telecentric_polynomial').
- 'cx'"cx""cx""cx""cx""cx",'cy'"cy""cy""cy""cy""cy":
Koordinaten des Kamerahauptpunktes (optisches Zentrum der radialen
Verzeichnung).
- 'principal_point'"principal_point""principal_point""principal_point""principal_point""principal_point":
Allgemeiner Parametername, der für 'cx'"cx""cx""cx""cx""cx" und 'cy'"cy""cy""cy""cy""cy"
steht.
- 'sx'"sx""sx""sx""sx""sx",'sy'"sy""sy""sy""sy""sy":
Zelldimensionen des Kamerasensors.
- 'params'"params""params""params""params""params":
Allgemeiner Parametername, der für alle internen Kameraparameter steht.
Externe Kameraparameter
- 'alpha'"alpha""alpha""alpha""alpha""alpha",'beta'"beta""beta""beta""beta""beta",'gamma'"gamma""gamma""gamma""gamma""gamma":
Rotationswerte der Kamerapose.
- 'transx'"transx""transx""transx""transx""transx",'transy'"transy""transy""transy""transy""transy",'transz'"transz""transz""transz""transz""transz":
Translationsvektor der Kamerapose.
- 'pose'"pose""pose""pose""pose""pose":
Allgemeiner Parametername, der für alle Kameraposeparameter
steht.
Weitere Kameraparameter
- 'vx'"vx""vx""vx""vx""vx",'vy'"vy""vy""vy""vy""vy",'vz'"vz""vz""vz""vz""vz":
Kamerabewegungsvektor (nur für Kameras von Typ 'line_scan').
- 'all'"all""all""all""all""all":
Allgemeiner Parametername, der für alle Kameraparameter, sowohl die
internen als auch die externen, steht.
Als Standardeinstellung werden alle Parameter zum Optimieren gekennzeichnet.
Eine Ausnahme davon ist es, wenn nur eine Kamera im Aufbau
kalibriert wird (NumCameras=1). Für diesen Fall wird die Kamerapose
von der Optimierung ausgeschlossen. Diese Sondereinstellung macht der
Kalibrierprozess identisch mit demjenigen vom camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration.
Daten zu den Kalibrierkörperposen
Mit ItemTypeItemTypeItemTypeItemTypeItemTypeitemType='calib_obj_pose'"calib_obj_pose""calib_obj_pose""calib_obj_pose""calib_obj_pose""calib_obj_pose" können
Kalibrierungseinstellungen für alle Posen oder aber auch für einzelnen
Posen der Kalibrierkörper eingestellt werden.
Mit ItemIdxItemIdxItemIdxItemIdxItemIdxitemIdx='general'"general""general""general""general""general" werden die neue Einstellungen als
Standardwert für alle Kalibrierkörperposen im Modell gesetzt. Wenn dagegen
ein gültiger Kalibrierkörperpose-Index, d.h. ein Tuple mit einem gültigen
Indexpaar [CalibObjIdx, CalibObjPoseIdx], in ItemIdxItemIdxItemIdxItemIdxItemIdxitemIdx
eingegeben wird, dann werden nur die Einstellungen der gekennzeichnete
Pose geändert.
Beim Auswählen eines der folgenden Parameter in DataNameDataNameDataNameDataNameDataNamedataName kann
eingegeben werden, welche Parameter der Kalibrierkörperpose optimiert
werden müssen:
- 'calib_settings'"calib_settings""calib_settings""calib_settings""calib_settings""calib_settings":
Zu optimierende Parameter der Kalibrierkörperpose.
- 'excluded_settings'"excluded_settings""excluded_settings""excluded_settings""excluded_settings""excluded_settings":
Von der Optimierung ausgeschlossene Parameter der Kalibrierkörperpose.
Die folgenden Poseparameter können im DataValueDataValueDataValueDataValueDataValuedataValue aufgelistet
werden:
- 'alpha'"alpha""alpha""alpha""alpha""alpha",'beta'"beta""beta""beta""beta""beta",'gamma'"gamma""gamma""gamma""gamma""gamma":
Rotationswerte der Kalibrierkörperpose.
- 'transx'"transx""transx""transx""transx""transx",'transy'"transy""transy""transy""transy""transy",'transz'"transz""transz""transz""transz""transz":
Translationsvektor der Kalibrierkörperpose.
- 'pose'"pose""pose""pose""pose""pose":
Allgemeiner Parametername, der für alle Poseparameter steht.
- 'all'"all""all""all""all""all":
Alle Kalibrierkörperparameter, d.h. dieselben wie 'pose'"pose""pose""pose""pose""pose".
Die aktuellen Einstellungen der Optimierungsparameter eines Elements können
mit get_calib_dataget_calib_dataGetCalibDataget_calib_dataGetCalibDataGetCalibData abgefragt werden.
Daten für Hand-Auge-Kalibrierung
Mittels ItemTypeItemTypeItemTypeItemTypeItemTypeitemType='tool'"tool""tool""tool""tool""tool", kann die Pose des Robotertools in
Roboterbasiskoordinaten gesetzt werden, die für die Beobachtung der
Kalibrierkörperpose mit demselben Index ItemIdxItemIdxItemIdxItemIdxItemIdxitemIdx benutzt wurde.
Wenn DataNameDataNameDataNameDataNameDataNamedataName='tool_in_base_pose'"tool_in_base_pose""tool_in_base_pose""tool_in_base_pose""tool_in_base_pose""tool_in_base_pose" gewählt wird, kann
in DataValueDataValueDataValueDataValueDataValuedataValue die Pose übergeben werden.
Ein Kalibrierdatenmodell CalibDataID kann nur von einem Thread aus
verwendet werden. Verschiedene Kalibrierdatenmodelle können dagegen in
unterschiedlichen Threads genutzt werden.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Handle des Kalibrierdatenmodells.
Typ des abgefragten Elements.
Defaultwert:
'model'
"model"
"model"
"model"
"model"
"model"
Werteliste: 'calib_obj_pose'"calib_obj_pose""calib_obj_pose""calib_obj_pose""calib_obj_pose""calib_obj_pose", 'camera'"camera""camera""camera""camera""camera", 'model'"model""model""model""model""model", 'tool'"tool""tool""tool""tool""tool"
Index des abgefragten Elements (je nach
Auswahl in ItemTypeItemTypeItemTypeItemTypeItemTypeitemType).
Defaultwert:
'general'
"general"
"general"
"general"
"general"
"general"
Wertevorschläge: 0, 1, 2, 'general'"general""general""general""general""general"
Name der zu setzenden Daten.
Defaultwert:
'reference_camera'
"reference_camera"
"reference_camera"
"reference_camera"
"reference_camera"
"reference_camera"
Werteliste: 'calib_settings'"calib_settings""calib_settings""calib_settings""calib_settings""calib_settings", 'excluded_settings'"excluded_settings""excluded_settings""excluded_settings""excluded_settings""excluded_settings", 'optimization_method'"optimization_method""optimization_method""optimization_method""optimization_method""optimization_method", 'reference_camera'"reference_camera""reference_camera""reference_camera""reference_camera""reference_camera", 'tool_in_base_pose'"tool_in_base_pose""tool_in_base_pose""tool_in_base_pose""tool_in_base_pose""tool_in_base_pose"
Werte der zu setzenden Daten.
Defaultwert: 0
Wertevorschläge: 0, 1, 2, 'all'"all""all""all""all""all", 'pose'"pose""pose""pose""pose""pose", 'params'"params""params""params""params""params", 'alpha'"alpha""alpha""alpha""alpha""alpha", 'beta'"beta""beta""beta""beta""beta", 'gamma'"gamma""gamma""gamma""gamma""gamma", 'transx'"transx""transx""transx""transx""transx", 'transy'"transy""transy""transy""transy""transy", 'transz'"transz""transz""transz""transz""transz", 'focus'"focus""focus""focus""focus""focus", 'kappa'"kappa""kappa""kappa""kappa""kappa", 'poly'"poly""poly""poly""poly""poly", 'poly_rad_2'"poly_rad_2""poly_rad_2""poly_rad_2""poly_rad_2""poly_rad_2", 'poly_rad_4'"poly_rad_4""poly_rad_4""poly_rad_4""poly_rad_4""poly_rad_4", 'poly_rad_6'"poly_rad_6""poly_rad_6""poly_rad_6""poly_rad_6""poly_rad_6", 'k1'"k1""k1""k1""k1""k1", 'k2'"k2""k2""k2""k2""k2", 'k3'"k3""k3""k3""k3""k3", 'poly_tan_2'"poly_tan_2""poly_tan_2""poly_tan_2""poly_tan_2""poly_tan_2", 'principal_point'"principal_point""principal_point""principal_point""principal_point""principal_point", 'cx'"cx""cx""cx""cx""cx", 'cy'"cy""cy""cy""cy""cy", 'sx'"sx""sx""sx""sx""sx", 'sy'"sy""sy""sy""sy""sy", 'vx'"vx""vx""vx""vx""vx", 'vy'"vy""vy""vy""vy""vy", 'vz'"vz""vz""vz""vz""vz", 'linear'"linear""linear""linear""linear""linear", 'nonlinear'"nonlinear""nonlinear""nonlinear""nonlinear""nonlinear"
* Here, the cell size is known exactly, thus it is excluded from
* the optimization.
set_calib_data (CalibDataID, 'camera', 'general', 'excluded_settings', \
['sx','sy'])
set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPoints,
find_calib_objectfind_calib_objectFindCalibObjectfind_calib_objectFindCalibObjectFindCalibObject
calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras,
calibrate_hand_eyecalibrate_hand_eyeCalibrateHandEyecalibrate_hand_eyeCalibrateHandEyeCalibrateHandEye
Calibration