将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 2

2024-05-05 08:52

本文主要是介绍将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

第五章 感知模块

我们俗称自动驾驶要回答几个问题:

  • 定位-“我在哪儿 (where am I)?”
  • 感知-“我周围是什么 (what’s around me)?“
  • 预测-“下一步会发生什么(what will happen next)? “
  • 规划-“我要做什么(What should I do)? “
  • 控制- “怎么做(How to do)?

感知模块相当于自动驾驶车辆的“眼睛”,它跟传感器直接相接,获取大量传感器的数据输入,然后分析处理后得到周围环境的理解,包括障碍物检测,跟踪和距离估计,车道识别和分割,交通标志和红绿灯识别等。由于现在自动驾驶系统都是装载多个多种传感器,所以传感器融合是必要的也是重要的感知部分,甚至一些系统把它单独列出来,独立于感知模块。
本章从5.1车载各种传感器的标定开始,5.2介绍了单目摄像头测距的各种方法,以及5.3单目图像的深度估计算法;接着5.4分析了目前单目摄像头的3-D障碍物检测方法,即3-D目标长方体框在图像的投影而不是2-D矩形框而已;然后5.5对障碍物跟踪方法展开讨论,包括单目标和多目标情形;传感器融合是重要的问题,5.6从数据级和任务级两个层次分析了融合的方法;5.7、5.8和5.9主要讨论车载视觉系统关心的三个问题:车道线检测、交通牌识别和红绿灯识别; 5.10重点讨论视觉摄像头看到的可驾驶区域问题,即语义的道路分割;5.11是基于立体视觉的感知模块分析;由于行人的行为分析需要,人体姿态估计在5.12讨论; 5.13特别提到驾驶员监控系统(DMS)的实现算法;5.14对当前最新的BEV感知系统做深入讨论。

关于BEV的介绍片段:
在这里插入图片描述
第六章 高清地图

“高清地图(HD map)”概念于2010年Mercedes-Benz首次引入,随后于2013年为Bertha Drive 项目做出贡献。在Bertha Drive项目中,Mercedes-Benz S500以完全自主的模式完成了Bertha-Benz Memorial Route,使用高度精确且信息丰富的3D路线图,该路线图后来被一家名为HERE的参与地图公司命名为“高清(HD)实时地图”。
高清地图(HD Map),在自动驾驶领域被看得很重,因为它能提供先验知识,让感知难度降低,同时规划有的放矢。
高清地图不是新的东西,已经有一些地图和自动驾驶公司开始制作和使用HD Map。但是,HD Map的制作和包含的信息以及精度仍然没有统一的共识。
本章6.1首先介绍高清地图的基本类型、层次、格式和制作方法,然后6.2重点讨论语义地图的各种生成方法,6.3强调车道线级别高清地图的制作方法,最后6.4介绍基于深度学习的SLAM方法。

关于高清地图制作的介绍片段:
在这里插入图片描述
第七章 定位模块

就道路上的自动驾驶车辆而言,首先重要的任务之一是将车辆定位在道路上。为此,车辆需要考虑来自多个传感器的信息,并将其与来自道路地图的数据融合。道路定位问题可以归结为三个部分:第一个是车辆当前行驶的道路确定;事实上,全球导航卫星系统还不够精确,无法自行推断出这些信息,因此需要一个滤波步骤;第二个是估计车辆在车道中的位置;最后第三个是评估车辆当前行驶的车道。这里讨论主要限于后两个部分,因为第一个在基于导航地图的定位中已经有成熟的方案,比如地图匹配(车辆位置与地图的路网相匹配)等。
有两种技术适合这个任务。第一种方法取决于高清地图存储的地标精确位置(例如车道标记),系统必须将检测的地标与地图中存储的地标相匹配。第二种技术完全依赖于车载传感器检测视觉地标,例如道路上的所有车道;然而,由于其他车辆的遮挡,有时无法检测到道路上所有车道标记;提取的相关道路级特征送入一个高级融合框架,该框架评估车道数和车辆行驶的车道。本章只限于讨论第一种方法。
基于地图的定位实际上分成两个阶段。在位置识别(place recognition)阶段,将传感器输出与一组地理标记的感兴趣地图区域进行比较,确定车辆在地图中的初始位置。随后,在地图度量定位(map metric localization)阶段,不断将传感器输出与经过的地图当前区域对齐,这样车辆在地图上运动的同时被跟踪。
因此,定位需要感知模块提供数据输入和地图的信息进行匹配;那么类似于感知模块,定位模块也会采用传感器融合的思路,即采用GPS/DGPS(如RTK),IMU,摄像头,激光雷达加高清地图的组合。
GPS定位是经典的方法,但是环境中电磁波的传播会因为天气、大气层,高楼大厦和山丘等因素产生时间误差,并造成估计的距离误差。为了补偿部分误差,提出了差分GPS即DGPS,比如RTK技术。千寻网络背靠中国兵器工业集团和阿里巴巴集团两个大公司,在全国提供这方面的服务。
还有另外两个定位算法:分为里程计法和惯性导航法。里程计( Odometry ) 是一种被广泛应用的方式,通过安装在车轮上的光电编码器(wheel encoder)记录车辆的运动过程从而估计其位置。惯性导航法(IMU)则利用加速度计和陀螺仪实现定位,里程计由于轮子侧滑会带来误差,而惯导的积分累积误差也会带来困扰,里程计和惯性导航的定位精度一般比较差,最好和GPS或者激光雷达/摄像头联合使用实现航位推测(dead reckoning)。
激光雷达点云数据做定位的方法,是要求感知输入的激光雷达点云(有的方法允许反射图)和高清地图的点云匹配,直接ICP计算量太大。大家熟悉的算法,常用的有正态分布变换(NDT,normal distributions transform),还有斯坦福大学的直方图滤波器(histogram filter)和粒子滤波(particle filter)之类。算法要求车载系统有激光雷达传感器,能够实时采集现场点云数据。也有压缩点云数据的快速匹配定位方法,比如TomTom的RoadDNA,Civil Maps的指纹图(Fingerprint Map),定位难度和精度上会有所折衷。
摄像头定位是视觉里程计或者视觉SLAM采用的,以前有不少研究“基于图像的重定位(Image-based Re-localization)”问题,用于SLAM的闭环(loop closure)检测和跟踪失败(tracking failure)恢复等等。SLAM方法包括稀疏法、致密法和半致密法,但在自动驾驶这个场景中,稀疏法是最合适的。不过,单纯靠视觉的特征点来实现定位是不足的,还需要语义目标的辅助,即语义地图。在自动驾驶中,语义地图最实用的是基于车道线的地图。
本章是前一章高清地图的衔接,首先7.1介绍低成本的基于车道线地图的定位技术,然后7.2讨论基于激光雷达的定位算法,接着7.3分析多传感器的融合定位方法,最后7.4介绍基于深度学习的定位方法。

关于深度学习的视觉定位分析片段:

在这里插入图片描述
第八章 规划(包括预测)模块

自动驾驶中的规划模块是确定车辆的动作,它基于输入的感知结果,而结果将送入控制模块确定车辆的实际操作。前面提到感知相当于自动驾驶的“眼睛“,那么规划的作用就相当于”大脑“,是非常重要的模块。
首先,需要确定几个专业词的表述:路线 = route;路径 = path;轨迹 = trajectory。
本章8.1首先介绍基本的规划理论,分三个层次,即路线规划、行为规划和运动规划;8.2讨论驾驶行为建模和预测,主要是基于数据驱动的机器学习方法;8.3扩展到行人行为的建模和预测问题;最后8.4附带讨论如何学习老司机的驾驶技术,是8.2课题的深入。

关于运动规划的讨论片段:

在这里插入图片描述
关于神经规划器的介绍片段:

在这里插入图片描述

关于车辆预测方法的分析片段:

在这里插入图片描述

这篇关于将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961296

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.