LZ第一次使用幕布完成了对Apollo课程的课后笔记,欢迎大家观看。
自动驾驶的六大模块:高精地图、定位、感知、预测、规划、控制,本次课程都有涉及。毕竟是入门课程,作为了解自动驾驶机制是很不错的课程。LZ今天用一天时间,从早晨起床开始2倍速在B站刷视频,一共有100集,每一小集也就2-3分钟,上午刷完,下午对整篇课程进行整理,现在脑壳要爆炸。。。哈哈哈哈,还是挺有成就感的。接下来打算对Apollo的进阶课程进行观看整理,看看在实际项目中无人驾驶具体面临的问题是什么。
目录
一、高精地图
- 前言:目前 Apollo 内部高精地图主要应用在高精定位、环境感知、决策规划、仿真运行四大场景,帮助解决林荫道路GPS信号弱、红绿灯是定位与感知以及十字路口复杂等导航难题。
-
1、高精地图与传统地图
- 1.1 高精地图是当前无人驾驶车技术不可或缺的一部分。它包含了大量的驾驶辅助信息,最重要是包含道路网的精确三维表征,例如交叉路口布局和路标位置
- 1.2高精地图还包含很多语义信息,地图上可能会报告交通灯不同颜色的含义,也可能指示道路的速度限制,及左转车道开始的位置。
- 1.3 高精地图最重要的特征之一是精度,GPS导航只能到达米级精度,而高精地图可以使车辆能够达到厘米级的精度,这对确保无人车的安全性至关重要。
-
2、高精地图与定位、感知、规划的关系
- 2.1 定位:首先车辆可能会寻找地标,我们可以使用从各类传感器收集的数据,如摄像机图像数据、激光雷达收集的三维点云数据来查找地标。车辆将其收集的数据与其在高精地图上的已知地标进行比较,这一匹配过程是需要预处理、坐标转换、数据融合的复杂过程。横向:单目相机拍摄实虚线和地图对比,知道在那个车道。纵向:借助交通信号灯、路灯、灯杆等实现定位
- 2.2 感知:1)Camera、激光雷达超过一定距离受到限制,地图保证提前5-10公里感知。2)恶劣天气或夜间、遇到障碍物,传感器无法识别物体。3)即使传感器尚未检测到交通信号灯,高精地图也可以将交通信号灯的位置提供给软件栈的其余部分,帮助车辆做下一个决策。4)高精地图可帮助传感器缩小检测范围,ROI区域提高检测精度和速度。
- 2.3 规划:1)高精地图可帮助车辆找到合适的行车空间,还可以帮助规划器确定不同的路线选择,来帮助预测模块预测道路上其他车辆将来的位置。2)在具有低速限制、人行横道或减速带的区域,高精地图可以使车辆能够提前查看并预先减速
-
3、Apollo高精地图与构建
- 1、高精地图包含道路定义、交叉路口、交通信号灯精确位置、车道规则。不仅减小计算需求,还可以提供驾驶环境详细信息。
- 2.高精度地图的构建由五个过程组成:数据采集、数据处理、对象检测、手动验证和地图发布。
- 1、数据采集:300辆Apollo测试车辆负责收集用于制作地图的源数据,多种传感器,如GPS、IMU、激光雷达、摄像机。Apollo定义了一个硬件框架,将这些传感器集成到单个自主系统中,通过支持多种类的传感器,Apollo收集各类数据将这些数据融合,最终生成高精度地图。
- 2、数据处理:对收集到的数据进行整理、分类和精简,以获得没有任何语义信息或注释的初始地图模板。
- 3、对象检测:使用人工智能来检测静态对象并对其进行分类,其中包括车道线、交通标志、甚至是电线杆,手动验证可确保自动地图创建过程正确进行并及时发现问题。
- 4.在构建和更新地图的过程中,Apollo使用众包向公众发布其数据采集工具,以便任何人都可以参与制作高精度地图的任务,这加快了高精地图制作和维护的过程。
-
二、定位(厘米级)
-
1、GNSS RTK
- 1、GPS 4颗卫星定位。除了三颗卫星三角测量,再加一颗定位高度的卫星。接收端与卫星距离通过TOF原理测量飞行时间,但是光速很大,少量时间误差导致巨大误差。每颗卫星都配备了高精确度的原子钟。
- 2、为进一步减小误差,使用实时运动定位RTK。RTK涉及的地面基站,用来确定系统误差,然后传递给GPS接收器来调整。在 RTK 的帮助下,GPS 可以将定位误差限制在 10 厘米以内。
- 评价:1)存在高楼和其他障碍物可能阻挡 GPS 信号的问题,这使定位变得困难或根本无法定位。2)GPS 的更新频率很低,大约为 10 赫兹。由于无人驾驶车在快速移动,可能需要更频繁地更新位置。
-
2、惯性导航
- 1、加速度需要三轴加速度计的传感器来测量,加速度计根据车辆的坐标系记录测量结果,还需要陀螺仪传感器将这些测量值转换为全局坐标系测量值。
- 2、三轴陀螺仪的三个外部平衡环一直在旋转,但三轴陀螺仪中的旋转轴始终固定在世界坐标系中。在坐标系中的位置是通过测量旋转轴和三个外部平衡环的相对位置来计算的。
- 3、评价:1)IMU 可以以高频率更新,可达 1000 赫兹。2)运动误差随时间增加而增加,我们只能依靠惯性测量单元在很短的时间范围内进行定位。
-
3、激光雷达定位
- 1、迭代最近点法ICP 是匹配点云常见方法,假设我们对两次点云扫描进行匹配。我们的目标是通过点云旋转和平移来最大限度地降低这一平均距离误差
- 2、滤波算法是一种LiDAR 定位方法,滤波算法可消除冗余信息并在地图上找到最可能的车辆位置。直方图滤波算法,将通过传感器扫描的点云滑过地图上的每个位置,在每个位置上计算扫描的点与高精度地图上的对应点之间的误差或距离然后对误差的平方求和,求得的和越小扫描结果与地图之间的匹配越好。
- 3、卡尔曼滤波是另一种LiDAR 定位方法。卡尔曼滤波使用了预测更新周期,首先我们根据之前的状态以及对移动距离和方向的来估计我们的新位置。当然运动估计并不完美,所以需要通过使用传感器测量我们的位置并加以纠正。一旦传感器测量了我们的新位置,我们便可以使用概率规则将不完美的测量结果与现有位置匹配起来。
-
4、视觉定位
- 粒子滤波:车道线在许多道路上却很常见,可以使用相同的粒子滤波原理对车道线进行拍照,然后使用拍摄的图像来确定车辆在道路中的位置,可以将道路摄像头图像与地图进行比较。
-
5、Apollo定位
- Apollo定位模块依赖于IMU、GPS、激光雷达、雷达、高精地图,这些传感器同时支持 GNSS 定位和LiDAR 定位,GNSS 定位输出位置和速度信息,LiDAR 定位输出位置和行进方向信息。融合框架通过卡尔曼滤波将这些输出结合在一起。
- 惯性导航解决方案用于卡尔曼滤波的预测步骤,GNSS 和 LiDAR 定位用于卡尔曼滤波的测量结果更新步骤。
三、感知
-
1、计算机视觉
- 无人驾驶车有四个感知世界的核心任务:检测——指找出物体在环境中的位置;分类——指明确对象是什么;跟踪——指随时间的推移观察移动物体;语义分割——将图像中的每个像素与语义类别进行匹配如道路、汽车、天空。
-
2、Camera图像
- RGB图像,深度为3
-
3、Lidar图像
- 激光雷达传感器创建环境的点云表征,提供了难以通过摄像头图像获得的信息如距离和高度。点云中的每个点代表反射回传感器的激光束,可以告诉我们关于物体的许多信息例如其形状和表面纹理。
-
4、机器学习
- 1、监督式学习:使用数据和相关的真值标记来进行模型训练
- 2、非监督学习:没有真值标记的车辆与行人图像,让计算机自行决定哪些图像相似、哪些图像不同</