无人驾驶技术入门(二)

前言

上一次的分享里,我对百度Apollo 1.0和Apollo 1.5所用到的传感器及控制器进行了介绍。

可以得到一个结论:实现越复杂的功能,所需要的传感器越多,对控制器的性能要求也越高。

今天的分享,我会结合Apollo 1.0和Apollo 1.5所开放的模块,谈谈我对百度Apollo技术框架的理解。

正文

先上一张百度Apollo的技术架构图。

可以看出除了第一排在云端工作的的模块,剩下的模块都是需要实时跑在车上的。

Open Software Platform

自动驾驶系统最为重要的软件层。

这一层包含了最底层的RTOS(Real Time Operation System)和第二层的运行软件所需的框架环境(Runtime Framework),再到第上层的各个子模块(地图引擎、定位、感知、规划、控制、端到端、人机界面)。

Reference Hardware Platform

自动驾驶系统所依赖的硬件层。

这里不仅包含了控制器、GPS/IMU、HMI Device(其实就是显示器)和LiDAR,还有即将在12月开放的Camera、Radar、和Black Box(暂时还猜不到这个黑盒的功能)。

Drive-by-wire Vehicle

线控的底层,不开放这个接口,就无法控制汽车。

看过百度Apollo发布会的童鞋想必都清楚,Apollo 1.0能实现封闭场地循迹自动驾驶的功能,Apollo 1.5能实现定车道昼夜自动驾驶的功能。

我们从Apollo 1.0和Apollo 1.5开放的角度来看一下“功能实现”与“模块开放”之间的关系。(暂不谈云端,仅谈车端)。

Apollo1.0封闭场地循迹自动驾驶

先上图,下图中红色块是Apollo 1.0所开放的模块。

(分析开始)

首先我必须有一辆开放了底层的线控系统的车(Drive-by-wire Vehicle),才能实现这个功能;

自动驾驶程序要运行,控制器(Computing Unit)、显示屏(HMI Device)都是不能少的;

实现循迹功能,需要解决一个很重要的问题——我在哪?因此作为定位所需要的关键模块GPS/IMU被选中;

硬件配齐后,来看看软件。操作系统(RTOS)和软件所需的运行环境(Runtime Framework)是必须的,没有他们,软件是跑不起来的。

最后是软件层的子模块,定位(Localization)用来处理GPS/IMU的数据。

有了定位和需要跟随的轨迹线,那么就要开始控制(Control)了。

循迹时工程师需要控制自动驾驶系统,所以就有了人机交互界面(HMI)。

这样一套从工程师角度挑选所需模块的工作就完成了。

(分析结束)

Apollo1.5固定车道昼夜自动驾驶

同样的操作,我们来分析Apollo 1.5实现的“固定车道昼夜自动驾驶”的功能。先看图,图中蓝色块为新增模块。

(分析开始)

固定车道,意味着必须有车道线信息。

Apollo使用了高精度地图提供的车道线信息,这样有了高精度的定位(经纬度)和我需要行驶的车道的经纬度区域(这么说不是很专业,主要是让大家好理解,以后会详细聊定位和地图的关系),自动驾驶车就知道自己要在哪个范围内行驶了。

所以需要有处理高精度地图数据的模块——地图引擎(Map Engine)。

知道了自己要在哪个车道内行驶,车道内有障碍物怎么办?

这时候就需要有传感器能检测到这些东西。其实Camera、LiDAR、Radar都可以检测障碍物,Apollo 1.5开放的是激光雷达(Lidar)模块。

有了传感器,必然有对应的感知软件(perception)。

感知到了障碍物,该刹车刹车,该加速加速,该避让避让,所以需要对无人车的行为有个规划(planning)。

(分析结束)

Apollo 1.5还开放了End-to-End,这是另外一种使用深度学习的方法实现“固定车道昼夜自动驾驶”的方式,这里暂不讨论。

Apollo2.0简单城市路况自动驾驶

下面这幅图是12月百度即将公布的Apollo 2.0,新增的模块我用紫色背景标记出来了。

你可以尝试用刚才我提供的思路,想一想“简单城市路况自动驾驶”的功能,为什么需要摄像机(Camera)和雷达(Radar),在文章留言中告诉我吧。

小结

上面的分享其实是正经的“自动驾驶系统工程师”要做的工作,他们需要从“需求”推导出“架构”,进而决定使用什么样的硬件装到车上。

如果你并不擅长写代码,又想从事自动驾驶的工作,不妨多了解一些传感器及系统架构方面的知识。

好了\(^o^)/~,这篇分享基本上可以让大家对百度Apollo的技术架构有了了解。

后续我会对Apollo计划中出现的传感器做更加细致的分析,也期待你的阅读~

如果你觉得我写的还不错,希望你能把文章分享给更多的人。这是对我最大的支持。

感谢(・ω・)ノ!

OMT

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏黑白安全

研究人员发现大众、奥迪易受黑客远程攻击

一家荷兰网络安全公司发现,部署大众汽车集团部分车型的车载信息娱乐(IVI)系统容易受到远程黑客攻击。

783
来自专栏FreeBuf

Micropython之萝卜狗远程门禁控制系统

当代社会,我们进公司需要门禁卡,出入小区需要门禁卡,门禁系统又称出入管理控制系统(ACCESS CONTROL SYSTEM), 是一种管理人员进出的智能化管理...

1534
来自专栏编程一生

《静儿的服务治理私房菜》网络模型的分类和职业规划思考

1282
来自专栏牛客网

Android应用工程师面经 - OPPO校招提前批

面试官是Android转到Java后台的,开始自我介绍,看我项目有Java后台相关的,就问我为什么不报Java后台,为什么选择Android。

1111
来自专栏木可大大

全网VIP影视免费观看!

国庆假期,想必很多人会追剧看电影,但是很多大平台诸如优酷、爱奇艺等都需要开通VIP才能看到最新热门电影,以我们的气节,购买?不存在的。

3.3K3
来自专栏黑泽君的专栏

这些网站,99%人用过都说是神器,还不收藏!

—— 由谷歌开发的一个基于AI分析并猜出你要画什么的平台,是原先“你画我猜”的升级版,让你从现有图库里找出最符合脑中形象的图案。

1973
来自专栏Golang语言社区

Android手机与vr交互暴风魔镜3D效果显示原理

首先讲到VR,谈谈个人体会,半年前看到淘宝上的vr眼镜盒为了促销标题图片都是非常性感的,还有海量你懂得资源。到最近在淘宝搜索vr暴风魔镜都正规了,而且销售量庞大...

3094
来自专栏企鹅号快讯

自动驾驶汽车硬件与软件技术介绍

来源:知乎 概要:本文详细介绍了自动驾驶汽车的硬件和软件,以及所需要做的准备工作,每个研发者或者准备投身于无人驾驶领域的人都应该好好看一下。 全球有数不清的公司...

4118
来自专栏工科狗和生物喵

【计算机本科补全计划】NFV/SDN初识(为了避免保研复试被电话面试)

正文之前 所有的通信应用无非就是两部分组成:计算和网络。 这两者关系密不可分,但两者关系严重缺乏对称性,网络一直拖累着计算。就好像是发快递,你打个包(计算)只需...

3636
来自专栏程序人生 阅读快乐

冒号课堂:编程范式与OOP思想

《冒号课堂》以课堂对话的形式,借六位师生之口讲述编程要义。上篇对编程范式作了入门性的介绍,并对一些流行的编程语言进行了简评;下篇侧重阐发软件设计思想,其中在范式...

741

扫码关注云+社区