百度Apollo系统学习-初章

8 篇文章 120 订阅
订阅专栏
本文是针对百度Apollo自动驾驶系统的入门教程,重点介绍了从1.0到5.0的主要版本变化,包括新增硬件和软件更新。文章强调了3.5版本的重要性,引入了Runtime Framework Cyber RT,使系统进入新阶段。此外,还概述了Apollo的软硬件架构和预备知识,为后续深入学习奠定基础。
摘要由CSDN通过智能技术生成

前言

对新手来说要啃下一个大公司的顶级项目是很吃力的,特别是在没有前辈带着的情况下。所以我希望这个系列教程可以帮助更多的开发者理清百度的Apollo系统,文章会比较偏技术向(软件),所以很多套话和简介之类的教程中就不再提及了,而且因为本身能力精力有限所以有错误希望大家积极指出。这些文章会尽量跟着Apollo的版本不断更新并尽可能地保持简洁,有些不太适合用中文表达的会直接用英文方便大家对照。如有引用或借鉴请注明出处,谢谢!

Apollo版本

百度Apollo版本
此图为百度官方给出的版本图,此时处于2019.7这个版本。下面会列出所有的版本,笔者建议主要关注1.0(初始版)、3.0(老架构终极版)、3.5(新架构初始版),其他版本主要都是一些功能的完善。

Apollo 1.0

初版的Apollo,只能在封闭场景(测试车道,停车场)中完成Automatic GPS Waypoint Following等简单任务,现在这个版本可以用来测试Apollo和车的兼容性。
主要硬件:工业电脑(IPC),GPS,IMU,控域网(CAN)卡
软件:基于Linux 4.4.32内核的Apollo Linux内核
Apollo 1.0

Apollo 1.5

这一版加入了LiDAR,下图黄色处为更新或新加的模块。有了LiDAR感知能力得到了增强,所以在完成fixed lane cruising等任务时更加可靠了。
新增的硬件:LiDAR,GTX1080 GPU
软件:GPU驱动
Apollo 1.5

Apollo 2.0

这个版本做了很多常用的自动驾驶任务。车可以在简单的城市道路上运行了,并且可以完成避障,识别交通信号灯,变道等任务。
新增硬件:摄像头(主要用于识别信号灯),Radar
Apollo

Apollo 2.5

这个版本主要是2.0的优化,车可以在有防护的高速公路上运行了。
新增硬件:多了一个摄像头。
Apollo 2.5

Apollo 3.0

2.5和3.0版本主要都是上层功能算法的优化完善,3.0算是原版Apollo的终极形态,它提供了一些应用场景(在Apollo官网上挂着的案例就是):Minibus,Valet Parking等,并且做出了一些集成的硬件平台产品。
新增硬件:超声波传感器,Apollo传感器Unit,Apollo硬件开发平台
软件:守护程序,监视器,新的硬件平台驱动
在这里插入图片描述

Apollo 3.5

需要重点关注的版本,Apollo发布了自己的Runtime Framework:Cyber RT,整体的软件组织更加有序和清晰。这个版本车已经可以在更加复杂的住宅和小镇区域行驶了,换上了360度全方位感知系统后感知能力大大增加。至此,Apollo系统算是进入了新的发展阶段,已经具备了基本的软件架构雏形以及硬件方案。
新增硬件:更高档的各式传感器,Apollo Extension Unit (AXU)
软件:基于新传感系统更新了算法,Cyber RT
在这里插入图片描述

Apollo 5.0

主要是软件方面的更新,可以看到3.5版本基本就是硬件定型版本,5.0主要是针对数据层面定义了内部的数据格式和通信方式,并且也提供了很多前期积累的驾驶数据与模拟器数据。
软件:Data Pipeline, Apollo Synthetic Data Set, 算法更新
Apollo 5.0

Apollo 软硬件架构

Hardware/ Vehicle Overview

车

Hardware Connection Overview

硬件

Software Overview - Navigation Mode

软件

预备知识

这里列举一些学习Apollo系统的预备知识,随着Apollo的更新,这些也会有所变化。这些知识分为2类,一类是只需要理解概念和理念,另一类需要开发者会使用。这里针对的是普通开发者,读者需要根据实际情况学习自己所需的知识。

理解

  1. ROS:Cyber RT中很多设计都借鉴了ROS
  2. 传感器基础知识,比如LiDAR、Radar、IMU都是什么:理解上层算法的基础
  3. 常见的自动驾驶算法(非算法开发者),比如计算机视觉、高清地图构建、PID控制等:理解系统是如何决策和运作的

掌握

  1. C++:需要比较高阶的知识,比如知道C++11的特性,会使用高级的数据结构,能理解面向对象编程,熟悉并发编程
  2. VSCode:官方钦定的调试工具
  3. Dreamland, Dreamview:官方模拟器环境工具
  4. Bazel:Apollo使用的编译工具
  5. Google Protocol Buffer:Apollo使用的“通信协议”
  6. Docker:Apollo系统运行在容器环境
  7. Ubuntu:基础的Linux使用

Apollo主要代码结构

  • cyber 消息中间件,相当于ROS作用
  • docker 容器环境搭建的脚本等
  • modules 不同的功能模块
    • canbus 通讯总线
    • common 日志,数学库等辅助代码
    • drivers 雷达摄像头等的驱动
    • tools 工具
    • v2x 车和其他实体的交互
    • data 数据
    • control 控制模块
    • transform 原型为ros/tf2库,用来坐标转换
    • guardian 守护程序
    • 其余模块主要都是自动驾驶会用到的功能
  • scripts 脚本
  • third_party 第三方库

后续

初章主要是搬运和总结百度官方的介绍,之后会逐渐深入理解Apollo的代码结构。系列文章不会关注具体的算法实现或优化,主要是带读者理解整体运行流程和架构。
注:本着开源精神,本专栏的文章都能自由查阅,但不定时有些新的文章会被设置成vip可见,别慌,那些文章因为还没完全写好或者突然发现有一些错误所以暂时隐藏,后续完全改好以后就会正常发出,当然心急的同学可以先睹为快

参考链接

大部分内容可以在官方github找到。

  1. 百度Apollo项目技术文档
  2. Apollo Github项目地址
  3. 使用Docker Build
  4. 装载运行
  5. 代码结构
【软件定义汽车】【操作系统篇】百度Apollo 
专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。
03-31 1200
目录 一、百度Apollo发展历程 二、百度Apollo架构图: 三、百度Apollo解决方案 1、Robotaxi自动驾驶方案 2、Valet Parking自动泊车方案 3、V2X车路协同解决方案 一、百度Apollo发展历程 二、百度Apollo架构图: 三、百度Apollo解决方案 Apollo 已形成自动驾驶、车路协同、智能车联等三大开放平台。 在智能车联平台方面,百度推出的解决方案是小度车载 OS,它是针对车机、导航仪、后视镜等座舱设备打造的定制...
什么是Apollo自动驾驶平台?_自动驾驶阿波罗
2401_83621499的博客
04-12 712
自动驾驶车辆通过前置摄像头和雷达与最近的车辆(closest in-path vehicle,简称CIPV)保持距离。子模块还预测障碍物运动和位置信息(例如,航向和速度)。Apollo 2.5支持高速公路上的高速自动驾驶,无需任何地图。深度网络算法已经学会处理图像数据。随着收集更多数据,深度网络的性能将随着时间的推移而提高。雷达数据图像数据雷达传感器校准的外部参数(来自YAML文件)前置相机校准的外部和内部参数(来自YAML文件)车辆的速度和角速度3D障碍物跟踪航向,速度和分类信息。
Apollo 自动驾驶平台代码结构和源码分析
最新发布
zhumin726的专栏
07-10 1016
以下是该模块的主要组件和核心代码分析。通过上述代码示例和组件分析,可以看出Apollo中的LiDAR检测模块如何从原始点云数据出发,通过预处理、聚类和跟踪等步骤,实现对周围环境中障碍物的检测和感知。- **`detector`**:对象检测器的实现,包括不同类型的检测模型(如YOLO、SSD等)和检测算法。- **`tracker`**:对象跟踪器的实现,用于跟踪检测到的对象在多个帧之间的位置和运动。- **`logging`**:日志记录工具,用于记录检测和跟踪的过程信息,便于调试和分析。
科技探秘 -- 百度无人车ApolloAuto使用入门!
weixin_34252686的博客
10-19 681
百度无人驾驶汽车事指百度打算与第三方汽车厂商合作制造的无人驾驶汽车。2015年6月7日,在中国云计算大会,百度高级副总裁、技术战略委员会主席王劲表示,百度将在2015年下半年推出无人驾驶汽车。 百度自动驾驶汽车计划在2018年上市,2020年实现量产。 无人驾驶兴趣教程推荐:u6.gg/ff2mu 1.安装原版ubuntu 14.04 www.ubuntu.org.cn/download/al… ...
ApolloApollo的入门介绍
小小unicorn的博客
09-07 1294
ApolloApollo的入门介绍 Apollo简介,模块设计,配置中心
百度Apollo智能驾驶入门课程——控制
dreautumn的博客
07-23 1771
第七课:控制1 控制简介1.1 Basic control input1.2 Requirement of the control strategy1.3 Three control strategies2 控制流程2.1 Two inputs that controller expects2.2 Outputs of the controller3 PID control3.1 P(proportional) control 比例控制3.2 1 控制简介 1.1 Basic control input
百度Apollo自动驾驶_百度车载小程序
天马3798
09-19 918
随着汽车智能化、自动化到来,车逐渐成为人-车-家智能场景中重要一环,打造智能车载服务生态,满足用户车内出行、娱乐、生活等多元化需求,成为时代趋势;百度车载小程序是智能连接人与车、人与信息、人与服务的开放生态,基于百度智能小程序开源框架,构建车规级小程序底座及上车标准,依赖小度车载全域流量,通过AI开放式赋能,精准连接用户,提供无需下载安装,即可享受智慧超前的用户体验。计划至2023年底将萝卜快跑自动驾驶出行服务,开放至30个城市,部署至少3000辆自动驾驶汽车,为3000万用户提供服务。
docker 一键部署 Apollo 分布式配置中心-apollo-all-in-one-for-docker.zip
01-29
docker 一键部署 Apollo 分布式配置中心-apollo-all-in-one-for-docker
apollo-build-scripts-master.zip
05-01
1. 下载与解压:首先,我们需要从官方仓库或者开源社区获取到"apollo-build-scripts-master.zip"压缩包,并将其解压。这个压缩包包含了Apollo的部署所需的所有脚本和可执行程序。 2. 数据库准备:Apollo依赖MySQL...
apache-apollo-1.7.1-windows-distro.zip
12-04
在“apache-apollo-1.7.1-windows-distro.zip”这个压缩包中,包含了Apache Apollo 1.7.1版本的Windows发行版。这个版本可能已经不太新,因为Apache Apollo项目自2014年后就没有重大更新,但仍然可能对一些还在使用...
apollo-quick-start-1.6.1.zip
04-25
"apollo-quick-start-1.6.1.zip" 是 Apollo 的快速启动包,包含了启动和演示 Apollo 服务所需的基本组件。 1. **Apollo 简介** Apollo 提供了一种声明式的配置管理方式,允许开发者在不修改代码的情况下,通过配置...
apache-apollo-1.7.1-windows-distro(内含安装教程)
05-18
在这个“apache-apollo-1.7.1-windows-distro”压缩包中,包含了以下关键内容: 1. **安装教程.txt**:这个文件提供了详细的步骤,指导用户如何在 Windows 系统上安装和配置 Apache Apollo。安装教程通常包括系统...
01 自动驾驶系统 - 百度阿波罗平台学习笔记
我爱露营车的自留地
07-29 3740
高清地图 高清地图属于机器人地图 道路网的精确三维表征,如十字路口布局、路标位置及各种其他语义信息 厘米级(普通地图只能达到米级,一般1-2米) VSLAM定位:预处理、坐标变换、数据融合 帮助感知:提前在远距离的位置提供ROI区域,供视觉或其他传感器缩小搜索范围 增强视觉的TSR功能:提前知道各种限速信息、车道信息(车道线中心、左转车道、右转车道等) Apollo地图:道路定义、交...
百度Apollo学习笔记(第一天)
xiao769507610的博客
07-05 623
第一课:无人驾驶概览 我们将学到什么? 定位:汽车用雷达和激光扫描周围,与高精度地图比对,从而定位 感知:使用Deep Learning方法,尤其是卷积神经网络,进行分类、检测、分割 预测:行车轨迹(这里我理解的是对其他车辆行车轨迹的预测,毕竟需要基于此来做出自己的行车规划) 规划:自己的行车路线 什么是无人驾驶? 无人驾驶的等级 无人驾驶的六个等级:Level 0 - 5 Level 0 : 车辆不会自己驱动自己,完全需要人来控制。 Level 1 : 提供转向、加速支持,如巡航控制。
Apollo 应用与源码分析:guardian 紧急处置
阿呆的隐秘角落
12-01 866
一文讲清Apollo guardian 紧急制动机制
apollo学习笔记1
zgrztzy的博客
04-04 1054
目标: 使用apollo无人驾驶框架搭建无人驾驶车辆环境,系统为ubuntu16.04,环境为docker 安装: 官方安装文档:apollo github 首先,安装docker环境: bash docker/setup_host/install_docker.sh#docker-ce安装脚本 bash do...
入门必看丨解析百度Apollo之决策规划模块
weixin_43619346的博客
08-03 1万+
转自Apollo开发者社区 Apollo系统中的Planning模块实际上是整合了决策和规划两个功能,该模块是自动驾驶系统中最核心的模块之一(另外三个核心模块是:定位、感知和控制)。本章主要讲解自动驾驶系统中最核心的模块——决策规划模块。 下面是由社区开发者—强波提供的文章,对百度Apollo之决策规划模块进行详细讲解(Apollo 3.5之前版本),希望这篇文章能给感兴趣的开发者带来更多帮助。 01 Apollo系统与Planning 下图是Apollo系统的整体架构图。从这幅图中我们可以看出,整个系统
进阶无人驾驶—百度Apollo安装与仿真平台
qq_45746068的博客
08-09 5178
课程介绍 Apollo作为自动驾驶平台,学习者如何从硬件、软件等方面快速入门。同时,课程还会介绍Apollo的部署安装以及仿真平台的使用。 一、Apollo自动驾驶架构介绍 我们还记得,自动驾驶硬件架构:一般采用激光雷达作为主要感知传感器,同时结合摄像头、GPS/IMU、毫米波雷达、超声波雷达等,一NVIDIA Drive PX2或者Xavier作为主要计算平台,在工业PC机上运行各种算法模块,通过线控技术控制车辆行驶。 下面我们开始介绍详细内容: 1.最底层的车辆平台 底层车辆平台执行Apoll
百度Apollo平台搭建步骤详解
热门推荐
罗明懿的博客
08-08 4万+
欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I...
百度Apollo 3.5深度学习概述与安装指南
百度Apollo 3.5深度学习介绍_v4.4.pdf文档深入探讨了百度开发的自动驾驶平台——Apollo 3.5,它是一个开放、完整且安全的系统,旨在支持全自动驾驶技术。这一版本在原有的基础上引入了新的模块和特性,但为了确保...
13
原创
100
点赞
512
收藏
211
粉丝
关注
私信
写文章

热门文章

  • 百度Apollo系统学习-Cyber RT 通信-底层 15043
  • 百度Apollo系统学习-Cyber RT 概览 10066
  • c++共享内存通信如何实现 8042
  • 百度Apollo系统学习-Cyber RT 调度 7340
  • 百度Apollo系统学习-Cyber RT 通信-上层 7089

分类专栏

  • 百度Apollo学习 8篇
  • 自动驾驶网络 1篇
  • 杂记汇总 1篇
  • 其他 2篇
  • OS相关 1篇

最新评论

  • 百度Apollo系统学习-Cyber RT 调度

    听物理如雾里@749: 协程里面CRoutine::main_stack_ 的这个变量除了初始化为nullptr没有看到有其他赋值操作呢,在调用汇编进行上下文切换时main_stack_为nullptr作为入参传入会异常吧。有大佬帮忙解答一下嘛。

  • 百度Apollo系统学习-Cyber RT 概览

    听物理如雾里@749: 协程里面CRoutine::main_stack_ 的这个变量除了初始化为nullptr没有看到有其他赋值操作呢,在调用汇编进行上下文切换时main_stack_为nullptr作为入参传入会异常吧。有大佬帮忙解答一下嘛。

  • 百度Apollo系统学习-Cyber RT 概览

    Sauron Wu: 这个你得找参考链接里的博主要了,我也没有

  • 百度Apollo系统学习-Cyber RT 概览

    青山的青: 你好 请问可以发我一下cyber的结构那张图的原图吗~~

  • 百度Apollo系统学习-Cyber RT 概览

    中国宁哥: 你好 疑问

最新文章

  • 自动驾驶单节点通信中间件探索
  • fastJSON parseObject按字符串解析JSON格式
  • 百度Apollo系统学习-Cyber实操
2022年1篇
2021年1篇
2020年7篇
2019年4篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码宁波网站首页排名优化海南网站建设优化诊断强何优化网站平乡网站优化重庆什么是网站优化质量保障兼职网站seo优化青岛网站优化哪家价格实惠知名的销售行业网站优化济南网站的排名优化罗平县网站seo优化排名如何优化网站转化率下网站优化需要掌握哪些基础知识台州网站快照优化公司江苏优化排名网站南宁网站推广优化案例移动网站优化点击软件米泉网站搜索引擎优化云南网站优化推广多少钱公司网站关键字优化江阴网站搜索优化工作室邯郸放心的网站设计优化兴义优化推广网站网站优化有哪些门道黑龙江网站优化企业洛阳专业网站优化无锡梅村网站优化如何提升网站关键词优化排名揭阳优化网站推广咸宁专业网站优化郑州网站内页优化歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化