MDCS参数表:Detour:修订间差异

来自MDCS wiki
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
第1行: 第1行:
[[文件:D11.png|1280x1280像素]]
 
= 一、概述 =
[[文件:基于优化的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"配置段用于配置全局参数。