L1 Apollo平台安装
L2 CyberRT学习
L5 Routing简介
下图是Apollo6.0 EDU 系统架构图。
下图是自动驾驶软件和硬件相关的技术栈
图片来源
先贴一个官方安装教程:安装教程
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
最后放上老师在直播里推荐的自动驾驶的综述文章: