Hand-Eye Robot-World Calibration

Base Class: HERWCalibrationBase

Script: scripts/calibration/herw.py

class excalibur.calibration.herw.Dornaika[source]
Simultaneous Robot-World and Hand-Eye Calibration
F. Dornaika and R. Horaud
IEEE Transactions on Robotics and Automation (Vol. 14, Issue 4), 1998
__abstractmethods__ = frozenset({})
__init__()[source]
__module__ = 'excalibur.calibration.herw.dornaika'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
static name()[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.DualQuaternionQCQPBase(normalize=False, **gen_args)[source]
Extrinsic Infrastructure Calibration Using the Hand-Eye Robot-World Formulation
T. Wodtko, M. Horn, M. Buchholz, and K. Dietmayer
IEEE Intelligent Vehicles Symposium (IV), 2023
property Mlist
property Q
__abstractmethods__ = frozenset({})
__init__(normalize=False, **gen_args)[source]
__module__ = 'excalibur.calibration.herw.qcqp_dq'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
property frame_ids
static name()[source]
set_Mlist(Mlist, frame_ids=None, weights=None)[source]
set_Q(Q, frame_ids=None)[source]
set_frame_ids(frame_ids)[source]
set_transform_data(data: List[HERWData]) None[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.DualQuaternionQCQPSeparableInit(**kwargs)[source]
property Mlist
property Q
__abstractmethods__ = frozenset({})
__init__(**kwargs)[source]
__module__ = 'excalibur.calibration.herw.qcqp_dq'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
configure(**kwargs)[source]
property frame_ids
static name()[source]
set_transform_data(data: List[HERWData]) None[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.DualQuaternionQCQPSeparableRANSACInit(nreps, rot_thresh, trans_thresh, seed=None, **kwargs)[source]
property Mlist
property Q
__abstractmethods__ = frozenset({})
__init__(nreps, rot_thresh, trans_thresh, seed=None, **kwargs)[source]
__module__ = 'excalibur.calibration.herw.qcqp_dq'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
_is_inlier(a, b, x, y)[source]
_select_inliers(herw_data, calib)[source]
configure(**kwargs)[source]
property frame_ids
static name()[source]
set_transform_data(data: List[HERWData]) None[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.DualQuaternionQCQPSignSampling(n_iter=1, n_samples=3, **kwargs)[source]
Extrinsic Infrastructure Calibration Using the Hand-Eye Robot-World Formulation
T. Wodtko, M. Horn, M. Buchholz, and K. Dietmayer
IEEE Intelligent Vehicles Symposium (IV), 2023
property Mlist
property Q
__abstractmethods__ = frozenset({})
__init__(n_iter=1, n_samples=3, **kwargs)[source]
__module__ = 'excalibur.calibration.herw.qcqp_dq'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
configure(**kwargs)[source]
property frame_ids
static name()[source]
set_transform_data(data: List[HERWData]) None[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.HERWCalibrationBase[source]
__abstractmethods__ = frozenset({'set_transforms'})
__module__ = 'excalibur.calibration.herw.base'
_abc_impl = <_abc_data object>
abstract set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.LiDQBase[source]
Simultaneous robot-world and hand-eye calibration using dual-quaternions and Kronecker product
A. Li, L. Wang and D. Wu
International Journal of the Physical Sciences (Vol. 5, Issue 10), 2010
property Mlist
__abstractmethods__ = frozenset({})
__init__()[source]
__module__ = 'excalibur.calibration.herw.li'
_abc_impl = <_abc_data object>
_calibrate(**_)[source]
static name()[source]
set_Mlist(Mlist, weights=None)[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.LiDQSignBruteForce(n_iter=1, n_samples=3)[source]
Simultaneous robot-world and hand-eye calibration using dual-quaternions and Kronecker product
A. Li, L. Wang and D. Wu
International Journal of the Physical Sciences (Vol. 5, Issue 10), 2010
__abstractmethods__ = frozenset({})
__init__(n_iter=1, n_samples=3)[source]
__module__ = 'excalibur.calibration.herw.li'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
configure(**kwargs)[source]
static name()[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.LiDQSignInitHM[source]
Simultaneous robot-world and hand-eye calibration using dual-quaternions and Kronecker product
A. Li, L. Wang and D. Wu
International Journal of the Physical Sciences (Vol. 5, Issue 10), 2010
__abstractmethods__ = frozenset({})
__init__()[source]
__module__ = 'excalibur.calibration.herw.li'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
configure(**kwargs)[source]
static name()[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.LiDQSignSampling(n_reps=1, n_samples=3)[source]
Simultaneous robot-world and hand-eye calibration using dual-quaternions and Kronecker product
A. Li, L. Wang and D. Wu
International Journal of the Physical Sciences (Vol. 5, Issue 10), 2010
__abstractmethods__ = frozenset({})
__init__(n_reps=1, n_samples=3)[source]
__module__ = 'excalibur.calibration.herw.li'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
configure(**kwargs)[source]
static name()[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.LiHM[source]
Simultaneous robot-world and hand-eye calibration using dual-quaternions and Kronecker product
A. Li, L. Wang and D. Wu
International Journal of the Physical Sciences (Vol. 5, Issue 10), 2010
__abstractmethods__ = frozenset({})
__init__()[source]
__module__ = 'excalibur.calibration.herw.li'
_abc_impl = <_abc_data object>
_calibrate(**_)[source]
static name()[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.SeparableHERWCalibration(hand_eye_name, frame2frame_name, hand_eye_kwargs=None, frame2frame_kwargs=None)[source]

Hand-eye robot-world calibration separated into hand-eye calibration and subsequent pose set registration.

__abstractmethods__ = frozenset({})
__init__(hand_eye_name, frame2frame_name, hand_eye_kwargs=None, frame2frame_kwargs=None)[source]
__module__ = 'excalibur.calibration.herw.separable'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
property is_multi
static name()[source]
set_transform_data(data: List[HERWData]) None[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
property transform_data
class excalibur.calibration.herw.Shah(**kwargs)[source]
Solving the robot-world/hand-eye calibration problem using the kronecker product
M. Shah
Journal of Mechanisms and Robotics (Vol. 5, Issue 3), 2013
__abstractmethods__ = frozenset({})
__init__(**kwargs)[source]
__module__ = 'excalibur.calibration.herw.shah'
_abc_impl = <_abc_data object>
_calibrate(**_)[source]
static name()[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.Tabb[source]
Solving the robot-world hand-eye(s) calibration problem with iterative methods
A. Tabb and K. M. A. Yousef
Machine Vision and Applications (Vol. 28, Issue 5), 2017
__abstractmethods__ = frozenset({})
__init__()[source]
__module__ = 'excalibur.calibration.herw.tabb'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
static name()[source]
set_transform_data(data: List[HERWData]) None[source]
set_transforms(transforms_a: TransformContainer, transforms_b: TransformContainer, weights: List | ndarray | None = None) None[source]
class excalibur.calibration.herw.Wang[source]
Accurate Calibration of Multi-Perspective Cameras from a Generalization of the Hand-Eye Constraint
Y. Wang, W. Jiang, K. Huang, S. Schwertfeger, and L. Kneip
IEEE International Conference on Robotics and Automation (ICRA), 2022
__abstractmethods__ = frozenset({})
__init__()[source]
__module__ = 'excalibur.calibration.herw.wang'
_abc_impl = <_abc_data object>
_calibrate(**kwargs)[source]
static name()[source]
set_transform_data(data: List[HERWData]) None[source]
set_transforms(transforms_a: TransformContainer | List, transforms_b: TransformContainer | List, weights: List | ndarray | None = None) None[source]