本文参考
https://blog.csdn.net/weixin_43784132/article/details/114993223
https://www.codenong.com/cs106037124/
感谢大佬的无私奉献
Apollo代码下载
git clone https://github.com/ApolloAuto/apollo.git
#下载apollo的源码,也可以到github ApolloAuto\apollo主页上下载想要的版本,我这边是直接下载5.0.0版本
#设置环境变量
cd apollo
echo "export APOLLO_ROOT_DIR=$(pwd)" >> ~/.bashrc && source ~/.bashrc
docker安装
在apollo目录下输入以下代码直接安装
cd apollo
bash docker/setup_host/install_docker.sh
输入以下代码验证docker是否完成安装
docker ps
出现以下画面代表安装完成
如果出现权限问题,则输入下列代码
sudo groupadd docker
sudo gpasswd -a <你的用户名> docker
newgrp docker
安装完docker后可以重启一下
docker拉取镜像
cd apollo
bash docker/scripts/dev_start.sh
出现下面的界面则表示拉取成功
编译apollo
输入以下代码进入apollo容器
bash docker/scripts/dev_into.sh
输入下面的代码开始编译
bash apollo.sh build
大概率不能成功
出现错误
/apollo/modules/planning/tasks/rss/BUILD:5:1: no such package '@ad_rss_lib//': Error cloning repository: Premature EOF caused by Premature EOF caused by Premature EOF and referenced by '//modules/planning/tasks/rss:decider_rss'.
这是因为一些第三方包无法get到
在/apollo/WORKSPACE.in里,第47到第53,替换成:
#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",
)
重新编译一次
如果还是错误,有可能是缓存未清理干净
#在docker环境内
./apollo.sh clean
#在docker环境外,即新建一个命令行终端
rm -rf ~/.cache/bazel/*
#最后在重新执行
bash apollo.sh build
#电脑配置一般的话用下面这句(我是虚拟机所以也用的这句)
bash apollo.sh build --local_resources 2048,1.0,1.0
最后的最后,祈祷编译成功
运行apollo的DreamView
# 启动
bash scripts/bootstrap.sh
# 停止
bash scripts/bootstrap.sh stop
打开Chrome或者FireFox浏览器,在地址栏输入http://localhost:8888即可访问Apollo Dreamview
下载测试demo
cd docs/demo_guide/
python rosbag_helper.py demo_3.5.record
如果太慢了,可以自行到下面的链接里下载,放到任意目录
URL_LIST = [
"https://github.com/ApolloAuto/apollo/releases/download/v1.5.0/demo_1.5.bag",
"https://github.com/ApolloAuto/apollo/releases/download/v2.0.0/demo_2.0.bag",
"https://github.com/ApolloAuto/apollo/releases/download/v2.0.0/apollo_2.0_camera_sample.bag",
"https://github.com/ApolloAuto/apollo/releases/download/v2.5.0/demo_2.5.bag",
"https://github.com/ApolloAuto/apollo/releases/download/v1.0.0/demo_1.0.bag",
"https://github.com/ApolloAuto/apollo/releases/download/v3.5.0/demo_3.5.record",
]
运行下面的代码进行测试,–loop用于设置循环回放模式
cyber_recorder play -f demo_3.5.record --loop
然后就可以在浏览器里看到Dreamview的效果了