Apollo:

Apollo 文档

介绍:
Apollo加载了新的模块和功能,但是在旋转之前,需要对其进行完美的校准和配置。请详细检查先决条件和安装步骤,以确保您具备构建和启动Apollo的能力。您也可以查看Apollo的体系结构概述,以更好地了解Apollo的核心技术和平台。

Apollo软件安装官方教程
Apollo官方构建教程
Apollo 5.0快速入门指南
Apollo代码下载的两个网站:
git clone https://github.com/ApolloAuto/apollo.git
(这个下载比较慢,github对国内的影响,但推荐使用)
Gitee下载链接:
git clone https://gitee.com/ApolloAuto/apollo.git
(这个是国内下载源,下载很快)

来欣赏一段apollo的运行视频:

[video(video-5w49JdqD-1617255881728)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=887402668)(image-https://ss.csdn.net/p?http://i2.hdslb.com/bfs/archive/371a74a43e55c4286326eac99e108ee8460abe43.jpg)(title-mmexport1617250692895)]

具体安装:

Apollo代码

在github上下载apollo的源码

1
git clone https://github.com/ApolloAuto/apollo.git          #下载apollo的源码,也可以到github ApolloAuto\apollo主页上下载
1
2
3
4
5
6
7
8
9
Cloning into 'apollo'...
remote: Enumerating objects: 313277, done.
remote: Counting objects: 100% (313277/313277), done.
remote: Compressing objects: 100% (66199/66199), done.
remote: Total 313277 (delta 245822), reused 310653 (delta 243198), pack-reused 0
Receiving objects: 100% (313277/313277), 2.19 GiB | 11.10 MiB/s, done.
Resolving deltas: 100% (245822/245822), done.
Checking out files: 100% (9124/9124), done.

出现以上这串就表示下载已经完成,下载路径下就会多出一个apollo文件夹,现在就可以进行下一步

cd进入apollo文件夹

1
cd apollo

输入以下代码:

设置环境变量

1
2
git checkout master
echo "export APOLLO_ROOT_DIR=$(pwd)" >> ~/.bashrc && source ~/.bashrc

测试环境变量(可忽略)

1
source ~/.bashrc                    #可忽略    

一、docker安装

安装docker:

docker是Apollo运行的必要条件,Apollo将其需要的依赖和库文件都封装成镜像,有利于其代码的移植。
docker官方安装文档

安装docker有两种方式:
1、在apollo目录下输入以下代码直接安装

1
2
cd apollo
bash docker/setup_host/install_docker.sh

运行此脚本后,会自动下载docker容器;
安装完成没有报错后,重启电脑以让docker运行,输入以下代码验证docker是否完成安装,正常运行:

1
docker ps

出现以下画面代表安装完成。

在这里插入图片描述

PS:本人通过脚本并没有安装成功,而选择了官方的安装方法(尽量采用脚本的方式进行安装)

这张图是其他大佬的配图,运行脚本安装的流程:
在其他地方找了一张差不多的图

2、参照docker官方文档自行安装

在这里插入图片描述

二、拉取docker镜像

到达这一步就已经完成了50%,这一步很简单,但是非常耗时间,网络不好的估计得搞半天都可能还没搞完,因为有很多东西要下载,加加起来得有10个G左右,一旦中途出现超时,就要重新下载,建议选择稳定的网络,土豪可以直接开流量……

在命令终端上用cd命令进入apollo文件夹,使用以下代码拉取apollo镜像

1
2
cd apollo
bash docker/scripts/dev_start.sh

看其他的教程说在代码后面加上 -C 是在国内服务器上下载镜像,说是能下载快一点,但是在5.0版本上不适用,加上 -C 会报错。

拉取完成后的显示

拉取完成后的显示

三、编译apollo

到这里就完成了75%了,最后的25%就是编译的了,编译apollo镜像这根据你自己的来绝定快慢,配置差的编译个半天也不是不可能,但是这么差的配置应该不会用来跑apollo吧。

接着终端的命令输入以下代码进入apollo容器:

1
bash docker/scripts/dev_into.sh

当你输入这指令后,这时候你就会发现你的终端路径就会改变,继续以下步骤就好。

在这里插入图片描述

接着输入代码开始编译就行:

1
bash apollo.sh build

这时候该干嘛就干嘛,喝杯咖啡回来也没问题。

编译过程中:

编译过程中

编译完成之后如下图:

编译完成后

四、启动DreamView

在终端中输入以下代码,启动DreamView:

1
bash scripts/bootstrap.sh

然后打开Chrome或者FireFox浏览器,在地址栏输入http://localhost:8888即可访问Apollo Dreamview,如下图所示:

效果如图:

运行后的状态
完成后的效果

到这里基本上就已经完成了Apollo的安装,最后测试demo
下载demo包:
PS:这里下载有时候可能很慢。

1
2
cd docs/demo_guide/
python rosbag_helper.py demo_3.5.record

下载demo中

完成后即可运行以下代码进行测试:

1
cyber_recorder play -f demo_3.5.record --loop

选项 --loop 用于设置循环回放模式.

在这里插入图片描述

最终效果
到这里整个Apollo安装就已经完成了。

安装过程中遇到的问题:

1、拉取Apollo 源码报错

拉取Apollo 源码过程中出现卡着不动、无法访问、fatal: early EOF等一般都是网络的原因,因为国内的原因,在github上下载东西不是很友好,有时候一断一断的,造成下载时间很长,除非梯。。。,不然就慢慢等,也可以换个通畅的网络,还有网络环境差也很难保证顺利的下载apollo镜像。

因为本人网络不是很好,这东西下了几个小时

在这里插入图片描述

2、docker安装出现的问题

docker安装报错
在用脚本安装docker时出现以上的报错,那此时可以换一种方式安装,可以选择官网的方法去安装。

3、在拉取docker镜像出现的问题

本人在拉取的过程中并没有出现问题,所以没有报错的照片,但还是会出现一定的问题,比如说会在中途卡住,一动也不动,或者出现连接超时等,这些一般都是网络的问题,ctrl+c结束重新来,可以更换其他网络来解决,土豪流量随意。

4、在编译代码的时候出现报错

在这个步骤很大几率都是会出现问题的,要么编到一半卡死,要么整台电脑卡死,还有的就是一输入代码就结束的,在这里本人碰见两个常见的报错,避免大家踩坑。。。

(1)、g++ / C++ / gcc 报错,如图:

gcc报错

因为在gcc编译的时候会大量使用内存,而我当时使用的是虚拟机,分给的内存只有4G,所以在编译的时候内存不够出现报错。

解决方法:

既然内存不足的话,那我们就来加一个交换分区(swap)。

1
2
3
4
5
6
7
8
sudo dd if=/dev/zero of=/swapfile bs=256M count=16
#count的大小就是增加的swap空间的大小,256M是块大小,所以空间大小是bs*count=1024MB
sudo mkswap /swapfile
#把刚才空间格式化成swap格式
chmod 0600 /swapfile
#该目录权限,不改的话,在下一步启动时会报“swapon: /swapfile: insecure permissions 0644, 0600 suggested.”错误
sudo swapon /swapfile
#使用刚才创建的swap空间

效果
编译完之后可以把临时空间关闭:

1
swapoff -a

(2),无显卡报错:

无显卡报错
这种情况基本上都会出现的,因为你没有安装显卡驱动,但是也可以不用管,因为没有检测到显卡它自动会切换成CPU模式。

5、在下载demo出现错误

如图:

下载demo出现错误

这种情况都是网络问题,只要换网或者重复即可。

到此,Apollo安装就结束了。

修改/纠正:

2021,09,02修改如下:

第一处:

在这里插入图片描述
修改为:
因为查看docker容器运行不需要sudo,所以这里安装有问题。

在这里插入图片描述

#本文中借鉴了Apollo github的安装教程和多个博客内容,如有侵权,请联系删除,感谢Apollo官方,也感谢众多博客主,谢谢。