# 結果：20261109_127_病院の廊下を建てて搬送ロボットの速さごとに起きる問題を数える

- 状態：完了
- 始めた時刻：2026-11-09 11:32
- 終わった時刻：2026-11-09 12:48（76分）
- 作業フォルダ：/Users/shimazueiichi/Robotics_UX/ServiceSim
- この続きを Claude Code で話すとき：作業フォルダで `claude --resume 1b38a38e-a86b-410b-93d7-4ac7c782ec37`
- 止められた操作：1件（いちばん下に一覧）

## Claude Code の報告

やったこと
- 始める前の確かめをしました。作業場所は cs:109 で保留はありませんでした。Unity・night_runner・rec_runner は動いておらず、KIOXIA はマウント済みでした。params の md5 は 9887bf36…、形の md5 は a29cd1d9… で、params の layout.md5 と一致しました。
- 病院の場面を `Assets/ServiceSim/Hospital/` に新しく作りました。建てたのは外来の大廊下 x0〜70・西の縦廊下・職員の中廊下です。
  - ロボットは W3 の大きさで1台、処置室と検体受付を止まりなしで往復し続けます。
  - 人は外来の大廊下に 20 人／60 人を保ち、内訳は params のとおりです。ストレッチャーは 2 回/時です。
  - 配膳と共通の部品は1行も変えていません。
  - 病院だけの実行ファイル（`Builds/hospital127/`）を作りました。配膳の場面・配膳の実行ファイル・配膳の台帳には触っていません。
- 立ち往生の助けに「60 秒着けなければ次のスタッフに交代する」が抜けていたのを見つけ、足しました（cs:111）。最初に回した 80 回（cs:110）は `old_cs110/` に退避し、全部を cs:111 で回し直しました。
- 確かめの回、本番 80 回、録画 2 回を回しました。まとめの表・上から見た図・左右に並べた動画を作り、報告を書きました。

結果
- 確かめ：0.5 m/秒・混んでいる・種0 を2回回し、記録4つが1バイトも違いませんでした。瞬間移動は 0 です。0.8 m/秒・空いている・種0 は 35 片道を最後まで回りました。
- 本番 80 回はすべて最後まで回りました。瞬間移動は 0 で、人数はいつも決めた人数のままでした。1回は約 45〜60 秒で回ります。
- 1往復あたりの数（混んでいる、種10個の中央値）：

| 速さ | 実際の平均の速さ | 急に止まった | ひやり | 人がよけさせられた | 立ち往生 | 横切り |
|---|---|---|---|---|---|---|
| 0.4 m/秒 | 0.37 m/秒 | 6.5 | 19.9 | 8.3 | 0.38 | 0.91 |
| 0.8 m/秒 | 0.72 m/秒 | 3.4 | 10.9 | 4.6 | 0.19 | 0.66 |

- 1往復あたりは速いほど少なくなります。1時間あたりの数は速さでほとんど変わらず、速いほど往復が多いためです。
- ひやりの一番近い距離は、どの条件でもマイナス（外形の重なり、中央値 −0.08〜−0.09 m）でした。主な理由は、ロボットを丸として動かしていることです（決めてほしいことの1）。
- 問題が多かった場所（80 回の合計 15,740 回のうち）：
  1. 大廊下の処置室から縦廊下の手前まで（x14〜22）：57%。ロボットが北の壁ぞいを走り、出入りする人とすれ違って止まります。
  2. 大廊下と西の縦廊下の角：24%。人の流れを斜めに横切るため、横切りの 55% がここです。
  3. 処置室の前：16%。積む所が人の流れの中にあり、立ち往生の 39% がここです。
- 上から見た図は `hotspots127.png` です（KIOXIA の出力フォルダと、報告の隣の `_files` フォルダに置きました）。
- 動画は `hospital127_0.5vs0.8_busy_s0.mp4`、長さ 120.0 秒です。
- check-in は cs:110 と cs:111 です。
- 報告の最後の行は「判定：止めた（決めてほしいことあり）」にしました。

変えたファイル
- `Assets/ServiceSim/Hospital/` の中だけ（すべて新しいファイル）：
  - `HospitalLayout.cs`、`HospitalRun.cs`、`HospitalWalker.cs`、`Editor/HospitalSetup.cs`
  - `Hospital.unity`、`Data/` のサイトの写し2つ、`Materials/` の7つ
- KIOXIA の `hospital/20261109_speed127/`：
  - 索引 `index127.csv`、回ごとの記録 `runs/`、まとめ（`summary127.csv`・`per_run127.csv`・`hotspots127.csv`・`hotspots127.png`）
  - 動画、`tools/`（回し係・まとめ・動画の3つ）
- 報告：`claude_code_reports/20261109_hospital_127.txt` と `20261109_hospital_127_files/`

決めてほしいこと
1. ロボットの形：配膳の部品は丸い体で動くので、丸の直径を W3 の長い辺 0.549 m にしました。数えるときは長方形で見ているため、人が角に重なり、ひやりの距離がマイナスになります。この表し方でよいか。
2. ロボットの地図はサイトに無いので、Unity で床の形から作りました（ふだんの幅 1.0 m は配膳と同じ、通れる幅 0.7 m は params）。これでよいか、サイトで作るか。
3. ロボットはサイトの青の線の上を走りません。大廊下では北の壁ぞい、職員の中廊下では南の壁ぞいを走ります（道探しは配膳と同じ）。このままでよいか。
4. 止まる点を、扉から廊下の中へ 0.5 m の所にしました。そのため積む所が人の流れの中になっています。部屋の中で止まる形にするか。
5. 数え方の細かい線をこちらで決めました（報告の 1-3 に一覧）。
   - 「走っている状態」は設定の速さの半分以上。
   - 「向きを変えた」は 30 度より開いたとき。
   - 横切りはロボットと相手の向きが 45〜135 度のとき。
   - 人がよけさせられたは、ロボットのせいか、ほかの人のせいかを分けていません。

   これでよいか。
6. 人・ストレッチャーの Unity だけの値、扉の置き方、ストレッチャーの通り道、録画の範囲（x0〜40）でよいか。

## 止められた操作

- {"tool_name": "Bash", "tool_use_id": "toolu_01Jq46V4hjeqV5b2vdCTsL5b", "tool_input": {"command": "cd /Users/shimazueiichi/Robotics_UX/ServiceSim; rm -rf /tmp/h127/rec; mkdir -p /tmp/h127/rec; E=Builds/hospital127/HospitalSim.app/Contents/MacOS/ServiceSim; time $E -batchmode -h127Speed 0.8 -h127Crowd busy -h127Seed 0 -h127Out /tmp/h127/rec -h127Rec on -logFile /tmp/h127/rec/log.txt 2>&1 | tail -1; grep -E \"\\[Hospital\\]|Exception\" /tmp/h127/rec/log.txt | head; ls /tmp/h127/rec/*/frames | wc -l
