Apollo 2.5 安裝踩坑指南(轉載)
apollo 是百度的無人駕駛平臺。
環境
- Ubuntu 14.04.4
- Dokcer-CE 17.09.1
先安裝 Docker
官網教程安裝 Docker 在網不好的情況下會有大概率安裝不成功。 國內建議使用 DaoCloud 安裝 Dokcer
sudo apt-get update sudo apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ software-properties-common curl -fsSL https://download.daocloud.io/docker/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=$(dpkg --print-architecture)] https://download.daocloud.io/docker/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install -y -q docker-ce=17.09.1* sudo service docker start sudo service docker status
至此,一切順利的話,Docker 安裝好了。 使用 Docker 需要 root 許可權,我們建立一個 docker 組,將當前使用者加入到組裡,使用 Docker 就可以不需要輸入 sodu 了
// 建立 docker 組
$ sudo groupadd docker
// 加入到 docker 組
$ sudo usermod -aG docker $USER
操作完了重啟一下電腦生效。
下載 apollo 原始碼
這裡我們指定下載 2.5.0 版本的
git clone --branch v2.5.0 https://github.com/ApolloAuto/apollo.git
下載 docker 映象 & 進入容器
之後就按照 README 步驟構建 dev 環境
// 這裡記得加上 -C,網好就可以忽略
bash docker/script/dev_start.sh -C
bash docker/script/dev_into.sh
dev_start 是 pull 各種需要的 docker 映象。並且把容器跑起來 映象檔案有點大,差不多 3 到 4 G 的樣子,慢慢等。。。 dev_into 就是進入容器
Build apollo 原始碼
build apollo 原始碼是要在容器裡做的
bash apollo.sh build
build 過程沒有報錯的話就可以跑 dreamview 了
bash scripts/bootstrap.sh
dreamview 跑起來後,開啟你最愛的瀏覽器輸入 localhost:8888 回車。 如果看到介面了,那恭喜你,上輩子可能拯救了銀河系~ 看到介面的同學,請跳過下面的踩坑之路直接看最後的 play bag
踩坑之路
一次性安裝成功是不可能一次性安裝成功的,這輩子是不可能一次性安裝成功的。 很難受。 我的 dreamview 告訴我他已經跑起來了,但是瀏覽器打不開 localhost:8888,翻了會 lssues,發現有和我一樣的問題 -> #3615。 沒跑起來的原因是與 apollo 用來處理點雲圖的 lib 有關. 我們需要把這個 lib 重新編譯一下然後替換掉容器內的。 lib 的倉庫地址:PointCloudLibrary 先下載下來再說
git clone --branch pcl-1.7.2 https://github.com/PointCloudLibrary/pcl.git
修改 CMakeLists.txt
// 從第九行開始,也就是這句的下一行
set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "possible configurations" FORCE)
// 插入如下程式碼
if (CMAKE_VERSION VERSION_LESS "3.1")
# if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
message("Build with c++11 support")
# endif ()
else ()
set (CMAKE_CXX_STANDARD 11)
endif ()
編譯
mkdir build
cd build
cmake ..
make -j4
// 將編譯後的 lib 覆蓋到 /usr/local/lib 下
cp -a lib/* /usr/local/lib/
現在,重新在執行你的 dreamview,應該就能看到介面了。 如果還看不到,,,,哈哈哈哈哈哈哈
play bag
dreamview 已經看到了,跑個測試資料玩玩。
rosbag play docs/demo_guide/demo.bag --loop
// 如果找不到 rosbag 命令的話,執行一下這句再試試
source /apollo/bazel-apollo/external/ros/setup.bash
好了,看看你的 dreamview 吧
最後
這是我在安裝 apollo 的過程中遇到的一些問題,希望能幫助到需要的人。 另外有些命令手打上去的,不正確的話請檢查一下。