Skip to content

RoadManager::Route::AddWaypoint がパス解決失敗を静かにフォールバックし検知できない(issue #31 由来) #42

Open

Description

@GT-karny

症状

RoadManager::Route::AddWaypoint はパス解決(route_found)に失敗した Waypoint を、minimal_waypoints_ へ追加せず警告ログ1行のみ(Route::AddWaypoint Skip waypoint for scenario routes since path not found)で静かに落とす(EnvironmentSimulator/Modules/RoadManager/RoadManager.cpp Route::AddWaypoint)。

呼び出し側(VirtualDriver 等)はこの欠落を検知するすべを持たず、ルートが途中で truncate されたまま以降の処理(junction 内パス予測 = ConflictPointResolver 等)を続行する。その結果、記述ミス(Waypoint 列の欠落)の症状が、原因から遠く離れた場所(走行中の交差点内パス予測の flicker、不要減速)にしか観測できない形で現れる。

issue #31 の実地調査はこの構造のせいで長期化した: 起票時点では「RoadPath の右折レーン接続失敗」という誤った仮説が立てられ(実際の真因はシナリオ側の Route Waypoint 記述欠落、#31 参照)、ログの WARN 1行に気づくまで真因特定に時間を要した。

提案

以下のいずれか(複数可)で「ルート解決失敗」を呼び出し側が検知できるようにする:

  • Route::AddWaypoint の戻り値または Route の状態フラグで、1件でも route_found == false があったことを呼び出し側(AssignRouteAction 処理系)に伝播する。
  • VirtualDriver 側で、割り当てられたルートの Waypoint 数がシナリオ記述の Waypoint 数より少ない場合に WARN を格上げする(テレメトリ/ログへの明示的な "route truncated" マーカー)。
  • 静的チェック(scripts/check_route_waypoints.py、issue VirtualDriver: 交差点直進ルート設定時にTraj予測が直進/左折を高速交互誤判定し不要な減速が発生 #31 対応で追加)はオーサリング時の再発防止だが、実行時の検知はまだ無い。両輪で塞ぐ。

スコープ外にした理由

issue #31 のスコープは「シナリオ記述側の恒久ルール明文化・既存資産の棚卸し修正」であり、RoadManager 側のランタイム検知強化は別プログラム(C++ コア変更、EnvironmentSimulator/ は R1 Clean Core 対象)。

関連ID

feature:F2 feature:F3 vd-phase:Phase3e openx:Domain#Junction commit:(#31 真因コメント参照)

refs #31

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions