# サービスロボット導入シミュレーション Log#37 | 配膳ロボットの止まり合いを減らす3つの決まり

- 記録: LOG465（サービスロボット導入シミュレーション）
- 公開: 2026/11/8
- 記事のページ: https://pixelstomotors.com/record/serving-robot-jam-three-rules
- サイト: Pixels to Motors（ADAPT DESIGN / 島津 栄一） https://pixelstomotors.com/
- 要約: Unity で再現した大型ファミレスで、人が配膳ロボットの待機点の列を通らず、ロボットがまっすぐ入る決まりにすると、5台の待機場所の止まり合いは809秒に、ロボットを助けに呼ばれる回数は180回から22回に減った。

> AI が読むための記事の全文です（コード・実行ログを含む）。引用するときは上の「記事のページ」の住所を使ってください。

---

70卓・312席の大型ファミレスを Unity の3Dで再現したシミュレーションでは、**スタッフとお客さんが配膳ロボットの待機点の列を通り道にせず、ロボットが待機点へまっすぐ入る決まりにすると、ロボット5台の待機場所のそばの止まり合いは1回の営業あたり809秒になり、スタッフがロボットを助けに呼ばれる回数は180回から22回に減りました。** どちらも、同じお客さんの来かたで10回回した中央値です。実物の店で測った数字ではなく、シミュレーションの中の結果です。

この回で、次のことが良くなり、できるようになりました。

- スタッフがロボットに手を取られる時間が減った。ロボット5台の店で、30秒動けないロボットを助けに行く呼び出しは1回の営業あたり180回から22回へ、スタッフが手すきでいる時間の割合は20.3%から38.6%へ変わった。呼び出しのほとんどは、待機点で止まっている台が人の通り道をふさいでいるというものだった
- 近くのスタッフがロボットをすぐ押す、待機点へまっすぐ入る、人は待機点の列を通らない、の3つをサイトの決まりの標準にした。Unity は何も指定しなくてもこの形で動くことを、前の結果と全く同じ数が出ることで確かめた。ほかの店も、次からこの形で回せる
- 大型店⑧を、ロボットの種類ごとに決めている、ベースとして合格の線5つで点検した。配膳は5つのうち4つ、下げ膳は4つを満たし、下げ膳の残り1つは動画を撮れば満たせる。残った問題は、ロボットではなくスタッフ1人が片付けの途中で約1時間40分止まったままになる回があることで、次に調べる所がはっきりした

困っていたのは、前の回（LOG456）の終わりの結果でした。待機点（ロボットが仕事のない間に待つ場所）の真下からまっすぐ入る決まりで、ロボットどうしの止まり合いは減ったのに、入店待ちは12.2分から14.9分に延びていました。調べると、Unity のスタッフとお客さんが待機点の列の中を通り道にしていて、止まっている台が人の道をふさいでいるとして、30秒の呼び出しが5台で1回の営業あたり180回も鳴っていました。現実の店なら、並んで待つロボットの列は人がよけて通ります。

| やったこと | なぜ | 結果 |
|---|---|---|
| 人が待機点の区画を通り道にしない形を入れた（依頼119） | 現実の店では、待機中のロボットの列を人がよけて通るため | 30秒の呼び出しは5台で180回→22回。待機場所のそばの止まり合いは1,255秒→809秒 |
| 2台が互いに相手を待って動かなくなる待ち合いを解いた（依頼119） | まっすぐ入る形で、4時間も動かない回があったため | 解けなかった3回が、どれも数秒〜十数秒で解けた |
| 3つの決まりをサイトの標準にした | 比べた結果、3つとも入れたほうが店が回ったため | 店の形と試算の数字は変わらない |
| ⑧の配膳と下げ膳を標準の形で回し、合格の線5つで点検した（依頼120） | 配膳ロボットのベースとして、⑧を区切るため | 配膳4/5・下げ膳4/5。下げ膳の動画と、スタッフの止まりが残った |

この回でも、Unity の中のずれを全部直すことは目的にしていません。何を変えたら何が変わったかを数で並べ、店で問題が起きたときに原因を切り分ける材料にしています。

配膳ロボットを自分の店に入れたらどうなるかは、このシリーズの試算をもとにした別のページで試せます。

[配膳ロボットの導入前シミュレーション](https://pixelstomotors.com/serving-robot-one-less-staff)


## 作業ログ ― 前の回で下書きのまま残した依頼を、依頼119として出した

前の回（LOG456）は、どこまでやったら終わりかを先に決めずに直し続けていた反省から、人が待機点を通らない形を入れる依頼を下書きのまま残して区切りました。この回は、その下書きを出すところから始めています。

下書きは依頼118 の番号で作っていましたが、そのあいだにロボットアーム（mechArm）側の依頼が118 を使っていました。依頼箱は、Unity の依頼とアームの依頼で番号が被らないようにする決まりなので、こちらを119 に付け替え、回の名前（sb119）・報告のファイル名・録画のフォルダもそろえました。中身は下書きと同じです。サイトの決まり（params）には、前の回の commit 453df0f で people_avoid_standby（人は待機点の区画を通らない）を既定は切で足してあります。

### この回で使う言葉：待機点・入る点・人の通り道・種・30秒の呼び出し・合格の線

| 言葉 | 意味 |
|---|---|
| 待機点 | 配膳ロボットが、運ぶ料理がない間に止まって待つ場所。⑧ではパントリー（料理を出す棚）の前の壁ぞいに、6つが0.8m 間隔で1列に並んでいる |
| 入る点・まっすぐ入る | 待機点の真正面に1.0m 下がった点。まっすぐ入る決まりでは、戻るロボットはこの点まで来てから待機点へまっすぐ入る。斜めに寄ると、隣で待つ台が前のセンサー（ロボットの中心から0.85m 先まで）に入って止まり合うため |
| 人の通り道 | Unity で人やロボットが歩ける床の面（[NavMesh](https://docs.unity3d.com/Manual/nav-NavigationSystem.html) という仕組み）。床に区画を作って、そこを通るときの重み（この記事では通り賃と書く）を変えると、道を引くときにその区画を避けるようになる |
| 種 | お客さんがいつ何人で来るかなど、偶然で決まる部分を作るための番号。種が同じなら同じお客さんが同じ時刻に来るので、決まりを変えたときの違いだけを比べられる。1つの条件を種0〜9の10回で回し、真ん中の値（中央値）で見る |
| 30秒の呼び出し | ロボットが30秒動けないと、スタッフが呼ばれて助けに行く決まり。60秒動けないと、動けなくなった回として数える |
| 待ち合い | 2台が互いに相手の入る点の手前で、相手が動くのを待って止まること。どちらも相手を待つので、だれかが動かさないと解けない |
| 型D | 依頼104 で待機場所のそばの止まり合いを型に分けたうちの1つ。止まっては少し動くをくり返し、抜けられない行ったり来たり |
| ベースとして合格の線5つ | ロボットの種類ごとに、サイトのベースとして区切ってよいかを見る線。瞬間移動が0、同じ条件・同じ種で同じ結果、止まったまま解けない所が残らない、試算と向きが合う、サイト用の図面と動画がそろう、の5つ |
| 依頼箱 | Unity の作業を [Claude Code](https://claude.com/claude-code) に頼む仕組み。依頼文を iCloud のフォルダに置くと、Mac で Claude Code が順に作業し、結果を書き戻す |

[Unity](https://unity.com/) は、ゲームや3Dの場面を作る道具です。このシリーズでは、店の形と条件をサイトの試算から写し、Unity の中に店を建てて、お客さん・スタッフ・ロボットを動かしています。店の形・条件・回し方の決まりの正はサイトで、Unity はそれを読みます。


## 作業ログ ― 依頼119：人が待機点の区画を通らない形にして、まっすぐ入るを比べ直した

依頼119 では、前の回で決めた4つを Unity に入れ、⑧の配膳でロボット2〜5台を、斜めに寄る形とまっすぐ入る形で40回ずつ回しました。

- 人（スタッフ・お客さん）は、待機点の区画を通り道にしない。待機点そのものに用がある人（ロボットを動かしに行く・30秒の呼び出しで行く）は入ってよい
- 2台が待ち合ったら、受け渡し口に近い待機点へ入る台が先に入る
- 入る点の手前で順番を待っている台は、スタッフが動かさない
- 30秒の呼び出しのあとも、台がその場から動いていなければ止まりの秒を続けて数える

Claude Code は、区画を通れなくするのではなく、人の道を引くときだけ区画の通り賃を1,000倍にしました。区画の外に回り道があれば必ずそちらを通り、行き先が区画の中の人だけがその分だけ入ります。最初は待機点の区画そのままで付けたところ、人の道が区画の縁の線の上を通り、体の半分が区画に入ってしまったので、人の半径0.2mだけ広げて付け直しています。店の中の人の行き先415点のすべての組（168,526組）で、行けなくなった組が0であることも確かめています。

![⑧のパントリーの前を上から見た図。受け渡し口の前（星）から右へ、待機点1〜6の区画が0.8m 間隔で並ぶ。右には卓 T55〜T62 の島がある](https://pixelstomotors.com/media/LOG465_04_standby_area_map.png)

### 依頼119 の依頼文

```
---
作業フォルダ: /Users/shimazueiichi/Robotics_UX/ServiceSim
上限時間: 480
---
# 依頼119：人は待機点の区画を通らない・待ち合いを解く・数え方をそろえる、を入れて、⑧で「まっすぐ入る」を比べ直す

依頼114 の報告（claude_code_reports/20261107_sb114.txt）を読んで、エイイチと決めたこと（2026-11-07）：
1. 人（スタッフ・お客さん）は、ロボットの待機点の区画を通り道にしない。待機中のロボットの列は人がよけて通るのが現実の店の形のため。params の unity_rules.people_avoid_standby（既定は切）。待機点そのものに用がある人（ロボットを動かす・物を取る）は入ってよい
2. まっすぐ入るの待ち合い（2台が互いの入る点の手前で相手を待ち、だれも来ず動かない）は、受け渡し口に近い待機点へ入る台が先に入り、もう1台はそのまま待つ（決めてほしいこと1）。params の standby_straight_entry の note に書き足した
3. 入る点の手前で順番を待っている台は、近くのスタッフも30秒の呼び出しで来た人も動かさない（決めてほしいこと2）。同じ note に書き足した
4. 30秒の呼び出しのあとの助けで「その場で引き直した」になったときも、台がその場から動いていなければ止まりの秒を続けて数える（決めてほしいこと3。依頼114 で近くのスタッフの分を直したのと同じ扱い）。作りの直し
5. standby_straight_entry を標準にするかは、この依頼の結果を見て決める

サイトは公開済み（p2m-site commit 453df0f）。店の形と試算の数字は変わっていない。
範囲は⑧（large_p6）の配膳だけ。ほかの店・⑨・下げ膳は回さない。staff_moves_robot は入（すぐ押す）、人の先よけ・standby_queue・repeat_stop は切。
**エイイチは見ていない。人に聞かないと進めない所に当たったら、その項目は止めて報告に書き、ほかは続ける。**

## 始める前に確かめること（違えば回さずに報告して終わる）
1. 作業場所・Builds/headless が cs:99、保留 0。Unity・night_runner／rec_runner が動いていない（前の依頼はアーム側）。KIOXIA がマウント済み、unity_ledger_v1.lock がない。台帳と除く一覧を archive/unity_ledger_v1_pre_119_20261107/ に退避（行数と md5 を報告に）
2. サイトの params を写し直し、前の写しとの違いが unity_rules.people_avoid_standby が1つ増えたことと、standby_straight_entry.note の文だけであることを確かめる

## 1. 作る・直す
1. **peopleAvoidStandby**（切り替え。既定は切）：人の通り道（人用 NavMesh か人の道の決め方）で、待機点の区画（RobotStandby の各区画）を通らない所にする。待機点に用がある人（近くのスタッフがロボットを動かしに行く・30秒の呼び出しで行く など）は入ってよい。区画を外したことで、人が行けなくなる所（卓・持ち場・トイレ・レジなど）が出ないことを確かめ、出たら止めて報告する
2. 待ち合いを解く（standbyStraightEntry 入のときだけ効く作りの直し）：2台が互いの入る点の手前で相手を待っているときは、受け渡し口に近い待機点へ入る台が先に入る
3. 入る点の手前で順番を待っている台は、近くのスタッフ・30秒の呼び出しで来た人のどちらも動かす相手に選ばない（standbyStraightEntry 入のときだけ効く）
4. 30秒の呼び出しのあとの「その場で引き直した」でも、台が 0.3m 以内から動いていなければ止まりの秒を続けて数える（切り替えにしない作りの直し）
5. check-in して cs と実行ファイルを作り直す（保留 0）

## 2. 確かめ（通らなければ 3 は回さない）
- ⑧5台 serve 種0 を、peopleAvoidStandby 入・standbyStraightEntry 入で2回回して一致すること
- 瞬間移動 0
- 依頼114 の待機点の確かめ（ほかの4台が待機点にいるまま1台ずつ戻る）を、standbyStraightEntry の切と入で。切の待機点3 が 60 秒（動けなくなった）まで数えられるようになったことを確かめる
- 依頼114 で待ち合いが出た3つの回（2台・種9、4台・種1、4台・種3。どれも standbyStraightEntry 入）を、peopleAvoidStandby 入で回し直し、待ち合いが解けることを確かめる

## 3. 回す（画面なし・同時4本・⑧ serve・すぐ押す 入・peopleAvoidStandby 入）
1. ⑧2〜5台（条件 92・136・137・138）× 種0〜9：どかされた台が戻る ＋ standbyStraightEntry 切 ＝ 40回（label sb119ret）
2. ⑧2〜5台 × 種0〜9：どかされた台が戻る ＋ standbyStraightEntry 入 ＝ 40回（label sb119se）
- 1回の上限は 90 分。止まっても回し直さない

## 4. 表と図（10種の中央値）
- 2〜5台それぞれで、sb119ret と sb119se の2列（参考に依頼114 の sb114ret・sb114se も横に置く）：待機場所のそばの30秒以上の詰まり（依頼104 の型分け）の件数と秒（抜けられなかった行ったり来たり・待ち合いは別に書く）・ロボットの止まりの合計秒・うちロボット同士・60秒動けなくなった回数・30秒の呼び出しの回数（そのうち「止まっている台が人の道をふさいでいた」）・スタッフが動かした回数・料理ができてから届くまで・2分待って人が運んだ皿・往復数・全員が帰った回・入る点の手前で待った秒と回数・片付けを待つ卓（平均）・スタッフの手すきの割合・入店待ち（参考）
- 入店待ちが sb119ret より sb119se の方が長いときは、依頼114 と同じ調べ方（why114.py）で理由を書く
- 図：依頼114 の fig_where_by_type_sb114.png と同じ描き方で、⑧5台の sb119ret と sb119se を横に並べる。図の上に「待機場所のそばの詰まりの合計」「ロボットの止まりの合計」「30秒の呼び出し」「入店待ち」を大きく書く

## 5. 撮る（2 が通れば撮る）
- ⑧5台 serve 種7 を、sb119se と同じ作りで1本。撮り方は依頼114 と同じ。置き場所：/Volumes/KIOXIA/r2r2r-data/service_sim/unity/rec_sb119_20261107/se/
- 依頼112 で撮った now（今のまま）と左右に並べ、待機場所のそばに寄せて店の時刻の5倍で流すパネル付きの動画を作る。寄る5分は依頼112 と同じ5分。題「⑧ ロボット5台：今のまま と まっすぐ入る（人は待機点を通らない）」
- 撮った回の名前が、撮らない回や前の撮影と同じにならないようにする

## 止める線
瞬間移動が1回でも出たとき、または同じ種の2回が違ったとき。止めたら報告に書き、ほかの項目は続ける。

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

### 依頼119 の結果

```
# 結果：20261107_119_人が待機点を通らず待ち合いを直して⑧でまっすぐ入るを比べ直す

- 状態：完了
- 始めた時刻：2026-11-07 22:11
- 終わった時刻：2026-11-08 00:08（118分）
- 作業フォルダ：/Users/shimazueiichi/Robotics_UX/ServiceSim
- この続きを Claude Code で話すとき：作業フォルダで `claude --resume d45eaa08-acd3-41b3-88e2-4c6068ee0c78`

## Claude Code の報告

**やったこと**
- 始める前の確かめはすべて合っていました。
  - 作業場所は cs:99、保留は 0。Unity と実行係は動いていませんでした。
  - 台帳と除く一覧を archive/unity_ledger_v1_pre_119_20261107/ に退避しました。
  - サイトの params（453df0f）を写し直しました。前の写しとの違いは、people_avoid_standby が増えたことと note の文だけでした。
- 作り・直しを cs:100・cs:101 で check-in し、実行ファイルを作り直しました（保留 0）。
  - 人は待機点の区画を通らない（切り替え peopleAvoidStandby、引数 -ssPeopleAvoidStandby、フォルダ名の末尾 _pav）
    - 区画を通れなくするのではなく、人の道を引くときだけ区画の通り賃を 1,000 倍にしました。用がある人はその分だけ入れます。
    - 区画は人の半径 0.2 m だけ広げて付けました（体が区画にかからないように）。
    - 焼く前後で確かめました。人の2点の組 168,526 と、ロボットの組 2,485 のどちらも、行けなくなった組は 0、区画の中を通る組も 0 でした。
  - 待ち合いを解く：受け渡し口に近い待機点へ入る台が先に入ります。
  - 入る点の手前で待っている台は、近くのスタッフも 30 秒の呼び出しで来た人も動かしません。
  - 30 秒の呼び出しのあと「その場で引き直した」でも、台が 0.3 m 以内から動いていなければ止まりの秒を続けて数えます。
- 2 の確かめのあと、本番 80 回（sb119ret 40・sb119se 40）、表と図、撮影1本、並べた動画を作りました。

**結果**
- 2 の確かめはすべて通りました。止める線には当たっていません。
  - ⑧5台・種0 の2回は 21 ファイルとも一致しました。
  - 瞬間移動は、確かめ・本番 80 回・撮影 1 回のどれも 0 でした。
  - 依頼114 で待ち合いが出た3回は解けました。入る点の手前の待ちの最長は、次のように短くなりました。
    - 2台・種9：14,681 秒 → 3.5 秒
    - 4台・種1：1,447 秒 → 1.6 秒
    - 4台・種3：183 秒 → 13.3 秒
  - 待機点の確かめ（依頼114 と同じ条件）：
    - まっすぐ入る 入：待機点1〜5 とも入れました。
    - まっすぐ入る 切の待機点3：60 秒の「動けなくなった」が 11 回出るようになりました（依頼114 では 0 回）。それでも台は入れず、900 秒の時間切れは残りました。
- ⑧5台（10 種の中央値）、sb119ret → sb119se：

  | 項目 | sb119ret | sb119se |
  |---|---|---|
  | 待機場所のそばの 30 秒以上の詰まり | 36.5 件・2,115 秒 | 14.5 件・809 秒 |
  | ロボットの止まりの合計 | 8,544 秒 | 5,709 秒 |
  | 60 秒動けなくなった | 19.0 回 | 12.0 回 |
  | 30 秒の呼び出し | 31.0 回 | 22.0 回 |
  | 入店待ち | 10.85 分 | 13.24 分 |

  - 30 秒の呼び出しは、依頼114（115.5 回・180.0 回）から大きく減りました。そのうち「止まっている台が人の道をふさいでいた」は 85.0 → 4.0 回、164.5 → 3.0 回です。
  - 入店待ちの差は、種ごとに見ると 8 種が ±0.6 分以内でした。中央値の差は種7 の1回（片付けを待つ卓 0.26 → 2.04）によるものです。
- sb119ret では、隣の台の横で行ったり来たりして回の終わりまで抜けられない回が3回出ました。そのうち 2台・種7 と 5台・種5 は全員が帰れませんでした。sb119se ではどの回も全員が帰りました。
- 前からの作りで分かったこと（直していません）：人用の面の種類の番号が負になり 0 に丸められるため、人は半径 0.25 m のロボット用の面を歩いていました。そのため区画はロボット用の面にも付けました。
- 動画は slow_now_se_panel.mp4（61.5 秒・3840×1280）です。撮影の回の名前は 20261107_rec119_cs101_…_se_pav です。
- 台帳は 3,657 → 3,745 行で、足したのは 88 行、すべて completed です。
  - 先頭 3,657 行の md5 は始める前と同じ（51f613d2…）。終わったあとの md5 は 171ae2d69c25d3a39c961b9506327d88 です。
  - 除く一覧は変えていません（27 行・md5 dcaed1a6…）。

**変えたファイル**
- Unity（cs:100・cs:101）
  - Robot/ServingRobotController.cs
  - Service/ServiceOps.cs
  - Experiment/ExperimentRunner.cs、HeadlessRun.cs、TripLogger.cs、serving-robot-params.json
  - People/PeopleNav.cs、PeopleDetour.cs
  - Store/NavMeshBaker.cs、StoreBuilder.cs
  - tools/night_runner.py
- Builds/headless（cs:101 に作り直し）と Builds/rec28_sb119（撮影用の写し）
- KIOXIA：night/20261107_sb119/（台本・集計・図）、rec_sb119_20261107/、archive の退避、台帳への 88 行の追記
- 報告：claude_code_reports/20261107_sb119.txt と 20261107_sb119_files/（図・表）、site_copy_large-99db3254b08b_sb119/

**決めてほしいこと**
1. まっすぐ入る（standby_straight_entry）を標準にするか。人が待機点を通らない形では、詰まり・止まり・呼び出しのどれも、まっすぐ入る方が少なくなりました。
2. まっすぐ入る 切で出た「行ったり来たりして抜けられない」3回を直すか。止まりが続かないため、近くのスタッフも 30 秒の呼び出しも来ません。直し方の例は、くり返し止まる（repeat_stop）を入にすることです。
3. 人がロボット用の面（半径 0.25 m）を歩いている前からの作りを直すか。直すと、今までのどの回とも人の道が変わります。
4. cs:100 の chk119a・chk119b の2行を除く一覧に入れるか。区画が人の道に効いていなかった作りの回です。
5. 人が待機点を通らない作り方として、次の2つで決めました。これでよいか。
   - 区画を通れなくせず、通り賃を 1,000 倍にした
   - 区画を人の半径 0.2 m だけ広げて付けた

判定：合格
```

### 依頼119 の Claude Code の報告（20261107_sb119.txt）

```
====================================================================
依頼119：人は待機点の区画を通らない・待ち合いを解く・数え方をそろえる、を入れて、⑧で「まっすぐ入る」を比べ直す
2026-11-07 22:10〜2026-11-08 00:10　作業場所 cs:99 → cs:100 → cs:101（本番・撮影は cs:101）
====================================================================

結論
  ・0〜5 をすべてやった。止める線（瞬間移動・同じ種の2回の違い）には当たっていない
  ・2 の確かめはすべて通った
      種0 の2回は 21 ファイルとも一致・瞬間移動 0
      依頼114 で待ち合いが出た3回は、待ち合いが解けた（入る点の手前の待ちの最長：14,681 秒 → 3.5 秒・1,447 → 1.6 秒・183 → 13.3 秒）
      切の待機点3 は、30 秒の呼び出しのあとも止まりの秒が続き、60 秒の「動けなくなった」が 11 回出た（依頼114 では 0 回）
  ・⑧5台（10 種の中央値）：
      人が待機点を通らないようにしたら、30 秒の呼び出しは ret 115.5 → 31.0 回・se 180.0 → 22.0 回に減った
      （そのうち「止まっている台が人の道をふさいでいた」は 85.0 → 4.0 回・164.5 → 3.0 回）
      sb119ret → sb119se の比べ：
        待機場所のそばの詰まり 36.5 件・2,115 秒 → 14.5 件・809 秒
        止まりの合計 8,544 → 5,709 秒
        60 秒動けなくなった 19.0 → 12.0 回
        30 秒の呼び出し 31.0 → 22.0 回
        入店待ち 10.85 → 13.24 分（中央値の差の多くは種7 の1回による。下の 4 の★）
  ・★ sb119ret（まっすぐ入る 切）では、待機点1 から出る台が隣の台の横で行ったり来たりして回の終わりまで抜けられない回が3回出た
    （2台・種7、5台・種5、3台・種4）。2台・種7 と 5台・種5 は全員が帰れなかった（決めてほしいこと 2）。sb119se では 0 回
  ・人用の面が使われておらず、人もロボット用の面を歩いていることが分かった（前からの作り。今回は直していない。決めてほしいこと 3）


--------------------------------------------------------------------
0. 始める前の確かめ（22:10〜22:13）
--------------------------------------------------------------------
  1. 作業場所 cs:99 - head・保留 0。Builds/headless は cs99_20261107_1755・pending_changes 空
     Unity エディタ・night_runner・rec_runner は動いていなかった（Unity Hub と、この依頼の claude だけ）。KIOXIA マウント済み／unity_ledger_v1.lock なし
     退避：archive/unity_ledger_v1_pre_119_20261107/
       unity_ledger_v1.csv　3,657 行・md5 51f613d2e476d59588247c07ac87a19a（依頼114 の終わりと同じ）
       unity_ledger_v1_excluded_runs.csv　27 行・md5 dcaed1a6000e1426600e4d7a03058ab0（依頼114 の終わりと同じ）
  2. サイトの params：p2m-site 453df0f の public/sim/serving-robot-params.json を gh api で取った
     （いまの main は 618fb1f だが、453df0f から後に変わったのは記事のファイルだけで、params の中身は同じ md5）
       置き場所 unity/site_copy_large-99db3254b08b_sb119/params.json（md5 563eaa8a982ad483b6d52cd61ff4fa2b）
       前の写し（site_copy_large-99db3254b08b_sb114/params.json）と JSON を中まで比べたら、違いは次の2つだけ → 依頼どおり
         ・unity_rules.people_avoid_standby が増えた（value false）
         ・unity_rules.standby_straight_entry.note の文の終わりに「依頼114 の結果を見てエイイチが了承…」が足された
       Unity の Experiment/serving-robot-params.json をこれに写した（cs:100）


--------------------------------------------------------------------
1. 作る・直す
--------------------------------------------------------------------
1-1. 人は待機点の区画を通らない（切り替え peopleAvoidStandby。既定は切）
  ・実行ファイルの引数は -ssPeopleAvoidStandby on|off
  ・queue の項目は people_avoid_standby。指定しないときは params の unity_rules.people_avoid_standby
  ・入の回だけ、出力フォルダ名の末尾に _pav が付く（_se の後ろ）
  作り方
    ・People/PeopleNav.cs 51〜105 行め（StandbyArea・SetAvoidStandby・ApplyCosts）
        待機点の区画を NavMesh の区画（番号 4）にし、人の道を引くときだけ、その区画の通り賃を 1,000 倍にした
        （Filter・Go の道の引き直し（182・194 行め）・人の NavMeshAgent）
        区画の外に回り道があれば、必ずそちらを通る
        行き先や今いる所が区画の中の人（ロボットを動かしに行く・30 秒の呼び出しで行く など）は、そこへ入る分だけ通る
        区画を通れなくする作りではないので、行けなくなる所は出ない
    ・Store/NavMeshBaker.cs 263 行め AddStandbyAvoidArea
        区画の形は足さず、箱の中の区画の番号だけを変える（レジの内側と同じ作り）
        区画は、待機点の区画（RobotStandby の rect）を人の半径（0.2 m）だけ広げたもの
        はじめは広げずに付けたが、人の道が区画の縁の線の上を通り、体の半分が区画に入ってしまったため
          → 広げたら、区画の中を通る道は 0 になった
    ・People/PeopleDetour.cs 54・165 行め
        助けに行くスタッフの回り込みのマスでも、区画の中のマスに同じ通り賃を足した
    ・Experiment/ExperimentRunner.cs
        506〜535 行め：入の回だけ、区画なしで1度焼いて道を数え、区画を入れて焼き直して比べる
        978 行め ReadPeopleAvoidStandby
        1075 行め PeopleAvoidCheck → people_avoid_check.csv（入の回だけ）
        人の行き先の点 415 点（入口・受け渡し口・持ち場・スタッフが待つ点・レジ・トイレ・待合・ドリンクバー・卓の前・席）を確かめた
          ・人の2点の組 168,526（スタッフと客）・ロボットの組 2,485（受け渡し口と卓の前）
          ・区画を入れて行けなくなった組：人 0・ロボット 0（区画の前に引けた 142,928 組は区画のあとも全部引ける）
          ・出発も行き先も区画の外なのに区画の中を通る組：0
          ・1つでも行けなくなる所があれば回さない作りにした
        卓・持ち場・トイレ・レジで行けなくなった所はなかったので、止めずに続けた
    ・ほかに足したもの
        Experiment/HeadlessRun.cs（引数・フォルダ名）
        Experiment/TripLogger.cs 1375 行め（conditions に people_avoid_standby。入の回だけ）
        Store/StoreBuilder.cs 138 行め RobotStandbyRects
        tools/night_runner.py（queue の項目・フォルダ名・引数）
    ・切の回は区画を作らず、通り賃も入れない（今までと同じ面・同じ道）
  ★ 作っているときに分かったこと（直していない）
    人用の面（半径 0.2 m）は焼いているが、その面の種類の番号が負になっていた。PeopleNav が負の番号を 0 に丸めるため、
    人はロボット用の面（種類 0・半径 0.25 m）を歩いていた。そこで区画はロボット用の面にも付けた
    （ロボットの道ではこの区画の通り賃を変えていないので、ロボットはよけない。ロボットの行けなくなった組は 0）
    あわせて NavMeshBaker が焼き直すたびに人の面の種類を作り直していたので、1回の回で1度だけ作るようにした
    （1回の回で1度しか焼かない切の回は、今までと同じ番号）
1-2. 待ち合いを解く（まっすぐ入る 入のときだけ効く作りの直し）
    Robot/ServingRobotController.cs 3954 行め・3974 行め SeGoesFirst
      入る点の手前で待つかを決めるとき、入る点をふさいでいる台も入る点の手前で自分を待っていたら（待ち合い）、
      受け渡し口に近い待機点へ入る台は待たずに進み、もう1台はそのまま待つ
      近さは待機点と受け渡し口のまっすぐの距離で比べ、同じなら台の番号の小さい方を先にする
      今ある「相手が前のセンサーで自分を見て止まっているときは待たない」はそのまま
1-3. 入る点の手前で順番を待っている台は動かさない（まっすぐ入る 入のときだけ効く）
    ServingRobotController.cs 3988 行め WaitingForStandbyEntry
    Service/ServiceOps.cs で、次のどれにも、この台を選ばないようにした
      ・30 秒の呼び出しで動かす台を決めるとき（1947 行め）
      ・助けの人を交代するときに、動かす台を相手に替えるとき（2257 行め）
      ・近くのスタッフが止まった台へ行くとき（2540 行め）
      ・道をふさがれたスタッフが動かすとき（2625 行め）
1-4. 30 秒の呼び出しのあと「その場で引き直した」も、止まりの秒を続けて数える（切り替えにしない作りの直し）
    ServiceOps.cs 2343 行め・2367 行め、ServingRobotController.cs 2420・2423・2710〜2723 行め
      30 秒の呼び出しの助けが「その場で引き直した」で終わったとき、台が止まり始めた所から 0.3 m 以内にいれば、止まりの秒を 0 に戻さない
      依頼114 で近くのスタッフの分を直したのと同じ扱い。相手の台を引き直して呼んだ台を走らせ直すときも同じ
      60 秒で動けなくなったあとの助け・押して動かした助けは、今までどおり 0 に戻す
1-5. check-in と実行ファイル（cm ci でファイルを1つずつ指定。保留 0）
    cs:100　ServingRobotController.cs・ServiceOps.cs・ExperimentRunner.cs・HeadlessRun.cs・TripLogger.cs・PeopleNav.cs・PeopleDetour.cs・
            NavMeshBaker.cs・StoreBuilder.cs・serving-robot-params.json・tools/night_runner.py
    cs:101　ExperimentRunner.cs・NavMeshBaker.cs
            区画を人の半径だけ広げ、ロボット用の面にも付ける。焼く前後の確かめ。人の面の種類は1度だけ作る
    いまの Builds/headless：build_id cs101_20261107_2235・unity_cs ServiceSim/cs:101・pending_changes 空・Build Finished, Result: Success
    撮影用に同じ実行ファイルを Builds/rec28_sb119 に写した（md5 004ab1092061bdf687bb9a56a524a1ff）
    cs:100 のあいだに、原因を調べるための一時の作り（ログを足しただけ）で実行ファイルを3度作り、確かめの形（台帳に書かない）で立ち上げた。
    その一時の作りは check-in していない（cs:101 で消した）


--------------------------------------------------------------------
2. 確かめ（cs:101）
--------------------------------------------------------------------
  (1) ⑧5台 serve 種0・人は待機点を通らない 入・まっすぐ入る 入を2回（chk119a・chk119b）→ 21 ファイルとも一致（people_avoid_check.csv・entry_waits.csv を含む）
      全員が帰った・止まり 4,758 秒・30 秒の呼び出し 14 回・入る点の手前の待ち 58 回・355.9 秒（最長 53.4 秒）
      短い待ち合い（すぐ解けた）が 5 件・重なった秒は合わせて 22.9 秒
  (2) 瞬間移動 0・1コマの跳び 0（確かめ 5 回・本番 80 回・撮影 1 回のどれも）
  (3) 待機点に戻れるか（依頼114 と同じ確かめ方。台 k だけ T27 へ1往復・ほかの4台は待機点にいるまま・900 秒まで）
          台	入・人は通らない	切・人は通らない	切・人は通る（依頼114 と同じ条件）
          1	入れた 67.2 秒	入れた 68.4 秒	入れた 69.2 秒
          2	入れた 78.7 秒	時間切れ 900 秒（60 秒 14 回）	入れた 87.3 秒
          3	入れた 80.3 秒	入れた 88.5 秒	時間切れ 900 秒（60 秒 11 回）
          4	入れた 81.9 秒	時間切れ 900 秒（60 秒 13 回）	入れた 103.0 秒
          5	入れた 87.4 秒	入れた 97.2 秒	入れた 95.3 秒
      入（まっすぐ入る）は1〜5 とも入れた
      切の待機点3（人は通る。依頼114 と同じ条件）
        依頼114 では 30 秒の呼び出しのたびに止まりの秒が 0 に戻り、60 秒にならなかった
        直したあとは、30 秒の呼び出し（止まり 30.0 秒）→「その場で引き直した」のあとも秒が続き、60.0 秒で「動けなくなった」になった
        （30 秒の呼び出し 23 回がすべて「その場で引き直した」・60 秒 11 回）。台はそれでも入れず、900 秒の時間切れは残った
      切で人が待機点を通らない形では、人の動きが変わったので、時間切れになる待機点が 3 から 2・4 に変わった
  (4) 依頼114 で待ち合いが出た3回（まっすぐ入る 入）を、人は待機点を通らない 入で回し直した（chk119dl）
          回	依頼114（sb114se）	今回
          2台・種9	入る点の手前の待ち 2 回・29,362 秒（最長 14,681 秒）	8 回・10.8 秒（最長 3.5 秒）・待ち合い 0
          4台・種1	38 回・4,434 秒（最長 1,447 秒）	8 回・4.8 秒（最長 1.6 秒）・待ち合い 0
          4台・種3	55 回・746 秒（最長 183 秒）	25 回・58.0 秒（最長 13.3 秒）・待ち合い 0
      3回とも全員が帰った → 待ち合いは解けた
      本番の sb119se でも、回の終わりまで続く待ち合いは 0。互いに待つ時間が重なった組は 5台 10 回で 14 件あるが、合わせて 23 秒ですぐ解けている


--------------------------------------------------------------------
3. 回す（22:44〜00:06・画面なし・同時4本・上限 90 分・やり直しなし）
--------------------------------------------------------------------
  sb119ret（まっすぐ入る 切）⑧2〜5台 × 種0〜9 ＝ 40 回、sb119se（入）⑧2〜5台 × 種0〜9 ＝ 40 回 ＝ 80 回すべて completed
  1回の実時間の最長は 7.8 分
  条件：⑧5台 large_p6_s6_r5_a70（138）・4台 r4（137）・3台 r3（136）・2台 r2（92）
  どちらも、すぐ押す 入・人は待機点を通らない 入・人の先よけ／standby_queue／repeat_stop 切
  全員が帰らなかった回：sb119ret の 2台・種7 と 5台・種5（下の★）。sb119se はどの回も全員が帰った


--------------------------------------------------------------------
4. 表と図（10 種の中央値。回数・秒は1回あたり。参考の sb114ret・sb114se は人が待機点を通る）
--------------------------------------------------------------------
  5台	sb119ret	sb119se	（参考）sb114ret	sb114se
  待機場所のそばの30秒以上の詰まり 件／秒	36.5／2,115	14.5／809	54.0／3,317	24.0／1,255
    （10 回の和）	372／22,276	140／8,304	537／32,885	228／12,442
  抜けられなかった行ったり来たり（型D・10 回の和）	1 件／30,985 秒	0	0	0
  待ち合い（10 回の和）	0	14 件／23 秒（どれもすぐ解けた）	0	1 件（種9）
  ロボットの止まりの合計秒	8,544	5,709	11,083	8,703
  うちロボット同士（秒）	5,113	3,357	6,518	3,981
  60秒動けなくなった（回）	19.0	12.0	24.0	23.0
  30秒の呼び出し（回）	31.0	22.0	115.5	180.0
    うち止まっている台が人の道をふさいでいた	4.0	3.0	85.0	164.5
  スタッフが動かした（回）	165.5	91.5	292.5	221.5
  料理ができてから届くまで（分）	1.74	1.64	1.75	1.65
  2分待って人が運んだ皿	28.0	24.5	23.5	25.0
  往復数	253.5	250.0	255.5	248.0
  全員が帰った回	9/10	10/10	10/10	10/10
  入る点の手前で待った秒（回）	0	206.6（45.0）	0	318.0（77.5）
  片付けを待つ卓（平均）	0.31	0.29	0.80	1.85
  スタッフの手すきの割合	37.4%	38.6%	25.6%	20.3%
  入店待ち（分・参考）	10.85	13.24	12.22	14.90

  4台	sb119ret	sb119se	sb114ret	sb114se
  詰まり 件／秒	22.0／1,149	3.5／143	32.0／1,754	10.0／544
  型D（10 回の和）	0	0	0	0
  待ち合い（10 回の和）	0	3 件／0 秒	0	13 件／1,625 秒
  止まりの合計秒	5,776	3,903	7,870	5,917
  うちロボット同士	3,323	1,582	4,168	2,225
  60秒動けなくなった	12.5	7.5	16.0	14.5
  30秒の呼び出し（うち人の道）	24.5（1.0）	15.0（1.5）	91.0（68.5）	143.0（126.0）
  スタッフが動かした	105.5	67.0	213.5	173.0
  料理ができてから届くまで（分）	1.82	1.63	1.69	1.69
  2分待って人が運んだ皿	31.5	24.0	29.5	25.0
  往復数	230.0	234.5	228.0	237.5
  全員が帰った回	10/10	10/10	10/10	10/10
  入る点の手前で待った秒（回）	0	42.9（23.0）	0	144.2（43.0）
  片付けを待つ卓	0.24	0.24	0.50	0.65
  スタッフの手すきの割合	38.3%	38.5%	28.5%	26.0%
  入店待ち（分）	10.47	10.64	12.42	12.70

  3台	sb119ret	sb119se	sb114ret	sb114se
  詰まり 件／秒	6.0／365	1.5／65	11.0／701	4.5／197
  型D（10 回の和）	1 件／4,610 秒（種4。解けずに回の終わり近くまで）	0	0	0
  待ち合い（10 回の和）	0	5 件／1 秒	0	0
  止まりの合計秒	3,696	2,787	4,740	3,912
  うちロボット同士	1,759	1,126	2,014	1,110
  60秒動けなくなった	6.0	4.5	8.5	6.0
  30秒の呼び出し（うち人の道）	15.0（1.0）	12.0（1.5）	63.5（50.5）	106.0（95.5）
  スタッフが動かした	66.5	43.0	140.0	134.5
  料理ができてから届くまで（分）	1.94	1.87	1.93	1.84
  2分待って人が運んだ皿	38.5	39.0	45.0	35.5
  往復数	195.5	201.5	203.5	204.0
  全員が帰った回	10/10	10/10	10/10	10/10
  入る点の手前で待った秒（回）	0	30.0（14.0）	0	56.5（23.0）
  片付けを待つ卓	0.33	0.17	0.32	0.35
  スタッフの手すきの割合	38.5%	40.3%	34.0%	29.8%
  入店待ち（分）	10.28	10.31	10.52	10.97

  2台	sb119ret	sb119se	sb114ret	sb114se
  詰まり 件／秒	1.5／118（10 回の和 18／1,283）	0／0（2／65）	0／0（11／433）	0／0（4／158）
  型D（10 回の和）	1 件／31,435 秒（種7）	0	0	2 件／29,380 秒（種9 の待ち合い）
  待ち合い（10 回の和）	0	0	0	1 件／14,645 秒（種9）
  止まりの合計秒	2,108	1,602	2,233	2,165
  うちロボット同士	497	334	520	327
  60秒動けなくなった	3.5	3.5	1.0	2.0
  30秒の呼び出し（うち人の道）	8.0（0.0）	6.0（0.0）	46.5（42.5）	71.0（63.5）
  スタッフが動かした	36.5	26.5	77.5	73.0
  料理ができてから届くまで（分）	2.30	2.30	2.20	2.34
  2分待って人が運んだ皿	76.5	79.0	77.0	79.0
  往復数	141.0	139.5	140.0	136.5
  全員が帰った回	9/10	10/10	10/10	10/10
  入る点の手前で待った秒（回）	0	6.2（4.5）	0	13.3（7.5）
  片付けを待つ卓	0.33	0.29	0.25	0.44
  スタッフの手すきの割合	38.5%	38.8%	35.5%	31.0%
  入店待ち（分）	10.29	10.61	10.82	10.26

  数え方：agg119.py の頭に書いた（agg114.py と同じ数え方に足した）
    ・待機場所のそばの詰まりは ep119.py（依頼104 の型分け。ep114.py の写し）で数え、型D（抜けられなかった行ったり来たり）は除いて別に書いた
    ・待ち合いは entry_waits.csv から数えた：台 a が台 b を待ち、台 b も台 a を待っていて、時間が重なっている組。
      止まりではないので、詰まりの件数には入らない
    ・30 秒の呼び出しのうち人の道をふさいでいた分は summary.json stuck_rescue.blocked_robot_calls
    ・片付けを待つ卓は timeline.csv tables_dirty_untaken の平均、手すきの割合は staff_time_share の「待機」
  ★ sb119ret の型D（まっすぐ入る 切）
    2台・種7（11,765 秒〜回の終わり 43,200 秒）・5台・種5（12,215 秒〜43,200 秒）
      待機点1 から受け渡し口へ出る台1 が、待機点2 にいる台2 の横（x 19.0〜19.9）で、前の見張りで止まっては少し動くをくり返した（2,020 回・1,950 回）。
      止まりが長く続かないので近くのスタッフも 30 秒の呼び出しも来ず（どちらも 0 回）、抜けられないまま回の終わりになった。この2回は全員が帰れなかった
    3台・種4（12,495〜17,105 秒）
      受け渡し口へ戻る台2 が、待機点1 へ入る台1 の近く（x 20.2〜20.6）で同じように行ったり来たりした
    依頼114 の sb114ret（人は待機点を通る）では出ていなかった。人が待機点の並びを通らなくなって、人の道をふさいでいるとして待機点の台を動かす呼び出しが
    ほとんど無くなったため、台がその場から動かされなくなったとみている（調べきってはいない）。くり返し止まる（repeat_stop）はこの依頼では切
  ★ 入店待ちが sb119ret より sb119se の方が長い（5台 10.85 → 13.24 分・4台 10.47 → 10.64・3台 10.28 → 10.31・2台 10.29 → 10.61）ことを、why119.py（why114.py の写し）で調べた
    5台の10種の中央値	sb119ret	sb119se
    満席の時間（分）	90.0	95.5
    入店を待つ組（平均）	4.54	5.57
    片付けを待つ卓（平均）	0.31	0.29
    スタッフの手すき	37.4%	38.6%
    立ち往生（ロボットの助け）	2.0%	1.2%
    30 秒の呼び出しの人の秒	2,064	1,257
    依頼114 の理由（スタッフが呼び出しに取られて片付けが遅れた）は今回は当たらない（手すき・片付けを待つ卓はほぼ同じで、助けの秒は se の方が少ない）
    種ごとの入店待ち（分）
      ret　1.8・9.0・24.8・10.2・14.8・7.3・20.6・9.0・11.5・20.0
      se 　2.0・8.6・25.1・10.6・15.2・5.9・20.8・15.4・11.3・19.1
    8 種は ±0.6 分以内で、違うのは種7（9.0 → 15.4 分）と種5（7.3 → 5.9 分）。
    中央値の差（2.4 分）は、10 種の真ん中の2つが種7 の分だけ入れ替わったことによる
    種7 の se は片付けを待つ卓 0.26 → 2.04・満席 87 → 99 分・料理ができてから届くまで 1.65 → 1.92 分・60 秒動けなくなった 11 → 20 回で、
    片付けが遅れた回になっていた。4台・3台・2台の差は 0.03〜0.32 分で小さい
    全体：night/20261107_sb119/why119_out.txt

  図：night/20261107_sb119/fig_where_by_type_sb119.png（報告の置き場所の 20261107_sb119_files/ にも写した）
    依頼114 の fig_where_by_type_sb114.png と同じ下地・描き方で、⑧5台の sb119ret と sb119se を横に並べた。題の下に大きく次を書いた
      sb119ret：詰まり 372 件・22,276 秒（10 回の和）／1回あたり 2,115 秒・止まりの合計 1回あたり 8,544 秒・30 秒の呼び出し 1回あたり 31.0 回・入店待ち 10.85 分
      sb119se ：詰まり 140 件・8,304 秒（10 回の和）／1回あたり 809 秒・止まりの合計 1回あたり 5,709 秒・30 秒の呼び出し 1回あたり 22.0 回・入店待ち 13.24 分
  表の全体：night/20261107_sb119/agg119_out.txt（20261107_sb119_files/ にも写した。型ごとの件・秒もある）・型分けの行は ep_<名札>_r<台数>.csv


--------------------------------------------------------------------
5. 撮る（22:43〜23:41・本番と同時）
--------------------------------------------------------------------
  ⑧5台 serve 種7・sb119se と同じ作り（cs:101・どかされた台が戻る＋まっすぐ入る＋人は待機点を通らない）を1本撮った
    撮り方は依頼114 と同じ：rec_runner.py の写し・斜め2つ wide_l30／wide_r30・道の線なし・上限 120 分
    回の名前 20261107_rec119_cs101_large_p6_r5_s7_passon_sbret_ek_post_rescue_smove_se_pav
      名札は rec119。撮らない回（sb119se）や前の撮影（rec114・rec112）と違う名前
    completed・全員が帰った・瞬間移動 0・1コマの跳び 0・実時間 57.4 分
    置き場所 /Volumes/KIOXIA/r2r2r-data/service_sim/unity/rec_sb119_20261107/se/
      mp4 2本・frames・camera・timeline・summary・stops・entry_waits・people_avoid_check など
  並べた動画：rec_sb119_20261107/slow_now_se/slow_now_se_panel.mp4（61.5 秒・3840×1280・30fps・5.4 MB）
    題「⑧ ロボット5台：今のまま と まっすぐ入る（人は待機点を通らない）」。左＝依頼112 と同じ now（rec_sm101_20261107/on_now）・右＝今回
    寄った5分：依頼112 と同じ店の時刻 3,180〜3,480 秒（0時間53分〜58分）・同じ寄せ枠（crop 1360×1080・店の座標 20.2, 10.9）。
    店全体の引き 1.5 秒 → 寄って店の時刻の5倍で 60 秒。確かめ用のコマ4枚と _log.txt を同じ所に置いた（中ほどのコマを見て、題・帯・左右のパネルが出ていることを確かめた）
    その5分の止まり：左 624 秒（待機場所のそば 467 秒）・右 268 秒（待機場所のそば 161 秒）
  作った台本：select119.py・slow119.py・mpv119.py（依頼114 の写し。題・右の名前・出力先だけ変えた）


--------------------------------------------------------------------
台帳
--------------------------------------------------------------------
  3,657 行（始める前）→ 3,745 行（足したのは 88 行だけ。どれも completed）
    chk119a・chk119b を cs:100 と cs:101 で 各1（4）・chk119dl 3（cs:101）・sb119ret 40・sb119se 40・rec119 1
    ★ cs:100 の chk119a・chk119b の2行は、区画が人の道に効いていなかった作りの回（決めてほしいこと 4）
  先頭 3,657 行の md5 は 51f613d2e476d59588247c07ac87a19a（始める前と同じ）。終わったあとの md5 171ae2d69c25d3a39c961b9506327d88。鍵ファイルは残っていない
  除く一覧は変えていない（27 行・md5 dcaed1a6000e1426600e4d7a03058ab0）
  台帳に書いていない回
    待機点の確かめ：sbchk119off（cs:100・cs:101）・sbchk119on（cs:101）・sbchk119offnp（cs:101）
    原因を調べる一時の作りの立ち上げ：diag119・diag119c・diag119d
    フォルダは KIOXIA に残した


--------------------------------------------------------------------
記録の置き場所
--------------------------------------------------------------------
  KIOXIA night/20261107_sb119/
    作りと確かめ：compile1〜2.log・build_cs100／101.log・build_diag1〜4.log・diag1〜4.log・map_standby.png・cmp119.py・cmp_chk119a_vs_b.txt
    回し方：mkq119.py・q_*.json・run_chk119.sh・run_sbchk119.sh・run_sb119.sh・rec119.sh・runner_*.txt・sbchk119*_r1〜5.log
    集計：common119.py・ep119.py・agg119.py・agg119_out.txt・ep_*.csv・fig119.py・fig_where_by_type_sb119.png・why119.py・why119_out.txt
    撮影と動画：rec_runner.py・watch119.py・post119.py・select119.py・slow119.py・mpv119.py・plan119.json・slow119_log_run.txt
  night/20261107_chk119a・chk119b・chk119dl・sb119run・rec119（実行係の記録）
  サイトの写し：unity/site_copy_large-99db3254b08b_sb119/


--------------------------------------------------------------------
変えたファイル
--------------------------------------------------------------------
  Unity（cs:100・101）
    Robot/ServingRobotController.cs・Service/ServiceOps.cs
    Experiment/ExperimentRunner.cs・Experiment/HeadlessRun.cs・Experiment/TripLogger.cs・Experiment/serving-robot-params.json
    People/PeopleNav.cs・People/PeopleDetour.cs・Store/NavMeshBaker.cs・Store/StoreBuilder.cs・tools/night_runner.py
  Builds/headless（cs:101 に作り直し）・Builds/rec28_sb119（新しく足した写し）
  KIOXIA
    archive/unity_ledger_v1_pre_119_20261107/・台帳への追記 88 行・上の置き場所のもの・rec_sb119_20261107/
  このファイルと 20261107_sb119_files/（図・表）・unity/site_copy_large-99db3254b08b_sb119/
  変えていないもの
    サイト（何も上げていない）・除く一覧
    standby_queue／repeat_stop／人の先よけ（切のまま）
    ⑨・下げ膳・ほかの店（回していない）


--------------------------------------------------------------------
決めてほしいこと
--------------------------------------------------------------------
  1. standby_straight_entry を標準にするか
     人が待機点を通らない形では、まっすぐ入る（sb119se）の方が次の点で少なく、全員が帰った回も 10/10 だった
       ・詰まり・止まり・60 秒・30 秒の呼び出し・スタッフが動かした回数
       ・切（sb119ret）で出た型D（抜けられなかった行ったり来たり）
     入店待ちの中央値は se の方が 2.4 分長いが、種7 の1回によるもの
  2. sb119ret（まっすぐ入る 切）で、待機点1 から出る台が隣の台の横で行ったり来たりして回の終わりまで抜けられない回が3回出た
     （2台・種7・5台・種5 は全員が帰れなかった）。止まりが続かないので、だれも来ない。
     切の方も標準として残すなら、直すか（たとえば、くり返し止まる repeat_stop を入にする）
  3. 人用の面の種類の番号が負になり、PeopleNav が 0 に丸めるため、人は半径 0.25 m のロボット用の面を歩いている（前からの作り）。
     人が半径 0.2 m の面を歩くように直すか。直すと、今までのどの回とも人の道が変わる
  4. 台帳の cs:100 の chk119a・chk119b（区画が人の道に効いていなかった作りの回）を除く一覧に入れるか
     （依頼104 で決めた形のとおり、除く一覧は回のフォルダ名で決めるので、そのまま入れられる）
  5. 人は待機点の区画を通らないの作り方として、次の2つで決めた。これでよいか
     ・区画を通れなくするのではなく、通り賃を 1,000 倍にした（用がある人は入れる。行けなくなる所は出ない）
     ・区画を人の半径 0.2 m だけ広げて付けた（体が区画にかからないように）

判定：合格
```

### 依頼119 の集計の出力（agg119_out.txt）

```
依頼119：⑧ large_p6 serve・すぐ押す 入・人の先よけ 切・1列の店の形（large-99db3254b08b）。10 種の中央値（回数・秒は1回あたり）
sb119ret 2台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 [7]
sb119ret 3台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb119ret 4台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb119ret 5台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 [5]
sb119se 2台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb119se 3台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb119se 4台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb119se 5台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb114ret 2台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb114ret 3台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb114ret 4台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb114ret 5台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb114se 2台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb114se 3台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb114se 4台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし
sb114se 5台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし

== 5台 ==
項目	sb119ret	sb119se	sb114ret	sb114se
待機場所のそばの30秒以上の詰まり 件／秒（10 回の和）・D を除く	36.5／2115（372／22276）	14.5／809（140／8304）	54.0／3317（537／32885）	24.0／1255（228／12442）
抜けられなかった行ったり来たり（型D・10 回の和）	1 件／30985 秒	0 件／0 秒	0 件／0 秒	0 件／0 秒
ロボットの止まりの合計秒	8544	5709	11083	8703
うちロボット同士（秒）	5113	3357	6518	3981
60秒動けなくなった（回）	19.0	12.0	24.0	23.0
30秒の呼び出し（回）	31.0	22.0	115.5	180.0
　うち止まっている台が人の道をふさいでいた	4.0	3.0	85.0	164.5
スタッフが動かした（回）	165.5	91.5	292.5	221.5
料理ができてから届くまで（分）	1.74	1.64	1.75	1.65
2分待って人が運んだ皿	28.0	24.5	23.5	25.0
往復数	253.5	250.0	255.5	248.0
入る点の手前で待った秒	0.0	206.6	0.0	318.0
　その回数	0.0	45.0	0.0	77.5
待ち合い（件）	0.0	1.0	0.0	0.0
　待ち合いの重なった秒	0.0	0.1	0.0	0.0
片付けを待つ卓（平均）	0.31	0.29	0.80	1.85
スタッフの手すきの割合（%）	37.4	38.6	25.6	20.3
入店待ち（分・参考）	10.85	13.24	12.22	14.90
全員が帰った回	9/10	10/10	10/10	10/10
待ち合い（10 回の和）	0 件／0 秒（なし）	14 件／23 秒（種0,種2,種4,種5,種6,種7,種9）	0 件／0 秒（なし）	1 件／0 秒（種9）
型ごと（件の中央値／秒の中央値（10 回の和の件／秒））
  A	4.0／188（32／1722）	1.5／64（12／691）	4.0／192（45／2169）	2.0／113（19／1032）
  B	2.0／109（19／1281）	1.5／98（16／1041）	3.5／230（34／2142）	1.5／83（17／978）
  C1	14.0／869（139／8680）	2.0／87（16／764）	22.0／1435（216／13947）	7.0／420（74／4004）
  C2	0.0／0（0／0）	0.0／0（0／0）	0.0／0（2／172）	0.0／0（0／0）
  D	0.0／0（1／30985）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）
  E	0.0／0（4／259）	0.0／0（4／252）	0.5／25（7／627）	0.0／0（4／212）
  F	3.5／199（36／2054）	0.5／17（11／648）	4.0／180（41／2297）	1.0／56（16／756）
  G	5.5／332（62／3987）	1.5／66（26／1740）	12.0／738（114／7115）	4.0／222（40／2439）
  H	5.5／271（65／3232）	5.0／255（53／3059）	6.0／378（67／3558）	5.0／271（48／2448）
  Z	1.0／96（15／1061）	0.0／0（2／109）	0.0／0（11／858）	1.0／32（10／572）

== 4台 ==
項目	sb119ret	sb119se	sb114ret	sb114se
待機場所のそばの30秒以上の詰まり 件／秒（10 回の和）・D を除く	22.0／1149（218／12074）	3.5／143（37／1650）	32.0／1754（285／17098）	10.0／544（101／5619）
抜けられなかった行ったり来たり（型D・10 回の和）	0 件／0 秒	0 件／0 秒	0 件／0 秒	0 件／0 秒
ロボットの止まりの合計秒	5776	3903	7870	5917
うちロボット同士（秒）	3323	1582	4168	2225
60秒動けなくなった（回）	12.5	7.5	16.0	14.5
30秒の呼び出し（回）	24.5	15.0	91.0	143.0
　うち止まっている台が人の道をふさいでいた	1.0	1.5	68.5	126.0
スタッフが動かした（回）	105.5	67.0	213.5	173.0
料理ができてから届くまで（分）	1.82	1.63	1.69	1.69
2分待って人が運んだ皿	31.5	24.0	29.5	25.0
往復数	230.0	234.5	228.0	237.5
入る点の手前で待った秒	0.0	42.9	0.0	144.2
　その回数	0.0	23.0	0.0	43.0
待ち合い（件）	0.0	0.0	0.0	0.0
　待ち合いの重なった秒	0.0	0.0	0.0	0.0
片付けを待つ卓（平均）	0.24	0.24	0.50	0.65
スタッフの手すきの割合（%）	38.3	38.5	28.5	26.0
入店待ち（分・参考）	10.47	10.64	12.42	12.70
全員が帰った回	10/10	10/10	10/10	10/10
待ち合い（10 回の和）	0 件／0 秒（なし）	3 件／0 秒（種8,種9）	0 件／0 秒（なし）	13 件／1625 秒（種1,種3,種7,種8）
型ごと（件の中央値／秒の中央値（10 回の和の件／秒））
  A	3.5／183（30／1604）	0.0／0（4／204）	2.5／131（28／1348）	1.0／50（12／684）
  B	1.0／42（11／582）	0.0／0（5／175）	2.0／85（19／1021）	0.0／0（4／186）
  C1	9.0／439（83／5124）	0.0／0（3／173）	12.0／678（117／7787）	2.5／131（33／2074）
  C2	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）
  D	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）
  E	0.0／0（7／328）	0.0／0（3／135）	0.0／0（4／190）	0.0／0（0／0）
  F	2.0／68（19／966）	0.5／17（7／321）	2.0／69（23／1105）	0.5／17（7／304）
  G	2.0／90（24／1396）	0.0／0（1／33）	5.0／291（45／3218）	1.0／36（14／726）
  H	3.5／172（36／1631）	1.0／47（14／609）	4.0／188（42／2067）	3.0／176（29／1540）
  Z	1.0／45（8／443）	0.0／0（0／0）	0.5／18（7／362）	0.0／0（2／104）

== 3台 ==
項目	sb119ret	sb119se	sb114ret	sb114se
待機場所のそばの30秒以上の詰まり 件／秒（10 回の和）・D を除く	6.0／365（60／3340）	1.5／65（16／668）	11.0／701（114／6615）	4.5／197（42／2653）
抜けられなかった行ったり来たり（型D・10 回の和）	1 件／4610 秒	0 件／0 秒	0 件／0 秒	0 件／0 秒
ロボットの止まりの合計秒	3696	2787	4740	3912
うちロボット同士（秒）	1759	1126	2014	1110
60秒動けなくなった（回）	6.0	4.5	8.5	6.0
30秒の呼び出し（回）	15.0	12.0	63.5	106.0
　うち止まっている台が人の道をふさいでいた	1.0	1.5	50.5	95.5
スタッフが動かした（回）	66.5	43.0	140.0	134.5
料理ができてから届くまで（分）	1.94	1.87	1.93	1.84
2分待って人が運んだ皿	38.5	39.0	45.0	35.5
往復数	195.5	201.5	203.5	204.0
入る点の手前で待った秒	0.0	30.0	0.0	56.5
　その回数	0.0	14.0	0.0	23.0
待ち合い（件）	0.0	0.0	0.0	0.0
　待ち合いの重なった秒	0.0	0.0	0.0	0.0
片付けを待つ卓（平均）	0.33	0.17	0.32	0.35
スタッフの手すきの割合（%）	38.5	40.3	34.0	29.8
入店待ち（分・参考）	10.28	10.31	10.52	10.97
全員が帰った回	10/10	10/10	10/10	10/10
待ち合い（10 回の和）	0 件／0 秒（なし）	5 件／1 秒（種2,種4,種6,種9）	0 件／0 秒（なし）	0 件／0 秒（なし）
型ごと（件の中央値／秒の中央値（10 回の和の件／秒））
  A	1.0／36（6／268）	0.0／0（3／142）	1.5／78（19／961）	0.0／0（1／34）
  B	0.0／0（4／191）	0.0／0（3／115）	0.0／0（5／191）	0.0／0（3／202）
  C1	2.0／160（27／1760）	0.0／0（0／0）	6.5／389（56／3770）	2.0／97（18／1077）
  C2	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）
  D	0.0／0（1／4610）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）
  E	0.0／0（0／0）	0.0／0（0／0）	0.0／0（3／127）	0.0／0（0／0）
  F	0.0／0（6／269）	0.0／0（1／33）	0.0／0（7／291）	0.0／0（3／138）
  G	0.0／0（3／205）	0.0／0（1／41）	0.0／0（7／496）	0.0／0（4／443）
  H	1.0／37（13／586）	1.0／38（8／336）	1.5／57（16／746）	1.0／41（10／502）
  Z	0.0／0（1／60）	0.0／0（0／0）	0.0／0（1／34）	0.0／0（3／256）

== 2台 ==
項目	sb119ret	sb119se	sb114ret	sb114se
待機場所のそばの30秒以上の詰まり 件／秒（10 回の和）・D を除く	1.5／118（18／1283）	0.0／0（2／65）	0.0／0（11／433）	0.0／0（4／158）
抜けられなかった行ったり来たり（型D・10 回の和）	1 件／31435 秒	0 件／0 秒	0 件／0 秒	2 件／29380 秒
ロボットの止まりの合計秒	2108	1602	2233	2165
うちロボット同士（秒）	497	334	520	327
60秒動けなくなった（回）	3.5	3.5	1.0	2.0
30秒の呼び出し（回）	8.0	6.0	46.5	71.0
　うち止まっている台が人の道をふさいでいた	0.0	0.0	42.5	63.5
スタッフが動かした（回）	36.5	26.5	77.5	73.0
料理ができてから届くまで（分）	2.30	2.30	2.20	2.34
2分待って人が運んだ皿	76.5	79.0	77.0	79.0
往復数	141.0	139.5	140.0	136.5
入る点の手前で待った秒	0.0	6.2	0.0	13.3
　その回数	0.0	4.5	0.0	7.5
待ち合い（件）	0.0	0.0	0.0	0.0
　待ち合いの重なった秒	0.0	0.0	0.0	0.0
片付けを待つ卓（平均）	0.33	0.29	0.25	0.44
スタッフの手すきの割合（%）	38.5	38.8	35.5	31.0
入店待ち（分・参考）	10.29	10.61	10.82	10.26
全員が帰った回	9/10	10/10	10/10	10/10
待ち合い（10 回の和）	0 件／0 秒（なし）	0 件／0 秒（なし）	0 件／0 秒（なし）	1 件／14645 秒（種9）
型ごと（件の中央値／秒の中央値（10 回の和の件／秒））
  A	0.0／0（3／115）	0.0／0（1／32）	0.0／0（3／92）	0.0／0（0／0）
  B	0.0／0（2／85）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）
  C1	0.5／24（6／778）	0.0／0（0／0）	0.0／0（3／159）	0.0／0（2／73）
  C2	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）
  D	0.0／0（1／31435）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（2／29380）
  E	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）
  F	0.0／0（1／38）	0.0／0（0／0）	0.0／0（2／77）	0.0／0（0／0）
  G	0.0／0（1／53）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（1／36）
  H	0.0／0（5／213）	0.0／0（1／33）	0.0／0（3／105）	0.0／0（0／0）
  Z	0.0／0（0／0）	0.0／0（0／0）	0.0／0（0／0）	0.0／0（1／50）
```

### 入店待ちの違いを調べた出力（why119_out.txt）

```
== 2台（ret 10 回・se 10 回）==
項目	sb119ret	sb119se
入店待ち（分）	10.29	10.61
満席の時間（分）	89.5	91.5
回の長さ（分）	283.0	278.5
入店を待つ組（平均）	4.16	4.49
片付けを待つ卓（平均）	0.33	0.29
片付け中の卓（平均）	1.45	1.46
立ち往生の助けをしているスタッフ（平均の人数）	0.020	0.016
近くのスタッフが動かした秒（staff_moves.moves_s）	157	91
30 秒の呼び出しの人の秒（rescue_staff_s）	387	276
道をふさがれたスタッフが動かしに行った回（calls_blocked）	1.5	2.0
スタッフの仕事の割合：会計	13.5%	13.5%
スタッフの仕事の割合：呼び出し	4.5%	4.5%
スタッフの仕事の割合：待機	38.5%	38.8%
スタッフの仕事の割合：料理	5.2%	5.3%
スタッフの仕事の割合：案内	12.7%	12.8%
スタッフの仕事の割合：片付け	24.4%	24.3%
スタッフの仕事の割合：立ち往生	0.3%	0.3%
30 分ごと（10 種の中央値）：満席の割合／入店を待つ組の平均　ret | se
  0:00〜	  0%／0.00	  0%／0.00
  0:30〜	  0%／0.00	  0%／0.00
  1:00〜	 70%／4.23	 73%／4.32
  1:30〜	100%／19.67	100%／18.65
  2:00〜	100%／17.07	100%／18.63
  2:30〜	 45%／1.63	 52%／2.33
  3:00〜	  0%／0.00	  0%／0.00
  3:30〜	  0%／0.00	  0%／0.00
  4:00〜	  0%／0.00	  0%／0.00
  4:30〜	  0%／0.00	  0%／0.00
  5:00〜	  0%／0.00	  0%／0.00
  5:30〜	  0%／0.00	-
  6:00〜	  0%／0.00	-
  6:30〜	  0%／0.00	-
  7:00〜	  0%／0.00	-
  7:30〜	  0%／0.00	-
  8:00〜	  0%／0.00	-
  8:30〜	  0%／0.00	-
  9:00〜	  0%／0.00	-
  9:30〜	  0%／0.00	-
  10:00〜	  0%／0.00	-
  10:30〜	  0%／0.00	-
  11:00〜	  0%／0.00	-
  11:30〜	  0%／0.00	-
  12:00〜	  0%／0.00	-

== 3台（ret 10 回・se 10 回）==
項目	sb119ret	sb119se
入店待ち（分）	10.28	10.31
満席の時間（分）	90.0	88.5
回の長さ（分）	275.5	277.5
入店を待つ組（平均）	4.28	4.34
片付けを待つ卓（平均）	0.33	0.17
片付け中の卓（平均）	1.53	1.48
立ち往生の助けをしているスタッフ（平均の人数）	0.045	0.034
近くのスタッフが動かした秒（staff_moves.moves_s）	297	198
30 秒の呼び出しの人の秒（rescue_staff_s）	798	555
道をふさがれたスタッフが動かしに行った回（calls_blocked）	2.0	1.5
スタッフの仕事の割合：会計	13.5%	13.6%
スタッフの仕事の割合：呼び出し	4.6%	4.5%
スタッフの仕事の割合：待機	38.5%	40.3%
スタッフの仕事の割合：料理	3.7%	3.3%
スタッフの仕事の割合：案内	13.3%	13.0%
スタッフの仕事の割合：片付け	25.5%	24.8%
スタッフの仕事の割合：立ち往生	0.8%	0.6%
30 分ごと（10 種の中央値）：満席の割合／入店を待つ組の平均　ret | se
  0:00〜	  0%／0.00	  0%／0.00
  0:30〜	  0%／0.00	  0%／0.00
  1:00〜	 73%／4.80	 65%／3.60
  1:30〜	100%／18.72	100%／18.32
  2:00〜	100%／16.98	100%／17.72
  2:30〜	 43%／1.70	 50%／2.18
  3:00〜	  0%／0.00	  0%／0.00
  3:30〜	  0%／0.00	  0%／0.00
  4:00〜	  0%／0.00	  0%／0.00
  4:30〜	  0%／0.00	  0%／0.00
  5:00〜	  0%／0.00	  0%／0.00

== 4台（ret 10 回・se 10 回）==
項目	sb119ret	sb119se
入店待ち（分）	10.47	10.64
満席の時間（分）	94.0	94.0
回の長さ（分）	278.0	276.0
入店を待つ組（平均）	4.36	4.49
片付けを待つ卓（平均）	0.24	0.24
片付け中の卓（平均）	1.51	1.54
立ち往生の助けをしているスタッフ（平均の人数）	0.088	0.049
近くのスタッフが動かした秒（staff_moves.moves_s）	534	325
30 秒の呼び出しの人の秒（rescue_staff_s）	1489	784
道をふさがれたスタッフが動かしに行った回（calls_blocked）	2.0	2.0
スタッフの仕事の割合：会計	13.6%	13.5%
スタッフの仕事の割合：呼び出し	4.9%	4.6%
スタッフの仕事の割合：待機	38.3%	38.5%
スタッフの仕事の割合：料理	3.0%	2.3%
スタッフの仕事の割合：案内	13.2%	13.6%
スタッフの仕事の割合：片付け	25.3%	25.8%
スタッフの仕事の割合：立ち往生	1.4%	0.7%
30 分ごと（10 種の中央値）：満席の割合／入店を待つ組の平均　ret | se
  0:00〜	  0%／0.00	  0%／0.00
  0:30〜	  0%／0.00	  0%／0.00
  1:00〜	 73%／4.32	 72%／4.62
  1:30〜	100%／18.57	100%／19.02
  2:00〜	100%／17.85	100%／17.92
  2:30〜	 50%／1.87	 47%／1.75
  3:00〜	  0%／0.00	  0%／0.00
  3:30〜	  0%／0.00	  0%／0.00
  4:00〜	  0%／0.00	  0%／0.00
  4:30〜	  0%／0.00	  0%／0.00
  5:00〜	  0%／0.00	  0%／0.00

== 5台（ret 10 回・se 10 回）==
項目	sb119ret	sb119se
入店待ち（分）	10.85	13.24
満席の時間（分）	90.0	95.5
回の長さ（分）	280.5	278.0
入店を待つ組（平均）	4.54	5.57
片付けを待つ卓（平均）	0.31	0.29
片付け中の卓（平均）	1.61	1.53
立ち往生の助けをしているスタッフ（平均の人数）	0.108	0.081
近くのスタッフが動かした秒（staff_moves.moves_s）	828	429
30 秒の呼び出しの人の秒（rescue_staff_s）	2064	1257
道をふさがれたスタッフが動かしに行った回（calls_blocked）	2.0	1.5
スタッフの仕事の割合：会計	13.5%	13.5%
スタッフの仕事の割合：呼び出し	4.8%	4.8%
スタッフの仕事の割合：待機	37.4%	38.6%
スタッフの仕事の割合：料理	2.7%	2.4%
スタッフの仕事の割合：案内	13.3%	13.4%
スタッフの仕事の割合：片付け	26.2%	25.6%
スタッフの仕事の割合：立ち往生	2.0%	1.2%
30 分ごと（10 種の中央値）：満席の割合／入店を待つ組の平均　ret | se
  0:00〜	  0%／0.00	  0%／0.00
  0:30〜	  0%／0.00	  0%／0.00
  1:00〜	 70%／4.78	 82%／7.65
  1:30〜	100%／19.48	100%／23.52
  2:00〜	100%／18.00	100%／19.98
  2:30〜	 47%／1.92	 52%／2.30
  3:00〜	  0%／0.00	  0%／0.00
  3:30〜	  0%／0.00	  0%／0.00
  4:00〜	  0%／0.00	  0%／0.00
  4:30〜	  0%／0.00	  0%／0.00
  5:00〜	  0%／0.00	  0%／0.00
  5:30〜	  0%／0.00	-
  6:00〜	  0%／0.00	-
  6:30〜	  0%／0.00	-
  7:00〜	  0%／0.00	-
  7:30〜	  0%／0.00	-
  8:00〜	  0%／0.00	-
  8:30〜	  0%／0.00	-
  9:00〜	  0%／0.00	-
  9:30〜	  0%／0.00	-
  10:00〜	  0%／0.00	-
  10:30〜	  0%／0.00	-
  11:00〜	  0%／0.00	-
  11:30〜	  0%／0.00	-
  12:00〜	  0%／0.00	-
```

### 人が待機点を通らない形の、前と後（⑧・ロボット5台・10種の中央値）

| 項目 | 斜めに寄る・人は通る（依頼114） | まっすぐ入る・人は通る（依頼114） | 斜めに寄る・人は通らない（依頼119） | まっすぐ入る・人は通らない（依頼119） |
|---|---|---|---|---|
| 待機場所のそばの30秒以上の詰まり | 3,317秒 | 1,255秒 | 2,115秒 | 809秒 |
| ロボットの止まりの合計 | 11,083秒 | 8,703秒 | 8,544秒 | 5,709秒 |
| 60秒動けなくなった | 24.0回 | 23.0回 | 19.0回 | 12.0回 |
| 30秒の呼び出し | 115.5回 | 180.0回 | 31.0回 | 22.0回 |
| うち止まっている台が人の道をふさいでいた | 85.0回 | 164.5回 | 4.0回 | 3.0回 |
| スタッフの手すきの割合 | 25.6% | 20.3% | 37.4% | 38.6% |
| 全員が帰った回 | 10/10 | 10/10 | 9/10 | 10/10 |
| 入店待ち（参考） | 12.22分 | 14.90分 | 10.85分 | 13.24分 |

![⑧ロボット5台の棒グラフ。左は待機場所のそばの詰まりで、3,317秒・1,255秒・2,115秒・809秒。右は30秒の呼び出しで、115.5回・180回・31回・22回。人が待機点を通らない形では、人の道をふさいだ呼び出しがほとんど消えた](https://pixelstomotors.com/media/LOG465_02_people_avoid_effect.png)

- ねらい：待機中のロボットの列を人がよけて通る、現実の店の動きにそろえる
- 変わったこと：まっすぐ入る形で、30秒の呼び出しは180回から22回、そのうち人の道をふさいだ分は164.5回から3回になった。スタッフの手すきは20.3%から38.6%
- 見込める効果：Unity のスタッフが、現実の店ではしないロボットの助けに取られなくなり、ロボットの台数や決まりを変えたときの差を、人の動きのゆがみを混ぜずに比べられる

人が待機点を通らない形でも、まっすぐ入る形のほうが、待機場所のそばの詰まり・止まり・60秒・呼び出しのどれも少なくなりました。入店待ちの中央値はまっすぐ入る形のほうが2.4分長いものの、種ごとに見ると10回のうち8回は差が0.6分以内で、差のほとんどは種7の1回で片付けが遅れたことによります。

![⑧ロボット5台で、待機場所のそばの30秒以上の詰まりが始まった位置。左の斜めに寄る形では待機点1〜6の区画とその下に赤い円が多く、×印の行ったり来たりが1件ある。右のまっすぐ入る形では円が少なく、待機点6のそばに少し残る](https://pixelstomotors.com/media/LOG465_01_where_jams_sb119.png)

[動画: ⑧ロボット5台・種7の、開店53分〜58分の待機場所のそば。左は依頼112 で撮った今まで（斜めに寄る・人は待機点を通る）、右はまっすぐ入る・人は待機点を通らない形。店の時刻の5倍で流す。この5分のロボットの止まりは、左624秒、右268秒](https://pixelstomotors.com/media/LOG465_03_straight_entry_people_avoid.mp4)

### 依頼119 で新しく見つかった、抜けられない行ったり来たり

斜めに寄る形では、待機点1 から出る台が、待機点2 の台の横で、前の見張りで止まっては少し動くをくり返し、営業の終わりまで抜けられない回が3回出ました（2台・種7、5台・種5、3台・種4）。2台・種7 では2,020回くり返しています。止まりが毎回5秒にも30秒にも届かないので、近くのスタッフも30秒の呼び出しも来ません。人が待機点を通らなくなり、人の道をふさいでいるとして待機点の台を動かす呼び出しが無くなったため、台がその場から動かされなくなったと Claude Code は見ています。まっすぐ入る形では0回でした。

もう1つ、前からの作りの穴も見つかりました。人用の面（半径0.2m）を焼いているのに、その面の種類の番号が負になっていて0に丸められ、人は実際にはロボット用の面（半径0.25m）を歩いていました。直すと今までのどの回とも人の道が変わるので、この回では直していません。


## 作業ログ ― 依頼119 の結果を見て決めたこと：3つの決まりを標準にした

依頼119 の報告には、決めてほしいことが5つ書かれていました。Claude の案を添えて相談し、案のとおりに決めました。

| 決めてほしいこと | 決めたこと |
|---|---|
| まっすぐ入る形（standby_straight_entry）を標準にするか | 標準にする。人が待機点を通らない形（people_avoid_standby）も一緒に標準にする |
| 斜めに寄る形で出た、抜けられない行ったり来たりを直すか | 標準から外れるので直さない。記録だけにする |
| 人がロボット用の面を歩いている件を直すか | 今は直さない。次に基準データを取り直すときに一緒に直す |
| cs:100 の確かめ2回（区画が人の道に効いていなかった作り）を、台帳の除く一覧に入れるか | 入れる |
| 通り賃1,000倍・人の半径0.2m 広げる作り方でよいか | このままでよい |

もう1つ、近くのスタッフがロボットをすぐ押す決まり（staff_moves_robot）が、サイトではまだ切のままでした。依頼101b からの⑧の比べは、すべてこれを入にして回しています。⑧を標準の形で固めるなら、これも標準にしないと、比べてきた条件と標準がずれます。これも標準にすると決めました。

決まりの正はサイトなので、先にサイトの params の3つを true にして公開し（p2m-site commit a64fa36）、そのあとで Unity が写す依頼を出しています。店の形と試算の数字は変わっていません。

- ねらい：比べてきた中でいちばん店が回った形を、何も指定しないときの形にする
- 変わったこと：3つの決まりが、サイトでも Unity でも既定で入になった。今までの基準データ（v5 など）は、この3つなしで回したもの
- 見込める効果（見込み）：次にほかの店や⑨を回すとき、毎回3つを指定し忘れて条件がずれることがなくなる。確かめは次の依頼で、⑨をこの形で回して見る

### params の差分（p2m-site commit a64fa36）

````
commit a64fa36afe3368648470670e9151b2b8e50633b3
Author: Claude <noreply@anthropic.com>
Date:   Sun Nov 8 07:05:39 2026 +0900

    params: スタッフがすぐ押す・待機点へまっすぐ入る・人は待機点を通らない、の3つを標準（入）にする
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01LevEXT5BFS6fEzwboVz1T4

diff --git a/public/sim/serving-robot-params.json b/public/sim/serving-robot-params.json
index 20747f7..bbfe70d 100644
--- a/public/sim/serving-robot-params.json
+++ b/public/sim/serving-robot-params.json
@@ -419,11 +419,11 @@
    "wait_points_checked": "2026-11-01 ロボットの地図で、待つ点はどれもふだんの道（1.0m）が通れるマス（free_class=2）で、障害物から0.59m以上離れていることを確かめた"
   },
   "staff_moves_robot": {
-   "value": false,
+   "value": true,
    "role": "site_rule",
    "stopped_s": 5,
    "reach_m": 7,
-   "note": "（切）近くのスタッフがロボットを動かして通路を空ける（2026-11-06 エイイチと決めた。まず⑧で今のままと比べ、標準にするかは結果を見て決める）。ロボットが走っている途中で5秒以上止まったとき（待機場所・受け渡し口・卓で決まって待っているときは除く）、止まったロボットから歩いて7mくらいまでにいるスタッフのうち一番近い1人が、真っ先に行ってロボットを止め、脇へ動かす（瞬間移動はしない）。行かない人：お客さんの対応中（案内・会計・卓での接客）。料理や皿を持って歩いている人は、それを置いてから動かしに来る。自分の道をふさがれても、すり抜けられる幅があるなら動かさない。お客さんはロボットに触らない。7m以内に行ける人がいなければ、今までどおり30秒で呼ぶ。2026-11-07 に足した決まり（依頼100 の結果を見てエイイチが了承）：着いたら待たずにすぐ押して動かす（30秒の呼び出しで来た人の動かし方は今のまま）。着く前にロボットが自分で動き出したら取り消して戻る。その場で手を動かしている人（卓で料理を渡す・皿をまとめる・卓を拭く）は終わるまで行かない。すり抜けられないとは、体を横に向けても3秒抜けられないこと（そのとき進む向きの1.5m以内で止まっている台を動かす）。よける場所で待っているロボットも5秒のきっかけに入れる。60秒で着けなかった人はやめて自分の仕事に戻る。試算の数字は変わらない。2026-11-07 に足した切り替え repeat_stop（既定は切）：同じ所（1.0m以内）で、止まっては少し動くをくり返し、合わせて5秒以上進めていないロボットも、5秒止まったものとして近くのスタッフが動かす（⑧ 5台・種7 で、1台が待機場所のそばで止まっては動くを2,051回くり返し、毎回の止まりが5秒に届かずスタッフが一度も来なかったため）",
+   "note": "（入・標準）近くのスタッフがロボットを動かして通路を空ける（2026-11-06 エイイチと決めた。まず⑧で今のままと比べ、標準にするかは結果を見て決める）。ロボットが走っている途中で5秒以上止まったとき（待機場所・受け渡し口・卓で決まって待っているときは除く）、止まったロボットから歩いて7mくらいまでにいるスタッフのうち一番近い1人が、真っ先に行ってロボットを止め、脇へ動かす（瞬間移動はしない）。行かない人：お客さんの対応中（案内・会計・卓での接客）。料理や皿を持って歩いている人は、それを置いてから動かしに来る。自分の道をふさがれても、すり抜けられる幅があるなら動かさない。お客さんはロボットに触らない。7m以内に行ける人がいなければ、今までどおり30秒で呼ぶ。2026-11-07 に足した決まり（依頼100 の結果を見てエイイチが了承）：着いたら待たずにすぐ押して動かす（30秒の呼び出しで来た人の動かし方は今のまま）。着く前にロボットが自分で動き出したら取り消して戻る。その場で手を動かしている人（卓で料理を渡す・皿をまとめる・卓を拭く）は終わるまで行かない。すり抜けられないとは、体を横に向けても3秒抜けられないこと（そのとき進む向きの1.5m以内で止まっている台を動かす）。よける場所で待っているロボットも5秒のきっかけに入れる。60秒で着けなかった人はやめて自分の仕事に戻る。試算の数字は変わらない。2026-11-07 に足した切り替え repeat_stop（既定は切）：同じ所（1.0m以内）で、止まっては少し動くをくり返し、合わせて5秒以上進めていないロボットも、5秒止まったものとして近くのスタッフが動かす（⑧ 5台・種7 で、1台が待機場所のそばで止まっては動くを2,051回くり返し、毎回の止まりが5秒に届かずスタッフが一度も来なかったため）。2026-11-08 標準（入）にした（依頼119 まで⑧で比べた結果を見てエイイチが決めた。それまでの基準データはこの決まりなしで回している）",
    "repeat_stop": false
   },
   "standby_queue": {
@@ -432,15 +432,15 @@
    "note": "（切）待機点を台ごとに決めず、列で使う（2026-11-07 エイイチと決めた。⑧で今のままと比べる）。店の形の RobotStandby は、受け渡し口に近い順に1番から並べる。次の往復に出るのは、待機している台のうち受け渡し口に一番近い台。往復を終えて戻る台は、待機している台より受け渡し口に近い側の空いている待機点のうち、一番遠い所（いる台のすぐ手前）へ入る。待機している台がいなければ一番遠い待機点へ入る。こうすると、出る台も戻る台も、待機している台の前を通らない。店の形（待機点の位置と数）は変えない。試算の数字は変わらない"
   },
   "standby_straight_entry": {
-   "value": false,
+   "value": true,
    "role": "site_rule",
    "entry_back_m": 1.0,
-   "note": "（切）待機点へ戻るロボットは、待機点の真正面（壁から離れる向き）に entry_back_m（1.0m）下がった「入る点」まで来てから、待機点へまっすぐ入る。出るときも、入る点までまっすぐ下がってから向きを変える（2026-11-07 エイイチと決めた。⑧で今のままと比べる）。待機点の間が0.8mの1列では、斜めに寄ると前のセンサー（中心から0.85m）に隣の待機点の台が入って止まり合っていたため。待機点の間を広げる案は、受け渡し口の前と右の卓へ上がる道があって⑧では1.1mまでしか取れず、2列の案は手前の列のすき間で台が戻れなかったので、店の形は変えず、入り方の決まりで直す。入る点がほかの台・人でふさがっていたら、入る点の手前で待つ。店の形と試算の数字は変わらない。2026-11-07 に足した決まり（依頼112 の結果を見てエイイチが了承）：入る点の手前で順番を待っている台は、止まった台として扱わない。近くのスタッフが動かしに来る（5秒）・30秒の呼び出し・60秒動けない、のどれにも数えず、待った時間は別に記録する（並んで待つロボットを店員はどかさないため）。2026-11-07 に足した決まり（依頼114 の結果を見てエイイチが了承）：入る点の手前で順番を待っている台は、近くのスタッフも30秒の呼び出しで来た人も動かさない。2台が互いの入る点の手前で相手を待ち合ったときは、受け渡し口に近い待機点へ入る台が先に入り、もう1台はそのまま待つ（待ち合いで動かなくなるのを防ぐ）"
+   "note": "（入・標準）待機点へ戻るロボットは、待機点の真正面（壁から離れる向き）に entry_back_m（1.0m）下がった「入る点」まで来てから、待機点へまっすぐ入る。出るときも、入る点までまっすぐ下がってから向きを変える（2026-11-07 エイイチと決めた。⑧で今のままと比べる）。待機点の間が0.8mの1列では、斜めに寄ると前のセンサー（中心から0.85m）に隣の待機点の台が入って止まり合っていたため。待機点の間を広げる案は、受け渡し口の前と右の卓へ上がる道があって⑧では1.1mまでしか取れず、2列の案は手前の列のすき間で台が戻れなかったので、店の形は変えず、入り方の決まりで直す。入る点がほかの台・人でふさがっていたら、入る点の手前で待つ。店の形と試算の数字は変わらない。2026-11-07 に足した決まり（依頼112 の結果を見てエイイチが了承）：入る点の手前で順番を待っている台は、止まった台として扱わない。近くのスタッフが動かしに来る（5秒）・30秒の呼び出し・60秒動けない、のどれにも数えず、待った時間は別に記録する（並んで待つロボットを店員はどかさないため）。2026-11-07 に足した決まり（依頼114 の結果を見てエイイチが了承）：入る点の手前で順番を待っている台は、近くのスタッフも30秒の呼び出しで来た人も動かさない。2台が互いの入る点の手前で相手を待ち合ったときは、受け渡し口に近い待機点へ入る台が先に入り、もう1台はそのまま待つ（待ち合いで動かなくなるのを防ぐ）。2026-11-08 標準（入）にした（依頼119 の結果を見てエイイチが決めた。それまでの基準データはこの決まりなしで回している）"
   },
   "people_avoid_standby": {
-   "value": false,
+   "value": true,
    "role": "site_rule",
-   "note": "（切）スタッフとお客さんは、ロボットの待機点の区画（RobotStandby の各区画）を通り道にしない（2026-11-07 エイイチと決めた。⑧で比べる）。待機中のロボットの列は人がよけて通るのが現実の店の形のため。依頼114 で、待機点に止まっている台が人の道をふさいだとして30秒の呼び出しが多く鳴り（⑧5台・10回で1,602件）、スタッフの手が取られていた。待機点へ物を取りに行く・ロボットを動かすなど、待機点そのものに用がある人は入ってよい。店の形と試算の数字は変わらない"
+   "note": "（入・標準）スタッフとお客さんは、ロボットの待機点の区画（RobotStandby の各区画）を通り道にしない（2026-11-07 エイイチと決めた。⑧で比べる）。待機中のロボットの列は人がよけて通るのが現実の店の形のため。依頼114 で、待機点に止まっている台が人の道をふさいだとして30秒の呼び出しが多く鳴り（⑧5台・10回で1,602件）、スタッフの手が取られていた。待機点へ物を取りに行く・ロボットを動かすなど、待機点そのものに用がある人は入ってよい。店の形と試算の数字は変わらない。2026-11-08 標準（入）にした（依頼119 の結果を見てエイイチが決めた。それまでの基準データはこの決まりなしで回している）"
   }
  },
  "stores": {
diff --git a/tools/sim_layouts/README.md b/tools/sim_layouts/README.md
index 33c941d..275d07b 100644
--- a/tools/sim_layouts/README.md
+++ b/tools/sim_layouts/README.md
@@ -60,6 +60,7 @@
 - トイレが2つ・レジが2つの店のための Unity の細かい形の規則（2026-11-02。`unity_export.py`）：トイレの入口の点は、そのトイレの部屋に接する入口から取る（前はどのトイレも1つ目の入口になっていた）。会計に立つ点と並ぶ点は1つ目のレジだけに置く（Unity はレジ1つの条件で回すため。2つ目のレジは部屋として建てるだけ）。トイレ・レジが1つの今の6店は結果が変わらないので、出力は作り直していない（版 9b8dae7ebf8c のまま）。大型店は作り直した（版 large-f4f8ad343efe → large-291ae2e65898。卓・距離・止まる位置は同じ）
 - 2026-11-06：⑨のレジのまわりが狭すぎたので、島と左の壁ぞいの席を上へ1.0m（レジの上の端から島まで 1.5m → 2.5m）、レジと下の壁ぞいの6人席を右へ1.0m（レジの左の待つ所 3.1m → 4.1m）動かした。70卓・312席のまま、受け渡し口から卓まで 4.0〜34.4m。版は large-99db3254b08b（⑧は卓・距離・止まる位置とも前と同じ）。試算は⑨の 3,066 条件だけ回し直して入れ替え、結果は iCloud の simulation/v2_9_large/results_large_p7_v3.json
 - 2026-11-07：⑧の待機点を2列の互い違いにした形（large-b13cd179e6bf・commit 18d23fe）を一度公開したが、Unity で奥の列の待機点3へ台が戻れなかった（手前の列の台のすき間 0.8m の下で行ったり来たり）ので、同じ日に元の1列・間0.8m・6点（large-99db3254b08b）に戻した。⑧の試算も元の値に戻した。待機場所のそばの止まり合いは、店の形を変えず、params の unity_rules.standby_straight_entry（待機点の真下 1.0m の入る点まで来てからまっすぐ入る）で直す
+- 2026-11-08：依頼119 の結果を見て、params の unity_rules の3つ（staff_moves_robot＝近くのスタッフがすぐ押す・standby_straight_entry＝待機点へまっすぐ入る・people_avoid_standby＝人は待機点の区画を通らない）を標準（入）にした。店の形と試算の数字は変わらない。それまでの基準データはこの3つなしで回している
 - サイトと同じ描き方の平面図の画像は `large_plan_images.py`（試算のページの planSvg・bigPlanSvg をそのまま使う）
 
 ```
````


## 作業ログ ― 依頼120：⑧の配膳と下げ膳を標準の形で固めた

⑧の配膳は、依頼119 のまっすぐ入る形の40回が、そのまま標準の形と同じ作りです。そこで回し直さず、依頼120 では次の3つだけを頼みました。何も指定しない既定のままで依頼119 と同じ結果が出るか、⑧の下げ膳（食べ終えた皿をロボットが洗い場へ運ぶ使い方）を標準の形で40回、配膳と下げ膳それぞれで合格の線5つを表に、です。

### 依頼120 の依頼文

```
---
作業フォルダ: /Users/shimazueiichi/Robotics_UX/ServiceSim
上限時間: 240
---
# 依頼120：3つの決まりを標準（入）にして、⑧の配膳と下げ膳を標準の形で固める

依頼119 の報告（claude_code_reports/20261107_sb119.txt）を読んで、エイイチと決めたこと（2026-11-08）：
1. 次の3つを標準（入）にする。サイトの params で value を true にした（p2m-site commit a64fa36）
   - staff_moves_robot（近くのスタッフがすぐ押す。repeat_stop は切のまま）
   - standby_straight_entry（待機点へまっすぐ入る）
   - people_avoid_standby（人は待機点の区画を通らない）
2. 斜めに寄る形（standby_straight_entry 切）の、抜けられない行ったり来たり（型D）は直さない。記録だけ（決めてほしいこと2）
3. 人がロボット用の面を歩いている件（人の面の種類の番号が負）は今は直さない。次に基準データを取り直すときに直す（決めてほしいこと3）
4. 台帳の cs:100 の chk119a・chk119b の2行は、除く一覧に入れる（決めてほしいこと4）
5. 人は待機点を通らないの作り方（通り賃 1,000 倍・区画を人の半径 0.2m 広げる）は、このままでよい（決めてほしいこと5）

⑧の配膳は、依頼119 の sb119se がこの標準の形と同じ作り（cs:101）なので、回し直さず⑧の配膳の基準にする。この依頼では、標準が既定で効くことを確かめ、⑧の下げ膳を標準の形で回して、⑧が「ベースとして合格」の線5つを満たすかを表にする。
範囲は⑧（large_p6）だけ。⑨・ほかの店は回さない（既定が変わるので、ほかの店はあとの依頼で回し直す）。作りの直しはしない。
**エイイチは見ていない。人に聞かないと進めない所に当たったら、その項目は止めて報告に書き、ほかは続ける。**

## 始める前に確かめること（違えば回さずに報告して終わる）
1. 作業場所・Builds/headless が cs:101、保留 0。Unity・night_runner／rec_runner が動いていない。KIOXIA がマウント済み、unity_ledger_v1.lock がない。台帳と除く一覧を archive/unity_ledger_v1_pre_120_20261108/ に退避（行数と md5 を報告に）
2. サイトの params（p2m-site a64fa36 の public/sim/serving-robot-params.json。md5 38daf9dc840535bc8478a470b217a817）を写し直し、依頼119 の写し（site_copy_large-99db3254b08b_sb119/params.json）との違いが、unity_rules の staff_moves_robot・standby_straight_entry・people_avoid_standby の value（false → true）と、その3つの note の文だけであることを確かめる。Experiment/serving-robot-params.json に写して check-in（ファイルを指定して cm ci。保留 0）。作りは変えないので、実行ファイルは params の写しが入る形で作り直す

## 1. 除く一覧
- 台帳の cs:100 の chk119a・chk119b の2回を、回のフォルダ名で除く一覧に足す（依頼104 で決めた形）。足した行と md5 を報告に

## 2. 標準が既定で効くことの確かめ（通らなければ 3 は回さない）
- ⑧5台 serve 種0 を、3つの切り替え（すぐ押す・まっすぐ入る・人は待機点を通らない）を引数でも queue でも指定せずに2回回す
- 2回が一致すること。出力フォルダ名の末尾に _smove・_se・_pav が付き、conditions.json に3つが入として書かれていること
- 依頼119 の chk119a（cs:101）と、回の名前・書いた時刻・cs と実行ファイルの名前以外が一致すること。違えば、どのファイルのどこが違うかを書いて止める
- 瞬間移動 0

## 3. 回す（画面なし・同時4本・既定のまま＝標準の形）
- ⑧ bus（下げ膳）2〜5台（条件 133・139・140・141）× 種0〜9 ＝ 40回（label base8bus）
- 1回の上限は 90 分。止まっても回し直さない

## 4. 表（10種の中央値）
1. ⑧の配膳（依頼119 の sb119se・40回）と下げ膳（base8bus・40回）を、2〜5台それぞれで：入店待ち・料理ができてから届くまで・2分待って人が運んだ皿・往復数・ロボットの止まりの合計秒・うちロボット同士・60秒動けなくなった回数・30秒の呼び出し・スタッフが動かした回数・待機場所のそばの30秒以上の詰まり（依頼104 の型分け。型D と待ち合いは別に）・全員が帰った回・片付けを待つ卓・スタッフの手すきの割合
2. サイトの試算との向き：params の unity_conditions の site_result の entry_wait_mean・dish_wait_mean（配膳は 92・136・137・138、下げ膳は 133・139・140・141）と、Unity の中央値を並べ、台数を 2→3→4→5 と増やしたときに上がるか下がるかが同じかを書く（数の大きさは合わせなくてよい。記録だけ）
3. ⑧の「ベースとして合格」の線5つを、配膳と下げ膳それぞれで ○／× と根拠の数で書く
   - 瞬間移動 0
   - 同じ条件・同じ種で同じ結果（2 の確かめ）
   - 止まったまま解けない所が残らない（回の終わりまで続いた型D・待ち合いが 0、全員が帰った回が 10/10）
   - 試算と向きが合う（上の 2）
   - サイト用の図面と動画がそろう（図面はサイトの⑧。動画は依頼119 の rec119 と slow_now_se_panel.mp4 があること。下げ膳の動画はないなら × と書く。撮らない）

## 止める線
瞬間移動が1回でも出たとき、または同じ種の2回が違ったとき。止めたら報告に書き、ほかの項目は続ける。

## 報告
claude_code_reports/20261108_base8.txt に：始める前の確かめ、params の違い、1 の除く一覧、2 の確かめ、3 の回の数と全員が帰らなかった回、4 の表、台帳の行数の変化と md5。
**報告の最後の1行は必ず次のどれか**：「判定：合格」／「判定：止めた（決めてほしいことあり）」／「判定：失敗」
```

### 依頼120 の結果

```
# 結果：20261108_120_3つの決まりを標準にして⑧の配膳と下げ膳を標準の形で固める

- 状態：完了
- 始めた時刻：2026-11-08 07:06
- 終わった時刻：2026-11-08 07:54（48分）
- 作業フォルダ：/Users/shimazueiichi/Robotics_UX/ServiceSim
- この続きを Claude Code で話すとき：作業フォルダで `claude --resume 0d304bd8-b699-448d-8ccc-c03c271775b8`

## Claude Code の報告

**やったこと**
- 始める前の確かめはすべて通りました。
  - 作業場所は cs:101 で保留 0。Unity・実行係は動いておらず、KIOXIA はマウント済みで鍵ファイルもありませんでした。
  - 台帳 3,745 行（md5 171ae2d69c25d3a39c961b9506327d88）と除く一覧 27 行（md5 dcaed1a6000e1426600e4d7a03058ab0）を `archive/unity_ledger_v1_pre_120_20261108/` に退避しました。
- サイトの params（a64fa36、md5 38daf9dc840535bc8478a470b217a817）を写し直しました。
  - 依頼119 の写しとの違いは、3つの切り替えの value（false → true）と、その3つの note の文だけでした。
  - `Experiment/serving-robot-params.json` に写してファイルを指定して check-in し、cs:102・保留 0 です。
  - 実行ファイルを作り直しました（cs102_20261108_0708・Result: Success）。
- 除く一覧に cs:100 の chk119a・chk119b を、回のフォルダ名で2行足しました。27 → 29 行、md5 cff7bddface7c46c0a2a0b336281c332 です。
- 標準が既定で効くかを確かめるため、⑧5台・配膳・種0 を、3つの切り替えを queue にも引数にも書かずに2回回しました（chk120a・chk120b）。
- ⑧ 下げ膳 2〜5台 × 種0〜9 の 40 回（base8bus）を、画面なし・同時4本・既定のままで回しました。
- 配膳（sb119se）と下げ膳（base8bus）の表を作り、報告に書きました。

**結果**
- 止める線（瞬間移動・同じ種の2回の違い）には当たっていません。
- 2 の確かめは通りました。
  - chk120a と chk120b は 21 ファイルとも一致し、依頼119 の chk119a（cs:101）とも一致しました。瞬間移動は 0 です。
  - フォルダ名の末尾に `_smove_se_pav` が付きました。
  - 3つの切り替えが入と書かれていたのは、依頼の言う conditions.json ではなく run_info.json でした（前からこの作りです）。
- 下げ膳 40 回はすべて最後まで回り、全員が帰りました（40/40）。瞬間移動は 0、1回の実時間は最長 5.8 分でした。
- ⑧5台の中央値（配膳 → 下げ膳）：

| 項目 | 配膳 | 下げ膳 |
|---|---|---|
| ロボットの止まりの合計 | 5,709 秒 | 9,384 秒 |
| 30秒の呼び出し | 22.0 回 | 44.5 回 |
| スタッフが動かした回数 | 91.5 回 | 166.0 回 |
| 往復数 | 250.0 | 331.5 |
| 入店待ち | 13.24 分 | 11.71 分 |

- 「ベースとして合格」の線5つは、配膳が ○4・×1、下げ膳が ○3・×2 でした。

| 線 | 配膳 | 下げ膳 |
|---|---|---|
| 1 瞬間移動 0 | ○（40 回で 0） | ○（40 回で 0） |
| 2 同じ種で同じ結果 | ○（2 の確かめ） | ○（同じ実行ファイルで 2 の確かめが通った。下げ膳そのものの2回は回していない） |
| 3 止まったまま解けない所が残らない | ○（回の終わりまで続いた型D・待ち合い 0、全員が帰った 10/10） | ○（同じく 0・10/10） |
| 4 試算と向きが合う | ×（料理が届くまでが 4→5台で 1.63 → 1.64 分とわずかに逆） | ×（入店待ちが 3→4→5台で 10.20 → 11.88 → 11.71 分と逆） |
| 5 図面と動画がそろう | ○（サイトの⑧の図面と rec119・slow_now_se_panel.mp4 がある） | ×（図面はあるが、下げ膳の動画はない。撮っていない） |

- 最後の行の「判定：合格」は、依頼の作業を止めずにやり終えたという意味です。⑧が5つの線をすべて満たしたわけではありません。
- 台帳は 3,745 → 3,787 行です（足したのは 42 行で、どれも最後まで回った回）。先頭 3,745 行の md5 は前と同じで、終わったあとの md5 は 24387c4934354d4d12f58f5a1b6698b5 です。

**変えたファイル**
- Unity（cs:102）：`Assets/ServiceSim/Experiment/serving-robot-params.json` だけ
- `Builds/headless`（cs:102 で作り直し）
- KIOXIA
  - `archive/unity_ledger_v1_pre_120_20261108/`
  - 除く一覧に2行
  - 台帳に 42 行
  - `night/20261108_base120/`（作った台本・queue・集計）
- 報告 `claude_code_reports/20261108_base8.txt` と `20261108_base8_files/`
- サイトの写し `unity/site_copy_large-99db3254b08b_base120/`

**決めてほしいこと**
1. 実行ファイルそのものは、3つの切り替えの引数がないと params を見ずに「切」になります。実行係を通せば入になりますが、実行ファイルを直接起こすと切のままです。実行ファイルの既定も params から決めるように直すか。
2. 配膳の 3台・種6 と 5台・種6 で、スタッフ1人の「片付け」の止まりが約 6,200 秒、回の終わりまで残っていました。ロボットの止まりではなく、前の依頼の回にも多くあります。線3 に人の止まりも入れるか（入れると配膳の線3 は × になります）。
3. 線4 で逆になった所はどれも差が小さいです（配膳の料理が届くまでは +0.01 分）。小さい差も × とするか、「同じ」とみなす幅を決めるか。
4. 下げ膳の動画（線5）を撮るか。

判定：合格
```

### 依頼120 の Claude Code の報告（20261108_base8.txt）

```
====================================================================
依頼120：3つの決まりを標準（入）にして、⑧の配膳と下げ膳を標準の形で固める
2026-11-08 07:06〜08:00　作業場所 cs:101 → cs:102（params の写しだけ。作りは変えていない）
====================================================================

結論
  ・始める前の確かめ・1〜4 をすべてやった。止める線（瞬間移動・同じ種の2回の違い）には当たっていない
  ・params の違いは依頼どおり3つの value（false → true）と、その3つの note の文だけだった
  ・2 の確かめは通った：chk120a と chk120b は 21 ファイルとも一致。依頼119 の chk119a（cs:101）とも 21 ファイルとも一致。瞬間移動 0
  ・⑧ bus（下げ膳）2〜5台 × 種0〜9 ＝ 40 回、すべて completed・全員が帰った（40/40）・瞬間移動 0
  ・⑧の「ベースとして合格」の線5つ
      配膳（sb119se）　○ 4・× 1（試算との向き：料理が届くまでが 4→5台で 1.63 → 1.64 分とわずかに上がった）
      下げ膳（base8bus）○ 3・× 2（試算との向き：入店待ちが 3→4・4→5台で逆／下げ膳の動画がない）
    ※ 下の「判定」は、依頼の作業を止めずにやり終えたかの判定。⑧が5つの線をすべて満たしたわけではない


--------------------------------------------------------------------
0. 始める前の確かめ（07:06〜07:08）
--------------------------------------------------------------------
  1. 作業場所 cs:101 - head・保留 0。Builds/headless は cs101_20261107_2235・unity_cs ServiceSim/cs:101・pending_changes 空
     Unity エディタ・night_runner・rec_runner は動いていなかった（Unity Hub と、この依頼の claude だけ）
     KIOXIA マウント済み／unity_ledger_v1.lock なし
     退避：archive/unity_ledger_v1_pre_120_20261108/
       unity_ledger_v1.csv　3,745 行・md5 171ae2d69c25d3a39c961b9506327d88（依頼119 の終わりと同じ）
       unity_ledger_v1_excluded_runs.csv　27 行・md5 dcaed1a6000e1426600e4d7a03058ab0（依頼119 の終わりと同じ）
  2. サイトの params：p2m-site a64fa36 の public/sim/serving-robot-params.json を gh api で取った
       md5 38daf9dc840535bc8478a470b217a817（依頼の数と同じ）
       置き場所 unity/site_copy_large-99db3254b08b_base120/params.json
     依頼119 の写し（site_copy_large-99db3254b08b_sb119/params.json）と JSON を中まで比べた。違いは次の6か所だけ → 依頼どおり
       ・unity_rules.staff_moves_robot.value　false → true
       ・unity_rules.standby_straight_entry.value　false → true
       ・unity_rules.people_avoid_standby.value　false → true
       ・上の3つの note：頭の「（切）」が「（入・標準）」になり、終わりに「2026-11-08 標準（入）にした（…エイイチが決めた。それまでの基準データはこの決まりなしで回している）」が足された
       （repeat_stop は false のまま）
     Experiment/serving-robot-params.json に写して cm ci（このファイルだけを指定）→ cs:102・保留 0
     実行ファイルを作り直した：Builds/headless の build_id cs102_20261108_0708・unity_cs ServiceSim/cs:102・pending_changes 空・Build Finished, Result: Success
     サイトの⑧の店の形（public/sim/layouts/large/unity/p6_large_center.json・_map.json）は Unity の写しと md5 が同じ（generation large-99db3254b08b）


--------------------------------------------------------------------
1. 除く一覧
--------------------------------------------------------------------
  unity_ledger_v1_excluded_runs.csv に次の2行を足した（回のフォルダ名で。依頼104 で決めた形）
    20261107_chk119a_cs100_large_p6_r5_s0_passon_sbret_ek_post_rescue_smove_se_pav,依頼119 で cs:100（人は待機点の区画を通らないの区画が人の道に効いていなかった作り・cs:101 で直す前）の実行ファイルで回した確かめの回。依頼119 の決めてほしいこと 4 でエイイチが除くと決めた（依頼120）,2026-11-08
    20261107_chk119b_cs100_large_p6_r5_s0_passon_sbret_ek_post_rescue_smove_se_pav,（理由は上と同じ）,2026-11-08
  27 行 → 29 行・md5 dcaed1a6000e1426600e4d7a03058ab0 → cff7bddface7c46c0a2a0b336281c332（先頭 27 行は前と同じ md5）


--------------------------------------------------------------------
2. 標準が既定で効くことの確かめ（07:09〜07:12・cs:102）
--------------------------------------------------------------------
  ⑧5台 serve 種0 を2回（chk120a・chk120b）
    queue は依頼119 の q_chk119a.json から staff_moves_robot・standby_straight_entry・people_avoid_standby の項目を上の段と回の段の両方から消したもの
    night_runner にもこの3つを指定していない（night_runner は queue に無い項目を params の unity_rules から決める）
  ・2回の一致：21 ファイルとも一致（cmp120.py。依頼119 の cmp119.py の写し）
  ・出力フォルダ名：20261108_chk120a_cs102_large_p6_r5_s0_passon_sbret_ek_post_rescue_smove_se_pav（末尾に _smove・_se・_pav が付いた）
  ・3つが入として書かれていること：
      ★ この3つは conditions.json ではなく run_info.json に書かれている（依頼100・112・119 からそう作られている）
      run_info.json：staff_moves_robot.enabled true（stopped_s 5・reach_m 7）／standby_straight_entry.enabled true（entry_back_m 1）／
                     people_avoid_standby.enabled true（area 4・area_cost 1000）。どれも source は params の unity_rules
      conditions.json には3つの項目が無い（依頼119 の chk119a も同じ）
  ・依頼119 の chk119a（cs:101）との比べ：21 ファイルとも一致
      違ってよいとした所は cmp119.py と同じ（run_info.json の build_id・unity_cs・run_label・night・written_at・wall_seconds など、
      summary.json・conditions.json の written_at、trips.csv の plan_ms_max）。ほかに違う所は無かった
  ・瞬間移動 0・1コマの跳び 0
  ★ 気づいたこと（直していない）：実行ファイルそのもの（HeadlessRun.cs 236〜241 行め）は、-ssStaffMovesRobot などの引数が無いと
    params を見ずに「切」になる。night_runner を通すと params の既定（入）で引数を付けるので、ふだんの回し方では入になる
    （決めてほしいこと 1）


--------------------------------------------------------------------
3. 回す（07:12〜07:52・画面なし・同時4本・上限 90 分・やり直しなし）
--------------------------------------------------------------------
  base8bus：⑧ bus（下げ膳）2〜5台（条件 133・139・140・141 ＝ large_p6_s6_r2〜r5_a70_bus）× 種0〜9 ＝ 40 回
    queue は依頼101 の q_sm101largebuson.json の large_p6 の回から作り、すぐ押す・待機点を列で使う・くり返し止まる・まっすぐ入る・
    人は待機点を通らない、の項目は書かなかった（既定のまま＝標準の形）。フォルダ名の末尾はどれも _smove_se_pav_bus
  40 回すべて completed・1回の実時間 平均 3.9 分・最長 5.8 分
  全員が帰らなかった回：なし（40/40 が全員帰った）
  瞬間移動 0・1コマの跳び 0（40 回とも）


--------------------------------------------------------------------
4. 表（10 種の中央値。回数・秒は1回あたり）
--------------------------------------------------------------------
  配膳＝依頼119 の sb119se（cs:101・40 回。回し直していない）／下げ膳＝base8bus（cs:102・40 回）
  数え方：agg120.py（依頼119 の agg119.py の写しに足した）。詰まりの型分けは ep120.py（ep119.py の写し。依頼104 の型分け）
  配膳の数は依頼119 の報告の sb119se の列と同じになった（例 5台 止まり 5,709 秒・30 秒の呼び出し 22.0 回・入店待ち 13.24 分）

  4-1. 2〜5台
                                         2台              3台              4台              5台
                                     配膳   下げ膳    配膳   下げ膳    配膳   下げ膳    配膳   下げ膳
  入店待ち（分）                     10.61  10.22     10.31  10.20     10.64  11.88     13.24  11.71
  料理ができてから届くまで（分）      2.30   2.36      1.87   2.08      1.63   1.94      1.64   1.90
  2分待って人が運んだ皿              79.0   83.0      39.0   46.0      24.0   34.0      24.5   36.5
  往復数                            139.5  195.0     201.5  259.5     234.5  301.0     250.0  331.5
  ロボットの止まりの合計秒           1,602  2,451     2,787  4,035     3,903  7,003     5,709  9,384
  　うちロボット同士（秒）             334    541     1,126  1,634     1,582  3,472     3,357  5,231
  60秒動けなくなった（回）             3.5    3.0       4.5    6.5       7.5   15.0      12.0   18.0
  30秒の呼び出し（回）                 6.0   11.0      12.0   20.5      15.0   30.0      22.0   44.5
  スタッフが動かした（回）            26.5   48.5      43.0   76.0      67.0  125.5      91.5  166.0
  待機場所のそばの30秒以上の詰まり
  　型D と待ち合いを除く 件／秒       0／0   0／0     1.5／65 4.0／170  3.5／143 9.5／469 14.5／809 21.5／1,252
  　（10 回の和 件／秒）              2／65  7／245   16／668 34／1,632 37／1,650 93／5,005 140／8,304 233／13,253
  型D 行ったり来たり（10 回の和）       0      0         0      0         0      0         0      0
  待ち合い（10 回の和 件／秒）         0      0       5／1   5／1      3／0   4／2     14／23  13／8
  回の終わりまで続いた型D・待ち合い     0      0         0      0         0      0         0      0
  全員が帰った回                     10/10  10/10     10/10  10/10     10/10  10/10     10/10  10/10
  片付けを待つ卓（平均）              0.29   0.28      0.17   0.12      0.24   0.45      0.29   0.41
  スタッフの手すきの割合             38.8%  40.6%     40.3%  41.5%     38.5%  40.5%     38.6%  39.8%
  （参考）入る点の手前で待った秒       6.2    8.0      30.0   39.7      42.9   64.2     206.6  198.7
  （参考）30秒の呼び出しのうち
  　止まっている台が人の道をふさいだ   0.0    2.5       1.5    4.5       1.5    6.0       3.0    8.5
  待ち合いは entry_waits.csv から数え（依頼119 と同じ）、どれもすぐ解けた。型ごとの件・秒は agg120_out.txt にある
  下げ膳は往復数が配膳の 1.2〜1.4 倍あり、止まり・60 秒・30 秒の呼び出し・スタッフが動かした回数・詰まりはどの台数でも配膳より多い

  ★ 表の線の外で気づいたこと（直していない・調べきっていない）
    配膳の 3台・種6 と 5台・種6 で、スタッフ1人の「片付け」の止まり（nowarp_jams.csv）が回の終わりまで残っていた
      3台・種6：11,724 秒〜回の終わり 17,940 秒（6,235 秒）・x 4.5, y 13.2
      5台・種6：11,718 秒〜回の終わり 17,820 秒（6,148 秒）・x 2.2, y 4.0（通路 A01）
    どちらも待機場所から遠く、ロボットの止まりではない。全員が帰った回なので、下の線3（定義どおり）は ○ にした
    依頼119 の sb119ret（4 回）・依頼114 の sb114se（11 回）・sb114ret（9 回）・依頼101 の sm101p6on（5 回）にも同じものがあり、前からある
    下げ膳（base8bus）では 0 回（決めてほしいこと 2）

  4-2. サイトの試算との向き（台数 2→3→4→5。数の大きさは合わせていない。記録だけ）
    配膳（条件 92・136・137・138）
      入店待ち　　サイト 7.24・6.50・7.35・8.24（↓↑↑）　Unity 10.61・10.31・10.64・13.24（↓↑↑）　向きはすべて同じ
      料理が届くまで サイト 1.86・1.25・0.86・0.69（↓↓↓）　Unity 2.30・1.87・1.63・1.64（↓↓↑）　4→5 が違う（Unity は +0.01 分でほぼ横ばい）
    下げ膳（条件 133・139・140・141）
      入店待ち　　サイト 7.34・7.20・7.18・9.24（↓↓↑）　Unity 10.22・10.20・11.88・11.71（↓↑↓）　3→4・4→5 が違う
      料理が届くまで サイト 1.91・1.31・0.93・0.74（↓↓↓）　Unity 2.36・2.08・1.94・1.90（↓↓↓）　向きはすべて同じ
    （入店待ちは種ごとの揺れが大きい。依頼119 では配膳5台の中央値 13.24 分の多くが種7 の1回によると書いた）

  4-3. ⑧の「ベースとして合格」の線5つ
    線                                    配膳（sb119se）                         下げ膳（base8bus）
    1 瞬間移動 0                          ○ 40 回で 0（1コマの跳び 0）              ○ 40 回で 0（1コマの跳び 0）
    2 同じ条件・同じ種で同じ結果          ○ chk120a＝chk120b（21 ファイル）・         ○ 同じ実行ファイル（cs:102）で 2 の確かめが通った
                                            chk119a（cs:101）とも一致                 （下げ膳そのものの2回は回していない）
    3 止まったまま解けない所が残らない    ○ 回の終わりまで続いた型D 0・待ち合い 0・   ○ 回の終わりまで続いた型D 0・待ち合い 0・
                                            全員が帰った 10/10（2〜5台どれも）         全員が帰った 10/10（2〜5台どれも）
    4 試算と向きが合う                    × 入店待ちは同じ。料理が届くまでが          × 料理が届くまでは同じ。入店待ちが
                                            4→5台で逆（1.63 → 1.64 分）               3→4・4→5台で逆（10.20 → 11.88 → 11.71 分）
    5 サイト用の図面と動画がそろう        ○ 図面：サイトの⑧（p6_large_center.json・   × 図面は ○（左と同じ）。下げ膳の動画は無い
                                            _map.json。Unity の写しと md5 同じ）       （撮っていない）
                                            動画：rec_sb119_20261107/se/ に rec119 の
                                            mp4 2本（wide_l30・wide_r30）・
                                            slow_now_se/slow_now_se_panel.mp4 がある
    合わせて                              ○ 4・× 1                                  ○ 3・× 2

  表の全体：night/20261108_base120/agg120_out.txt（報告の置き場所の 20261108_base8_files/ にも写した）・型分けの行は ep_<名札>_r<台数>.csv


--------------------------------------------------------------------
台帳
--------------------------------------------------------------------
  3,745 行（始める前）→ 3,787 行（足したのは 42 行だけ。どれも completed・ServiceSim/cs:102）
    chk120a 1・chk120b 1・base8bus 40
  先頭 3,745 行の md5 は 171ae2d69c25d3a39c961b9506327d88（始める前と同じ）。終わったあとの md5 24387c4934354d4d12f58f5a1b6698b5。鍵ファイルは残っていない
  除く一覧：27 行 → 29 行（上の 1）。md5 cff7bddface7c46c0a2a0b336281c332


--------------------------------------------------------------------
記録の置き場所
--------------------------------------------------------------------
  KIOXIA night/20261108_base120/
    build_cs102.log・q_chk120a.json・q_chk120b.json・run_chk120.sh・runner_chk120a／b.txt・cmp120.py・cmp_chk120a_vs_b.txt・cmp_chk119a_vs_chk120a.txt
    mkq120.py・q_base8bus.json・run_base8bus.sh・runner_base8bus.txt・nohup_base8bus.txt
    common120.py・ep120.py・agg120.py・agg120_out.txt・ep_sb119se_r*.csv・ep_base8bus_r*.csv
  night/20261108_chk120a・chk120b・base8bus（実行係の記録）
  night/20261108_dry120（から回しの記録だけ。回は起こしていない）
  サイトの写し：unity/site_copy_large-99db3254b08b_base120/


--------------------------------------------------------------------
変えたファイル
--------------------------------------------------------------------
  Unity（cs:102）：Assets/ServiceSim/Experiment/serving-robot-params.json（サイトの a64fa36 の写し）だけ
  Builds/headless（cs:102 に作り直し）
  KIOXIA：archive/unity_ledger_v1_pre_120_20261108/・除く一覧に2行・台帳への追記 42 行・上の置き場所のもの
  このファイルと 20261108_base8_files/・unity/site_copy_large-99db3254b08b_base120/
  変えていないもの：作り（C#・tools）・サイト（何も上げていない）・⑨とほかの店（回していない）・撮影（していない）


--------------------------------------------------------------------
決めてほしいこと
--------------------------------------------------------------------
  1. 実行ファイルそのもの（HeadlessRun.cs）は、-ssStaffMovesRobot・-ssStandbyStraightEntry・-ssPeopleAvoidStandby が無いと params を見ずに「切」になる。
     night_runner を通せば params の既定（入）になるが、実行ファイルを直接起こすと切のままになる。
     実行ファイルの既定も params から決めるように直すか（作りの直しなのでこの依頼ではしていない）
  2. 配膳の 3台・種6・5台・種6 で、スタッフ1人の「片付け」の止まりが約 6,200 秒、回の終わりまで残っていた（ロボットではない。前の依頼の回にも多くある）。
     線3「止まったまま解けない所が残らない」に人の止まりも入れるか。入れるなら配膳の線3 は × になる
  3. 線4（試算と向き）は配膳・下げ膳とも、1か所ずつ向きが逆になった（配膳の料理が届くまで 4→5台 +0.01 分・下げ膳の入店待ち 3→4→5台）。
     違いが小さい所も × とするか、幅（たとえば中央値の差が種の揺れより小さいときは「同じ」）を決めるか
  4. 下げ膳の動画（線5）を撮るか（この依頼では撮っていない）

判定：合格
```

### 依頼120 の集計の出力（agg120_out.txt）

```
依頼120：⑧ large_p6・標準の形（すぐ押す 入・まっすぐ入る 入・人は待機点を通らない 入・repeat_stop／standby_queue／人の先よけ 切）。10 種の中央値（回数・秒は1回あたり）
sb119se 2台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし・回の終わりに開いていた詰まり（nowarp_jams.open_at_end）0
sb119se 3台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし・回の終わりに開いていた詰まり（nowarp_jams.open_at_end）1
sb119se 4台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし・回の終わりに開いていた詰まり（nowarp_jams.open_at_end）0
sb119se 5台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし・回の終わりに開いていた詰まり（nowarp_jams.open_at_end）1
base8bus 2台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし・回の終わりに開いていた詰まり（nowarp_jams.open_at_end）0
base8bus 3台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし・回の終わりに開いていた詰まり（nowarp_jams.open_at_end）0
base8bus 4台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし・回の終わりに開いていた詰まり（nowarp_jams.open_at_end）0
base8bus 5台：回の数 10・瞬間移動 0・1コマの跳び 0・全員が帰らなかった種 なし・回の終わりに開いていた詰まり（nowarp_jams.open_at_end）0

== 2台 ==
項目	sb119se	base8bus
入店待ち（分）	10.61	10.22
料理ができてから届くまで（分）	2.30	2.36
2分待って人が運んだ皿	79.0	83.0
往復数	139.5	195.0
ロボットの止まりの合計秒	1602	2451
うちロボット同士（秒）	334	541
60秒動けなくなった（回）	3.5	3.0
30秒の呼び出し（回）	6.0	11.0
　うち止まっている台が人の道をふさいでいた	0.0	2.5
スタッフが動かした（回）	26.5	48.5
入る点の手前で待った秒	6.2	8.0
　その回数	4.5	6.5
片付けを待つ卓（平均）	0.29	0.28
スタッフの手すきの割合（%）	38.8	40.6
待機場所のそばの30秒以上の詰まり 件／秒（10 回の和）・D を除く	0.0／0（2／65）	0.0／0（7／245）
型D 行ったり来たり（10 回の和）	0 件／0 秒	0 件／0 秒
待ち合い（10 回の和）	0 件／0 秒（なし）	0 件／0 秒（なし）
回の終わりまで続いた（10 回の和）	型D 0・待ち合い 0・ほかの詰まり 0	型D 0・待ち合い 0・ほかの詰まり 0
全員が帰った回	10/10	10/10
型ごと（件の中央値／秒の中央値（10 回の和の件／秒））
  A	0.0／0（1／32）	0.0／0（0／0）
  B	0.0／0（0／0）	0.0／0（0／0）
  C1	0.0／0（0／0）	0.0／0（0／0）
  C2	0.0／0（0／0）	0.0／0（0／0）
  D	0.0／0（0／0）	0.0／0（0／0）
  E	0.0／0（0／0）	0.0／0（1／31）
  F	0.0／0（0／0）	0.0／0（2／64）
  G	0.0／0（0／0）	0.0／0（0／0）
  H	0.0／0（1／33）	0.0／0（2／76）
  Z	0.0／0（0／0）	0.0／0（2／73）

== 3台 ==
項目	sb119se	base8bus
入店待ち（分）	10.31	10.20
料理ができてから届くまで（分）	1.87	2.08
2分待って人が運んだ皿	39.0	46.0
往復数	201.5	259.5
ロボットの止まりの合計秒	2787	4035
うちロボット同士（秒）	1126	1634
60秒動けなくなった（回）	4.5	6.5
30秒の呼び出し（回）	12.0	20.5
　うち止まっている台が人の道をふさいでいた	1.5	4.5
スタッフが動かした（回）	43.0	76.0
入る点の手前で待った秒	30.0	39.7
　その回数	14.0	13.0
片付けを待つ卓（平均）	0.17	0.12
スタッフの手すきの割合（%）	40.3	41.5
待機場所のそばの30秒以上の詰まり 件／秒（10 回の和）・D を除く	1.5／65（16／668）	4.0／170（34／1632）
型D 行ったり来たり（10 回の和）	0 件／0 秒	0 件／0 秒
待ち合い（10 回の和）	5 件／1 秒（種2,種4,種6,種9）	5 件／1 秒（種2,種3,種4,種9）
回の終わりまで続いた（10 回の和）	型D 0・待ち合い 0・ほかの詰まり 0	型D 0・待ち合い 0・ほかの詰まり 0
全員が帰った回	10/10	10/10
型ごと（件の中央値／秒の中央値（10 回の和の件／秒））
  A	0.0／0（3／142）	0.0／0（4／147）
  B	0.0／0（3／115）	0.0／0（2／101）
  C1	0.0／0（0／0）	0.0／0（2／109）
  C2	0.0／0（0／0）	0.0／0（0／0）
  D	0.0／0（0／0）	0.0／0（0／0）
  E	0.0／0（0／0）	0.0／0（1／37）
  F	0.0／0（1／33）	0.5／15（5／236）
  G	0.0／0（1／41）	0.0／0（2／97）
  H	1.0／38（8／336）	2.0／86（15／782）
  Z	0.0／0（0／0）	0.0／0（3／124）

== 4台 ==
項目	sb119se	base8bus
入店待ち（分）	10.64	11.88
料理ができてから届くまで（分）	1.63	1.94
2分待って人が運んだ皿	24.0	34.0
往復数	234.5	301.0
ロボットの止まりの合計秒	3903	7003
うちロボット同士（秒）	1582	3472
60秒動けなくなった（回）	7.5	15.0
30秒の呼び出し（回）	15.0	30.0
　うち止まっている台が人の道をふさいでいた	1.5	6.0
スタッフが動かした（回）	67.0	125.5
入る点の手前で待った秒	42.9	64.2
　その回数	23.0	28.5
片付けを待つ卓（平均）	0.24	0.45
スタッフの手すきの割合（%）	38.5	40.5
待機場所のそばの30秒以上の詰まり 件／秒（10 回の和）・D を除く	3.5／143（37／1650）	9.5／469（93／5005）
型D 行ったり来たり（10 回の和）	0 件／0 秒	0 件／0 秒
待ち合い（10 回の和）	3 件／0 秒（種8,種9）	4 件／2 秒（種7,種8）
回の終わりまで続いた（10 回の和）	型D 0・待ち合い 0・ほかの詰まり 0	型D 0・待ち合い 0・ほかの詰まり 0
全員が帰った回	10/10	10/10
型ごと（件の中央値／秒の中央値（10 回の和の件／秒））
  A	0.0／0（4／204）	1.0／36（10／688）
  B	0.0／0（5／175）	1.0／40（14／656）
  C1	0.0／0（3／173）	0.0／0（2／98）
  C2	0.0／0（0／0）	0.0／0（0／0）
  D	0.0／0（0／0）	0.0／0（0／0）
  E	0.0／0（3／135）	1.0／79（15／896）
  F	0.5／17（7／321）	1.5／59（13／850）
  G	0.0／0（1／33）	0.0／0（7／252）
  H	1.0／47（14／609）	2.5／149（25／1288）
  Z	0.0／0（0／0）	0.5／16（7／277）

== 5台 ==
項目	sb119se	base8bus
入店待ち（分）	13.24	11.71
料理ができてから届くまで（分）	1.64	1.90
2分待って人が運んだ皿	24.5	36.5
往復数	250.0	331.5
ロボットの止まりの合計秒	5709	9384
うちロボット同士（秒）	3357	5231
60秒動けなくなった（回）	12.0	18.0
30秒の呼び出し（回）	22.0	44.5
　うち止まっている台が人の道をふさいでいた	3.0	8.5
スタッフが動かした（回）	91.5	166.0
入る点の手前で待った秒	206.6	198.7
　その回数	45.0	51.5
片付けを待つ卓（平均）	0.29	0.41
スタッフの手すきの割合（%）	38.6	39.8
待機場所のそばの30秒以上の詰まり 件／秒（10 回の和）・D を除く	14.5／809（140／8304）	21.5／1252（233／13253）
型D 行ったり来たり（10 回の和）	0 件／0 秒	0 件／0 秒
待ち合い（10 回の和）	14 件／23 秒（種0,種2,種4,種5,種6,種7,種9）	13 件／8 秒（種2,種3,種6,種7,種9）
回の終わりまで続いた（10 回の和）	型D 0・待ち合い 0・ほかの詰まり 0	型D 0・待ち合い 0・ほかの詰まり 0
全員が帰った回	10/10	10/10
型ごと（件の中央値／秒の中央値（10 回の和の件／秒））
  A	1.5／64（12／691）	2.5／148（26／1642）
  B	1.5／98（16／1041）	2.5／107（23／1144）
  C1	2.0／87（16／764）	0.5／17（9／509）
  C2	0.0／0（0／0）	0.0／0（0／0）
  D	0.0／0（0／0）	0.0／0（0／0）
  E	0.0／0（4／252）	2.0／106（21／1130）
  F	0.5／17（11／648）	3.5／208（37／2285）
  G	1.5／66（26／1740）	2.0／72（23／1218）
  H	5.0／255（53／3059）	6.5／410（78／4577）
  Z	0.0／0（2／109）	1.0／56（16／748）

== サイトの試算との向き（台数 2→3→4→5） ==
sb119se entry_wait_mean	サイト（条件 92・136・137・138）7.24・6.50・7.35・8.24 ↓↑↑	Unity 中央値 10.61・10.31・10.64・13.24 ↓↑↑	向きがすべて同じ
sb119se dish_wait_mean	サイト（条件 92・136・137・138）1.86・1.25・0.86・0.69 ↓↓↓	Unity 中央値 2.30・1.87・1.63・1.64 ↓↓↑	向きが違う所あり（4→5）
base8bus entry_wait_mean	サイト（条件 133・139・140・141）7.34・7.20・7.18・9.24 ↓↓↑	Unity 中央値 10.22・10.20・11.88・11.71 ↓↑↓	向きが違う所あり（3→4,4→5）
base8bus dish_wait_mean	サイト（条件 133・139・140・141）1.91・1.31・0.93・0.74 ↓↓↓	Unity 中央値 2.36・2.08・1.94・1.90 ↓↓↓	向きがすべて同じ
```

### 合格の線5つの判定のしかたを2つ決めた

依頼120 の報告では、配膳が5つのうち4つ、下げ膳が3つでした。通らなかった所のうち、試算と向きが合うかの線は、差がごく小さい所で向きが逆になっていました。配膳の料理が届くまでは4台1.63分→5台1.64分で、試算は下がるのに Unity は0.01分上がっています。下げ膳の入店待ちは、試算が3台7.20分→4台7.18分とほぼ横ばいなのに、Unity は10.20分→11.88分と上がっていました。

これを逆と数えると、種の揺れより小さい差で合否が決まってしまいます。そこで、サイトか Unity のどちらかの差が0.5分未満なら横ばいとし、逆とは数えないと決めました。

もう1つは、止まったまま解けない所が残らないかの線に、人の止まりも入れるかです。配膳の3台・種6 と5台・種6 で、スタッフ1人が片付けの途中で止まったまま、営業の終わりまで約6,200秒（約1時間40分）残っていました。ロボットではありませんが、店の中で人が1時間以上止まっているのは作りの問題です。人の止まりも入れると決めました。

- ねらい：合格の線を、種の揺れに振り回されず、人の動きの穴も見落とさない線にする
- 変わったこと：向きの線は配膳・下げ膳とも○になり、解けない所の線は配膳が×になった
- 見込める効果：ほかの店の点検でも、同じ物差しで○×を付けられる

[図解: LOG465_standby_rules.html](https://pixelstomotors.com/embeds/LOG465_standby_rules.html)

### ⑧の合格の線5つ（判定のしかたを決めたあと）

| 線 | 配膳 | 下げ膳 |
|---|---|---|
| 1 瞬間移動0 | ○ 40回で0 | ○ 40回で0 |
| 2 同じ条件・同じ種で同じ結果 | ○ 2回とも21ファイル一致、依頼119 とも一致 | ○ 同じ実行ファイルで確かめが通った |
| 3 止まったまま解けない所が残らない | × ロボットは0、全員が帰った10/10。ただしスタッフの片付けの止まりが2回 | ○ ロボットも人も0、全員が帰った10/10 |
| 4 試算と向きが合う（0.5分未満は横ばい） | ○ 入店待ちは下がって上がって上がる、で同じ。料理が届くまでの4→5台は横ばい | ○ 料理が届くまでは同じ。入店待ちの3→4台は試算が横ばい、4→5台は Unity が横ばい |
| 5 サイト用の図面と動画がそろう | ○ 図面と、まっすぐ入る形の動画がある | × 下げ膳の動画がない（依頼122 で撮る） |

### 試算と Unity の、台数を増やしたときの向き（⑧・10種の中央値）

| 台数 | 配膳の入店待ち 試算／Unity（分） | 配膳の料理が届くまで 試算／Unity（分） | 下げ膳の入店待ち 試算／Unity（分） | 下げ膳の料理が届くまで 試算／Unity（分） |
|---|---|---|---|---|
| 2台 | 7.24／10.61 | 1.86／2.30 | 7.34／10.22 | 1.91／2.36 |
| 3台 | 6.50／10.31 | 1.25／1.87 | 7.20／10.20 | 1.31／2.08 |
| 4台 | 7.35／10.64 | 0.86／1.63 | 7.18／11.88 | 0.93／1.94 |
| 5台 | 8.24／13.24 | 0.69／1.64 | 9.24／11.71 | 0.74／1.90 |

数の大きさは、Unity のほうが入店待ちで3〜5分長くなっています。大きさは合わせず、向きだけを見る決まりです（2026-10-22 に決めた、何について正かの分け方）。

下げ膳はどの台数でも、配膳より往復数が1.2〜1.4倍多く、止まり・呼び出し・スタッフが動かした回数も多くなりました。5台の下げ膳では、ロボットの止まりの合計が9,384秒、スタッフがロボットを動かした回数が166回です。ロボットを増やすほど人の手が要るという形は、下げ膳のほうが強く出ています。


## 作業ログ ― 次の依頼122：実行ファイルの既定・スタッフの片付けの止まり・⑧の比較動画

依頼120 の報告には、もう2つ気づいたことがありました。1つは、実行ファイルを直接起こすと、3つの決まりがサイトの既定を読まずに切になることです。いつもの回し方（night_runner を通す）では入になりますが、回し方で結果が変わる穴なので直します。もう1つは、上のスタッフの片付けの止まりで、依頼119・114・101 の回にも同じものがありました。直し方を決める前に原因を調べます。下げ膳の動画は、配膳だけと配膳＋下げ膳を並べた⑧の比較動画として、標準の形で撮り直します。

依頼122 は、アーム側の依頼121 のあとに始まるよう依頼箱に置きました。結果は次の回に書きます。

### 依頼122 の依頼文

```
---
作業フォルダ: /Users/shimazueiichi/Robotics_UX/ServiceSim
上限時間: 360
---
# 依頼122：実行ファイルの既定をサイトの決まりから読む形に直し、スタッフの片付けの止まりを調べ、⑧の配膳だけ／配膳＋下げ膳の比較動画を標準の形で撮り直す

依頼120 の報告（claude_code_reports/20261108_base8.txt）を読んで、エイイチと決めたこと（2026-11-08）：
1. 実行ファイルそのもの（HeadlessRun.cs）の既定も、params の unity_rules から読むように直す（決めてほしいこと1）
2. 「ベースとして合格」の線3（止まったまま解けない所が残らない）には、人の止まりも入れる。⑧の配膳は 3台・種6／5台・種6 のスタッフの片付けの止まりで × になる。この依頼では原因を調べるだけで、直さない（直し方はエイイチと決めてから）
3. 線4（試算と向き）は、サイトか Unity のどちらかの差が 0.5 分未満なら「横ばい」とし、逆とは数えない。これで⑧は配膳・下げ膳とも ○
4. ⑧の下げ膳の動画（線5）は撮る

範囲は⑧（large_p6）だけ。⑨・ほかの店は回さない。片付けの止まりの直しはしない。
**エイイチは見ていない。人に聞かないと進めない所に当たったら、その項目は止めて報告に書き、ほかは続ける。**

## 始める前に確かめること（違えば回さずに報告して終わる）
1. 作業場所・Builds/headless が cs:102、保留 0。Unity・night_runner／rec_runner が動いていない（前の依頼はアーム側）。KIOXIA がマウント済み、unity_ledger_v1.lock がない。台帳と除く一覧を archive/unity_ledger_v1_pre_122_20261108/ に退避（行数と md5 を報告に）
2. Experiment/serving-robot-params.json がサイト p2m-site a64fa36 の写しのまま（md5 38daf9dc840535bc8478a470b217a817）であること

## 1. 実行ファイルの既定を params から読む（作りの直し）
- HeadlessRun.cs で、切り替えの引数（-ssStaffMovesRobot・-ssStandbyStraightEntry・-ssPeopleAvoidStandby など）が無いときは、params の unity_rules の value を既定にする。引数があれば引数を使う（night_runner の動きは変えない）
- 上の3つのほかに、unity_rules の site_rule の項目で、引数が無いと params を見ずに決まっているものがあれば、同じ形にそろえ、どれをそろえたかを報告に書く
- check-in（ファイルを指定して cm ci・保留 0）して実行ファイルを作り直す
- 確かめ：⑧5台 serve 種0 を、night_runner を通さず実行ファイルを引数なし（店・条件・種・出力先だけ）で直接起こして2回回し、2回が一致し、依頼120 の chk120a と回の名前・時刻・cs と実行ファイルの名前以外が一致すること。違えば、どこが違うかを書いて 3 の撮影は止める（2 の調べは続ける）

## 2. スタッフの片付けの止まりを調べる（直さない）
- 対象：依頼120 で見つけた配膳の 3台・種6（11,724 秒〜回の終わり・x 4.5, y 13.2）と 5台・種6（11,718 秒〜回の終わり・x 2.2, y 4.0・通路 A01）。あわせて、依頼119 の sb119ret（4 回）・依頼114 の sb114se（11 回）・sb114ret（9 回）・依頼101 の sm101p6on（5 回）の同じ止まりを一覧にする（回・スタッフ・始まりの時刻・長さ・場所・その時していた仕事）
- それぞれ、そのスタッフが何をしようとして、何に止められ、なぜ解けないのか（道が引けない・行き先がふさがっている・仕事の取り合い・ほかの人やロボットとの待ち合い など）を記録から調べる。記録で分からなければ、画面なしで回し直してログを足してよい（その一時の作りは check-in しない。台帳に書かない）。必要なら止まった所の上から見た画像を1〜2枚作る
- 直し方の候補を2〜3つ書く（どれも作らない）。候補ごとに、ほかの店や今までの結果に何が変わりそうかを添える

## 3. ⑧の比較動画を標準の形で撮り直す（1 が通れば撮る）
- 依頼98 の compare_serve_bus_large_p6_v2.mp4（配膳だけ／配膳＋下げ膳を左右に並べ、詰まっている所に寄せ、店の時刻の5倍で流すパネル付き）と同じ台数・種・撮り方・切り方で、標準の形（cs:103 以降の実行ファイル・既定のまま）の配膳と下げ膳を1本ずつ撮り、並べた動画を作る
- 寄る5分は、新しい録画で詰まっている所を選び直してよい（選んだ時刻と場所・理由を報告に）
- 題「⑧ 配膳だけ と 配膳＋下げ膳（標準の形）」。置き場所：/Volumes/KIOXIA/r2r2r-data/service_sim/unity/rec_base8_20261108/
- 撮った回の名前が、撮らない回や前の撮影と同じにならないようにする。依頼98 の動画は変えない
- 題・帯・左右のパネルが切れていないかを、4コマ並べて目で見る

## 止める線
瞬間移動が1回でも出たとき、または同じ種の2回が違ったとき。止めたら報告に書き、ほかの項目は続ける。

## 報告
claude_code_reports/20261108_fix122.txt に：始める前の確かめ、1 の直し（どのファイルのどこ・そろえた項目）と確かめ、2 の一覧・原因・直し方の候補（画像があれば置き場所）、3 の動画の名前・長さ・寄った5分、台帳の行数の変化と md5。
**報告の最後の1行は必ず次のどれか**：「判定：合格」／「判定：止めた（決めてほしいことあり）」／「判定：失敗」
```

### 残した候補

| 起きた場面 | 原因の候補 | 切り分け方 |
|---|---|---|
| スタッフ1人が片付けの途中で、営業の終わりまで止まったまま | 道が引けない・行き先がふさがっている・仕事の取り合い・人どうしの待ち合い | 依頼122 で記録から1回ずつ調べ、直し方の候補を2〜3つ出してから決める |
| 斜めに寄る形で、止まっては少し動くをくり返して抜けられない | 止まりが5秒に届かず、だれも助けに来ない | 標準から外れたので今は直さない。⑨や下げ膳で出たら、くり返し止まる決まり（repeat_stop）の入と切で比べる |
| 人がロボット用の面を歩いている | 人用の面の種類の番号が負で、0に丸められる | 次に基準データを取り直すときに直し、前と後を比べる |
| 下げ膳はロボットを増やすほど人の手が要る | 往復数が多く、待機場所のそばの詰まりも多い | ⑨を標準の形で回し、店の形が違っても同じ形が出るかを見る |

この回で決めたことは次のとおりです。

- 近くのスタッフがすぐ押す・待機点へまっすぐ入る・人は待機点の区画を通らない、の3つをサイトの標準（入）にした（p2m-site commit a64fa36）
- ⑧の配膳は依頼119 のまっすぐ入る形の40回、下げ膳は依頼120 の40回を、標準の形の⑧の結果にする
- 合格の線の向きは、サイトか Unity のどちらかの差が0.5分未満なら横ばいとし、逆と数えない
- 止まったまま解けない所の線には、人の止まりも入れる
- 実行ファイルの既定も、サイトの決まりから読むように直す
