前言:

自动驾驶技术是一个庞大的工程体系,软件架构、功能算法、控制规划、感知识别、建图定位、电气架构、车载控制器、验证体系等等,有太多的角度可以去切入。对于自动驾驶功能与算法开发,自动驾驶功能的分级是很重要的,自动驾驶的功能衍变就是随着自动驾驶功能的分级推进而不断发展。而随着自动驾驶等级的不断提高,对应的功能使用场景以及软件架构也发生相应的调整。

想系统学习自动驾驶算法的小伙伴,可以关注订阅以下专栏:

决策规划算法系统解析:https://blog.csdn.net/nn243823163/category_11685852.html

Apollo仿真与调试:https://blog.csdn.net/nn243823163/category_11807746.html

智能驾驶算法解析与仿真:https://blog.csdn.net/nn243823163/category_11935534.html

一、自动驾驶系统分级

国内与国际对于自动驾驶系统都划分为0~5级,每一级对应的功能如下:

0级:前向碰撞预警 FCW算法、车道偏离预警 LDW Lane Departure Warning、侧向报警BSD、开门预警DOW、倒车辅助预警RCTA、泊车辅助PA、驾驶员疲劳检测DMS;

1级:定速巡航系统 CC算法、自适应巡航系统 ACC算法 Adaptive Cruise Contro、车道纠偏辅助 LDP Lane Departure Prevention、车道居中辅助 LKA Lane Keep Assist、自动紧急制动 AEB算法、行人保护 PDS

2级:自动泊车算法 APA、交通拥堵辅助TJA、自动变道功能 LCS;

2.5级:高速公路导航辅助NOP、城区导航辅助

3级:高速公路单车道自动驾驶TJP、高速公路多车道自动驾驶HWP

4级:代客泊车AVP、港口园区无人驾驶

5级:完全自动驾驶

国内自动驾驶分级如下图所示:

国际标准如下:

比较形象与直观的理解可以参考下图:

二、系统架构

自动驾驶系统的架构可以如下图表示。最下层是硬件层,传感器、执行器、V2X设备等硬件都属于这一层;中间层是控制器,由MCU或者SOC加各种接口构成,接口包括CAN、以太网、LVDS等接口与硬件层相连接;在控制器的芯片中还要运行操作系统以及中间件,中间件提供了软件接口以及调度管理工具,来进行上层各个软件模块之间的管理与通信。在软件层进行功能模块的实现,感知、预测、决策规划、控制、数据储存等功能,都在软件层进行实现。

对于自动驾驶软件,之前的L2系统从架构上通常按照以下3个模块进行划分:感知、决策规划、控制;通常认为感知相当于人类的眼睛,与传感器连接,将传感器识别到的原始信号识别为目标以及道路的各个属性;决策规划相当于人类的大脑,处理感知或得的信息,并做出决策;控制层相当于人类的四肢,接受决策规划模块的控制,操纵执行器进行横向与纵向的控制。

接下来这个框架图将感知、决策规划、控制这3个模块更加细致的展现。

感知模块的输入可以是各种传感器:摄像头、激光雷达、毫米波雷达等,同时感知也会接受车身传感器的信息来对感知结果进行修正。决策规划模型又分为行为决策、轨迹规划、轨迹生成等模块。控制模块主要分为横向控制与纵向控制,横向控制主要是控制转向系统,纵向控制涉及油门与刹车的控制。

软件架构的另外一种表述如下:

以上的软件架构图是目前主流L2功能的架构图,随着自动驾驶功能向着L3迈进以及NOP等L2.5 功能的出现,自动驾驶软件架构也出现了进一步的发现,目前主流的NOP架构可以参考下图。可以看到,与L2的架构相比,NOP的架构中多了MAP、定位、Routing 模块。

其中HDMAP模块提供了高精地图数据,与感知提供的车道线数据相比,高精地图提供的车道线数据更准确、可视距离更远、而且可以反映出道路的拓扑结构。

定位模块则给出当前车辆所在的位置,结合HDMAP的数据给出局部地图。

Routing则给出全局的路径规划结果,作为局部路径规划的参考。

NOP架构更详细的描述可以参考下图:

以上介绍了L2以及L2.5功能的自动驾驶算法架构,后续会继续深入介绍各个模块,欢迎大家持续关注

自动驾驶技术综述1:自动驾驶算法软件架构介绍相关推荐

  1. 长篇自动驾驶技术综述论文(下)

    长篇自动驾驶技术综述论文(下) 三维目标检测 鉴于经济性,可用性和研究的广泛性,几乎所有的算法都使用相机作为主要的感知方式.把相机应用在ADS中,限制条件除了前面讨论到的光照等因素外,还有一个问题就是 ...

  2. 长篇自动驾驶技术综述论文(上)

    长篇自动驾驶技术综述论文(上) A Survey of Autonomous Driving: Common Practices and Emerging Technologies Ekim Yurt ...

  3. 【自动驾驶技术概论】自动驾驶技术之概述

    1.汽车发展趋势 回看近几年的汽车生产销售状况以及前言技术研究现状,未来汽车的发展方向主要呈现为电动化和智能化. 1.1电动化 电动汽车指全部或部分动力由电机驱动的汽车.按技术路线,电动汽车分为传统( ...

  4. 两万字自动驾驶技术综述,你想知道的这里都有

    文章目录 摘要 引言 前景与挑战 系统构成和框架 系统框架 传感器和硬件 定位与建图 GPS-IMU融合 SLAM 基于先验地图定位 感知 检测 基于图像的目标检测 语义分割 三维目标检测 目标跟踪 ...

  5. 英伟达自动驾驶技术:用于自动驾驶汽车的端到端深度学习

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习> ...

  6. 自动驾驶前沿综述:基于深度强化学习的自动驾驶算法

    ©作者 | 陈道明 学校 | 布里斯托尔大学 研究方向 | 自动驾驶方向 这是 21 年的一篇综述文章,可以算得上是最前沿的自动驾驶技术综述.这几年随着深度表征学习的发展,强化学习领域也得到了加强.本 ...

  7. 人工智能应用于自动驾驶技术中的优势

    自动驾驶技术将成为未来汽车一个全新的发展方向,车辆实现自动驾驶,包含了多种人工智能的技术应用. 人工智能应用于自动驾驶技术中的优势 自动驾驶的定位技术 定位技术是自动驾驶车辆行驶的基础.目前常用的技术 ...

  8. 自动驾驶技术:机会与挑战

    ** I. 介绍 ** A. 自动驾驶技术的概述以及潜在应用场景 自动驾驶技术是近年来快速发展的一项前沿科技,其基本原理是通过搭载在车身上的感知.决策和控制系统,使汽车可以在不需要人类驾驶的情况下自主 ...

  9. 全能赛道、热门方向、稀缺数据,不能错过的自动驾驶技术挑战赛

    由卡车自动驾驶领导者嬴彻科技与清华大学智能产业研究院(AIR)精心打造的"嬴彻-清华AIR杯" 自动驾驶技术挑战赛首届赛题正式上线啦! 决策规划是自动驾驶当下的热门方向和技术难点. ...

最新文章

  1. Jenkins Mac安装更改用户名
  2. SEO:影响网站排名的一些问题
  3. 【Git】本地仓库上传到github免密操作
  4. centos 6.5 启动时卡在进度条位置无法进入系统解决办法。
  5. 新浪微博:已经吃下去的,又全都吐出来了!
  6. ios php mysql实例_php – 从iOS应用程序将图像存储到MYSQL数据库中
  7. NMEA-0183通信协议
  8. 超市管理系统软件测试用例图,《天天超市管理系统》所有模块测试用例集.doc...
  9. 《数字电子技术基础》5.1 触发器概述、5.2 SR锁存器
  10. AI(人工智能)的英文全称是什么?AI指什么?包含什么?
  11. mysql点餐系统源码免费_基于Java+MySQL的餐厅点餐系统.zip
  12. BUUCTF:[0CTF 2016]piapiapia
  13. 1920*1080 网页使用scale在其他分辨率或宽度下等比例缩放
  14. vue-router 报NavigationDuplicated: Navigating to current location问题解决
  15. 牛客bfs:工厂流水线
  16. 如何批量修改文件后缀名,python来帮你
  17. 没有期刊申请清华博士_清华大学官方:“博士生无须发表论文”理解有误!
  18. 电脑操作系统 GUI 进化史
  19. Xshell登录进入CentOS 6.5系统后,Python交互模式和数据库模式下,出现乱码的问题及解决方法
  20. 站长号文库:什么是云存储?

热门文章

  1. 移动端自动化测试实战(四)
  2. 04_MySql数据查询语言DQL之常见函数
  3. 虚幻四蓝图实战(人物切换汽车控制)
  4. vpython_vpython_vpython安装_vpython教程 - 云+社区 - 腾讯云
  5. 透明网关配置修改后服务器要重启吗,透明网关_michaeil_yue_新浪博客
  6. springboot请求注解的使用Get/Post
  7. BigDecimal精度丢失问题
  8. VSCode 配置 C++ 环境
  9. 说说WM_DESTROY和WM_NCDESTROY的区别
  10. 把 ALV 转换成 PDF 格式并发送到 SAP Inbox(此段代码未经笔者验证)