You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RoadManager::Route::AddWaypoint はパス解決(route_found)に失敗した Waypoint を、minimal_waypoints_ へ追加せず警告ログ1行のみ(Route::AddWaypoint Skip waypoint for scenario routes since path not found)で静かに落とす(EnvironmentSimulator/Modules/RoadManager/RoadManager.cppRoute::AddWaypoint)。
症状
RoadManager::Route::AddWaypointはパス解決(route_found)に失敗した Waypoint を、minimal_waypoints_へ追加せず警告ログ1行のみ(Route::AddWaypoint Skip waypoint for scenario routes since path not found)で静かに落とす(EnvironmentSimulator/Modules/RoadManager/RoadManager.cppRoute::AddWaypoint)。呼び出し側(VirtualDriver 等)はこの欠落を検知するすべを持たず、ルートが途中で truncate されたまま以降の処理(junction 内パス予測 = ConflictPointResolver 等)を続行する。その結果、記述ミス(Waypoint 列の欠落)の症状が、原因から遠く離れた場所(走行中の交差点内パス予測の flicker、不要減速)にしか観測できない形で現れる。
issue #31 の実地調査はこの構造のせいで長期化した: 起票時点では「RoadPath の右折レーン接続失敗」という誤った仮説が立てられ(実際の真因はシナリオ側の Route Waypoint 記述欠落、#31 参照)、ログの WARN 1行に気づくまで真因特定に時間を要した。
提案
以下のいずれか(複数可)で「ルート解決失敗」を呼び出し側が検知できるようにする:
Route::AddWaypointの戻り値またはRouteの状態フラグで、1件でもroute_found == falseがあったことを呼び出し側(AssignRouteAction処理系)に伝播する。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