v5b(ロボットの道順をサイトから受け取る)を入れました。Unity は押していません(Editor が開いたまま)。 ──────────────────────────────────────────────────────── 1. 写し直し ──────────────────────────────────────────────────────── 写した日時:2026-10-22 20:23:50 JST 版の番号:**9628954a582f**(③・⑦・summary.json・serving-robot-params.json の 4 つとも同じ) Store/Layouts/p1_efficient_corner.json 43,270 → 360,040 バイト(routes が入ったため) Store/Layouts/p5_crammed.json 43,258 → 367,162 バイト Store/Layouts/summary.json 3,042 バイト Experiment/serving-robot-params.json 9,899 バイト .asset の fetchedAt を 3 つとも「2026-10-22 20:23:50 JST(版 9628954a582f)」に直しました。 routes の中身(こちらで読んで確かめた) ③ from_pass 42 本(use は **normal 42・narrow 0**)/ between 861 本(抜け 0) ⑦ from_pass 42 本(use は **narrow 24・normal 18**)/ between 861 本(抜け 0) use と、サイトの卓の分け方(category)の食い違い: 0(③⑦とも) from_pass の最初の点が受け渡し口でないもの 0 / 最後が止まる位置でないもの 0 between の端が合わないもの 0 length と、点を結んだ長さの差: いちばん大きくて 0.0005 m ──────────────────────────────────────────────────────── 2. 直したこと ──────────────────────────────────────────────────────── (1) v5 で足した狭い通路の区画を外しました NavMeshBaker narrowAisleArea と AddNarrowAisleAreas を削除。ModifierBox を足さない → **NavMesh は段階1 と同じ**(レジの内側の区画だけ残す) RobotSpec avoidNarrowAisles を削除 ServingRobot 2 段の道探し(RobotFilterWithoutNarrow)を削除。道探しは 1 段に戻した PlanAisle.hardToPass / AisleInfo.hardToPass(幅 < normal_width の印)は残しました。 NavMesh には何もしません。報告に「狭い通路 3 本」と出すだけです。要らなければ外します。 (2) ロボットは routes の点をたどります Store/RouteBook.cs(新規) from_pass / between を持ち、 卓→受け渡し口は from_pass を逆にたどる。 between に a|b が無ければ b|a を逆にたどる JsonStoreLayout routes を読んで StorePlan.routes に入れる StoreBuilder Routes で引けるようにした ServingRobotController 区間(受け渡し口→1卓目→2卓目→3卓目→受け渡し口)ごとに 点の並びを受け取り、**1 点ずつ行き先にしてたどる** BeginLeg 区間の始め(いまいる所に近い先頭の点は飛ばす) AdvanceWaypoint 点に着いたら次の点へ(CheckArrival の中) ResumeLeg 譲り合い・あきらめから戻るとき、いまの点に戻す NavMesh の道探しは **次の点までの区間だけ** に使います。 引き直し(replanAfterStoppedSec・EscapePartialPath)も いまの点までの区間だけで、道順そのものは変えません。 RobotSpec followSiteRoutes(既定 on。off で前の動き) waypointReachDistance(0.25 m。途中の点に着いたとみなす距離) routePointSnapM(0.1 m。**最後の点=止まる位置は寄せない**。 この半径で面に乗らなければ広げて引き直し、回数を数える) 人にふさがれたときの止まる・待つ・よける・立ち往生は、いっさい変えていません。 待機場所 ↔ 受け渡し口は今までどおり Unity の道(GoStandby)です。 (3) 確かめ(JSON Store のメニュー)も同じにしました CSV の列({日付}_{店}_table_dist.csv) table, category, aisle, **use**, json_dist_m, **route_len_m**, **unity_path_m**, diff_m, diff_pct, **via_narrow**, **segments**, **bad_segments**, status route_len_m サイトの道順の点を結んだ長さ unity_path_m 点から点を Unity の NavMesh でつないだ長さの合計 via_narrow use == "narrow" なら 1 segments その卓の道順の区間の数 / bad_segments つながらない・遠回りの区間の数 報告(_json_check.txt)に足したもの ・すべての区間がつながった卓の数 ・つながらない区間の一覧(卓・何番目の区間・両端の点・理由) ・まっすぐの長さの **1.05 倍** を超えた区間の一覧(店の形と NavMesh が合っていない印) ・via_narrow(use=narrow)の卓の数 ──────────────────────────────────────────────────────── 3. こうなるはず(JSON の寸法から計算した予測) ──────────────────────────────────────────────────────── 道順の各区間が、ロボットの半径 0.25 m を確保できるかを 0.05 m 刻みで調べました。 ③ from_pass の区間 205 本 … 半径を確保できない区間 **0 本** 区間の最小すき間 0.487 m(0.30 m 未満の区間 0 本) ⑦ from_pass の区間 195 本 … 半径を確保できない区間 **0 本** 区間の最小すき間 0.387 m(0.8 m の通路の真ん中を通るため。0.30 m 未満 0 本) → 焼いた面(半径 0.25 m・ます目 0.05 m)でも、どの区間もまっすぐつながるはずです。 つながらない区間 0・1.05 倍を超える区間 0 を見込んでいます。 道順の長さ − JSON の dist は ③⑦とも -0.87 〜 -0.01 m(道順の方が少し短い)。 dist はマス目の上の道のりなので、直線で結んだぶん短くなります。 via_narrow は **⑦ 24 卓・③ 0 卓**(routes の use の数と同じ)。 ──────────────────────────────────────────────────────── 4. お願い ──────────────────────────────────────────────────────── ServiceSim/JSON Store/③⑦ を続けて確かめる 見ていただきたいのは、依頼のとおり 3 点です。 1. 42 卓すべての区間がつながること(「つながらない区間: 0」) 2. まっすぐの 1.05 倍を超える区間が無いこと 3. via_narrow が ⑦ 24 卓・③ 0 卓 通ったら、こちらで VCS Check-in して v5 の 3 章(条件・始め方・立ち往生でスタッフを呼ぶ・ 逃がし弁の記録・出す数字・往復ごとの4つの値)に進みます。 触ったファイル 新規 Store/RouteBook.cs(+ .meta) 写し Store/Layouts/*.json(3 つ)・Experiment/serving-robot-params.json 変更 Store/JsonStoreLayout.cs(routes を読む・報告) Store/StorePlan.cs(routes を持つ)・Store/StoreBuilder.cs(Routes で引く) Store/NavMeshBaker.cs(狭い通路の区画を削除) Robot/RobotSpec.cs(avoidNarrowAisles 削除/followSiteRoutes 他 3 つ追加) Robot/ServingRobotController.cs(2 段の道探しを削除/道順をたどる) Editor/ServiceSimJsonStore.cs(確かめを道順の照合に) Store/StoreLayout_p1_efficient_corner.asset / p5_crammed.asset / Experiment/SimParams.asset(fetchedAt) なお、v5 の 0 章で入れた 2 つの直し(幅の誤報・store_report の名前)も、まだ Check-in していません。今回の分とまとめて、確かめが通ってから入れます。