Dockerを用いたAutowareのセットアップとデモ
自動運転ソフトウェアのAutowareでは、Dockerイメージが提供されており、このDockerイメージを利用することで、Autowareを簡単にインストールできます。
この記事では、Dockerを用いてAutowareをセットアップし、デモを実行する方法を紹介します。
Autoware
Autowareは、自動運転システム用オープンソースソフトウェアです。
詳細は、以下のサイトをご覧ください。
- Web: https://autoware.ai/
- GitHub: https://github.com/CPFL/Autoware
- Docker Hub: https://hub.docker.com/r/autoware/autoware/
Dockerを用いたAutowareのセットアップ
前提条件
- Ubuntu 16.04
- Docker
- NVIDIA Docker (NVIDIA Docker2は、まだテストしていません)
Dockerイメージのダウンロード
以下のコマンドで、Docker HubからAutoware 1.7.0 Kinetic版をダウンロードします。
$ docker pull autoware/autoware:1.7.0-kinetic
デモデータの準備
以下のコマンドで、デモデータの格納するディレクトリーを作成し、デモデータのダウンロードと展開を行います。
$ mkdir ~/.autoware $ cd ~/.autoware $ wget http://db3.ertl.jp/autoware/sample_data/sample_moriyama_data.tar.gz $ wget http://db3.ertl.jp/autoware/sample_data/sample_moriyama_150324.tar.gz $ tar xf sample_moriyama_data.tar.gz $ tar xf sample_moriyama_150324.tar.gz $ rm sample_moriyama_data.tar.gz $ rm sample_moriyama_150324.tar.gz
Dockerコンテナ起動用スクリプトの準備
以下のコマンドで、Dockerコンテナ起動用シェルスクリプトを格納するディレクトリーを作成し、
$ mkdir -p ~/Autoware/docker/generic
作成したディレクトリーに、以下の内容をファイル名run.sh
として保存します。
#!/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
なお、git clone
して、run.sh
を編集しても構いません。
Dockerを用いたAutowareのデモ
Dockerコンテナの起動
以下のコマンドで、Dockerコンテナを起動します。
$ cd ~/Autoware/docker/generic $ sh run.sh
Runtime Managerの起動
Dockerコンテナが起動したら、以下のコマンドで、Runtime Managerを起動します。
$ cd Autoware/ros $ ./run
これより先の操作は、ファイルパスを除き、GitHubのAutoware_QuickStart_v1.1JP.pdf(https://github.com/CPFL/Autoware-Manuals/blob/master/jp/Autoware_QuickStart_v1.1JP.pdf)とほぼ同じです。
ROSBAGの再生
Runtime Managerの[Simulation]タブで以下の.bagファイルを指定し、[Play]ボタンをクリックし、数秒後に[Pause]ボタンをクリックして一時停止しておきます。
“/home/autoware/.autoware/sample_moriyama_150324.bag”
RVizの起動と設定
Runtime Managerで[RViz]ボタンをクリックし、RVizを起動します。
RVizのメニュー[File]-[Open Config]を選択します。
[Choose a file to open]ダイアログが表示されるので、以下のファイルを選択して[Open] ボタンをクリックします。
“/home/autoware/Autoware/ros/src/.config/rviz/default.rviz”
地図のロード
Runtime Managerの[Quick Start]タブの[Map]で以下の.lanchファイルを選択し、[Map]ボタンをクリックします。
“/home/autoware/Autoware/docs/quick_start/my_map.launch”
[Simulation]タブで[Pause]ボタンをクリックし、数秒後に[Pause]ボタンをクリックして一時停止しておきます。
自己位置推定の開始
[QuickStart]タブの[Localization]で以下の.launchファイルを選択し、[Localization]ボタンをクリックしてロードします。
“/home/autoware/Autoware/docs/quick_start/my_localization.launch”
[Simulation]タブで[Pause]ボタンをクリックし、ROSBAGの再生を開始します。
RVizで表示する
RVizの右側の[Current View]-[Target Frame]に”base_link”を指定し、[Type]を”TopDownOrtho”にして[Zero]ボタンをクリックします。
その他の.launchファイル
“/home/autoware/Autoware/docs/quick_start/”ディレクトリーに、それぞれの.launchファイルがあります。
[Sensing] “my_sensing.launch”
[Detection] “my_detection.launch”
[Mission Planning] “my_mission_planning.launch”
[Motion Planning] “my_motion_planning.launch”
まとめ
Dockerを用いてAutowareをセットアップし、デモを実行する方法を紹介しました。