set_calib_data_observ_pose
— Setzen von beobachteten Posen eines Kalibrierobjekts in
einem Kalibrierdatenmodell.
set_calib_data_observ_pose( : : CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, ObjInCameraPose : )
Für ein Kalibrierdatenmodell des Types
CalibSetup
='hand_eye_moving_cam' ,
'hand_eye_stationary_cam' , 'hand_eye_scara_moving_cam'
oder 'hand_eye_scara_stationary_cam' ohne Kalibrierobjekt
(siehe create_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_pose
, wird die
beobachtete Pose des Kalibrierobjektes im Kalibrierdatenmodell
CalibDataID
gespeichert. Eine Beobachtung der Pose besteht aus
den folgenden Daten:
CameraIdx
:Index der beobachtenden Kamera
CalibObjIdx
:Index des beobachteten Kalibrierobjektes
CalibObjPoseIdx
:
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 CalibObjIdx
bereits existiert, so wird die
entsprechende Pose durch die neue Pose ersetzt.
ObjInCameraPose
:Pose des beobachteten Kalibrierobjekts relative zur beobachtenden Kamera.
Da das Modell für Kalibrierdaten CalibDataID
einen
allgemeinen Sensor ohne Kalibrierobjekt verwendet (d.h. das Modell
wurde mit create_calib_data
mit NumCameras
=0 und
NumCalibObjects
=0 erzeugt), müssen sowohl
CameraIdx
als auch CalibObjIdx
auf 0 gesetzt
werden. Falls das Modell ein Kalibrierobjekt verwendet (d.h.
NumCameras
=1 und NumCalibObjects
=1), muss
stattdessen find_calib_object
oder
set_calib_data_observ_points
verwendet werden.
Die beobachteten Posen können mittels des Operators
get_calib_data_observ_pose
abgefragt werden, wobei die
gleichen Werte für die Argumente CameraIdx
,
CalibObjIdx
und CalibObjPoseIdx
zu setzen sind.
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.
CalibDataID
(input_control, Zustand wird modifiziert) calib_data →
(handle)
Handle des Kalibrierdatenmodells.
CameraIdx
(input_control) number →
(integer)
Index der beobachtenden Kamera.
Defaultwert: 0
Wertevorschläge: 0, 1, 2
CalibObjIdx
(input_control) number →
(integer)
Index des beobachteten Kalibrierobjekts.
Defaultwert: 0
Wertevorschläge: 0, 1, 2
CalibObjPoseIdx
(input_control) number →
(integer)
Index der Pose des beobachteten Kalibrierobjekts.
Defaultwert: 0
Wertevorschläge: 0, 1, 2
Restriktion: CalibObjPoseIdx >= 0
ObjInCameraPose
(input_control) pose →
(real / integer)
Gespeicherte beobachtete Poses des Kalibrierobjekts relativ zur beobachtenden Kamera.
Parameteranzahl: 7
find_marks_and_pose
,
set_calib_data_cam_param
,
set_calib_data_calib_object
set_calib_data
,
calibrate_cameras
Calibration