set_calib_data_observ_poseT_set_calib_data_observ_poseSetCalibDataObservPoseSetCalibDataObservPoseset_calib_data_observ_pose (算子)
名称
set_calib_data_observ_poseT_set_calib_data_observ_poseSetCalibDataObservPoseSetCalibDataObservPoseset_calib_data_observ_pose — 在标定数据模型中设置观测到的标定对象姿态。
签名
描述
For a calibration data model of type
CalibSetupCalibSetupCalibSetupCalibSetupcalibSetupcalib_setup='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 NumCamerasNumCamerasNumCamerasNumCamerasnumCamerasnum_cameras=0 and
NumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsnumCalibObjectsnum_calib_objects=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., NumCamerasNumCamerasNumCamerasNumCamerasnumCamerasnum_cameras=1 and
NumCalibObjectsNumCalibObjectsNumCalibObjectsNumCalibObjectsnumCalibObjectsnum_calib_objects=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。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
此算子修改后续输入参数的状态:
在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。
参数
CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id (输入控制,状态被修改) calib_data → HCalibData, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of a calibration data model.
CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx (输入控制) number → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index of the observing camera.
默认值:
0
建议值:
0, 1, 2
CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx (输入控制) number → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index of the calibration object.
默认值:
0
建议值:
0, 1, 2
CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx (输入控制) number → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index of the observed calibration object.
默认值:
0
建议值:
0, 1, 2
限制:
CalibObjPoseIdx >= 0
ObjInCameraPoseObjInCameraPoseObjInCameraPoseObjInCameraPoseobjInCameraPoseobj_in_camera_pose (输入控制) 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.
元素数量:
7
可能的前趋
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
可能的后继
set_calib_dataset_calib_dataSetCalibDataSetCalibDataSetCalibDataset_calib_data,
calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras
替代
find_calib_objectfind_calib_objectFindCalibObjectFindCalibObjectFindCalibObjectfind_calib_object
模块
标定