diff --git a/docs/development/images/AWSIM&Autoware.png b/docs/development/images/AWSIM&Autoware.png new file mode 100644 index 0000000..8c6665c Binary files /dev/null and b/docs/development/images/AWSIM&Autoware.png differ diff --git a/docs/development/installation.ja.md b/docs/development/installation.ja.md index dabf901..cc22349 100644 --- a/docs/development/installation.ja.md +++ b/docs/development/installation.ja.md @@ -1,76 +1,19 @@ # 環境構築 -## ワークスペースのダウンロード - -任意のディレクトリにて下記コマンドを実行し、ワークスペースをダウンロードします。 +### aptパッケージ等のインストール +まずは諸々最初に必要なパッケージをインストールします。 ```bash -git clone https://github.com/AutomotiveAIChallenge/aichallenge-2024.git -``` - -## NVIDIAドライバのインストール - -```bash -# リポジトリの追加 -sudo add-apt-repository ppa:graphics-drivers/ppa - -# パッケージリストの更新 sudo apt update - -# インストール +sudo apt -y upgrade +sudo apt install -y git python3-pip ca-certificates curl gnupg libvulkan1 sudo ubuntu-drivers autoinstall - -# 再起動 -reboot - -# 再起動の後、インストールできていることを確認 -nvidia-smi -``` - -![nvidia-smi](./images/installation/nvidia-smi.png) - -## Vulkunのインストール - -```bash -# パッケージリストの更新 -sudo apt update - -# libvulkan1をインストール -sudo apt install libvulkan1 ``` -## AWSIMのダウンロード・起動確認 - -!!! info - - AWSIM は現在準備中です。 - -1. [Google Drive](https://drive.google.com/drive/) から最新の `AWSIM_GPU.zip` をダウンロードし、`aichallenge-2024/aichallenge/simulator` に展開します。 - -2. パーミッションを図のように変更します。 - - ![パーミッション変更の様子](./images/installation/permmision.png) - -3. ファイルをダブルクリックで起動します。 - -4. 下記のような画面が表示されることを確認します。 - - ![awsim](./images/installation/awsim.png) - -## Docker環境のインストール - -下記のインストールを行います。 - -- [Docker](https://docs.docker.com/engine/install/ubuntu/) -- [rocker](https://github.com/osrf/rocker)(Dockerコンテナ内でRviz、rqtなどのGUIを使用するために用います。) -- [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html)(GPU非搭載の方はスキップ) - ### Dockerのインストール +[公式ドキュメント](https://docs.docker.com/engine/install/ubuntu/)通りに以下のコマンドでインストールします。 ```bash -# Dockerインストールの下準備 -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 @@ -79,120 +22,72 @@ echo \ "$(. /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 - -# インストールできているかをテスト -sudo docker run hello-world - -# 以下の様なメッセージが出ればインストール完了です。 -# -# Hello from Docker! -# This message shows that your installation appears to be working correctly. -# -# To generate this message, Docker took the following steps: -# 1. The Docker client contacted the Docker daemon. -# 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. -# (amd64) -# 3. The Docker daemon created a new container from that image which runs the -# executable that produces the output you are currently reading. -# 4. The Docker daemon streamed that output to the Docker client, which sent it -# to your terminal. -# -# To try something more ambitious, you can run an Ubuntu container with: -# $ docker run -it ubuntu bash -# -# Share images, automate workflows, and more with a free Docker ID: -# https://hub.docker.com/ -# -# For more examples and ideas, visit: -# https://docs.docker.com/get-started/ - -# User Groupに自分のアカウントを追加し、sudo権限が無くてもDockerを利用可能にします。 +sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo usermod -aG docker $USER +``` -# Groupsにdockerが追加されていることを確認 -groups $USER +以下のコマンドで正常にインストールされているか確認してください。 +``` +sudo docker run hello-world +``` -# 以下の様なメッセージが出れば設定完了です。 -# USERNAME : USERNAME adm cdrom sudo ... docker +`Hello from Docker!`と表示されれば正常にインストール出来ています。 -# ここまで確認できたらLoginし直してください。 -reboot -``` +ここまで出来たら一度再起動します。 ### rockerのインストール +rockerはDockerコンテナのGUIアプリを簡単に起動できるようにするツールです。 + +[公式README](https://github.com/osrf/rocker?tab=readme-ov-file#debians-recommended)ではaptからのインストールが推奨されていますが、手順と環境をシンプルにするためにここではpipからインストールします。 ```bash -# 依存関係が最も少ないため以下コマンドでのインストールを推奨しています。 pip install rocker -# rocker実行ファイルへのPATHを通します。 -echo export PATH='$HOME/.local/bin:$PATH' >> ~/.bashrc -source ~/.bashrc - -# 以下コマンドはROS依存があるため非推奨としています。 -# sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros2.list' -# curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - -# sudo apt update -# sudo apt-get install python3-rocker ``` -### (GPU非搭載の方はスキップ) NVIDIA Container Toolkit - -```bash -# インストールの下準備 -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ウェブサイトからの引用です) -# -# +-----------------------------------------------------------------------------+ -# | NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 | -# |-------------------------------+----------------------+----------------------+ -# | 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 Tesla T4 On | 00000000:00:1E.0 Off | 0 | -# | N/A 34C P8 9W / 70W | 0MiB / 15109MiB | 0% Default | -# | | | N/A | -# +-------------------------------+----------------------+----------------------+ -# +-----------------------------------------------------------------------------+ -# | Processes: | -# | GPU GI CI PID Type Process name GPU Memory | -# | ID ID Usage | -# |=============================================================================| -# | No running processes found | -# +-----------------------------------------------------------------------------+ +デフォルト設定ではrockerの実行ファイルへのパスが通っていないので、以下のコマンドで`.bashrc`に追加しておきます。 +``` +echo export PATH='$HOME/.local/bin:$PATH' >> ~/.bashrc +source ~/.bashrc ``` -## Dockerイメージの準備 +## autoware環境のDockerイメージのpull +AIチャレンジで使用するautoware環境のDockerイメージを取得します。 -Dockerイメージは10GB程度のサイズがあり、ダウンロードには時間が掛かります。 +Dockerイメージは10GB程度のサイズがあり、ダウンロードには時間が掛かるため有線LANでのダウンロードを推奨します。 ```bash -# Dockerイメージのダウンロード docker pull ghcr.io/automotiveaichallenge/autoware-universe:humble-latest +``` -# Dockerイメージの確認 +以下のコマンドでダウンロードできているか確認します。 +```bash docker images +``` -# Dockerイメージがダウンロードできていれば以下のような出力が得られます。 -# +Dockerイメージがダウンロードできていれば以下のような出力が得られます。 +``` # REPOSITORY TAG IMAGE ID CREATED SIZE # ghcr.io/automotiveaichallenge/autoware-universe humble-latest 30c59f3fb415 13 days ago 8.84GB ``` + + +## AIチャレンジの大会用リポジトリの準備と実行 + +### 大会用リポジトリのダウンロード +リポジトリをクローンします。ここではホームディレクトリにクローンしますが、お好きなディレクトリに入れていただいても構いません。 + +```bash +cd ~ +git clone https://github.com/AutomotiveAIChallenge/aichallenge-2024.git +``` + +### AWSIMのダウンロード +## AWSIMのダウンロード・起動確認 +1. [Google Drive(あとでリンク変える)](https://drive.google.com/drive/) から最新の `AWSIM_GPU.zip` をダウンロードし、`aichallenge-2024/aichallenge/simulator` に展開します。 + +2. パーミッションを図のように変更します。 + + ![パーミッション変更の様子](./development/images/installation/permmision.png) + +実行ファイルが`aichallenge-2024/aichallenge/simulator/AWSIM/AWSIM.x86_64`に存在していることを確認してください。 diff --git a/docs/development/requirements.ja.md b/docs/development/requirements.ja.md index e56212c..e69de29 100644 --- a/docs/development/requirements.ja.md +++ b/docs/development/requirements.ja.md @@ -1,33 +0,0 @@ -# 要求性能 - -## 推奨環境 - -本大会で使用していただくPCの動作環境として以下を推奨しております。 - -- OS: Ubuntu 22.04 -- CPU: Intel Corei7 (8 cores) or higher -- GPU: NVIDIA Geforce RTX 3080 (VRAM 12 GB) or higher -- Memory: 32 GB or more -- Storage: SSD 30 GB or higher - -上記のスペックを満たすPCをご用意できない方は、AutowareとAWSIMを別のPCで動かすことも可能です。下記の「PC2台で参加する方向け」のスペックをご参照ください。 - -## 2台のPCを使用する方向け - -### Autoware PC - -- OS: Ubuntu 22.04 -- CPU: Intel Corei7 (8 cores) or higher -- GPU: NVIDIA Geforce GTX 1080 or higher -- Memory: 16 GB or higher -- Storage: SSD 10 GB or higher -- 詳細は [Autoware Documentation](https://autowarefoundation.github.io/autoware-documentation/main/installation/) を参照してください - -### AWSIM PC - -- OS: Ubuntu 22.04 or Windows 10/11 -- CPU: Intel Corei7 (6 cores and 12 threads) or higher -- GPU: NVIDIA Geforce RTX 2080 Ti or higher -- 詳細は [AWSIM document](https://tier4.github.io/AWSIM/) を参照してください - -Autoware動作PCとAWSIM動作PCは、同じネットワーク内に配置してください。配置できていれば、基本的には追加設定をすることなく、PC間のトピック通信は可能です。万が一、トピック通信ができなかった場合はファイアーウォールの解除、もしくはルールの見直しをお願いします。また、Autoware Documentation の [Troubleshooting](https://autowarefoundation.github.io/autoware-documentation/main/support/troubleshooting/performance-troubleshooting/)も参考になるかもしれません。 diff --git a/docs/development/visible-simulation.en.md b/docs/development/visible-simulation.en.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/development/visible-simulation.ja.md b/docs/development/visible-simulation.ja.md new file mode 100644 index 0000000..88e4a4b --- /dev/null +++ b/docs/development/visible-simulation.ja.md @@ -0,0 +1,135 @@ +# [任意]描画有りのシミュレーション + +## 描画有りのシミュレーション環境(環境構築上級者向け) + +デフォルトで描画無しのAWSIMを配布しておりますが、描画有りを希望される方の環境構築方法も記載しております。GPUを使用する環境構築では詰まって進まなくなる事例が多々ありましたので、初めてのご参加の方はあくまでも参考程度でとしてください。 + +- OS: Ubuntu 22.04 +- CPU: Intel Corei7 (8 cores) or higher +- GPU: NVIDIA Geforce VRAM 8 GB +- Memory: 16 GB or more +- Storage: SSD 60 GB or higher + +## 描画有りのシミュレーション環構築手順(WIP) + +基本的に描画無しのAWSIMを配布しておりますが、描画有りを希望される方の環境構築方法も記載しております。GPUを使用する環境構築では詰まって進まなくなる事例が多々ありましたので、おすすめはいたしません。要求性能のページのスペックのPCが用意できない方や初めてのご参加の方はあくまでも参考程度としてください。 + +- [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html)(GPU非搭載の方はスキップ) + +### NVIDIAドライバのインストール + +```bash +# リポジトリの追加 +sudo add-apt-repository ppa:graphics-drivers/ppa + +# パッケージリストの更新 +sudo apt update + +# インストール +sudo ubuntu-drivers autoinstall + +# 再起動 +reboot + +# 再起動の後、インストールできていることを確認 +nvidia-smi +``` + +![nvidia-smi](./images/installation/nvidia-smi.png) + +#### NVIDIA Container Toolkit + +```bash +# インストールの下準備 +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ウェブサイトからの引用です) +# +# +-----------------------------------------------------------------------------+ +# | NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 | +# |-------------------------------+----------------------+----------------------+ +# | 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 Tesla T4 On | 00000000:00:1E.0 Off | 0 | +# | N/A 34C P8 9W / 70W | 0MiB / 15109MiB | 0% Default | +# | | | N/A | +# +-------------------------------+----------------------+----------------------+ +# +-----------------------------------------------------------------------------+ +# | Processes: | +# | GPU GI CI PID Type Process name GPU Memory | +# | ID ID Usage | +# |=============================================================================| +# | No running processes found | +# +-----------------------------------------------------------------------------+ +``` + +## AWSIMのダウンロード・起動確認 + +!!! info + + AWSIM は現在準備中です。 + +1. [Google Drive](https://drive.google.com/drive/) から最新の `AWSIM_GPU.zip` をダウンロードし、`aichallenge-2024/aichallenge/simulator` に展開します。 + +2. パーミッションを図のように変更します。 + + ![パーミッション変更の様子](./images/installation/permmision.png) + + +実行ファイルが`aichallenge-2024/aichallenge/simulator/AWSIM_GPU/AWSIM.x86_64`に存在していることを確認してください。 + +# Dockerコンテナの起動 + +描画有りのシミュレーション推奨環境を満たしており、 +NVIDIA関連のinstallが済んでいる方は上記のコマンドではなく、以下のコマンドでコンテナを起動してください。 +```bash +cd aichallenge-2024 +./docker_run.sh dev gpu +``` + +### AutowareのビルドとSimulatorの起動 + +コンテナを起動したターミナル(コンテナ内)で以下を実行します。 + +```bash +cd /aichallenge +./build_autoware.bash +``` + +Autowareのビルド後、run_simulator.bashを変更します +```bash +#!/bin/bash + +# shellcheck disable=SC1091 +source /aichallenge/workspace/install/setup.bash +sudo ip link set multicast on lo +/aichallenge/simulator/AWSIM_GPU/AWSIM.x86_64 +``` + +※実行ファイルが`aichallenge-2024/aichallenge/simulator/AWSIM_GPU/AWSIM.x86_64`に存在していることを確認してください。 + +以下のコマンドを実行します。 + +```bash +./run_evaluation.bash +``` + +以下のような画面が現れたら成功です。 + +![](./images/AWSIM%26Autoware.png) \ No newline at end of file diff --git a/docs/development/workspace.ja.md b/docs/development/workspace.ja.md index 95edf1b..776de66 100644 --- a/docs/development/workspace.ja.md +++ b/docs/development/workspace.ja.md @@ -1,111 +1,83 @@ # ワークスペース -## 大会用Dockerイメージの準備 +## 推奨環境 -### Dockerイメージのビルド +本大会で使用していただくPCの動作環境として以下を推奨しております。 -以下のコマンドで大会用のDockerイメージをビルドします。 +- OS: Ubuntu 22.04 +- CPU: Intel Core i5(4コア)以上(推奨) +- メモリ: + - 8GB以上(最低) + - 16GB以上(推奨) +- SSD: 60GB以上 -```bash -cd aichallenge2024 -./docker_build.sh dev -# ビルドできたか確認 -docker images +## 大会用リポジトリのビルド・実行 +大会用リポジトリでは、実際の動作環境はすべてDocker内で完結して提供されています。リポジトリの利用は以下の流れで行います。 +1. 大会環境のDockerイメージのビルド +2. Dockerコンテナ上でのAutowareのビルド +3. Dockerコンテナ上でのAutowareとシミュレータの同時起動 -# 以下のような行が含まれていれば成功しています。 -# aichallenge-2024-dev latest df2e83a20349 33 minutes ago 8.9GB +## 大会環境のDockerイメージのビルド +大会用リポジトリに入ります。 ``` - -### Dockerコンテナの起動 - -```bash -# GPU搭載の方は以下 -cd aichallenge-2024 -./docker_run.sh dev gpu - -# GPU非搭載の方は以下 -cd aichallenge-2024 -./docker_run.sh dev cpu +cd ~/aichallenge-2024 ``` -### Dockerコンテナの停止 - -コンテナが起動しているターミナルで下記コマンドを実行します。以上でセットアップは終了となります。 - -```bash -exit +Dockerイメージのビルドを行います。 +``` +./docker_build.sh dev ``` -## 大会環境の起動 - -本節では大会環境を実行方法を解説します。以下のコマンドはすべてコンテナ内から実行するため、まずは「Dockerコンテナの起動」に従い大会用のコンテナを起動してください。 - -### Autoware +``` +docker images +``` +で以下のイメージが生成されていることを確認しましょう。 +``` +aichallenge-2024-dev latest df2e83a20349 33 minutes ago 8.9GB +``` -コンテナを起動したターミナル(コンテナ内)で以下を実行します。 +## Dockerコンテナ上でのAutowareのビルド +以下を実行してDockerコンテナを立ち上げます。 ```bash -cd /aichallenge -./build_autoware.bash +cd ~/aichallenge-2024 +./docker_run.sh dev cpu ``` -Autowareのビルド後、以下のコマンドを実行します。 +特に何も変わっていないように見えますが、上記のコマンドを実行すると環境がDockerコンテナ内部に移行します。今の環境がDockerコンテナ内かどうかは以下のコマンドで何も表示されていないかを確認するのがわかりやすいです。 ```bash -./run_autoware.bash +ls ~ ``` -下記の様な画面が表示されたら起動完了です。終了するにはターミナル上でCTRL + Cを入力します。 -![autoware](./images/installation/autoware.png) - -### AWSIM in Docker - -コンテナを起動したターミナル(コンテナ内)で以下を実行します。 +Dockerコンテナ内で以下を実行してAutowareをビルドします。 ```bash cd /aichallenge -./run_simulator.bash +./build_autoware.bash ``` -下記の様な画面が表示されたら起動完了です。終了するにはターミナル上でCTRL + Cを入力します。 -![awsim](./images/installation/awsim.png) - +## Dockerコンテナ上でのAutowareとSimulatorの実行 -## 変更点の取り込み - -大会環境のアップデートがあった際には以下を実行してください。 - -### Dockerのupdate +Autowareのビルド後、以下のコマンドを実行します。 ```bash -docker pull ghcr.io/automotiveaichallenge/autoware-universe:humble-latest - -``` - -### Repositoryのupdate - -```sh -cd aichallenge2024 # path to aichallenge2024 -git pull origin/main +./run_evaluation.bash ``` -## TroubleShooting - -Q. `docker_run.sh: 行 35: rocker: コマンドが見つかりません` - -A. [rockerのインストール](#docker環境のインストール)をお願いします。 +下記の様な画面が表示されたら起動完了です。終了するにはターミナル上でCTRL + Cを入力します。 +![autoware](./development/images/installation/autoware.png) -Q. `WARNING unable to detect os for base image 'aichallenge-2024-dev', maybe the base image does not exist` A. Dockerイメージのビルドをお願いします。 -## ワークスペースの構成 +#### ワークスペースの構成 -### docker-dev +**docker-dev** ![dev](./images/docker/dev.drawio.svg) -### docker-eval +**docker-eval** ![eval](./images/docker/eval.drawio.svg) diff --git a/docs/images/RacingKart.jpeg b/docs/images/RacingKart.jpeg new file mode 100644 index 0000000..0822611 Binary files /dev/null and b/docs/images/RacingKart.jpeg differ diff --git a/docs/index.ja.md b/docs/index.ja.md index 62adc56..dac6554 100644 --- a/docs/index.ja.md +++ b/docs/index.ja.md @@ -1,17 +1,67 @@ -# Japan Automotive AI Challenge 2024 +# Japan Automotive AI Challenge 20XX ## コンセプト -![concept](./assets/concept.drawio.svg) +!!! info + + 本大会は、CASE、MaaSと呼ばれる新たな技術領域において、これからの自動車業界を牽引する技術者の発掘育成のための新たな取り組みとして実施しています。 + + 本大会では自動走行モビリティに開発したプログラムを搭載させる走行競技まで行います。コンピューターサイエンス、AI、ソフトウェアや情報処理に関わる技術者・研究者・学生等のチャレンジの場、また学習及機会を提供し、有機的な繋がりを実現する場を目指します。 ## 目的 +**技術的な観点からの大会の役割** + +- ハードウェアを理解しながらのソフトウェアのインテグレーションを通してSDV開発を学ぶ +- 継続的インテグレーション / 継続的デプロイメント(CI/CD)を学ぶ +- 開発をOpen Source Software(OSS)で行い社会実装に向けたイノベーションの場とする + + +**人材育成としての大会の役割** + +- 幅広い分野のエンジニア参加の促進 +- 教育コンテンツの提供によるスキル開発の加速 +- 実機とシミュレータのすり合わせを行いながらSDVの開発の仕方を学ぶ +- デジタルツインシミュレーションを通じた技術革新 +- 技術コンペ×エンタメ=モータースポーツを題材とした「憧れ」や「情熱・興奮」の創出 + + ## 概要 +**予選** + +オンラインのシミュレーションで実施します。予選の競技はデジタルツイン指向のAWSIMを用いてコースをより速く走行することを目指します。参加者は、Autoware※の構造を学ぶだけでなく、実際に行動、判断の部分についてパラメータ調整を行い、また必要に応じて新しいアルゴリズムの開発も行います。 + +**決勝** + +競技車両であるEVレーシングカートを使用した大会を行います。シミュレーションで得た知見を実車両に活かしつつ、AWSIMでは再現できない実車ならではの課題にもチャレンジします。 + +例えば参加者には実車両に適用するため、パラメータ調整にも挑戦してもらいます。また、シミュレーションでは再現できないノイズ処理、遅延対策のアルゴリズム開発も行います。 + + + ## 表彰 +賞金の総額は100万円以上となっております。 +詳細は[2024年度自動運転AIチャレンジの開催概要](https://www.jsae.or.jp/jaaic/2024ver/summary/)をご覧ください。 + + ## 走行コース + + + + ## 使用車両 +
+ +
+ Alt Text +
+ TOM'S RacingKart +
+ +
+ ## 挑戦課題 diff --git a/docs/tutorial.ja.md b/docs/tutorial.ja.md index 1af1a88..71362aa 100644 --- a/docs/tutorial.ja.md +++ b/docs/tutorial.ja.md @@ -3,16 +3,15 @@ ## 必要なもの -### Ubuntu PC -以下のスペックを満たすPCが必要ですが、推奨と書かれているものについては満たしていなくても動作することは可能です。ただし、推奨よりも低いスペックで動作させる場合ROS2側での実行速度が安定せずシミュレーションの実行の度に挙動が大きく変わってしまう可能性があります。その場合はAWSIMのタイムスケールを下げることで動作を改善することが可能です。(詳細は後述) +## Ubuntu PC +以下のスペックを満たすPCが必要ですが、推奨と書かれているものについては満たしていなくても動作することは可能です。ただし、推奨よりも低いスペックで動作させる場合ROS2側での実行速度が安定せずシミュレーションの実行の度に挙動が大きく変わってしまう可能性があります。 - OS: Ubuntu 22.04 -- CPU: Intel Core i7(8コア)以上(推奨) -- GPU: NVIDIA Geforce RTX 3080(VRAM 12GB)以上(推奨) +- CPU: Intel Core i5(4コア)以上(推奨) - メモリ: - - 16GB以上(最低) - - 32GB以上(推奨) -- SSD: 30GB以上 + - 8GB以上(最低) + - 16GB以上(推奨) +- SSD: 60GB以上 Windows環境しかお持ちでない方は、Ubuntu22.04のインストールをお願いいたします。Windows環境と同じディスクにUbuntu環境を入れることもできますが、不慣れな場合Windows環境を破壊してしまう可能性があるため、新しく外付けまたは内蔵SSDを購入したうえでそちらへのインストールをすることを強くお勧めします。 @@ -22,228 +21,43 @@ Ubuntuのインストール方法については[こちらの記事](https://qii ## AIチャレンジの環境構築 `Alt+Ctrl+T`でターミナルを立ち上げてから、以下に従ってコマンドを実行します。 -### NVIDIAドライバ、aptパッケージ等のインストール -まずは諸々最初に必要なパッケージをインストールします。 +[環境構築の説明ページ](./development/installation.ja.md) -```bash -sudo add-apt-repository ppa:graphics-drivers/ppa -sudo apt update -sudo apt -y upgrade -sudo apt install -y git python3-pip ca-certificates curl gnupg libvulkan1 -sudo ubuntu-drivers autoinstall -``` - -### Dockerのインストール -[公式ドキュメント](https://docs.docker.com/engine/install/ubuntu/)通りに以下のコマンドでインストールします。 - -```bash -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 - -sudo apt-get update -sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -sudo usermod -aG docker $USER -``` - -以下のコマンドで正常にインストールされているか確認してください。 -``` -sudo docker run hello-world -``` - -`Hello from Docker!`と表示されれば正常にインストール出来ています。 -ここまで出来たら一度再起動します。 +## 大会用リポジトリのビルド・実行 +環境構築が終わってから再度`Alt+Ctrl+T`でターミナルを立ち上げてから、以下に従ってコマンドを実行します。 -### rockerのインストール -rockerはDockerコンテナのGUIアプリを簡単に起動できるようにするツールです。 - -[公式README](https://github.com/osrf/rocker?tab=readme-ov-file#debians-recommended)ではaptからのインストールが推奨されていますが、手順と環境をシンプルにするためにここではpipからインストールします。 - -```bash -pip install rocker -``` - -デフォルト設定ではrockerの実行ファイルへのパスが通っていないので、`.bashrc`に追加しておきます。 -``` -echo export PATH='$HOME/.local/bin:$PATH' >> ~/.bashrc -source ~/.bashrc -``` - -### (GPU非搭載の方はスキップ) NVIDIA Container Toolkitのインストール -[公式ドキュメント](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#setting-up-nvidia-container-toolkit)通りに以下のコマンドでインストールします。 - -```bash -# インストールの下準備 -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 -``` +[ワークスペースの使い方説明ページ](development/workspace.ja.md) -以下のコマンドで正常にインストールされているか確認してください。 -``` -sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi -``` +## AIチャレンジでの開発の進め方(WIP) +AIチャレンジで開発する上でベースとなるソースコードは[大会用リポジトリ](https://github.com/AutomotiveAIChallenge/aichallenge-2024/tree/main/aichallenge/workspace/src/aichallenge_submit)内に提供されています。参加者の皆様にはこちらのコードをカスタマイズすることで開発を進めていただきますが、Autowareに不慣れな方はまずは[入門講座](./course/index.ja.md)を一通りやっていただくことをお勧めします。 -以下のようなメッセージが表示されればインストールできています。 -``` -+-----------------------------------------------------------------------------+ -| NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 | -|-------------------------------+----------------------+----------------------+ -| 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 Tesla T4 On | 00000000:00:1E.0 Off | 0 | -| N/A 34C P8 9W / 70W | 0MiB / 15109MiB | 0% Default | -| | | N/A | -+-------------------------------+----------------------+----------------------+ - -+-----------------------------------------------------------------------------+ -| Processes: | -| GPU GI CI PID Type Process name GPU Memory | -| ID ID Usage | -|=============================================================================| -| No running processes found | -+-----------------------------------------------------------------------------+ -``` +## 参考 +### 変更点の取り込み -## autoware環境のDockerイメージのpull -AIチャレンジで使用するautoware環境のDockerイメージを取得します。 +大会環境の重大なアップデートがあった際には適宜アナウンスがあります。 +参考までにこちらに記載しています。以下を実行してください。 -Dockerイメージは10GB程度のサイズがあり、ダウンロードには時間が掛かるため有線LANでのダウンロードを推奨します。 +**Dockerのupdate** ```bash docker pull ghcr.io/automotiveaichallenge/autoware-universe:humble-latest -``` - -以下のコマンドでダウンロードできているか確認します。 -```bash -docker images -``` - -Dockerイメージがダウンロードできていれば以下のような出力が得られます。 -``` -# REPOSITORY TAG IMAGE ID CREATED SIZE -# ghcr.io/automotiveaichallenge/autoware-universe humble-latest 30c59f3fb415 13 days ago 8.84GB -``` - - -## AIチャレンジの大会用リポジトリの準備と実行 - -### 大会用リポジトリのダウンロード -リポジトリをクローンします。ここではホームディレクトリにクローンしますが、お好きなディレクトリに入れていただいても構いません。 - -```bash -cd ~ -git clone https://github.com/AutomotiveAIChallenge/aichallenge-2024.git -``` -### AWSIMのダウンロード -## AWSIMのダウンロード・起動確認 -1. [Google Drive(あとでリンク変える)](https://drive.google.com/drive/) から最新の `AWSIM_GPU.zip` をダウンロードし、`aichallenge-2024/aichallenge/simulator` に展開します。 - -2. パーミッションを図のように変更します。 - - ![パーミッション変更の様子](./development/images/installation/permmision.png) - -3. ファイルをダブルクリックで起動します。 - -4. 下記のような画面が表示されることを確認します。 - - ![awsim](./development/images/installation/awsim.png) - -実行ファイルが`aichallenge-2024/aichallenge/simulator/AWSIM/AWSIM.x86_64`に存在していることを確認してください。 - - -### 大会用リポジトリのビルド・実行 -大会用リポジトリでは、実際の動作環境はすべてDocker内で完結して提供されています。リポジトリの利用は以下の流れで行います。 -1. 大会環境のDockerイメージのビルド -2. Dockerコンテナ上でのAutowareのビルドと実行 -3. Dockerコンテナ上でのシミュレータの起動 - -#### 大会環境のDockerイメージのビルド -大会用リポジトリに入ります。 -``` -cd ~/aichallenge-2024 -``` - -Dockerイメージのビルドを行います。 -``` -./docker_build.sh dev -``` - -``` -docker images -``` -で以下のイメージが生成されていることを確認しましょう。 -``` -aichallenge-2024-dev latest df2e83a20349 33 minutes ago 8.9GB -``` - -#### Dockerコンテナ上でのAutowareのビルド・実行 -以下を実行してDockerコンテナを立ち上げます。 - -```bash -cd ~/aichallenge-2024 -./docker_run.sh dev gpu -``` - -特に何も変わっていないように見えますが、上記のコマンドを実行すると環境がDockerコンテナ内部に移行します。今の環境がDockerコンテナ内かどうかは以下のコマンドで何も表示されていないかを確認するのがわかりやすいです。 - -```bash -ls ~ -``` - -Dockerコンテナ内で以下を実行してAutowareをビルドします。 - -```bash -cd /aichallenge -./build_autoware.bash ``` -Autowareのビルド後、以下のコマンドを実行します。 +**Repositoryのupdate** -```bash -./run_autoware.bash -``` - -下記の様な画面が表示されたら起動完了です。終了するにはターミナル上でCTRL + Cを入力します。 -![autoware](./development/images/installation/autoware.png) - -#### Dockerコンテナ上でのシミュレータの起動 -Autowareとは別の画面で実行したいので、`Ctrl+Alt+T`で新しくターミナルを立ち上げてからDockerコンテナを立ち上げます。 -```bash -cd ~/aichallenge-2024 -./docker_run.sh dev gpu +```sh +cd aichallenge2024 # path to aichallenge2024 +git pull origin/main ``` -Dockerコンテナ内で以下を実行してシミュレータを起動します。 +### TroubleShooting -```bash -cd /aichallenge -./run_simulator.bash -``` - -下記の様な画面が表示されたら起動完了です。終了するにはターミナル上でCTRL + Cを入力します。 -![awsim](./development/images/installation/awsim.png) +Q. `docker_run.sh: 行 35: rocker: コマンドが見つかりません` -提供されているテンプレートのままでも自動運転が実行されていることが確認できます。挙動が安定しない場合は動作スペックが足りておらずAutowareの処理がリアルタイムに実行できていない可能性があるため、AWSIMの画面からTime Scaleを下げてシミュレーション速度を落として実行してみてください。 +A. [rockerのインストール](#docker環境のインストール)をお願いします。 +Q. `WARNING unable to detect os for base image 'aichallenge-2024-dev', maybe the base image does not exist` -その他の詳細な利用方法については[ワークスペース](development/workspace.ja.md)のページで詳しく記載されているため、こちらを参照してください。 -## AIチャレンジでの開発の進め方(WIP) -AIチャレンジで開発する上でベースとなるソースコードは[大会用リポジトリ](https://github.com/AutomotiveAIChallenge/aichallenge-2024/tree/main/aichallenge/workspace/src/aichallenge_submit)内に提供されています。参加者の皆様にはこちらのコードをカスタマイズすることで開発を進めていただきますが、Autowareに不慣れな方はまずは[入門講座](./course/index.ja.md)を一通りやっていただくことをお勧めします。 diff --git a/mkdocs.yaml b/mkdocs.yaml index 3e3863d..91b8b19 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -32,9 +32,10 @@ nav: - specifications/hardware.md - specifications/simulator.md - development: - - development/requirements.md + #- development/requirements.md - development/installation.md - development/workspace.md + - development/visible-simulation.md - development/main-module.md - development/device-drivers.md - FAQ: faq.md