[笔记]Udacity 无人驾驶第一课:从Apollo起步

本笔记出处:
Apollo:https://github.com/ApolloAuto/apollo

高精度地图 HD map

1、高精度地图相比较于普通地图需要更精准知道,车辆的具体位置,精度达到厘米级。高精度地图需要具备更多的信息,包括红绿灯、交通标示、车道线、城市建筑的三维模型等。三维模型可以通过图像、Lidar扫描融合完成,技术步骤包括图像和信号预处理、转换至同一坐标系、最后融合。

2、如何精确定位?车辆实时感知信息和高精度地图的信息进行对比,就能判断精确位置。

3、一项技术介绍:a region of interest/ROI。在特定位置寻找特定物体,例如停车标示,以提高定位精确度和速度。

Apollo高精地图的道路元素定义

Apollo HD map构建过程

定位 Locailzation

技术方案一:GNSS RTK(Global Navagation Satellite System & Real Time Kinematic)

GPS的更新频率为约100ms。

RTK的技术原理

技术方案二:IMU-惯性测量单元(Inertial Measurement Unit 惯性导航)

必要部件:三轴加速度传感器和陀螺仪(gyroscope)

特征:高频更新,频率约1000Hz

缺点:误差会随时间不断累积

技术方案三:LiDAR

利用LIDAR的实时点云和HD map点云进行matching,实现点位。

涉及算法Algorithms:ICP(Iterative closest point)迭代最近点、Filter algorithms、Kalman filter卡尔曼滤波

Apollo使用的是Histogram Filter(也称为Sum of Squared Difference误差平方和算法)

Kalman filter根据过去车辆状态预测未来车辆状态

总结:先预测未来位置,然后再用传感器精确测量,是最佳组合。该技术方案的优点是配合HD map后精确定位的鲁棒性高,缺点是map总是在不断更新,且曾经测量的地图中存在很多瞬态元素。

技术方案四:视觉定位

Particle filter粒子滤波:通过多次图像和地图的对比,计算各可能位置的概率,最终定位

Apollo定位技术方案:

包含GPS-全球定位系统、IMU-惯性测量单元、LiDAR(激光雷达)-光探测与测距传感器。

Diffusion Framework如下:

感知Perception

1. 计算机视觉

四个核心任务:Detection检测(确认图像的哪个位置有XX物体)、Classification分类(识别是什么物体)、Tracking跟踪、Segmentation语义分割(将图像的每个像素与语义类别进行匹配,如道路、汽车或天空)

Classifier的一般工作流程

2. 摄像头图像Camera Image

RGB(Red Green Blue)类型图像是由三层二维图像组成的图像。

3. LiDAR图像

三维点云

4. 机器学习

Supervised Learning:以人类提供真值标记为前提

Unsupervised Learning:以人类不提供真值标记为前提

Semi-supervised Learning:一部分标记、一部分不标记

Reinforcement Learning:允许模型尝试多种解决办法,然后衡量哪种方案最成功,最后修正其方法已达目标(从经验中总结和改进)

5. 神经网络Neural Network

应用于机器学习。在图像中提取多特征,对于特征的权重进行分配,以完成图像中物体的识别。

6. 反向传播算法(神经网络的训练算法)

步骤:Feed Forward前馈、error measurement误差测量和backpropagation反向传播

1⃣人为输入前馈

2⃣误差测量

3⃣反向传播

最终:神经元反复微调修正,使output达到真值

7.卷积神经网络CNN(convolutional neural network)

(特别适用于处理Perception,无需将图像转化为一维进行一般的神经网络计算,可以保留二维和三维的特征)

8.检测和分类

方案一:先用CNN检测红绿灯在图像中的位置,再用另一个CNN检测是红灯还是绿灯

方案二:直接用一个CNN完成检测和分类

9.跟踪Tracking

跟踪的意义:对不同时刻的某物体检测和分类建立关系,即增加了时间维度。好处在于:1⃣某一step对物体的检测失败,可以参考其他时刻;2⃣对某物体的多step的检测,对物体建立更准确的信息,包括形状、速度等;3⃣当某物体被其他物体遮挡,可以通过跟踪确认其位置;4⃣为下一step的图像预测提供信息,提高感知精度

10.语义分割Segmentation

全卷机网络FCN(Fully Convolutional Network)

FCN的论文:https://arxiv.org/pdf/1411.4038.pdf

11.Apollo感知

12.传感器比较

雷达与激光雷达

雷达已经在汽车上使用很多年,在各种系统中都需要雷达,如自适应巡航控制、盲点警告、碰撞浸膏和碰撞预防系统等。尽管雷达技术已经成熟,它仍在不断进步,作用不断提升。其他传感器测量速度的方法是计算两次读数之间的差距,而雷达则通过多普勒效应来直接测量速度。多普勒效应根据对象在远离还是接近你,测量出雷达的频率变化。就像消防车警报器一样,当车辆正在远离你和驶向你时,听起来声是不一样的。多普勒效应对传感器融合至关重要。因为它可以把速度作为独立的测量参数,从而提升了融合算法的收敛速度。雷达还可以生成环境的雷达地图,进而实现定位。因为雷达波在坚硬表面会回弹。因此,它可以直接测量对象距离,无需在视线范围内也可以。雷达可以看到其他车辆底部。并发现可能会被阻挡的建筑物和对象。在车上的所有传感器中,雷达是至不容易受雨雾影响的。而且视野宽阔,可达 150 度,距离可达200 多米。与激光雷达和摄像头相比,雷达分辨率较低,尤其是在垂直方向,分辨率非常有限。分辨率低意味着来自静态物体的反射可能产生问题。例如,街道上检修孔盖或汽水罐,可能产生很高的雷达反射率,但他们并不大。我们将其称为雷达杂波。因此,当前的车载雷达通常会忽视静态物体。

激光雷达是激光探测与测量的简称,而雷达则谁无线电探测与测量的简称。雷达使用无线电波,而激光雷达则使用红激光束来确定传感器和附近对象的距离。目前的激光雷达大多使用 900 纳米光波长度的光源。但部分激光雷达使用的光波长度更长,在雨雾中性能更好。当前的激光雷达使用旋转座架发射激光,扫描周边环境。激光室脉冲式的,脉冲被对象反射,然后返回一个点云,来代表这些物体。激光雷达的空间分辨率远远高于雷达。因为激光束越聚焦,垂直方向的扫描层数量就越多,因此每层的激光雷达的密度也越高。目前,激光雷达还不能直接测量对象的速度,必须使用两次或多次扫描之间的位置差来确定。激光雷达受天气和传感器清洁程度影响也很大,因此需要保持清洁。它们块头也比其他传感器更大,因此也很难安装,除非你只想在车顶安装一个大的激光扫描器。

预测Prediction

1. 预测方式

1⃣基于模型的预测Model-based prediction

基于物理知识、交通法规、人类行为等进行预测

2⃣基于数据驱动的预测 Data driven prediction

机器学习

2. 基于车道序列的预测Lane Sequence-Based Prediction(Apollo)

将车道分割成序列,用车辆在不同序列间切换,描述车辆行为,例如下午预测车辆行为为直行,表征为在Lane0、1、3、7间按顺序切换

3.障碍物状态

例如其他车辆,需要确定其位置(所处车道)、车速、加速度,甚至其与车道线的距离等。同时也要考虑其历史状态,更精准地预测

4.预测目标车道

车辆行为预测转换为车道选择,而车道选择的Model用机器学习等方式训练,提供各车道的选择概率

5.递归神经网络RNN(Recurrent Neural Network)

其为一种利用时间序列数据特征的一种预测方法。

递归神经网络的第n个MLP不仅受Element的影响,也受到第n-1个MLP影响。类似时间序列,前后的Unit就可以相互联系并作用,组成一个整体。应用例如:识别一串字符。

备注:单个MLP Unit描述如下,即一个普通的神经网络单元

6.RNN在目标车道预测中的应用

7.轨迹生成

分段轨迹,确定每段的起点和终点,利用车速、加速度等计算出轨迹(该轨迹不一定完全正确,但已经足够用了)。

规划Planning

第一层:地图上的路线规划

1.路由

The routing module的三个输入,包括起点、终点和地图信息(包括实时交通)。

2.世界到图

将地图上的路径表述为直线和节点的关系

3.A*算法(A Star)

第二层:路径/轨迹细节规划

3.轨迹

三维轨迹3D Trajetory(2维地图的点+各点1维时间)

轨迹约束:非碰撞、乘坐舒适性、物理极限、法规限制

4.成本/损失函数Cost function

通过该函数评估各条轨迹,选择Cost最低的轨迹

5.Frenet坐标系

纵坐标表示车辆行驶的距离,横坐标表示车辆偏离车道中心线的距离

如果道路弯曲,纵坐标也弯曲,但横坐标和纵坐标始终的垂直的

技术方案一:路径-速度规划 Path-Velocity Decoupled Planning

首先将路径和车速解藕,分别单独评估选择。

路径规划:在道路轨迹上画点连轨迹线,再用Cost函数评估各轨迹线

速度规划:

引入概念:ST图

S:距离;T:时间。曲线斜率越大,车速越高

将外部障碍物占据的路径段和时段在ST图上表示出来,再根据Cost函数计算最佳路径

二次规划Quadratic Programming:将平滑的非线性曲线和分段式线性段拟合,优化ST曲线

技术方案二:Lattice规划

ST图

LS图:L表示车辆偏离车道的距离

Lattice利用Frenet坐标把路径规划解耦成ST和LS,根据车辆的初始状态和终止状态确定n个ST和LS的组合,对各条路径的ST和LS进行Cost函数评估,选出最佳路径

车辆的ST终止状态,常为巡航、跟随其它车辆或停止。

车辆的LS终止状态,始终为处于车道中心线

以ST距离,用数据表达状态,初始状态将表示为 : (s0​,s0​˙​,s0​¨​),结束状态将表示为: (s1​,s1​˙​,s1​¨​),再利用拟合的多项式求解( s(t)=at5+bt4+ct3+dt2+et+f)

技术方案三:状态机

状态机包括转向、加速、减速等

控制Control

技术方案一:PID(Proportional -Integral-Derivative)

PID的缺点:1⃣在自动驾驶场景,需要两个PID来控制Steering和Acceleration,但是两者很难结合起来;2⃣Planning和Result的实时测量误差存在延迟,实时性较差,会降低PID的控制效果。

Apollo控制模块中的纵向控制器用的是PID算法。

(VCU控制中应用PID案例:巡航控制。根据Delta Speed确定控制目标加速度a,控制:前馈项+P项+I项;前馈项为车辆不同车速下的阻力)

技术方案二:线性二次调节器LQR(Linear Quadratic Regulator)

Apollo控制模块中的横向控制器用的是LQR。

 x˙=Ax+Bu 为状态空间方程维基百科中移动物体的范例

技术方案三:模型预测控制MPC(Model Predictive Control)

步骤:1⃣建车辆模型;2⃣使用优化引擎计算有限时间范围内的控制输入;3⃣执行第一组控制输入。再每个计算step执行这些步骤

预测的越远(黄色线条),其轨迹越接近Planning轨迹,但是耗时间和资源约多,不利于实时控制的需要

成本函数

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,254评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,875评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,682评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,896评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,015评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,152评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,208评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,962评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,388评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,700评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,867评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,551评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,186评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,901评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,689评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,757评论 2 351

推荐阅读更多精彩内容

  • 从 Apollo 起步-Lesson 1:无人驾驶概览 无人驾驶概览 Udacity无人驾驶项目负责人David ...
    智车科技阅读 1,463评论 0 1
  • 无人驾驶感知就是汽车通过传感器或者摄像头等识别周边的环境。计算机视觉就是计算机感知识别周边环境的手段。 计算机视觉...
    DonkeyJason阅读 4,162评论 0 4
  • 2017年无人驾驶还处于积极研发和普及期,民用的测试和技术探索也主要在小型汽车方面,各大巨头都将2020年作为一个...
    方弟阅读 7,062评论 1 16
  • 作者:温利武 班级:1402019 学号:14020199041 【嵌牛导读】:本文梳理总结了前面11篇涉及...
    wlw_1fdf阅读 1,086评论 2 6
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,517评论 16 22