🔬

AIChallenge 2025の活動記 (番外編:AI教材を動かしてみよう)

に公開

2ヶ月間に渡る予選がついに終了しましたね。みなさん大変お疲れ様でした!!
iASLが毎週お届けしてきた記事のネタが少しでもみなさんの結果に役立てていただけたなら嬉しいです!

予選が終わり、自身の活動を振り返ったり新たな勉強を始めたりする方が多いのではないでしょうか。
そこで今回は番外編として”AI教材”の動かし方について補足や注意点をまとめてご紹介します。公式のセットアップ手順説明ページの+αとしてご活用ください。

↓↓AI教材の詳細はこちら↓↓
https://automotiveaichallenge.github.io/aichallenge-documentation-2025/ai.html

セットアップ

こちらのページでセットアップ手順が説明されています。
https://automotiveaichallenge.github.io/aichallenge-documentation-2025/ml_sample/getting_started_vlm_setup.html

はじめにAI教材用のワークスペースを作っておきましょう。

cd ~
mkdir aichallenge-2025-e2e

2つのターミナルで環境構築を進めていきます!
どちらでコマンドを実行するか間違えないように注意してくださいね。

  • ターミナル1 : AWSIM用
  • ターミナル2 : VLM軌道生成用

ターミナル1

cd ~/aichallenge-2025-e2e/
  1. リポジトリをクローンします。
git clone https://github.com/AutomotiveAIChallenge/aichallenge-2025-e2e-test
  1. ~/aichallenge-2025-e2e/aichallenge-2025-e2e-test/aichallenge/simulator/にAWSIMを配置します。ただし、アップデート前(7月版or8月前半版)のスタートライン手前から開始するシミュレータを使用しましょう!

  2. AWSIM用dockerをビルドしてから起動します。

./docker_build.sh dev
./docker_run.sh dev gpu
  1. docker内に入ったらAutowareをビルドしてからレース起動を確かめておきます。
cd /aichallenge
./build_autoware.bash
./run_evaluation.bash

起動できたらこちらは準備完了です。

ターミナル2

cd ~/aichallenge-2025-e2e/
  1. dockerイメージを読み込みます。
docker pull ghcr.io/autowarefoundation/autoware:universe-devel-cuda

ダウンロードするデータ量が膨大なので完了するまでに時間がかかるので注意してください。私の環境では2時間以上を要しました。

  1. リポジトリをクローンします
git clone https://github.com/AutomotiveAIChallenge/e2e-utils-beta.git
  1. 環境セットアップスクリプトを実行します。
cd e2e-utils-beta
sh script/setup.sh
  1. dockerを起動します。--volumeのユーザー名userは環境に応じて適切に変更してください。
rocker \
  --nvidia \
  --x11 \
  --network host \
  --user \
  --volume /home/user/aichallenge-2025-e2e/e2e-utils-beta:/home/e2e-utils-beta \
  --name aichallenge-e2e-utils \
  ghcr.io/autowarefoundation/autoware:universe-devel-cuda \
  /bin/bash

起動コマンドが長くて毎度打ち込むのは大変なので、上記コマンドを丸ごとスクリプトファイル例:docker_run.shとして保存しておくと便利です!
ただしchmod +x docker_run.shで実行権限を付与することを忘れずに!!

  1. docker内に入れたら依存関係をインストールしてワークスペースをビルドします。
cd /home/e2e-utils-beta
rosdep update;rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
colcon build --symlink-install --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Release --packages-up-to autoware_auto_planning_msgs autoware_internal_planning_msgs
  1. 続いて仮想環境のためuvをインストールします。
curl -LsSf https://astral.sh/uv/install.sh | sh
pip install uv
  1. 環境を整えます。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
cd /home/e2e-utils-beta;source install/setup.bash;export ROS_LOCALHOST_ONLY=1
cd /home/e2e-utils-beta/src/vlm_planner;uv venv -p python3.10
source .venv/bin/activate
uv pip install .
  1. Gemini APIを取得します。
    こちらのリンクからGet API Keyを選択してAPIキーを取得できます。
    キーが表示されたらコピーして下記のように環境変数として設定します。
export GEMINI_API_KEY="ここにKeyを入力"
  1. VLM軌道生成ノードを起動できるか確かめます。
cd /home/e2e-utils-beta/src/vlm_planner
python vlm_planner_node.py --ros-args -p output_topic:="/planning/ml_planner/auto/trajectory"
# ↑↑ 環境に応じて"python3"を使用

起動できたらこちらも準備完了です!お疲れ様でした!!

実行

それでは実行してみましょう。ここでも2つのターミナルでそれぞれ起動操作を行います。

ターミナル1

いつものコマンドでシミュレータを起動します。

./run_evaluation.bash

ターミナル2

先ほど確認したコマンドでVLMノードを起動します。

python vlm_planner_node.py --ros-args -p output_topic:="/planning/ml_planner/auto/trajectory"
# ↑↑ 環境に応じて"python3"を使用

AWSIM画面右上のuse imageボタンを押してカメラ画像をオンにすると、VLMノードで軌道生成が始まります!Rvizの画面にTrajectoryが表示されて車両が動き出したら成功です!!
推論に時間がかかるので、公式手順の通りTime Scaleを0.2くらいに下げる必要があります。

AI教材のVLM軌道生成を動かすことができましたね!!
ここから先は、新たなモデルを作成したり学習させたりなど、是非みなさんの手で試行錯誤して優れたPlannerを作り上げてみてください!!!


過去の記事も合わせてご覧ください。
https://zenn.dev/iasl/articles/da5a3ea8442fde
https://zenn.dev/iasl/articles/2f94613abe1ccb
https://zenn.dev/iasl/articles/f7a13f7cc8f146
https://zenn.dev/iasl/articles/8269f676124b99
https://zenn.dev/iasl/articles/f422b7b4a59a4b
https://zenn.dev/iasl/articles/f4c63b83bd5106

岐阜大学アレックス研究室

Discussion