Advertisement

【无人驾驶autoware 项目实战】感知--定位模块

阅读量:

本文介绍了无人驾驶Autoware项目实战中的定位模块功能及其实现原理。该模块主要依赖SLAM算法结合高精度地图(3D map)服务和NDT算法进行定位。具体而言:
输入包括激光雷达点云数据(经过PCL下采样滤波)、三维点云地图(SLAM建立)、GNSS绝对型定位信息以及惯性导航数据。
输出为无人车的当前位姿(current pose)和速度(current velocity)。
算法流程包含多个关键组件:

  • current velocity融合了定位信息速度和里程计数据;
  • lidarlocalizer(ndtmatching)通过匹配激光雷达点云与预建地图实现定位;
  • gnss_localizer(fix2tfpose)利用GNSS接收器NEMA消息转换为位置信息;
  • dead_reckoner通过IMU预测下一帧位置增量并优化结果。
    文章还提到了对各算法的进一步优化与实现计划。

文章目录

current velocity


前言

鉴于认知局限,请大家予以理解与包容。对于任何问题都希望能与大家分享经验。

在这里插入图片描述

欢迎收看无人驾驶Autoware的技术文章和学习资源,请访问<>

无人车&无人机导航合集
<>

无人驾驶autoware 项目实战

无人驾驶autoware 项目实战


提示:以下是本篇文章正文内容

在这里插入图片描述

一、功能

该定位模块基于SLAM算法、高精度地图服务以及NDT技术支撑。利用来自CAN总线和GNSS/IMU传感器的位移数据作为输入基础。通过卡尔曼滤波算法优化定位精度。

Autoware主要依赖于NDT算法来实现定位过程。这主要是因为无损检测过程的计算成本不受地图大小的影响,从而使得生成的大比例尺地图数据集具有较高的清晰度和分辨率

Autoware不仅提供迭代最近点(ICP)算法的支持,在本地化处理方面还涵盖了多种映射与坐标转换方法的选择方案。这些技术选项为用户提供灵活选择的空间

.
.

二、输入

pointcloud data

spatial point cloud data

spatial point cloud data

2、【pointcloud map】
SLAM建立的三维点云地图

3、【GNSS pose】
GNSS绝对型定位信息

4、【IMU】
惯性导航数据

三、输出

1、【current pose】
无人车的当前位姿

2、【current velocity】
无人车的当前速度

四、算法流程实现

1.【current velocity】

机器车辆的实时速度current velocity是由位置数据和里程计信号融合计算得出的。

立个flag…效果、算法原理、源码我在整理一次再更~

.
.

2.【lidar_localizer(ndt_matching)】

基于预先构建的三维激光雷达(LiDAR)数据集和实时采集的点云信息,在车辆自动控制系统中建议采用一种改进型的数据配准方法——基于正态分布变换(NDT)的方法对当前激光雷达数据与三维地图进行配准。该方法能够实现对车辆在全局坐标系中的位置状态(包含x、y、z平移分量以及滚、俯、偏航角)的精确估计。

在这里插入图片描述

立个flag…效果、算法原理、源码我在整理一次再更~
.
.

3.【gnss_localizer(fix2tfpose)】

fix2tfpose内置于gnss_localizer功能组件中,并主要依赖于接收到来自GNSS天线的NMEA格式消息后解析出位置信息包括坐标分量(x,y,z)以及姿态参数(滚、俯、偏角)。同时需要自己实现的是全局与局部坐标系之间的转换关系,并对这些数据进行后续处理以满足定位需求。这些数据结果不仅可用于直接获取车辆当前位置信息,也可作为lidar定位模块初始化定位基准

立个flag…效果、算法原理、源码我在整理一次再更~
.
.

4.【dead_reckoner】

该系统旨在提高定位精度,在实时获取车速信息的基础上,并通过IMU传感器预估车辆下一时间点的位姿变化量delta pose, 可被用来对LiDAR局部化和GPS局部化所得结果进行内插处理


全部评论 (0)

还没有任何评论哟~