diff --git a/tools/sim_layouts/README.md b/tools/sim_layouts/README.md index 82d97a8..23fed62 100644 --- a/tools/sim_layouts/README.md +++ b/tools/sim_layouts/README.md @@ -24,7 +24,7 @@ `unity_export.py` が、店の形と解析から決まった規則で作る(規則はファイルの先頭に書いた)。`famires_v3.py` を回すと一緒に出る。Unity はこれを読んで店を建て、店の形を自分で作らない。試算(haizen_sim.py)はこれを使わない。 - 卓の数・止まる位置・卓までの距離は analysis と同じ(テストで確かめる)。版の番号(generation)も同じ -- 細い通路:同じ向きのボックス席がすき間なく並んだ列の、隣り合う列のすき間(0.5〜1.5m)。両端の0.8m外に入口の点を置き、受け渡し口の前から近い方を entrance とする。③⑦は3本(③1.2m、⑦0.8m) +- 細い通路:同じ向きのボックス席がすき間なく並んだ列の、隣り合う列のすき間(0.5〜1.5m)。両端の0.8m外に入口の点を置き、受け渡し口の前から近い方を entrance とする。③⑦は3本(③1.2m、⑦0.9m) - 卓の部品:天板・ベンチ・椅子(2人席の通路側の椅子だけ引ける。引く向きつき)・座る位置(席数ぶん)・席に着くために立つ点(座る側の辺の真ん中から0.3m外。障害物から0.2m=人の半径以上離れた所だけ) - 部屋は通れない箱。ただしレジ内は `walkable: true, staff_only: true`(スタッフが中に立つ所。箱にしない) - 場所の点:受け渡し口の前・下げ膳の返却(受け渡し口と同じ)・入口・待合・レジ(レジ内の反対側)と並ぶ点・レジ内・トイレの入口の前・ドリンクバーの前と立つ点・並ぶ点・ロボットの待機場所(1台ずつ)・スタッフが待つ点 @@ -55,7 +55,7 @@ python3 test_famires_v3.py # 確かめの仕組みそのものを確か 4. 入口の位置はパターンごとに変える。入口の近くにレジ(2.5m以上)と待合 5. トイレ:客席に面する側は厚さ30cm以上の壁。トイレから1m以内(ちょうど1mも含む)に席を置くなら、席とトイレの入口の間に壁が要る。トイレの入口の前1.2mには何も置かない 6. ドリンクバーあり。ロボットの待機・充電の場所は料理の受け渡し口の横(1台あたり0.8m×0.8m) -7. ⑦は③と同じ卓・同じ席数のまま、列の間の通路だけを80cmに詰めた比較用 +7. ⑦は③と同じ卓・同じ席数のまま、列の間の通路だけを90cmに詰めた比較用(はじめは80cm。2026-10-23、Unity でロボットがほとんど動けず、右端の列の横に余りがあったので、島を右へずらして90cmにした) 8. ②記憶の店は、昔働いていた店の記憶をもとにした店(layout_v11.json)を決まりに合わせた版。トイレとバックヤード(パントリーの出入り口・洗い場・物置)が客席の奥の壁より外へ出っ張り、奥の端はそろう。トイレへはパントリーの壁ぞいの通路から入る **ロボット** diff --git a/tools/sim_layouts/famires_gen2.py b/tools/sim_layouts/famires_gen2.py index a7dba5a..0518c9e 100644 --- a/tools/sim_layouts/famires_gen2.py +++ b/tools/sim_layouts/famires_gen2.py @@ -253,14 +253,17 @@ def p4_relaxed_side(): def p5_crammed(): - """③と同じ卓・同じ席数のまま、列の間の通路だけを1.2mから0.8mに詰めた比較用""" + """③と同じ卓・同じ席数のまま、列の間の通路だけを1.2mから0.9mに詰めた比較用。 + はじめは0.8m(BellaBot の通れる幅ちょうど)だったが、Unity でロボットがほとんど動けず、 + 右端の列の横に詰めた分の余りがあったので、島を右へずらして0.9mにした(2026-10-23 エイイチと決めた)""" L = p1_efficient_corner() - L["name"] = "⑦ ③の列の間の通路を80cmに(卓と席数は③と同じ)" + L["name"] = "⑦ ③の列の間の通路を90cmに(卓と席数は③と同じ)" + AISLE = 0.9 t = strip(0.0, 4.6, "v", 4) - x = 1.2 + 0.8 + x = 1.2 + AISLE for n in (4, 5, 4): # ③と同じ島(4・5・4ボックス) t += island(x, 4.8, "v", n) - x += island_width() + 0.8 + x += island_width() + AISLE t += strip(6.8, 0.0, "h", 3, seats=6) t += two_seat_row(14.6, 0.0, "bottom", 8) t += [lsofa(21.2, 3.0, 2.8, 3.5, flip=True, mirror=True)] diff --git a/tools/sim_layouts/test_famires_v3.py b/tools/sim_layouts/test_famires_v3.py index 5c52775..53daf5a 100644 --- a/tools/sim_layouts/test_famires_v3.py +++ b/tools/sim_layouts/test_famires_v3.py @@ -336,7 +336,7 @@ expect("出入り口Aを壁でふさぐと見つける", any(k == "出入り口" # ---- Unity 用の細かい形(unity_export.py。2026-10-22) import unity_export as ux -for nm, fn, width in (("p1", gen.p1_efficient_corner, 1.2), ("p5", gen.p5_crammed, 0.8)): +for nm, fn, width in (("p1", gen.p1_efficient_corner, 1.2), ("p5", gen.p5_crammed, 0.9)): L = v.prepare(fn()) ctx = {} res, err = v.analyze(L, 0.025, ctx)