0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIツール三種の神器ではじめる自動運転AIチャレンジ (5) パラメータチューニング

0
Last updated at Posted at 2025-08-25

はじめに✨

生成AIツールを活用した、自動運転AIチャレンジへの取り組みを不定期に連載しています。本記事は、GoogleのNotebook LLMを使った音声解説でポッドキャスト配信を行っています。

AIツールを参謀、書記、執事という「役割」に分担し、「AIツール三種の神器」として活用しながら進めています。
前回は、取り組みの中で得た知識をAIと共有する、指南書の作成と書記(AIエディター)の活用について触れました。
今回は、特に参謀(AIチャット)の力を借りながら、AIチャレンジの予選レースで重要なパラメータチューニングを行い、オンラインでのコード提出まで行ってみます。🚗💨

シミュレータのアップデート🆕

8/14に2回目のシミュレータのアップデートがありました
https://github.com/AutomotiveAIChallenge/aichallenge-2025/pull/47
本番の実機レースに近い、車庫からスタートする仕様が変わったようです。
前回セットアップしたシミュレータから最新版に更新してみましたが、古いAWSIMのままだとスタート地点からカートが走行しないようです。AWSIMの更新も必要なようですのでご注意ください。⚠️

AI Challenge2025のROSパッケージ🤖

AIチャレンジの予選では提供されているコードやパラメータをカスタマイズして開発を進めることになっています。
公式サイトでは、AIチャレンジの進め方 がありますが、あまり詳細な解説はないようです。(ここからは謎解きゲームのようになっていますね🕵️‍♂️)
参謀(GPT5)とともにコードを解析しながら進めていきます。
以下のreference.launch.xmlにコンポーネントとパラメータの情報が含まれており、このURLを伝えて解析してみます。

"このURLのlaunchファイルを解析して、各コンポーネントの機能を表にまとめて"
https://github.com/AutomotiveAIChallenge/aichallenge-2025/blob/main/aichallenge/workspace/src/aichallenge_submit/aichallenge_submit_launch/launch/reference.launch.xml

以下のようなコンポーネントから構成されています。
GNSSとIMUのみで自己位置推定を行い、あらかじめ用意された経路データに沿って走行するシンプルな構成です。

コンポーネント名 機能概要
simple_pure_pursuit 参照軌跡から操舵・加減速を出力する追従制御input/trajectory と車体状態から AckermannControlCommand を生成。(automotiveaichallenge.github.io, Zenn)
external_velocity_limit_selector 外部から与える最高速度制限の選択・配信。smoother と組み合わせて全体速度を絞る。(Qiita)
vehicle_velocity_converter 車両速度から twist_with_covariance を生成(自己位置・smoother系への入力整形)。(Qiita)
imu_corrector IMU生データの補正。自己位置推定の前処理。(Qiita)
gyro_odometer IMU+車速からのオドメトリ推定。(Qiita)
ekf_localizer EKF による状態推定(姿勢・速度)。/localization/kinematic_state を生成。(Qiita)
map_loader 地図(Lanelet2)のロード/可視化。(Qiita)
raw_vehicle_cmd_converter Autowareの制御指令をアクセル/ブレーキ/操舵量へ変換(車両アダプタ)。実機・シミュの橋渡し。(autowarefoundation.github.io)

パラメータのチューニング🔧

参謀(GPT5)によると、自作のコンポーネントを作る前に、既存のPlannerアルゴリズムのパラメータを調整して、走りを改善することを目指すのが近道のようです。
では、どのパラメータをいじれば走りが良くなるでしょうか?。
最も簡単で効果が出やすいのは、提出用起動ファイルの中で Pure Pursuit(簡易制御)パラメータ のようです。公式の手引きでも、最初のカスタマイズとしてここを推奨しています。automotiveaichallenge.github.io
はじめに、このパラメーターを調整して、まずは一周できるよう調整してみます。

Pure Pursuitとは🚙

  • 車両を経路追従させる古典的な制御アルゴリズムの一つ
  • 自車の「後輪中心」から一定距離(lookahead distance)先にある経路上の点(lookahead point)を探し、その点を結ぶ円弧に従うように操舵角を決定する方式。

Pure Pursuitの主要パラメータ 一覧📋

パラメータ 概要 / ねらい 主な効果 注意点
use_external_target_vel (bool) 目標車速を切替:固定値を使うか(true)、Trajectoryの目標速度に従うか(false) 速度計画を使わない簡易チューニング時は true が手早い 速度計画(前段)を導入するなら false にするのが基本。(automotiveaichallenge.github.io)
external_target_vel (m/s) use_external_target_vel=true のときに使う目標車速固定値 ストレートでの伸び・全体ペースが直接変わる m/s 指定。use_external_target_vel=false の場合は無効。(automotiveaichallenge.github.io)
lookahead_gain 車速に比例した先読み距離のゲイン 大きいほど応答性↑(敏感)/小さいほど安定傾向 大きすぎるとコーナーカットや振動が出やすい。(automotiveaichallenge.github.io)
lookahead_min_distance (m) 最低先読み距離(低速時の下限) 低速域のふらつき抑制 大きすぎるとタイトコーナーで外へ膨らみやすい。(automotiveaichallenge.github.io)
speed_proportional_gain 速度誤差のPゲイン(加減速のキビキビ感) 追従性↑/立ち上がり改善 上げすぎるとジャーク・ノイズ追随が増える。(automotiveaichallenge.github.io)

Trajectoryデータの調整🗺️

このPure Pursuitは、あらかじめcsvで用意された経路データ(Trajectory)を追従してステアリングを制御しています。
コースをぶつかることなく周回し、タイムを速くするには、このテーブルの修正が重要そうです。
このテーブルには目標車速データも含まれています。
raceline_cctb_30km_wide.csv
デフォルトの設定では直線、カーブとも目標車速は一定値に設定されています。
Trajectory Editorを使うと細かくチューニングができるようです。
ここでは、超手っ取り早い方法として、今回は、以下のようなプロンプトでChatGPT5に修正してもらいました。
プロンプト例
"これはPure Pursuitの軌跡と目標速度データです。直線のスピードを10%上げて、カーブのスピードを落とすよう修正してください。最初の9個のデータは車庫からの走行で低速に設定しているため、修正しません。元データの列名、列数、データは同一とします。"
経路データの目標車速を曲率に応じた設定に修正したところ、走行が少し安定したようです。

修正したコードのオンライン提出📤

ローカルのシミュレータ上で走行を確認した後、提出の手順に従い、コードを圧縮します。
圧縮したファイルをオンラインのシミュレータにアップロードすると、ソースコードのビルド、シミュレーション走行と結果の評価まで自動で行われます。
提出は一日20回まで行うことができます。

ライブ観戦🎥

オンラインで提出すると、自分のランクが、自動運転AIチャレンジ2025 LIVEに公開されます。
WindowsのWSL環境で、3D描画なしで実行していましたが、オンライン提出後では、自分のカートが走行する様子をドライバー視点の3Dで確認できます。右側の2D画面では、走行軌跡とPlannerが経路の先読みしているポイントを確認できます。
さらに自分の走行だけでなく、他のチームの走行の様子も確認できて、上位チームの走行軌跡や速度を参考にすることができます。
自動運転AIチャレンジ2025 LIVE

AI_Challenge2025_live.gif

さいごに📝

簡単パラメータチューニングを行い、オンラインでのコード提出まで進めました。
あと残り一週間を切ってますね。😥

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?