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

系列文章目录

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


目录

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

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

Apollo简介

下图是Apollo6.0 EDU 系统架构图。
Apollo星火计划学习笔记|L1 Apollo平台安装(2021年9月更新)_第1张图片下图是自动驾驶软件和硬件相关的技术栈
Apollo星火计划学习笔记|L1 Apollo平台安装(2021年9月更新)_第2张图片

图片来源

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 update

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

curl -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.io

sudo 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,自动驾驶,自动驾驶)