---
作業フォルダ: /Users/shimazueiichi/Robotics_UX/ServiceSim
上限時間: 600
---
# 依頼100：近くのスタッフがロボットを動かして通路を空ける決まりを入れ、⑧だけで今のままと比べる

エイイチと決めたこと（2026-11-06）：
- シミュレーションとしていちばんまずいのは、スタッフがロボットのそばにいても、ロボットを動かして通路を空けないこと。現実なら、接客中でなければ真っ先にロボットを止めて動かす
- 今の作りでは、ロボットを動かすのは30秒止まって呼んだときだけ。⑧ 5台・種7（large95）では、呼ばれたスタッフが歩いた距離の中央値は3m。人がロボットで詰まった1,147回は、ほぼ全部が体を横に向けてすり抜けていた
- 問題をはっきりさせるため、まず⑧（large_p6）だけに絞る。⑨やほかの店はこの依頼では回さない

決まりの正はサイト。p2m-site の public/sim/serving-robot-params.json の unity_rules に `staff_moves_robot` を足した（commit 143aaf2。既定は切。stopped_s 5・reach_m 7）。note の文がそのまま決まり。試算の数字・条件・店の形は変えていない。
**エイイチは見ていない。人に聞かないと進めない所に当たったら、その項目は止めて報告に書き、ほかは続ける。時刻で止めず、全部終わるまで続ける。**

## 始める前に確かめること（違えば回さずに報告して終わる）
1. 作業場所・Builds/headless が最新の check-in の cs、保留 0。Unity エディタ・night_runner／rec_runner が動いていない（依頼99 の舞台の撮影が残っていないことも見る）。KIOXIA がマウント済み、unity_ledger_v1.lock がない。台帳を archive/unity_ledger_v1_pre_100_20261106/ に退避（行数と md5 を報告に）
2. サイトの params を Unity に写し直す（依頼95 と同じやり方）。前の写しと比べ、違いが unity_rules.staff_moves_robot が1つ増えたことだけであることを確かめる

## 1. 近くのスタッフがロボットを動かす（切り替え。名前は staffMovesRobot、既定は切）
params の note のとおりに作る。決まりの要点：
- きっかけ：ロボットが走っている途中で 5秒以上止まったとき（待機場所・受け渡し口・卓で、決まって待っているときは除く）。秒数と距離は params の stopped_s・reach_m から読む（コードに書き込まない）
- 行く人：止まったロボットから、歩く道のりで 7m 以内にいるスタッフのうち一番近い1人。1台に行くのは1人だけ
- 行かない人：お客さんの対応中（案内・会計・卓での接客や呼び出しの対応）。入口番は、入口で案内・会計をしていなければ行ってよい
- 料理や皿を持って歩いている人：その場では動かさない。置いてから、まだロボットが止まっていて 7m 以内なら動かしに来る
- 自分の道をロボットにふさがれたとき：すり抜けられる幅があれば今までどおりすり抜ける。すり抜けられないときは、止まって5秒を待たずにロボットを動かしてから通る
- 動かし方：今の助けの動かし方（相手の前のセンサー 0.6m にかからない所まで、押して動かす。案a）を使う。瞬間移動はしない。動かしたら、スタッフは元の仕事・持ち場へ戻る
- お客さんはロボットに触らない
- 7m 以内に行ける人がいなければ、今までどおり 30秒で呼ぶ（stuck_rescue はそのまま）
- パネルでは、動かしに行っている間を「ロボットの助け」に入れる
- 記録：動かした1回を1行で staff_moves.csv に（店の時刻・ロボット・止まってからの秒・スタッフ・行く前にしていたこと・歩いた道のり・動かした距離・かかった秒・きっかけ〔5秒／道をふさがれた〕）。summary.json に回数・合計秒・30秒の呼び出しの回数を足す
- 人の動きの部品があれば、その中に入れる。check-in して cs と実行ファイルを作り直す（保留 0）

## 2. 確かめ（通らなければ 3 は回さない）
- 切のとき、⑧ 2台 serve 種7 を回し、large95 の同じ回と記録が1行も違わないこと（人の先よけを入にして比べる。large95 は先よけ入のため）
- 入のとき、⑧ 5台 serve 種0 を2回回して記録が1行も違わないこと
- 入のとき、瞬間移動 0

## 3. 回す（画面なし・同時4本・⑧ serve だけ・人の先よけは標準の切）
- ⑧ の条件 92・136・137・138（2・3・4・5台）× 種0〜9 を、staffMovesRobot 切（label sm100off）と入（label sm100on）で ＝ 80 回
- 先よけ切は今の標準。large95 は先よけ入なので、比べるのは sm100off と sm100on の間だけにする
- 1回の上限は 90 分。止まっても回し直さない

## 4. 表にすること（10種の中央値。切と入を並べる）
- 台数ごとに：ロボットの止まりの合計秒・うちロボット同士・5秒以上の止まりの回数と秒・60秒動けなくなった回数・30秒の呼び出しの回数・スタッフが動かした回数と合計秒・料理ができてから届くまで・料理が受け渡し口でロボットを待った秒・2分待って人が運んだ皿・人がロボットで詰まった回数と秒・往復数・スタッフの仕事の割合・入店待ち（参考）
- 止まりの多い場所の上位5つ（台数ごと、切と入で）
- スタッフが動かした場面の、行く前にしていたことの内訳と、歩いた道のりの分布

## 5. 撮る（2 が通れば、3 の結果に関わらず撮る）
- ⑧ 5台 serve 種7 を、切と入の2本。撮り方は依頼96 と同じ（rec_runner・3840×2160・0.5 秒ごと・frames.csv・timeline.csv）。1回の上限 120 分・同時2本
- 置き場所：/Volumes/KIOXIA/r2r2r-data/service_sim/unity/rec_sm100_20261107/{off|on}/
- 依頼98 と同じ形で、切と入を左右に並べ、詰まりに寄せて店の時刻の5倍で流すパネル付きの動画を作る。寄る場面は、切の方でロボットの止まりがいちばん長い5分。題「⑧ ロボット5台：今のまま と 近くのスタッフが動かす」。題がパネルで切れないことを1コマ見て確かめる
- 撮った回と撮らない回で結果が違う件（LOG452）は、この依頼では直さない。撮った回の入店待ち・止まりの合計秒を、撮らない同じ種の回と並べて報告に書くだけ

## 止める線
瞬間移動が1回でも出たとき、または同じ種の2回が違ったとき、または切のときの⑧が large95 と違ったとき。止めたら報告に書き、ほかの項目は続ける（ただし確かめが通らなければ撮らない）。

## 報告
claude_code_reports/20261107_sm100.txt に：始める前の確かめ（params・cs と build_id）、作り（どのファイルのどこ・値の読み方・切り替えの名前）、2 の確かめ、4 の表、5 の動画の名前・長さ、台帳の行数の変化と md5。
**報告の最後の1行は必ず次のどれか**：「判定：合格」／「判定：止めた（決めてほしいことあり）」／「判定：失敗」
