百度Apollo学习笔记(1)——定位技术
1.无人车的定位是什么
无人车的定位就是确定无人车相当于一个坐标系的位姿。
- 坐标系包括了全局坐标系和局部坐标系
- 位姿包括了6个自由度(如下图所示)
2.定位系统指标要求
项目 | 指标 | 理想值 |
---|---|---|
精度 | 误差均值 | <10cm |
鲁棒性 | 最大误差 | <30cm |
场景 | 覆盖场景 | 全天候 |
3.无人车定位方法
- 基于电子信号定位(GNSS、Wifi、Cell phone、FM radio、UWB)
- 航迹推算(IMU、Odometry)
- 环境特征匹配(Lidar、Radar、Camera)
4.定位常用坐标系
4.1 地心惯性坐标系(ECI)
- 地心惯性坐标系是原点在地心
- z轴指向北极星
- x、y轴位于赤道平面上,与z轴满足右手法则,指向两颗恒星
- 常作为地球表面传感器输出的惯性坐标系
4.2 地心地固坐标系(ECEF)
地心地固坐标系(Earth-Centered, Earth-Fixed,简称ECEF)简称地心坐标系,是一种以地心为原点的地固坐标系(也称地球坐标系),是一种笛卡儿坐标系。
- 原点 O (0,0,0)为地球质心
- z 轴与地轴平行指向北极点
- x 轴指向本初子午线与赤道的交点
- y轴垂直于xOz平面(即东经90度与赤道的交点)构成右手坐标系
- 与地球固连在一起,随地球转动
4.3 当地水平坐标系
- 原点位于载体所在的地球表面
- x、y轴在当地的水平面内,分别指向东和北
- z轴竖直向上
- 和地球固连一起
- 机器人领域中的世界坐标系
- 常在导航解算过程中被选为导航坐标系(n系),也称“东北天(ENU)”坐标系或者“北东地(NED)”坐标系
4.4 通用横轴墨卡托投影(UTM投影)
通用横轴墨卡托投影(Universal Transverse Mercator),简称UTM,是一种国际标准化的地图投影法。它使用笛卡儿座标系,标记南纬80°至北纬84°之间的所有位置。
座标格式如下︰[经度区间][纬度区间] [方格座标]
纬度区间:从南纬80°开始,每8°被编排为一个纬度区间,而最北的纬度区间(北纬74°以北之区间)则被延伸至北纬84°,以覆盖世界上大部分陆地。每一个纬度区间均以一个英文字母表示,由南向北数以"C"至"X"编排。
经度区间:每6°被编排为一经度区间。每一个经度区间均以一个数字表示,由西向东数以01至60编排。
方格座标:方格由每一个纬度和经度区间重叠而成,而一点的方格座标指该点由方格西南角起计向北和向东的距离。座标可由不同位数的数字组成,视乎准确度而定。一般会以4位数或6位数报告。
- 一般定位输出所采用的坐标系
4.5 车体坐标系
车体坐标系有“右前上(RFU)”坐标系、“前左上(FLU)”坐标系等。一般采用的是“右前上(RFU)”坐标系。
- 原点位于载体质量中心与载体固连(通常选取后轴中心位置)
- x轴沿载体轴向指向右
- y轴指向前
- z轴指向上
4.7 IMU坐标系
- 原点为加速度计和陀螺仪的坐标原点
- xyz三轴与加速度计和陀螺仪的对应轴平行
- 因为IMU与载体固连,所以不考虑安装误差角情况下,载体坐标即为IMU坐标系
4.8 相机坐标系相
- 原点为相机光心
- xy轴与成像平面坐标系的对应轴平行
- z轴为相机的光轴
4.6 激光雷达坐标系
- 原点位于多线束中点旋转轴的交点处
- z轴沿轴线向上
- xy轴构成水平平面与z轴垂直
5.百度无人车定位技术
5.1 百度无人车方案
- “探路者”
- 无人驾驶微循环车——“阿波龙”
- 无人驾驶物流车——“新石器”
5.2 GPS定位技术
- 电文已知,根据时间可以推算卫星的位置
- 距离交汇
- 本地钟差较大,设参估计,需要4颗卫星
- 定位精度5~10m
5.3 载波定位技术
与基于TOA的伪距不同,载波由接收机内部环路锁相环给出的不足整周部分。常用载波定位技术包括RTK和PPP技术。目前无人车主要采用RTK技术。
RTK技术特点:
- 基本5s内提供cm级别的定位精度
- 缺点在于需要建基站及双向链路(4kpbs)
5.4 激光点云定位技术
5.4.1 点云定位算法框架
- 输入包括预测的位姿和实时点云信息
- 输出四个维度信息,xyz和yaw
5.4.2 定位地图
- 反射值地图。颜色值(灰度值)和颜色值的方差。
- 高度值地图
5.4.3 基于Histogram Filter的激光点云定位
(x,y)优化:
SSD-Sum of Squared Difference(平方差总和):
d ( u , v ) = ∑ ( x , y ) ( f ( x , y ) − t ( x − u , y − v ) ) 2 d(u,v)=\sum _{(x,y)}(f(x,y)-t(x-u,y-v))^2 d(u,v)=(x,y)∑(f(x,y)−t(x−u,y−v))2
航向角(yaw)优化: Lucas-Kanade算法
5.5 视觉定位技术
通过识别图像中具有语言信息的稳定特征,并与地图匹配来获得车辆的位置和朝向。
特点:
- 相机技术成熟,结构化地图尺寸小,成本低
- 车道线、路灯等道路信息稳定性高,不易变动,地图生命周期较长
- 配置灵活,易于扩展
算法流程:
5.6 捷联惯性导航技术
- 初始条件:初始速度和位姿。
- 输入数据:惯性测量元件测得的角和线的运动参数。
- 解算方法:捷联惯性导航解算和IMU数据积分
- 输出结果:实时速度和位姿。
- 优点:自主性、隐蔽性;可获得三维速度和位姿信息;输出频率高;短时间精度高。
- 缺点:误差随时间累积。
5.7 组合导航技术
- 系统组成:两种或两种以上非相似的导航系统组成。
- 必要条件:可以对同一信息进行测量。
- 融合方法:卡尔门滤波算法
- 优点:弥补每个子系统的缺点;充分发挥每个子系统的优势;提高系统的稳定性。
百度Apollo学习笔记(1)——定位技术相关推荐
- Apollo学习笔记 进阶课程之三:定位技术②
Apollo学习笔记 进阶课程之三:定位技术② 百度的无人驾驶定位方案 1).GNSS定位 GPS误差来源: 上图为单点定位,基于TOA 载波定位技术:(RPK技术,PPP技术) RPK:可以在五秒内 ...
- Apollo学习笔记
Apollo学习笔记 Apollo课程 智能驾驶入门课程 无人驾驶概览 1.软件层分为三层: 实时操作系统(RTOS):确保在给定时间内完成特定任务,实时时确保系统稳定性.驾驶安全性的重要要求.通过在 ...
- Apollo学习笔记3-定位模块配置
Apollo学习笔记3-定位模块配置 环境介绍 导航设备参数配置 导航设备配置 (1)杆臂配置 (2)GNSS 航向配置 (3)导航模式配置 (4) USB 接口输出设置 (5)网口配置 (6) PP ...
- Windows phone 8 学习笔记(8) 定位地图导航
Windows phone 8 学习笔记(8) 定位地图导航 原文:Windows phone 8 学习笔记(8) 定位地图导航 Windows phone 8 已经不使用自家的bing地图,新地图控 ...
- Windows phone 8 学习笔记(8) 定位地图导航(转)
Windows phone 8 学习笔记(8) 定位地图导航(转) Windows phone 8 已经不使用自家的bing地图,新地图控件可以指定制图模式.视图等.bing地图的定位误差比较大,在模 ...
- PE病毒学习笔记——初识感染技术 (转自看雪学院)
[分享]PE病毒学习笔记--初识感染技术 <script type="text/javascript"></script> 标 题: [分享]PE病毒学 ...
- 学习笔记10--CAN总线技术
本系列博客包括6个专栏,分别为:<自动驾驶技术概览>.<自动驾驶汽车平台技术基础>.<自动驾驶汽车定位技术>.<自动驾驶汽车环境感知>.<自动驾驶 ...
- TensorFlow学习笔记——《TensorFlow技术解析与实战》
著名历史学家斯塔夫里阿诺斯在<全球通史>中,曾以15世纪的航海在"物理上"连通"各大洲"作为标志将人类历史划分为两个阶段.在我正在写作的<互联 ...
- Apollo学习笔记(4)坐标系
百度Apollo项目用到了多种坐标系,其中帮助文档提及的坐标系包括: 全球地理坐标系(The Global Geographic coordinate system ) 局部坐标系-东-北-天坐标(T ...
最新文章
- locust入门:单机使用locust运行压力测试
- SRWebSocket源码浅析(下)
- Linux基础系列(四)系统用户和组管理
- dedecms调用自定义会员模型会员信息的方法
- n 如何编写html,webpack4系列教程,如何编写plugin处理html代码逻辑?
- razor 怎样使用session变量_Nginx负载均衡解决session一致性问题
- 理解 Python 面向对象
- JQuery中的类选择器
- [JDBC] Kettle on MaxCompute 使用指南
- SpringBoot实战教程(5)| 整合Freemaker
- shell脚本实现printf数字转换N位补零
- 微软全球执行副总裁沈向洋:人工智能的机遇和挑战
- mysql replication(主从复制)(二)MSS模式
- 电商十四、pinyougou02.sql的内容⑤
- C语言中abs()用法及其他绝对值函数
- 实习生如何在平淡无奇的工作中凸显自我价值?
- Cpp多重继承会产生的问题
- 用python画一条虚线_Python3 tkinter基础 Canvas create_line 画实线与虚线
- 锂电池电量百分比计算_锂离子电池容量计算之电压法
- OpenCV 文字绘制cv::putText详解