Extrinsic Calibration
- 又称: extrinsics, extrinsic parameters
- 类别: Foundations & spatial maths › Frames & transforms
- 标签: calibration, sensors, coordinate-frames, hand-eye, sensor-fusion
求出传感器相对于机器人或另一个传感器的刚体位姿,使测量值可以放到一个共享的坐标系中。
定义
外参标定(extrinsic calibration)估计传感器相对于某个参考的位置和姿态,即 SE(3) 中的一个刚体变换;这个参考可以是机器人基座、末端执行器、车体或另一个传感器。它与内参标定是分开的,后者对传感器内部发生的情况建模,例如相机的焦距或镜头畸变。没有准确的外参,相机检测到的点就无法被正确地放到机器人的坐标系中,多个传感器的数据也无法融合。
方法取决于所涉及的传感器。眼在手上相机描述的是相机安装在哪里;外参标定则是精确测量这个安装位置究竟把相机放在哪里的过程。对于装在机械臂上的相机,手眼标定让机械臂运动到许多位姿,同时相机观察一个固定的标定靶,然后求解方程 AX = XB,其中 A 和 B 是夹爪和相机的相对运动,X 是未知变换;Tsai 和 Lenz(1989)给出了一种被广泛使用的解法。同一个方程换用不同的项,也能处理固定相机观察由夹爪握持的标定靶的情况。相机到激光雷达的标定通常匹配两个传感器都能看到的标定靶特征,例如标定板的平面或边缘。相机到 IMU 的标定,例如 Kalibr 工具箱中的做法,从一段连续轨迹中估计传感器之间的变换和时间偏移。许多系统随后还会在状态估计器内部在线细化外参。
外参的小误差会产生大的影响。半度的角度误差会使 1 米外的一个点偏移将近 9 mm,这足以让一次抓取落空,或者让融合后的地图错位。CAD 数值可以作为起点,但很少与实际装配好的机器人一致,而且安装座会因冲击、温度和维护而发生移动。好的做法是在大范围的位姿上采集标定数据,在留出的数据上测量重投影误差或对齐误差来检验结果,并在任何机械改动之后重新检查。
为何重要
每一个把感知与运动或与其他传感器结合起来的机器人都依赖外参标定。它决定相机的检测结果是否落在夹爪要去的位置,激光雷达和相机数据是否对得上,以及融合后的状态估计是否一致。
主要应用
- 腕部安装相机和固定相机的手眼标定
- 车辆和移动机器人上的相机与激光雷达对齐
- 用于视觉惯性里程计的相机-IMU 标定
- 用于动作捕捉和 3D 重建的多相机装置
- 将固定相机配准到机器人工作单元
实际应用
一个实验室在机器人腕部安装一台深度相机用于抓取。他们打印一块 ChArUco 标定板,把它固定在桌上,然后让机械臂运动经过约 25 个覆盖不同旋转的位姿,在每个位姿记录由正运动学得到的末端执行器位姿和由相机得到的标定板位姿。手眼求解器返回相机到法兰的变换。为了验证,他们把多个腕部位姿下的深度图像融合成一个点云;标定良好时,桌面和物体能对齐,而标定不佳时表面会出现重影。他们还用夹爪尖端触碰标定板的角点,并把这些位置与相机的估计值进行比较,当误差在几毫米以内时就接受这次标定。
常见误解
- CAD 尺寸就足够好 — 制造公差和安装误差使实测外参与设计值不同
- 标定只需做一次 — 安装座会随时间移动,因此在受到冲击或硬件变更后应重新检查外参
- 外参标定和内参标定是同一个步骤 — 内参对传感器本身建模,外参对其位姿建模;如果联合求解,任何一方的误差都会污染另一方
- 只有空间变换才重要 — 对于运动中的传感器,数据流之间的时间偏移会造成与错误位姿类似的误差
谁需要了解
- 机器人感知和集成工程师
- 自动驾驶车辆传感器工程师
- 状态估计和 SLAM 开发者
- 搭建操作实验平台的研究人员
相关技术
- Kalibr
- OpenCV 手眼标定(OpenCV Hand-Eye Calibration)
- ChArUco 和 AprilTag 标定板(ChArUco and AprilTag Boards)
- MoveIt Calibration
- ROS tf2
相关术语
相关项目
- FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
- GTSAM: Factor-graph optimization library powering many modern SLAM backends
- AprilTag: The standard visual fiducial marker system for robot localization and pose estimation
- Gazebo: Industry-standard open-source robotics simulator with multi-physics and ROS integration
- image_pipeline: The standard ROS camera stack: calibration, rectification, stereo and depth
视频
- Camera Intrinsics and Extrinsics - 5 Minutes with Cyrill: Cyrill Stachniss
- OpenCV Python Camera Calibration (Intrinsic, Extrinsic, Distortion): Kevin Wood | Robotics & AI