0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初期状態のUbuntuから始める!自動運転AIチャレンジ2025の環境構築メモ(GPU搭載マシン向け)

Posted at

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 dockerdocker --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のユーザー名です。ご自身の環境に合わせて読み替えてください。

GUIのファイルプロパティからも変更できます。
image.png

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 が同時に立ち上がることを確認できます。

image.png

さいごに

公式ドキュメントと先人の記事に感謝申し上げます。
本記事は筆者自身の環境構築の備忘録ですが、どなたかのお役に立てば幸いです。
内容に誤りや不足がありましたら、ご指摘いただけますと幸いです。

それでは、Let's enjoy 自動運転!!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?