写在最前面:这个系列的笔记并不是按照顺序写的,基本上忽然想起来写一些。前后顺序可能有点问题,并且文章后续还得多次补充。
无人驾驶笔记系列(0):Apollo第一次上手
docker 环境加载
你必须先清空之前内存中的所有环境
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
apolloauto/apollo dev-x86_64-20181210_1500 9fd3ca05f0a7 2 months ago 13.4GB
apolloauto/apollo map_volume-sunnyvale_with_two_offices-latest c57193dfbb94 14 months ago 373MB
apolloauto/apollo localization_volume-x86_64-latest 5486a0d71a97 16 months ago 5.43MB
apolloauto/apollo yolo3d_volume-x86_64-latest 6a9cbf71163e 19 months ago 275MB
apolloauto/apollo map_volume-sunnyvale_big_loop-latest 3eb7011c5a63 22 months ago 994MB
apolloauto/apollo map_volume-sunnyvale_loop-latest 36dc0d1c2551 2 years ago 906MB
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
db0a95cf5120 apolloauto/apollo:dev-x86_64-20181210_1500 "/bin/bash" 3 weeks ago Up 3 weeks apollo_dev_xavier
14d7d71bcc0b apolloauto/apollo:yolo3d_volume-x86_64-latest "/bin/sh" 3 weeks ago Up 3 weeks apollo_yolo3d_volume_xavier
4cef3d9b3d55 apolloauto/apollo:localization_volume-x86_64-latest "/bin/sh" 3 weeks ago Up 3 weeks apollo_localization_volume_xavier
a0d3402f8763 apolloauto/apollo:map_volume-sunnyvale_with_two_offices-latest "/bin/sh" 3 weeks ago Up 3 weeks apollo_map_volume-sunnyvale_with_two_offices_xavier
5909cb8a5b37 apolloauto/apollo:map_volume-sunnyvale_loop-latest "/bin/bash" 3 weeks ago Up 3 weeks apollo_map_volume-sunnyvale_loop_xavier
eccbcef993c6 apolloauto/apollo:map_volume-sunnyvale_big_loop-latest "/bin/sh" 3 weeks ago Up 3 weeks apollo_map_volume-sunnyvale_big_loop_xavier
docker rm -f db0a95cf5120
docker rmi -f 镜像名称
进入docker 环境
bash docker/scripts/dev_start.sh
Linux
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
...
[ OK ] Finished setting up Apollo docker environment. Now you can enter with:
bash docker/scripts/dev_into.sh
[ OK ] Enjoy!
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a6ab03181f4f apolloauto/apollo:dev-x86_64-20181210_1500 "/bin/bash" About a minute ago Up About a minute apollo_dev_xavier
8b7452a232d3 apolloauto/apollo:yolo3d_volume-x86_64-latest "/bin/sh" About a minute ago Up About a minute apollo_yolo3d_volume_xavier
0de9d3bf8559 apolloauto/apollo:localization_volume-x86_64-latest "/bin/sh" About a minute ago Up About a minute apollo_localization_volume_xavier
d0d269a04a31 apolloauto/apollo:map_volume-sunnyvale_with_two_offices-latest "/bin/sh" About a minute ago Up About a minute apollo_map_volume-sunnyvale_with_two_offices_xavier
3138b0d2840e apolloauto/apollo:map_volume-sunnyvale_loop-latest "/bin/bash" About a minute ago Up About a minute apollo_map_volume-sunnyvale_loop_xavier
e234d13bb4f0 apolloauto/apollo:map_volume-sunnyvale_big_loop-latest "/bin/sh" About a minute ago Up About a minute apollo_map_volume-sunnyvale_big_loop_xavier
bash docker/scripts/dev_into.sh
编译apollo
第一次运行,必须要编译
bash apollo.sh build
但是,有很大的可能性,你编译成功不了
主要错误有:
no such package '@ad_rss_lib
,原因是要从github上下载一个库,但是速度太慢,很容易失败。/usr/lib/qt5/bin/uic: No such file or directory
没有安装qt5
解决方案
(1)从https://github.com/intel/ad-rss-lib
把源码下载下来,放到apollo的文件目录内,修改WORKSPACE.in
一定是
WORKSPACE.in
而不是WORKSPACE
,因为apollo.sh中通过脚本将文件进行了覆盖,WORKSPACE
在编译的时候会自动生成。
#ad-rss-lib
# 注释掉原来的在线下载方式
# new_git_repository(
# name = "ad_rss_lib",
# build_file = "third_party/rss_lib.BUILD",
# tag = "v1.1.0",
# remote = "https://github.com/intel/ad-rss-lib",
# )
# 采用下载好的文件进行编译
new_local_repository(
name = "ad_rss_lib",
build_file = "third_party/rss_lib.BUILD",
path = "/home/tmp/ad-rss-lib-1.1.0",
)
(2)在编译前安装下qt5
sudo apt-get update
sudo apt-get install qt5-default qtcreator
修改这个两个问题时候,你会发现缓存有时候不会清理。你需要一下两条命令
./apollo.sh clean
在docker 环境外
rm -rf ~/.cache/bazel/*
重新执行
bash apollo.sh build
大约十分钟可以编译成功了
启动下dreamview
这是网页版的控制器
# 启动
bash scripts/bootstrap.sh
# 停止
bash scripts/bootstrap.sh stop
当然也可以运行下,Node的节点观察下,见系列笔记三
无人驾驶笔记系列(三)