二、Apollo高精地图详解(2. 高精地图的采集、生产与格式规范)
2. 高精地图的采集、生产与格式规范
- 高精地图的采集——传感器
传感器 | 原理 | 备注 |
---|---|---|
GPS | 确定四颗或者更多卫星的位置并计算出GPS接收设备与每颗卫星之间的距离,然后用这些信息使用三维空间的三边测量法推算出自己的位置。要使用距离信息进行定位,接收机还必须知道卫星的确切位置。GPS接收机储存有星历,其作用是告诉接收机每颗P星在各个时刻的位置 | GPS定位信息很容易有几十厘米甚至几米的误差。 空旷的地方比较准确,城市环境中高楼的遮挡可能造成偏移 |
IMU | 一般使用6轴运动处理组件 ,包含了3轴加速度和3轴陀螺仪。加速度传感器是力传感器,用来检查上下左右前后哪几个面都受了多少力(包括重力),然后计算每个面上的加速度。陀螺仪是角速度检测仪,检测每个角上的加速度。 | 从加速度推算出运动距离需要经过两次积分,所以,但凡加速度测量上有任何不正确,在两次积分后,位置错误会积累然后导致位置预测错误。高端的IMU可以保持比较长时间的计算,低端的在丢失GPS信号的情况,保持准确的时间较短 |
轮速计 | 我们可以通过轮测距器推算出无人车的位置。汽车的前轮通常安装了轮测距器,分别会记录左轮与右轮的总转数。通过分析每个时间段里左右轮的转数,我们可以推算出车辆向前走了多远,向左右转了多少度等 | 可是由于在不同地面材质(比如冰面与水泥地)上转数对距离转换的偏差,随着时间推进,测量偏差会越来越大 |
激光雷达 | 通过首先向目标物体发射一束激光,然后根据接收-反射的时间间隔来确定目标物体的实际距离。然后根据距离及激光发射的角度,通过简单的几何变化可以推导出物体的位置信息 | LIDAR系统般分为三个部分 :一是激光发射器 ,发出波长为600nm到1000nm的激光射线;二是扫描与光学部件,主要用于收集反射点距离与该点发生的时间和水平角度;三是感光部件,主要检测返回光的强度。因此我们、检测到的每一个点都包括了空间坐标信息以及光强度信息 |
高精地图的生产
——计算模型
首先IMU及轮测距器可以高频率地给出当前无人车的位置预测,但由于其精确度原因,位置可能会有一定程度偏差。为了纠正这些偏差,可以使用传感器融合计技术结合GPS与激光雷达( LiDAR )的数据算出当前无人车的准确位置。然后根据当前的准确位置与激光雷达的扫描数据,把新数据加入地图中。
——一个简化的高精地图计算模型
Q代表优化方程
z代表激光雷达扫描出的点
h为方程预测最新扫描点的位置
m为描到的点在地图中的位置
x代表无人车当前位置
这个方程的目的是通过最小化J求出测量点在地图中的准确位置。在计算模型中,m与x开始都是未知的,可以先通过多传感器融合求x,再求出测量点在地图中的准确位置m。
——视觉制图
与激光雷达融合使用,激光点云和camera图像结合——百度×Apollo
计算硬件强大,在线实时检测生成——英伟达
纯视觉制图,精度20cm——宽凳
厘米级精度的纯视觉制图——DeepMotion高精地图的格式规范
- NDS的一些概念
格式文档比较全面;
支持局部更新升级;
有尺度的概念;
分块,比如地图小格子块加载
- OpenDRIVE的一些概念
道路表述有Section的概念
Lane
Reference Line的ID必须从0开始
Junction路口,虚拟路
基于Reference Line和偏移量,所有车道线描述都基于参考线的偏移
tracking坐标系ST,S指相对于车道的参考线的起点的偏移量,T指基于参考线的横向偏移量
heading、pitch、roll等概念
二、Apollo高精地图详解(2. 高精地图的采集、生产与格式规范)相关推荐
- Kotlin_高阶函数详解
Kotlin_高阶函数详解 定义高阶函数 高阶函数用法 高阶函数模仿实现apply 内联函数的作用 高阶函数的实现原理 内联函数 noinline和crossinline noinline 非内联函数 ...
- responseentity 详解_大六壬毕法赋精注详解(1)【六壬】
大六壬<毕法赋>精注详解(1)大六壬"毕法赋"(上) 前后引从升迁吉,首尾相见始终宜.帘幕贵人高甲第,催官使者赴官期. 六阳数足须公用,六阴相继尽昏迷.旺禄临身徒妄作, ...
- Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!...
Android高效率编码-第三方SDK详解系列(一)--百度地图,绘制,覆盖物,导航,定位,细腻分解! 这是一个系列,但是我也不确定具体会更新多少期,最近很忙,主要还是效率的问题,所以一些有效的东西还 ...
- 我的世界天空之城服务器位置,我的世界天空之城建筑地图详解(附存档)
我的世界空岛生存地图详解 首次制作的空岛地图.那废话就不多说了,那下面就一起来看看下面的这个玩家首次制作的空岛生存地图吧!喜欢的玩家还可以下载下来玩玩哦~ 游戏园我的世界官方群: 325049520 ...
- Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!
Android高效率编码-第三方SDK详解系列(一)--百度地图,绘制,覆盖物,导航,定位,细腻分解! 这是一个系列,但是我也不确定具体会更新多少期,最近很忙,主要还是效率的问题,所以一些有效的东西还 ...
- Java高并发编程详解系列-Java线程入门
根据自己学的知识加上从各个网站上收集的资料分享一下关于java高并发编程的知识点.对于代码示例会以Maven工程的形式分享到个人的GitHub上面. 首先介绍一下这个系列的东西是什么,这个系列自己 ...
- python数据挖掘课程】二十一.朴素贝叶斯分类器详解及中文文本舆情分析
#2018-04-06 13:52:30 April Friday the 14 week, the 096 day SZ SSMR python数据挖掘课程]二十一.朴素贝叶斯分类器详解及中文文本舆 ...
- python中quad_python用quad、dblquad实现一维二维积分的实例详解
背景: python函数库scipy的quad.dblquad实现一维二维积分的范例.需要注意dblquad的积分顺序问题. 代码: import numpy as np from scipy imp ...
- 【正点原子Linux连载】第三十二章 U-Boot启动流程详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
最新文章
- memcache php mysql_PHP中的数据库二、memcache
- windows10 ubuntu 无法连接到 无法建立到 raw.githubusercontent.com 的服务器 IP 地址,解决办法
- Java IO流中 File文件对象与Properties类(四)
- windows下的php的memcache扩展的安装及memcache最新下载地址
- mysql制作html静态网页6_将数据库中的所有内容生成html静态页面的代码
- Word2Vec详解
- 成功解决ValueError: could not convert string to float: ‘\\N‘
- SpringBoot+thymeleaf实现文件下载(已实践,全流程)
- ORA-00018: maximum number of sessions exceeded 超出最大会话数
- js 循环 等待异步执行完再执行_JS异步执行机制——事件循环(Event Loop)
- BZOJ 2708 [Violet 1]木偶 DP
- Android6.0之后的权限机制对App开发的影响
- 转 Android adb root权限
- handsome 404页面
- 协调世界时转换为GPS周秒(转载)
- 阿里无影云电脑 试用评测
- Linux tac命令
- 会议记录管理系统(6) - 查找会议记录模块设计
- 谷歌野心有多大?曾有意联合腾讯收购 Epic、计划 5 年成为全球最大游戏平台!
- 传奇服务器固态硬盘和陈列,租用服务器选择固态硬盘的优点和缺点