- 概要
- 想定環境
- よく使うコマンド:AIチャレンジ コード実行
- よく使うコマンド:関連ツール OSS/自作
- よく使うコマンド:oputuna
- よく使うコマンド:git操作
本ドキュメントは、Autowareを使った自動運転競技である 自動運転AIチャレンジ2026 の開発環境構築やノウハウをまとめたものです。
以下を目標に、自動運転AIチャレンジへの取り組みを通じての実体験をもとに随時アップデートしています。
- シミュレータ環境構築における本家ドキュメントの補足解説
- チームメンバ/ユーザー向けシミュレータ環境の整備・支援
- Autowareのパラメータ調整によるチャレンジコースの完走
- 勝敗にとどまらない技術力向上とチーム間の相互支援
- OS: Linux / Ubuntu 22.04 LTS
- NVIDIA GPUなし
- RAM: 64 GB
セットアップは以下に従えば基本的にはできる。
https://automotiveaichallenge.github.io/aichallenge-documentation-racingkart/setup/introduction.html
コマンド1つで、環境からシミュレーターの実行テストまでを一気に実行できる。
対話形式で順に実施するため必要な項目だけ Yes とすればよいが迷ったら全部 Yes とすればOK。
curl -fsSL "https://raw.githubusercontent.com/AutomotiveAIChallenge/aichallenge-racingkart/main/setup.bash" | bash上記手順で環境構築して作成された aichallenge-racingkart は大会環境のコピーでありアップデートする毎に更新が入る。更新を横目に取り込みは自身で判断したうえで独自で開発したい方は、自身でディレクトリを作成して、ディレクトリをコピーしたうえで、その中で開発することを推奨する。 (マージ等による変化点管理をできる方は不要、、、)
mkdir (自身の aichallenge-racingkart を実行するディレクトリ. 例 mkdir 2026)
cp -r aichallenge-racingkart 2026/aichallenge-racingkart
cd 2026インストール後の開発は以下いずれかが頻出。
cd aichallenge-racingkart
make autoware-build# ディレクトリ aichallenge-racingkart にて実行
make dev
# or
make autoware-build && make dev# ディレクトリ aichallenge-racingkart にて実行
make eval # 6周
# 環境移植手順_lap_time_tracker.md を実行済前提
make eval-1lap # 1周
make eval-2lap
make eval-3lap# ディレクトリ aichallenge-racingkart にて実行
# 環境移植手順_lap_time_tracker.md を実行済前提
make eval-and-record # 6周 + 転記
make eval-1lap-and-record # 1周 + 転記
make eval-2lap-and-record # 2周 + 転記
make eval-3lap-and-record # 3周 + 転記# ディレクトリ aichallenge-racingkart にて実行
make down# ディレクトリ aichallenge-racingkart にて実行
./create_submit_file.bash
./create_submit_file_kai.bashcd workspace
rm -rf build/ install/ log/
cd ..# ターミナル1# ディレクトリ aichallenge-racingkart にて実行
bash /docker_exec.sh
# ターミナル2
docker exec -it aichallenge-racingkart-autoware-simulator-evaluation-1 bash -c \
"source /aichallenge/workspace/install/setup.bash && \
ros2 topic echo /control/command/actuation_cmd --field actuation.accel_cmd"
# ターミナル3 : 速度も同時に見たい場合
docker exec -it aichallenge-racingkart-autoware-simulator-evaluation-1 bash -c \
"source /aichallenge/workspace/install/setup.bash && \
ros2 topic echo /vehicle/status/velocity_status --field longitudinal_velocity"
# docker exec -it <コンテナ名> bash -c "source ... && ros2 topic echo ..." の形式なら、コンテナに入らずホスト側のターミナルから直接モニタできます。# standalone-trajectory-editor
# ディレクトリ aichallenge-racingkart にて実行
cd aichallenge-racingkart/tools/standalone-trajectory-editor/build
./trajectory_editor# global_racetrajectory_optimization
# ディレクトリ aichallenge-racingkart にて実行
cd aichallenge-racingkart/tools/global_racetrajectory_optimization
python3 main_globaltraj.py以下実行すれば2026環境でもいけた。ただしgitは導入済みのためRVitz設定のみでOK。 https://zenn.dev/iasl/articles/f7a13f7cc8f146
# ディレクトリ aichallenge-racingkart にて実行
cd aichallenge-racingkart/tools/
# 再計算したいcsvを指定する. simple_trajectory_generator にあるcsvを参照する.
python3 update_quaternions.py raceline_traj_mincurv_35kph.csv# ディレクトリ aichallenge-racingkart にて実行
cd tools/
python3 mpc2pp.py <input> # 出力ファイル名を自動生成
python3 mpc2pp.py <input> <output> # 出力ファイル名末尾に _pp と明示
python3 pp2mpc.py <input> # 出力ファイル名を自動生成
python3 pp2mpc.py <input> <output> # 出力ファイル名末尾に _mpc と明示# ディレクトリ aichallenge-racingkart にて実行
# make eval の直後にこの1コマンドだけ実行する
./post_run.bash
# 列ラベルを指定したい場合
./post_run.bash --label "MyTest_001"
# セクションタイム付き (result-section.json がある場合は自動読み込み)
./post_run.bash --section-times '{"A": 12.3, "B": 14.5}'
# 出力先: output/lap_time_results.xlsx (自動追記)
# 実体: aichallenge/tools/lap_time_tracker.py へ委譲git config --global user.email "you@example.com"
git config --global user.name "Your Name"cd (任意のディレクトリ) # リポジトリのディレクトリに移動
git add . # 変更をステージング
git commit -m "commit message" # 変更をコミット
git push origin main # リモートリポジトリにプッシュcd (任意のディレクトリ) # リポジトリのディレクトリに移動
git pull origin main # リモートリポジトリから変更をプル:# ①新しいブランチを作成後に手動で切り替える
# ブランチを作成する :例.feature-branch という名前のブランチを作成する
git branch feature-branch
# 作成したブランチに切り替える :例.上記の例で作成した feature-branch に切り替える
git checkout feature-branch
# ②新しいブランチを作成しつつ切り替える
git checkout -b feature-branch# developブランチからmainブランチへマージしながら戻る
# developブランチでの作業を保存し、最新の状態にしておく。
git add .
git commit -m "Save current work on develop"
# mainブランチに戻る ※ main ブランチにいる場合はこのステップは不要.
git checkout main
## developブランチをmainブランチにマージする。
git merge develop
# マージ結果を確認し、必要に応じてコンフリクトを解決する。
# コンフリクトが発生した場合は、ファイルを修正し、次のコマンドでコンフリクト解決を完了。
git add <resolved_file>
git commit -m "Resolve merge conflict"
# マージ結果をリモートリポジトリにプッシュする。
git push origin main# 解決後に以下のコマンドを実行します。
git add <conflicted-file>
# マージをリモートリポジトリにプッシュする:
git commit -m "Merge branch 'feature-branch' into main"
git push origin main# 削除したいローカルブランチを確認して削除します。
git branch -d <branch_name>