百度开源自动驾驶平台apollo学习(一)

最近百度终于把很久之前就宣称要开源的自动驾驶平台开源了,叫apollo。我也借这个机会学习一波,看看百度是怎么做的。

一、下载源码

首先,进入apollo的官网,这里有对apollo的介绍

apollo主页

接着,进入apollo的github,有个apollo,这就是我们主要需要关注的项目了。


百度开源自动驾驶平台apollo学习(一)_第1张图片
apollo的github

然后

git clone https://github.com/ApolloAuto/apollo

由于硬件要求,安装和使用apollo平台的方法在github的页面上都有详细说明,我在这里就不细说了。

需要指出的是,目前百度使用docker来部署apollo的运行环境,因此准备环境的时候你会发现有个步骤会从dockerhub下载docker容器。

如果想要脱离对docker的依赖,可以自己查看dockerfile里面的步骤,也许我会写一篇文章来说明,不过肯定是很久以后了。。。

二、源码结构

这里我们先来看一下源码的结构

百度开源自动驾驶平台apollo学习(一)_第2张图片
一级目录结构

docker文件夹放的是和docker容器有关的文件

docs文件夹放的是说明文档

modules放的是apollo中各个模块的源代码,也是之后我们将要详细说明的部分

scripts放的是一些百度写的部署和运行apollo的脚本

third_party存放了第三方的依赖库

tools文件夹和其他文件都是和apollo构建有关的配置文件

进入modules文件夹

百度开源自动驾驶平台apollo学习(一)_第3张图片
modules目录结构

可以看到每个模块都分得很清楚,而且模块的功能通过文件夹的名称也能很直观的看懂。

canbus代表从CAN获取数据或将控制指令传给CAN的模块

common表示不同的模块都有可能用到的功能,比如日志,比如工厂模式的实现

control就是控制车辆的部分

decision就是决策的部分

dreamview是webUI显示的一部分

hmi以web UI的方式提供了当前车的状态

其他文件夹的内容还没看,今天就先写这么多吧

你可能感兴趣的:(百度开源自动驾驶平台apollo学习(一))