热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据库技术:手撕自动驾驶(一)自动驾驶初探

以下都是我的个人理解,说的不对的欢迎狂怼。借用apollo的架构说事:自动驾驶由这7部分组成:1.感知。就是指传感器的输入,包括激光雷达、视觉图像、GPS、惯导、毫米波雷达等都可以

     以下都是我的个人理解,说的不对的欢迎狂怼。

     借用apollo的架构说事:

  手撕自动驾驶(一)自动驾驶初探

   自动驾驶由这7部分组成:

1.感知。就是指传感器的输入,包括激光雷达、视觉图像、GPS、惯导、毫米波雷达等都可以归类为感知。

2.地图。就是指高精度地图,它与普通导航地图的最大区别是:高精度地图主要用于定位,是给机器看的。导航地图主要用于路径规划,是给人看的。高精度地图有着20cm绝对精度,5cm相对精度,具有全要素,车道集级等等,在我看来其就是对真实世界的标注而已,跟图像标注没有什么本质区别。它的形似是多种多样的,由纯矢量的,比如:

手撕自动驾驶(一)自动驾驶初探

也有点云形式的(压缩点云),也叫定位图层,它工作起来可能是这样的:

手撕自动驾驶(一)自动驾驶初探

当然,还有很多很多的形式,比如将图像特征点存下来据说也可以定位,这里就不赘述了。

3.定位。我认为定位模块是这7个模块里最重要的模块。顾名思义,定位就是确定无人车自身的位置,注意这里的位置并不是指它在真实世界种的位置,而是它在高精度地图种的位置,这也解释了为什么高精度地图可以加偏,不必使用真实位置,否则国家测绘局肯定不干的。一旦确定了无人车在高精度地图中的位置,高精度地图就像两根铁轨一样,把无人车夹在里面,就跟火车一样,是不是比汽车要安全多了,就是这个道理。

        根据感知传感器的不同,定位方法也是不同的。比如传感器是GPS+IMU,那定位方法就是组合导航,卡尔曼滤波。如果传感器是点云,那定位方法就是直方图滤波NDT,它是将高精度地图看成许多空间分布的集合,用的最多的是正态分布,点云中每一个点映射到空间分布中,都可以得到一个概率值。不同的定位姿态会得到不同的映射,那最佳的定位姿态就是每个点概率值之和最大的那个姿态,这可以通过EM算法进行迭代优化,效率也很高,上面所讲的定位图层就是用了这种办法。

       接下来讲到本系列的重点:视觉定位,通常视觉定位就是指SLAM,它是指根据同名点计算后一帧相对于前一帧的相对位姿,从而将定位位姿传导下去,获取每一帧相对于第一帧的相对位姿的方法。根据求同名点的方法可以分为特征点法和直接法,根据前后位姿优化的不同可分为卡尔曼滤波和bunder adjustment。另外,它还通过回环检测保证第二次进入场景与第一次进入时的位姿是一致的。看起来它并不需要高精度地图,但这也是他的致命弱点,它只能得到相对于前一帧的位姿,推下去也只是知道相对于第一帧的位姿,它只能知道自己有没有变道,对于究竟处于第几车道,前面100米还是200米需要变道没有概念。而且随着误差累计,它与第一帧的位姿也越来越不准确。它并没有一个宏观的认识,扫地机器人还好,毕竟就屁大点地方,多跑几次就有了。在真实世界中往往只给一次机会,所以光有帧间位姿是不够的。而且对于单目SLAM来说,还有尺度漂移问题,有GPS+IMU作为修正会好一点。

      因此,我认为视觉定位也是需要高精度地图的,高精度地图就会提供给无人车一个参照。那么问题来了,假如有了高精度地图,那么问题转变为怎么获取无人车与高精度地图的相对位姿,那它与第一帧的相对位姿就显得不那么重要了。我认为消耗那么大算力去优化帧间相对误差并没有太大意义,我认为其意义在于可以平滑前后帧的位姿,而这也就用卡尔曼滤波就足够了,不需要SLAM这么重型的东西。

4.预测。无人车除了要知道自己的位置之外,还需要预测其他车的运动轨迹,人、自行车、摩托车等非静态物接下来想要干什么,比如前方车要变道,你就要慢慢减速,等等。这个不难理解,我们人就是这样的,知己知彼么,开车不能只管一股脑往前开,得随时变通。当然,这里得预测只是针对非静态物,静态物就不需要预测了,因为它是不会动的,这里高精度地图也有一个作用,它可以帮助无人车区分哪些是静态物。因为高精度地图就是静态的,只要能跟高精度地图匹配上的地物,那就不用预测了,这就减轻了预测的负担,节省了算力,算力对无人车是极其重要的。

5.规划、导航、控制。这三个我就不多讲了,实际上我也不懂,大概就是路径规划,车辆控制等。

接下来,我要说一个我做过的项目,项目目的就是通过普通相机拍摄的照片、行车轨迹(只有简单的GPS位置)、高精度地图三样输入,完成无人车定位的目的。

需要了解更多数据库技术:手撕自动驾驶(一)自动驾驶初探,都可以关注数据库技术分享栏目—编程笔记


推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • SLAM优秀开源工程最全汇总
    https:zhuanlan.zhihu.comp145750808 1、CartographerCartographer是一个系统,可跨多个平台和传感器配置以2D和3D形式提供实 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了新款奇骏的两个让人上瘾的功能,分别是智能互联系统和BOSE音响。通过对新款奇骏的配置和功能进行评测,探讨了这两个新增功能的使用体验和优势。此外,还介绍了新款奇骏的其他配置和改进,如增加的座椅和驾驶辅助系统,以及内饰的舒适性提升。对于喜欢音响的消费者来说,BOSE音响的升级也是一个亮点。最后,文章提到了BOSE音响的数字还原能力,以及7座版无法配备BOSE音响的原因。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
author-avatar
手机用户2602929765
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有