23. 总结
现在 我们已经明白 为什么需要定位;
以及 几种定位的方法;
和 Apollo 的定位框架。
22. 项目
看别人锻炼不能使自己减重!
自己需要动手编程,实现一些想法。
21. (3-37-9)Apollo 定位
Apollo 使用基于 GPS、IMU、激光雷达的多传感器 融合定位系统,
这种 融合方法 利用了不同传感器的互补优势;
Apollo 定位模块 依赖于 IMU、GPS、激光雷达、雷达、高精度地图。
这些传感器 同时支持 GNSS定位 和 激光雷达定位;
GNSS定位
输出位置、速度信息,
激光雷达定位
输出位置、前进方向信息
视觉定位 的优点:图像很好获取;
缺点:缺乏三维信息,和对三维信息的依赖
19. (3-35-7)激光雷达定位
点云匹配
利用激光雷达,我们可以 通过点云匹配来对汽车进行定位;
该方法 将来自激光雷达传感器的检测数据,与预先存在的高精度地图 进行连续匹配;
通过 这种方法,可以获知在高精度地图上的位置和行驶方向。
许多算法 可以用于匹配点云:
迭代最近点(ICP:Iterative Closest Point )是一种方法,
假设我们想对两次点云扫描进行匹配,
对于第一次扫描中的每个点,我们需要找到另一次扫描中 最接近的匹配点。
最终 我们会收集到许多匹配点对。
把每对点之间的距离误差相加, 然后计算平均值,
我们的目标是 通过点云旋转、平移,来尽可能降低 平均距离误差。
一旦达到了目标,就可以在传感器扫描和地图之间找到匹配。
我们 把传感器扫描到的位置 转换为 全球地图上的位置,并计算出在地图上的精确位置。
滤波算法 – 另一种激光雷达定位算法
滤波算法可以消除冗余信息,并在地图上找到最可能的车辆位置;
Apollo使用了 直方图滤波算法(或称为 误差平方和算法SSD Sum of Square Difference)
具体方法:
我们 将传感器扫描得到的点云 滑过地图上的每个位置,对于每个点 和地图上的对应点之间的误差或距离,然后平方求和。
求得结果越小,匹配越好。
GPS接收器 并不是直接测量 卫星和我们之间的距离,
而是 测量信 飞行的时间(即,信 从卫星传播到GPS接收器所需的时间),
然后,乘以光速 计算出距离。
通过RTK的帮助,GPS可以将自己的定位误差,限制在10厘米以内;
但GPS仍然受限于环境,且GPS的更新频率低(每秒更新10次,即更新频率10赫兹)
想象在地球表面,三个维度的定位(三维定位)
我们将使用到 卫星,它可以传送它与我们之间的距离,
那么,需要几颗卫星可以确定自己的位置呢p>
15. (3-29-1)定位
假设有一张 全球高精度地图,
定位任务 就是 确定我的无人车 在这张高精度地图上的位置;(无人驾驶车 迷路了!!/p>
GPS 的精度 在1-3米,对于 无人驾驶车 来说太不准确了。
(在有些情况下,如被高楼、山脉环绕,或处于峡谷,精度更差,10-50米)
因为 无法完全相信GPS,我们需要 找到一种方法
更准确地 确定车辆在地图上的位置。
最常用的做法是:
将 汽车传感器看到的内容 和 地图上显示的内容比较
车辆将 传感器识别的地标 与 高精度地图上存在的地标 做对比,
为了进行该对比,数据 需要在 车辆坐标系 和 地图坐标系之间转换;
然后,系统在地图上以10厘米的精度确定 车辆的位置。
具体实现:
传感器 可以测量车辆与静态障碍物之间的距离,(树木、电线杆、路标等);
这些距离 是在 车辆坐标系中的投影(或者 距离和方向),进而得到 地标的传感器观测坐标值;
在高精度地图上,也可以找到该地标的 坐标;
将 这两个坐标值 进行匹配,
估计出车辆在地图上的位置;
在构建和更新 地图的过程中 Apollo采用了众包。
众包:Crowdsourcing,
a modern business term coined in 2006, is defined by Merriam-Webster as the process of obtaining needed services, ideas, or content by soliciting contributions from a large group of people, and especially from an online community。
- 帮助 车辆找到合适的行车空间(道路的中线);
- 帮助 规划器确定出不同的路线选择;
- 帮助 预测软件 预测道路上其他车辆将来的位置li>
可以帮助 缩小可选择的范围。
11. (2-24-5) 地图 与 感知
正如 人的眼睛和耳朵有距离的限制一样,
传感器 也是如此。
距离–长距离过后会受到限制
恶劣天气条件、或夜间–识别能力进一步受限;
遇到障碍物时,无法确定其后的情况;
因此,高精度地图有利于感知,
- 即使没有检测到红绿灯,可以预先给出其位置;
- 缩小检测的范围,这个范围被叫做感兴趣区域(Range Of Interest, ROI)–有助于提高准确度和速度,节约计算资源。
10. (2-23-4)地图 与 定位
高精度地图 是Apollo无人驾驶车平台 的核心;
因为 许多其他无人驾驶车模块 都有赖于高精度地图。
有了高精度地图,我们(无人驾驶车辆)要做的就是在 地图上进行自定位
(即,我们在地图上的什么位置)
- 首先,车辆可能寻找 地标
使用从各类传感器收集到的数据寻找 地标
例如摄像机的图像、LiDAR的三维点云数据,–这个过程需要一些预处理(消除质量差、不准确的数据)、坐标变换(统一视角)和数据融合(融合不同车辆、不同传感器的数据); -
然后将找到的地标 与 已知的地标进行匹配
一旦无人驾驶车 高精度知道了它的位置,定位的任务就完成了。
整个 定位过程 依赖于地图,定位结果的精度也依赖于地图,这就是为什么需要 高精度的地图。
可以将 定位与拼图进行比较
运行时框架(Runtime Framework)
- 是 Apollo的操作环境(the operating environment of Apollo),
3. Apollo架构(1-14-6)
百度最初是一家中国的互联 搜索引擎公司,现在转变为一家人工智能公司,在全球各地设有办事处。
百度的宗旨是通过技术让复杂的世界变得简单。
The Apollo Vehicle System是百度最重要的开源贡献之一。
我们开放了无人驾驶功能,让全世界的工程师都可以在Apollo上打造自己的无人驾驶车。
Apollo提供世界领先的高精度地图服务、和开源无人驾驶模拟引擎。
与Closed Vehicle Systems相比,Apollo的发展速度更快,为参与者带来的收益更大。
我们的开源框架是学术界、行业研究人员和制造工程师共同努力的成果。
Apollo技术框架由四个层面组成:
参考车辆平台(Reference Vehicle Platform);
参考硬件平台(Reference Hardware Platform);
开源软件平台(Open Software Platform);
云服务平台(Clouds Service Platform);
在接下来的学习中,了解这些方面,并将其整合打造端到端无人驾驶车辆。
2. 五大核心部分
2017年,百度发布了名为Apollo的开源无人驾驶项目,该项目帮助合作伙伴整合自有车辆和硬件系统 以构建完整的无人驾驶系统。
途胜未来br> SLAMbr> 路径规划p>
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!