MDCS参数表:Detour:修订间差异
无编辑摘要 |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
[[文件: | |||
= 一、概述 = | |||
[[文件:基于优化的SLAM框架.png|无框|592x592像素]] | |||
'''图 1-1 基于优化的SLAM框架''' | |||
Detour的激光SLAM由前端和后端构成。激光雷达输出点云到前端,前端使用激光里程计得到相邻点云帧间位移,积分出机器人位姿,这就是局部建图。由于积分会累积误差,因此后端使用激光地图纠正激光里程计误差,通过全局优化使激光里程计输出精确的机器人位姿,这称为全局建图。 | |||
当我们在一个空白地图上建图时,Detour把关键帧(激光雷达观测到的环境轮廓,也称为路标)记录到激光地图,并建立关键帧的约束关系,关键帧位姿则通过激光里程计获取。由于激光里程计的累积误差特性,因此我们在建图时要求遥控机器人沿建图路线走来回,使Detour能够从不同角度观测到相同的物体,以图优化消除误差,并建立起正确的关键帧间约束关系(激光地图上关键帧之间的连线)。 | |||
在定位模式下,前端以激光里程计持续输出机器人位姿,闭环检测则不断比较点云与邻近关键帧的配准分数,当配准分数大于设定阈值,且当前位姿与激光地图计算所得位姿的误差小于设定阈值时,则通过全局优化修正激光里程计误差。 | |||
除激光雷达标定外参以外,Detour的默认参数可用于大多数场景。在特定环境下需要调整前后端参数,这些调整基于最佳实践,我们在参数说明中会提供。如果不清楚要调整的参数,请联系技术支持工程师咨询。<blockquote>提示:修改参数时建议多备份配置文件,每次只修改一组关联参数,以免一次性修改多个参数后引入多个误差,不利于排查问题。</blockquote> | |||
= 二、激光SLAM = | |||
== 2.1 激光雷达 == | |||
=== 2.1.1 2D激光雷达 === | |||
[[文件:Image-20241114095213899.png|无框|618x618像素]] | |||
'''图 2-1 2D激光雷达''' | |||
在车体编辑器中,通过“添加 / 单线雷达”菜单向车体部署2D激光雷达。配置项在detour.json的“layout/components”下,类型为“lidar2d” | |||
"components": [ | |||
{ | |||
"type": "lidar2d,component,haveposition", | |||
"options": { | |||
"isCircle": false, | |||
"angleSgn": 1.0, | |||
"endAngle": 0.0, | |||
"rangeStartAngle": -180.0, | |||
"rangeEndAngle": 180.0, | |||
"x": 350.0, | |||
"y": 10.0, | |||
"th": 0.0, | |||
... | |||
} | |||
} | |||
2D激光雷达需要关注的是其扫描角度和安装位置,后者一般称为“雷达外参”。 | |||
'''''扫描角度相关参数''''': | |||
{| class="wikitable" | |||
|- | |||
! 参数 !! 说明 !! 取值来源 |- | |||
| isCircle || =true表示激光雷达是360度视野,否则为false。 || 激光雷达用户手册 |- | |||
| angleSgn || 雷达扫描方向。1 为逆时针,-1为顺时针。此项为雷达本身特性,不随雷达安装方式(正装/倒装)变化而改变。(倒装雷达使用雷达驱动的setMirror(true)方法设置)。 || | |||
|- | |||
| endAngle || 雷达每帧扫描结束的角度。此项为雷达本身特性,不随雷达安装方式变化而改变,也不受rangeStartAngle和rangeEndAngle影响。 || | |||
|- | |||
| rangeStartAngle || 雷达实际有效扫描范围开始的角度。 || 根据车体设计判断,一般是激光雷达手册提供的参数值。如果<br />激光雷达视野被车体遮挡,则应跳过被遮挡角度,以滤掉遮挡产生的噪声点云。 || | |||
|- | |||
| rangeEndAngle || 雷达实际有效扫描范围结束的角度。 || | |||
|} | |||
'''''雷达安装相关参数''''': | |||
'''''有反(使用反光棒/板)SLAM相关参数''''': | |||
'''''其他参数''''': | |||
=== 2.2.2 3D激光雷达 === | |||
'''图 2-2 3D激光雷达''' | |||
与2D激光雷达相比,3D激光雷达能够提供垂直空间的测量数据,多用于室外场景。 | |||
'''图 2-3 3D点云''' | |||
Detour 3D SLAM的计算过程分为两步,第一步提取3D点云的空间特征,把垂直空间结构(如墙体、树干、立柱)提取为特征线段;第二部把空间特征二向化,输出到SLAM算法。因此3D雷达要配套二向化雷达使用,Livox Mid360(非周期性激光雷达)配套“二向化mid360雷达”,其他3D雷达(比如速腾)配套“二向化3D雷达”。 | |||
在应用3D SLAM时,需要理解垂直空间结构。我们以道路旁的围墙举例,如图3-3所示,3D雷达在围墙上有若干条水平扫描线,以3D雷达的水平角分辨率为单位,可绘制出若干垂直线段,构成线段的点数量由3D雷达的垂直角分辨率决定。垂直线段可用其长度和扫描点数量描述。比如 Vn 是水平角度n观察到的垂直线段,其长度为V,有m个测量点。 | |||
Detour以高度为垂直结构分配权重。以3D雷达的垂直扫描方向0度为赤道面,距离赤道面越近的垂直结构其权重越高。 | |||
二向化后的点云与2D雷达一样,熟悉2D SLAM的用户可以轻松使用3D SLAM。 | |||
如果您首次使用3D SLAM,或者引入一个新型号3D激光雷达,建议使用Detour + Medulla组合以了解3D SLAM或3D雷达性能。Medulla能够显示3D点云,相比于Detour的二向化后的2D点云,它能够看到原始点云,有利于发现与雷达相关的问题。 | |||
3D雷达的扫描与安装参数与2D雷达相同。我们重点讲解3D SLAM相关的参数。 | |||
'''''雷达特性相关参数''''': | |||
'''''垂直结构相关参数''''': | |||
其他参数: | |||
== 2.2 激光里程计 == | |||
== 2.3 激光地图 == | |||
== 2.4 Guru == | |||
detour.json的"guru"配置段用于配置全局参数。 | |||
2024年11月14日 (四) 15:32的版本
一、概述
图 1-1 基于优化的SLAM框架
Detour的激光SLAM由前端和后端构成。激光雷达输出点云到前端,前端使用激光里程计得到相邻点云帧间位移,积分出机器人位姿,这就是局部建图。由于积分会累积误差,因此后端使用激光地图纠正激光里程计误差,通过全局优化使激光里程计输出精确的机器人位姿,这称为全局建图。
当我们在一个空白地图上建图时,Detour把关键帧(激光雷达观测到的环境轮廓,也称为路标)记录到激光地图,并建立关键帧的约束关系,关键帧位姿则通过激光里程计获取。由于激光里程计的累积误差特性,因此我们在建图时要求遥控机器人沿建图路线走来回,使Detour能够从不同角度观测到相同的物体,以图优化消除误差,并建立起正确的关键帧间约束关系(激光地图上关键帧之间的连线)。
在定位模式下,前端以激光里程计持续输出机器人位姿,闭环检测则不断比较点云与邻近关键帧的配准分数,当配准分数大于设定阈值,且当前位姿与激光地图计算所得位姿的误差小于设定阈值时,则通过全局优化修正激光里程计误差。
除激光雷达标定外参以外,Detour的默认参数可用于大多数场景。在特定环境下需要调整前后端参数,这些调整基于最佳实践,我们在参数说明中会提供。如果不清楚要调整的参数,请联系技术支持工程师咨询。
提示:修改参数时建议多备份配置文件,每次只修改一组关联参数,以免一次性修改多个参数后引入多个误差,不利于排查问题。
二、激光SLAM
2.1 激光雷达
2.1.1 2D激光雷达
图 2-1 2D激光雷达
在车体编辑器中,通过“添加 / 单线雷达”菜单向车体部署2D激光雷达。配置项在detour.json的“layout/components”下,类型为“lidar2d”
"components": [
{
"type": "lidar2d,component,haveposition",
"options": {
"isCircle": false,
"angleSgn": 1.0,
"endAngle": 0.0,
"rangeStartAngle": -180.0,
"rangeEndAngle": 180.0,
"x": 350.0,
"y": 10.0,
"th": 0.0,
...
}
}
2D激光雷达需要关注的是其扫描角度和安装位置,后者一般称为“雷达外参”。
扫描角度相关参数:
| 参数 | 说明 | - | isCircle | =true表示激光雷达是360度视野,否则为false。 | - | angleSgn | 雷达扫描方向。1 为逆时针,-1为顺时针。此项为雷达本身特性,不随雷达安装方式(正装/倒装)变化而改变。(倒装雷达使用雷达驱动的setMirror(true)方法设置)。 | |
|---|---|---|---|---|---|---|---|---|
| endAngle | 雷达每帧扫描结束的角度。此项为雷达本身特性,不随雷达安装方式变化而改变,也不受rangeStartAngle和rangeEndAngle影响。 | |||||||
| rangeStartAngle | 雷达实际有效扫描范围开始的角度。 | 根据车体设计判断,一般是激光雷达手册提供的参数值。如果 激光雷达视野被车体遮挡,则应跳过被遮挡角度,以滤掉遮挡产生的噪声点云。 |
||||||
| rangeEndAngle | 雷达实际有效扫描范围结束的角度。 |
雷达安装相关参数:
有反(使用反光棒/板)SLAM相关参数:
其他参数:
2.2.2 3D激光雷达
图 2-2 3D激光雷达
与2D激光雷达相比,3D激光雷达能够提供垂直空间的测量数据,多用于室外场景。
图 2-3 3D点云
Detour 3D SLAM的计算过程分为两步,第一步提取3D点云的空间特征,把垂直空间结构(如墙体、树干、立柱)提取为特征线段;第二部把空间特征二向化,输出到SLAM算法。因此3D雷达要配套二向化雷达使用,Livox Mid360(非周期性激光雷达)配套“二向化mid360雷达”,其他3D雷达(比如速腾)配套“二向化3D雷达”。
在应用3D SLAM时,需要理解垂直空间结构。我们以道路旁的围墙举例,如图3-3所示,3D雷达在围墙上有若干条水平扫描线,以3D雷达的水平角分辨率为单位,可绘制出若干垂直线段,构成线段的点数量由3D雷达的垂直角分辨率决定。垂直线段可用其长度和扫描点数量描述。比如 Vn 是水平角度n观察到的垂直线段,其长度为V,有m个测量点。
Detour以高度为垂直结构分配权重。以3D雷达的垂直扫描方向0度为赤道面,距离赤道面越近的垂直结构其权重越高。
二向化后的点云与2D雷达一样,熟悉2D SLAM的用户可以轻松使用3D SLAM。
如果您首次使用3D SLAM,或者引入一个新型号3D激光雷达,建议使用Detour + Medulla组合以了解3D SLAM或3D雷达性能。Medulla能够显示3D点云,相比于Detour的二向化后的2D点云,它能够看到原始点云,有利于发现与雷达相关的问题。
3D雷达的扫描与安装参数与2D雷达相同。我们重点讲解3D SLAM相关的参数。
雷达特性相关参数:
垂直结构相关参数:
其他参数:
2.2 激光里程计
2.3 激光地图
2.4 Guru
detour.json的"guru"配置段用于配置全局参数。