Apollo 框架的剖析1
百度Apollo 自动驾驶开源模块分析
- 从今天开始研究学习apollo的源码,apollo 3.0源码。
- apollo 3.0的系统框图

文件目录简介
- apollo根目录
├── .github/ISSUE_TEMPLATE目录 // 问题记录的文档
├── .vscode // 启动的一些参数配置
├── docker // docker有关的文件,如启动docker脚本,进入docker容器脚本
├── docs // 文档模块,有完整英文文档和部分中文文档
├── modules// apollo中各个模块的源代码,如感知,决策,规划等核心模块
├── scripts// 启动脚本,如启动hmi的脚本
├── third_party // 第三方的库
└── tools // 编译相关配置文件 - Apollo项目是用Bazel来做为代码编译工具,每个源码文件夹下都有一个 BUILD文件即bazel的编译配置文件。
- modules目录下的子目录
├── calibration// 标定模块,现在已经实现自动标定的功能
├── canbus // can总线相关的模块
├── common // 公共源码模块如日志,工厂模式的实现,日志系统,监控模块,数学算法等
├── control // 幅度和度的相互转换
├── data // 数据的收集,存储和处理
├── dreamview // 可视化模块,查看规划的轨迹及实时的转向刹车油门信息
├── drivers // GNSS设备驱动,包括NovAtel, Applanix, u-blox, velodyne驱动
├── e2e // 端到端模块
├── elo // 利用高精地图的自定位模块
├── guardian // 监护进程,主要是为了安全
├── localization // 定位模块,输入GPS和IMU信息输出自车定位信息
├── map // 高精地图模块,输出结构化地图信息,如车道线,十字路口等
├── monitor // 监控模块,监控硬件状态,同时把状态发给hmi
├── perception // 感知模块,输入激光点云,高精地图,变换坐标
├── planning // 决策规划模块
├── prediction // 预测模块,输出感知的障碍物信息及自定位信息输出障碍物未来的轨迹
├── routing // 全局导航模块,输入包括地图信息各起点终点地址,输出一个全局的导航信息
├── third_party_perception // 车辆姿态模拟线程
└── tools // 第三方的感知模块
Apollo项目的主要模块
- 处理核心的感知,预测,规划控制三个模块之外,还有OTA,云端集群仿真, 自定位高精度地图,端到端的深度学习, 网页可视化,底层的驱动和ROS计算框架等等。
Apollo 框架的剖析1的更多相关文章
- Vulcan 基于Meteor的APollO框架 , grapesjs 用于可视化生成Html 页面
Vulcan 基于Meteor的APollO框架 :http://vulcanjs.org/ grapesjs 用于可视化生成Html http://grapesjs.com/
- ijkplayer框架深入剖析
随着互联网技术的飞速发展,移动端播放视频的需求如日中天,由此也催生了一批开源/闭源的播放器,但是无论这个播放器功能是否强大.兼容性是否优秀,它的基本模块通常都是由以下部分组成:事务处理.数据的接收和解 ...
- twemproxy代码框架概述——剖析twemproxy代码前编
本篇将去探索twemproxy源码的主干流程,想来对于想要开始啃这份优秀源码生肉的童鞋会有不小的帮助.这里我们首先要找到 twemproxy正确的打开方式--twemproxy的文件结构,接着介绍tw ...
- Apollo框架试玩
2017年7月5日,百度举行了AI开发者大会,在会上发布了Apollo项目,并进行了演示,该项目在Github上已经能够被访问.出于一个程序员的好奇,昨天试玩了一把,确实不错. http://apol ...
- 第3章 MFC框架程序剖析
参考: https://blog.csdn.net/u014162133/article/details/46573873 1. 2.MFC简介:MFC(Microsoft Foundation Cl ...
- MapReduce剖析笔记之一:从WordCount理解MapReduce的几个阶段
WordCount是一个入门的MapReduce程序(从src\examples\org\apache\hadoop\examples粘贴过来的): package org.apache.hadoop ...
- MFC学习-第2,3课 MFC框架的运行机制
转自:http://blog.163.com/zhigang0633@126/blog/static/38790491200822711526168/ 讲述MFC AppWizard的原理与MFC程序 ...
- 转:透析QTP自动化测试框架SAFFRON
1.为什么要使用框架? 框架是一组自动化测试的规范.测试脚本的基础代码,以及测试思想.惯例的集合.可用于减少冗余代码.提高代码生产率.提高代码重用性和可维护性.例如QTestWare就是QTP自动化测 ...
- duilib基本框架
最近我一个同学在项目中使用到了duilib框架,但是之前并没有接触过,他与我讨论这方面的内容,看着官方给出的精美的例子,我对这个库有了很大的兴趣,我自己也是初学这个东东,我在网上花了不少时间来找相关的 ...
随机推荐
- Dubbo管控台安装(zookeeper集群)
Dubbo管控台可以对注册到zookeeper注册中心的服务或服务消费者进行管理,但管控台是否正常对Dubbo服务没有影响,管控台也不需要高可用,因此节点部署 环境:Centos6.6.IP:10 ...
- 使用git 上传项目到gitee/github
参考: https://blog.csdn.net/qq944639839/article/details/79864081 注意:在此之前需要设置ssh公匙 详见:Github/github 初始化 ...
- jenkins笔记
java -jar jenkins.war -httpPort=9090 以9090端口启动jekins的web应用(内置jetty)
- POJ - 2528 Mayor's posters (离散化+线段树区间修改)
https://cn.vjudge.net/problem/POJ-2528 题意 给定一些海报,可能相互重叠,告诉你每个海报的宽度(高度都一样的)和先后叠放顺序,问没有被完全盖住的有多少张? 分析 ...
- 2018牛客网暑期ACM多校训练营(第一场)J Different Integers(树状数组)
题意 给出一串数字以及q次查询,每次查询l,r],要求求出[1,l]和[r,n]的所有不相同的数字个数. 分析 先对数组进行倍增,变为两倍长,然后查询就变成一个完整的区间.离线处理,按r从小到大排序, ...
- MySQL学习笔记(三)数据优化
第1章 数据库优化简介1-1 MySQL优化简介 第2章 SQL语句优化2-1 数据准备 2-2 MySQL慢查日志的开启方式 2-3 MySQL慢查日志分析工具之 mysqldumpslow www ...
- 解析ArcGis的字段计算器(二)——有玄机的要素Geometry属性,在属性表标记重复点线面
这里所说的重复是指完成重复的,不是叠在一起的两个或多个要素,这种应该叫做“压盖”或“重叠”.重复往往是在合并多Shpfile文件时不小心重复导入造成的. 这里提供一种可能的解决办法,数据无价,请备份! ...
- while应用和函数学习
# ******************************练习****************************# 在控制台中获取两个整数,作为循环开始和结束的点'''a = int(in ...
- Ubuntu中安装python3.6(转)
因为TensorFlow只支持到python3.6,所以安装python3.6版本 Python3.6的使用越来越普遍.Ubuntu16.04的版本中默认胸自带python2和python3.5的版本 ...
- matplotlib-2D绘图库学习目录
matplotlib的安装和 允许中文及几种字体 散点图 直线和点 子图 点的形状 条形图 堆叠条形图 直方图 颜色和样式字符串 饼状图 画多个图 画网格 线的形状 图例 坐标轴 画注释 ...