set_calib_data_observ_poseT_set_calib_data_observ_poseSetCalibDataObservPoseSetCalibDataObservPoseset_calib_data_observ_pose (Operator)
Name
set_calib_data_observ_poseT_set_calib_data_observ_poseSetCalibDataObservPoseSetCalibDataObservPoseset_calib_data_observ_pose
— Set observed calibration object poses in a calibration data model.
Signature
Description
For a calibration data model of type
CalibSetup
='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", or
'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" with no calibration object (see
create_calib_datacreate_calib_dataCreateCalibDataCreateCalibDataCreateCalibDatacreate_calib_data
), the hand-eye calibration is based on so-called
observations of an arbitrary object in the camera coordinate system.
In the following this object will be called calibration object.
Additionally, the corresponding poses of the robot tool in the robot base
coordinate system must be known.
With set_calib_data_observ_poseset_calib_data_observ_poseSetCalibDataObservPoseSetCalibDataObservPoseSetCalibDataObservPoseset_calib_data_observ_pose
, you store an
observation of the calibration object pose in the calibration data model
CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id
. An observation of the calibration object pose
consists of the following data:
CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx
:
Index of the observing camera
CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx
:
Index of the observed calibration object
CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx
:
Index of the observed pose of the
calibration object. You can choose it freely, without following a strict
order. If you specify an index that already exists for the calibration
object CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx
, the corresponding observation data is
replaced by the new one.
ObjInCameraPoseObjInCameraPoseObjInCameraPoseObjInCameraPoseobjInCameraPoseobj_in_camera_pose
:
Pose of the observed calibration
object relative to observing camera.
Note that, since the model CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id
uses a general
sensor and no calibration object (i.e., the model was created by
create_calib_datacreate_calib_dataCreateCalibDataCreateCalibDataCreateCalibDatacreate_calib_data
with NumCameras
=0 and
NumCalibObjects
=0), both CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx
and
CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx
must be set to 0. If the model uses a camera
and an calibration object (i.e., NumCameras
=1 and
NumCalibObjects
=1), then find_calib_objectfind_calib_objectFindCalibObjectFindCalibObjectFindCalibObjectfind_calib_object
or
set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_points
must be used.
The observation pose data can be accessed later by calling
get_calib_data_observ_poseget_calib_data_observ_poseGetCalibDataObservPoseGetCalibDataObservPoseGetCalibDataObservPoseget_calib_data_observ_pose
using the same values for the
arguments CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx
, CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx
, and
CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx
.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
This operator modifies the state of the following input parameter:
During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.
Parameters
CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id
(input_control, state is modified) calib_data →
HCalibData, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of a calibration data model.
CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx
(input_control) number →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index of the observing camera.
Default value: 0
Suggested values: 0, 1, 2
CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx
(input_control) number →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index of the calibration object.
Default value: 0
Suggested values: 0, 1, 2
CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx
(input_control) number →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index of the observed calibration object.
Default value: 0
Suggested values: 0, 1, 2
Restriction: CalibObjPoseIdx >= 0
ObjInCameraPoseObjInCameraPoseObjInCameraPoseObjInCameraPoseobjInCameraPoseobj_in_camera_pose
(input_control) pose →
HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Pose of the observed calibration
object relative to the observing camera.
Number of elements: 7
Possible Predecessors
find_marks_and_posefind_marks_and_poseFindMarksAndPoseFindMarksAndPoseFindMarksAndPosefind_marks_and_pose
,
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
Possible Successors
set_calib_dataset_calib_dataSetCalibDataSetCalibDataSetCalibDataset_calib_data
,
calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras
Alternatives
find_calib_objectfind_calib_objectFindCalibObjectFindCalibObjectFindCalibObjectfind_calib_object
Module
Calibration