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
gesetzt. Der Parameter ItemIdxItemIdxItemIdxItemIdxItemIdxitemIdx bezeichnet, ob der neue
Parameterwert für alle oder nur für ein 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
Kalibriereinstellungen 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 von
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 Verzeichnung mit
dem Divisionsmodell (nur für Kameras vom Typ
'area_scan_division', 'area_scan_telecentric_division',
'area_scan_tilt_division' und
'area_scan_telecentric_tilt_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 vom Typ
'area_scan_polynomial', 'area_scan_telecentric_polynomial',
'area_scan_tilt_polynomial' und
'area_scan_telecentric_tilt_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 vom Typ
'area_scan_polynomial', 'area_scan_telecentric_polynomial',
'area_scan_tilt_polynomial' und
'area_scan_telecentric_tilt_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 vom Typ
'area_scan_polynomial', 'area_scan_telecentric_polynomial',
'area_scan_tilt_polynomial' und
'area_scan_telecentric_tilt_polynomial').
- 'tilt'"tilt""tilt""tilt""tilt""tilt":
Verkippung und Rotation des Tiltobjektivs (nur für Kameras
vom Typ 'area_scan_tilt_division',
'area_scan_telecentric_tilt_division',
'area_scan_tilt_polynomial' und
'area_scan_telecentric_tilt_polynomial').
- 'cx'"cx""cx""cx""cx""cx",'cy'"cy""cy""cy""cy""cy":
Koordinaten des Kamerahauptpunktes.
- '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":
Größe der Sensorelemente des Kamerasensors.
- 'params'"params""params""params""params""params":
Allgemeiner Parametername, der für alle internen Kameraparameter
steht.
Bitte beachten Sie, dass die Bezeichung Brennweite (Focus)
nicht ganz richtig ist, da der Parameter Focus im Allgemeinen
nicht der realen Brennweite entspricht, wenn die Objektweite nicht
unendlich ist. Der Einfachheit halber wird hier aber nicht
zwischen Brennweite und Bildweite unterschieden.
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
Kalibriereinstellungen 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 Tupel mit einem gültigen Indexpaar [CalibObjIdx,
CalibObjPoseIdx], in ItemIdxItemIdxItemIdxItemIdxItemIdxitemIdx eingegeben wird, werden nur
die Einstellungen der gekennzeichneten 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.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.
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_tan_2'"poly_tan_2""poly_tan_2""poly_tan_2""poly_tan_2""poly_tan_2", 'k1'"k1""k1""k1""k1""k1", 'k2'"k2""k2""k2""k2""k2", 'k3'"k3""k3""k3""k3""k3", 'tilt'"tilt""tilt""tilt""tilt""tilt", '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