Apollo安装与仿真平台介绍(二)————Ubuntu16.04下部署Apollo2.5

最近要用到Apollo自动驾驶框架,便花了两天时间在Ubuntu16.04上搭建了Apollo2.5。

Apollo源代码

首先是下载apollo源代码,有两种方法(这里选择的F2):

F1、直接从github上拉取

git clone --branch v2.5.0 https://github.com/ApolloAuto/apollo.git

拉取之后会有一个apollo文件夹在home下,但是这种方法比较慢,我试了几次都是下载一半就断开。

F2、下载release包

从apollo-v2.5.0下载代码文件到home目录下,我下载的是Source code(tar.gz),然后解压

tar –zxvf apollo.2.5.0.tar.gz

安装docker

为了免除环境差异造成的各种问题,apollo运行环境依赖于docker。因此如果还没有安装docker的话,需要先安装docker。可以参考https://docs.docker.com/install/linux/docker-ce/ubuntu/
1、卸载旧版本
docker的旧版本被称为docker,docker.io或docker-engine,如果已安装,要先卸载他们:

$ sudo apt-get remove docker docker-engine docker.io containerd runc

2、开始安装docker
2.1 更新apt包索引:

$ sudo apt-get update

2.2 安装软件包以允许apt通过HTTPS使用存储库:

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

2.3 添加Docker的官方GPG密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥 。

$ sudo apt-key fingerprint 0EBFCD88

2.4 使用以下命令来设置稳定的存储库:

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

2.5 更新apt包索引:

$ sudo apt-get update

2.6 安装最新版本的Docker Engine-Community和containerd:

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

至此,docker已安装完成。
apollo中运行docker要使用非root方式运行,否则可能会出现一些莫名其妙的问题。

#添加 docker group
$ sudo groupadd docker
#将用户加入该 group 内
$ sudo usermod -aG docker $USER或$ sudo gpasswd -a ${USER} docker
#重启服务
$ sudo service docker restart或$ sudo /etc/init.d/docker restart
#切换当前会话到新 group 
$ newgrp - docker

在此之后还需要安装Git LFS,这个是一个git对大文件的扩展支持。

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install -y git-lfs

至此,在终端内输入docker images应该就可以看到一个没有内容的docker镜像表格,但是里面是没有内容的,因为我们还没有拉取所需要的镜像。

3.若要卸载Docker Engine-社区
3.1 卸载Docker Engine-Community软件包:

$ sudo apt-get purge docker-ce

3.2 主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:

$ sudo rm -rf /var/lib/docker

拉取所需要的镜像文件

首先要了解apollo2.5是2018年版本的框架。

cd apollo.2.5.0
sudo chmod 777 /var/run/docker.sock
bash docker/scripts/dev_start.sh

会拉取几个镜像并启动container,运行结束后再用docker images指令可以看到以下

REPOSITORY                                 TAG                                    IMAGE ID            CREATED             SIZE
apolloauto/apollo                          dev-x86_64-20180413_2000               2d338b6e1942        3 weeks ago         7.17GB
apolloauto/apollo                          localization_volume-x86_64-latest      75cf8c77134c        4 weeks ago         6.94MB
apolloauto/apollo                          map_volume-sunnyvale_big_loop-latest   9d9581178ffe        6 weeks ago         995MB
apolloauto/apollo                          yolo3d_volume-x86_64-latest            562d2b2b5a71        7 weeks ago         70.6MB
apolloauto/apollo                          map_volume-sunnyvale_loop-latest       36dc0d1c2551        3 months ago        906MB

PS:其实每一个images也可以用docker pull [apolloauto/apollo:TAG_NAME]单独拉取。稍后我们要进入的container就是dev-x86_64-20180413_2000那个image创建的container(名为apollo_dev)。

下载docker镜像&进入容器

//dev_start是pull各种需要的docker镜像,并且把容器跑起来
./docker/scripts/dev_start.sh -l -t new20200207
//dev_into是进入容器
./docker/scripts/dev_into.sh

编译Apollo代码

bash apollo.sh build

编译过程中没有错误就可以跑dreamview

bash scripts/bootstrap.sh

dreamview跑起来后,打开浏览器输入localhost:8888回车

运行一个rosbag测试

因为apollo2.5是基于ros操作系统的,测试rosbag之前还需要安装ros。
我们按官方文档先跑下demo。先下载回放数据包:

sudo bash docs/demo_guide/rosbag_helper.sh download

下载完成后,回放数据位于docs/demo_guide目录下。Apollo基于ROS,而rosbag是其中的数据记录和回放工具。用该命令可以开始回放:

source /apollo/bazel-apollo/external/ros/setup.bash
rosbag play docs/demo_guide/demo.bag --loop

Apollo安装与仿真平台介绍(二)————Ubuntu16.04下部署Apollo2.5_第1张图片
参考文献:
1、Ubuntu16.04安装apollo2.5(GPU版本)
2、自动驾驶平台Apollo 2.5环境搭建
3、Ubuntu下docker使用非root权限运行docker
4、Ubuntu16.04安装ROS Kinetic详细过程
5、Apollo 2.5 安装踩坑指南

你可能感兴趣的:(Apollo课程)