系列文章目录

L1 Apollo平台安装
L2 CyberRT学习
L5 Routing简介


目录

  • 系列文章目录
  • Apollo简介
  • Apollo安装
  • 安装过程中遇到的问题。
  • 综述文章

报名了百度apollo智能驾驶星火计划课程的学习,写文章记录以下,方便日后复习。

Apollo简介

下图是Apollo6.0 EDU 系统架构图。
下图是自动驾驶软件和硬件相关的技术栈

图片来源

Apollo安装

先贴一个官方安装教程:安装教程
Step1:安装ubuntu
这个步骤没必要细说,只要装18.04以上的版本即可。
Step2:安装nvidia显卡驱动
这个步骤可以酌情安装,如果不需要建图的功能的话可以不装。

sudo apt-get update
sudo apt-add-repository multiverse
sudo apt-get update
sudo apt-get install nvidia-driver-455

安装完成可以使用“nvidia-smi”命令检查下是否成功安装。
Step3:安装Docker

sudo apt-get updatesudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo apt-key fingerprint 0EBFCD88
验证输出(9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88)sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"sudo apt-get install docker-ce docker-ce-cli containerd.iosudo docker run hello-world

以上是第一次安装Docker的步骤,如果之前已经安装过Docker需要更新或删除等操作可以参考官网教程。
安装完成后,请注销并重新登录系统以启用Docker。

Step4:码云上克隆 Apollo 仓库
国内用户用码云的源会快很多。

Step5:启动Docker容器

bash docker/scripts/dev_start.sh

如果成功,将在屏幕下方看到以下信息:

[ OK ] Congratulations! You have successfully finished setting up Apollo Dev Environment.
[ OK ] To login into the newly created apollo_dev_michael container, please run the following command:
[ OK ]   bash docker/scripts/dev_into.sh
[ OK ] Enjoy!

Step6:在容器内构建Apollo
运行以下命令以登录到新启动的容器:
bash docker/scripts/dev_into.sh1
在Docker容器的/apollo目录中, 输入:
./apollo.sh build
以构建整个Apollo工程。或者输入
./apollo.sh build_opt
来进行优化模式的构建。
Step7:大功告成
最后如下图下命令就可以打开Dreamiew界面啦

# Make sure you start up clean
./apollo.sh clean# This will build the full system and requires nVidia GPU with nVidia drivers
# loaded. If no GPU is availabe, please run "./apollo.sh build_opt" instead.
./apollo.sh build_opt_gpu
# Startup modules monitor and dreamview, the default option is start.
./scripts/bootstrap.sh [start | stop | restart]

在浏览器中输入 http://localhost:8888 ,可以看到UI。点击右上角"Mkz Standard Debug" mode. 选择"Sunnyvale with Two Offices".
然后输入下面代码运行demo例程

# You need to download the demo record using the following commands
cd docs/demo_guide/
python3 record_helper.py demo_3.5.record# You can now replay this demo "record" in a loop with the '-l' flag
cyber_recorder play -f docs/demo_guide/demo_3.5.record -l

Voila~在monitor里就可以看到小车跑起来了!!!

可选:在Dreamview中支持新的车型

为了在Dreamview中支持新的车型,请按照以下步骤操作:

1 在modules/calibration/data目录下为你的车型创建一个新文件夹。

2在modules/calibration/data文件夹中已经有一个叫作mkz_example的示例文件夹。请参考此结构,并以此结构包含所有必需的配置文件。如果需要的话,请记得使用自己的参数更新配置文件。

3重启Dreamview,你将能够在可选车型列表中看到你的新车型(名称与你创建的文件夹相同)。

安装过程中遇到的问题。

Q1:安装太慢?
github的源在国内会比较慢,更换gitee的源会快很多,或者选择科学上网。
Q2:拉取appolo代码库失败。错误如下:

fatal: The remote end hung up unexpectedly | 1.08 MiB/s
fatal: 过早的文件结束符(EOF)
fatal: index-pack 失败

这个应该是文件太大了,增大curl的postbuffer的值即可。

git config --global http.postBuffer 1048576000

或者使用SSH链接下载
Q3: docker拉取镜像失败。
第一次报的错误如下:

Start pulling docker image registry.baidubce.com/apolloauto/apollo:dev-x86_64-18.04-20210517_1712 ...
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=registry.baidubce.com%2Fapolloauto%2Fapollo&tag=dev-x86_64-18.04-20210517_1712": dial unix /var/run/docker.sock: connect: permission denied
[ERROR] Failed to pull docker image : registry.baidubce.com/apolloauto/apollo:dev-x86_64-18.04-20210517_1712

这个是由于用户不在docker组导致的,将当前用户添加金曲即可。

sudo gpasswd -a $USER docker
newgrp docker

之后尽管可以下载了,下载速度很慢,而且经常报错,发现是因为国外的源太慢了,换为国内的就好了。更换如下命令:

bash docker/scripts/dev_start.sh -g cn

然后接着报错QAQ

[ERROR] Failed to start docker container "apollo_dev_david" based on image: apolloauto/apollo:dev-x86_64-18.04-20210517_1712

经查是因为我的电脑没有显卡,把之前状的NVidia显卡驱动卸载即可。
sudo apt purge nvidia*
终于大功告成,哭出声…

[ OK ] Congratulations! You have successfully finished setting up Apollo Dev Environment.
[ OK ] To login into the newly created apollo_dev_david container, please run the following command:
[ OK ]   bash docker/scripts/dev_into.sh
[ OK ] Enjoy!

Q4: demo例程下载太慢

运行python3 record_helper.py demo_3.5.record命令 下载demo时,速度很慢只有十几k/s,最后显示下载失败。

HTTP request sent, awaiting response... 403 Forbidden
2021-09-13 11:05:19 ERROR 403: Forbidden.Bad luck, failed to download demo_3.5.record

还是网络的问题,我在下面这个论坛的回答中找到了离线的包,下载成功后放到目录/apollo/docs/demo_guide下即可。
https://talk.apolloauto.io/t/topic/561

退出之后如何再次进入docker

  • 进入/apollo目录,首先查看容器的名称,指令"docker ps -a"
  • 启动该容器,启动后返回该容器名称,指令" docker start apollo_dev_root"
  • 重复前面的指令" sudo bash docker/scripts/dev_into.sh "。

综述文章

最后放上老师在直播里推荐的自动驾驶的综述文章:

  1. Self-Driving Cars: A Survey
  2. Towards Fully Autonomous Driving:Systems and Algorithms
  3. A Survey ofAutonomous Driving: Common Practices and Emerging Technologies
  4. A Survey of Deep Learning Techniques for Autonomous Driving

Apollo星火计划学习笔记|L1 Apollo平台安装(2021年9月更新)相关推荐

  1. Apollo星火计划学习笔记——Apollo开放空间规划算法原理与实践

    文章目录 前言 1. 开放空间规划算法总体介绍 1.1 Task: OPEN_SPACE_ROI_DECIDER 1.2 Task: OPEN_SPACE_TRAJECTORY_PROVIDER 1. ...

  2. Apollo星火计划学习笔记——Apollo决策规划技术详解及实现(以交通灯场景检测为例)

    文章目录 前言 1. Apollo决策技术详解 1.1 Planing模块运行机制 1.2 Apollo决策功能的设计与实现 1.2.1参考路径 Reference Line 1.2.2 交规决策 T ...

  3. Apollo星火计划学习笔记|控制模块

    系列文章目录 L1 Apollo平台安装 L2 CyberRT学习 L5 Routing简介 L7 控制模块 L8 预测模块 目录 系列文章目录 简介 控制算法 PID算法 LQR(MPC) Apol ...

  4. Apollo星火计划学习笔记|预测模块

    系列文章目录 L1 Apollo平台安装 L2 CyberRT学习 L5 Routing简介 L7 控制模块 L8 预测模块 目录 系列文章目录 基本概念 流程概览 Apollo相关代码 参考文献 基 ...

  5. Apollo星火计划学习笔记第二讲——自动驾驶调试及仿真实践

    Apollo学习笔记 零.目录 一.自动驾驶的开发流程 1.1 引言 二.Apollo调试工具的使用 2.1 实验内容 2.2 实验流程 三.Apollo仿真工具的使用 3.1 实验内容 3.2 实验 ...

  6. Apollo星火计划学习笔记——第五讲(Apollo自动驾驶定位技术)

    文章目录 前言 1. 定位的作用 1.1 定位和地图: 一对孪生兄弟 1.2 参考系 1.3 定位的作用 2. 定位用到的算法 2.1 GPS 2.1.1 GPS 原理 2.2 RTK(GPS的扩展) ...

  7. Apollo星火计划学习笔记——第一讲 使用Apollo学习自动驾驶

    引言 如何学习自动驾驶? 自动驾驶是集车辆.计算机.电子电气.人工智能.通信等多学科应用为一体的的复杂系统.针对自身专业背景结合自动驾驶发展进行学习: 自动驾驶是通过智能系统来驾驶汽车从而取代了驾驶员 ...

  8. Apollo星火计划学习笔记——Control 专项讲解(LQR)

    文章目录 前言 1. 算法相关基础 1.1 一阶倒立摆 1.2 二自由度车辆横向跟踪偏差模型 1.3 车辆横向跟踪偏差模型 1.4 车辆横向跟踪偏差倒车模型 1.5 轮胎侧偏角与侧偏刚度 1.6 LQ ...

  9. Apollo星火计划学习笔记第四讲2——高精地图定位模块

    Apollo学习笔记 零.目录 一.定位的作用 二.定位用到的算法 2.1 GPS 2.2 IMU 2.3 GNSS(GPS+IMU) 2.4 先验地图定位 2.5 实时定位和建图 2.6 小结 三. ...

最新文章

  1. 微软,您的.net为中国程序员带来了什么?
  2. 六,ESP8266 TCP Client(基于Lua脚本语言)
  3. 工程打包是什么意思_承包工程是什么意思
  4. 【直播回放】100分钟全面剖析图像分割任务,学习CV必知
  5. NO.104使用禅道创建和评审需求
  6. Windows ICS 服务无法启动问题解决
  7. s3c6410裸机程序(1)
  8. cxGrid功能_用于备查【转】
  9. Python之简单验证码实现
  10. 用python祝福父亲节_父亲节给爸爸的祝福语微信48条
  11. 第一部分:MongoDB备忘录
  12. 王道训练营3月13日
  13. 恢复有道词典单词记录本的几种方法(非完美)
  14. 闲聊人工智能产品经理(AIPM)—人工智能产品经理工作流程
  15. 微信小程序开发者工具及官网
  16. 全球及中国再生纸包装行业研究及十四五规划分析报告
  17. 苹果关闭 iOS 14.4.2 系统验证通道
  18. 利用Wifidog实现微信wifi连接以及自写认证服务器
  19. mysql中设计suk表_电商项目-商品表(spu)、规格表(sku)设计
  20. 如何在电脑使用计算机,Windows To Go 如何在电脑上使用?

热门文章

  1. NamingContainer取得 GridView的列数(RowIndex)、对应的资料表 这一列的主索引键
  2. django中cookie模板引用
  3. Python获取文件MD5
  4. HTML 字体图标的引入
  5. Failed to introspect Class [org.springframework.cloud.gateway.config.GatewayAutoConfiguration$NettyC
  6. 【网络取证篇】suy网络工具包
  7. CentOS部署集群版Presto
  8. 生死看淡,不服就干,小米终于迎来了久违的大幅反弹
  9. 拥有一个qq机器人ATRI
  10. Mybatis自定义轻量级分页组件(易集成,易拓展)