---
作業フォルダ: /Users/shimazueiichi/Robotics_UX/ServiceSim
上限時間: 180
---
# 依頼：回し方の決まり（案B）を切り替えで入れ、④で3回確かめる（2026-10-27）

エイイチの決定（2026-10-27）：④でロボット2台の30秒以上の止まりが一番多いのは「もう1台のロボット・受け渡し口の前」（④の夜で256回／2台・種10個）。ドリンクバーを動かしても減らなかった（p2_drinkbar_check）。受け渡し口でのロボットどうしのぶつかりを、回し方の決まりで防ぐ。

サイト（正）に決まりを書いた（p2m-site commit 7484322）。params の schema が 0.3 になり、`unity_rules` が足された。試算の数字・条件・店の形の版（39257d16b68a）は変わっていない。
- `pass_one_robot`（true）：受け渡し口の前に入れるロボットは1台だけ。前の1台が出発点（FoodPass の点）から `pass_clear_m` 離れるまで、次の1台は待機場所で待つ
- `pass_clear_m`（1.5）：上の距離（仮の値）
- `same_table_one_robot`（true）：その卓へ向かっているロボットがいる間は、その卓の料理を別のロボットに積まない。`robot_first_wait_s`（120秒）待ってもロボットが来なければ、今までどおりスタッフが運ぶ

台帳の退避は Claude が済ませた：`/Volumes/KIOXIA/r2r2r-data/service_sim/unity/archive/unity_ledger_v1_pre_p2ruleB_20261027/unity_ledger_v1.csv`（364行・md5 4ca50edbd6a04dc41c66785b4b0c74af）

## 始める前に確かめること（違えば手を止めて報告）

1. Unity エディタが起動していない（起動していたら閉じずに報告して終わる）
2. /Volumes/KIOXIA がマウントされている。鍵ファイル unity_ledger_v1.lock がない
3. 台帳の md5 が上の退避と同じ
4. ServiceSim の保留が 0（cs:30 head）
5. https://pixelstomotors.com/sim/serving-robot-params.json の meta.schema_version が serving-robot-params/0.3（まだ 0.2 なら、サイトへの反映待ちなので数分おきに取り直す。30分たっても 0.2 なら報告して終わる）

## やること

1. 公開版の params をプロジェクトに写す（手で値を写さない）。`unity_rules` 以外が cs:30 の写しと同じか確かめる
2. 2つの決まりを、params の `unity_rules` の値を読んで動く形で入れる。**切り替えにして、既定は「切」**（③⑦の基準データ v4 と④の夜 20261030_p2 は切の作り。切のときは今までと同じ動きになること）
   - 受け渡し口は1台ずつ：待機場所で待っているロボットは、受け渡し口の前に別のロボットがいる（出発点から pass_clear_m 以内）間は出ない。料理を積んで出たロボットが pass_clear_m 離れたら、次の1台が出てよい。戻ってきたロボットが受け渡し口の前を通る・下げ膳を返すときの扱いは、今の作りに合わせてよい（どう扱ったかを報告に書く）
   - 同じ卓は1台：料理を積むとき、その卓へ向かっている（その卓の料理を積んで走っている）ロボットがいれば、その料理は積まずに受け渡し口に残す。待つ時間の上限は今の robot_first_wait_s のまま（来なければスタッフが運ぶ）
   - 決まりで待った回数と秒数を数えて、各回の出力（summary.json か run_info.json）に残す。台帳の列は増やさない
   - キッチンのモニターに、決まりで待っているときの理由が出るようにする（例：「待機：受け渡し口に前のロボット」「積まない：同じ卓へ向かっている」）
3. 画面なしの実行ファイルと make_queue.py・night_runner.py で、この切り替えを選べるようにする（例：`-ssRuleB on`・`--rule-b on`）。切り替えが入のときは出力フォルダ名の末尾で分かるようにする（例：`_ruleb`）。何を回したかは run_info.json に書く
4. 何も指定しないとき、make_queue が③⑦の60回のまま（切）であることを確かめる（台帳に書かない）
5. 切のままで ④ × ロボット2台 × 種0 を1回回し、cs:30 の p2check3 の2台の回と同じ動きか（往復の数・30秒以上の止まり・入店待ち）を確かめる。ラベルは `p2ruleB_off`
6. check-in して、画面なしの実行ファイルを作り直す（保留 0）
7. 入で確かめの3回を回す：④ × ロボット0・1・2台 × 種0、すれ違い入。ラベルは `p2ruleB`。記録の置き場所は分ける（`--record-name 20261027_p2ruleB`）
   - 台帳には5と7で合わせて4行が足される（追記だけ）。終わったら行数と、先頭364行の md5 が退避と同じかを確かめる
8. 作業フォルダに queue の一時ファイルを残さない

## 変えないもの

- 店の形・人の動き・速さ・物理の設定・同時に回す本数（N=4）・すれ違いの作り
- 台帳の列（59列）と今までの行。③⑦の基準データ v4、④の夜 20261030_p2 の記録
- 本番の夜は回さない

## 報告

依頼箱の結果に加えて、claude_code_reports に 20261027_HHMM_p2_ruleB_check.txt として書く（場所：~/Library/Mobile Documents/com~apple~CloudDocs/デスクトップ/ADAPT DESIGN/じぶんの/PixelstoMotors/デジタルツイン学習R2R2R/サービスロボット導入シミュレーション/unity/claude_code_reports/）。

- 始める前の確かめ5つの結果
- 入れた cs 番号・build_id と保留の有無・変えたファイル
- 2つの決まりをどう入れたか（戻ってきたロボットの扱いなど、決めたところ）
- 切のままの1回が前（p2check3 の2台）と同じ動きだったか
- 入の3回それぞれ、前回（p2check3）と同じ表で、入・切（p2check3）・試算を並べる
- 2台の回の30秒以上の止まりを、理由ごと・場所ごと（前回と同じ分け方）に、入と切（p2check3）で並べる
- 決まりで待った回数と秒数（受け渡し口・同じ卓）
- 台帳の行数と先頭364行の md5
- エイイチが画面で見る手順（どのメニューで、入の2台を流せるか）
- 決めてほしいこと（なければ「なし」）
