百度Apollo安装过程比较简单,但还是记录一下:
首先,安装Apollo时有硬件要求。基本要求
-
下载源码
git clone https://github.com/apolloauto/apollo
-
如果你没有安装docker,那么需要自己安装docker。(已经安装了docker,且版本大于19.03的,可以跳过此步骤)。(5.5版本可直接使用下述命令:
cd apollo
sudo bash docker/scripts/install_docker.sh
sudo reboot
# 重启电脑
docker --version
# 查看docker版本) -
创建Apollo container:
cd apollo
bash docker/scripts/dev_start.sh
# 此过程需要下载很多image,所以比较慢。成功之后会显示“[OK], Enjoy!” -
进入container:
bash docker/scripts/dev_into.sh
# 成功时会提示如何使用sudo等信息 -
进入container之后,编译Apollo:
bash apollo.sh build_opt_gpu
# 需要使用GPU (如果出现“WARNING: No nvidia-driver found. CPU will be used.”, 可能的原因:
- GPU驱动版本没有正确安装(Apollo6.0要求CUDA10.2及以上),
- 驱动没有问题,docker无法直接使用宿主机的GPU硬件,需要安装Nvidia docker image)
-
如果没有GPU,使用此命令:
sudo bash apollo.sh build_cpu
-
Permission denied. Build failed!
-
编译过程中可能会出现一些warning,如:“warning: ‘DimsNCHW’ is deprecated”,不用担心,不影响后续过程的使用。
成功时会提醒:“[ OK ] Build passed!” -
启动Dreamview:
bash scripts/bootstrap.sh
如果启动成功,会看到相应的提示,环境运行在 localhost:8888 。此时,你可以替换 localhost 为远程主机的公网 IP 地址,访问 Apollo Dreamview 仿真模拟环境(如果访问出错,你可能需要在安全组中添加 8888 端口可被访问,sudo ufw allow 8888
)。(可以使用命令来重启或关闭:./scripts/bootstrap.sh [start | stop | restart]
)
-
测试:
cd docs/demo_guide/
python3 record_helper.py demo_3.5.record
(5.5:python rosbag_helper.py demo_3.5.record
)
# 可能会报错ImportError: No module named request
,原因是container中使用的是python2.7,没有urllib.request这个库。解决方法是安装python3,参考链接。然后使用python3 rosbag_helper.py demo_3.5.record
即可。 -
运行测试数据:
cyber_recorder play -f demo_3.5.record --loop
若提示cyber_recorder: command not found
, 可以尝试在/apollo/
下执行source cyber/setup.bash
。如未能解决,请参考github中的issue,重新编译。 Github Issue
-
停止container:
在宿主机中执行:
使用docker stop $(docker ps -aq)
停止docker的所有容器
或者使用docker stop apollo_xxxxx
停止某个apollo容器
注:在6.0及latest中,请小心使用bash your_path/apollo/docker/scripts/dev_start.sh stop
,因为它会停止并删除apollo的所有容器
参考链接