机器配置 处理器:R5-3550H 内存:16g 显卡:vega8核显
运行成功时间2022/1/27
使用VMware pro安装虚拟机ubuntu 18.04.5 LTS。这是官方推荐的版本
分配处理器两个核心,内存4G 硬盘空间128G+30G
硬盘空间最好准备128G,不然会有很多麻烦
首先,更新软件源,这对后续下载速度很重要。
接下来的步骤是根据官方给出的进行的:点击此处
安装gcc g++
sudo apt update
sudo apt install gcc g++ -y
检查是否安装成功
gcc --version
g++ --version
如果出现版本号则安装成功。
安装Apollo内核
linux-kernel-5.4.115-apollo-rt.zip
安装包下载完成后,解压后安装
unzip linux-kernel-5.4.115-apollo-rt.zip
cd linux-kernel-5.4.115-apollo-rt
sudo dpkg -i ../*.deb
安装完成后,使用reboot
命令重新启动计算机。进入系统后,在终端中输入uname -r
,若输出“5.4.115-apollo-rt”字样,表示安装成功。
安装docker
在安装docker之前需要将apollo的源码下载到本地
安装git
cd ~
sudo apt update
sudo apt install git -y
下载Apollo5.5版本的源码
git init
git clone -b r5.5.0 https://gitee.com/ApolloAuto/apollo.git
在下载的过程中可能会很慢、也可能链接失败,千万不要下载zip版本,否则解压后很可能会安装失败,可以下载tar.gz版本
用以下几行命令安装docker
sudo apt update
sudo apt install curl
sudo bash ./apollo/docker/setup_host/install_docker.sh
在终端中输入以下命令来验证docker是否安装成功:
sudo docker run hello-world
若能看到helloworld的相关信息,则表示docker安装成功。
设置Apollo编译环境
cd ~
echo "export APOLLO_HOME=$(pwd)" >> ~/.bashrc
source ~/.bashrc
sudo gpasswd -a $USER docker
sudo usermod -aG docker $USER
sudo chmod 777 /var/run/docker.sock
reboot
接下来是编译,也是我踩过最多坑的地方
是根据篇帖子顺利进行的
1、转到apollo文件夹下
cd apollo
改用中科大的Docker镜像
sudo gedit /etc/docker/daemon.json
在打开的daemon.json中,加入以下代码:
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"] }
重启Docker
sudo systemctl restart docker
在改用中科大的镜像之前已经换不同的方法失败过很多遍了
2、拉取Image
bash docker/scripts/dev_start.sh
第一次拉取镜像需要很长的时间,这是因为需要下载,以后拉取镜像就会快很多
在改用中科大的镜像之后等待一段时间,成功后就会看到以下界面
进入docker环境
bash docker/scripts/dev_into.sh
这时命令窗口显示前缀的方式会发生改变:$USER@in_dev_docker:/apollo$,说明我们已经成功进入Docker容器环境内。
build Apollo
这是我踩坑最深,被卡的最久的一次,之前也安装过几次,前面的步骤和我之前的不一样,所以每次报错都不一样,我都没有记录下来,但是如果是跟着我的步骤安装的话报错应该是如下图所示:
根据另一篇帖子:
此文章中提到
是由于磁盘空间不足,于是我就给我的磁盘扩容,但是还是编译失败,其中花费了不少的时间,就在我重新仔细查看后发现作者不仅扩容了还加了一个交换分区
可能是我没有增加交换分区引起的,我增加了交换分区后就编译成功了,方法参考下文
vmware下ubuntu 无损扩容_fa544384733的博客-CSDN博客https://blog.csdn.net/fa544384733/article/details/82730513
增加完分区后就可以开始编译,如果直接编译还是会因为网络问题编译不通过,所以我们需要更改源文件的路径。主要的解决方案有两个:(① ②任选其一)
① 使用国内码云gitee镜像进行替换:
使用文件管理器,打开/apollo/WORKSPACE.in
这里有两个文件的名字很像,一定是选中的以in结尾的文件。
第47到第52行,替换成:
#ad-rss-lib
new_git_repository(
name = "ad_rss_lib",
build_file = "third_party/rss_lib.BUILD",
tag = "v1.1.0",
remote = "https://gitee.com/audier0879/ad-rss-lib",
)
② 是本地安装的方法,解压释放下载好的ad-rss-lib.zip到apollo文件夹中
我使用的是这个方法,前面的方法也试过,报错与该方法一样,应该也可以使用。
我们还是借鉴①的步骤,打开/apollo/WORKSPACE.in文件,将第47到第52行替换为:
#ad-rss-lib
new_local_repository(
name = "ad_rss_lib",
build_file = "third_party/rss_lib.BUILD",
path = "/apollo/ad-rss-lib",
)
Path后的路径应与下载提取后的文件夹路径、名字相对应,改完之后就可以开始编译了
在docker环境内输入
bash apollo.sh build
经过了几天的折腾终于出现了编译成功的界面
启动仿真环境DreamView
bash scripts/bootstrap.sh
如果启动成功,在终端会输出以下信息:
nohup: appending output to 'nohup.out'
Launched module monitor.
nohup: appending output to 'nohup.out'
Launched module dreamview.
Dreamview is running at http://localhost:8888
在浏览器中输入以下地址:
http://localhost:8888
就会出现以下界面
运行demo演示
下载demo_3.5
cd docs/demo_guide/
python rosbag_helper.py demo_3.5.record
运行demo_3.5
cd /apollo
cyber_recorder play -f docs/demo_guide/demo_3.5.record –loop
刷新一下浏览器就可以看到运行的画面了。