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)——定位技术相关推荐

  1. Apollo学习笔记 进阶课程之三:定位技术②

    Apollo学习笔记 进阶课程之三:定位技术② 百度的无人驾驶定位方案 1).GNSS定位 GPS误差来源: 上图为单点定位,基于TOA 载波定位技术:(RPK技术,PPP技术) RPK:可以在五秒内 ...

  2. Apollo学习笔记

    Apollo学习笔记 Apollo课程 智能驾驶入门课程 无人驾驶概览 1.软件层分为三层: 实时操作系统(RTOS):确保在给定时间内完成特定任务,实时时确保系统稳定性.驾驶安全性的重要要求.通过在 ...

  3. Apollo学习笔记3-定位模块配置

    Apollo学习笔记3-定位模块配置 环境介绍 导航设备参数配置 导航设备配置 (1)杆臂配置 (2)GNSS 航向配置 (3)导航模式配置 (4) USB 接口输出设置 (5)网口配置 (6) PP ...

  4. Windows phone 8 学习笔记(8) 定位地图导航

    Windows phone 8 学习笔记(8) 定位地图导航 原文:Windows phone 8 学习笔记(8) 定位地图导航 Windows phone 8 已经不使用自家的bing地图,新地图控 ...

  5. Windows phone 8 学习笔记(8) 定位地图导航(转)

    Windows phone 8 学习笔记(8) 定位地图导航(转) Windows phone 8 已经不使用自家的bing地图,新地图控件可以指定制图模式.视图等.bing地图的定位误差比较大,在模 ...

  6. PE病毒学习笔记——初识感染技术 (转自看雪学院)

    [分享]PE病毒学习笔记--初识感染技术 <script type="text/javascript"></script>   标 题: [分享]PE病毒学 ...

  7. 学习笔记10--CAN总线技术

    本系列博客包括6个专栏,分别为:<自动驾驶技术概览>.<自动驾驶汽车平台技术基础>.<自动驾驶汽车定位技术>.<自动驾驶汽车环境感知>.<自动驾驶 ...

  8. TensorFlow学习笔记——《TensorFlow技术解析与实战》

    著名历史学家斯塔夫里阿诺斯在<全球通史>中,曾以15世纪的航海在"物理上"连通"各大洲"作为标志将人类历史划分为两个阶段.在我正在写作的<互联 ...

  9. Apollo学习笔记(4)坐标系

    百度Apollo项目用到了多种坐标系,其中帮助文档提及的坐标系包括: 全球地理坐标系(The Global Geographic coordinate system ) 局部坐标系-东-北-天坐标(T ...

最新文章

  1. locust入门:单机使用locust运行压力测试
  2. SRWebSocket源码浅析(下)
  3. Linux基础系列(四)系统用户和组管理
  4. dedecms调用自定义会员模型会员信息的方法
  5. n 如何编写html,webpack4系列教程,如何编写plugin处理html代码逻辑?
  6. razor 怎样使用session变量_Nginx负载均衡解决session一致性问题
  7. 理解 Python 面向对象
  8. JQuery中的类选择器
  9. [JDBC] Kettle on MaxCompute 使用指南
  10. SpringBoot实战教程(5)| 整合Freemaker
  11. shell脚本实现printf数字转换N位补零
  12. 微软全球执行副总裁沈向洋:人工智能的机遇和挑战
  13. mysql replication(主从复制)(二)MSS模式
  14. 电商十四、pinyougou02.sql的内容⑤
  15. C语言中abs()用法及其他绝对值函数
  16. 实习生如何在平淡无奇的工作中凸显自我价值?
  17. Cpp多重继承会产生的问题
  18. 用python画一条虚线_Python3 tkinter基础 Canvas create_line 画实线与虚线
  19. 锂电池电量百分比计算_锂离子电池容量计算之电压法
  20. OpenCV 文字绘制cv::putText详解

热门文章

  1. 2023java面试题47道选择题及答案[来看看你能做对多少!!!]
  2. uniapp实现微信小程序用户实时位置定位并显示地图
  3. 送书 | 《看漫画学Python》:不一样的学习体验!
  4. X Chen笔记---Centos安装锐速
  5. 【工作笔记】PathFileExists 返回 FALSE
  6. [转]防火墙、防病毒网关、IDS以及该类安全产品开发(文章汇总) 1
  7. Linux 查看占用资源cpu、内存最大的进程命令
  8. python web.py
  9. 每日思考第 74 期:幸福的汉堡模型
  10. scala传值调用和传名调用