Getting started: VLM Plannerの実行
このドキュメントでは、Gemini APIとAWSIMを用いて、VLM Plannerを動かす方法について説明します。
VLM Plannerの実行
- VLM Planner環境側の準備で作成したdocker container内で、以下を実行しましょう。
- 以下のコマンドを実行し、VLM Plannerを動かしてみてください。
# Run the VLM planner node with custom output topic
cd /home/e2e-utils-beta/src/vlm_planner
python vlm_planner_node.py --ros-args -p output_topic:="/planning/ml_planner/auto/trajectory"
AWSIMの実行
- AWSIM側の準備にて作成したdocker container内で、
./run_evaluation.bash
を実行しましょう。 - scaleは0.02程度に変更しましょう。(Geminiのfree planが5秒に1回しか推論できないため。)
- VLMPlannerは、Geminiが利用できない時は過去のtrajectoryをそのまま使用します。簡単な実験をしてみたい場合、直進区間では、scaleを0.20程度にしても構いません。
実行結果を確認
以下のコマンドで出力が得られていれば、正しく実行できています。
ros2 topic echo /planning/ml_planner/auto/trajectory
Tips
このSampleでは、gemini-2.5-flash-lite
をそのまま使用しており、サーキット用のチューニングができておらず、ヘアピンを回ることができない状態となっています。以下のTipsを参考に、改善にトライしてみてください。
e2e-utils-beta/src/vlm_planner/vlm_planner.py
を更新することでモデルを変更できます- デフォルトでは
gemini-2.5-flash-lite
が使用されています。
- デフォルトでは
self.model = genai.GenerativeModel("gemini-2.5-flash-lite")
-
プロンプト(
e2e-utils-beta/src/vlm_planner/prompt.py
)を更新することでも改善ができる可能性があります。 -
Vertex AIでのファインチューニングが軌道の改善に役立つ可能性があります。