公司动态
雷达的标定 --- 雷达到相机(Lidar2Cam)标定 和 雷达到本体(Lidar2Baselink)标定的相关原理以及实现步骤
目录一、雷达 - 相机Lidar2Cam标定1、整体原理2、分步完整流程1前置准备2步骤 1标定板规范摆放3步骤 2雷达端提取标定板平面点云3步骤 3相机端解算标定板视觉位姿4多组数据采集与优化求解5标定结果校验3、关键约束与特点4、相关的实现代码二、雷达 - 本体Lidar2Baselink标定1、整体原理2、分步完整流程1前置准备2步骤 1基准场景整平与标定板固定摆放3步骤 2人工测量基准位姿编辑4步骤 3雷达截取纯净标定板点云5步骤 4多帧点云采样优化6步骤 5结果落地与验证3、相关的实现代码三、雷达和相机 - 本体标定的异同1、相同点2、不同点四、激光雷达标定Lidar2Cam / Lidar2Base面试高频问题1、基础概念简答题2、流程实操高频题3、两类标定异同对比题4、故障排查踩坑题一、雷达 - 相机Lidar2Cam标定1、整体原理2、分步完整流程1前置准备相机提前完成内参 畸变标定获取相机内参矩阵 K、畸变系数 dist无准确内参会导致图像标定板位姿解算完全失真使用带 ArUco 码的 ChArUco 标定板板面平整刚性无形变雷达、相机均刚性固定在机器人本体无晃动偏移。2步骤 1标定板规范摆放将 ChArUco 标定板放置在雷达、相机共同视野内距离设备 1.2~2m调整支架使标定板对角线垂直地面板面正对设备保证雷达能打出完整板面点云、相机完整拍到整张标定板。3步骤 2雷达端提取标定板平面点云这里的空间坐标阈值框选范围应该怎么定先把雷达点云在x/y/z三个轴上可视化确认标定板大概处于什么范围。然后先给一个“粗框”把标定板连同附近少量背景一起框进来。这个框的原则是宁可略大不要太小否则容易把板角、边缘点裁掉。CropBox/AxisAlignedBoundingBox本身就是按一个盒子来保留盒内点。再在粗框结果上做“细框”或者平面分割。对 Lidar2Cam 来说通常先裁出标定板附近点云再用 RANSAC 拟合平面把最大的板面保留下来Open3D 的segment_plane(distance_threshold, ransac_n, num_iterations)就是干这个的。如果做的是 Lidar2BaseLink目标通常是“尽可能干净的标定板点云”所以框选范围要比 Lidar2Cam 更紧一些重点是去掉墙面、底座、支架和地面干扰。Open3D 的裁剪接口支持按盒子直接截取点云裁剪后再做平面提取或连通域筛选会更干净。一个经验原则是x 方向通常对应雷达前方距离先把板子所在的距离段圈住y 方向通常对应左右范围给板子左右留一点余量z 方向通常对应高度尽量只包住板子上下边界和少量误差。如果板子朝向变化大就不要只靠固定轴向阈值而要先把点云转换到“板子局部坐标系”再框选。这里最好写一个上位机可视化程标定工具对该空间坐标阈值框选范围进行框选和可视化。3步骤 3相机端解算标定板视觉位姿4多组数据采集与优化求解5标定结果校验3、关键约束与特点单姿态数学上可解但工程必须多帧降噪雷达平面拟合精度、相机角点精度是两大误差来源标定板必须同时完整出现在雷达视场、相机视场重叠区域。4、相关的实现代码这里最好集成一个上位机可视化程标定工具然后包含雷达端提取标定板平面点云空间坐标阈值框选范围以及标定。二、雷达 - 本体Lidar2Baselink标定1、整体原理2、分步完整流程1前置准备雷达刚性锁死在机器人机身 / 底盘运动无位移形变沿用同一块 ChArUco 标定板搭配激光水平仪、激光测距尺做基准测量。2步骤 1基准场景整平与标定板固定摆放墙面抵靠标定板激光水平仪对齐地面基准缝线调平标定板姿态保证板面竖直、中心线水平机器人整机正对标定板激光基准线穿过底盘中心线机器人停靠距离标定板 2~3m比相机 - 本体标定更远全程机器人站位不再移动。3步骤 2人工测量基准位姿4步骤 3雷达截取纯净标定板点云这里的“雷达截取纯净标定板点云”。它的重点不是“找平面”而是尽可能只保留标定板本身让后续你去做雷达到本体的外参求解时点云更干净。这类场景里框选范围一般比 Lidar2Cam 更紧因为你已经有了比较固定的安装场景雷达和机器人本体的位置关系也更稳定所以可以把板子周围的杂点压得更少。下面这个实现就是“先框选、再纯化”的写法。这里也是最好是有一个上位机可视化程标定工具方便进行截取纯净标定板点云。5步骤 4多帧点云采样优化6步骤 5结果落地与验证3、相关的实现代码这里最好集成一个上位机可视化程标定工具然后包含雷达截取纯净标定板点云以及标定。这里的雷达 - 本体Lidar2Baselink标定可以和上述的雷达 - 相机Lidar2Cam标定做出一个通用的上位机可视化程标定工具。三、雷达和相机 - 本体标定的异同1、相同点2、不同点四、激光雷达标定Lidar2Cam / Lidar2Base面试高频问题1、基础概念简答题1什么是 Lidar2Cam 标定核心目标与数学等式2Lidar2Base雷达到底盘标定是什么适用场景3Lidar2Cam 前置必备条件缺少会有什么误差答4Lidar2Cam 为什么优先 ChArUco 标定板不用纯棋盘格答ChArUco 带唯一 ArUco ID可区分标定板正反、无姿态翻转歧义局部遮挡仍能提取有效角点雷达点云残缺时依然可解算位姿单张图像直接输出完整 6D R/t纯棋盘格仅能求解单应矩阵无法独立求位姿。5外参包含哪 6 个自由度分别代表什么答3 轴平移X 前后、Y 左右、Z 高度3 轴旋转roll 横滚、pitch 俯仰、yaw 偏航合称 6DOF 刚体变换。2、流程实操高频题1Lidar2Cam 完整五步流程每一步作用答2雷达点云 CropBox 框选Lidar2Cam 和 Lidar2Base 框选策略区别答Lidar2Cam粗框宽松宁可多选背景避免裁掉标定板边角后续依靠 RANSAC 平面分割剔除杂点Lidar2Base框选范围收紧尽可能过滤地面、支架、墙面干扰保证只有标定板平面参与拟合提升基准精度。3雷达端如何提纯标定板点云分两步操作答轴向阈值粗裁剪根据 x/y/z 大致范围保留标定板区域RANSAC 平面分割设置距离阈值提取点数最多的平面剔除墙面、地面、支架离散噪点。4Lidar2Base 标定完整步骤和 Lidar2Cam 最大差异答5标定结果校验标准是什么怎么判断外参合格答3、两类标定异同对比题1Lidar2Cam 与 Lidar2Base 相同点答均依靠 ChArUco 平面标定板使用 RANSAC 拟合雷达平面获取板位姿数学底层都是链式坐标变换通过多帧最小二乘优化降低测距噪声硬件要求雷达刚性无位移标定板平整无弯曲形变都需要多姿态 / 多帧数据单帧求解噪声大、结果不可靠。2Lidar2Cam 与 Lidar2Base 核心不同点答对比维度Lidar2Cam雷达到相机Lidar2Base雷到底盘依赖传感器雷达 相机双传感器仅雷达无需相机约束来源同一块板在两个传感器下的位姿匹配人工测量标定板相对底盘固定基准标定板姿态需要 5~10 种不同角度、距离姿态机器人固定单站位标定板不动核心方程TcamlidarTcamboard⋅(Tlidarboard)−1TbaselidarTbaseboard⋅(Tlidarboard)−1适用场景多传感器融合、点云图像联合感知整车 / 机器人传感器机体外参、TF 发布4、故障排查踩坑题1标定完成后点云投影图像严重偏移排查顺序答核对相机内参 / 畸变是否准确重投影误差是否过大检查采集时标定板是否同时完整出现在雷达、相机视场确认多组数据姿态单一、平行平面过多矩阵约束奇异雷达 CropBox 裁剪过度标定板边缘点丢失平面拟合偏差硬件松动雷达 / 相机支架振动帧间位姿不一致。2雷达 RANSAC 拟合平面总混入地面杂点怎么优化 CropBox答缩小 z 轴高度上下阈值仅保留标定板垂直区间x 轴限定标定板前后距离过滤近处 / 远处地面点先做直通滤波剔除地面高度点再执行平面分割增大 RANSAC 距离阈值只保留高密度板面平面。3只采集 1~2 张标定板数据外参会出现什么问题答单组约束不足噪声会严重干扰 6DOF 求解平移、旋转出现大幅漂移必须至少 5 组不同倾斜、远近姿态才能构建充足约束。4答人工测距、角度偏差会作为全局常量叠加到最终雷达外参整车感知障碍物坐标持续偏移必须使用激光测距仪、水平仪降低测量误差。5雷达与相机时间不同步对标定有什么影响答