近期生活中,在安装apollo中遇到了各种问题,参考了各类博主会答,在此整理一下,方便后期再次安装方便
1、虚拟机安装Ubuntu蓝屏
博主自己在看虚拟机安装时,在网上随意参考一篇博客既可以安装成功,具体安装过程这里我就不多说了,这里主要说一下,安装ubuntu后,启动虚拟机无法正常运行,虚拟机出现蓝屏,然后只能强制重启的解决方案。
具体方案就是打开 控制面板 --> 点击程序 --> 点击启用或关闭windows功能,进入上面的页面即可,选择红色框线圈起来的地方,进行同样的勾选即可,然后重启电脑,重新运行虚拟机即可。
2、安装apollo
1、必备环境安装
根据Apollo开发文档所说,推荐使用Ubuntu18.04及以上版本。此处我选用了20.04版本的Ubuntu进行配置。首先先进行更新软件源
sudo apt-get update
sudo apt-get upgrade
2、NVIDIA GPU驱动安装(虚拟机不用安装)
这里为了结构完整性,把显卡驱动 安装也写了下来
对于N卡用户,需要单独安装对应显卡驱动及cuda,安装之前,需要根据Ubuntu的内核版本来确定对应版本的显卡驱动。查看命令如下:
ubuntu-drivers devices
根据recommended的推荐安装:
sudo apt-add-repository multiverse
sudo apt-get update
sudo apt-get install nvidia-driver-510
此处演示如何使用图形化界面进行安装驱动,首先打开软件与更新,在附加项一栏中选择需要的驱动版本即可,此处选择nvidia-driver-510
这里由于自己的是虚拟机,无法展示,贴了一张网图
随后点击应用更改,等待下载完成即可。所需要的时间适网络情况而视。安装完成后可以使用指令查看驱动是否生效(建议重新启动后查看)
nvidia-smi
显示信息如下所示:
表示显卡安装成功。
2、Docker安装
首先,需要安装依赖并卸载旧版本
# 安装依赖项
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# 卸载旧版本(可能不存在)
sudo apt-get remove docker docker-engine docker-ce docker.io
随后,添加docker官方提供的密钥并更新软件源
# 添加gpg密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 设置stable存储库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 更新软件源
sudo apt-get update
之后,直接安装最新版本的docker即可。
# 安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
安装完成后还需要添加权限
#添加docker用户组
sudo groupadd docker
#将登陆用户加入到docker用户组中
sudo gpasswd -a $USER docker
#更新用户组
newgrp docker
然后输入:
docker ps
当出现如下所示:
docker安装成功。
3、NVIDIA Container Toolkit (虚拟机下不用安装)
基于Apollo的CUDA的docker镜像需要依赖于NVIDIA Container Toolkit。使用如下指令进行安装
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get -y update
sudo apt-get install -y nvidia-docker2
随后,重启Docker完成应用。
sudo service docker start
4、下载apollo源码
可以直接去github上下载,再解压,或者自己下载到U盘在拷到虚拟机上,都可以。
git clone https://github.com/ApolloAuto/apollo.git
5、下载完成,开始进行编译
1、 启动Docker
打开终端(ctrl + alt + t)执行apollo目录下的镜像版本
cd apollo
cd docker/scripts
bash dev_start.sh -g cn
此步骤需要耐心等待完成,成功后将显示如下字样:
[ OK ] Congratulations! You have successfully finished setting up Apollo Dev Environment.
[ OK ] To login into the newly created apollo_dev_jasonLi container, please run the following command:
[ OK ] bash docker/scripts/dev_into.sh
[ OK ] Enjoy!
紧接着输入如下指令,进入docke容器
bash dev_into.sh
出现这个界面代表进入docker容器成功。
2、编译apollo(建议早上和晚上网速较好)
需要有较好的网络环境 ,输入一下指令,虚拟机选择cpu下编译。
# 优化模式编译(GPU)
bash apollo.sh build_opt_gpu
# 优化模式编译(CPU)
bash apollo.sh build_cpu
编译成功后,将显示如下字样,这个过程有点漫长,中间会出错多次,一次不成功,继续重新编译。
(09:58:11) INFO: Elapsed time: 3331.877s, Critical Path: 204.26s
(09:58:11) INFO: 30716 processes: 18774 internal, 11942 local.
(09:58:11) INFO: Build completed successfully, 30716 total actions
==============================================
[ OK ] Done building apollo. Enjoy!
==============================================
3、启动 Dreamview(也有大坑)
完成编译后,即可在Docker环境下启动Dreamview进行测试:
bash scripts/bootstrap.sh
此时如果出现如下报错。
nohup: appending output to 'nohup.out'
[ OK ] Launched module monitor.
nohup: appending output to 'nohup.out'
[ OK ] Launched module dreamview.
Failed to start Dreamview. Please check /apollo/data/log or /apollo/data/core for more information
可以按照如下操作:也就是关闭在打开一次。
bash scripts/bootstrap.sh stop
bash scripts/bootstrap.sh
如果出现如下问题:
[xx@in-dev-docker:/apollo]$ bash scripts/bootstrap.sh
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
scripts/bootstrap.sh: line 34: ./scripts/monitor.sh: Permission denied
scripts/bootstrap.sh: line 35: ./scripts/dreamview.sh: Permission denied
属于权限问题,利用chmod
授权,可以执行如下操作:
sudo chmod +x scripts/bootstrap.sh
还不行的话,执行下面的
sudo chmod +x scripts/ -R
启动成功后可以在浏览器中打开链接进行查看Dreamview:https://localhost:8888
复制链接在浏览器中打开即可出现如下界面:
6、播放record数据
1、 先下载record数据包:
需要重新打开一个终端,
cd apollo
wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record
稍微等待下载,
2. 使用cyber RT运行播放数据
在第一个启动的dreamview的终端下输入如下:
cyber_recorder play -f demo_3.5.record --loop #–loop 用于设置循环回放模式
打开浏览器,既可以看到demo的运行。