寫在最前面:這個系列的筆記並不是按照順序寫的,基本上忽然想起來寫一些。前後順序可能有點問題,並且文章後續還得多次補充。
無人駕駛筆記系列(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的節點觀察下,見系列筆記三
無人駕駛筆記系列(三)