Autoware 簡介
Autoware 號稱全球第一個自動駕駛開源軟件,比百度的 Apollo 更早開源。Udacity self-driving 課程中最早也是結(jié)合 Autoware 進行講解的,后來也出了一個 Apollo 版本的。
百度的 Apollo 自從開源以來發(fā)展迅速,合作伙伴已經(jīng)有不少落地項目了。每次重大版本發(fā)布都有百度高管站臺,也借春晚平臺攢了不少人氣。似乎是為了與之抗衡,前不久,自動駕駛業(yè)內(nèi)的一些公司和院校聯(lián)合成立了 Autoware 基金會。
我們項目組當前使用的自動駕駛基礎(chǔ)平臺就是 Autoware,主要原因是我們的項目立項是在 Apollo 開源之前,當時可選的只有 Autoware。
Autoware 的安裝是一個比較頭疼的問題,或許很多大型軟件的安裝都不輕松。明明按照官網(wǎng)的指導一步一步的安裝,可就是出現(xiàn)一些莫名其妙的問題。
采用Docker 方式安裝會減少很多麻煩。以下安裝步驟主要借鑒這篇文章.
準備工作1: 安裝 docker
這部分工作可以參考本博客另一篇文章。
準備工作2: 安裝 nvidia-docker (v1.0)
安裝 Autoware
與其說安裝,不如說是下載并運行相關(guān)的 image 文件。
- 下載 Autoware 的 image
docker pull autoware/autoware:1.7.0-kinetic
- 創(chuàng)建 Docker image 的啟動文件
一般情況下可以直接在命令行中啟動 image 文件,但是這里有比較多的參數(shù)需要設(shè)置,直接在命令行輸入不太方便,所以做成 .sh 可執(zhí)行文件的形式。啟動文件的名字可以隨便起,例如 run.sh,為了便于管理,創(chuàng)建專門的文件夾存放 run.sh 文件:
mkdir -p ~/Autoware/docker/generic
在此目錄下,創(chuàng)建 run.sh 文件,內(nèi)容如下
#!/bin/sh
XSOCK=/tmp/.X11-unix
XAUTH=/home/$USER/.Xauthority
SHARED_DIR=/home/autoware/.autoware
HOST_DIR=/home/$USER/.autoware
nvidia-docker run \
-it --rm \
--volume=$XSOCK:$XSOCK:rw \
--volume=$XAUTH:$XAUTH:rw \
--volume=$HOST_DIR:$SHARED_DIR:rw \
--env="XAUTHORITY=${XAUTH}" \
--env="DISPLAY=${DISPLAY}" \
-u autoware \
--privileged -v /dev/bus/usb:/dev/bus/usb \
--net=host \
autoware/autoware:1.7.0-kinetic
- 運行 run.sh 文件
cd ~/Autoware/docker/generic
sh run.sh
上述命令如果報錯,可能需要 sudo 權(quán)限。
運行之后,命令行提示符變成了 autoware@****,這就說明已經(jīng)進入了Autoware image 對應的一個 docker container,可以在里面運行 Autoware 了。
運行 Autoware demo
在 docker container 中運行 Autoware demo 的過程,與非 docker 模式相同,按照 Autoware 提供的 QuickStart 中的步驟運行即可。也可以參考本博客另一篇文章中的介紹。