发表文章

[最新] 无人驾驶入门十讲学习一(1)、技术+原理

xundh 5月前 2

本系统文章来自于CSDN 《无人驾驶入门十讲》在线课程学习笔记。

一、无人驾驶学习目录

无人驾驶是一个复杂的系统,涉及技术点种类多且跨度大。
本课程主要内容:
无人驾驶定位导航、感知、决策控制等算法;深度学习、强化学习、无人驾驶软硬件平台;安全与云平台等、高精度地图。
最后会有Apollo2实战、仿真。

教材
《第一本无人驾驶技术书》

论文以及其他辅助知识
- 定位:点云配准实现定位
- 目标识别:多传感器融合
- 实现目标识别
- 路径规划:车道线检测
- …

Apollo2 实战

二、Appolo运行图

这里写图片描述

Appolo运行流程

  1. 用户输入目的地,routing模块计算出具体的导航信息
  2. 激光雷达、毫米波雷达和摄像头拍摄到的数据配合高精度地图由percepting模块计算出3D的障碍物的轨迹,结合以上信息并根据车辆定位模块localization提供的车辆位置由planning模块得到走的具体车道。
  3. 得到车道后车辆control模块结合车辆的当前状态计算加速、刹车和方向的操作信号,此信号进入CAN卡后输出到车内,如此实现了车辆的自动驾驶。
    在整个流程中,monitor模块会监测硬件及系统的健康状况,出现问题肯定就会中止驾驶过程。
    对于驾驶中的信息,用户可以通过web应用dreamview来查看。

三、无人驾驶原理

学习目标

  • 自动驾驶如何分级
  • 自动驾驶系统的三个部分以及详细内容
  • 自动驾驶系统技术集成
  • 光学雷达的基础知识
  • LiDAR在自动驾驶的应用领域
  • LiDAR技术面临的挑战

四、分级第一种:

1. 美国公路交通安全管理局NHTSA

自动驾驶分为5个级别:0-4级

Level 0: 无自动化
Level 1: 单一功能级自动化,

驾驶员仍然对行车安全负责,不过可以放弃部分控制权给系统管理,某些功能已经自动进行,比如常见的自适应巡航(AAC)

Level 2:部分自动化

司机和汽车分享控制权,驾驶员在某些环境中可以不操作汽车,即手脚同时脱离控制

Level 3:有条件的自动化

在有限情况实现自动控制,汽车自动驾驶负责整个车辆的控制,但是遇见紧急情况,驾驶员仍然需要接管汽车,但是有足够预警时间。解放驾驶员,对行车安全不再负责,不必监视道路状况。如:高速和人流量较少的城市路段。

Level 4:完全自动化

汽车可以没有人乘坐完全自动化。

这里写图片描述

2. SAE 分级

3. 总结

  • 全自动无人驾驶可能比自动驾驶更安全,因为其可以在车辆行驶中排除人为错误和不明智的判断。
  • L3车辆司机接管平均需要17秒,而车已经开出了近500米。
  • 司机看到路径物体到刹车需要1.2秒,大于计算机的0.2秒,很多事故中,这个差距可以决定生死。
  • 最高级的自动驾驶才是安全的终级目标。

五、无人驾驶系统

  • 无人驾驶系统是一个复杂的系统
  • 系统主要由三个部分组成:算法端、Client端、云端
  • 算法端包括面向传感、感知和决策的关键步骤算法;
  • Client端包括机器人操作系统以及硬件平台
  • 云端包括数据存储、模拟、高精度地图绘制以及深度学习模型训练。
  • 算法子系统

这里写图片描述

无人驾驶系统简介
这里写图片描述
算法子系统从传感器原始数据中提取有意义的信息以了解周围环境情况,并根据环境变化做出决策
Client

(一)无人驾驶算法:

  1. 算法系统组成:第一、传感并从传感器原始数据中提取有意义信息;第二,感知,以定位无人车所在位置以及感知现在所处的环境 ;第三,决策,以可靠安全抵达目的地。
  2. 传感
  3. 通常来说,一辆无人驾驶汽车装备有许多不同类型的主传感器。每一种类型的传感器都各有优劣,因此,来自不同传感器的传感数据应该有效地进行融合。现在无人驾驶中普遍使用的传感器包括以下几种:

GPS/IMU、LIDAR、摄像头、雷达和声呐

通过高达200Hz频率的全球定位和惯性更新数据以帮助无人车完成自我定位。GPS是一个相对准确的定位用传感器,但是它的更新频率过低,仅仅有10Hz,不足以提供足够实时的位置更新。IMU的准确度随着时间降低,在长时间人并不能保证位置更新的准确性,但是它有着GPS所欠缺的实时性,IMU的更新频率可以达到200Hz或者更高。通过整合GPS与IMU,我们可以为车辆定位提供既准确又足够实时的位置更新。

2. 激光雷达LIDAR

激光雷达可被用来绘制地图、定位以及避障。雷达的准确度非常高,因此在无人车设计中雷达通常被作为主传感器使用。激光雷达是以激光为光源,通过探测激光与被探测无相互作用的光波信号来完成遥感测量。激光雷达可以用来产生高精度地图,并针对高精地图完成移动车辆的定位;以及满足避障的要求。以Velodyne 64-束激光雷达为例,它可完成10Hz
旋转并每秒可达130万次读数。

3. 摄像头

被广泛用在物体识别以及物体追踪等场景中,像车道线检测、交通灯侦测、人行道检测中都以摄像头为主要解决方案。

4. 雷达和声呐

雷达和声呐系统是避障的最后一道保障。一般是紧急功能中使用。雷达和声呐系统产生的数据不需要过多的处理,通常可被控制处理器采用,并不需要主计算流水线的介入,可实现转向、刹车、或预张紧安全带等紧急功能。

5. 感知

在获得传感信息之后,数据将被推送至感知子系统以充分了解无人车所处的周围环境。
在这里感知子系统主要做的是三件事:定位、物体识别以及物体追踪。

6. 定位

GPS以较低的更新频繁提供相对准确的位置信息;IMU则以较高的更新频率提供准确性偏低的位置信息。我们可使用卡尔曼滤波来整合两类数据各自的优势 ,合并提供准确且实时的位置信息玩意儿新。IMU每5ms更新一次,但是期间误差不断累积精度不断降低。所幸的是,每100ms可以得到一次GPS数据更新,以帮助我们校正IMU积累的误差。因此,我们最终可以获得实时并准确的位置信息。然而,我们不能仅仅依靠这样的数据组合以完成定位工作。原因有三:其一、这样的定位精度仅在一米之内;其二:GPS信号有着天然的多路径问题将引入噪声干扰;其三,GPS必须在非封闭的环境下工作,因此在诸如隧道等场景中GPS都不适用。
基于GPS/IMU定位原理图:
这里写图片描述
因此作为补充方案,摄像头也被用于定位。简化来说,基于视觉的定位由三个基本步骤组成:
1. 通过对立体图像的三角剖分,将首先获得视差图用以计算每个点的深度信息;
2. 通过匹配连续立体图像帧之间的显著特征,可通过不同帧之间的特征建立相关性,并由此估计这两帖之间的运行情况 ;
3. 通过比较捕捉到的显著特征和已知地图上的点来计算车辆的当前位置。
然而,基于视觉的定位方法对照明条件非常敏感,因此其使用受限并可靠性有限。
基于立体视觉测距的流程图:
这里写图片描述
为了在地图中定位运动的车辆,我们使用粒子滤波的方法来关联已知地图和激光雷达测量过程。粒子滤波可以在10厘米的精度内达到实时定位的效果,在城市的复杂环境中尤为有效。然而,激光雷达也有其固有的缺点:空气悬浮颗粒影响。为此,需要多传感器融合。
这里写图片描述

7. 物体识别与跟踪

  • 激光雷达可提供精准的深度信息,因此常被用于在无人驾驶中执行物体识别和追踪的任务。近年来,深度学习技术得到了快速的发展,通过深度深度学习可达到较显著的物体识别和追踪精度。
  • 卷积神经网络(CNN)是一类在物体识别中被广泛应用的深度神经网络,通常,卷积神经网络由三个阶段组成:1.卷积层使用不同的滤波器从输入图像中提取不同的特征,并且每个过滤器在完成训练阶段后都将抽取出一套“可供学习”的参数 ;2.激活层决定是否启动目标神经元;3.汇聚层压缩特征映射图所占用的空间以减少参数的数目,并由此降低所需的计算量;4. 对物体进行分类。 一旦某物体被CNN识别出来,下一步将自动预测它的运行轨迹或进行物体追踪。

物体追踪可以被用来追踪邻近行驶的车辆或者路上的行人,以保证无人车在驾驶的过程中不会与其它移动的物体发生碰撞。近年来,相比传统的计算机视觉技术,深度学习技术已经展露出极大的优势,通过使用辅助的图像,离线训练好的模型直接应用在在线的物体追踪中。

8. 决策

在决策阶段,行为预测、路径规划以及避障机制三者结合起来完成无人驾驶动作规划。

9. 路径规划

为无人驾驶在动态环境中进行路径规划是一件非常复杂的事情,尤其如果车辆是在全速行驶的过程中,不当的路径规划有可能造成致命的伤害。路径规划中采取的一个方法是使用完全确定模型,它搜索所有可能的路径并利用代价函数的方式确定最佳路径。然后,完全确定模型对计算性能有着非常高的要求,因此很难在导航过程中达到实时的效果。为了避免计算复杂性并提供实时的路径规划,使用概率性模型成为了主要的优化方向。

10. 避障

安全性是无人驾驶中最为重要的老师,我们将使用至少两层级的避障机制来保证车辆不会在行驶过程中与障碍物发生碰撞。第一层级是基于交通情况预测的前瞻性层级;第二级实时反应层将使用雷达数据再次进行本地路径重规划。一旦雷达侦测的路径前方出现障碍物,则立即执行避障操作。

(二)用户端系统

Client系统融合之前得到的避障、路径规划等算法以满足可靠性及实时性等要求。Client系统需要克服三个方面的问题:
1. 系统必须确保捕捉到大师传感器数据可以及时快速地得到处理
2. 如果系统的某部分失效,系统需要有足够的健壮性能从错误中恢复;
3. 系统必须在设计的能耗和资源限定下有效地完成所有的计算操作。

1. 机器人操作系统

机器人操作系统ROS是现如今广泛被使用、专为机器人应用裁剪、强大的分布式计算框架。每一个机器人任务,比如避障,作为ROS的一个节点存在。这些任务节点使用话题与服务方式相互通信。
ROS非常适用于无人驾驶的场景,但是仍有一些问题需要解决: 可靠性、性能、安全性。ROS2.0承诺将解决上述问题,但现有的ROS版本中仍然需要自行克服这些难题。
这里写图片描述

硬件

这里写图片描述

这里写图片描述

云平台

这里写图片描述
这里写图片描述

仿真

这里写图片描述

高精度地图生成

这里写图片描述
这里写图片描述

无人驾驶技术简介

这里写图片描述
这里写图片描述

相关推荐
最新评论 (0)
返回
发表文章
xundh
文章数
746
评论数
1
注册排名
357855