==================================================================== ⑥ ゆったり・入口が左の壁の店(fam_p4)を建てて、1回ずつ回して確かめた 依頼:20261028_21_店6を建てて確かめる.md 2026-10-28 19:35 check-in:cs:37・cs:38 build_id cs38_20261028_1923(保留 0) ==================================================================== 結論 ・始める前の確かめ5つは、すべて合格だった。 ・公開版(版 2e9fc773050a)の params と ③⑦④⑤⑥の店の形を写した。版はすべてそろっていた。 ③⑦④⑤は前の写しと版の番号以外同じ。params は fam_p4 と条件3件(12〜14 番)が足されただけ。 ・⑥は③⑦④⑤と同じコードで建った(合わないもの なし)。卓 38・席 158、止まる位置 38 / 38 が NavMesh の上、 受け渡し口から全卓へ道がつながり、入口から全卓の席へ歩ける。確かめ A も全卓・待機場所3つとも引けた。 ・check-in して画面なしの実行ファイルを作り直し、確かめの3回(⑥ × 0・1・2台 × 種0)を回した。 3回とも completed・全員帰った。打ち切りは 2台の回で 3。 ・台帳 598 → 601 行(追記だけ)。先頭 598 行の md5 は退避と同じ。 ・何も指定しない make_queue は③⑦の60回のまま。 ==================================================================== 1. 始める前の確かめ(5つとも合格。19:15 ごろ) ==================================================================== 1. Unity エディタ:起動していない(Unity Hub だけが起動していた) 2. /Volumes/KIOXIA:マウントされている。unity_ledger_v1.lock:なし 3. 台帳 unity_ledger_v1.csv:598 行・md5 b8be20af5210641661f8b40b52fd120b(退避と同じ) 4. ServiceSim の保留:0(cs:36 head) 5. 公開中の serving-robot-params.json:meta.layout_generation 2e9fc773050a・unity_conditions 15 件・ stores に fam_p4 あり(1回目の取得で合った) ==================================================================== 2. 写したもの(やること 1) ==================================================================== 写し元:https://pixelstomotors.com/sim/(2026-10-28 19:17 に curl で取得) 控え:unity/site_copy_2e9fc773050a/(params・summary.json・unity/ の6店の JSON と地図・README.txt) 版の番号:params の layout_generation、6店の JSON と地図の meta.generation、summary.json がすべて 2e9fc773050a プロジェクトの今の写し(cs:36)との違い p1・p5・p2・p3 の JSON と地図(8本):版の番号以外の違い 0 summary.json:版の番号以外の違い 0 params:stores.fam_p4 と unity_conditions の 12〜14 番(⑥の 0・1・2 台)が足されただけ。 common・unity_rules・0〜11 番・stores のほかの店は同じ。meta で変わったのは layout_generation だけ どれも cp でそのまま写した(手で値を写していない)。p4 の JSON と地図は新しく足した。 ==================================================================== 3. 入れた cs・build_id・変えたファイル ==================================================================== check-in:cs:37 と cs:38(保留 0) cs:37 には足したファイル6つだけが入った。変えたファイル15件は、コマンドの渡し方の誤り(zsh でファイル名が 1つにつながった)で入らなかったので、すぐに cs:38 として入れ直した。 実行ファイルと3回は cs:38 から作ったので、cs:37 だけの状態では何も回していない。 画面なしの実行ファイル:build_id cs38_20261028_1923 / unity_cs ServiceSim/cs:38 / pending_changes 空 Build Finished, Result: Success・error CS 0 変えたファイル cs:37(足した) Assets/ServiceSim/Store/Layouts/p4_relaxed_side.json・_map.json(+.meta) 公開版の写し Assets/ServiceSim/Store/StoreLayout_p4_relaxed_side.asset(+.meta) ⑤の .asset を写し、JSON・地図・名前・写し元を 差し替えた(通路の幅は JSON と同じ 1.5 m) cs:38(変えた) Assets/ServiceSim/Experiment/serving-robot-params.json 公開版の写し Assets/ServiceSim/Store/Layouts/summary.json・p1/p5/p2/p3 の JSON と地図 公開版の写し(版の番号だけ変わった) Assets/ServiceSim/Editor/ServiceSimSetup.cs P4LayoutPath・HeadlessRun.layouts に⑥ Assets/ServiceSim/Editor/ServiceSimSiteRun.cs ⑥の3条件(unity_conditions の 12・13・14) Assets/ServiceSim/Editor/ServiceSimJsonStore.cs 「⑥ p4_relaxed_side を建てて確かめる」・版と試算の値の確かめに⑥ Assets/ServiceSim/Editor/ServiceSimMapPlanner.cs 「⑥ 確かめ A」 Assets/ServiceSim/Scenes/ServiceSim_Family.unity HeadlessRun.layouts に⑥(1行) どれも⑤を足したときと同じ形(名前と番号の差し替えだけ)。⑥のためだけの手直しはしていない。 手で戻したもの(check-in していない) 建てて確かめる処理を回すと ProjectSettings/NavMeshAreas.asset が書き換わったので cm undo で戻した(④⑤と同じ)。 Mat_RobotKeepout.mat も変更ありになったが中身は同じだったので戻した。 make_queue.py・night_runner.py・judge_night.py は変えていない。 ==================================================================== 4. ⑥を建てて分かったこと(JSON Store「⑥ を建てて確かめる」・Map Planner「⑥ 確かめ A」) ==================================================================== 数 卓:Unity 38 / JSON 38 / summary.json 38 で一致。席 158 で一致 細い通路 2 本(A01 x 1.2〜2.7・A02 x 5.25〜6.75、いずれも 1.5 m)。外寸 24 × 17 m 地図のマスの数は JSON の counts と一致。合わないもの:なし 止まる位置 38 か所すべてロボット用の NavMesh の上(乗らない 0)。地図でも 38 卓すべて通れるマス 道順 受け渡し口から全 38 卓、すべての区間がつながった。 JSON の dist との差は平均 −0.44 m・最大 1.0 m(T01)。30% を超えた卓は 0 席 入口 (0.5, 2.2) から全 38 卓の席に着く点まで歩ける(入れない卓 0) 場所の点 26 か所すべて NavMesh に乗った(乗らない 0)。置けなかった所はない 受け渡し口・返却口・パントリー (14.3, 5.95)/入口 (0.5, 2.2)/待合の前 (1.8, 0.9)/トイレ (10.9, 14.2) レジ 1 (3.2, 1.25)・会計の列 3 (2.7 / 2.2 / 1.7, 1.25)・レジの内側 (4.75, 1.25) レジの内側は人用・ロボット用とも受け渡し口から 11.06 m で行ける ドリンクバー(立つ点 4:x 15.7〜18.7・y 4.5/並ぶ点 1:(18.0, 5.4)) ロボットの待機場所 3:(15.9, 6.05)・(16.7, 6.05)・(17.5, 6.05) 地図では3つとも「通れる幅だけ」のマス(④⑤と同じ)。確かめ A で3つとも道が引けた スタッフが待つ点 6:x 12.75・y 6.81〜9.89(スタッフ3人なので1人1点) 行き止まり 細い通路を1本ずつふさいでも、ほかの全卓に届く(ロボット・人とも) 確かめ A 引けない卓 0 / 38。狭い道を使う卓 0(サイトの routes も 0 で一致)。 長さの比 最小 0.964 / 平均 1.011 / 最大 1.044 気づいたこと(直していない。調べてもいない) ・レジの内側:確かめが「入口(西のふち)0 m ← 0.7 m 未満」と出す。レジを下の壁まで寄せたので、 西はレジ台・南は壁になり、入るのは上(y 2.5)からになる。受け渡し口から行けて、回でもレジの内側に 入れなかった人は 0(register_back_intruders 0)。ただし会計の位置がずれた回が 1台 4・2台 1 ある (register_pay_off_spot)。確かめの「西のふち」の見方がこの形に合っていないだけかもしれない ・細い通路の人用の幅:A01・A02 とも焼いた面のいちばん狭いところ 0.98 m(計算上 1.1 m)で、確かめは 「直す必要あり」と出す。ロボット用は計算どおり。行き止まり・席に入れるかの確かめは通っている ・ロボット用 NavMesh の「受け渡し口からつながる面」が 32.34 m2、「つながっていない面」が 118.63 m2 と出た (⑤は 0.8 m2)。人用は 159.07 m2 すべてつながっている。 一方で、NavMesh の上の道の確かめ(全 38 卓つながる・届かない卓 0)は通っており、回でもロボットは全卓に運べた。 この数え方は「頂点を共有する三角形」だけをつなぐので、面の切り方によっては少なく出る。 本当に切れ目があるのかは調べていない 書き出し(unity/screens/) 20261028_p4_relaxed_side_json_check.txt / _table_dist.csv 20261028_1919_map_planner_checkA_p4.txt / map_plan の CSV ==================================================================== 5. 確かめの3回(⑥ × 0・1・2台 × 種0・すれ違い入・待機場所へ戻る入・案B切・ラベル p4check・同時 4 本) ==================================================================== python3 tools/make_queue.py --stores fam_p4 --seeds 0 --label p4check --out /tmp/p4c/queue_p4check.json python3 tools/night_runner.py --queue /tmp/p4c/queue_p4check.json --parallel 4 --night 20261028 --label p4check --record-name 20261028_p4check 出力 20261028_p4check_cs38_fam_p4_r{0,1,2}_s0_passon_sbret 記録 night/20261028_p4check/(runner 終了コード 0・completed 3・失敗 0) judge.md:基準なし 3(⑥の基準データがないため。依頼のとおり) 左が Unity、右が試算(params の site_result)。単位は分。割合は 0〜1 0台 1台 2台 最後まで回ったか completed completed completed 全員帰ったか はい はい はい 実時間 2.8 分 2.9 分 3.0 分 (参考)店の時間 174.8 分 175.0 分 171.8 分 入れた組の数 59 / 76.1 59 / 75.4 59 / 73.9 入店待ち 1.89 / 6.95 1.71 / 3.12 1.44 / 1.89 うち席は空いているのに待った 0.09 / 3.71 0 / 0.72 0 / 0.40 料理の待ち 1.21 / 0.75 2.18 / 1.97 1.00 / 0.82 会計待ち 1.93 / 12.05 2.99 / 8.47 1.78 / 6.99 ロボットが運んだ皿の割合 0 / 0 0.865 / 0.800 0.986 / 0.999 往復の数 0 68 127 30秒以上の止まり 0 6 23 (1往復あたり) 0 0.088 0.181 動けなくなった(60秒) 0 6 15 卓を空けた(逃がし弁) 0 0 0 瞬間移動 0 32 37 打ち切り 0 0 3 (参考)あきらめた 7 23 18 (参考)冷めた皿の割合 0.027 / 0.0005 0.291 / 0.132 0.034 / 0.005 (参考)待機場所へ戻った/出た 0 / 0 68 / 68 126 / 125(戻れず受け渡し口へ 0) (参考)ドリンクバーで並んだ/あきらめた 9 / 7 13 / 8 11 / 3 目立つ点(差の理由は調べていない。依頼のとおり) ・入れた組の数が3回とも 59 組で、試算(74〜76 組)より少ない(⑤でも 71 対 91〜95 だった) ・会計待ちは Unity 1.8〜3.0 分で、試算の 0台 12.1 分のような「レジが詰まる」形にはならなかった ・1台の回は冷めた皿の割合が 0.29(試算 0.13) ・2台の回の 30 秒以上の止まりは 23 で、⑤(9)・往復あたりでも多い(下の 6 章) 2台の回の 30 秒以上の止まり(23 回)の場所 受け渡し口の点 (14.3, 5.95) から 2.5 m 以内 12 回(すべて「もう1台のロボット」) うち待機場所での止まりを除いた数 3 回(3 回とも (14.79, 6.06):受け渡し口と待機場所1の間) (待機場所=店の形の RobotStandby の四角:x 15.5〜16.3・16.3〜17.1・17.1〜17.9、y 5.65〜6.45。 この四角の中での止まりは 9 回。ほぼ待機場所1 (15.6〜15.9, 5.9〜6.06) で、うち 7 回は 60 秒の「動けなくなった」) ドリンクバーのまわり(x 14.8〜19.6・y 1.8〜5.65) 0 回 入口・レジのまわり(x < 5.2・y < 5.0) 0 回 左の2本の通路(x 1.2〜2.7 と 5.25〜6.75、y 5.2〜14.5) 2 回(A01 (2.21, 6.86) と A02 の上の端 (6.42, 13.45)。どちらも客とすれ違った) 上のどれにも入らない所 9 回 (8.5〜9.3, 13.6〜14.4):トイレの入口の前 (10.9, 14.2) の左。もう1台のロボット 1・スタッフ 2・人が立ち止まっていた 4・客 1、 (6.90, 4.94):A02 の下の入口の下。もう1台のロボット 1 理由ごと(23 回):もう1台のロボット 14・人が立ち止まっていた 4・お客さんとすれ違った 3・スタッフとすれ違った 2 入口・レジのまわり(x < 5.2・y < 2.5)で人(客・スタッフ)が立ち止まった回数 人どうしで詰まった(people_jams):0台 0・1台 0・2台 0 スタッフがロボットに道をゆずって待った(yields):0台 0・1台 4(計 126 秒)・2台 5(計 86 秒) 場所はどれも (1.5〜2.1, 2.22) あたり(待合の前・会計の列の上)。ロボットの通った跡はこの範囲に入っていない あきらめた・移した(give_ups):1台の回で 2(スタッフが案内を 60 秒であきらめた 1・会計の客が並ぶ点を移した 1、 どちらも (2.2〜2.6, 2.22) あたり)。0台・2台は 0 客どうしの接触・詰まりとして記録されたものはなく、待合の客と会計の列の重なりは、 今の記録の上では目立った止まりとしては出ていない(レジのまわりの人数は最大 8〜9 人・平均 2.1〜2.3 人) ==================================================================== 6. 台帳 ==================================================================== 行数:598 → 601(3 行足した。追記だけ。3行とも unity_cs ServiceSim/cs:38・layout_generation 2e9fc773050a) 先頭 598 行の md5:b8be20af5210641661f8b40b52fd120b(退避と同じ) 列は今までどおり(59 列)。鍵ファイルは残っていない ==================================================================== 7. make_queue(台帳には書いていない) ==================================================================== --stores fam_p4 --seeds 0 --label p4check → fam_p4_s3_r{0,1,2}_a38 の 3 回 (0台 trays 1・1台と2台 trays 3・レジ 1・すれ違い入・待機場所へ戻る入・案B切)。make_queue.py はコードを変えずに使えた 何も指定しない(cs:38 のあとで /tmp に作った) → fam_p1・fam_p5 × 0・1・2 台 × 種 0〜9 = 60 回。 night/20261102/queue.json(v5 の夜)と、回の並びと中身が同じ(label を除く) 作業フォルダに queue の一時ファイルは置いていない(/tmp/p4c/ にだけ作った)。最後の保留 0(cs:38 head)。 ==================================================================== 8. エイイチが画面で⑥を見る手順 ==================================================================== 1. Unity Hub から ServiceSim(/Users/shimazueiichi/Robotics_UX/ServiceSim)を開き、 シーン Assets/ServiceSim/Scenes/ServiceSim_Family.unity を開く 2. 建てるだけで見る:ServiceSim → JSON Store → ⑥ p4_relaxed_side を建てて確かめる 3. 回して見る:ServiceSim → Site Run → ⑥ スタッフ3人・ロボット0台 / 1台 / 2台 Play に入って回り、終わると自動で抜ける。すれ違い入・待機場所へ戻る入・案B切(今の標準)。 種は ExperimentPlan の trialSeed。出力は KIOXIA に出る(台帳には書かない) ※ 待機場所1での止まりを見るなら 2台の回(店の時間で 28 分・36 分・113 分・156 分ごろ) ==================================================================== 9. 決めてほしいこと ==================================================================== 1. ⑥の夜を回すかどうか(依頼のとおり、本番の夜は回していない)。 2. 2台の回で、30 秒以上の止まり 23 のうち 9 が待機場所1の中、3 が受け渡し口と待機場所1の間で、 すべて「もう1台のロボット」(60 秒で動けなくなった 7 を含む)。待機場所が受け渡し口の前から 1.2 m の形 (図面で分かっていて残したこと)が効いているように見える。このまま夜を回すか、先にサイトの形を見直すか。 3. 入れた組の数が 59 組で、試算(74〜76 組)より少ない。会計待ちも試算のように詰まらなかった(⑤と同じ傾向)。 4. 4 章の気づいたこと(レジの内側の「西のふち 0 m」、細い通路の人用の幅 0.98 m、 ロボット用 NavMesh の「つながっていない面」118.63 m2)を調べるかどうか。 どれも回は最後まで回っているが、店の形のことなので、直すならサイトが先。