欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-26 11:41:04
...

最近要用到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、Ubuntu16.04安装apollo2.5(GPU版本)
2、自动驾驶平台Apollo 2.5环境搭建
3、Ubuntu下docker使用非root权限运行docker
4、Ubuntu16.04安装ROS Kinetic详细过程
5、Apollo 2.5 安装踩坑指南

相关标签: Apollo课程