Skip to content

定位(Localization)组件设计文档#

摘要#

1. 要求#

定位旨在估计无人机的姿态、速度和加速度.

目标:

  • 提出一个可以尽可能长时间地估计无人机姿态、速度和加速度的系统.
  • 提出一个系统,该系统可以诊断估计的稳定性,如果估计结果不可靠,则向错误监控系统发送警告信息.
  • 设计可与各种传感器配置配合使用的车辆定位功能.

非目标:

  • 本设计文档的目的不是开发一个定位(Localization)系统
    • 在所有环境中都是无懈可击的
    • 在预定义的 ODD(运营设计域)之外工作
    • 性能优于自动驾驶

2. 传感器配置示例#

本节介绍传感器配置示例及其预期性能. 每个传感器都有自己的优点和缺点,但可以通过融合多个传感器来提高整体性能.

3D-LiDAR + 点云地图#

预期情况#

  • 车辆位于结构丰富的环境中,例如市区

可能导致系统不稳定的情况#

  • 车辆放置在无结构的环境中,例如乡村景观、高速公路或隧道
  • 自地图创建以来,环境发生了变化,例如积雪或建筑物的建造/毁坏.
  • 周围的对象被遮挡
  • 汽车周围有 LiDAR 无法检测到的物体,例如玻璃窗、反射或吸收(深色物体)
  • 环境中包含与汽车的 LiDAR 传感器频率相同的激光束

功能性#

  • 系统可以估计点云地图上的车辆位置,误差为 ~10cm.
  • 该系统可在夜间运行.

3D-LiDAR 或相机 + 矢量地图#

预期情况#

  • 具有清晰白线和松散曲率的道路,例如高速公路或普通的地方道路.

可能导致系统不稳定的情况#

  • 白线划刺或被雨雪覆盖
  • 小曲率,例如交叉点
  • 雨水或油漆引起的路面反射变化大

功能#

  • 沿横向纠正车辆位置.
  • 沿纵向的姿态校正可能不准确,但可以通过与 GNSS 融合来解决.

GNSS#

预期情况#

  • 车辆放置在开阔的环境中,周围几乎没有物体,例如乡村景观.

可能使系统不稳定的情况#

  • GNSS 信号被周围的物体(例如隧道或建筑物)阻挡.

功能#

  • 该系统可以在 ~10m 的误差内估计车辆在世界坐标中的位置.
  • 安装 RKT-GNSS(实时动态全球导航卫星系统)后,精度可以提高到 ~10 厘米.
  • 具有此配置的系统可以在没有环境贴图(点云和矢量贴图类型)的情况下工作.

相机 (Visual 里程计、Visual SLAM)#

预期情况#

  • 将车辆放置在具有丰富视觉特征的环境中,例如城市区域.

可能导致系统不稳定的情况#

  • 将车辆放置在无纹理的环境中.
  • 车辆被其他物体包围.
  • 摄像机会观察到显著的照明变化,例如由阳光、其他车辆的大灯或接近隧道出口时引起的变化.
  • 车辆被放置在黑暗的环境中.

功能#

  • 系统可以通过跟踪视觉特征来估计里程计.

轮速传感器#

预期情况#

  • 车辆在平坦的道路上行驶.

可能导致系统不稳定的情况#

  • 车辆在湿滑或颠簸的道路上行驶,这可能会导致对车轮速度的观测不正确.

功能#

  • 该系统可以获取车辆速度并估计行驶距离.

IMU#

预期环境#

  • 平坦的道路

可能导致系统不稳定的情况#

  • IMU 具有取决于周围温度的偏差[^1],并可能导致不正确的传感器观察或里程计漂移.

[^1]:有关偏置的更多详细信息,请参阅 VectorNav IMU 规格页面.

功能#

  • 系统可以观察加速度和角速度.
  • 通过整合这些观测结果,系统可以估计局部姿态变化并实现航位推算

地磁传感器#

预期情况#

  • 车辆放置在低磁噪声的环境中

可能导致系统不稳定的情况#

  • 车辆放置在高磁噪声的环境中,例如包含带有增强钢或其他产生电磁波的材料的建筑物或结构的环境.

功能#

  • 该系统可以在世界坐标系中估计车辆的方向.

磁性标记#

预期情况#

  • 将车辆放置在安装了磁性标记的环境中.

系统变得不稳定的情况#

  • 标记不会保留.

功能#

  • 通过检测磁性标记,可以在世界坐标上获得车辆位置.
  • 即使道路被积雪覆盖,该系统也可以工作.

3.要求#

  • 通过实现不同的模块,可以使用各种传感器配置和算法.
  • 定位系统可以从不明确的初始位置开始姿态估计.
  • 该系统可以生成可靠的初始位置估计.
  • 系统可以管理初始位置估计的状态(未初始化、可初始化或不可初始化),并可以向错误监视器报告.

4. 架构#

摘要#

定义了两种架构,即 RequiredRecommended .但是, Required 架构仅包含接受各种定位算法所需的输入和输出.为了提高每个模块的可重用性,在 推荐 架构部分定义了所需的组件,并提供了更详细的说明.

必需的架构#

required-architecture

输入#

  • 传感器消息
    • 例如,LiDAR、摄像头、GNSSIMU、CAN Bus 等.
    • 数据类型应该是 ROS 原语,以便可重用
  • 地图数据
    • 例如,点云地图、lanelet2 地图、特征地图等.
    • 应根据用例和传感器配置选择地图格式
    • 请注意,某些特定情况不需要地图数据(例如,仅限 GNSS 的定位)
  • TF, static_tf
    • 地图框
    • base_link 框架

输出#

  • 标记了协方差的姿势
    • 地图坐标上的车辆姿态、协方差和时间戳
    • 50Hz~ 频率(取决于规划和控制组件的要求)
  • 印有协方差的 Twist
    • base_link 坐标上的车辆速度、协方差和时间戳
    • 50Hz~ 频率
  • 带有协方差印章的 Accel
    • base_link 坐标上的加速度、协方差和时间戳
    • 50Hz~ 频率 -诊断
    • 指示定位(Localization)模块是否正常工作的诊断信息
  • TF
    • Map 到 base_link 的 TF

推荐架构#

推荐架构

姿势估计器#

  • 通过将外部传感器观察结果与地图匹配,估计车辆在地图上坐标上的姿态
  • 将获取的姿势及其协方差提供给 PoseTwistFusionFilter

Twist-Accel 估计器#

  • 生成车辆速度、角速度、加速度、角加速度及其协方差
    • 可以创建用于 twist 和 acceleration 的单个模块,也可以创建两个单独的模块 - 架构的选择取决于开发人员
  • 扭转估计器通过传感器内部观察生成速度和角速度
  • 加速度估计器根据内部传感器观测结果生成加速度和角加速度

运动学融合滤波器#

  • 生成最可能的姿势、速度、加速度及其协方差,通过融合两种信息来计算:
    • 从姿势估计器获取的姿势.
    • 从 twist-accel 估计器获得的速度和加速度
  • 根据位姿估计结果生成 map to base_link 的 tf

定位(Localization)诊断#

  • 通过融合从多个定位模块获得的信息来监控和保证姿态估计的稳定性和可靠性
  • 向错误监视器报告错误状态

TF 树#

tf-tree

框架 意义
earth ECEF (Earth Centered Earth Fixed)
map Origin of the map coordinate (ex. MGRS origin)
viewer User-defined frame for rviz
base_link Reference pose of the ego-vehicle (projection of the rear-axle center onto the ground surface)
sensor Reference pose of each sensor

开发者可以选择添加其他框架,例如 odom 或 base_footprint,只要保持上述 tf 结构即可.

定位(Localization)模块的理想功能#

  • 定位模块应提供姿势、速度和加速度,用于控制、规划和感知.
  • 延迟和交错应该足够小或可调整,以便估计值可用于 ODD (Operational Design Domain) 内的控制.
  • 定位模块应在固定坐标系上生成姿势.
  • 传感器应彼此独立,以便于更换.
  • 定位模块应提供一个状态,指示自动驾驶汽车是否可以使用自包含功能或地图信息进行作.
  • 工具或手册应描述如何为定位(Localization)模块设置正确的参数
  • 应提供有效的校准参数,以对齐不同的帧或姿态坐标和传感器时间戳.

关键绩效指标#

为了保持足够的姿态估计性能以实现安全作,考虑了以下指标:

-安全 - 姿态估计满足所需精度的 ODD 中行进的距离除以 ODD 内行进的总距离(以百分比表示). - 定位模块无法估计 ODD 中姿势的情况的异常检测率 - 检测车辆何时超出 ODD 的准确性(以百分比表示). - 计算负载 -延迟

5.接口和数据结构#

6.关注点、假设和限制#

传感器和输入的先决条件#

传感器先决条件#

  • 输入数据没有缺陷.
    • IMU 等内部传感器观察持续保持适当的频率.
  • 输入数据具有正确和准确的时间戳.
    • 如果时间戳不准确,则估计的姿势可能不准确或不稳定.
  • 传感器安装正确,定位准确,可从 TF 访问.
    • 如果传感器位置不准确,则估计结果可能不正确或不稳定.
    • 需要一个传感器校准框架来正确获取传感器位置.

映射先决条件#

  • 地图中包含足够的信息.
    • 如果地图中的信息不足,姿势估计可能不稳定.
    • 需要一个测试框架来检查地图是否具有足够的姿势估计信息.
  • 地图与实际环境没有太大差异.
    • 如果实际环境的对象与地图不同,则姿势估计可能不稳定.
    • 地图需要根据新对象和季节变化进行更新.
  • 地图必须与统一坐标对齐,或者已建立对齐框架.
    • 如果使用多个具有不同坐标系的地图,则它们之间的未对齐会影响定位性能.

计算资源#

  • 应提供足够的计算资源以保持准确性和计算速度.