Autoware Docker 1.12.0
Table of Contents
概要
2019年2月に刊行された Autoware の書籍がある。
- Autoware 自動運転ソフトウェア入門 (リックテレコム)
- Autoware :自動運転ソフトウェア入門 (日本語) 単行本(ソフトカバー) - 2019/2/3 (Amazon)
2020年10月に、これを見ながら、PCにインストールしてAutowareを動かしてみた。
やってみた限り、書籍記載の推奨環境で、インストール手順通りにやってもAutowareの動作までは辿りつけなかった。
書籍では、動作に必要なソフトウェアのバージョン指定が無い為、最新の環境でインストールするとバージョンの組み合わせの問題で動作できない。
また、書籍記載のgithubのリポジトリには必要なファイルが存在していなかった。
書籍記載の推奨環境とインストール手順
推奨環境
- Ubuntu 16.04 LTS
- Intel Core i7 (8コア)
- メモリ 16GB以上
- ストレージ 30GB以上のSSD
- GPU NVIDIA GeForce GTX 980M かそれ以上のもの
インストール手順
- 古いDockerのアンインストール
- Docker CE のインストール(バージョン指定無し)
- 動作確認(hello-world)
- NVIDIA Dockerのセットアップ(バージョン v1.0.1)
- 動作確認
- Autoware Dockerのセットアップ(1.8.0-kinetic)
私の環境とインストール手順
推奨環境
- Ubuntu 16.04 LTS
- Intel Core i7 (8コア)
- メモリ 16GB以上
- ストレージ SSD 128GB
- GPU NVIDIA Quadro P400
インストール手順
- 古いDockerのアンインストール
- Docker CE のインストール(17.12.1)
- 動作確認(hello-world)
- 自ユーザをdockerグループに追加して、自ユーザからdockerを起動できるようにする
- NVIDIA Dockerのセットアップ(バージョン v2.0.3)
- 動作確認
- Autoware Dockerのセットアップ(1.12.0-kinetic)
どうやってバージョンの組み合わせを特定したか?
それぞれのソフトウェアが依存するバージョンを整理しつつ、実際にインストールとアンインストールを繰り返して特定した。
まずは、上記に記載があるバージョンを確認。
Supported Configurations
Autoware Version | Ubuntu 14.04 | Ubuntu 16.04 | Ubuntu 18.04 |
---|---|---|---|
v1.14.0 | - | - | X |
v1.13.0 | - | - | X |
v1.12.0 | - | X | X |
v1.11.1 | - | X | - |
v1.11.0 | - | X | - |
v1.10.0 | - | X | - |
v1.9.1 | X | X | - |
v1.9.0 | X | X | - |
Requirements
Product | Ubuntu 14.04 | Ubuntu 16.04 | Ubuntu 18.04 |
---|---|---|---|
ROS | Indigo | Kinetic | Melodic |
Qt | 4.8.6 or higher | 5.2.1 or higher | 5.9.5 or higher |
CUDA (optional) | 8.0GA(?) | 9.0 | 10.0 |
FlyCapture2 (optional) | |||
Armadillo (optional) |
Ubuntu 16.04 に対しては、CUDA 9.0が対応している。
詳細手順
Ubuntu 16.04 LTS をインストール
- Ubuntu を参照
CUDA9.0を入れる(一緒にGPUのドライバがインストールされる)
Dockerを入れる
- docker-ce=17.12.1~ce-0~ubuntu
sudo apt-get install -y docker-ce=17.12.1~ce-0~ubuntu
NVIDIA Docker2 を入れる
- nvidia-container-runtime=2.0.0+docker17.12.1-1
- nvidia-docker2=2.0.3+docker17.12.1-1
sudo apt-get install -y docker-ce=17.12.1~ce-0~ubuntu sudo apt-get install -y nvidia-container-runtime=2.0.0+docker17.12.1-1
$ sudo docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi Unable to find image 'nvidia/cuda:9.0-base' locally 9.0-base: Pulling from nvidia/cuda 4f53fa4d2cf0: Pull complete 6af7c939e38e: Pull complete 903d0ffd64f6: Pull complete 04feeed388b7: Pull complete 552e6aef918c: Pull complete 3b5947c788de: Pull complete d50221725eb7: Pull complete Digest: sha256:5e2da1441ce85e5e7f77c8f215329fa19c318d3cdb2eeaec515fd6f2430d568e Status: Downloaded newer image for nvidia/cuda:9.0-base Wed Oct 14 08:46:54 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 384.130 Driver Version: 384.130 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Quadro P400 Off | 00000000:01:00.0 On | N/A | | 34% 46C P0 ERR! / N/A | 638MiB / 1984MiB | 7% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| +-----------------------------------------------------------------------------+
Autoware docker 1.12.0 を起動する
作業履歴
sudo mount -t ext4 -o defaults /dev/sdc6 /mnt/data/
https://gitlab.com/autowarefoundation/autoware.ai/docker.git
$ cd /mnt/data/autoware/docker/generic/
./run.sh -t 1.12.0 -r kinetic
roslaunch runtime_manager runtime_manager.launch
使い方
$ sudo mount -t ext4 -o defaults /dev/sdc6 /mnt/data/ $ cd /mnt/data/autoware/docker/generic/ $ ./run.sh -t 1.12.0 -r kinetic $ roslaunch runtime_manager runtime_manager.launch ------------------------------------ <PointCloud> Ref -> pointcloud_map, original の .pcdファイルを全部選択して Open。Point Cloudボタンを押す <Vector Map> Ref -> csvファイルを全部選択して Open。 Vector Mapボタンを押す <TF> Ref -> tf.launch を選択し、Open。TFボタンを押す <rosbag> Simulationタブ Ref -> sample.bag を Open Playで再生し、すぐにPauseを押して止める <Setupタブ> TFボタンを押す Vehicle Model ボタンを押す <Mapタブ> <Sensingタブ> 右側 Points Downsampler の voxel_grid_filter にチェック <Computingタブ> 左上 Localization -> gnss_localizer -> nmea2tfpose の appボタンをクリック 7が設定されていることを確認したらチェック 左上 Localization -> lidar_localizer -> ndt_matching にチェック appボタンをクリック。Initial Pos でなく GNSS がチェックされていることを確認する <rosbag> Simulationタブ Pauseを押して再開 rvizを起動 File->Open Config から default.rvizを選択 Views のところで XYOrbit(rviz)を選ぶ
参考
- Autoware Docker環境の構築
- 上記が最も参考になった。
- nvidia-docker2のインストール(On Ubuntu 16.04 LTS)
- nvidia-docker2のインストールについて参考になった