Ubuntu 22.04 に自動運転AIチャレンジ環境を構築する手順メモ
Ubuntu 22.04 をインストールしたばかりのPC上に、自動運転AIチャレンジ2025の開発環境(Autoware + AWSIM)を構築した手順をまとめました。
NVIDIA GPU対応ドライバやDocker環境、シミュレータの起動方法まで、トラブルを避けるための注意点を交えつつ記録しています。
公式ドキュメントや先人の知見へのリンクも掲載していますので、初めて環境構築を行う方の参考にもなれば幸いです。
- UbuntuとWindowsのデュアルブートの設定については、以下のメモをご参照ください。
- 基本的には、公式ページの手順に従って進めております。
以下の記事は2023年時点の環境構築手順ですが、今回の内容とほとんど同じでした。過去に自動運転AIチャレンジの環境構築をされた方であれば、2025年大会のリポジトリ取得とDockerイメージの取得以降の手順のみで問題ないかと思います。
環境情報
推奨環境を満たすPCで構築を行っております。
- OS
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04 LTS
Release: 22.04
Codename: jammy
- CPU: 13th Gen Intel(R) Core(TM) i7-13700HX 2.10 GHz
- メモリ: 64GB
- GPU: GeForce RTX 4070
依存パッケージのインストール
以下のコマンドにて、必要なパッケージをインストールいたします。
$ sudo apt update
$ sudo apt install -y python3-pip ca-certificates curl gnupg
Docker のインストール
Docker が未インストールの状態でしたので、以下の手順でインストールを行いました。
Docker のインストール状況は、which docker
や docker --version
で確認可能です。
# インストール準備
$ sudo apt-get update
$ sudo apt-get install ca-certificates curl gnupg
$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
$ echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Docker本体のインストール
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
インストール後、動作確認を行います。
$ docker --version
Docker version 28.3.1, build 38b7060
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
e6590344b1a5: Pull complete
Digest: sha256:940c619fbd418f9b2b1b63e25d8861f9cc1b46e3fc8b018ccfe8b78f19b8cc4f
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
(中略)
Docker コマンドを毎回 sudo
なしで実行できるようにするには、次のようにグループに追加します。
$ sudo usermod -aG docker $USER
その後、一度ログアウト・再ログインするか reboot
を行ってください。
rocker のインストール
rocker
は GUI アプリケーション付きの Docker コンテナを簡単に起動するためのツールです。
公式では apt
でのインストールが推奨されていますが、ここでは環境をシンプルにするため pip
でインストールしました。
$ pip install rocker
~/.local/bin
にインストールされるため、パスを通しておきます。
$ echo export PATH='$HOME/.local/bin:$PATH' >> ~/.bashrc
$ source ~/.bashrc
Nvidia Driver のインストール
nouveau の無効化
$ lsmod | grep nouveau
nouveau 2281472 0
...
nouveau ドライバが有効になっているので、無効化します。
$ sudo sh -c "echo 'blacklist nouveau' > /etc/modprobe.d/blacklist-nouveau.conf"
$ sudo sh -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"
$ sudo update-initramfs -u
Nvidia ドライバのインストール
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
ドライバ候補の確認:
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002820sv000019DAsd00001723bc03sc00i00
vendor : NVIDIA Corporation
driver : nvidia-driver-570 - third-party non-free
driver : nvidia-driver-535-server-open - distro non-free
driver : nvidia-driver-545-open - distro non-free
driver : nvidia-driver-570-server - distro non-free
driver : nvidia-driver-545 - distro non-free
driver : nvidia-driver-570-server-open - distro non-free
driver : nvidia-driver-575 - third-party non-free
driver : nvidia-driver-535-server - distro non-free
driver : nvidia-driver-550 - distro non-free
driver : nvidia-driver-550-open - distro non-free
driver : nvidia-driver-565 - third-party non-free
driver : nvidia-driver-560-open - third-party non-free
driver : nvidia-driver-575-open - third-party non-free recommended
driver : nvidia-driver-535 - distro non-free
driver : nvidia-driver-565-open - third-party non-free
driver : nvidia-driver-570-open - third-party non-free
driver : nvidia-driver-560 - third-party non-free
driver : nvidia-driver-535-open - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
「recommended」として nvidia-driver-575-open - third-party non-free recommended
となっているが、open
がついているのでこれをインストールしてはいけない(過去にトラブりました)。今回は私の別PCで実績のある560をインストールしました。
$ sudo apt install -y nvidia-driver-560
$ sudo reboot now
再起動後の確認:
$ nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.03 Driver Version: 560.35.03 CUDA Version: 12.6 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4070 ... Off | 00000000:01:00.0 On | N/A |
| N/A 44C P8 8W / 115W | 216MiB / 8188MiB | 1% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 1824 G /usr/lib/xorg/Xorg 68MiB |
| 0 N/A N/A 1933 G ...libexec/gnome-remote-desktop-daemon 2MiB |
| 0 N/A N/A 2027 G /usr/bin/gnome-shell 117MiB |
| 0 N/A N/A 2437 G /usr/libexec/gnome-initial-setup 2MiB |
+-----------------------------------------------------------------------------------------+
Nvidia Container Toolkit のインストール
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
$ sudo apt-get update
$ sudo apt-get install -y nvidia-container-toolkit
$ sudo nvidia-ctk runtime configure --runtime=docker
$ sudo systemctl restart docker
動作確認:
$ sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.03 Driver Version: 560.35.03 CUDA Version: 12.6 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4070 ... Off | 00000000:01:00.0 On | N/A |
| N/A 41C P8 6W / 115W | 177MiB / 8188MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
+-----------------------------------------------------------------------------------------+
大会用リポジトリのクローン
$ cd ~
$ git clone https://github.com/AutomotiveAIChallenge/aichallenge-2025.git
Autoware 環境の Docker イメージ取得
Docker イメージの取得には10GB以上の容量と十分な通信環境が必要です。
$ sudo docker pull ghcr.io/automotiveaichallenge/autoware-universe:humble-latest
確認:
$ docker images
ghcr.io/automotiveaichallenge/autoware-universe humble-latest 507ed20c0091 4 weeks ago 7.61GB
...
AWSIM のダウンロードと展開
One Drive より AWSIM.zip
をダウンロードし、以下のように展開します。
$ mv ~/Downloads/AWSIM.zip ~/aichallenge-2025/aichallenge/simulator/
$ cd ~/aichallenge-2025/aichallenge/simulator/
$ unzip AWSIM.zip
実行ファイルのパーミッションを以下のように変更します。
$ cd ~/aichallenge-2025/aichallenge/simulator/AWSIM
$ chmod 744 AWSIM.x86_64
$ ls -l AWSIM.x86_64
-rwxr--r-- 1 cc1 cc1 14720 7月 4 22:13 AWSIM.x86_64
※ cc1
は本PCのユーザー名です。ご自身の環境に合わせて読み替えてください。
AWSIM の起動確認
以下のコマンドで、コンテナを起動します。
$ cd ~/aichallenge-2025
$ ./docker_build.sh dev
$ ./docker_run.sh dev gpu
起動したコンテナ内で以下を実行します。
$ cd /aichallenge
$ ./build_autoware.bash
$ ./run_simulator.bash
AWSIM(City Circuit Tokyo Bay のシミュレーション画面)が起動します。
確認後は一度終了し、以下を実行して評価画面を表示します。
$ ./run_evaluation.bash
Autoware(RViz)と AWSIM が同時に立ち上がることを確認できます。
さいごに
公式ドキュメントと先人の記事に感謝申し上げます。
本記事は筆者自身の環境構築の備忘録ですが、どなたかのお役に立てば幸いです。
内容に誤りや不足がありましたら、ご指摘いただけますと幸いです。
それでは、Let's enjoy 自動運転!!