查看“标定激光雷达外参”的源代码
←
标定激光雷达外参
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
管理员
您可以查看和复制此页面的源代码。
= 一、前言 = == 1.1 目的 == 在 AMR/AGV 的设计和应用中,激光雷达作为核心传感器之一,承担着环境感知和导航定位的关键角色。激光雷达的精确度直接影响到机器人的导航性能和路径规划的准确性。因此,对激光雷达进行精确的标定是实现高效、安全机器人操作的前提。 本文档以差速底盘(KIVA)为例,介绍一种针对单线激光雷达的标定方法。标定的主要目标是确定激光雷达相对于机器人运动中心的确切位置和方向,即激光雷达的外参。具体目标包括: * 精确定位:确保激光雷达的测量数据能够准确地反映机器人周围的环境。 * 数据融合:对于使用双激光雷达的底盘,能够以标定好的激光雷达为依据,来标定另一个雷达,使两个激光雷达的点云坐标系能够无缝融合,提高整体感知系统的鲁棒性。 * 导航优化:通过标定提高机器人导航系统的精度,减少定位误差,优化路径规划。 == 1.2 范围 == 本文档所描述的标定方法专为配置单线激光雷达的差速底盘(KIVA)设计。该方法适用于需要高精度环境感知和导航的 AGV/AMR 应用。 标定的主要对象是单线激光雷达的外参,即雷达相对于底盘运动中心的位置和姿态。 本文档提供的方法是基于当前技术水平和实践经验的总结。随着技术的发展和新的标定技术的出现,本文档的方法可能需要更新或改进。此外,文档中的信息和建议是基于一般情况提供的,不同轮系(与轴距)的 AGV/AMR 需要根据实际情况进行调整。 = 二、标定目的和意义 = == 2.1 标定目的 == 标定目的是确保激光雷达的测量数据能够准确反映机器人所在环境的实际情况,并且与机器人的导航和控制系统无缝集成。在差速底盘(KIVA)上配置的单线激光雷达的标定,主要目的是: * 确定雷达位置:精确测量并记录激光雷达相对于机器人运动中心的位置。 * 确定雷达姿态:校准激光雷达的安装角度,确保其测量方向与机器人坐标系一致。 == 2.2 标定意义 == 在机器人系统中,标定是连接传感器硬件和软件算法的桥梁。标定确保了传感器数据的准确性和可用性,使得机器人的感知系统能够: * 与机器人的运动模型相匹配:标定使得激光雷达的数据能够与机器人的运动学模型相结合,为运动控制和定位导航提供准确的信息。 * 多车一致性:准确的标定参数是多车定位一致性的前提。 = 三、标定前的准备工作 = == 3.1 标定环境 == 在开始标定之前,需要确保标定环境满足以下条件: * 稳定:选择一个地面平整的室内环境,要求地面倾斜度 ≤1°(可用手机的水平仪测量多点判定);长度不小于 10 米,宽度不小于 5 米(满足底盘自旋所需空间);有墙角等有利于激光定位的轮廓(互相垂直的轮廓线);不要有大动态(比如移动的车辆、人群等)干扰。 * 安全:确保标定区域内无障碍物或其他可能对操作人员和设备造成危险的元素。 * 宽敞:提供足够的空间以供机器人移动,尤其是在进行动态标定时。 == 3.2 设备检查 == 在标定前,应对差速底盘(KIVA)和单线激光雷达进行彻底检查: * 机械检查:确保所有机械部件正确安装,无松动或损坏。 * 电气检查:检查所有电气连接是否牢固,无短路或断路现象。移除激光雷达表面的保护膜,利旧激光雷达表面不能有污损或裂缝。 * 软件检查:确认 Detour 版本为生产版本,授权正确。 <blockquote>注意:必须在 AGV/AMR 硬件(尤其是电气系统)调试完毕前提下执行标定工作,否则上道工序问题与标定问题混杂一起,可能导致标定失败。</blockquote> == 3.3 标定工具 == 准备标定所需的工具和材料,包括: * 笔记本电脑,用于远程桌面到车载工控机,使用 Detour 执行标定任务。 * 无线网络,建立笔记本与 AGV/AMR 之间的通信。 == 3.4 标定软件 == 使用部署在车载工控机 Detour 执行标定任务。 === 3.4.1 检查待标定激光雷达参数 === 点击“概况”标签的“车体布局”的“编辑”按钮,打开“车体编辑器“,选择待标定的激光雷达(一般是前雷达 / frontlidar),如图3-1所示。 [[文件:Image-20240507150200687.png|无框|620x620像素]] '''图 3-1 前激光雷达配置参数'''<blockquote>备注:对于配置双雷达底盘,一般双雷达为对称安装,因此后激光雷达的xy与前雷达为镜像关系,即xy取负值。th则为旋转关系,用180减去前雷达th可得。</blockquote> === 3.4.2 倒装激光雷达 === 首先用文本编辑器打开Medulla的startup.cmd脚本,倒装激光雷达的启动指令应有”setmirror true",如图3-2所示。 [[文件:Image-20240507152830338.png|无框|540x540像素]] '''图 3-2 倒装的前激光雷达启用镜像功能''' 然后在“车体编辑器”中,把倒装雷达的"angleSng"取反。比如,激光雷达扫描方向为逆时针,angleSng=。此时应设为-1,因为倒装后扫描方向也翻转了。 == 3.5 人员培训 == 操作人员应接受适当的培训,以确保他们: * 理解标定原理:了解标定的基本概念和原理。 * 熟悉操作流程:熟悉标定的每个步骤和操作要求。 * 掌握标定工具:掌握标定软件的使用方法。 = 四、标定方法 = == 4.1 概述 == [[文件:KIVA-LiDAR标定示意图.png|无框|323x323像素]] '''图 4-1 KIVA 激光雷达标定示意图''' 激光雷达外参标定有两个目的: # 把激光雷达移动到 AGV/AMR 的运动中心位置,使得激光雷达的测量数据能够准确反映机器人所在环境的实际情况。 # 校准激光雷达的安装角度,确保其测量方向与机器人坐标系一致。 差速底盘的运动中心位于两个驱动轮连线的中点。如果激光雷达不处于运动中心时,底盘自旋时激光雷达以运动中心为圆心做圆周运动,其输出位姿与底盘实际位姿不一致。 激光雷达安装角度与底盘坐标系不一致可能会导致一系列的问题,这些问题会直接影响 SLAM 准确性。以下是一些可能的后果: # '''数据偏差''':如果激光雷达的安装角度不准确,其测量数据将与实际环境产生偏差。这意味着 AGV/AMR 行驶精度出现偏差。 # '''定位误差''':在同时定位与地图构建(SLAM)过程中,不准确的雷达安装角度会导致机器人的定位出现误差,进而影响路径规划和导航。 # '''传感器融合问题''':在双激光雷达系统中,两个激光雷达数据需要精确融合。雷达安装角度的偏差会导致融合算法无法正确工作,影响整体的感知性能。 # '''多车一致性问题''':错误的标定会导致多车走到同一个站点的位姿出现偏差,无法满足搬运精度要求。 单车标定方法如下: # 测量底盘直线度。 # 标定激光雷达的安装角度误差。 # 标定激光雷达的安装位置误差。 多车标定时,应选择一台车作为标准车,所有车在单车标定后,再与标准车对比。这是因为非标车通常是多型号小批量,底盘装配一致性不一定有保证。大尺寸重载车还可能出现车体尺寸不一致,比如车体几何中心与运动中心不一致,导致不同方向进入站点的位置不一致(其实是车身几何偏差造成)。这种问题应在厂内标定时暴露,采取合适方法解决。 == 4.2 标定步骤 == === 4.2.1 测量底盘直线度 === Detour 使用右手坐标系(图 4-2),食指是 X 轴,中指是 Y 轴,无名指是 Z 轴。位置单位是毫米,角度单位是度。 [[文件:右手坐标系.jpg|无框|510x510像素]] '''图 4-2 右手坐标系''' 测量方法: # Detour 删除激光图层(图 4-3),使 Detour 不使用激光地图定位,仅用激光里程计计算航迹。 # Detour 输入坐标(0, 0, 0)(图 4-4)。 # 遥控底盘走直线 5 米,记录 Detour 的位姿角度(图 4-5)。 # 如果角度绝对值>0.1°,则说明底盘走斜线,根据角度方向调整左轮/右轮(安装角度),重复上述步骤,直到底盘直线度达标。 '''图 4-3 删除"mainmap"图层以禁用定位功能''' '''图 4-4 输入坐标''' '''图 4-6 查看实时位姿'''<blockquote>激光里程计的工作原理:Detour 根据激光雷达输出的相邻帧点云来计算帧到帧间的位移,并通过位移计算出航迹。激光里程计的优点是与底盘无关,精度(尤其是角分辨率)高,非常适合非标底盘。由于激光里程计依赖点云质量,因此要求周围环境稳定,不要在狭窄走廊或空旷地带使用。</blockquote><blockquote>通过角度偏差判断底盘直线度的原理:在底盘移动的过程中,激光里程计会记录其估计的移动方向。如果底盘能够完美地直线行驶,那么激光里程计记录的方向应该是恒定的。然而,实际中由于机械误差、地面条件、装配误差等因素,底盘可能会偏离理想的直线路径,导致激光里程计记录到角度偏差。</blockquote> === 4.2.2 标定激光雷达安装角度误差 === 标定方法: # Detour 删除激光图层(图 4-3),使 Detour 不使用激光地图定位,仅用激光里程计计算航迹。 # Detour 输入坐标(0, 0, 0)(图 4-4)。 # 遥控底盘走直线 5 米,记录 Detour 的位置 Y 值。如果 Y 绝对值大于 10(mm),则说明激光雷达安装位置有偏差,根据 Y 方向调整 th(eta)值(图 4-6)。如果Y值为正,则减少th值,比如走5米Y偏 550mm,则th减2度,如果走5米Y偏 -550 mm,则th加2度。加减度数比例视Y值大小而定,一般来说,先从1度开始,熟悉偏差规律后再放大到2度。如果Y值缩小到20mm以内,则th调整幅度缩小到0.1度。重复标定过程,直到 Y 偏差收敛到 10(mm)内。如果加减0.1度,Y值变化在正负之间,且绝对值在10mm附近,比如14mm,也可以认为标定完成。 '''图 4-6 修改激光雷达外参'''<blockquote>根据激光里程计的 Y 值判断激光雷达安装角度偏差原理:通过遥控操作,使底盘沿一个预定的直线路径行走 5 米。在理想情况下,如果底盘直线行走性能良好,且激光雷达正确安装,那么在行走过程中,激光里程计在 Y 轴(侧向)上的读数应该相对稳定。设定一个偏差阈值(例如 10 毫米),如果激光里程计测量的 Y 轴偏差绝对值超过了这个阈值,这表明在行走过程中存在明显的侧向移动,这可能是由于激光雷达安装角度的偏差导致的。</blockquote> === 4.2.3 标定激光雷达安装位置误差 === 标定方法: # Detour 删除激光图层(图 4-3),使 Detour 不使用激光地图定位,仅用激光里程计计算航迹。 # Detour 输入坐标(0, 0, 0)(图 4-4)。 # 遥控底盘低速自旋 180°(根据 Detour 输出位姿),然后记录 Detour 输出的位置 XY。如果 X 或 Y 的值大于 10(mm),则说明激光雷达安装位置有偏差,分别把 XY 除以 2,减在外参当前值上(图 4-6)。比如位姿输出X = 20, Y = 80,标定值X = 30,Y = 50,则标定值X = 30 - 10 = 20,Y = 50 - 40 = 10。重复标定过程,直到 X 或 Y 偏差收敛到 10(mm)内。 <blockquote>工作原理:如果激光雷达与运动中心不重合,则自旋时会形成同心圆,将其直径除以 2,就是圆心(运动中心)位置。 雷达未安平:如果每次旋转 180 度,Detour输出位姿的XY围绕0做正负波动,切波动绝对值>10mm。比如旋转前X = 5,Y = 12,把外参X - 2,Y - 6,然后旋转180度,Detour输出位姿X = -12,Y = 2,可见位姿的XY在正负间波动,且不能收敛到10mm以内。这种现象说明雷达未安平,可用红外相机观察旋转前后激光雷达扫描线在同一墙面的扫描线来判断。</blockquote>
返回
标定激光雷达外参
。
导航菜单
个人工具
中文(中国大陆)
创建账号
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息