---
title: "サービスロボット導入シミュレーション Log#9 | Unity の配膳ロボットが詰まる所を1つずつほどいた"
slug: serving-robot-jam-points
date: 2026-10-23
day: 364
meta_description: "Unity のファミレスで配膳ロボット2台・スタッフ4人を最後まで回した。助けに行く店員がロボットに届かない、2台が受け渡し口で鉢合わせる、と詰まりを1つずつ直し、時間切れの往復は47のうち45から51のうち16に減った。"
tags: [サービスロボット導入シミュレーション, 配膳ロボット, Unity, NavMesh, ファミレス, 渋滞, Claude Code, シミュレーション]
series: "導入シミュレーション"
cover: "/media/LOG364_cover.jpg"
---

配膳ロボットを2台入れたファミレスを、Unity（建物や人を3Dで置いて動かせるソフト）の中で初めて最後まで回してみました。客は120分のあいだに90〜100組ほど来ます。スタッフは4人です。ところが開店から36分たった時点で、店は止まっていました。入口には客が34組並んだまま、誰も席に案内されていません。厨房の角を見ると、動けなくなったロボット1台を、スタッフ3人が囲んで立っていました。

ロボットが原因で店が止まったのではありません。止まったロボットを助けに行ったスタッフが、ロボットのそばまで近づけなかったのです。スタッフには「ロボットから0.75m離れる」という決まりがあり、助けに行く仕事には「0.35mまで近づいたら着いた」という決まりがありました。2つの決まりが食い違っていたので、助けに行く仕事はいつまでも終わらず、案内に来られる人がいなくなっていました。

配膳ロボットのシミュレーションを作るとき、走る速さや止まる回数に目が行きがちです。実際に回してみると、詰まるのはロボットの性能より、人とロボットの決まりが食い違う所でした。それを1つ直すと、次の詰まりが別の場所に出てきます。この回は、その詰まりを順にほどいていった記録です。

この Unity の店は、サイトに置いている配膳ロボットの試算ページ（ https://pixelstomotors.com/series8 ）が仮に置いている4つの値を測るために作っています。ロボットが人の間をどれくらいの速さで走れるか、何回止まるか、止まったら何秒動けないか、人に助けてもらわないと動けなくなるのは何回に1回か、の4つです。店の形と条件は、試算と同じにしています（卓42・席160・スタッフ4人・ロボット2台・1時間に42組・ロボットは料理を運ぶだけ・1往復で3卓まで）。

| 回 | 直したこと | 起きたこと | 時間切れの往復 |
|---|---|---|---|
| 1回目 | ― | 36分で店が止まった。助けに行ったスタッフ3人がロボットを囲んだまま | （途中で止めた） |
| 2回目 | 助けに行くスタッフは、その台だけはよけない | 97組のうち94組が帰った。ロボット2台が通路の入口で動けなくなる | 47のうち45 |
| 3回目 | 止まった理由を調べる記録を足した。座っている客・ベンチ・人の形を見えるようにした | 全員帰った。通路の入口の詰まりは出ず、ロボットどうしの待ち合いが1位に | 41のうち27 |
| 4回目 | ロボットどうしが決まった順で譲る | 動けなくなる回数は減ったが、受け渡し口の前で「下がっては進む」をくり返した | 45のうち24 |
| 5回目 | 戻る台の線を、受け渡し口の前から1m下に分けた | 受け渡し口の前の鉢合わせが209回から5回に | 51のうち16 |

【動画】LOG364_v5_run5_return_lane.mp4 5回目を真上から撮った動画（約1分45秒）。白いロボット2台が料理を運び、青いスタッフと黄色の客が店の中を行き来する。座っている客は席の上に丸く見える

上の動画は5回目（cs:124）を回しているところです。白い丸がロボット、青がスタッフ、黄色が客で、席の上の丸は座っている客です。ロボットは受け渡し口（右上の厨房の下の端）から客席へ料理を運び、ときどき通路の入口で止まっています。

**時間切れの往復は、5回目で47のうち45から51のうち16まで減りました。ただ、詰まりはなくなったのではなく、場所を変えて残っています。** 5回目にいちばん詰まったのは、左の通路の入口で2台が鉢合わせる所と、レジに並ぶ客が通路をふさぐ所でした。直す前に決めておいた区切りに当たったので、この店の直しはいったんここで止め、次の段階（条件を変えて何度も回し、結果を台帳にまとめる）へ進みながら、この2つを直すことにしました。

途中で、座っている客が画面に出ていないことにも気づきました。客の形は、ベンチの中に隠れていたのではなく、そもそも作られていませんでした。あとでこの映像を、人とロボットを見分ける学習に使う予定があるので、ベンチを座面と背もたれの形にし、人の形も胴と頭にそろえています。どちらも見た目だけで、測る数字には触れていません。

下の図で、ボタンを押すと、受け渡し口の前で2台が鉢合わせる様子と、戻る線を分けたあとの動きが見られます。

【図解】LOG364_pass_lanes.html


## 作業ログ ― この記事で扱う範囲と、回した条件

対象は、Unity で建てた③の店（効率重視型・入口が左下の角・列の間の通路1.2m）です。店の形は、サイトの試算が使う図面（ https://pixelstomotors.com/sim/layouts/unity/p1_efficient_corner.json ）から建てています。条件は、どの回も同じです。

| 項目 | 値 |
|---|---|
| 条件の名前 | fam_p1_s4_r2_a42（③・スタッフ4人・ロボット2台・1時間に42組） |
| 回し方 | 空の店から120分だけ客が来て、全員が帰るまで回す（上限720分） |
| ロボットの仕事 | 上げ膳（料理を卓へ運ぶ）だけ。1往復で3卓まで。下げ膳はスタッフ |
| 乱数の種 | 0 |
| 1コマの時間 | 0.05秒（FixedStep）。1回は実時間で約14〜17分 |

Unity のコードは Claude Code（Unity のコードを書く AI）が書き、ここでは Claude が記録を読んで原因を調べ、依頼文を作りました。Unity のメニューを押して回すのは手で行いました。Unity の版は、Unity Version Control の Check-in の番号（cs:117〜cs:124）で書きます。

回した記録は5回分です。1回目は途中で止めたとき何も書き出さない作りだったので、記録がありません。2回目からは、止めても書き出すようにしました。

| 回 | Check-in | 出力のフォルダ（KIOXIA の `r2r2r-data/service_sim/unity/` の下） |
|---|---|---|
| 1回目 | cs:116 | なし（途中で止めた） |
| 2回目 | cs:117 | `20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_0655_stopped` |
| 3回目 | cs:122 | `20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_0913` |
| 4回目 | cs:123 | `20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_1006` |
| 5回目 | cs:124 | `20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_1135` |


## 1回目：36分で、客34組が入口に並んだまま止まった

1回目は、回し始めて実時間2分（シミュレーションの時間で35.9分）の時点で、こうなっていました。

```
[22:56:52] [ServiceSim] サイトの試算から入れた値（この回だけ。.asset は回し終わりに戻す）
 条件 arrivals_per_h = 42 組/時
[22:56:52] [ServiceSim] 回し始め 1/1：fam_p1_s4_r2_a42 種0（サイトの条件。空の店から来客 120 分 + 全員が帰るまで（上限 600 分）・スタッフ 4 人・ロボット 2 台）
[22:57:52] [ServiceSim] とちゅう 1/1：19.2 / 来客 120 分・上限 720 分、組 13（待ち 0・帰った 0）、走り 0 回・記録 0 行、椅子 3 回、あきらめ 22 回、立ち往生 1 回、実時間 1.0 分
[22:58:52] [ServiceSim] とちゅう 1/1：35.9 / 来客 120 分・上限 720 分、組 34（待ち 0・帰った 0）、走り 2 回・記録 2 行、椅子 14 回、あきらめ 82 回、立ち往生 3 回、実時間 2.0 分
```

【画像】LOG364_01_entrance_jam.png 1回目の35.9分の時点の Unity の画面。店の左下の入口に黄色の客が列になって並び、Console には「組 34（待ち 0・帰った 0）」「あきらめ 82 回」と出ている

来た34組のうち、帰った組は0、席に着いた組もほとんどいません。「あきらめ」は、スタッフや客が行き先に60秒たっても着けずにあきらめた回数です。1分で60回ずつ増えていました。

最初は、入口から店の中へ入る道が、Unity の中でつながっていないのだと考えました。ところが店の中を拡大すると、別のものが写っていました。

【画像】LOG364_02_staff_around_robot.png 厨房の角を斜めから拡大した画面。白いロボット1台のまわりを、青いスタッフ3人が囲んで立っている

【画像】LOG364_03_guests_waiting.png 入口のあたりを斜めから拡大した画面。黄色の客が入口の並ぶ場所に2列に並んでいる

客は入口の並ぶ場所に、きれいに並んでいました。入れないのではなく、案内されるのを待っている列です。スタッフは4人のうち3人が、パントリー（厨房の手前の、料理を受け渡す所）の角で、止まったロボットを囲んでいました。

ロボットが動けなくなると、スタッフが歩いて行って動かす決まりにしてあります（立ち往生の呼び出し）。前の版では、動けなくなったロボットは15秒で受け渡し口へ瞬間移動していました。試算ではスタッフが歩いて行って15秒＋歩く時間を使うので、それにそろえて、瞬間移動をやめたところでした。

この回は止め、Claude Code に原因だけを調べてもらいました（依頼文は後ろの「Claude Code への依頼文」の1）。


## 原因：助けに行くスタッフは、ロボットに0.75mより近づけなかった（cs:117 で直した）

報告（後ろの `20261022_2230_deadlock_pantry.txt`）の結論は、次のとおりでした。

| 決まり | 値 | 出どころ |
|---|---|---|
| 人はロボットから離れる（毎コマ押しのける） | 中心どうしで0.75m（人の半径0.2＋ロボットの半径0.25＋空ける幅0.3） | PersonRobotYield.KeepClear |
| 助けに行く仕事は、ロボットの位置まで歩いたら終わる | 0.35m 以内に来たら着いた（止まる距離0.3＋0.05） | StaffAgent の到着の判定 |

0.75m より近づけないのに、0.35m まで来ないと着いたことにならないので、**助けに行く仕事は、最初からぜったいに終わらない作りでした。** しかもこの仕事は案内より先に取る決まりなので、手が空いたスタッフは必ずこれを取ります。終わらない仕事に1〜2人が取られ続け、残りの人もパントリーの角で押し合って、60秒ごとにあきらめていました。82回のあきらめは、ほぼ全部がスタッフでした（4人×60秒ごと×約20分で約80回）。

スタッフが待つ点も、同じ角に集まっていました。手の空いたスタッフが待つ点は、パントリーの左の壁ぞいに0.6m おきに6つ並んでいます。受け渡し口の前の点（15.3, 5.95）とロボットの待機場所（16.9, 6.05）・（17.7, 6.05）も、同じ角です。そこにロボットが止まると、待つ点・ロボットの通り道・助けに行く人が、0.75m の押しのけの輪の中で重なります。

直し方は、報告に5つ案がありました。直すのは、矛盾そのものを消すものと、逃がし弁の穴をふさぐものと、記録の取り方だけにしました。

| 入れた | 中身 | 理由 |
|---|---|---|
| ○ | 助けに行く人は、その台だけはよけない。行き先はロボットの手前0.8m、ロボットが動いたら引き直す | 矛盾を消す |
| ○ | あきらめた回数を、人ごとではなく仕事ごとに数える | 3回あきらめたら移して済ませる「最後の保険」が、仕事が人から人へ回ると働かなかった |
| ○ | 途中で止めても、そこまでの記録を書き出す（フォルダ名に `_stopped`） | 次に詰まったとき、止めても原因を追えるようにする |
| × | スタッフが待つ場所を、パントリーの角から動かす | 人とロボットが重なる場所が変わり、測りたい値が変わる |
| × | 取られっぱなしを防ぐ区切り | 1つ目の直しで仕事が終わるようになれば要らない |

途中で止めた回だったので、試算の条件が Unity の設定ファイル（.asset）に入ったまま残っていないかも確かめてもらいました。Play を抜けるときに元へ戻す処理が働いていて、残っていませんでした。


## 2回目（cs:117）：店は回ったが、ロボット2台が通路の入口で動けなくなった

【動画】LOG364_v2_run2_after_rescue_fix.mp4 2回目を真上から撮った動画（約25秒）。入口でスタッフが客を迎えに来て、客が席へ案内されていく

2回目は、立ち往生の呼び出しは110回のうち99回終わりました。入口で固まることもなくなり、97組のうち94組が帰りました。ただ、3組が帰らないので、全員が帰るまで回す決まりのまま、シミュレーションの時間で300分まで進んだところで止めました。

ロボットの往復は、47回のうち45回が時間切れ（1往復600秒の打ち切り）で終わっていました。止まった1,222回のうち、約920回が x9・z4 あたり、左から3本目の通路 A03 の入口に集まっていました。理由は「通路の幅が足りない」（693回）と「もう1台のロボット」（327回）です。

| 止まった理由 | 回数 | 止まっていた時間（秒） | うち動けなくなった |
|---|---|---|---|
| 通路の幅が足りない | 693 | 6,918 | 0 |
| もう1台のロボット | 327 | 6,349 | 55 |
| 人が立ち止まっていた | 70 | 2,724 | 36 |
| スタッフとすれ違った | 49 | 992 | 10 |
| お客さんとすれ違った | 27 | 575 | 8 |
| 分からない | 51 | 117 | 1 |
| 椅子・荷物・ベビーカー | 3 | 2 | 0 |
| 通路の順番待ち | 2 | 1,132 | 0 |

A03 は幅1.2m なので、幅は足りているはずです。報告（後ろの `20261023_0730_a03_deadlock.txt`）では、「通路の幅が足りない」は幅の話ではなく、「次の点までの道が引けなかった」ときに付く名前でした。道が引けないとロボットは1mm も動けず、逃げる処理も歩くための道が要るので働きません。そのまま10秒ごとの引き直しを、600秒の打ち切りまで繰り返していました。

もう1つ分かったのは、帰らなかった3組の理由です。3組の卓（T16・T19・T20）へは、料理を運ぶロボットが毎回時間切れになり、同じ皿が24回ずつ戻されていました。最初の料理が全部届かないと食事に進めないので、3組は席に座ったまま固まります。1号機は往復11以降、22回続けてまったく同じ「19;20;16」の3卓へ走り、毎回時間切れになっていました。45/47の時間切れの多くは、これでした。

報告には直し方が4つありました（道が引けないときに手前の点へ戻す／入口で待つ時間に上限を付ける／座ったまま止まった組にも卓を空ける逃がし弁を効かせる／何度も戻った皿はスタッフに回す）。後ろの2つは逃がし弁を増やすだけで、回し切れるようにはなっても、逃がし弁がほぼ0という終わりの条件は満たせません。前の2つはロボットの動き方を変えるので、測りたい値に効きます。根っこの「27cm 先の点へ、なぜ道が引けないのか」が分からないまま入れると、本当の原因を隠すおそれがあるので、先に記録の列を足して、もう1回回すことにしました（cs:122）。


## 座っている客が画面に出ていなかった：形の部品そのものが作られていなかった（cs:118・cs:119）

2回目を回している画面を見ていて、もう1つ気づいたことがありました。

> シミュレーションでお客さんが座っているのがわかるように変更したいのですが、前に依頼したけど変更されていない。

10/21 に「座っている間は、その席に背の低い客の形を出す。当たり判定は付けない」と決めて頼んでいましたが、そのあとサイトとのずれの点検に話が移り、作られないまま止まっていました。

【画像】LOG364_04_no_seated_guests.png cs:118 のあと Build Store を押した画面。店の形は建っているが、席には客の形が1つもない

cs:118 で Claude Code が調べると、座る・立つときに形を出し入れする仕掛けは 10/21 に入っていて、足りなかったのは形の部品（`SeatedGuestBody.prefab`）そのものでした。部品がないと、出す処理は何もせずに戻ります。cs:118 で部品を作る処理を入れましたが、1回目の Build Store は、Unity が新しいコードを読み込む前に押していたので、まだ出ませんでした。cs:119 で、部品を用意するメニューを独り立ちさせ、部品がないまま呼ばれたら警告を出すようにしました。2日間気づけなかったのは、ここが黙って戻っていたためです。

形が出ると、今度は客が机の上に乗っているように見えました。

【画像】LOG364_05_seated_on_box.png 斜めから見た客席。茶色の箱の上から、黄色の客の頭が並んで出ている

> なんか机の上にいるように見えるけど？あってるこれ？

乗っているのは机ではなく、ベンチでした。茶色の箱がベンチで、オレンジの低い所が机です。ベンチは背もたれの高さ1.1m まで中身の詰まった箱で作っていたので、座った客（高さ1.4m）の頭だけが箱の上に出て、乗っているように見えていました。


## ベンチを座面と背もたれにし、人の形を胴と頭にそろえた：あとで映像を学習に使うため（cs:120・cs:121）

> ベンチは少し変えたいね。何が影響するの？

ベンチの箱は、見た目のほかに3つの役目を持っています。通れる床（NavMesh）を作る材料、ロボットの前のセンサーが見る当たり判定、店の形が図面どおりかの確かめ、です。最初は「当たり判定の箱はそのまま、見た目だけ取り替える」案を出しました。そこに、次の指摘がありました。

> のちのち学習させるし、学習しやすくする必要もあるよ

学習に使うなら、見た目と当たり判定を同じ形にすべきだと考え、一度は案を直しました。距離のセンサーが見えない1.1m の箱に当たると、カメラの絵と食い違うためです。ただ、学習の進め方は別のところで決めてありました。Unity の映像を、天井の角（防犯カメラと同じ位置）のカメラで撮り、ロボットの位置と止まり、人の位置、通路のふさがりを見分けるモデルを学習させる、という形です。使うのはカメラの絵で、距離のセンサーではありません。そこで、最初の案に戻しました。

| | 学習（カメラの絵）に効くか | 決め |
|---|---|---|
| ベンチの見た目 | 効く。本物のベンチに見えないと、実店舗の映像とずれる | 座面（0.45m）＋背もたれ（机と反対側に厚さ0.08m・1.1m）。色と素材は1か所にまとめ、あとで差し替えられるようにする |
| ベンチの当たり判定 | 効かない。カメラには写らない | 今の箱のまま。通れる床もロボットの道も変わらない |
| 座っている客 | 効く。座っている人も「人の位置」の正解に入る | 座面から立つ胴と頭。頭の先1.35m。当たり判定なし |
| 種類の印 | 効く。正解の印を自動で書き出すのに要る | Tag を付ける（SimRobot・SimStaff・SimGuest・SimSeatedGuest・SimBench・SimTable・SimChair） |

印に Layer ではなく Tag を選んだのは Claude Code です。Layer は物理の問い合わせに効くことがありますが、Tag は何にも効きません。

【画像】LOG364_06_bench_seat_top.png 真上から見た③の店（cs:121 のあと Build Store で書き出した画像）。ベンチの外側のふちに背もたれが並び、座面に黄色の客の頭が丸く並んでいる

形が変わると、座っている客のほうが人らしく見えました。

> 突然人の形が変わったね こっちの方が人として分かりやすいから、スタッフも同じ形がいいんじゃない？

立っている人（スタッフ・歩く客・待合の客）も、同じ胴＋頭にそろえました（cs:121）。人の形が座っている客だけ違うと、学習のときに「座っている客だけが人」に見えてしまうためです。取り替えたのは子の見た目だけで、親の当たり判定（半径0.2m・高さ1.7m）と歩く仕組み（NavMeshAgent）はそのままです。

| | 胴（半径0.2m） | 頭（球・半径0.11m） | 頭の先 |
|---|---|---|---|
| 立っている人 | 0〜1.590m | 中心1.590m | 1.700m |
| 座っている客 | 0.450〜1.240m | 中心1.240m | 1.350m |

【画像】LOG364_07_person_shapes.png cs:121 のあと Build Store を押した画面。斜めから見た客席のベンチに、胴と頭の形の客が座り、右下に青いスタッフが立っている。Console に「立っている人の見た目を胴＋頭にそろえました」と出ている

見た目を変えるたびに、Build Store が書き出す店の報告（store_report）と、卓までの道の長さの表を、変える前の分を取っておいて（`$HOME/base`・`$HOME/base2`）、1行ずつ比べました。cs:120 のあとも cs:121 のあとも、違ったのは作った日時の1行だけでした。

```
$ D="$HOME/mnt/PixelstoMotors/デジタルツイン学習R2R2R/サービスロボット導入シミュレーション/unity/screens"; cd $HOME/base; for f in *; do echo "== $f"; diff "$f" "$D/$f" | head -20; done
== 20261023_family_v0_StoreLayout_p1_efficient_corner_store_report.txt
2c2
< 作った日時: 2026-10-23 07:46:38
---
> 作った日時: 2026-10-23 08:23:31
== 20261023_family_v0_table_path_lengths_family.csv
== 20261023_family_v0_table_path_lengths_grid.csv
$ D="$HOME/mnt/PixelstoMotors/デジタルツイン学習R2R2R/サービスロボット導入シミュレーション/unity/screens"; cd $HOME/base2; for f in *; do echo "== $f"; diff "$f" "$D/$f"; done
== 20261023_family_v0_StoreLayout_p1_efficient_corner_store_report.txt
2c2
< 作った日時: 2026-10-23 08:23:31
---
> 作った日時: 2026-10-23 09:01:21
== 20261023_family_v0_table_path_lengths_family.csv
== 20261023_family_v0_table_path_lengths_grid.csv
```


## 3回目（cs:122）：道が引けない止まりは0回。ロボットどうしの待ち合いが1位になった

cs:122 で、止まったときの記録（stops.csv）に5列を足しました。寄せたあとの出発点（solve_from）と行き先（solve_to）、道を引いた結果（solve_status）、引けた角の数（solve_corners）、ロボットの位置から一番近い通れる床までの距離（off_mesh_m）です。動きは1行も変えていません。

3回目は、全員が帰り、221.5分で回り切りました。ところが、2回目に693回あった「道が引けない」止まりは、1回も起きませんでした。道を引いた105回はすべて PathComplete（最後まで引けた）で、ロボットの位置は通れる床から0.025m しか離れていませんでした。同じ店・同じ条件・同じ乱数の種でも、Unity は毎回少しずつ違う動きになるので、2回目のずれ方が3回目には出なかったようです。原因は分かっていませんが、記録の列は残してあるので、また起きたら分かります。

| 止まった理由 | 回数 | 止まっていた時間（秒） | うち動けなくなった |
|---|---|---|---|
| もう1台のロボット | 105 | 5,375 | 80 |
| 人が立ち止まっていた | 65 | 2,412 | 30 |
| スタッフとすれ違った | 64 | 1,378 | 15 |
| お客さんとすれ違った | 31 | 470 | 6 |
| 分からない | 37 | 219 | 3 |
| 椅子・荷物・ベビーカー | 6 | 3 | 0 |
| 通路の順番待ち | 4 | 1,207 | 0 |

41往復のうち27往復が時間切れで、いちばん多いのはロボットどうしの待ち合いでした。受け渡し口の前（x15・z6）と、通路の入口（z4あたり）に集まっています。通路の入口での順番待ちも、1回で最長576秒ありました。


## 人がロボットをよける決まり：店員は必ず空け、客は少しだけ止まる（決めただけで、まだ入れていない）

【動画】LOG364_v3_run3_people_and_robots.mp4 3回目を真上と斜めから撮った動画（約1分18秒）。ロボットが客席の下の通路で止まり、まわりを客とスタッフが通る

3回目を回している途中の画面を見て、指摘がありました。

> ロボットは人が優先的に避けて欲しいね（ロボットは配膳しているところで詰まっていることが多い）

今の作りでも、人はロボットから0.75m 離れるようによけ、細い通路では下がって待ちます（ただし20秒で諦めて進む）。人がどれだけよけるかは、Unity で測りたい値そのものです。強くすれば止まる回数は減りますが、それが実際の店に近いのかどうかで、結果の意味が変わります。そこで、ファミレスで働いていたときの感覚を聞きました。

> 「店員は必ず道を空ける」店員は必ず避けると思うな（普段から動きに慣れているから） 「客は気づかずに立ち止まることがある」（多少は止まることあるけど、ロボットが配膳、下げ膳してたら他の道にいくか、強引に避けて通るかをするかな） ずっと立ち止まっていることはないね（ロボットの状況にもよるけど）

これを、切り替えて選べる「店員優先の版」としてまとめました。

| | 今のよけ方（既定） | 店員優先の版 |
|---|---|---|
| 店員 | 0.75m 離れる。細い通路では下がって待つが、20秒で諦めて進む | 必ず道を空ける。通路の入口か脇まで下がり、ロボットが通るまで待つ |
| 客 | 店員と同じ | 長くて5秒（仮の値）止まり、別の道があれば回り道、なければロボットの横を詰めて通る（すき間は10cm まで・仮の値） |
| 配膳・下げ膳中のロボット | 卓の前で止まっている間も同じようによける | 止まっているロボットは「よけて通る物」になる |

止まる回数が減ったときに、どの直しが効いたのか分からなくならないよう、これはロボットどうしの直しのあとに入れることにしました。この記事の時点では、まだ入れていません。


## 4回目（cs:123）：ロボットどうしを譲らせたら、止まる回数が4倍になった

実際の配膳ロボットは、同じ店の台どうしで連絡を取り合い、片方が道を譲ります。Unity のロボットにはこの仕組みがなかったので、入れました（cs:123）。

- 2台がふさぎ合ったら、番号の小さい台が先。大きい台は来た道（道順の1つ前の点）へ下がって待ち、すき間が0.6m 空いたら進む
- 通路の入口で待つ台は、入口の点そのものに立たず、外へ0.9m・横へ0.6m ずれた点で待つ
- 入口での順番待ちは20秒まで
- 料理が待っていても、仕事がない台は待機場所へ下げる

4回目を回している途中で、動画を見ての質問がありました。

【動画】LOG364_v4_run4_robots_back_and_forth.mp4 4回目を真上から撮った動画（約41秒）。受け渡し口の左の角で、白いロボット2台がくっついたまま、下がっては進むをくり返す

> ずっとロボットがロボットにぶつかりに行っているのはなんで？

| | 3回目（cs:122） | 4回目（cs:123） |
|---|---|---|
| 「もう1台のロボット」で止まった回数 | 105 | 429 |
| うち動けなくなった | 80 | 50 |
| 止まっていた時間 | 5,375秒 | 4,505秒 |
| 時間切れの往復 | 41のうち27 | 45のうち24 |
| ロボットが運んだ料理の割合 | 32% | 27% |

動けなくなる回数は減りましたが、止まる回数は4倍になりました。止めた相手の356回は1号機で、2号機がいつも譲っています。止まる場所の1位と2位は、受け渡し口の前（x15・z5〜6）でした。

【画像】LOG364_08_robots_at_pass_corner.png 受け渡し口の左の角を真上から拡大した画面。白いロボット2台が、青いスタッフ4人と固まっている

> ロボットは出番がない時は空いてる右のスペースに避けた方がいいんじゃない？

待機場所は、サイトの店の形ですでに受け渡し口の右に3台分決めてあります（x 16.5〜18.9m）。客席は受け渡し口の左にあるので、戻ってきた台が待機場所へ行くには、受け渡し口の前を通ります。待機場所を左（客席の側）へ移す案も出しましたが、こう返ってきました。

> この図面なら、受け渡し口の右かな。左はお客さんやスタッフの行き来が多いし、待機は邪魔かな

待機場所は右のまま、店の形は変えずに、通り方だけを直すことにしました。直す前に、見立てが合っているかを1006の記録で数えてもらいました（後ろの `20261023_1030_pass_front_check.txt`）。2号機が受け渡し口の前で「もう1台のロボット」で止まった182回のうち、そのとき1号機は、配り終えて戻る途中が132回（73%）、待機が32回（18%）、出ていく途中が18回（10%）でした。止まる回数が増えた主な理由は、新しい譲り合い（働いたのは22回だけ）ではなく、仕事がない台を必ず待機場所へ下げるようにしたことで、受け渡し口と待機場所の行き来が増えたことでした。

ここで、どこまで直すかの区切りを決めました。

> これでうまくいかないなら次に進もう。その中で修正ポイントも同時に考えるようにする


## 5回目（cs:124）：戻る台の線を受け渡し口の1m下に分けたら、鉢合わせは209回から5回に

報告には、受け渡し口の前を1台ずつの「予約」にする案（A）と、戻る台の線を分ける案（B）がありました。Unity では料理を載せる時間が0秒なので、どの台も受け渡し口で立ち止まりません。そのため「使っている間」を決める予約は、今の原因に合っていません。戻ってきた台を、行き来の多い客席側で待たせることにもなります。実際の配膳ロボットも、店の地図に通ってよい線や一方通行を引いて走らせるので、B だけを入れました。

戻る台は、サイトの道順の最後の点（受け渡し口の前の点）を通らず、受け渡し口の前の点の1.0m 下（15.3, 4.95）から、自分の待機場所の x まで右へ抜け、待機場所で往復を終えます。出ていく台の線とは中心どうしで1.0m 以上離し、ドリンクバーに並ぶ点からも0.6m 以上離しています。ロボットは直径0.5m なので、それより近いとセンサーが反応して、また止まるためです。

| | 2回目 | 3回目 | 4回目 | 5回目 |
|---|---|---|---|---|
| Check-in | cs:117 | cs:122 | cs:123 | cs:124 |
| 回り切った時間（分） | 299.7（止めた） | 221.5 | 232.5 | 210.0 |
| 帰った組 | 94 / 97 | 91 / 91 | 104 / 104 | 92 / 92 |
| 往復 | 47 | 41 | 45 | 51 |
| 時間切れの往復 | 45 | 27 | 24 | 16 |
| 止まった回数 | 1,222 | 312 | 774 | 421 |
| うち動けなくなった | 110 | 134 | 127 | 84 |
| 「もう1台のロボット」 | 327回・6,349秒 | 105回・5,375秒 | 429回・4,505秒 | 177回・2,594秒 |
| 人が原因（立ち止まり・すれ違い） | 146回・4,291秒 | 160回・4,260秒 | 294回・6,731秒 | 181回・4,708秒 |
| 道が引けない | 945 | 0 | 0 | 1 |
| 受け渡し口の前のロボットどうし | 13 | 34 | 209 | 5 |
| 逃がし弁（あきらめた・移した・卓を空けた） | 248・117・53 | 209・105・63 | 169・99・71 | 153・85・65 |
| ロボットが運んだ料理の割合 | 13.5% | 32.0% | 26.9% | 32.3% |
| 入店待ち（分） | 24.27 | 13.57 | 18.45 | 7.70 |
| 料理が届くまで（分） | 6.31 | 5.88 | 5.60 | 4.47 |
| 実時間（分） | 16.6 | 13.9 | 15.9 | 13.5 |

同じ条件のサイトの試算は、入店待ち1.02分、料理が届くまで0.46分、ロボットが運んだ料理の割合73%です。Unity とはまだ大きく違いますが、合わせることは目指していません。違いは、次の段階で理由を分けて調べます。

時間切れにならなかった35往復は、1往復の真ん中の値が45.9秒で、止まっていたのは4.5秒、走る速さは0.58m/秒でした。止まっていた時間のほとんどは、時間切れの16往復が、1往復で約10分ずつ動けずにいた分です。その間ロボットは使えないので、料理の7割をスタッフが運んでいます。

> もっと人より、ロボットフル活用しているようにしないとかな。ロボットが止まっている時間が多すぎるように見える。


## ③をここで止めた理由と、次に進みながら直す2つの点

時間切れは大半（6割）から3割に減りましたが、逃がし弁はまだ多く、段階A（どの店・どの条件でも最後まで回り切り、逃がし弁がほぼ0）の終わりの条件には届いていません。決めておいた区切りのとおり、③の直しはここで止め、段階B（条件を変えて回し、結果を台帳にまとめる）へ進みながら、次の2つを直します。

5回目にいちばん多く動けなくなったのは、A01（いちばん左の通路）の入口でのロボットどうし（73回）でした。2番目は、レジの前（x4〜6・z4）の「人が立ち止まっていた」（32回）です。

【画像】LOG364_09_two_robots_a01.png 左の通路の入口を真上から拡大した画面。白いロボット2台が同じ通路の入口に来て、まわりを黄色の客が囲んでいる

> 同じテーブル近くにロボットが集まらないような工夫が必要かもね。すぐ詰まっちゃう

今の作りでは、ロボットが料理を受け持つとき、ほかの台がどこへ向かっているかを見ていません。通路の中に台がいれば入らない決まりはありますが、入口に着いてから効くので、詰まりは防げません。料理を受け持つ段階で、ほかの台が向かっている・中にいる通路の卓は後に回すようにします。サイトの試算には通路という考え方がないので、これは Unity だけの決まりとして入れ、サイトとの違いの一覧に書きます。

レジについては、店の形を見ると、レジに並ぶ点（z 3.8m・4.3m）が、客席の下の通路のまん中にありました。客席の下の端は z 4.8m で、ロボットが左の通路へ行くときは、ここを通ります。

> レジテーブルもっと壁際に下げたほうが良さそう？

> レジの向きにもよるから、必ずこう！って感じじゃないけど、通路を狭くするようなレジの置き方はやめた方がいいよ。

店の形の決まりとして、「レジの向きは店ごとに違ってよい。ただし、レジの台・店員の立つ所・会計で並ぶ所で、通路を狭くしない」を足します。店の形はサイトが正なので、サイトの店の形の作り方（6店すべて）を先に直してから、Unity に入れます。

設計書（`unity_design_v0.md`）の0.5章には、この区切りと、2つの直す点を書き足しました（全文は後ろの「設計書の0.5章」）。


## データとコードの置き場所

| もの | 場所 |
|---|---|
| Unity の出力（4回分） | KIOXIA `r2r2r-data/service_sim/unity/20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_{0655_stopped,0913,1006,1135}/` |
| Unity の設計書・Claude Code の報告 | iCloud `サービスロボット導入シミュレーション/unity/`（unity_design_v0.md・claude_code_reports/） |
| Build Store の確かめの出力 | iCloud `サービスロボット導入シミュレーション/unity/screens/` |
| Unity のコード | `/Users/shimazueiichi/Robotics_UX/Robotics_UX_New/Assets/ServiceSim/`（Unity Version Control cs:117〜cs:124） |
| 店の形のデータ | GitHub `PixelstoMotors/p2m-site` の `public/sim/layouts/unity/p1_efficient_corner.json`（版 9628954a582f。この回では変えていない） |

回した記録のうち、人どうしの詰まりの記録（people_jams.csv、1回あたり156〜279KB）は、この記事では使っていないので載せていません。KIOXIA の同じフォルダにあります。それ以外の出力は、後ろにすべて載せます。


## Claude Code への依頼文

Claude Code に送った文を、送った順にすべて載せます。

### 1. 35.9分で止まった原因を調べる（直さない）

```
③ スタッフ4人・ロボット2台を回したところ、35.9分の時点で、パントリーの角でロボット1台をスタッフ3人が囲んだまま動けなくなり、客34組が入口に並んだまま案内されませんでした（待ち0・帰った0・あきらめ82回・立ち往生3回）。途中で止めたので、出力はありません。
直さずに、まず原因を調べて報告してください。
1. 立ち往生で呼ばれたスタッフが、ロボットのそばで互いにふさぎ合っていないか（1台に何人呼んでいるか、着く場所が重なっていないか）
2. あきらめたのは誰か（客・スタッフ）と、その行き先
3. 案内の仕事が、立ち往生の呼び出しに押されて後回しになり続けていないか
4. 途中で止めても give_ups.csv と summary.json が書き出されるようにできるか（できるかどうかの報告だけ）
5. 途中で止めたので、.asset がサイトの値のまま残っていないか確かめ、残っていたら元に戻す
```

### 2. 助けに行く仕事の矛盾を直す（cs:117）

```
20261022_2230_deadlock_pantry.txt の6節のうち、次の3つだけを入れてください。
1. Rescue の仕事を持っているスタッフは、その台について KeepClear・下がる・待つ・回り道をしない（ほかの台はこれまでどおりよける）。行き先はロボットの手前0.8mの点にし、ロボットが動いたら行き先を更新する。着いた判定はその点で行う
2. あきらめた回数を、人ごとではなく仕事ごとに数える（3回で移す逃がし弁が、仕事が人から人へ回っても働くように）
3. 途中で Play を止めても、そこまでの記録（summary.json・trips.csv・give_ups.csv など）を書き出す。stopped_early を立て、フォルダ名に _stopped を付け、try/catch で包む
スタッフが待つ点の場所と、取られっぱなしを防ぐ区切りは変えないでください。
直したら Check-in して、もう一度「③ スタッフ4人・ロボット2台」を押すよう私に言ってください。
```

### 3. 座っている客を画面に出す（cs:118）

```
10/21 に頼んだまま入っていなかった件です。客が座っていることが、画面で分かるようにしてください。
1. 客が席に着いたら、その席に「座っている客」の形を出し、立ち上がったら消す（ドリンクバー・トイレ・会計で立つときも消し、戻って座ったらまた出す）
2. 色は立っている客と同じ黄色。真上から見て、ベンチの箱（高さ1.1m）や仕切りに隠れずに見えること。形の高さは見えることを優先して決めてよい
3. 見た目だけにする。当たり判定（Collider）・NavMesh・ロボットのセンサー・人がよける処理には一切入れない（止まる回数が変わるため）
4. LABEL_RULES.md の「形と色で表す状態」の節に、この決まりを書いてから作る
報告してほしいこと：
- 変えたファイルと、当たり判定・NavMesh・センサーに触れていないことの確認
- 真上からの Scene ビューで、座っている客が見えている画面を1枚
直したら Check-in してください。
```

### 4. 座った形が出なかった件と、A03 の詰まりを調べる（cs:119）

```
cs:118 のあと ServiceSim/Build Store を押しました（07:28）。screens/20261023_family_v0_top_w120_people.png には、座った客の形が1体も写っていません（ロボット2台とスタッフ2人だけ）。Console にも「席に出した形 N 体」の行が出ていません。
1. Build Store が、座った形を出す処理まで進んでいるか。途中で止まっていないか、ログが出ない道を通っていないか
2. seatedBodyPrefab がまだ空のままになっていないか（EnsureSeatedBodyPrefab が呼ばれているか）
3. Build Store の「8割の卓に座った客を置く」で、そもそも客の組を置いているか（画像に客が1人もいない）
原因を直して Check-in し、もう一度 Build Store を押すよう私に言ってください。当たり判定・NavMesh・センサーに触れない決まりはそのままです。
```

```
③ スタッフ4人・ロボット2台を回しました（cs:117。出力は KIOXIA の 20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_0655_stopped）。助けに行く仕事は直りましたが、ロボットが通路A03の入口（x9・z4あたり）で動けなくなります。47往復のうち45往復が600秒の時間切れで、止まった1,222回のうち約920回がこの場所の「通路の幅が足りない」と「もう1台のロボット」でした。
直さずに、まず原因を調べて報告してください。
1. A03は幅1.2mなのに、なぜ「通路の幅が足りない」（path_blocked・partial_path）になるのか。1台が中にいるとき、もう1台が入口で待つ決まりになっていないか
2. 中の台が出ようとしたとき、入口で待っている台がふさいで、互いに待ち合っていないか
3. サイトから渡した道順（routes）のうち、A03を通る卓はどれか
4. 最後まで帰らなかった3組（state が Seated のまま）が、なぜ帰れないのか
```

### 5. ベンチと座っている客の見た目・種類の印（cs:120）

```
ベンチと座っている客の見た目を変えてください。あとで Unity の映像（天井の角のカメラ）から人とロボットを見分ける学習に使うので、本物に近い見た目にします。測る数字は変えません。
1. Bench の当たり判定の箱（大きさ・位置・高さ1.1m）はそのまま残し、見た目（Renderer）だけ消す
2. 見た目だけの座面（高さ0.45m）と背もたれ（机と反対側に薄く、高さ1.1m）を出す。当たり判定なし。今の BenchSeat は、これと重ならないように整理する。色と素材は、あとで差し替えられるよう1か所（マテリアル）にまとめる
3. 座っている客の形は、座面に座っているように見える形と高さにする（頭が背もたれより少し上に出る）。当たり判定なしのまま
4. 種類の印（Layer か Tag）を付ける：ロボット・スタッフ・立っている客・座っている客・ベンチ・机・椅子。今は付けるだけで、使うのはあと
5. NavMesh・ロボットのセンサー・人がよける処理・店の形の確かめには触れない。直したあと Build Store の store_report で、通れる床と卓までの道が直す前と同じことを確かめる
6. LABEL_RULES.md の「形と色で表す状態」に、ベンチと座っている客の見た目の決まりを書いてから作る
直したら Check-in して、Build Store を押すよう私に言ってください。
```

### 6. 立っている人の形をそろえる（cs:121）

```
座っている客の「胴＋頭」の形が人として分かりやすいので、立っている人の見た目も同じ形にそろえてください。
1. 対象：スタッフ・歩く客・待合の客（立っている人すべて）。座っている客と同じ作りの胴＋頭にし、背の高さは今のまま（客1.7m など）
2. 色は今のまま（スタッフ青・客黄色など）。マテリアルも今のものを使う
3. 取り替えるのは見た目（Renderer）だけ。当たり判定（大きさ・半径・高さ）、NavMeshAgent の半径と高さ、PersonBody、人がロボットをよける処理には触れない
4. Tag は今のまま（SimStaff・SimGuest）
5. LABEL_RULES.md の「形と色で表す状態」に、立っている人の形の決まりを書いてから作る
直したら Check-in して、Build Store を押すよう私に言ってください。store_report と卓までの道の表が、08:23 の分と同じになることを確かめます。
```

### 7. 道が引けない原因を調べる列を足す（cs:122）

```
20261023_0730_a03_deadlock.txt を読みました。6節の a〜d はまだ入れないでください。
まず、動きを変えずに、stops.csv に〈寄せたあとの出発点・行き先・CalculatePath の結果（status と角の数）〉の3列を足してください。あわせて、そのときロボットの位置が焼いた面の上にあるか（NavMesh.SamplePosition で一番近い面までの距離）も1列足してください。
直したら Check-in して、「③ スタッフ4人・ロボット2台」を押すよう私に言ってください。3組が帰らないので、10分ほどで私が止めます。
```

### 8. ロボットどうしの譲り合い（cs:123）

```
cs:122 で ③ を回しました（出力 20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_0913）。全員帰りましたが、41往復のうち27往復が時間切れです。道が引けない（path_blocked）は0回でした。止まりの一番は「もう1台のロボット」105回（うち動けなくなった80回・5,375秒）で、受け渡し口の前（x15・z6）と通路の入口（z4あたり）に集まっています。通路の入口の順番待ちも、1回で最長576秒ありました。
実際の配膳ロボットは台どうしで連絡を取り合い、片方が道を譲るので、ロボットどうしの待ち合いを直します。直すのはこれだけです（6節の a・c・d と、人のよけ方は入れない）。
1. 2台がふさぎ合ったら、決まった順（番号の小さい台が先など）で片方が譲る。譲る台は、相手の道からどいて待ち、相手が通ったら進む
2. 通路の入口で待つ台は、入口の点そのものに立たず、中の台が出てくる道をふさがない場所で待つ
3. 入口での順番待ちに上限を付ける（人の20秒と同じ考え方。値は Unity だけの仮の値として1か所に置く）
4. 受け渡し口の前で、出発する台と戻ってきた台がふさぎ合わないようにする
直したら Check-in して、③ を押すよう私に言ってください。「もう1台のロボット」の回数と、時間切れの往復の数を前と比べます。
```

### 9. 受け渡し口の前の通り方（最後の1回・cs:124 の前の確かめ）

```
cs:123 で ③ を回しました（出力 20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_1006）。「もう1台のロボット」の止まりが105回から429回に増え、時間切れは45往復のうち24です。止まる場所の1位は受け渡し口の前（x14〜15・z5〜6、約210回）でした。待機場所は受け渡し口の右なので、料理を載せている台の前を、戻る台が通れずに「譲って下がる→また進む」をくり返しています。
待機場所の位置（サイトの店の形）は変えません。直すのは受け渡し口の前の通り方だけです（下の通路 z4 のすれ違いは今回は直さない）。
1. 受け渡し口の前は、1台ずつ使う場所にする。使っている台がいる間、ほかの台は自分の待機場所で待ち、空いたら出る
2. 待機場所へ戻る台は、受け渡し口の前の点を通らず、その少し下を通って右へ抜ける線を通る。線が通れる床に乗っていることを確かめる
3. 1・2の線と場所は、Unity だけの決まりとして RobotSpec の1か所にまとめる
4. 直す前に、1006 の記録で「受け渡し口の前で2号機が止まったとき、1号機は何をしていたか（載せている・待っている・戻っている）」を数えて、見立てが合っているかを報告に書く。合っていなければ直さずに止めて報告する
直したら Check-in して、③ を押すよう私に言ってください。
```

### 10. 戻る台の線だけを入れる（cs:124）

```
B だけでお願いします（予約の A は入れない）。
戻る台の線は、出ていく台の線（受け渡し口の前の点を通る線）から、中心どうしで1.0m以上離してください。ドリンクバーに並ぶ点（18.8, 4.8 と 18.8, 5.3）とも重ならないようにしてください。
線が通れる床に乗らないときは、報告のとおり使わずに今までどおりにして、報告に書いてください。
直したら Check-in して、③ を押すよう私に言ってください。
```


## Claude Code の報告

ファイルに書かれた報告と、チャットで返ってきた報告を、届いた順にすべて載せます。

### 20261022_2230_deadlock_pantry.txt（35.9分で止まった原因）

```text
③ スタッフ4人・ロボット2台 が 35.9 分で止まった件。直さずに原因だけ調べました。
コードを読んで分かったことと、数字で確かめられたことを分けて書きます。

════════════════════════════════════════════════════════
結論（いちばんの原因）
════════════════════════════════════════════════════════

**スタッフは、ロボットに 0.75 m より近づけません。
  なのに、立ち往生を助ける仕事は「0.35 m まで近づく」ことを着いた条件にしています。
  つまり、歩いて助けに行く仕事は、最初から**ぜったいに終わりません**。**

  人がロボットをよける処理（PersonRobotYield.KeepClear）は、
  ロボットの近くにいる人を毎コマ押しのけます。押しのける先は

      personRadius 0.2 ＋ ロボットの半径 0.25 ＋ robotKeepClearM 0.3 ＝ **0.75 m**（中心どうし）

  一方、私が入れた Rescue の仕事は「ロボットの位置」を行き先にしていて、
  着いたとみなす距離は NavMeshAgent の

      stoppingDistance 0.3 ＋ 0.05 ＝ **0.35 m**（StaffAgent.Update の到着判定）

  0.75 m ＞ 0.35 m なので、押しのけが働いているかぎり到着しません。
  さらに NavMeshAgent どうしのよけ合いも効きます（ロボットの avoidancePriority 0 ＝ 強い、
  スタッフ 50 ＝ 弱い）ので、スタッフ側が必ずよけます。半径だけでも 0.2＋0.25＝0.45 m 空きます。

  細い通路の中だと、もっと手前で追い返されます（robotFaceToFaceM 1.5 m ＝
  中心どうし 1.95 m 以内で「下がる」に入る。下がっている間は到着判定そのものをしない）。

  v5 の前は、動けなくなったロボットは 15 秒で受け渡し口へ移していたので、
  この矛盾が表に出ませんでした。移すのをやめた（v5 3章）ことで出ました。

────────────────────────────────────────────────────────
1. 立ち往生で呼ばれたスタッフが、互いにふさぎ合っていないか
────────────────────────────────────────────────────────

(1) 1台に呼ぶのは **1人だけ**です（重ねて呼んではいません）

  ・EnterStuck は「すでに StuckWait なら何もしない」ので、
    1回の立ち往生につき呼び出しは1件だけ出ます
  ・仕事板から取れるのは1人だけです（TakeNextJob が taken を立てる）
  ・立ち往生3回 ＝ 呼び出しも3件。2台なので、同時にあったのは多くて2件です

(2) ですが、**同じ場所に人が集まる作りになっています**

  ・手の空いたスタッフが待つ点は、パントリーのすぐ横に **0.608 m 間隔で縦に6つ**並んでいます
      StaffStandby (13.75, 6.804) (13.75, 7.412) (13.75, 8.021) (13.75, 8.629) …
      受け渡し口・パントリーの点は (15.3, 5.95)
  ・仕事が無いスタッフは、ここへ戻ります（StaffAgent.Idle → StandbyPoint）
  ・ロボットの待機場所も (16.9, 6.05) (17.7, 6.05) と、同じ角です
  → パントリーの角にロボットが止まると、**待つ点・ロボットの通り道・助けに行く人**が
    ぜんぶ 0.75 m の押しのけの輪の中で重なります。これが「3人で囲んだまま」の形です。

(3) 行き先が重なる作りも1つあります（今回これが起きたかは分かりません）

  Rescue の行き先は、仕事を**始めた瞬間のロボットの位置**を点として覚えます
  （StaffAgent.Begin が RobotPoint を _steps に入れる）。
  そのあとロボットが動いても、その人は古い点へ歩き続けます。

────────────────────────────────────────────────────────
2. あきらめたのは誰か（82回）
────────────────────────────────────────────────────────

  「あきらめた」を記録するのは4か所だけです。
    客     … ドリンクバー・トイレ・帰る（座っている組だけ）
    組     … 会計・片付けで止まったまま（座っている組だけ）
    スタッフ … 行き先へ 60 秒で着けなかったとき

  今回は **1組も着席していません**（帰った0・待ち0で、34組ぜんぶが案内待ち）。
  客も組も座っていないので、**82回はすべてスタッフ**のはずです。

  数も合います。スタッフ 4 人 × 60 秒ごとに1回 ＝ 1分あたり最大4回。
  詰まっていた時間を 20 分とすると 4 × 20 ＝ 80 回。観測は 82 回です。

  行き先は give_ups.csv の to_x / to_z に残りますが、今回は書き出していないので
  私の側では確かめられません（4. のとおり、途中で止めても書けるようにできます）。
  仕事の名前（job 欄）が「立ち往生を動かす」なら Rescue、「案内」なら案内です。

  あきらめ方には、もうひとつ落とし穴があります。
    ・同じ仕事を3回あきらめたら、その場所へ**体を移して**仕事を済ませます（B1）
    ・ただしこの回数は **スタッフ1人ずつが別々に数えています**（StaffAgent._tries）。
      仕事が人から人へ回ると、誰も3回に届かないまま回り続けます
    ・Rescue では、移したあとも押しのけですぐ 0.75 m まで離されるので、
      「移した → 着いたと認められない → 回数が 0 に戻る → また 60 秒」
      を繰り返します（移した瞬間に経路を引き直すので、その1コマは到着と見なされません）

────────────────────────────────────────────────────────
3. 案内が、立ち往生の呼び出しに押されて後回しになっていないか
────────────────────────────────────────────────────────

  **なっています。** 仕組みは2つです。

  (1) Rescue は優先度 0（案内・料理・呼び出し・会計は 1、片付けは 2）で、
      仕事板の**先頭**に入れています。TakeNextJob は優先度 0 を見つけた時点で打ち切るので、
      手が空いたスタッフは、案内より先に必ず Rescue を取ります。

  (2) その Rescue は終わりません（上の結論）。60 秒であきらめて板に戻り、
      次に手が空いた人がまた取ります。**1〜2人がこれに取られっぱなし**になります。

  そのうえで、残りのスタッフも同じ角で押しのけ合っているので、案内も 60 秒で
  あきらめ続けます。結果、34組ぶんの案内の仕事が板に積まれたまま進みません。

  「待ち0」は、空き卓が無いという意味ではありません。空の店なので 34 組ぜんぶに
  卓がすぐ割り当てられ、**案内の仕事待ち**に移っています（だから待ち0・帰った0）。

────────────────────────────────────────────────────────
4. 途中で止めても give_ups.csv と summary.json を書き出せるか
────────────────────────────────────────────────────────

  **できます。** いまは書き出しが FinishJob の中だけにあり、
  Play を止めると OnDisable で .asset を戻すだけで、何も書かずに終わります。

  やり方（入れるなら）
    ・ExperimentRunner に「いま持っている分を書き出す」処理を切り出し、
      OnDisable（または OnApplicationQuit）から、回している最中なら1回だけ呼ぶ
    ・run_info.json の stopped_early を true にし、summary.json の site_run にも
      「途中で止めた」と分かる印を入れる（everyone_left は false のまま）
    ・書き出し中に失敗しても Play を抜けられるよう、try/catch で包む

  気をつける点
    ・Play を抜けるときは、ほかの部品が先に壊れていることがあります。
      記録そのもの（TripLogger）はただの C# の入れ物なので安全ですが、
      書き出しの中で新しくオブジェクトを探したり消したりしないこと
    ・途中で止めた回は計測に使えないので、フォルダ名に _stopped を付けて
      そうと分かるようにするのがよいと思います

────────────────────────────────────────────────────────
5. .asset がサイトの値のまま残っていないか
────────────────────────────────────────────────────────

  **残っていません。元に戻っていました**（Play を抜けるときの OnDisable が働いています）。
  ファイルを直接読んで確かめました。

    PeopleSpec.asset   staffCount 2（サイトの条件では 4）
                       staffDwellAtPassSec 3（サイトの条件では 0）
                       staffSpeed 1 / warmupOccupancy 0.8
    ServiceSpec.asset  arrivalsPerHourByCrowd 25 / 35 / 45（サイトの条件では 42 固定）
                       trays 3・peakMinutes 120・guideSec 45・paySec 90 ほか、元のまま
    RobotSpec.asset    tableDwellSec 25（サイトと同じ値なので、どちらでも同じ）

  Unity の Inspector でも、PeopleSpec の「スタッフの人数 2」「受け渡し口で料理を取る時間 3」
  になっていることだけ、目で確かめていただけると確実です。

────────────────────────────────────────────────────────
6. 直すとしたら（まだ何もしていません）
────────────────────────────────────────────────────────

  いちばん小さい直しは「助けに行く人は、その台をよけない」だと思います。
    ・Rescue の仕事を持っているスタッフは、その台について KeepClear と
      下がる・待つ・回り道をしない（ほかの台にはこれまでどおりよける）
    ・行き先を「ロボットの位置」ではなく「ロボットの手前 0.8 m くらいの点」にして、
      着いたとみなす距離と矛盾しないようにする
  あわせて見直したほうがよさそうな点
    ・あきらめた回数を仕事ごと（人ごとではなく）に数える
    ・Rescue を取れるのは1件につき1人のままでよいが、
      案内が長く止まらないよう、取られっぱなしを防ぐ区切りを入れる
    ・手の空いたスタッフの待つ点が、受け渡し口・ロボットの待機場所と同じ角にある

  どれを入れるかはご指示をください。
```

### cs:117 の報告（チャット）

```text
ご指定の3つだけ入れて cs:117 で Check-in しました。

  1. 助けに行くスタッフは、その台だけはよけない
  PersonRobotYield に ignoreRobot を足し、その台については「横に空ける（KeepClear
  ）・下がる・入口で待つ・回り道する」をしません（ロボットを探す3か所すべてに同じ
  除外を入れました）。ほかの台はこれまでどおりよけます。
  行き先はロボットの中心から自分がいる側へ 0.8 m の点にし、相手が 0.25 m
  より動いたら引き直します。着いた判定は経路の残りではなくその点との距離 0.35 m
  以内で見ます（引き直した直後の remainingDistance は当てにならないため）。

  これで着ける範囲は中心距離 0.45〜1.15 m。よけ合いで最低 0.45 m は空くので、0.8
  m の点にそのまま立てます（直す前は押しのけ 0.75 m に対して判定 0.35 m
  で、原理的に届きませんでした）。
  行き先を引き直してもあきらめの時計は止めないので、どうしても立てないときは逃が
  し弁が働きます。

  2. あきらめた回数を仕事ごとに数える
  StaffJob.tries に移し、StaffAgent
  側の人ごとの辞書を外しました。これで仕事が人から人へ回っても 3
  回で「移して済ませる」が働きます。1 と組み合わせると、万一 0.8 m
  の点に立てなくても、移されたあと判定が通って仕事が終わります。

  3. 途中で止めても書き出す
  書き出しを WriteOutputs(dir, stoppedEarly) に切り出し、OnApplicationQuit と
  OnDisable の両方から呼びます（二重に書かない印つき）。フォルダ名は末尾
  _stopped、run_info.json の stopped_early が true（everyone_left は false
  のまま）、まるごと try/catch です。Play
  を抜ける最中なので、中でオブジェクトを探したり消したりはしていません。

  変えていないもの：スタッフが待つ点の場所、取られっぱなしを防ぐ区切り、立ち往生
  の判定（60 秒）、1往復の打ち切り（600 秒）。

  もう一度 ServiceSim/Site Run/③ スタッフ4人・ロボット2台 を押してください。
  途中で止めても _stopped フォルダに summary.json・trips.csv・give_ups.csv
  が出るようになったので、また詰まったらそれを送っていただければ、誰が何回あきら
  めてどこへ向かっていたかまで追えます。見ていただきたいのは Console
  の「とちゅう」の 立ち往生の回数とあきらめの回数が増え続けないか、それと帰った数
  が増えていくかです。
```

### cs:118 の報告（チャット）

```text
cs:118 で入れました。

  入っていなかった理由
  出す・消す仕掛け（SeatedGuest.ShowSeated と GroupManager.UpdateSeatedBodies）は
  10/21 に入っていました。足りなかったのは形の prefab
  そのものです。People/SeatedGuestBody.prefab
  が一度も作られておらず、PeopleSpawner.seatedBodyPrefab が null のまま。null
  だと ShowSeated が何もせずに戻るので、席にはずっと何も出ていませんでした。

  1. LABEL_RULES.md を先に直しました（「形と色で表す状態」の節）。出す・消す条件
  、黄色（Mat_Guest）、高さ 1.4 m
  とその理由、見た目だけという決まりを書いてから作りました。

  2. 高さ 1.2 m → 1.4 m（PeopleSpec.cs と .asset）。1.2 m
  のままだと仕切りと同じ高さで真上から見分けられませんでした。ベンチの箱 1.1
  m・仕切り 1.2 m より高く、立っている客 1.7 m より低くしてあります。

  3. 形を用意する出口を作りました。ServiceSimSetup.EnsureSeatedBodyPrefab(PeopleS
  pec) を公開し、Build Store
  が、参照が空なら自分で用意して入れるようにしました。高さを変えたら作り直します
  （前は「あれば何もしない」で、高さを変えても古いままになる作りでした）。

  変えたファイル：LABEL_RULES.md / People/PeopleSpec.cs / People/PeopleSpec.asset
  / Editor/ServiceSimSetup.cs / Editor/ServiceSimMenu.cs
  （PeopleSpec.asset には 1 日前からの未 Check-in の変更も一緒に入っています）

  当たり判定・NavMesh・センサーに触れていないことの確認（コードから読み取れる事実
  ）
  - prefab の中身は当たり判定を消したカプセル1つだけ。AddComponent
  は1つもありません（Collider・PersonBody・NavMeshAgent を持たない）
  - NavMesh は NavMeshCollectGeometry.PhysicsColliders
  で焼くので、当たり判定が無いものは入りません。しかも焼くのは bakeRoot＝Store
  の下だけで、人は People の下に置くので二重に外れます
  - ロボットの前のセンサーは
  Physics.OverlapBoxNonAlloc（当たり判定を見る）なので入りません
  - ロボットの
  UpdateClearance・人がロボットをよける処理・人どうしの詰まり・歩く人の数は
  PersonBody.All を見ますが、この形は PersonBody を持たないので入りません

  → 止まる回数は変わりません。

  真上からの画面について：Editor
  が開いたままなので私からは撮れません。ServiceSim/Build Store を押してください。
  終わると screens/ に {日付}_{run_name}_top_w120_people.png
  が出ます（真上・1920×1080、8割の卓に座った形）。Console に「席に出した形 N
  体・高さ 1.4 m・見た目だけ」と出るので、N が 0 でないことも見ていただけます。そ
  の画像を送っていただければ、隠れずに見えているかを報告に残します。

  なお、Build Store のあとにシーンを保存していただくと、回すとき（Site
  Run）にも席に形が出ます。
```

### cs:119 と A03 の調べの報告（チャット）

```text
2件まとめて報告します。

  A. 座っている客が出ない件 → cs:119 で直しました

  原因：07:28 の Build Store は最後まで走って画像も出ているのに、prefab
  が作られず、私が入れた Console 行も出ていません。つまり押した時点の Unity 
  が、cs:118 を取り込む前のアセンブリで動いていた（読み込み直しの前に押した）とい
  うことです。

  ご質問の3点への答え：
  1. Build Store は最後まで進んでいます（画像・store_report・CSV が 07:28
  に出ています）。止まってはいません。進んだのが古いコードだった、という形です。
  2. seatedBodyPrefab は空のままです。SeatedGuestBody.prefab
  はいまもディスク上に存在しません（People/ には
  Guest・SeatedGuest・Staff・WaitingGuest の4つだけ）。つまり
  EnsureSeatedBodyPrefab は一度も走っていません。
  3. Build Store は客の「組」は置きません（これは元からの設計です）。置くのはスタ
  ッフと、卓ごとの見えない仕掛けだけ。絵に出る客は座った形だけなので、形が出ない
  と客は1人も写りません。歩く客は回したときにだけ出ます。

  直した内容：
  - 新規 Editor/ServiceSimSeatedBody.cs
  に処理をまとめ、ServiceSim/座っている客の形を用意する
  という単独メニューを追加（押せば結果を必ず Console に出します）
  - Build Store は毎回この処理を通るようにしました（前は「参照が空のときだけ」）
  という単独メニューを追加（押せば結果を必ず Console に出します）
  - Build Store は毎回この処理を通るようにしました（前は「参照が空のときだけ」）
  - SeatedGuest.ShowSeated が、形が無いまま呼ばれたら警告を出すようにしました。2
  日間気づけなかったのは、ここが黙って戻っていたためです

  当たり判定・NavMesh・センサーの決まりは変えていません。

  押してください：まず Unity に切り替えてコンパイルが終わるのを待ってから、Servic
  eSim/座っている客の形を用意する → 次に ServiceSim/Build
  Store。1つめで「座っている客の形を用意しました（高さ 1.4
  m…）」が出れば成功です。

  B. A03 の詰まりの原因調査（直していません）

  報告は claude_code_reports/20261023_0730_a03_deadlock.txt です。

  結論：通路の幅は足りています。足りないのは「止まったまま抜け出す道」です。

  1. 「通路の幅が足りない」は幅の話ではありません —
  「次の点までの道が引けなかった」に付く名前です。そのときの左右の空きは 37〜275
  cm（中央 118 cm）。07:28 の store_report でも A03 の焼いた面は 0.62 m
  幅、道順の点 189 個すべてが面に乗り、届かない卓 0/42 です。椅子も違います（③
  は椅子 8 脚だけで、0.3 m 引いても 42 本の道順のどれにも届きません）。
  問題は道が引けないとロボットは 1 mm も動けないこと（wantMove が hasPath
  を要求）。そして逃げ道の「通路の入口まで歩いて出る」は歩くために道が必要なので
  、いちばん必要な場面で働きません。入口まで 0.48 m なのに歩き出せず、10
  秒ごとの引き直しを 600 秒の打ち切りまで繰り返します（往復39 では 2 cm
  のあいだを行き来しながら 51 回）。
  入口で待つ決まりはあります（MustWaitForAisle。中に台がいれば入らない／同じ通路
  なら番号の小さい方が先）。そして待ち時間に上限がありません（人には 20
  秒の上限があるのに）。
  2. ふさぎ合っています。記録に2回、A01 の入口で 576 秒と 556
  秒の待ちがあり、どちらも 600 秒の打ち切りで終わっています。外の台が入口の点その
  ものに立つので、中の台が出ようとしてもセンサーで止まり、互いに待ち合います。
  3. A03 を通るのは T18〜T26 の9卓（A01 は T01〜T08 の8卓、A02 は T09〜T17
  の9卓、残り16卓はどの通路も通りません）。
  4. 帰れなかった3組は
  T16・T19・T20。戻した皿100枚のうちこの3卓が24枚ずつ（計72枚）、理由は全部「打ち
  切り」。最初の料理が全部届かないと食事に移れないので、3組は Seated
  のまま固まります。しかも卓を強引に空ける逃がし弁は会計中・片付け中にしか効かな
  いので、永久に卓が空きません。その結果、往復11以降 robot1 は
  **22回続けてまったく同じ「19;20;16」**を走り、毎回時間切れ → これが 45/47
  の時間切れの正体です。

  残った1点は「27 cm 先の点になぜ道が引けないのか」です。stops.csv
  に〈寄せたあとの出発点・行き先・CalculatePath
  の結果〉の3列を足せば1回回すだけで決まります。直し方の案は報告の6節に4つ書きま
  した（道が引けないときに手前の点へ戻す／入口待ちに上限／Seated
  にも逃がし弁／戻りすぎた皿は人に回す）。どれを入れるかご指示ください。
```

### 20261023_0730_a03_deadlock.txt（A03 の入口の詰まり）

```text
③ スタッフ4人・ロボット2台（cs:117）が A03 の入口で動けなくなった件。
直さずに原因だけ調べました。読んだのは
  20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_0655_stopped（trips/stops/dishes/groups/summary）
  店の形の JSON（p1_efficient_corner.json）
  07:28 の store_report（同じ③の店を、焼きたての NavMesh で調べたもの）

════════════════════════════════════════════════════════
結論
════════════════════════════════════════════════════════

**通路の幅は足りています。足りないのは「止まったまま抜け出す道」です。**

  1.「通路の幅が足りない」は、**幅の話ではありません**。
    「次の点までの道が引けなかった」ときに付く名前です（StopCause.NoPath）。
    そのとき記録された左右の空きは 37〜275 cm（中央 118 cm）で、物理的には広く空いています。

  2. 道が引けないあいだ、ロボットは **1 mm も動けません**。
       走ってよいか＝ wantMove ＝ 前が空いている かつ **道が引けている** かつ …
     道が引けないと wantMove が false になります。

  3. 道が引けないときの逃げ道（EscapePartialPath）は「通路の入口まで歩いて出る」ですが、
    **歩くには道が引けている必要がある**ので、いちばん必要な場面で働きません。
    入口まで 0.48 m しかないのに、そこへ歩き出せません。

  → 10 秒ごとに引き直す → 引けない → 入口へ出ようとする → 歩けない → 10 秒ごとに…
    を 600 秒の打ち切りまで繰り返します。1 往復あたり約 50 回の「止まり」として記録されます。

  実際の記録（往復39・robot1）。2 cm のあいだを行き来しながら、10.0 秒ちょうどで同じことを繰り返します。

     208.1 分 (9.38,4.52) 通路の幅が足りない 10.0 秒 引き直し replans=2 no_path 10.0 秒
     208.3 分 (9.30,4.47) 通路の幅が足りない 10.0 秒 引き直し replans=2 no_path 10.0 秒
     208.5 分 (9.30,4.49) 通路の幅が足りない 10.0 秒 引き直し replans=2 no_path 10.0 秒
     …（51 回・合計 504 秒）→ 600 秒で打ち切り

  no_path が 10.0 秒／10.0 秒なので、**その 10 秒のあいだ一度も道が引けていません**。
  引き直した先（通路の入口 9.2, 4.0）への道も引けていない、ということです。

────────────────────────────────────────────────────────
1. A03 は幅 1.2 m なのに、なぜ「通路の幅が足りない」になるのか
────────────────────────────────────────────────────────

(1) 幅は足りています（07:28 の store_report より。同じ店・焼きたての面）

    A03: 通路 1.2 m / 焼いた面のいちばん狭いところ **0.62 m**（ロボットの半径はすでに引いた後の幅）
    ロボットの道順 42 本・点 189 個のうち、ロボット用の面に乗っていない点 **0 個**
    ふさがないとき、届かない卓 **0 / 42**
    通路の入口の点（9.2, 4.0）のまわりのすき間 **1.00 m**

(2) 椅子でもありません

    ③ の椅子は **8 脚だけ**（A01〜A03 ぞいの卓はベンチで椅子を持ちません）。
    8 脚すべてを 0.3 m 引いた状態で、42 本の道順すべてと突き合わせました。
    **道順をふさぐ組み合わせは 0 件**です。

(3) 残るのは「道の引き方」です

    止まっている位置は (9.30, 4.47)。次の点は (9.31, 4.74) で、**27 cm 先**です。
    まわりは 0.67 m 空いています。この 27 cm の道が引けていません。
    ここから先は、回してみないと決められません。4 節に、何を足せば分かるかを書きます。

(4) ご質問の「1台が中にいるとき、もう1台が入口で待つ決まり」→ **あります**

    ServingRobotController.MustWaitForAisle
      ・その通路の中に別の台がいれば入らない
      ・同じ通路を目指している台が2台あれば、**番号の小さい方が先**
    待つ場所は通路の入口の点で、**待ち時間の上限がありません**。
    （人がロボットを待つときは 20 秒で打ち切る決まり robotYieldMaxSec があるのに、
      ロボットどうしには何もありません）

────────────────────────────────────────────────────────
2. 中の台が出ようとしたとき、入口の台とふさぎ合っていないか
────────────────────────────────────────────────────────

**ふさぎ合っています。記録に 2 回出ています。**

    15.7 分 robot2 往復1 (1.89, 3.81) **576 秒** 入口で待った  先に入っている台：ServingRobot01
    37.3 分 robot1 往復5 (1.90, 3.79) **556 秒** 入口で待った  先に入っている台：ServingRobot02

  どちらも A01 の入口（1.8, 3.8）で、**600 秒の打ち切りまで待ち続けて**終わっています。
  この2往復は、それだけで時間切れになりました（往復1 は届いた皿 0）。

  成り立ちは次のとおりです。
    ・外の台は「中の台が通路の区画から出る」まで待つ。上限なし
    ・中の台が戻り（ToPass）のときは譲らない決まりなので、出ようとはする
    ・しかし外の台は**入口の点そのもの**に立っているので、出口でぶつかる。
      ロボットは前のセンサーで相手を見ると止まる
    ・中の台が出られない → 外の台の待ちが終わらない → 互いに待ち合う

  なお A03 の入口の 982 回の止まりは、**973 回が robot1**、robot2 は 9 回です。
  そのうち 252 回は「道をふさいでいるものとして ServingRobot02 が 2 m 以内に見つかった」
  となっています。待ち合いと、道が引けない繰り返しが、同じ場所で重なっています。

────────────────────────────────────────────────────────
3. サイトの道順のうち、A03 を通る卓
────────────────────────────────────────────────────────

  受け渡し口からの道順 42 本の点が、どの通路の区画を通るかで数えました。

    A01（幅 1.2 m）: **T01 T02 T03 T04 T05 T06 T07 T08**（8 卓）
    A02（幅 1.2 m）: **T09 T10 T11 T12 T13 T14 T15 T16 T17**（9 卓）
    A03（幅 1.2 m）: **T18 T19 T20 T21 T22 T23 T24 T25 T26**（9 卓）
    どの通路も通らない卓: T27〜T42（16 卓）

  ③ は狭い道（0.8 m）が無いので、42 卓すべて use=normal・via_narrow=0 です。

  T19 の道順（7 点・8.76 m）
    (15.30,5.95) → (12.51,4.34) → (12.39,4.31) → (9.56,4.31)
    → (9.34,4.56) → (9.31,4.74) → (9.31,6.81)＝止まる位置
  止まりが集まっている (9.3, 4.4〜4.5) は、**このうち 4 点目と 5 点目のあいだ**です。

  道順に沿った静止物とのすき間（0.05 m 刻み）: いちばん狭くて **0.488 m**（相手 卓T27）。
  ロボットの半径 0.25 m を引くと余裕 0.238 m。狭いですが、通れないほどではありません。

────────────────────────────────────────────────────────
4. 帰らなかった3組（Seated のまま）
────────────────────────────────────────────────────────

  組24（2人・**T16**）着席 34.1 分 ／ 組27（4人・**T19**）着席 36.9 分 ／
  組28（4人・**T20**）着席 35.6 分
  3組とも 食べ終わり・会計・退店 がすべて -1（一度も起きていない）。

  理由は一本道です。

    (1) 組は「最初の料理が**全部**届いたら」食事に移ります（AllFirstDishesArrived）。
    (2) この3卓の料理は一度も届いていません。
        戻した皿 100 枚のうち、**T19 が 24 枚・T20 が 24 枚・T16 が 24 枚**（合計 72 枚）。
        戻した理由は 100 枚すべて「打ち切り」（＝ロボットの往復が 600 秒で切られた）。
        同じ皿が最大 8 回以上も戻されています。
    (3) 食事に移れない → 会計にも片付けにも進まない。
    (4) 「卓が空かないときに強引に空ける」逃がし弁（tableStuckFreeSec 600 秒）は、
        **会計中・片付け中の組にしか効きません**（GState.Paying / Clearing のときだけ）。
        Seated のまま止まった組は、いつまでも卓を占め続けます。
    (5) 卓が空かない → その3枚の皿が受け渡し口の先頭に残り続ける
        → 次の往復もまた同じ3卓へ割り当てられる。

  実際、**往復11 以降（57.8 分〜）robot1 は 22 回続けて まったく同じ「19;20;16」を走って**
  います。毎回 600 秒で切られ、毎回 3 枚とも戻る。これが 45/47 の時間切れの正体です。

    往復11 (57.8分) 19;20;16 時間切れ 入口の止まり 43 回
    往復13 (67.8分) 19;20;16 時間切れ  〃  0 回
    往復15 (77.8分) 19;20;16 時間切れ  〃 50 回
    …
    往復47 (287.9分) 19;20;16 時間切れ  〃 51 回

────────────────────────────────────────────────────────
5. 分かっていないこと（次に何を足せば分かるか）
────────────────────────────────────────────────────────

  「(9.30,4.47) から 27 cm 先の点へ、なぜ道が引けないのか」だけが残っています。
  店の形・焼いた面・椅子のどれでもないことは、上のとおり確かめました。
  いまの記録には、道を引くときに実際に使った点が残っていないので、ここで止まります。

  stops.csv に次の3つを足せば、1回回すだけで決まります（計測の決まりは変わりません）。
    ・道を引いた出発点（SamplePosition で面に寄せたあとの座標）
    ・道を引いた行き先（同じく寄せたあとの座標）と、それが道順の何点目か
    ・CalculatePath の結果（PathComplete / PathPartial / PathInvalid）と、角の数

  いまの見立て（確かめていません）：
    ロボットの立っている位置が面からわずかに外れ、面に寄せた出発点が
    通路の反対側へ飛んでいる、という形です。寄せる半径が 1.0 m と広いので、
    0.62 m 幅の通路では、反対側の島に乗ることがありえます。
    上の3つを足せば、これが当たりかどうかがその場で分かります。

────────────────────────────────────────────────────────
6. 直すとしたら（まだ何もしていません）
────────────────────────────────────────────────────────

  a. 道が引けないときに、その場から動けるようにする
     いまは「入口へ歩いて出る」逃げ道が、歩けないので働きません。
     道が引けないまま一定の秒数が過ぎたら、道順の**手前の点へ戻す**
     （来た道なので必ず引ける）か、その区間だけ寄せる半径を変えて引き直す。
  b. ロボットどうしの入口待ちに上限を付ける（人の robotYieldMaxSec 20 秒と同じ考え方）。
     上限を過ぎたら、譲らずに進む。
  c. Seated のまま止まった組にも、卓を空ける逃がし弁を効かせる
     （いまは会計中・片付け中だけ）。
  d. 同じ皿が何回も戻ったら、ロボットではなくスタッフに回す。
     いまは同じ3枚が 24 回ずつ同じ道へ送り返されています。

  どれを入れるかはご指示をください。
```

### cs:120 の報告（チャット）

```text
cs:120 で入れました。LABEL_RULES.md
  の「形と色で表す状態」に決まりを書いてから作っています。

  1. ベンチの当たりの箱はそのまま、見た目だけ消す
  BoxStyle.BenchBody（当たりだけ・見た目なし）を足し、JsonStoreLayout
  のベンチをこれに替えました。rect も高さ 1.1 m も名前も今までと同じです。prefab
  は BenchBody.prefab（BoxCollider だけ。MeshRenderer と MeshFilter
  を外してあります）。仕切りは今までどおり見せます。

  2. 座面と背もたれ（見た目だけ・当たりなし）
  ベンチの箱の中に、重ならないように2つ置きます。背もたれは机と反対側のふちに厚さ
  0.08 m・高さ 1.1 m、座面はその残りで高さ 0.45 m（JSON の meta.heights.bench_se
  at）。机と反対側は、ベンチの中心と卓の天板の中心の位置関係で決めています。
  ③ の ベンチ 76 本すべてで〈重なり 0／背もたれが机側 0／箱からのはみ出し 0〉を
  JSON の数字で検算しました。色と素材は Mat_BenchSeat / Mat_BenchBack
  の1か所です。前の「薄い板を敷く」作りはやめました。

  3. 座っている客 — 座面 0.45 m から立ち上がる胴＋頭（球）にしました。頭の先 1.35
  mで、背もたれ 1.1 m より 0.25 m 上、仕切り 1.2 m
  よりも高いので真上からも隠れません。立っている客 1.7 m
  より低いので座っていると分かります。当たり判定なしのままです。

  4. 種類の印 — Tag を付けました：SimRobot / SimStaff / SimGuest / SimSeatedGuest
  / SimBench / SimTable / SimChair。Layer ではなく Tag にしたのは、Layer
  は物理の問い合わせに効くことがあるのに対し Tag は何にも効かないからです。

  5. 触っていないことの確認 — 新しい見た目はどれも Collider を持ちません。NavMesh
  は PhysicsColliders から焼き、前のセンサーは
  Physics.OverlapBox、真上の重なりの確かめは Physics.Raycast
  なので、どれにも入りません。Not Walkable
  の印（NavMeshBuildMarkup）も集めるのはコライダーだけなので効きません。

  1点だけお知らせ：Tag は ProjectSettings/TagManager.asset
  に足されます。「Assets/ServiceSim
  の外は触らない」という決まりの唯一の例外になるので、LABEL_RULES.md
  にもそう書きました。

  ServiceSim/Build Store を押してください（Unity
  に切り替えてコンパイルが終わるのを待ってから）。Setup を押していなくても、Build
  Store が建てる前に部品を用意して入れるようにしてあります。

  出てきた store_report.txt の次の4つが、07:28 の分と同じになることを見ていただけ
  ますか。ここが同じなら、測る数字は変わっていません。

  - ロボットの経路…: 面に乗っていない点 0 個（経路 42 本・点 189 個）
  - 細い通路の、焼いた NavMesh の歩ける幅：A01 0.68 / A02 0.62 / A03 0.62 m
  - 通れない場所 すべてに NavMesh は入っていない
  - ふさがないとき: 届かない卓 0 / 42（ロボット用・人用とも）

  あわせて真上の画像（…_top_w120_people.png）で、座った客が座面に腰かけて見えるか
  、背もたれが机と反対側に立っているかも見てください。
```

### cs:121 の報告（チャット）

```text
cs:121 で入れました。LABEL_RULES.md の「形と色で表す状態」に〈立っている人（ス
  タッフ・歩く客・待合の客）〉の決まりを書いてから作っています。

  1. 対象と形 — 見た目を作る処理を1つにまとめ（BuildPersonLook）、立っている人も
  座っている客も同じ道具で胴＋頭を作るようにしました。

  ┌──────────────┬──────────────────┬───────────────────────┬─────────┐
  │              │ 胴（半径 0.2 m） │ 頭（球・半径 0.11 m） │ 頭の先  │
  ├──────────────┼──────────────────┼───────────────────────┼─────────┤
  │ 立っている人 │ 0 〜 1.590 m     │ 中心 1.590 m          │ 1.700 m │
  ├──────────────┼──────────────────┼───────────────────────┼─────────┤
  │ 座っている客 │ 0.450 〜 1.240 m │ 中心 1.240 m          │ 1.350 m │
  └──────────────┴──────────────────┴───────────────────────┴─────────┘

  背の高さは今までのまま（personHeight 1.7 m）です。

  2. 色 — スタッフ青（Mat_Staff）／歩く客 黄（Mat_Guest）／待合の客
  紫（Mat_WaitingGuest）。今のマテリアルをそのまま使い、色の値は1か所（StaffColor
  / GuestColor / WaitingColor）にまとめました。

  3. 取り替えたのは見た目だけ — すでにある prefab は FixWalkerLook が子の Body と
  Head だけを作り直します。親の CapsuleCollider（半径 0.2・高さ 1.7・中心
  0.85）、NavMeshAgent の半径と高さ、PersonBody、PersonRobotYield には触れていま
  せん。新規作成のときも、見た目を作ってから当たり判定・NavMeshAgent・PersonBody
  を今までと同じ値で付けています。Physics から見える形は前とまったく同じです。

  4. Tag — そのまま（SimStaff / SimGuest）。

  ServiceSim/Build Store を押してください（Unity
  に切り替えてコンパイルが終わるのを待ってから）。Setup
  を押さなくても、人を置く前に Build Store が見た目をそろえます。Console
  に「立っている人の見た目を胴＋頭にそろえました（3 体ぶん・背の高さ 1.7
  m）」と出れば取り替え済みです（2回目以降は、もう同じ形なので出ません）。

  store_report と卓までの道の表は、08:23
  の分とすべて同じになるはずです。人の見た目は当たり判定を持たない子で、当たり判
  定は親のカプセルのまま変えていないので、NavMesh もセンサーも道のりも変わりませ
  ん。違いが出たら、それは見落としなので教えてください。
```

### cs:122 の報告（チャット）

```text
cs:122 で入れました。6節の a〜d は入れていません。記録を足しただけです。

  stops.csv に足した列（22 → 27 列）

  ┌─────────────┬────────────────────────────────────────────────────────────┐
  │     列      │                            中身                            │
  ├─────────────┼────────────────────────────────────────────────────────────┤
  │ solve_from  │ 道を引いた出発点（SamplePosition                           │
  │             │ で焼いた面へ寄せたあと）"x;z"                              │
  ├─────────────┼────────────────────────────────────────────────────────────┤
  │ solve_to    │ 道を引いた行き先（同じく寄せたあと）"x;z"                  │
  ├─────────────┼────────────────────────────────────────────────────────────┤
  │ solve_statu │ CalculatePath の結果（PathComplete / PathPartial /         │
  │ s           │ PathInvalid / 引けない）                                   │
  ├─────────────┼────────────────────────────────────────────────────────────┤
  │ solve_corne │ 引けた角の数                                               │
  │ rs          │                                                            │
  ├─────────────┼────────────────────────────────────────────────────────────┤
  │ off_mesh_m  │ ロボットの位置から、いちばん近い焼いた面までの距離（m）。  │
  │             │ 面の上なら 0 に近い。探す半径 1.0 m で見つからなければ -1  │
  └─────────────┴────────────────────────────────────────────────────────────┘

  SolvePath が道を引くたびに覚えて、いま開いている止まりの記録へ写します。止まっ
  ているあいだは 10 秒ごとに引き直すので、その止まりの最後の1回ぶんが残ります（止
  まり始めの時点でも1回writes）。

  動きを変えていないこと
  - SamplePosition は SolvePath
  がもともと呼んでいたものを使っています（呼ぶ回数は増えていません）。off_mesh_m
  はその戻り値から距離を取っただけです
  - from / to の決め方、寄せる半径、CalculatePath の呼び方、_pathValid
  の決め方、角の飛ばし方は1行も変えていません
  - 足したのは記録用のフィールドへの代入だけで、止まる・動くの決まりには使ってい
  ません

  ServiceSim/Site Run/③ スタッフ4人・ロボット2台 を押してください（Unity に切り替
  えてコンパイルが終わるのを待ってから）。10分ほどで止めていただければ、_stopped
  フォルダに stops.csv が出ます。

  A03 の入口（x≈9.3, z≈4.4〜4.5）の行で、次のどれになるかで原因が決まります。

  - off_mesh_m が大きい（0.3 m 以上）→ ロボットが面から外れて立っている
  - off_mesh_m ≈ 0 で solve_status が PathPartial →
  出発点と行き先が面の上で分断されている（solve_from / solve_to
  の座標でどこが切れているか分かります）
  - solve_status が PathInvalid / 引けない → 行き先そのものが面に乗っていない
  - solve_corners が 0 か 1 → 角が足もとだけで飛ばされ、hasPath が false
  になっている

  結果が出たら送ってください。原因を確定させてから、6節のどれを入れるかご相談しま
  す。
```

### cs:123 の報告（チャット）

```text
cs:123 で入れました。0913 の回のデータで、道は引けていた（path_blocked
  0・solve_status 105回すべて PathComplete・off_mesh_m 0.025
  m）ことが確定したので、台どうしの物理的なふさぎ合いだけを直しています。

  1. ふさぎ合ったら、決まった順で片方が譲る
  番号の小さい台が先。大きい台が下がって待ち、相手が通ったら進みます。ふさがれて
  から 2秒待ってから決めます（すれ違うだけで譲り合わないため）。下がる先は**来た
  道（道順の1つ前の点）**です —
  必ず通れた所なので確実に戻れます。無ければ相手と反対へ 0.9 m。相手とのすき間が
  0.6 m 空いたら区間の続きを走り、20秒で打ち切って進みます。
  下がっているあいだの止まりは、原因を「もう1台のロボット」として残します（下がり
  終えると道が引けていない状態になりますが、それは「幅が足りない」ではないため）
  。

  2. 入口で待つ台は、入口の点そのものに立たない
  通路の外へ 0.9 m 下がり、横へ 0.6 m
  ずれた点で待ちます。面に乗らなければ〈下がるだけ →
  入口そのもの〉の順に落とします。着いた判定もその点で見ます。

  3. 入口での順番待ちに上限 —
  20秒。人がロボットを待つ上限（PeopleSpec.robotYieldMaxSec
  20秒）と同じ考え方で、過ぎたらその区間は譲らずに進みます。

  4. 受け渡し口の前 — ParkIdleRobots
  が、料理が待っていても待機場所へ下げるようにしました（前は受け渡し口で待たせて
  いたので、出発する台と戻る台が1点に重なっていました）。待機場所は1台に1つなので
  重なりません。置き始めも受け渡し口ではなく待機場所にしました。

  値は Unity だけの仮の値として RobotSpec
  の「台どうしの譲り合い」の欄1か所にまとめ、.asset
  にも書き出してあります（20秒／0.9 m／0.6 m／2秒／20秒／0.6 m／0.9 m）。

  6節の a・c・d と人のよけ方は入れていません。

  ServiceSim/Site Run/③ スタッフ4人・ロボット2台 を押してください（コンパイルが終
  わってから）。前回（0913）との比べはこの2つです。

  ┌───────────────────────┬───────────────────────────────────────────┬──────┐
  │                       │              0913（cs:122）               │ 今回 │
  ├───────────────────────┼───────────────────────────────────────────┼──────┤
  │ 「もう1台のロボット」 │ 105 回（うち動けなくなった 80・5,375 秒） │ ?    │
  ├───────────────────────┼───────────────────────────────────────────┼──────┤
  │ 時間切れの往復        │ 41 往復中 27                              │ ?    │
  └───────────────────────┴───────────────────────────────────────────┴──────┘

  あわせて stops.csv の cause_detail に「道をゆずって下がった：…」が出ているか（1
  の仕組みが働いた回数）と、受け渡し口の前 (15,6)
  の止まりが減ったかも見ていただけると、どの直しが効いたか切り分けられます。3組が
  帰らない件は今回も直していないので、前回と同じなら 10 分ほどで止めてください。
```

### 受け渡し口の前の見立ての確かめ（チャット）

```text
ご指示の4番を先に数えたところ、一部が合っていなかったので直さずに止めました。報
  告は claude_code_reports/20261023_1030_pass_front_check.txt です。

  数えた結果（2号機が受け渡し口の前で「もう1台のロボット」で止まった
  182回・1,143秒、1回あたり中央 2.8 秒）

  そのとき1号機は：
  - 配り終えて戻る途中 132回（73%）
  - 待機（往復をしていない）32回（18%）
  - 出て行く途中 18回（10%）

  2号機自身は、出て行く途中 58%／戻る途中 42%。

  合っているところ（主な原因） — 相手の91%は「戻ってきた台」か「待機場所にいる台
  」で、待機場所が受け渡し口の右にあるため、出発する台と戻る台がここで鉢合わせし
  ています。ここはご指摘のとおりです。

  違うところ —
  「料理を載せている台の前を通れない」という場面は1回もありません。Unity
  では載せる時間が 0 秒だからです（load_s は下げ膳だけの値、staffDwellAtPassSec
  も v5 3章で 0 にしました）。どの台も受け渡し口で立ち止まらず通り抜けます。
  そのため、1番の「使っている台がいる間」の“使っている”が、いまの作りでは決められ
  ません。止まっている時間が無いので、そのままでは使用中が 0
  秒になり何も変わりません。ここだけご判断をいただきたいので止めました。

  もう1点、比べ方について — 回数は増えましたが止まっていた時間は減っています。

  ┌───────────────────────┬────────────────┬──────────────────┐
  │                       │ 0913（cs:122） │  1006（cs:123）  │
  ├───────────────────────┼────────────────┼──────────────────┤
  │ 「もう1台のロボット」 │ 105 回         │ 429 回           │
  ├───────────────────────┼────────────────┼──────────────────┤
  │ その合計の秒数        │ 5,375 秒       │ 4,505 秒（−16%） │
  ├───────────────────────┼────────────────┼──────────────────┤
  │ 動けなくなった        │ 80 回          │ 50 回（−38%）    │
  ├───────────────────────┼────────────────┼──────────────────┤
  │ 時間切れの往復        │ 27 / 41        │ 24 / 45          │
  └───────────────────────┴────────────────┴──────────────────┘

  60秒で立ち往生する長い止まりが、中央 2.8
  秒の短い止まりに置き換わった形です。なお 429 回のうち新しい譲り合いが働いたのは
  22 回だけで、回数が増えた主因は cs:123 の4番（仕事が無い台を必ず待機場所へ下げ
  る）で受け渡し口と待機場所の行き来が増えたことです。私の直しが原因です。

  決めていただきたいこと（どちらでも2番の線は入れます）
  - 案A（おすすめ）：受け渡し口の前を「予約」にする — 前の点から半径 1.2 m
  を1台だけの場所にし、〈料理を割り当てられたとき〉から〈その半径を出るまで〉を使
  用中とする。取れない台は自分の待機場所で待つ。30
  秒で取れなければ進む（固まり防止）
  - 案B：止める場所を分ける — 予約はせず、2番だけ。戻る台は受け渡し口の前の点を通
  らず、少し下を通って右へ抜ける。交差そのものを無くす

  線が通れる床に乗っているかは、0.05 m 刻みで SamplePosition を当て、乗らない点が
  1つでもあれば線を使わず今までどおりにして報告に出します。値は RobotSpec
  の1か所にまとめます。**A か B（または両方）**を教えてください。
```

### 20261023_1030_pass_front_check.txt（受け渡し口の前の見立ての確かめ）

```text
受け渡し口の前の見立ての確かめ（1006 の記録）。
ご指示の4番のとおり先に数えました。**一部が合っていないので、直さずに止めて報告します。**

════════════════════════════════════════════════════════
1. 数えた結果：2号機が受け渡し口の前で止まったとき、1号機は何をしていたか
════════════════════════════════════════════════════════

  受け渡し口の前（x 14.0〜15.8 / z 4.8〜6.6）で「もう1台のロボット」で止まった回数
      2号機 **182 回・1,143 秒**（1号機は 27 回。合わせて 209 回）
      1回あたり 中央 2.8 秒 / 最長 60 秒

  そのとき 1号機は
      配り終えて**戻る途中**              132 回（**73%**）
      **待機**（往復をしていない）          32 回（18%）
      出て行く途中（まだ1皿も届けていない） 18 回（10%）

  そのとき 2号機自身は
      出て行く途中  106 回（58%）
      戻る途中       76 回（42%）

  （「何をしていたか」は、その時刻がその台のどの往復の中か、
    皿が届いた時刻（trips.csv の dish_arrived_s）の前か後かで分けました）

════════════════════════════════════════════════════════
2. 見立てと合っているところ・違うところ
════════════════════════════════════════════════════════

**合っているところ（ここが主な原因です）**

  ・止まる場所の1位は受け渡し口の前。429 回のうち 209 回がここ
  ・相手は 91%（132＋32）が「戻ってきた台」か「待機場所にいる台」。
    待機場所が受け渡し口の右にあるので、**出て行く台と戻る台がここで交差します**
  ・2号機の 58% は「出て行く途中」。つまり
    **出発する台と戻る台が、受け渡し口の前で鉢合わせしている**

**違うところ（ここだけ、ご指示の文と事実が食い違います）**

  「料理を載せている台の前を通れない」という場面は **1回もありません**。
  Unity では **料理を載せる時間が 0 秒**だからです。
    ・common.load_s（15 秒）は下げ膳だけで使う値（v5 3章で確認ずみ）
    ・staffDwellAtPassSec も v5 3章で 0 にした
  どの台も受け渡し口で立ち止まらず、通り抜けるだけです。
  相手は「通り抜けている台（73%）」か「待機場所に止まっている台（18%）」でした。

  → **1番の「使っている台がいる間」の“使っている”が、いまの作りでは決められません。**
    止まっている時間が無いので、そのままでは「使用中」が 0 秒になり、何も変わりません。

════════════════════════════════════════════════════════
3. もうひとつ、お伝えしておくこと（0913 と 1006 の比べ方）
════════════════════════════════════════════════════════

  回数は増えましたが、**止まっていた時間は減っています**。

                        0913（cs:122）   1006（cs:123）
    「もう1台のロボット」   105 回          **429 回**
       その合計の秒数       5,375 秒        **4,505 秒**（−16%）
       動けなくなった       80 回           **50 回**（−38%）
    時間切れの往復         27 / 41         **24 / 45**
    立ち往生（rescues）     134             127
    全部の止まりの秒数      11,064 秒       11,445 秒

  1回あたりが長い止まり（60 秒で立ち往生）が、短い止まり（中央 2.8 秒）に置き換わりました。

  回数が増えた理由も分かっています。429 回のうち
    ・新しい譲り合いが働いたのは **22 回だけ**（cause_detail が「道をゆずって下がった」）
    ・356 回は、前のセンサーで相手を見て止まっただけ
  cs:123 の4番で「仕事が無い台は、料理が待っていても待機場所へ下げる」ようにしたため、
  **受け渡し口と待機場所の行き来が増え、交差の回数そのものが増えました**。
  私の直しが、回数が増えた主な原因です。

════════════════════════════════════════════════════════
4. 直す前に決めていただきたいこと
════════════════════════════════════════════════════════

  ご指示のとおり、ここで止めます。1番の「使っている」をどう決めるかだけ、お願いします。

  **案A（おすすめ）：受け渡し口の前を「予約」にする**
    ・受け渡し口の前の点から半径 passLockRadiusM（仮 1.2 m）を、1台だけが使える場所にする
    ・使い始め … 料理を割り当てられたとき（そこへ向かい始めるとき）
      使い終わり … 最後の点を出て、その半径から出たとき
      戻ってくる台も、受け渡し口の前に入る前に取る
    ・取れない台は、自分の待機場所で待つ（進まない）
    ・取れないまま passLockMaxSec（仮 30 秒）過ぎたら、取れたことにして進む（固まらないため）

  **案B：止める場所を分ける（予約を使わない）**
    ・2番だけを入れる。戻る台は受け渡し口の前の点を通らず、その少し下（z を passReturnOffsetM
      だけ下げた線）を通って右の待機場所へ抜ける
    ・出て行く台は今までどおり受け渡し口の前の点から出る
    ・交差そのものを無くす形。予約の仕組みが要らないぶん、作りが小さい

  2番の線は、どちらの案でも入れます。通れる床に乗っていることは、
  その線の上を 0.05 m 刻みで NavMesh.SamplePosition で確かめ、
  乗らない点が1つでもあれば線を使わず今までどおりにする（報告に出す）、という形にします。

  3番のとおり、値（passLockRadiusM・passLockMaxSec・passReturnOffsetM）は
  RobotSpec の「受け渡し口の前の通り方（Unity だけの決まり）」の欄1か所にまとめます。

  **案A と案B のどちらにするか**（または両方）を教えてください。決まり次第すぐ入れます。
```

### cs:124 の報告（チャット）

```text
案B だけを cs:124 で入れました（予約の案A は入れていません）。

  戻る台の線
  サイトの道順の最後の点（受け渡し口の前の点）を通らず、次の3点を通って右へ抜け、
  待機場所で往復を終えます。

  - p1 = 受け渡し口の前の点の 1.0 m 下（15.3, 4.95）
  - p2 = 自分の待機場所の x で同じ下の線（16.9 または 17.7, 4.95）
  - p3 = 自分の待機場所

  サイトの道順そのものは変えていません（最後の点だけ差し替え）。

  線を使う前の確かめ（どれか1つでも外れたら線を使わず、今までどおり受け渡し口の前
  へ戻ります）
  - 道順から分かれたあとの区間を 0.05 m
  刻みで調べ、すべての点がロボット用の焼いた面に乗っていること
  - 出ていく台の線（受け渡し口の前の点を通る線）から中心どうしで 1.0 m 以上
  - ドリンクバーの並ぶ点（18.8, 4.8）(18.8, 5.3) から 0.6 m 以上

  離れを見るのは道順から分かれたあとの3点とそのあいだだけです。分かれる前はサイト
  の道順そのままなので、出る線と重なっていてかまいません（分かれる点は x≈12.5
  で、問題が出ていた x 14〜15.8 の外です）。使えなかった回数は Console
  に「戻りの線を使えなかった N 回」と出ます。

  JSON の数字で先に検算した結果
  - 戻りで道順から分かれる点 →(15.3, 4.95) の区間を
  42卓ぶん調べて、ロボットの半径 0.25 m を確保できない卓は 0（いちばん狭い所
  0.509 m）
  - (15.3,4.95)→(16.9/17.7, 4.95) は 1.450 m、→待機場所は 0.450 m
  - ドリンクバーの列からは 1.9 m / 1.1 m。なお3つめの待機場所 (18.5, 6.05)
  は列から 0.300 m
  しか離れないので、その台では線が使われません（確かめが働きます）

  値は RobotSpec の「受け渡し口の前の通り方」の欄1か所です（1.0 / 1.0 / 0.6 /
  0.05 m）。

  1点お伝えしておくこと：往復が待機場所で終わるようになるので、1往復の道のりと時
  間が少し伸びます（前は受け渡し口の前で終わり、そのあと待機場所へ移動していまし
  た）。speed_mps や total_s を前の回と比べるときは、この差を見てください。

  ServiceSim/Site Run/③ スタッフ4人・ロボット2台
  を押してください（コンパイルが終わってから）。比べるのはこの2つです。

  ┌───────────────────────┬──────────────────┬──────────────────┬──────┐
  │                       │       0913       │       1006       │ 今回 │
  ├───────────────────────┼──────────────────┼──────────────────┼──────┤
  │ 「もう1台のロボット」 │ 105 回・5,375 秒 │ 429 回・4,505 秒 │ ?    │
  ├───────────────────────┼──────────────────┼──────────────────┼──────┤
  │ 時間切れの往復        │ 27 / 41          │ 24 / 45          │ ?    │
  └───────────────────────┴──────────────────┴──────────────────┴──────┘

  あわせて Console の「戻りの線を使えなかった N 回」が 0 であること（0
  でなければ線が使えていません）と、stops.csv の受け渡し口の前（x 14〜15.8・z
  4.8〜6.6）の止まりが 209 回から減ったかを見てください。
```


## 回した記録（2回目〜5回目）

出力のフォルダごとに、people_jams.csv 以外のファイルをすべて載せます。conditions.json（その回の設定をすべて書き出したもの）は、5回目の分だけ載せます。

### 2回目（cs:117・途中で止めた）：20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_0655_stopped

#### summary.json

```json
{
  "run_name": "family_v0",
  "written_at": "2026-10-23 07:12:24",
  "note": "speed_mps = distance_m / (total_s - stopped_s)。stopped_s には、動けなくなった60秒と、スタッフを待った秒数（stuck_wait_s）、通路の入口で待った秒数も入る。pause_s は stop_durations_s（自分で動き出した止まりだけ）の分布。site_metrics はサイトの meta.metrics と同じ名前・同じ定義。入店待ちの分け方もサイトの試算と同じで、blocked_wait は片付け待ちの卓の数だけ待っている列の前から順に足した分、full_wait は seat_wait − blocked_wait、staff_wait は blocked_wait + guide_wait。pauses と rescues は、サイト側が unity_measures の仮の値から出した数なので出どころが違う。",
  "sim_like": {"dish_wait_mean": 6.3116, "dish_wait_p90": 12.8193, "cold_share": 0.5485, "seat_wait_mean": 18.5708, "turn_mean": 4.4227, "robot_share": 0.135, "robot_dishes": 32, "staff_dishes": 205, "requeued_dishes": 100, "groups": 94, "people_jams": 3353, "robot_blocked_jams": 2225, "robot_blocked_jam_share": 0.6636, "chair_pulls": 221, "robot_contacts": 154, "robot_yield_waits": 387, "robot_yield_wait_s": 4426.923, "robot_yield_detours": 0, "register_crowd_max": 7, "register_crowd_mean": 1.2764, "register_pay_count": 73, "register_pay_not_at_back": 13, "register_pay_off_spot": 16, "register_pay_offset_mean_m": 1.2674, "register_pay_offset_max_m": 7.7712, "register_back_intruders": 0, "register_back_intruder_s": 0, "drink_bar_queued": 22, "drink_bar_gave_up": 12, "drink_bar_wait_mean": 0.6596, "drink_bar_wait_p90": 0.9965, "gave_up": 248, "warped": 117, "table_freed": 53, "people_jam_total_s": 5453.809, "walkers_mean": 10.2175, "measured_minutes": 299.7159},
  "site_metrics": {"entry_wait_mean": 24.2693, "full_wait_mean": 15.6671, "staff_wait_mean": 7.3573, "blocked_wait_mean": 2.9037, "guide_wait_mean": 4.4536, "seat_wait_mean": 18.5708, "dish_wait_mean": 6.3116, "dish_wait_p90": 12.8193, "cold_share": 0.5485, "turn_mean": 4.4227, "walk_km_per_staff": 2.8475, "staff_util": 0.6709, "robot_util": 0.7788, "robot_share": 0.135, "rescues": 110, "pauses": 1110, "groups": 94},
  "site_run": {"site_run": true, "condition_id": "fam_p1_s4_r2_a42", "arrivals_minutes": 120, "total_minutes": 299.7159, "everyone_left": false, "rescues_done": 99, "rescue_wait_s": 4839.804, "gave_up": 248, "warped": 117, "table_freed": 53},
  "site_result": {"dish_wait_mean": 0.4568, "dish_wait_p90": 0.8167, "cold_share": 0, "seat_wait_mean": 0.6083, "turn_mean": 4.3928, "walk_km_per_staff": 1.872, "staff_util": 0.6436, "robot_util": 0.4764, "robot_share": 0.7257, "robot_bus_share": 0, "collects": 0, "rescues": 1.475, "pauses": 41.625, "fragile_robot": 31.9, "groups": 82.1, "entry_wait_mean": 1.0194, "blocked_wait_mean": 0.5116, "guide_wait_mean": 0.2337, "staff_wait_mean": 0.7453, "full_wait_mean": 0.0967},
  "staff_time_s": {"待機": 23691.64, "案内": 12939.14, "料理": 14418.89, "立ち往生": 4783.624, "呼び出し": 2737.795, "会計": 6950.526, "片付け": 6466.624},
  "dish_wait_parts": {"robot": {"dishes": 32, "pass_wait_mean_min": 4.6372, "carry_mean_min": 9.4797, "requeue_lost_mean_min": 8.9214, "total_mean_min": 23.0383, "requeued_per_dish": 0.875, "requeued_total": 28}, "staff": {"dishes": 205, "pass_wait_mean_min": 2.6854, "carry_mean_min": 0.4972, "requeue_lost_mean_min": 0.518, "total_mean_min": 3.7006, "requeued_per_dish": 0, "requeued_total": 0}, "all": {"dishes": 237, "pass_wait_mean_min": 2.949, "carry_mean_min": 1.71, "requeue_lost_mean_min": 1.6526, "total_mean_min": 6.3116, "requeued_per_dish": 0.1181, "requeued_total": 28}},
  "job_wait_mean_s": {"案内": 299.2489, "料理": 196.789, "立ち往生": 31.5743, "呼び出し": 119.1395, "会計": 97.7455, "片付け": 202.5748},
  "staff_time_share": {"待機": 0.3291, "案内": 0.1797, "料理": 0.2003, "立ち往生": 0.0665, "呼び出し": 0.038, "会計": 0.0966, "片付け": 0.0898},
  "stops": {"count": 1222, "stuck_count": 110, "partial_path_count": 917},
  "stop_causes": [
    {"cause": "分からない", "count": 51, "total_s": 117.3494, "mean_s": 2.301, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 1, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "通路の順番待ち", "count": 2, "total_s": 1131.771, "mean_s": 565.8854, "longest_s": 575.9329, "path_blocked_count": 0, "stuck_count": 0, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "もう1台のロボット", "count": 327, "total_s": 6348.769, "mean_s": 19.4152, "longest_s": 60.0494, "path_blocked_count": 252, "stuck_count": 55, "partial_path_count": 243, "no_path_total_s": 2465.251},
    {"cause": "人が立ち止まっていた", "count": 70, "total_s": 2723.923, "mean_s": 38.9132, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 36, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "お客さんとすれ違った", "count": 27, "total_s": 575.0446, "mean_s": 21.298, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 8, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "スタッフとすれ違った", "count": 49, "total_s": 991.9409, "mean_s": 20.2437, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 10, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "椅子・荷物・ベビーカー", "count": 3, "total_s": 2.1, "mean_s": 0.7, "longest_s": 1.2, "path_blocked_count": 0, "stuck_count": 0, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "通路の幅が足りない", "count": 693, "total_s": 6917.653, "mean_s": 9.9822, "longest_s": 45.2996, "path_blocked_count": 693, "stuck_count": 0, "partial_path_count": 674, "no_path_total_s": 6802.002}
  ],
  "conditions": [
    {"condition_id": "fam_p1_s4_r2_a42", "aisle_width_m": 1.2, "crowd": "normal", "robots": 2, "trips": 47, "robot_speed_mps_median": 0.5067, "stopped_s_median": 538.742, "stopped_s_p90": 589.6696, "pause_s_median": 10, "pause_s_p90": 11.105, "pause_count": 1110, "wait_aisle_s_median": 0, "stuck_rate": 0.617, "stuck_count": 29, "timeout_rate": 0.9574, "timeout_count": 45, "pause_rate": 1, "met_robot_rate": 0.8723}
  ]
}
```

#### run_info.json

```json
{
  "run_label": "site_v5",
  "written_at": "2026-10-23 07:12:24",
  "condition_id": "fam_p1_s4_r2_a42",
  "store_kind": "StoreLayout_p1_efficient_corner",
  "time_mode": "FixedStep",
  "time_scale": 1,
  "capture_delta_time": 0.05,
  "aisle_width_m": 1.2,
  "delivery_offset_m": 0,
  "delivery_offset_used_m": 0,
  "crowd": "normal",
  "robots": 2,
  "seed": 0,
  "trips_requested": 0,
  "trips_done": 47,
  "stopped_early": true,
  "sim_seconds": 17982.95,
  "wall_seconds": 998.7747,
  "speedup": 18.005,
  "frame_delta_s": {"count": 360075, "mean": 0.0499, "min": 0.02, "p50": 0.05, "p90": 0.05, "p99": 0.05, "max": 0.05},
  "robot_step_m": {"count": 360075, "mean": 0.0027, "min": 0, "p50": 0, "p90": 0.0075, "p99": 0.03, "max": 0.03},
  "people_step_m": {"count": 360075, "mean": 0.0431, "min": 0, "p50": 0.04, "p90": 0.05, "p99": 0.05, "max": 22.354},
  "frames_over_005m": 0,
  "frames_over_005m_ratio": 0,
  "people_frames_over_005m": 65926,
  "people_frames_over_005m_ratio": 0.1831,
  "chair_pulls": 221,
  "chair_pulls_by_reason": {"座る": 23, "食事中": 53, "ドリンクバー": 52, "戻って座る": 42, "トイレ": 7, "会計": 23, "退店": 21}
}
```

#### trips.csv

```text
condition_id,aisle_width_m,crowd,robots,seed,robot_id,trip_id,table_id,distance_m,total_s,stopped_s,n_stops,stop_durations_s,stuck,timeout,wait_aisle_s,max_decel_mps2,min_clearance_m,met_robot,table_ids,dishes,dish_ready_s,dish_arrived_s,undelivered,speed_mps,stuck_count,stuck_wait_s,via_narrow,stops_in_narrow,stops_out_narrow,stopped_in_narrow_s,stopped_out_narrow_s
fam_p1_s4_r2_a42,1.2,normal,2,0,2,1,2,13.4925,600.027,576.8827,1,0.95,0,1,575.9329,1,0.1109,0,2,0,,,0,0.583,0,0,0,0,2,0,576.8829
fam_p1_s4_r2_a42,1.2,normal,2,0,1,2,3,21.0776,600.027,563.0361,4,1.2;2.35;21.15;51.0495,1,1,0,1,-0.3602,1,3,0,,,0,0.5698,5,187.1068,0,0,9,0,375.9963
fam_p1_s4_r2_a42,1.2,normal,2,0,2,3,35,3.595,600.027,593.4286,1,4.5,1,1,0,1,0.1863,1,35;2;4,1,858.7338,-1,1,0.5448,4,348.7884,0,0,5,0,244.6975
fam_p1_s4_r2_a42,1.2,normal,2,0,1,4,34,3.565,600.027,593.4786,1,1.15,1,1,0,1,-0.1276,1,34;36;6,1,833.9399,1519.577,0,0.5444,6,232.1096,0,0,7,0,361.4462
fam_p1_s4_r2_a42,1.2,normal,2,0,1,5,36,21.0651,600.027,563.186,2,2.7;4.65,0,1,555.8378,1,-0.0485,1,36;37;6,3,1413.423;1323.886;1357.769,2145.337;-1;-1,2,0.5718,0,0,0,0,3,0,563.1878
fam_p1_s4_r2_a42,1.2,normal,2,0,2,6,9,27.2127,600.027,552.6386,3,0.95;12.25;0.95,1,1,0,1,-0.2257,1,9;2;4,3,1274.638;858.7338;1251.415,2145.087;-1;-1,2,0.5742,4,298.3507,0,0,7,0,254.3475
fam_p1_s4_r2_a42,1.2,normal,2,0,2,7,41,35.7777,112.0022,50.3995,4,0.95;0.45;0.1;48.8995,0,0,0,1,0.152,0,41;9;11,3,2102.145;858.7338;1251.415,2820.997;2820.997;2820.997,0,0.5808,0,0,0,0,4,0,50.3995
fam_p1_s4_r2_a42,1.2,normal,2,0,2,8,40,33.5178,60.4494,3.5,3,0.95;1.2;1.35,0,0,0,1,0.8951,1,40;15;12,3,2409.695;2411.497;2386.072,3008.329;3008.329;3008.329,0,0.5886,0,0,0,0,3,0,3.5
fam_p1_s4_r2_a42,1.2,normal,2,0,1,9,10,38.115,600.027,530.644,11,0.95;1.95;0.05;0.75;1.05;1;1;0.95;29.0498;6.75;34.6998,1,1,0,1,-0.0402,1,10;6;8,3,1323.886;2103.346;1357.769,2796.172;2796.172;-1,1,0.5493,4,212.3083,0,0,15,0,318.3971
fam_p1_s4_r2_a42,1.2,normal,2,0,2,10,14,12.29,600.027,577.1326,5,0.95;20.6;1.1;56.4994;0.1,1,1,0,1,-0.0161,1,14;14;13,3,2463.848;2449.885;2455.14,3144.062;3144.062;3144.062,0,0.5368,4,257.7606,0,0,9,0,319.4469
fam_p1_s4_r2_a42,1.2,normal,2,0,1,11,19,24.2276,600.027,529.2943,46,3.5;1.1;56.4994;10;10;10;10;10;10;10;11.15;12.4;11.15;16.8;11.25;11.25;11.25;11.65;1.85;11.25;11.25;11.25;21;3.25;1.85;10;6.45;45.2996;11.05;12.65;15.95;0.75;10;10;10.95;11;11;10.95;10.5;11.1;11.05;11.1;11.1;3;10;5.75,0,1,0,1,-0.329,1,19;20;16,3,2360.698;1357.769;2345.533,3472.082;3472.082;3472.082,0,0.3425,0,0,0,0,46,0,529.3499
fam_p1_s4_r2_a42,1.2,normal,2,0,2,12,21,12.405,600.027,576.2828,6,0.95;25.8999;10;1.4;38.6497;28.5499,1,1,0,1,-0.0206,1,21;22;5,3,2529.062;2566.749;2560.893,3819.971;3819.971;3819.971,0,0.5224,3,290.7525,0,0,9,0,285.5976
fam_p1_s4_r2_a42,1.2,normal,2,0,1,13,19,4.57,600.027,591.2792,2,0.95;0.95,1,1,0,1,-0.0011,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.5224,5,289.2029,0,0,7,0,302.1469
fam_p1_s4_r2_a42,1.2,normal,2,0,2,14,21,28.8402,600.027,548.8395,6,0.95;3.3;1.1;1.3;0.95;15.5,1,1,0,1,0.1761,1,21;22;5,3,3567.074;3756.159;3419.881,-1;-1;-1,3,0.5634,6,165.5055,0,0,12,0,383.3963
fam_p1_s4_r2_a42,1.2,normal,2,0,1,15,19,28.7976,600.027,512.5484,53,0.95;22.5999;1.35;10;10;2.05;10;10;10;10;10;10;10;10;10;10;10;10;10;1.35;10;2.15;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10.95;10.95;10.95;11.3;11.15;10.95;10.95;11.05;11.05;11.1;11.05;11.05;11.35;11.2;11.1;6,0,1,0,1,-0.3365,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3292,0,0,0,0,53,0,512.601
fam_p1_s4_r2_a42,1.2,normal,2,0,2,16,5,10.14,600.027,581.4316,3,0.95;0.95;1.6,1,1,0,1,-0.2341,1,5,3,3567.074;3756.159;3419.881,5066.734;5066.734;-1,1,0.5453,5,277.7557,0,0,8,0,303.7469
fam_p1_s4_r2_a42,1.2,normal,2,0,1,17,19,21.3176,600.027,538.742,33,0.95;45.4996;10;10;10;10;10;10;10;10;10;10;10;11;10.95;11;10.95;11.1;11;10.95;11;12.15;10.95;10.95;10.95;12.05;10.95;10.95;10.95;10.95;10.95;10.95;2.2,1,1,0,1,-0.3173,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3478,2,49.3495,0,0,35,0,489.4489
fam_p1_s4_r2_a42,1.2,normal,2,0,2,18,5,5.4825,600.027,589.5296,4,0.95;7.45;2.35;17.55,1,1,0,1,-0.032,1,5;3,1,3419.881,-1,1,0.5223,4,321.0951,0,0,8,0,268.4975
fam_p1_s4_r2_a42,1.2,normal,2,0,1,19,19,10.515,600.027,573.9334,12,0.95;39.6997;21.7;10;10;10;10;10;10;10;10;1.45,1,1,0,1,0.1886,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.403,4,190.007,0,0,16,0,383.9974
fam_p1_s4_r2_a42,1.2,normal,2,0,2,20,5,31.5153,600.027,543.3409,6,0.95;5.2;0.95;2;25.4999;45.9996,1,1,0,1,0.0008,1,5;3;4,2,3419.881;5595.211,-1;-1,2,0.556,5,162.5553,0,0,11,0,380.8463
fam_p1_s4_r2_a42,1.2,normal,2,0,1,21,19,30.6577,600.027,507.4496,54,0.95;0.95;2;10;10;10;10;10;10;10;10;11.05;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;11;10.95;11;10.95;10;10;11.15;11;10.95;10.95;1.9;10;11.05;10;10;2.15;11.85;10;10;10;10;7.65,0,1,0,1,-0.3182,0,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3312,0,0,0,0,54,0,507.5011
fam_p1_s4_r2_a42,1.2,normal,2,0,2,22,39,21.7051,600.027,561.8864,4,0.95;0.45;1.15;35.7497,1,1,0,1,0.0014,0,39;6;7,3,3419.881;5595.211;6106.457,6934.858;6934.858;6934.858,0,0.5691,4,283.4543,0,0,8,0,278.4973
fam_p1_s4_r2_a42,1.2,normal,2,0,1,23,19,28.8701,600.027,516.0975,51,0.95;11.25;11.15;11.1;11.2;10;10;10;10;10;11.05;11.65;11.1;11.1;10;10;10;11;10.95;11;10.95;10;11;10.95;11;10.95;13.05;12.15;10;10;10.95;11.8;11;11.75;10;1.1;11.05;11.15;11.15;11.1;11.15;12.3;11.15;11.1;11.2;1.3;10;1.75;11.15;11.25;9.2,0,1,0,1,-0.3174,0,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.344,0,0,0,0,51,0,516.1511
fam_p1_s4_r2_a42,1.2,normal,2,0,2,24,17,37.0976,600.027,533.1934,8,0.95;8.8;0.85;53.2995;3.05;1.6;1.05;49.0495,1,1,0,1,0.0011,1,17;6;7,3,6635.183;6587.968;6622.832,7557.566;-1;-1,2,0.5551,4,174.406,0,0,12,0,358.8465
fam_p1_s4_r2_a42,1.2,normal,2,0,1,25,19,28.7826,600.027,515.9476,51,0.95;2.55;12.25;11.15;12.3;11.5;11.1;10;10;10;10.95;11.25;11.2;11;4.9;10;10;10;11.45;10;10;10;10;10;10;10;10;10;11.15;10;10;1.55;11.7;11.15;11.15;11.15;26.6499;11.15;11.15;11.15;11.15;11.15;1.85;11.1;11.1;11.1;11.1;11.1;10;10;5.85,0,1,0,1,-0.3222,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3423,0,0,0,0,51,0,516.0009
fam_p1_s4_r2_a42,1.2,normal,2,0,1,26,19,25.7651,600.027,524.2955,44,3;2.65;10;10;12;10;10;10;10;10;10;10;10.95;10;11.75;11;11.25;11;11.05;11.1;11.1;11.1;11;10.95;3.05;10.95;11.05;10.95;12.5;10.95;10.95;1.15;10;3.2;10;10;10.95;10.95;10.95;12;11.15;11.05;11.1;13.2,1,1,0,1,-0.3369,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3402,1,28.2999,0,0,45,0,496.0503
fam_p1_s4_r2_a42,1.2,normal,2,0,2,27,3,5.49,600.027,590.2794,1,0.95,1,1,0,1,-0.0314,1,3,3,7433.054;6587.968;6622.832,8230.179;8230.179;8230.179,0,0.5632,5,289.1529,0,0,6,0,301.1969
fam_p1_s4_r2_a42,1.2,normal,2,0,1,28,19,22.5826,600.027,534.693,38,0.95;1.65;10;10;10;10;10;10;10;10;11.85;10;10.95;11;10.95;11;10.95;11;10.95;11;11.8;11;10.95;10.95;10.95;10.95;2.2;11;10.95;11;1.1;10;1.05;10;10.95;11;11.05;2,1,1,0,1,-0.3055,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3456,2,63.4993,0,0,40,0,471.2494
fam_p1_s4_r2_a42,1.2,normal,2,0,2,29,5,5.4,600.027,589.8795,2,0.95;14.9,1,1,0,1,0.0407,1,5;1;3,1,8429.995,-1,1,0.5322,5,273.8567,0,0,7,0,316.0969
fam_p1_s4_r2_a42,1.2,normal,2,0,1,30,19,7.465,600.027,583.1312,8,0.95;9.8;1.75;1.05;10;1.2;10;2.6,1,1,0,1,0.0758,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.4418,6,185.5567,0,0,14,0,397.6463
fam_p1_s4_r2_a42,1.2,normal,2,0,2,31,5,7.32,600.027,585.5806,4,0.95;20.25;0.95;21.6,1,1,0,1,0.1789,1,5;1;3,3,8903.438;8909.764;8429.995,-1;-1;-1,3,0.5067,3,361.7352,0,0,7,0,223.898
fam_p1_s4_r2_a42,1.2,normal,2,0,1,32,19,18.6975,600.027,548.6396,28,0.95;11.25;11.2;11.15;11.1;11.1;1.1;10;10;10;10;10;11.05;11;10.95;10.95;23.2999;11.05;11.05;11.05;11.1;11.05;11.15;11.1;11.1;11.1;11.05;1.95,1,1,0,1,-0.1601,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3639,1,200.8076,0,0,29,0,347.8999
fam_p1_s4_r2_a42,1.2,normal,2,0,2,33,5,9.2325,600.027,582.4313,5,0.95;0.95;59.5994;59.1994;4.75,1,1,0,1,-0.0305,1,5;1;3,3,8903.438;8909.764;8429.995,-1;-1;-1,3,0.5247,5,156.805,0,0,10,0,425.6956
fam_p1_s4_r2_a42,1.2,normal,2,0,1,34,19,25.3626,600.027,523.0458,45,0.95;1.65;1.1;10;2;10;0.85;10;10;10;10;10;10;10;10.95;11;10.95;11;10.95;10.95;10.95;10.95;10.95;12.55;10.95;10.95;10.95;10.95;10.95;10.95;10.95;10.95;10.95;10.95;10.95;10.95;11.45;10.95;10.95;10.95;10.95;11.55;10.95;10.95;3.95,1,1,0,1,0.0704,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3295,1,31.2498,0,0,46,0,491.8501
fam_p1_s4_r2_a42,1.2,normal,2,0,2,35,5,6.6,600.027,587.88,3,0.95;44.4996;48.3996,1,1,0,1,0.1681,1,5;1;3,3,8903.438;8909.764;8429.995,-1;-1;-1,3,0.5433,5,193.8572,0,0,8,0,394.096
fam_p1_s4_r2_a42,1.2,normal,2,0,1,36,19,23.0701,600.027,532.3436,40,0.95;1.7;57.2994;2.15;10;10;10;10;10;10;10;10;10.95;10.95;10.95;11;10;10;11.1;1.9;11.1;11.15;11.2;10.95;10.95;10;10;10.95;11;10.95;10.95;10.95;10;10;10;10;10;10;10;9.35,1,1,0,1,0.0758,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3409,1,43.8996,0,0,41,0,488.4995
fam_p1_s4_r2_a42,1.2,normal,2,0,2,37,5,24.1401,600.027,557.4374,6,0.95;0.65;6.5;16.05;0.95;0.05,1,1,0,1,0.1634,0,5;1;3,3,8903.438;8909.764;8429.995,-1;-1;-1,3,0.5668,5,232.1096,0,0,11,0,325.3969
fam_p1_s4_r2_a42,1.2,normal,2,0,1,38,19,25.8201,600.027,524.3955,41,0.95;50.3995;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10.3;10;10;10;10;10;10;10;10;10;10;10;10;10;10.55;11.75;10;10;10;10;10;10;10;7,1,1,0,1,0.1562,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3414,1,23.4499,0,0,42,0,500.9998
fam_p1_s4_r2_a42,1.2,normal,2,0,1,39,19,31.9402,600.027,504.3504,53,1.65;10;0.5;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10.1;10;10;10;10.7;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10.25;10;10;10;10;10;10;10;10;10;10;1.2,0,1,0,1,0.1776,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3338,0,0,0,0,53,0,504.4012
fam_p1_s4_r2_a42,1.2,normal,2,0,1,40,19,31.4502,600.027,505.8,53,1.7;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;15.5;10;10;10;10;1.2;10;10;10;10;10;10;10;10;10;10;1.5;10;10;10;10;10;10;10;5.95,0,1,0,1,0.1455,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.3338,0,0,0,0,53,0,505.8512
fam_p1_s4_r2_a42,1.2,normal,2,0,1,41,19,31.8977,600.027,504.2504,53,1.5;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;1.6;10;10;10;10;10;10;10;10;10;1.2,0,1,0,1,0.1047,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.333,0,0,0,0,53,0,504.3012
fam_p1_s4_r2_a42,1.2,normal,2,0,1,42,19,31.9352,600.027,504.7003,52,1.65;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;3.1,0,1,0,1,0.1683,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.335,0,0,0,0,52,0,504.7512
fam_p1_s4_r2_a42,1.2,normal,2,0,1,43,19,31.9352,600.027,504.7003,52,1.65;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;3.1,0,1,0,1,1.067,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.335,0,0,0,0,52,0,504.7512
fam_p1_s4_r2_a42,1.2,normal,2,0,1,44,19,31.9352,600.027,504.7003,52,1.65;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;3.1,0,1,0,1,1.067,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.335,0,0,0,0,52,0,504.7512
fam_p1_s4_r2_a42,1.2,normal,2,0,1,45,19,31.9352,600.027,504.7003,52,1.65;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;3.1,0,1,0,1,1.067,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.335,0,0,0,0,52,0,504.7512
fam_p1_s4_r2_a42,1.2,normal,2,0,1,46,19,31.9352,600.027,504.7003,52,1.65;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;3.1,0,1,0,1,1.067,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.335,0,0,0,0,52,0,504.7512
fam_p1_s4_r2_a42,1.2,normal,2,0,1,47,19,31.9352,600.027,504.7003,52,1.65;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;3.1,0,1,0,1,1.067,1,19;20;16,3,2832.258;2796.172;2858.333,-1;-1;-1,3,0.335,0,0,0,0,52,0,504.7512
```

#### stops.csv

```text
condition_id,seed,robot_id,trip_id,t_s,x,z,aisle,in_narrow,cause,cause_detail,path_blocked,duration_s,resolved,clearance_left_cm,clearance_right_cm,min_gap_cm,blocked_s,no_path_s,yield_s,clear_wait_s,replans
fam_p1_s4_r2_a42,0,2,1,918.95,15.3,5.15,,0,分からない,,0,0.95,自分で動き出した,275,274.9999,274.9999,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,1,943,1.8944,3.8068,,0,通路の順番待ち,先に入っている台：ServingRobot01,0,575.9329,入口で待った,275,275,275,0,0,575.9329,0,0
fam_p1_s4_r2_a42,0,1,2,894.15,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,1.2,自分で動き出した,275,274.9999,274.9999,0.25,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,2,922.9,1.7384,6.8515,A01,0,人が立ち止まっていた,Staff02,0,2.35,自分で動き出した,28.8591,41.1751,28.8591,1.4,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,2,925.9,1.7355,6.9739,A01,0,人が立ち止まっていた,Staff02,0,21.15,経路を引き直した,28.5667,41.4675,28.5667,20.2,0,0,0.95,2
fam_p1_s4_r2_a42,0,1,2,980.85,1.7762,4.7366,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,49.8667,188.1732,49.8667,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,2,1071.55,1.7762,4.7366,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,49.8667,188.1731,49.8667,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,2,1166.85,1.7762,4.7366,A01,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,49.8667,188.1731,49.8667,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,2,1277.85,1.7762,4.7366,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,49.8667,188.1731,49.8667,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,2,1378,1.7762,4.7366,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,49.8667,188.1731,49.8667,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,2,1468.2,1.7762,4.7366,A01,0,人が立ち止まっていた,Staff04,0,51.0495,経路を引き直した,49.8667,188.1731,49.8667,50.8495,0,0,0.2,5
fam_p1_s4_r2_a42,0,2,3,1519.05,15.3,5.95,,0,スタッフとすれ違った,Staff01,0,4.5,自分で動き出した,275,30.1422,30.1422,2.55,0,0,1.95,0
fam_p1_s4_r2_a42,0,2,3,1555.15,15.7856,2.4395,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,158.3075,275,158.3075,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,3,1826.7,15.7856,2.4395,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,221.3117,275,221.3117,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,3,1943.5,15.7856,2.4395,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,221.3117,275,221.3117,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,3,2060.5,15.7856,2.4395,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,221.3117,275,221.3117,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,4,1519.3,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,1.15,自分で動き出した,74.4675,275,74.4675,0.1,0,0,1.05,0
fam_p1_s4_r2_a42,0,1,4,1552,15.2815,2.42,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,249.0067,249.0067,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,4,1670.3,15.2815,2.42,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,79.9865,79.9865,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,4,1764.3,15.2815,2.42,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,79.9865,79.9865,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,4,1841.8,15.2815,2.42,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,79.9865,79.9865,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,4,1953.3,15.2815,2.42,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,49.7023,49.7023,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,4,2045.4,15.2815,2.42,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,79.9865,79.9865,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,5,2144.45,15.3,5.95,,0,分からない,,0,2.7,自分で動き出した,30.5211,275,30.5211,1.45,0,0,1.25,0
fam_p1_s4_r2_a42,0,1,5,2150.6,15.8141,4.2877,,0,人が立ち止まっていた,Staff01,0,4.65,自分で動き出した,275,275,275,3.7,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,5,2238.7,1.9037,3.7897,,0,通路の順番待ち,先に入っている台：ServingRobot02,0,555.8378,入口で待った,275,275,275,0,0,555.8378,0,0
fam_p1_s4_r2_a42,0,2,6,2144.2,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.5315,30.5315,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,6,2262.75,1.7,4.9149,A01,0,人が立ち止まっていた,Guest(Clone),0,12.25,経路を引き直した,44.9982,25.0018,25.0018,11.3,0,0,0.95,1
fam_p1_s4_r2_a42,0,2,6,2275.45,1.7073,4.8543,A01,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,52.7206,166.5688,52.7206,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,6,2368.35,1.7073,4.8543,A01,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,56.9835,177.0762,56.9835,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,6,2459.6,1.7073,4.8543,A01,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,56.9835,177.0762,56.9835,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,6,2723.35,1.7073,4.8543,A01,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,56.9835,177.0762,56.9835,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,6,2814,1.7073,4.8543,A01,0,分からない,,0,0.95,自分で動き出した,56.9835,177.0762,56.9835,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,7,2819.45,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0078,275,30.0078,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,7,2862.65,21.8298,2.2065,,0,椅子・荷物・ベビーカー,Table40/Chair,0,0.45,自分で動き出した,85.6695,90.6786,85.6695,0,0,0,0.45,0
fam_p1_s4_r2_a42,0,2,7,2915.55,5.8022,4.4507,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,0.1,自分で動き出した,150.1355,39.0597,39.0597,0,0.1,0,0,0
fam_p1_s4_r2_a42,0,2,7,2942,6.2339,4.4387,,0,スタッフとすれ違った,Staff02,0,48.8995,経路を引き直した,11.1403,275,11.1403,47.9496,0,0,0.95,4
fam_p1_s4_r2_a42,0,2,8,3006.6,15.1043,5.8447,,0,分からない,,0,0.95,自分で動き出した,49.4077,275,49.4077,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,8,3047,21.116,2.1995,,0,椅子・荷物・ベビーカー,Table40/Chair,0,1.2,自分で動き出した,155.9171,158.8904,155.9171,0.25,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,8,3099.45,5.8178,4.4404,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,1.35,自分で動き出した,149.7244,34.7895,34.7895,0.3,0.15,0,0.95,0
fam_p1_s4_r2_a42,0,1,9,2794.65,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.2695,30.2695,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,9,2804.85,10.4883,4.3905,,0,スタッフとすれ違った,Staff01,0,1.95,自分で動き出した,234.0915,15.9517,15.9517,1,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,9,2840,5.8265,4.4518,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,0.05,自分で動き出した,145.8162,40.4409,40.4409,0,0.05,0,0,0
fam_p1_s4_r2_a42,0,1,9,2841.5,5.3125,4.4109,,0,人が立ち止まっていた,Guest(Clone),0,0.75,自分で動き出した,126.1724,275,126.1724,0,0,0,0.75,0
fam_p1_s4_r2_a42,0,1,9,2878.5,1.7066,7.2694,A01,0,お客さんとすれ違った,,0,1.05,自分で動き出した,25.6618,44.3385,25.6618,0.1,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,9,2881.55,1.7048,8.1394,A01,0,お客さんとすれ違った,,0,1,自分で動き出した,25.4844,44.5159,25.4844,0.05,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,9,2884.55,1.7031,9.0094,A01,0,お客さんとすれ違った,,0,1,自分で動き出した,25.3069,44.6933,25.3069,0.05,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,9,2887.55,1.7013,9.8794,A01,0,お客さんとすれ違った,,0,60.0494,動けなくなった,25.1294,44.8709,25.1294,59.3994,0,0,0.65,5
fam_p1_s4_r2_a42,0,1,9,3048.85,1.7013,9.8794,A01,0,人が立ち止まっていた,Guest(Clone),0,0.95,自分で動き出した,25.1294,44.8709,25.1294,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,9,3082,1.7002,6.8994,A01,0,スタッフとすれ違った,Staff02,0,29.0498,経路を引き直した,44.9821,25.0179,25.0179,28.0999,0,0,0.95,2
fam_p1_s4_r2_a42,0,1,9,3120.65,4.8978,4.4293,,0,もう1台のロボット,ServingRobot02,0,6.75,自分で動き出した,275,127.953,127.953,5.8,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,9,3143.95,14.2316,5.3728,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,9,3250.1,14.2316,5.3728,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,9,3343.05,14.2316,5.3728,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,9,3435.15,14.2316,5.3728,,0,もう1台のロボット,ServingRobot02,0,34.6998,経路を引き直した,275,275,275,34.6998,0,0,0,3
fam_p1_s4_r2_a42,0,2,10,3142.2,15.0809,5.832,,0,分からない,,0,0.95,自分で動き出した,50.88,275,50.88,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,10,3143.6,15.0269,5.8006,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,55.8756,55.8756,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,10,3267.35,15.0269,5.8006,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,55.8756,55.8756,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,10,3358.15,15.0269,5.8006,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,55.8756,55.8756,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,10,3450.25,15.0269,5.8006,,0,もう1台のロボット,ServingRobot01,0,20.6,経路を引き直した,275,55.8756,55.8756,19.65,0,0,0.95,2
fam_p1_s4_r2_a42,0,2,10,3473.3,14.041,5.2282,,0,スタッフとすれ違った,Staff02,0,1.1,自分で動き出した,275,275,275,0.15,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,10,3480.9,10.6843,4.4007,,0,スタッフとすれ違った,Staff04,0,56.4994,経路を引き直した,235.1111,14.9396,14.9396,55.5494,0,0,0.95,5
fam_p1_s4_r2_a42,0,2,10,3570.95,5.8137,4.4616,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,0.1,自分で動き出した,145.6364,46.0457,46.0457,0,0.1,0,0,0
fam_p1_s4_r2_a42,0,2,10,3626.1,8.386,4.4018,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,14.8292,235.2462,14.8292,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,11,3469.9,15.3,5.95,,0,分からない,,0,3.5,自分で動き出した,37.5124,275,37.5124,2,0,0,1.5,0
fam_p1_s4_r2_a42,0,1,11,3474.85,14.8326,5.6796,,0,もう1台のロボット,ServingRobot02,0,1.1,自分で動き出した,275,69.7708,69.7708,0.15,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,11,3482.45,11.6016,4.3759,,0,もう1台のロボット,ServingRobot02,0,56.4994,経路を引き直した,232.7178,17.4295,17.4295,55.5494,0,0,0.95,5
fam_p1_s4_r2_a42,0,1,11,3543.55,9.3837,4.5173,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,273.7533,75.1722,75.1722,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,3555.35,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5221,245.0063,245.0063,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,3567,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,3578.7,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,3590.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2738,275,244.2738,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,3602.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2807,275,244.2807,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,3613.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,1,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,3625.4,9.2998,4.4902,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,244.2804,275,244.2804,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3638.1,9.2953,4.4682,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,12.4,経路を引き直した,243.5379,275,243.5379,11.4,10,0,1,2
fam_p1_s4_r2_a42,0,1,11,3652.05,9.2953,4.4682,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,242.0734,275,242.0734,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3664.75,9.2953,4.4682,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,16.8,経路を引き直した,242.0734,275,242.0734,15.7,10,0,1.1,2
fam_p1_s4_r2_a42,0,1,11,3683.05,9.2933,4.4584,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.25,経路を引き直した,241.0925,275,241.0925,10.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3695.7,9.2948,4.4657,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.25,経路を引き直した,241.8282,275,241.8282,10.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3708.45,9.2928,4.4559,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.25,経路を引き直した,240.8473,275,240.8473,10.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3721.1,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.65,経路を引き直した,241.5829,275,241.5829,10.7,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3733,9.2899,4.4412,,0,スタッフとすれ違った,Staff04,0,1.85,自分で動き出した,275,154.7983,154.7983,0.9,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,11,3736.3,9.2938,4.4608,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.25,経路を引き直した,241.3377,275,241.3377,10.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3748.95,9.2953,4.4682,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.25,経路を引き直した,242.0733,275,242.0733,10.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3761.7,9.2933,4.4584,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.25,経路を引き直した,241.0925,275,241.0925,10.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3774.35,9.2948,4.4657,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,21,経路を引き直した,241.8281,275,241.8281,20.05,10,0,0.95,3
fam_p1_s4_r2_a42,0,1,11,3796.2,9.2544,4.2673,,0,スタッフとすれ違った,Staff04,0,3.25,自分で動き出した,275,241.96,241.96,2,0,0,1.25,0
fam_p1_s4_r2_a42,0,1,11,3800.3,9.2849,4.4167,,0,スタッフとすれ違った,Staff03,0,1.85,自分で動き出した,275,57.7323,57.7323,0.85,0,0,1,0
fam_p1_s4_r2_a42,0,1,11,3802.6,9.2923,4.4535,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,148.6542,275,148.6542,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,3812.85,9.2879,4.4314,,0,人が立ち止まっていた,Staff02,0,6.45,自分で動き出した,140.9384,264.1553,140.9384,5.4,0,0,1.05,0
fam_p1_s4_r2_a42,0,1,11,3820.7,9.2938,4.4608,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,45.2996,経路を引き直した,77.7572,275,77.7572,44.3496,10,0,0.95,5
fam_p1_s4_r2_a42,0,1,11,3867.5,9.2953,4.4682,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,243.5378,275,243.5378,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3880.25,9.2983,4.4829,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,12.65,経路を引き直した,118.1815,261.4444,118.1815,11.35,10,0,1.3,2
fam_p1_s4_r2_a42,0,1,11,3894.35,9.2938,4.4608,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,15.95,経路を引き直した,119.4633,259.0903,119.4633,14.8,10,0,1.15,2
fam_p1_s4_r2_a42,0,1,11,3911.55,9.2879,4.4314,,0,お客さんとすれ違った,Guest(Clone),0,0.75,自分で動き出した,275,78.9725,78.9725,0,0,0,0.75,0
fam_p1_s4_r2_a42,0,1,11,3912.45,9.2894,4.4388,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,156.0257,275,156.0257,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,3924.1,9.2983,4.4829,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,101.5577,275,101.5577,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,3935.75,9.2953,4.4682,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.6892,275,77.6892,3.5,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3948.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11,経路を引き直した,118.6113,260.6589,118.6113,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3960.9,9.2983,4.4829,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.1844,261.4435,118.1844,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3973.5,9.2948,4.4657,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.5564,275,77.5564,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,3986.05,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.5,経路を引き直した,118.7548,260.3969,118.7548,9.55,10,0,0.5,2
fam_p1_s4_r2_a42,0,1,11,3998.25,9.2993,4.4878,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,117.899,261.9666,117.899,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,4010.9,9.2948,4.4657,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.5562,275,77.5562,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,4023.55,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,118.7542,260.3969,118.7542,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,4036.25,9.2978,4.4804,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,118.3272,261.1815,118.3272,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,11,4048.2,9.2574,4.282,,0,お客さんとすれ違った,Guest(Clone),0,3,自分で動き出した,275,234.6057,234.6057,2.05,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,11,4052.55,9.2993,4.4878,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,249.2923,225.9087,225.9087,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,11,4064.2,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02,1,5.75,自分で動き出した,244.0299,275,244.0299,0,5.75,0,0,0
fam_p1_s4_r2_a42,0,2,12,3817.45,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0138,275,30.0138,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,12,3826.9,10.8656,4.3025,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,229.3483,25.5605,25.5605,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,12,3907.2,10.8656,4.3025,,0,人が立ち止まっていた,Staff01,0,25.8999,経路を引き直した,229.3483,25.5605,25.5605,24.2999,0,0,1.6,2
fam_p1_s4_r2_a42,0,2,12,3939.7,13.713,5.9598,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,169.0053,275,169.0053,0,10,0,0,2
fam_p1_s4_r2_a42,0,2,12,3952.75,12.6974,4.8559,,0,お客さんとすれ違った,Guest(Clone),0,1.4,自分で動き出した,275,29.0025,29.0025,0.45,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,12,3957.9,10.9018,4.3271,,0,人が立ち止まっていた,Staff03,0,38.6497,経路を引き直した,232.3292,23.1603,23.1603,35.9997,0,0,2.65,3
fam_p1_s4_r2_a42,0,2,12,3998.35,10.1653,4.1855,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,217.9163,37.5733,37.5733,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,12,4253.65,10.1653,4.1855,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,217.9163,37.5733,37.5733,59.4994,0,0,0.55,5
fam_p1_s4_r2_a42,0,2,12,4388.95,10.1653,4.1855,,0,スタッフとすれ違った,Staff02,0,28.5499,経路を引き直した,37.2608,216.7034,37.2608,28.5499,0,0,0,2
fam_p1_s4_r2_a42,0,1,13,4070,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.3547,30.3547,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,13,4078.7,11.3918,4.3693,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,232.0598,18.0875,18.0875,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,13,4159.95,11.3918,4.3693,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,232.0598,18.0875,18.0875,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,13,4252.1,11.3918,4.3693,,0,分からない,,0,0.95,自分で動き出した,232.0598,18.0875,18.0875,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,13,4254,11.1419,4.3615,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,231.2764,18.8708,18.8708,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,13,4524.1,11.1419,4.3615,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,231.2764,18.8708,18.8708,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,13,4599.3,11.1419,4.3615,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,231.2764,18.8708,18.8708,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,14,4417.55,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.7268,275,30.7268,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,14,4507,12.0493,4.6251,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,257.6035,0,0,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,14,4605.6,12.0493,4.6251,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,257.6035,0,0,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,14,4691.4,12.0493,4.6251,,0,人が立ち止まっていた,Staff03,0,3.3,自分で動き出した,257.6035,0,0,2.15,0,0,1.15,0
fam_p1_s4_r2_a42,0,2,14,4698.5,10.0999,4.5757,,0,お客さんとすれ違った,Guest(Clone),0,1.1,自分で動き出した,252.6563,0,0,0.15,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,14,4705.8,6.7445,4.3811,,0,スタッフとすれ違った,Staff01,0,1.3,自分で動き出した,275,16.8945,16.8945,0.35,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,14,4707.85,6.5845,4.3786,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,275,17.144,17.144,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,14,4790.95,6.5845,4.3786,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,275,17.144,17.144,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,14,4866.15,6.5845,4.3786,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,275,17.144,17.144,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,14,4941.35,6.5845,4.3786,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,275,17.144,17.144,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,14,5049.25,6.5845,4.3786,,0,分からない,,0,0.95,自分で動き出した,275,17.144,17.144,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,14,5052.2,5.7146,4.365,,0,人が立ち止まっていた,Guest(Clone),0,15.5,経路を引き直した,121.5225,275,121.5225,15.5,0,0,0,1
fam_p1_s4_r2_a42,0,1,15,4670.1,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.027,30.027,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,15,4674.9,13.5861,4.9587,,0,スタッフとすれ違った,Staff01,0,22.5999,経路を引き直した,275,231.8664,231.8664,21.65,0,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,4697.75,13.5666,4.9474,,0,スタッフとすれ違った,Staff03,0,1.35,自分で動き出した,275,227.9767,227.9767,0.4,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,15,4707.2,9.3891,4.5152,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,272.8309,74.9905,74.9905,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4719,9.3061,4.4883,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,249.0094,230.2516,230.2516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4729.15,9.304,4.4785,,0,スタッフとすれ違った,Staff04,0,2.05,自分で動き出した,270.1711,142.5621,142.5621,1.1,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,15,4732.85,9.2955,4.465,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,242.8397,275,242.8397,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4744.45,9.2978,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.6581,275,244.6581,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4756.1,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.2266,275,243.2266,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4767.7,9.2977,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.7116,275,244.7116,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4779.35,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.233,275,243.233,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4790.95,9.2977,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.7122,275,244.7122,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4802.6,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.2329,275,243.2329,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4814.1,9.2962,4.4725,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.2751,275,77.2751,0.25,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4825.8,9.2992,4.4872,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.9312,261.9054,117.9312,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4837.45,9.2962,4.4725,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.2756,275,77.2756,1.45,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4849.15,9.2992,4.4872,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.9325,261.905,117.9325,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4860.8,9.2962,4.4725,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.2762,275,77.2762,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4872.5,9.2992,4.4872,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.9334,261.9046,117.9334,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4883.05,9.2813,4.399,,0,スタッフとすれ違った,Staff04,0,1.35,自分で動き出した,275,177.1914,177.1914,0.4,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,15,4885.9,9.2962,4.4725,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.972,275,243.972,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4896.75,9.2558,4.2741,,0,お客さんとすれ違った,Guest(Clone),0,2.15,自分で動き出した,275,238.5719,238.5719,1.2,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,15,4900.2,9.2977,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.4836,226.7128,226.7128,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4911.85,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.2322,275,243.2322,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4923.45,9.2977,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.7115,275,244.7115,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4935.1,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.2321,275,243.2321,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4946.7,9.2977,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.7114,275,244.7114,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4958.35,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5792,275,77.5792,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4969.95,9.2977,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,76.9718,275,76.9718,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4981.6,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5798,275,77.5798,1.25,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,4993.2,9.2977,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,76.9725,275,76.9725,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,5004.85,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5804,275,77.5804,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,5016.45,9.2977,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,76.9728,275,76.9728,0.6,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,5028.1,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5802,275,77.5802,1.35,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,5039.7,9.2977,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,76.9727,275,76.9727,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,5051.35,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.58,275,77.58,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,5062.95,9.2977,4.4798,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,76.9727,275,76.9727,0.5,10,0,0,2
fam_p1_s4_r2_a42,0,1,15,5074.6,9.2947,4.4651,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.5807,275,77.5807,6.7,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5087.15,9.2977,4.4798,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,76.9731,275,76.9731,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5099.75,9.2947,4.4651,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.5805,275,77.5805,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5112.3,9.2977,4.4798,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.3,経路を引き直した,76.9729,275,76.9729,10.35,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5125,9.2927,4.4553,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,229.226,245.9818,229.226,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5137.65,9.2942,4.4627,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6808,275,77.6808,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5150.2,9.2972,4.4774,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0733,275,77.0733,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5162.8,9.2942,4.4627,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.6813,275,77.6813,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5175.4,9.2967,4.4749,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.1752,275,77.1752,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5188.05,9.2982,4.4823,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,118.2185,261.3799,118.2185,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5200.75,9.2947,4.4651,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.5807,275,77.5807,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5213.35,9.2972,4.4774,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.0746,275,77.0746,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5225.9,9.2952,4.4676,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.35,経路を引き直した,119.0738,259.8102,119.0738,10.4,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5238.65,9.2922,4.4529,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.2,経路を引き直した,275,240.5416,240.5416,10.25,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5251.45,9.2952,4.4676,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,77.4792,275,77.4792,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,15,5264.15,9.2967,4.4749,,0,もう1台のロボット,経路なし：ServingRobot02,1,6,自分で動き出した,118.6459,260.5949,118.6459,6,6,0,0,0
fam_p1_s4_r2_a42,0,2,16,5067.75,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0067,30.0067,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,16,5078.4,10.2213,4.3856,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,16,5156.7,10.2213,4.3856,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,16,5231.9,10.2213,4.3856,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,16,5325.8,10.2213,4.3856,,0,分からない,,0,0.95,自分で動き出した,233.5705,16.442,16.442,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,16,5328.45,9.5313,4.3793,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,232.94,275,232.94,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,16,5447.05,9.5313,4.3793,,0,人が立ち止まっていた,Staff02,0,1.6,自分で動き出した,232.94,275,232.94,0.65,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,16,5455.8,5.5714,4.3431,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.3185,275,119.3185,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,17,5270.2,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,33.7223,275,33.7223,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,17,5278.15,11.8415,4.3834,,0,お客さんとすれ違った,,0,60.0494,動けなくなった,233.4698,16.6774,16.6774,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,17,5372.4,11.8415,4.3834,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,233.4698,16.6774,16.6774,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,17,5447.6,11.8415,4.3834,,0,スタッフとすれ違った,Staff04,0,45.4996,経路を引き直した,233.4698,16.6774,16.6774,44.5496,0,0,0.95,4
fam_p1_s4_r2_a42,0,1,17,5498.1,9.3837,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1722,75.1722,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5509.9,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5221,245.0063,245.0063,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5521.55,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5533.25,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5544.9,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2738,275,244.2738,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5556.6,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2807,275,244.2807,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5568.25,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5579.95,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2804,275,244.2804,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5591.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5603.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5614.9,9.2963,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.251,275,77.251,3.7,10,0,0,2
fam_p1_s4_r2_a42,0,1,17,5626.6,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11,経路を引き直した,117.8974,261.9675,117.8974,6.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5639.2,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.3528,275,77.3528,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5651.75,9.2973,4.478,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11,経路を引き直した,118.4681,260.9209,118.4681,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5664.35,9.2938,4.4608,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.7584,275,77.7584,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5676.85,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,77.2522,275,77.2522,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5689.55,9.2978,4.4804,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.327,261.1819,118.327,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5702.2,9.2948,4.4657,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.5563,275,77.5563,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5714.8,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.4687,260.9204,118.4687,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5727.45,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,12.15,経路を引き直した,77.6575,275,77.6575,11.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5741.2,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.05,275,77.05,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5753.8,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6573,275,77.6573,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5766.35,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0498,275,77.0498,8.4,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5778.95,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,12.05,経路を引き直した,77.6572,275,77.6572,11.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5792.6,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0498,275,77.0498,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5805.2,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6578,275,77.6578,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5817.75,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0502,275,77.0502,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5830.35,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6576,275,77.6576,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5842.9,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.05,275,77.05,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5855.5,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6574,275,77.6574,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,17,5868.05,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02,1,2.2,自分で動き出した,77.0501,275,77.0501,2.2,2.2,0,0,0
fam_p1_s4_r2_a42,0,2,18,5667.85,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0023,30.0023,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,18,5677.5,10.8212,4.3911,,0,人が立ち止まっていた,Staff04,0,7.45,自分で動き出した,234.1189,15.8936,15.8936,6.5,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,18,5685.2,10.7987,4.3909,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,234.0983,15.9142,15.9142,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,18,5769.1,10.7987,4.3909,,0,人が立ち止まっていた,Staff04,0,2.35,自分で動き出した,234.0983,15.9142,15.9142,1.4,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,18,5772.95,10.2288,4.3857,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.5775,16.435,16.435,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,18,6099.95,10.2288,4.3857,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,233.5775,16.435,16.435,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,18,6175.15,10.2288,4.3857,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,233.5775,16.435,16.435,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,18,6250.35,10.2288,4.3857,,0,人が立ち止まっていた,Staff01,0,17.55,経路を引き直した,233.5775,16.435,16.435,17.55,0,0,0,1
fam_p1_s4_r2_a42,0,1,19,5870.3,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,38.1987,275,38.1987,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,19,5878.25,11.8415,4.3834,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,233.4698,16.6774,16.6774,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,19,5986.55,11.8415,4.3834,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,233.4698,16.6774,16.6774,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,19,6064.9,11.8415,4.3834,,0,人が立ち止まっていた,Staff02,0,39.6997,経路を引き直した,233.4698,16.6774,16.6774,38.7497,0,0,0.95,3
fam_p1_s4_r2_a42,0,1,19,6106.3,11.1519,4.3618,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,231.3077,18.8395,18.8395,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,19,6269.25,11.1519,4.3618,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,231.3077,18.8395,18.8395,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,19,6349.85,11.1519,4.3618,,0,人が立ち止まっていた,Staff01,0,21.7,経路を引き直した,231.3077,18.8395,18.8395,20.75,0,0,0.95,2
fam_p1_s4_r2_a42,0,1,19,6375.4,9.3837,4.5173,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,273.7527,75.1724,75.1724,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,19,6387.2,9.3058,4.489,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,248.5224,245.0026,245.0026,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,19,6398.85,9.2975,4.4754,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.9131,275,243.9131,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,19,6410.55,9.2999,4.4902,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2969,275,244.2969,0.7,10,0,0,2
fam_p1_s4_r2_a42,0,1,19,6422.2,9.2968,4.4755,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2738,275,244.2738,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,19,6433.9,9.2998,4.4902,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2807,275,244.2807,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,19,6445.55,9.2968,4.4755,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,19,6457.25,9.2998,4.4902,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2804,275,244.2804,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,19,6468.9,9.2968,4.4755,,0,もう1台のロボット,経路なし：ServingRobot02,1,1.45,自分で動き出した,244.2776,275,244.2776,0,1.45,0,0,0
fam_p1_s4_r2_a42,0,2,20,6267.95,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0023,30.0023,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,20,6275.5,12.0812,4.4026,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,235.2705,14.742,14.742,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,20,6367.9,12.0812,4.4026,,0,もう1台のロボット,ServingRobot01,0,5.2,自分で動き出した,235.2705,14.742,14.742,4.25,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,20,6376.6,10.3113,4.3864,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.653,16.3596,16.3596,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,20,6473.55,10.3113,4.3864,,0,分からない,,0,0.95,自分で動き出した,233.653,16.3596,16.3596,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,20,6482.45,5.8714,4.3459,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,119.5924,275,119.5924,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,20,6558.05,5.8714,4.3459,,0,人が立ち止まっていた,Staff01,0,2,自分で動き出した,119.5924,275,119.5924,1.05,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,20,6561.35,5.4214,4.3418,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.1815,275,119.1815,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,20,6640.8,5.4214,4.3418,,0,人が立ち止まっていた,Guest(Clone),0,25.4999,経路を引き直した,119.1815,275,119.1815,24.5499,0,0,0.95,2
fam_p1_s4_r2_a42,0,2,20,6770.75,3.9083,4.4446,,0,お客さんとすれ違った,,0,45.9996,経路を引き直した,10.5465,129.4763,10.5465,45.0496,0,0,0.95,4
fam_p1_s4_r2_a42,0,2,20,6824.75,8.3777,4.3753,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,17.4744,232.5616,17.4744,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,21,6470.4,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.3547,30.3547,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,21,6474.75,13.8198,5.0938,,0,スタッフとすれ違った,Staff03,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,21,6475.95,13.8003,5.0826,,0,スタッフとすれ違った,Staff02,0,2,自分で動き出した,275,274.6566,274.6566,1.05,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,21,6486.5,9.3891,4.5152,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,272.8309,74.9905,74.9905,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6498.3,9.3061,4.4883,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,249.0094,230.2516,230.2516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6509.95,9.2975,4.4748,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.8251,275,243.8251,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6521.65,9.2998,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2399,275,244.2399,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6533.3,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2146,275,244.2146,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6545,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2222,275,244.2222,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6556.65,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2189,275,244.2189,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6568.35,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2219,275,244.2219,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6580,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.05,経路を引き直した,244.2188,275,244.2188,2.5,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,6592.75,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7883,262.1669,117.7883,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6604.4,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1741,275,77.1741,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6616.1,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7895,262.1665,117.7895,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6627.75,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1747,275,77.1747,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6639.45,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7905,262.166,117.7905,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6651.1,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1745,275,77.1745,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6662.8,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7903,262.166,117.7903,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6674.45,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1752,275,77.1752,1.6,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6686.15,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7913,262.1656,117.7913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6697.8,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.175,275,77.175,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6709.5,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7908,262.1656,117.7908,0.45,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6721.15,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1747,275,77.1747,0.85,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6732.85,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7908,262.1655,117.7908,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6744.5,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1754,275,77.1754,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6756.2,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7917,262.1651,117.7917,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6767.85,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1752,275,77.1752,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6779.55,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7913,262.1651,117.7913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6791.2,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.175,275,77.175,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6802.9,9.2997,4.4896,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7911,262.1651,117.7911,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6814.55,9.2967,4.4749,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1755,275,77.1755,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6826.25,9.2997,4.4896,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,117.7907,262.165,117.7907,7.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,6838.85,9.2962,4.4725,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.2767,275,77.2767,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,6851.4,9.2977,4.4798,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.3613,261.1184,118.3613,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,6864,9.2942,4.4627,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6822,275,77.6822,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,6876.5,9.2967,4.4749,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.1759,275,77.1759,1.5,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6888.2,9.2997,4.4896,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,117.7913,262.1646,117.7913,1,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6899.85,9.2967,4.4749,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,77.1751,275,77.1751,8.55,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,6912.6,9.2982,4.4823,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.2182,261.3799,118.2182,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,6925.2,9.2947,4.4651,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.5807,275,77.5807,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,6937.7,9.2972,4.4774,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0745,275,77.0745,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,6949.4,9.2653,4.3206,,0,お客さんとすれ違った,Guest(Clone),0,1.9,自分で動き出した,275,215.2585,215.2585,0.95,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,21,6952.7,9.2982,4.4823,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.4841,275,243.4841,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6964.35,9.2952,4.4676,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.05,経路を引き直した,243.477,275,243.477,8.35,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,6977.1,9.2982,4.4823,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.2169,261.3799,118.2169,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6988.75,9.2952,4.4676,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.4789,275,77.4789,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,6999.3,9.2773,4.3794,,0,お客さんとすれ違った,Guest(Clone),0,2.15,自分で動き出した,275,185.7919,185.7919,1.2,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,21,7002.75,9.2942,4.4627,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.85,経路を引き直した,242.9837,275,242.9837,10.9,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,21,7016.1,9.2957,4.47,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.7233,275,243.7233,2.35,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,7027.8,9.2987,4.4847,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.729,275,243.729,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,7039.45,9.2957,4.47,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3774,275,77.3774,1.1,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,7051.15,9.2987,4.4847,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0752,261.6409,118.0752,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,21,7062.8,9.2957,4.47,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,7.65,自分で動き出した,77.378,275,77.378,1.3,7.65,0,0,0
fam_p1_s4_r2_a42,0,2,22,6943.2,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0066,275,30.0066,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,22,6982.75,19.6369,2.2015,,0,椅子・荷物・ベビーカー,Table38/Chair,0,0.45,自分で動き出した,85.1505,34.8534,34.8534,0,0,0,0.45,0
fam_p1_s4_r2_a42,0,2,22,7000.1,9.9007,3.2776,,0,お客さんとすれ違った,Guest(Clone),0,1.15,自分で動き出した,124.1256,128.6486,124.1256,0.2,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,22,7008.9,5.6797,3.8529,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,71.1759,275,71.1759,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,22,7091.1,5.6797,3.8529,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,71.1759,275,71.1759,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,22,7178.5,5.6797,3.8529,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,71.1759,275,71.1759,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,22,7445.55,5.6797,3.8529,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,71.1759,275,71.1759,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,22,7532.55,5.6797,3.8529,,0,人が立ち止まっていた,Guest(Clone),0,35.7497,経路を引き直した,71.1759,275,71.1759,35.7497,0,0,0,3
fam_p1_s4_r2_a42,0,1,23,7070.5,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,38.1988,275,38.1988,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,23,7082.9,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.25,経路を引き直した,273.7533,75.1727,75.1727,8.4,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7095.75,9.3032,4.4641,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.15,経路を引き直した,245.9921,246.4079,245.9921,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7108.45,9.2958,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.1,経路を引き直した,242.0751,275,242.0751,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7120.95,9.292,4.4511,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.2,経路を引き直した,258.279,119.1797,119.1797,10.25,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7133.65,9.2934,4.4585,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,242.5565,275,242.5565,2.9,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7145.25,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0439,275,244.0439,1.15,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7156.95,9.2994,4.4879,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0491,275,244.0491,1.6,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7168.6,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0449,275,244.0449,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7180.3,9.2994,4.4879,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0489,275,244.0489,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7191.95,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.05,経路を引き直した,244.0448,275,244.0448,3.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7204.55,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.65,経路を引き直した,242.5775,275,242.5775,10.65,10,0,1,2
fam_p1_s4_r2_a42,0,1,23,7217.75,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.1,経路を引き直した,242.5775,275,242.5775,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7230.4,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.1,経路を引き直した,242.5774,275,242.5774,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7243.05,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,242.5774,275,242.5774,7.25,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7254.75,9.2994,4.4879,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0486,275,244.0486,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7266.4,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0445,275,244.0445,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7278.1,9.2994,4.4879,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11,経路を引き直した,117.8892,261.9819,117.8892,7.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7290.7,9.2959,4.4708,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.3471,275,77.3471,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7303.25,9.2974,4.4781,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11,経路を引き直した,118.4599,260.9354,118.4599,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7315.85,9.2939,4.461,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.7526,275,77.7526,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7328.35,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.2465,275,77.2465,6.7,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7340.05,9.2994,4.4879,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11,経路を引き直した,117.8915,261.9811,117.8915,5.9,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7352.65,9.2959,4.4708,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.3476,275,77.3476,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7365.2,9.2974,4.4781,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11,経路を引き直した,118.4607,260.9349,118.4607,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7377.8,9.2939,4.461,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.7531,275,77.7531,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7390.3,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,13.05,経路を引き直した,77.2469,275,77.2469,11.75,10,0,1.3,2
fam_p1_s4_r2_a42,0,1,23,7405,9.2989,4.4854,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,12.15,経路を引き直した,118.0346,261.7191,118.0346,9,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7418.8,9.2959,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.348,275,77.348,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7430.5,9.2989,4.4854,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0342,261.7191,118.0342,0.5,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7442.05,9.2944,4.4634,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.6516,275,77.6516,9.4,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7454.55,9.2969,4.4756,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.8,経路を引き直した,77.1453,275,77.1453,10.85,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7467.95,9.2984,4.483,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11,経路を引き直した,118.1765,261.4575,118.1765,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7479.9,9.2495,4.2429,,0,お客さんとすれ違った,Guest(Clone),0,11.75,経路を引き直した,275,133.9955,133.9955,10.2,0,0,1.55,1
fam_p1_s4_r2_a42,0,1,23,7492.85,9.2944,4.4634,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,143.6917,275,143.6917,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7503.4,9.2764,4.3752,,0,スタッフとすれ違った,Staff02,0,1.1,自分で動き出した,234.1816,275,234.1816,0.15,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,23,7505.85,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.05,経路を引き直した,243.3038,275,243.3038,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7518.45,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.15,経路を引き直した,241.8407,275,241.8407,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7531.15,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.15,経路を引き直した,241.8406,275,241.8406,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7543.85,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.1,経路を引き直した,241.8406,275,241.8406,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7556.5,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.15,経路を引き直した,241.8406,275,241.8406,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7569.2,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,12.3,経路を引き直した,241.8406,275,241.8406,11.35,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7583.05,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.15,経路を引き直した,241.8406,275,241.8406,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7595.75,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.1,経路を引き直した,241.8406,275,241.8406,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7608.25,9.2919,4.4511,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.2,経路を引き直した,258.0583,120.0232,120.0232,10.25,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7620.7,9.2859,4.4218,,0,スタッフとすれ違った,Staff04,0,1.3,自分で動き出した,275,238.866,238.866,0.35,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,23,7622.35,9.2909,4.4462,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,152.2713,275,152.2713,0.5,10,0,0,2
fam_p1_s4_r2_a42,0,1,23,7632.6,9.2864,4.4242,,0,人が立ち止まっていた,Staff03,0,1.75,自分で動き出した,140.5845,263.361,140.5845,0.45,0,0,1.3,0
fam_p1_s4_r2_a42,0,1,23,7635.85,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.15,経路を引き直した,77.5507,275,77.5507,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7648.55,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.25,経路を引き直した,119.1737,259.6263,119.1737,10.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,23,7661.35,9.2949,4.4658,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,9.2,自分で動き出した,119.1737,259.6263,119.1737,9.05,9.2,0,0,0
fam_p1_s4_r2_a42,0,2,24,7568.35,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.5086,30.5086,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,24,7572.45,13.7742,6.1292,,0,人が立ち止まっていた,Staff01,0,8.8,自分で動き出した,275,20.7982,20.7982,7.85,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,24,7581.8,13.7095,6.1902,,0,スタッフとすれ違った,Staff01,0,0.85,自分で動き出した,162.9373,21.8314,21.8314,0,0,0,0.85,0
fam_p1_s4_r2_a42,0,2,24,7583.3,13.6646,6.2989,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,112.9145,113.9749,112.9145,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,24,7690.85,13.6646,6.2989,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,112.9145,113.9748,112.9145,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,24,7767.15,13.6646,6.2989,,0,人が立ち止まっていた,Staff01,0,53.2995,経路を引き直した,112.9145,113.9748,112.9145,52.3495,0,0,0.95,5
fam_p1_s4_r2_a42,0,2,24,7827.4,13.1088,10.0984,,0,スタッフとすれ違った,Staff02,0,3.05,自分で動き出した,56.7448,65.0638,56.7448,1.35,0,0,1.7,0
fam_p1_s4_r2_a42,0,2,24,7831.8,13.0394,10.5734,,0,スタッフとすれ違った,Staff02,0,1.6,自分で動き出した,49.7243,72.0843,49.7243,0.65,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,24,7953.6,3.577,4.4514,,0,スタッフとすれ違った,Staff02,0,1.05,自分で動き出した,9.8653,130.1581,9.8653,0.1,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,24,7957.45,4.9268,4.4302,,0,スタッフとすれ違った,Staff03,0,49.0495,経路を引き直した,275,128.0401,128.0401,48.0996,0,0,0.95,4
fam_p1_s4_r2_a42,0,2,24,8012.8,8.3764,4.3761,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,17.3961,232.6408,17.3961,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,24,8109.8,8.3764,4.3761,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,17.3961,232.6408,17.3961,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,25,7670.6,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,33.7222,275,33.7222,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,25,7673.4,14.6248,5.5595,,0,スタッフとすれ違った,Staff03,0,2.55,自分で動き出した,275,83.6523,83.6523,1.4,0,0,1.15,0
fam_p1_s4_r2_a42,0,1,25,7686.1,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,12.25,経路を引き直した,273.7533,75.1727,75.1727,2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,7700,9.3042,4.4741,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.15,経路を引き直した,247.004,245.8514,245.8514,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,7712.7,9.2977,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,12.3,経路を引き直した,243.0154,275,243.0154,10.95,10,0,1.35,2
fam_p1_s4_r2_a42,0,1,25,7726.35,9.2905,4.4437,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.5,経路を引き直した,275,78.1289,78.1289,10.55,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,7739.25,9.2919,4.4511,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.1,経路を引き直した,240.3679,275,240.3679,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,7751.85,9.2934,4.4585,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,242.5588,275,242.5588,1.3,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7763.45,9.2964,4.4732,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0392,275,244.0392,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7775.15,9.2993,4.4879,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0431,275,244.0431,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7786.75,9.2959,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.349,275,77.349,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,7799.25,9.2959,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.25,経路を引き直した,118.8896,260.1452,118.8896,10.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,7812.05,9.2959,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.2,経路を引き直した,118.8894,260.1452,118.8894,10.25,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,7824.8,9.2959,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11,経路を引き直した,118.8893,260.1452,118.8893,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,7837.45,9.2983,4.4829,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,4.9,自分で動き出した,118.1773,261.4529,118.1773,2.7,4.9,0,0,0
fam_p1_s4_r2_a42,0,1,25,7842.7,9.2934,4.4585,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,36.8984,275,36.8984,1.05,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7854.3,9.2964,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0388,275,244.0388,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7866,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.8924,261.9759,117.8924,0.45,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7877.65,9.2964,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.45,経路を引き直した,77.2481,275,77.2481,2.6,10,0,1.25,2
fam_p1_s4_r2_a42,0,1,25,7890.8,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.8937,261.9755,117.8937,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7902.45,9.2963,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.2487,275,77.2487,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7914.15,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.8946,261.975,117.8946,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7925.8,9.2963,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.2485,275,77.2485,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7937.5,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.8944,261.975,117.8944,1.2,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7949.15,9.2963,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.2492,275,77.2492,1.6,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7960.85,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.8954,261.9746,117.8954,0.45,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7972.5,9.2963,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.249,275,77.249,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7984.2,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.8949,261.9746,117.8949,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,7995.85,9.2963,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.15,経路を引き直した,77.2488,275,77.2488,2.2,10,0,1,2
fam_p1_s4_r2_a42,0,1,25,8008.7,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.8948,261.9745,117.8948,1.5,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,8020.35,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.2492,275,77.2492,1.25,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,8030.9,9.2784,4.3849,,0,スタッフとすれ違った,Staff01,0,1.55,自分で動き出した,275,182.9991,182.9991,0.6,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,25,8033.85,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.7,経路を引き直した,242.5705,275,242.5705,10.75,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8047.1,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,242.5705,275,242.5705,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8059.8,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,242.5704,275,242.5704,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8072.5,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,242.5704,275,242.5704,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8085.2,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,26.6499,経路を引き直した,242.5703,275,242.5703,25.6999,10,0,0.95,3
fam_p1_s4_r2_a42,0,1,25,8113.4,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,242.5703,275,242.5703,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8126.1,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,242.5703,275,242.5703,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8138.8,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,242.5702,275,242.5702,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8151.5,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,242.5702,275,242.5702,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8164.2,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,242.5701,275,242.5701,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8175.5,9.2944,4.4633,,0,スタッフとすれ違った,Staff02,0,1.85,自分で動き出した,275,143.7165,143.7165,0.9,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,25,8178.8,9.2944,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,243.051,275,243.051,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8191.35,9.2944,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,243.051,275,243.051,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8203.9,9.2944,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,243.051,275,243.051,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8216.45,9.2944,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,243.051,275,243.051,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8229,9.2944,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,243.051,275,243.051,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,25,8241.55,9.2944,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.051,275,243.051,2.05,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,8253.15,9.2973,4.478,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.5303,275,244.5303,1.35,10,0,0,2
fam_p1_s4_r2_a42,0,1,25,8264.8,9.2944,4.4633,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,5.85,自分で動き出した,243.0509,275,243.0509,0,5.85,0,0,0
fam_p1_s4_r2_a42,0,1,26,8270.7,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,3,自分で動き出した,275,30.3547,30.3547,1.35,0,0,1.65,0
fam_p1_s4_r2_a42,0,1,26,8278.7,12.9888,4.6132,,0,お客さんとすれ違った,Guest(Clone),0,2.65,自分で動き出した,275,112.57,112.57,0.95,0,0,1.7,0
fam_p1_s4_r2_a42,0,1,26,8288.351,9.3837,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1724,75.1724,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8300.15,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5219,245.0104,245.0104,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8311.8,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,12,経路を引き直した,243.9129,275,243.9129,1.95,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8325.5,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2967,275,244.2967,0.7,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8337.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2735,275,244.2735,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8348.851,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2803,275,244.2803,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8360.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2772,275,244.2772,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8372.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.28,275,244.28,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8383.851,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2772,275,244.2772,0.95,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8395.55,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2798,275,244.2798,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8407.15,9.2963,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.95,経路を引き直した,77.2512,275,77.2512,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8419.7,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.325,261.1823,118.325,9,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8431.351,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.75,経路を引き直した,77.5555,275,77.5555,2.55,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8444.8,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11,経路を引き直した,118.3259,261.182,118.3259,0.6,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8457.45,9.2948,4.4657,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.25,経路を引き直した,77.5561,275,77.5561,10.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8470.351,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.4696,260.92,118.4696,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8483,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.6578,275,77.6578,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8495.55,9.2958,4.4706,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,77.3536,275,77.3536,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8508.25,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,118.4691,260.9199,118.4691,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8520.9,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,118.4692,260.9198,118.4692,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8533.55,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.4691,260.9198,118.4691,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8546.2,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6576,275,77.6576,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8557.2,9.2938,4.4608,,0,お客さんとすれ違った,Guest(Clone),0,3.05,自分で動き出した,275,144.9865,144.9865,2.1,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,26,8561.851,9.2968,4.4755,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.1513,275,77.1513,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8574.45,9.2993,4.4878,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,117.8991,261.966,117.8991,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8587.15,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.2525,275,77.2525,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8599.75,9.2988,4.4853,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,12.5,経路を引き直した,118.0427,261.704,118.0427,11.25,10,0,1.25,2
fam_p1_s4_r2_a42,0,1,26,8613.75,9.2928,4.4559,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.9619,275,77.9619,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8626.3,9.2958,4.4706,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.3541,275,77.3541,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8638.5,9.2779,4.3824,,0,もう1台のロボット,ServingRobot02,0,1.15,自分で動き出した,275,233.4896,233.4896,0.2,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,26,8640.3,9.2918,4.451,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,149.8913,275,149.8913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8650.75,9.2794,4.3898,,0,もう1台のロボット,ServingRobot02,0,3.2,自分で動き出した,235.9036,239.292,235.9036,1.3,0,0,1.9,0
fam_p1_s4_r2_a42,0,1,26,8655.45,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.0432,275,243.0432,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8667.05,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.5225,275,244.5225,3,10,0,0,2
fam_p1_s4_r2_a42,0,1,26,8678.7,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6569,275,77.6569,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8691.25,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0496,275,77.0496,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8703.851,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6576,275,77.6576,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8716.4,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,12,経路を引き直した,77.0502,275,77.0502,11.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8729.95,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,118.4699,260.9188,118.4699,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8742.7,9.2938,4.4608,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.7593,275,77.7593,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8755.25,9.2953,4.4682,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,77.4557,275,77.4557,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,26,8767.95,9.2968,4.4755,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,13.2,経路を引き直した,118.6131,260.6569,118.6131,11.55,10,0,1.65,2
fam_p1_s4_r2_a42,0,1,26,8782.4,9.2789,4.3873,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,275,233.9793,233.9793,54.6495,0,0,5.4,5
fam_p1_s4_r2_a42,0,2,27,8444.2,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0067,275,30.0067,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,27,8454.851,10.2213,4.3856,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,27,8533,10.2213,4.3856,,0,スタッフとすれ違った,Staff02,0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,27,8613.7,10.2213,4.3856,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,27,8701.25,10.2213,4.3856,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,27,8781.101,10.2213,4.3856,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,28,8870.8,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,28,8878.95,11.7216,4.3797,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,233.0938,17.0534,17.0534,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,28,8969.75,11.7216,4.3797,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,233.0938,17.0534,17.0534,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,28,9062.55,11.7216,4.3797,,0,スタッフとすれ違った,Staff02,0,1.65,自分で動き出した,233.0938,17.0534,17.0534,0.7,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,28,9069,9.3837,4.5173,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,273.7533,75.1722,75.1722,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9080.8,9.3058,4.489,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,248.5221,245.0063,245.0063,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9092.45,9.2975,4.4754,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9104.15,9.2999,4.4902,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9115.8,9.2968,4.4755,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2738,275,244.2738,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9127.5,9.2998,4.4902,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2807,275,244.2807,1.5,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9139.15,9.2968,4.4755,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9150.851,9.2998,4.4902,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2804,275,244.2804,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9162.5,9.2968,4.4755,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.85,経路を引き直した,244.2776,275,244.2776,1.65,10,0,1.05,2
fam_p1_s4_r2_a42,0,1,28,9176.05,9.2998,4.4902,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,1.2,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9187.7,9.2968,4.4755,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.1497,275,77.1497,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9200.3,9.2993,4.4878,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,117.8975,261.9674,117.8975,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9212.95,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.2516,275,77.2516,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9225.55,9.2988,4.4853,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.0411,261.7055,118.0411,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9238.2,9.2958,4.4706,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.3534,275,77.3534,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9250.8,9.2983,4.4829,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.1846,261.4435,118.1846,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9263.45,9.2953,4.4682,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.4551,275,77.4551,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9276.05,9.2978,4.4804,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.3265,261.182,118.3265,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9288.7,9.2948,4.4657,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.8,経路を引き直した,77.5562,275,77.5562,10.75,10,0,1.05,2
fam_p1_s4_r2_a42,0,1,28,9302.15,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.4683,260.9205,118.4683,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9314.8,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6574,275,77.6574,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9327.351,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0498,275,77.0498,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9339.95,9.2943,4.4633,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6572,275,77.6572,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9352.5,9.2973,4.478,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0499,275,77.0499,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9363.5,9.2968,4.4755,,0,お客さんとすれ違った,Guest(Clone),0,2.2,自分で動き出した,275,137.6191,137.6191,1.25,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,28,9367.351,9.2993,4.4878,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,117.8999,261.9661,117.8999,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9380,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.2528,275,77.2528,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9392.601,9.2988,4.4853,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.0421,261.7045,118.0421,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9404.9,9.2869,4.4265,,0,もう1台のロボット,ServingRobot02,0,1.1,自分で動き出した,275,239.3456,239.3456,0.15,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,28,9406.25,9.2898,4.4412,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,154.7943,275,154.7943,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9416.7,9.2774,4.38,,0,もう1台のロボット,ServingRobot02,0,1.05,自分で動き出した,236.8958,238.2927,236.8958,0.1,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,28,9419.3,9.2983,4.4829,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.5434,275,243.5434,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,28,9430.95,9.2953,4.4682,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.4542,275,77.4542,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9443.55,9.2978,4.4804,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.3257,261.1815,118.3257,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9456.2,9.2948,4.4657,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.5561,275,77.5561,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,28,9468.851,9.2963,4.4731,,0,もう1台のロボット,経路なし：ServingRobot02,1,2,自分で動き出した,118.754,260.3964,118.754,2,2,0,0,0
fam_p1_s4_r2_a42,0,2,29,9044.3,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0023,30.0023,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,29,9050.851,12.6745,4.4381,,0,もう1台のロボット,ServingRobot01,0,14.9,経路を引き直した,275,67.9952,67.9952,13.95,0,0,0.95,1
fam_p1_s4_r2_a42,0,2,29,9070.25,10.3106,4.3883,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.8458,16.1673,16.1673,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,29,9153,10.3106,4.3883,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.8458,16.1673,16.1673,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,29,9258.601,10.3106,4.3883,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.8458,16.1673,16.1673,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,29,9348.2,10.3106,4.3883,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.8458,16.1673,16.1673,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,29,9427.95,10.3106,4.3883,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.8458,16.1673,16.1673,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,30,9470.9,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,33.7223,275,33.7223,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,30,9478.7,11.9315,4.3863,,0,お客さんとすれ違った,,0,9.8,自分で動き出した,233.7519,16.3954,16.3954,8.85,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,30,9490.2,11.2418,4.3646,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,231.5897,18.5575,18.5575,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,30,9660.05,11.2418,4.3646,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,231.5897,18.5575,18.5575,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,30,9735.25,11.2418,4.3646,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,231.5897,18.5575,18.5575,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,30,9810.45,11.2418,4.3646,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,231.5897,18.5575,18.5575,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,30,9885.65,11.2418,4.3646,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,231.5897,18.5575,18.5575,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,30,9960.851,11.2418,4.3646,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,231.5897,18.5575,18.5575,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,30,10036.05,11.2418,4.3646,,0,人が立ち止まっていた,Staff02,0,1.75,自分で動き出した,231.5897,18.5575,18.5575,0.8,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,30,10040.35,10.0424,4.3271,,0,お客さんとすれ違った,Guest(Clone),0,1.05,自分で動き出した,227.8294,22.3178,22.3178,0.1,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,30,10043.4,9.3837,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7523,75.1732,75.1732,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,30,10053.75,9.3703,4.4796,,0,スタッフとすれ違った,Staff03,0,1.2,自分で動き出した,275,79.6355,79.6355,0.25,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,30,10056.7,9.3043,4.4794,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,247.544,245.8044,245.8044,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,30,10068.35,9.2957,4.4658,,0,もう1台のロボット,経路なし：ServingRobot02,1,2.6,自分で動き出した,242.9214,275,242.9214,0,2.6,0,0,0
fam_p1_s4_r2_a42,0,2,31,9644.4,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0024,30.0024,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,31,9651.2,12.5316,4.4048,,0,人が立ち止まっていた,Staff03,0,20.25,経路を引き直した,275,275,275,19.3,0,0,0.95,2
fam_p1_s4_r2_a42,0,2,31,9672.601,12.1716,4.4015,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,235.1648,14.8472,14.8472,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,31,9895.95,12.1716,4.4015,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,235.1648,14.8472,14.8472,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,31,10045.75,12.1716,4.4015,,0,分からない,,0,0.95,自分で動き出した,235.1648,14.8472,14.8472,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,31,10050.35,10.3117,4.3849,,0,もう1台のロボット,ServingRobot01,0,21.6,経路を引き直した,233.5003,16.5117,16.5117,20.65,0,0,0.95,2
fam_p1_s4_r2_a42,0,2,31,10075.7,8.3917,4.3677,,0,スタッフとすれ違った,Staff02,0,60.0494,動けなくなった,231.7822,18.2298,18.2298,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,32,10071,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.276,30.276,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,32,10083.4,9.3836,4.5173,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.25,経路を引き直した,273.7533,75.1727,75.1727,0.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10096.25,9.3032,4.4641,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.2,経路を引き直した,245.9921,246.4079,245.9921,10.25,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10108.95,9.294,4.4558,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,241.0911,275,241.0911,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10121.55,9.293,4.456,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,242.2442,275,242.2442,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10134.1,9.2929,4.4561,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,242.3077,275,242.3077,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10146.15,9.253,4.2601,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,275,71.6776,71.6776,59.7994,0,0,0.25,5
fam_p1_s4_r2_a42,0,1,32,10407,9.253,4.2601,,0,人が立ち止まっていた,Staff01,0,1.1,自分で動き出した,245.6372,275,245.6372,0.15,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,32,10409.3,9.2979,4.4806,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,135.124,275,135.124,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,32,10420.95,9.2949,4.4659,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,275,56.1306,56.1306,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,32,10432.65,9.2979,4.4806,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.3137,275,243.3137,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,32,10444.3,9.2949,4.4659,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.3055,275,243.3055,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,32,10456,9.2979,4.4806,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.3135,275,243.3135,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,32,10467.65,9.2949,4.4659,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,243.3054,275,243.3054,7.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10480.35,9.2974,4.4781,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.4583,260.9364,118.4583,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10493,9.2944,4.4634,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6506,275,77.6506,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10505.55,9.2974,4.4781,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0432,275,77.0432,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10518.15,9.2944,4.4634,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,23.2999,経路を引き直した,77.6512,275,77.6512,22.3,10,0,1,3
fam_p1_s4_r2_a42,0,1,32,10542.85,9.2924,4.4536,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,78.0565,275,78.0565,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10555.4,9.2939,4.461,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.7524,275,77.7524,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10567.95,9.2954,4.4683,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.4487,275,77.4487,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10580.55,9.2954,4.4683,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,119.0298,259.8893,119.0298,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10593.2,9.2954,4.4683,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,119.0298,259.8892,119.0298,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10605.85,9.2969,4.4757,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,118.6025,260.6739,118.6025,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10618.55,9.2969,4.4757,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,118.6027,260.6737,118.6027,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10631.2,9.2969,4.4757,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,118.6025,260.6737,118.6025,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10643.9,9.2984,4.483,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,118.1753,261.4584,118.1753,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10656.55,9.2939,4.461,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.05,経路を引き直した,77.7527,275,77.7527,10.1,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,32,10669.1,9.2954,4.4683,,0,もう1台のロボット,経路なし：ServingRobot02,1,1.95,自分で動き出した,77.449,275,77.449,1.95,1.95,0,0,0
fam_p1_s4_r2_a42,0,2,33,10244.5,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0022,30.0022,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,33,10254.7,10.4912,4.3881,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,233.8173,16.1952,16.1952,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,33,10351.1,10.4912,4.3881,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,233.8173,16.1952,16.1952,59.2994,0,0,0.75,5
fam_p1_s4_r2_a42,0,2,33,10450.85,10.4912,4.3881,,0,分からない,,0,0.95,自分で動き出した,233.8173,16.1952,16.1952,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,33,10452.65,10.2888,4.3862,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.6324,16.3802,16.3802,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,33,10539.75,10.2888,4.3862,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.6324,16.3802,16.3802,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,33,10614.95,10.2888,4.3862,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,233.6324,16.3802,16.3802,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,33,10713.55,10.2888,4.3862,,0,人が立ち止まっていた,Staff04,0,59.5994,経路を引き直した,233.6324,16.3802,16.3802,58.6494,0,0,0.95,5
fam_p1_s4_r2_a42,0,2,33,10779.1,7.0489,4.3566,,0,スタッフとすれ違った,Staff02,0,59.1994,経路を引き直した,230.6723,19.3402,19.3402,58.2494,0,0,0.95,5
fam_p1_s4_r2_a42,0,2,33,10839.8,6.4789,4.3514,,0,人が立ち止まっていた,Staff03,0,4.75,自分で動き出した,275,19.8607,19.8607,4.75,0,0,0,0
fam_p1_s4_r2_a42,0,1,34,10671.1,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,38.1987,275,38.1987,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,34,10678.95,11.9015,4.3853,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,233.6579,16.4894,16.4894,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,34,10770.25,11.9015,4.3853,,0,人が立ち止まっていた,Staff01,0,1.65,自分で動き出した,233.6578,16.4894,16.4894,0.7,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,34,10773.6,11.2118,4.3637,,0,もう1台のロボット,ServingRobot02,0,1.1,自分で動き出した,231.4957,18.6515,18.6515,0.15,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,34,10778.65,9.3837,4.5173,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,273.7527,75.1724,75.1724,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,34,10789,9.3703,4.4796,,0,スタッフとすれ違った,Staff03,0,2,自分で動き出した,275,79.6359,79.6359,1.05,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,34,10792.75,9.3043,4.4794,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,247.544,245.8044,245.8044,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,34,10803.8,9.2611,4.2866,,0,スタッフとすれ違った,Staff03,0,0.85,自分で動き出した,246.6266,139.2898,139.2898,0,0,0,0.85,0
fam_p1_s4_r2_a42,0,1,34,10805.8,9.2981,4.4781,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,144.6352,275,144.6352,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,34,10817.45,9.2945,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,275,57.2215,57.2215,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,34,10829.05,9.2974,4.4782,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.546,275,244.546,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,34,10840.7,9.2944,4.4636,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.0723,275,243.0723,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,34,10852.1,9.2924,4.4538,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,242.0867,275,242.0867,0.05,10,0,0,2
fam_p1_s4_r2_a42,0,1,34,10863.7,9.2954,4.4685,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.5659,275,243.5659,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,34,10875.4,9.2984,4.4831,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.5724,275,243.5724,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,34,10887.05,9.2954,4.4684,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.4422,275,77.4422,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,10899.65,9.2979,4.4807,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.3086,261.2124,118.3086,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,10912.3,9.2949,4.466,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.544,275,77.544,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,10924.9,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.4523,260.9505,118.4523,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,10937.55,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6459,275,77.6459,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,10950.1,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0383,275,77.0383,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,10962.7,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6457,275,77.6457,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,10975.25,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0382,275,77.0382,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,10987.85,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6455,275,77.6455,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11000.4,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,12.55,経路を引き直した,77.0381,275,77.0381,11.5,10,0,1.05,2
fam_p1_s4_r2_a42,0,1,34,11014.6,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6462,275,77.6462,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11027.15,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0385,275,77.0385,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11039.75,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.646,275,77.646,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11052.3,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0384,275,77.0384,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11064.9,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6458,275,77.6458,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11077.45,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0384,275,77.0384,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11090.05,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6464,275,77.6464,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11102.6,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0388,275,77.0388,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11115.2,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6462,275,77.6462,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11127.75,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0386,275,77.0386,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11140.35,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.646,275,77.646,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11152.9,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0386,275,77.0386,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11165.5,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.45,経路を引き直した,77.6465,275,77.6465,10.2,10,0,1.25,2
fam_p1_s4_r2_a42,0,1,34,11178.55,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0385,275,77.0385,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11191.15,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6464,275,77.6464,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11203.7,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0389,275,77.0389,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11216.3,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6463,275,77.6463,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11228.85,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.55,経路を引き直した,77.0387,275,77.0387,10.35,10,0,1.2,2
fam_p1_s4_r2_a42,0,1,34,11242.05,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.6461,275,77.6461,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11254.6,9.2974,4.4782,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.0387,275,77.0387,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,34,11267.2,9.2944,4.4635,,0,もう1台のロボット,経路なし：ServingRobot02,1,3.95,自分で動き出した,77.6467,275,77.6467,3.95,3.95,0,0,0
fam_p1_s4_r2_a42,0,2,35,10844.6,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0023,30.0023,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,35,10855.25,10.2213,4.3856,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,35,10945.65,10.2213,4.3856,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,35,11059.5,10.2213,4.3856,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,35,11139.75,10.2213,4.3856,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,233.5705,16.442,16.442,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,35,11227.65,10.2213,4.3856,,0,もう1台のロボット,ServingRobot01,0,44.4996,経路を引き直した,233.5705,16.442,16.442,43.5496,0,0,0.95,4
fam_p1_s4_r2_a42,0,2,35,11274.55,9.1113,4.3755,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,232.5562,275,232.5562,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,35,11396.25,9.1113,4.3755,,0,人が立ち止まっていた,Staff04,0,48.3996,経路を引き直した,232.5562,275,232.5562,48.3996,0,0,0,4
fam_p1_s4_r2_a42,0,1,36,11271.2,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,38.1987,275,38.1987,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,36,11281.2,10.6121,4.3449,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,229.6155,20.5317,20.5317,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,36,11385.15,10.6121,4.3449,,0,人が立ち止まっていた,Staff02,0,1.7,自分で動き出した,229.6155,20.5317,20.5317,0.75,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,36,11388.35,10.0424,4.3271,,0,もう1台のロボット,ServingRobot02,0,57.2994,経路を引き直した,227.8294,22.3178,22.3178,56.3494,0,0,0.95,5
fam_p1_s4_r2_a42,0,1,36,11445.8,10.0324,4.3267,,0,スタッフとすれ違った,Staff04,0,2.15,自分で動き出した,227.7982,22.3491,22.3491,1.2,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,36,11449.95,9.3731,4.5235,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,271.9064,82.2107,82.2107,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11461.7,9.3019,4.4628,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,241.2845,275,241.2845,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11473.3,9.2984,4.4788,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.1608,275,244.1608,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11484.95,9.2947,4.4643,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.0908,275,243.0908,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11496.55,9.2976,4.479,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.6211,275,244.6211,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11508.2,9.2946,4.4643,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.1488,275,243.1488,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11519.8,9.2975,4.479,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,244.6288,275,244.6288,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11531.45,9.2946,4.4643,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,243.1494,275,243.1494,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11543,9.297,4.4766,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.1068,275,77.1068,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11555.55,9.2936,4.4594,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.816,275,77.816,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11568.05,9.296,4.4717,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.3099,275,77.3099,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11580.6,9.2975,4.479,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.4078,261.0319,118.4078,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11593.25,9.2945,4.4643,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.6142,275,77.6142,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11604.85,9.2975,4.479,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.0066,275,77.0066,0.5,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11616.5,9.2945,4.4643,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,77.614,275,77.614,5.3,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11627.65,9.2941,4.4619,,0,スタッフとすれ違った,Staff01,0,1.9,自分で動き出した,275,144.461,144.461,0.95,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,36,11631.05,9.2955,4.4692,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.1,経路を引き直した,77.4116,275,77.4116,10.15,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11643.7,9.2955,4.4692,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.15,経路を引き直した,118.9779,259.9852,118.9779,10.2,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11656.4,9.2955,4.4692,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11.2,経路を引き直した,118.9776,259.9853,118.9776,10.25,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11669.15,9.2955,4.4692,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,118.9777,259.9852,118.9777,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11681.8,9.2985,4.4839,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,118.1232,261.5545,118.1232,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11694.4,9.2955,4.4692,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.4119,275,77.4119,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11706.1,9.2985,4.4839,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,118.1242,261.5541,118.1242,4.9,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11717.75,9.2955,4.4692,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.4117,275,77.4117,9.85,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11730.3,9.297,4.4766,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,11,経路を引き直した,118.5511,260.7694,118.5511,10.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11742.9,9.2936,4.4594,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.8173,275,77.8173,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11755.4,9.296,4.4717,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,77.3111,275,77.3111,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11767.95,9.2975,4.479,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10.95,経路を引き直した,118.4083,261.0309,118.4083,10,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,36,11780.55,9.2945,4.4643,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.6146,275,77.6146,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11792.15,9.2975,4.479,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.007,275,77.007,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11803.8,9.2945,4.4643,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.6144,275,77.6144,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11815.4,9.2975,4.479,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.0071,275,77.0071,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11827.05,9.2945,4.4643,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.615,275,77.615,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11838.65,9.2975,4.479,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.0075,275,77.0075,0.5,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11850.3,9.2945,4.4643,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,77.6148,275,77.6148,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,36,11861.9,9.2975,4.479,,0,もう1台のロボット,経路なし：ServingRobot02,1,9.35,自分で動き出した,77.0073,275,77.0073,0,9.35,0,0,0
fam_p1_s4_r2_a42,0,2,37,11444.7,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0023,30.0023,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,37,11450.7,12.9628,4.5982,,0,スタッフとすれ違った,Staff04,0,0.65,自分で動き出した,275,107.383,107.383,0,0,0,0.65,0
fam_p1_s4_r2_a42,0,2,37,11455.25,11.0012,4.3927,,0,人が立ち止まっていた,Staff03,0,6.5,自分で動き出した,234.2834,15.7291,15.7291,5.55,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,37,11462,10.9787,4.3925,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,234.2628,15.7497,15.7497,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,37,11539.6,10.9787,4.3925,,0,人が立ち止まっていた,Staff03,0,16.05,経路を引き直した,234.2628,15.7497,15.7497,14.2,0,0,1.85,1
fam_p1_s4_r2_a42,0,2,37,11555.8,10.9687,4.3924,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,234.2537,15.7588,15.7588,58.3494,0,0,1.7,5
fam_p1_s4_r2_a42,0,2,37,11637.15,10.9687,4.3924,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,234.2537,15.7588,15.7588,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,37,11755.2,10.9687,4.3924,,0,分からない,,0,60.0494,動けなくなった,234.2537,15.7588,15.7588,58.9494,0,0,1.1,5
fam_p1_s4_r2_a42,0,2,37,11838.25,10.9687,4.3924,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,234.2537,15.7588,15.7588,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,2,37,12010.55,10.9687,4.3924,,0,分からない,,0,0.95,自分で動き出した,234.2537,15.7588,15.7588,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,2,37,12052.45,1.7699,4.7379,A01,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,0.05,自分で動き出した,168.7946,43.9888,43.9888,0,0.05,0,0,0
fam_p1_s4_r2_a42,0,1,38,11871.3,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,38.1987,275,38.1987,0,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,38,11879.15,11.9015,4.3853,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,233.6579,16.4894,16.4894,60.0494,0,0,0,5
fam_p1_s4_r2_a42,0,1,38,11962.65,11.9015,4.3853,,0,もう1台のロボット,ServingRobot02,0,50.3995,経路を引き直した,233.6578,16.4894,16.4894,49.4495,0,0,0.95,5
fam_p1_s4_r2_a42,0,1,38,12018.15,9.3837,4.5173,,0,もう1台のロボット,経路なし：ServingRobot02／途中までの経路,1,10,経路を引き直した,273.7533,75.1722,75.1722,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12029.95,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5221,245.0063,245.0063,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12041.6,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12053.3,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12064.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2738,275,244.2738,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12076.65,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2807,275,244.2807,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12088.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12100,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2804,275,244.2804,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12111.65,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12123.35,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,0.8,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12135,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1497,275,77.1497,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12146.7,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7552,262.229,117.7552,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12158.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1503,275,77.1503,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12170.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7563,262.2285,117.7563,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12181.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12193.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.3,経路を引き直した,117.7574,262.2281,117.7574,0.2,10,0,0.3,2
fam_p1_s4_r2_a42,0,1,38,12205.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12217.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2281,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12228.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1505,275,77.1505,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12240.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.228,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12252.05,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12263.75,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7564,262.228,117.7564,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12275.4,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12287.1,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2276,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12298.75,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12310.45,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2275,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12322.1,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1506,275,77.1506,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12333.8,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7567,262.2275,117.7567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12345.45,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12357.15,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.55,経路を引き直した,117.7575,262.2271,117.7575,0.45,10,0,0.55,2
fam_p1_s4_r2_a42,0,1,38,12369.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,11.75,経路を引き直した,77.1511,275,77.1511,2.05,10,0,0.95,2
fam_p1_s4_r2_a42,0,1,38,12382.6,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,119.1811,259.6116,119.1811,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12394.3,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.3264,261.181,118.3264,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12405.95,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5565,275,77.5565,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12417.65,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.3274,261.1805,118.3274,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12429.3,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5563,275,77.5563,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12441,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.3272,261.1805,118.3272,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12452.65,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5569,275,77.5569,0.65,10,0,0,2
fam_p1_s4_r2_a42,0,1,38,12464.35,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,7,自分で動き出した,118.3283,261.1801,118.3283,1.15,7,0,0,0
fam_p1_s4_r2_a42,0,1,39,12471.4,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,1.65,自分で動き出した,33.7222,275,33.7222,0.25,0,0,1.4,0
fam_p1_s4_r2_a42,0,1,39,12484.5,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1727,75.1727,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12495.8,9.2929,4.3596,,0,スタッフとすれ違った,Staff03,0,0.5,自分で動き出した,246.6115,126.5779,126.5779,0,0,0,0.5,0
fam_p1_s4_r2_a42,0,1,39,12497.15,9.3041,4.4715,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,275,275,275,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12508.85,9.3,4.4877,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,275,50.0941,50.0941,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12520.5,9.2964,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.9899,275,243.9899,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12532.2,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0411,275,244.0411,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12543.85,9.2963,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0348,275,244.0348,1,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12555.55,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0392,275,244.0392,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12567.2,9.2963,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.0351,275,244.0351,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12578.9,9.2993,4.4878,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.8946,261.972,117.8946,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12590.55,9.2963,4.4731,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.2497,275,77.2497,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12602.2,9.2988,4.4854,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0382,261.71,118.0382,0.9,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12613.85,9.2958,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3515,275,77.3515,0.65,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12625.55,9.2988,4.4854,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0392,261.7095,118.0392,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12637.2,9.2958,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3513,275,77.3513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12648.9,9.2988,4.4854,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0389,261.7095,118.0389,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12660.55,9.2958,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.352,275,77.352,0.6,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12672.25,9.2988,4.4854,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0401,261.7091,118.0401,1.15,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12683.9,9.2958,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3518,275,77.3518,0.5,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12695.6,9.2988,4.4854,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0396,261.7091,118.0396,0.45,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12707.25,9.2958,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3516,275,77.3516,1.25,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12718.95,9.2988,4.4854,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.1,経路を引き直した,118.0394,261.709,118.0394,1.05,10,0,0.1,2
fam_p1_s4_r2_a42,0,1,39,12730.7,9.2958,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.352,275,77.352,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12742.4,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.039,261.709,118.039,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12754.05,9.2958,4.4707,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3521,275,77.3521,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12765.75,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.7,経路を引き直した,118.04,261.7086,118.04,0.45,10,0,0.7,2
fam_p1_s4_r2_a42,0,1,39,12778.1,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3519,275,77.3519,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12789.8,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0399,261.7085,118.0399,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12801.45,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3523,275,77.3523,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12813.15,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0394,261.7085,118.0394,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12824.8,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3523,275,77.3523,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12836.5,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0404,261.7081,118.0404,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12848.15,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3521,275,77.3521,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12859.85,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0399,261.708,118.0399,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12871.5,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3519,275,77.3519,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12883.2,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0398,261.708,118.0398,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12894.85,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3525,275,77.3525,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12906.55,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0408,261.7076,118.0408,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12918.2,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3524,275,77.3524,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12929.9,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0403,261.7076,118.0403,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12941.55,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10.25,経路を引き直した,77.3521,275,77.3521,0.5,10,0,0.25,2
fam_p1_s4_r2_a42,0,1,39,12953.5,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0401,261.7075,118.0401,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12965.15,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3528,275,77.3528,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12976.85,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0411,261.7071,118.0411,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,12988.5,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3526,275,77.3526,1.25,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,13000.2,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0408,261.707,118.0408,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,13011.85,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3524,275,77.3524,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,13023.55,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0405,261.707,118.0405,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,13035.2,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3528,275,77.3528,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,13046.9,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.0401,261.707,118.0401,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,13058.55,9.2958,4.4706,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.3528,275,77.3528,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,39,13070.25,9.2988,4.4853,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,1.2,自分で動き出した,118.0411,261.7066,118.0411,0,1.2,0,0,0
fam_p1_s4_r2_a42,0,1,40,13071.5,15.3,5.95,,0,分からない,,0,1.7,自分で動き出した,33.7222,275,33.7222,0.2,0,0,1.5,0
fam_p1_s4_r2_a42,0,1,40,13084.65,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1727,75.1727,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13096.45,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5218,245.017,245.017,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13108.1,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13119.8,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13131.45,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2737,275,244.2737,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13143.15,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2805,275,244.2805,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13154.8,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13166.5,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13178.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1497,275,77.1497,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13189.85,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7552,262.229,117.7552,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13201.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1503,275,77.1503,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13213.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7563,262.2285,117.7563,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13224.85,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13236.55,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7574,262.2281,117.7574,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13248.2,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13259.9,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2281,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13271.55,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1505,275,77.1505,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13283.25,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.228,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13294.9,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13306.6,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7564,262.228,117.7564,1.15,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13318.25,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13329.95,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2276,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13341.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13353.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2275,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13364.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1506,275,77.1506,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13376.65,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7567,262.2275,117.7567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13388.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13400,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,15.5,経路を引き直した,117.7575,262.2271,117.7575,3.9,10,0,1.75,2
fam_p1_s4_r2_a42,0,1,40,13417.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13428.85,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2271,117.7573,1.15,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13440.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1509,275,77.1509,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13452.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7571,262.227,117.7571,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13462.35,9.2978,4.4804,,0,スタッフとすれ違った,Staff03,0,1.2,自分で動き出した,35.2139,275,35.2139,0.25,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,40,13465.2,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5564,275,77.5564,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13476.9,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.3274,261.1805,118.3274,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13488.55,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5562,275,77.5562,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13500.25,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.327,261.1805,118.327,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13511.9,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5569,275,77.5569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13523.6,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.3279,261.1801,118.3279,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13535.25,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5567,275,77.5567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13546.95,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.3276,261.18,118.3276,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13558.6,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5565,275,77.5565,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13570.3,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.3274,261.18,118.3274,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13580.85,9.2799,4.3922,,0,お客さんとすれ違った,Guest(Clone),0,1.5,自分で動き出した,275,179.3637,179.3637,0.55,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,40,13583.85,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.2888,275,243.2888,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13595.55,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.3253,261.1804,118.3253,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13607.2,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5561,275,77.5561,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13618.9,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.3266,261.18,118.3266,1.1,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13630.55,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5567,275,77.5567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13642.25,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.3279,261.1795,118.3279,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13653.9,9.2948,4.4657,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.5571,275,77.5571,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,40,13665.6,9.2978,4.4804,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,5.95,自分で動き出した,118.3273,261.1795,118.3273,0,5.95,0,0,0
fam_p1_s4_r2_a42,0,1,41,13671.6,15.3,5.95,,0,分からない,,0,1.5,自分で動き出した,33.7223,275,33.7223,0.2,0,0,1.3,0
fam_p1_s4_r2_a42,0,1,41,13684.55,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1727,75.1727,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13696.35,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5218,245.017,245.017,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13708,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13719.7,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13731.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2737,275,244.2737,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13743.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2805,275,244.2805,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13754.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13766.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13778.05,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1497,275,77.1497,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13789.75,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7552,262.229,117.7552,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13801.4,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1503,275,77.1503,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13813.1,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7563,262.2285,117.7563,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13824.75,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13836.45,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7574,262.2281,117.7574,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13848.1,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13859.8,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2281,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13871.45,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1505,275,77.1505,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13883.15,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.228,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13894.8,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13906.5,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7564,262.228,117.7564,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13918.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13929.85,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2276,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13941.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13953.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2275,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13964.85,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1506,275,77.1506,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13976.55,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7567,262.2275,117.7567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13988.2,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0.5,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,13999.9,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2271,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14011.55,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14023.25,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2271,117.7573,1,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14034.9,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1509,275,77.1509,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14046.6,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7571,262.227,117.7571,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14058.25,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1515,275,77.1515,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14069.95,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2266,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14081.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14093.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7576,262.2266,117.7576,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14104.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14116.65,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2265,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14128.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14140,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2262,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14151.65,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14162.5,9.2564,4.2771,,0,スタッフとすれ違った,Staff01,0,1.6,自分で動き出した,275,237.0672,237.0672,0.65,0,0,0.95,0
fam_p1_s4_r2_a42,0,1,41,14165.4,9.2983,4.4828,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.7908,226.4103,226.4103,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14177.05,9.2953,4.4681,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.5353,275,243.5353,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14188.75,9.2983,4.4828,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.5421,275,243.5421,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14200.4,9.2953,4.4681,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.5353,275,243.5353,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14212.1,9.2983,4.4828,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.542,275,243.542,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14223.75,9.2953,4.4681,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.4547,275,77.4547,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14235.45,9.2983,4.4828,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.1841,261.4414,118.1841,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14247.1,9.2953,4.4681,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.4553,275,77.4553,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14258.8,9.2983,4.4828,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,118.1851,261.441,118.1851,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,41,14270.45,9.2953,4.4681,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,1.2,自分で動き出した,77.456,275,77.456,0,1.2,0,0,0
fam_p1_s4_r2_a42,0,1,42,14271.7,15.3,5.95,,0,分からない,,0,1.65,自分で動き出した,38.1987,275,38.1987,0.25,0,0,1.4,0
fam_p1_s4_r2_a42,0,1,42,14284.8,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1727,75.1727,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14296.6,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5218,245.017,245.017,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14308.25,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14319.95,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14331.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2737,275,244.2737,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14343.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2805,275,244.2805,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14354.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14366.65,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14378.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1497,275,77.1497,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14390,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7552,262.229,117.7552,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14401.65,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1503,275,77.1503,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14413.35,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7563,262.2285,117.7563,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14425,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14436.7,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7574,262.2281,117.7574,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14448.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14460.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2281,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14471.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1505,275,77.1505,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14483.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.228,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14495.05,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14506.75,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7564,262.228,117.7564,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14518.4,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14530.1,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2276,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14541.75,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14553.45,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2275,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14565.1,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1506,275,77.1506,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14576.8,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7567,262.2275,117.7567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14588.45,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14600.15,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2271,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14611.8,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14623.5,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2271,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14635.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1509,275,77.1509,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14646.85,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7571,262.227,117.7571,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14658.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1515,275,77.1515,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14670.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2266,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14681.85,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14693.55,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7576,262.2266,117.7576,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14705.2,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14716.9,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2265,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14728.55,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14740.25,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2262,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14751.9,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0.65,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14763.6,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7581,262.226,117.7581,1.3,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14775.25,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1514,275,77.1514,0.65,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14786.95,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7579,262.226,117.7579,1.15,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14798.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14810.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.226,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14821.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14833.65,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2256,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14845.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0.65,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14857,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2256,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,42,14868.65,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,3.1,自分で動き出した,77.1514,275,77.1514,0,3.1,0,0,0
fam_p1_s4_r2_a42,0,1,43,14871.8,15.3,5.95,,0,分からない,,0,1.65,自分で動き出した,38.1988,275,38.1988,0.25,0,0,1.4,0
fam_p1_s4_r2_a42,0,1,43,14884.9,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1727,75.1727,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,14896.7,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5218,245.017,245.017,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,14908.35,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,14920.05,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,14931.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2737,275,244.2737,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,14943.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2805,275,244.2805,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,14955.05,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,14966.75,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,14978.4,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1497,275,77.1497,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,14990.1,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7552,262.229,117.7552,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15001.75,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1503,275,77.1503,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15013.45,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7563,262.2285,117.7563,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15025.1,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15036.8,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7574,262.2281,117.7574,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15048.45,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15060.15,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2281,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15071.8,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1505,275,77.1505,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15083.5,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.228,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15095.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15106.85,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7564,262.228,117.7564,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15118.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15130.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2276,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15141.85,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15153.55,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2275,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15165.2,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1506,275,77.1506,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15176.9,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7567,262.2275,117.7567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15188.55,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15200.25,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2271,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15211.9,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15223.6,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2271,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15235.25,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1509,275,77.1509,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15246.95,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7571,262.227,117.7571,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15258.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1515,275,77.1515,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15270.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2266,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15281.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15293.65,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7576,262.2266,117.7576,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15305.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15317,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2265,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15328.65,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15340.35,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2262,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15352,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15363.7,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7581,262.226,117.7581,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15375.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1514,275,77.1514,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15387.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7579,262.226,117.7579,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15398.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15410.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.226,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15422.05,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15433.75,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2256,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15445.4,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15457.1,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2256,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,43,15468.75,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,3.1,自分で動き出した,77.1514,275,77.1514,0,3.1,0,0,0
fam_p1_s4_r2_a42,0,1,44,15471.9,15.3,5.95,,0,分からない,,0,1.65,自分で動き出した,38.1988,275,38.1988,0.25,0,0,1.4,0
fam_p1_s4_r2_a42,0,1,44,15485,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1727,75.1727,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15496.8,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5218,245.017,245.017,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15508.45,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15520.15,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15531.8,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2737,275,244.2737,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15543.5,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2805,275,244.2805,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15555.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15566.85,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15578.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1497,275,77.1497,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15590.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7552,262.229,117.7552,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15601.85,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1503,275,77.1503,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15613.55,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7563,262.2285,117.7563,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15625.2,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15636.9,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7574,262.2281,117.7574,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15648.55,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15660.25,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2281,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15671.9,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1505,275,77.1505,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15683.6,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.228,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15695.25,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15706.95,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7564,262.228,117.7564,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15718.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15730.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2276,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15741.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15753.65,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2275,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15765.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1506,275,77.1506,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15777,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7567,262.2275,117.7567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15788.65,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15800.35,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2271,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15812,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15823.7,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2271,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15835.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1509,275,77.1509,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15847.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7571,262.227,117.7571,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15858.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1515,275,77.1515,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15870.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2266,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15882.05,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15893.75,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7576,262.2266,117.7576,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15905.4,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15917.1,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2265,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15928.75,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15940.45,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2262,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15952.1,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15963.8,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7581,262.226,117.7581,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15975.45,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1514,275,77.1514,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15987.15,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7579,262.226,117.7579,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,15998.8,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,16010.5,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.226,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,16022.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,16033.85,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2256,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,16045.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,16057.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2256,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,44,16068.85,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,3.1,自分で動き出した,77.1514,275,77.1514,0,3.1,0,0,0
fam_p1_s4_r2_a42,0,1,45,16072,15.3,5.95,,0,分からない,,0,1.65,自分で動き出した,38.1988,275,38.1988,0.25,0,0,1.4,0
fam_p1_s4_r2_a42,0,1,45,16085.1,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1727,75.1727,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16096.9,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5218,245.017,245.017,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16108.55,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16120.25,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16131.9,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2737,275,244.2737,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16143.6,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2805,275,244.2805,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16155.25,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16166.95,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16178.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1497,275,77.1497,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16190.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7552,262.229,117.7552,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16201.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1503,275,77.1503,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16213.65,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7563,262.2285,117.7563,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16225.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16237,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7574,262.2281,117.7574,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16248.65,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16260.35,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2281,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16272,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1505,275,77.1505,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16283.7,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.228,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16295.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16307.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7564,262.228,117.7564,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16318.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16330.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2276,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16342.05,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16353.75,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2275,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16365.4,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1506,275,77.1506,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16377.1,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7567,262.2275,117.7567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16388.75,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16400.45,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2271,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16412.1,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16423.8,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2271,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16435.45,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1509,275,77.1509,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16447.15,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7571,262.227,117.7571,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16458.8,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1515,275,77.1515,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16470.5,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2266,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16482.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16493.85,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7576,262.2266,117.7576,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16505.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16517.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2265,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16528.85,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16540.55,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2262,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16552.2,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16563.9,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7581,262.226,117.7581,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16575.55,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1514,275,77.1514,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16587.25,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7579,262.226,117.7579,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16598.9,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16610.6,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.226,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16622.25,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16633.95,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2256,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16645.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16657.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2256,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,45,16668.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,3.1,自分で動き出した,77.1514,275,77.1514,0,3.1,0,0,0
fam_p1_s4_r2_a42,0,1,46,16672.1,15.3,5.95,,0,分からない,,0,1.65,自分で動き出した,38.1988,275,38.1988,0.25,0,0,1.4,0
fam_p1_s4_r2_a42,0,1,46,16685.2,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1727,75.1727,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16697,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5218,245.017,245.017,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16708.65,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16720.35,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16732,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2737,275,244.2737,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16743.7,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2805,275,244.2805,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16755.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16767.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16778.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1497,275,77.1497,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16790.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7552,262.229,117.7552,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16802.05,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1503,275,77.1503,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16813.75,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7563,262.2285,117.7563,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16825.4,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16837.1,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7574,262.2281,117.7574,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16848.75,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16860.45,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2281,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16872.1,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1505,275,77.1505,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16883.8,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.228,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16895.45,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16907.15,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7564,262.228,117.7564,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16918.8,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16930.5,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2276,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16942.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16953.85,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2275,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16965.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1506,275,77.1506,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16977.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7567,262.2275,117.7567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,16988.85,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17000.55,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2271,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17012.2,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17023.9,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2271,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17035.55,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1509,275,77.1509,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17047.25,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7571,262.227,117.7571,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17058.9,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1515,275,77.1515,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17070.6,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2266,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17082.25,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17093.95,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7576,262.2266,117.7576,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17105.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17117.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2265,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17128.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17140.65,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2262,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17152.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17164,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7581,262.226,117.7581,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17175.65,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1514,275,77.1514,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17187.35,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7579,262.226,117.7579,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17199,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17210.7,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.226,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17222.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17234.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2256,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17245.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17257.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2256,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,46,17269.05,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,3.1,自分で動き出した,77.1514,275,77.1514,0,3.1,0,0,0
fam_p1_s4_r2_a42,0,1,47,17272.2,15.3,5.95,,0,分からない,,0,1.65,自分で動き出した,38.1988,275,38.1988,0.25,0,0,1.4,0
fam_p1_s4_r2_a42,0,1,47,17285.3,9.3836,4.5173,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,273.7533,75.1727,75.1727,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17297.1,9.3058,4.489,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,248.5218,245.017,245.017,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17308.75,9.2975,4.4754,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,243.913,275,243.913,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17320.45,9.2999,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2968,275,244.2968,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17332.1,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2737,275,244.2737,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17343.8,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2805,275,244.2805,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17355.45,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2776,275,244.2776,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17367.15,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,244.2802,275,244.2802,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17378.8,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1497,275,77.1497,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17390.5,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7552,262.229,117.7552,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17402.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1503,275,77.1503,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17413.85,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7563,262.2285,117.7563,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17425.5,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17437.2,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7574,262.2281,117.7574,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17448.85,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17460.55,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2281,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17472.2,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1505,275,77.1505,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17483.9,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.228,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17495.55,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17507.25,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7564,262.228,117.7564,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17518.9,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.151,275,77.151,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17530.6,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2276,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17542.25,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1508,275,77.1508,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17553.95,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7569,262.2275,117.7569,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17565.6,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1506,275,77.1506,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17577.3,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7567,262.2275,117.7567,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17588.95,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17600.65,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2271,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17612.3,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17624,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7573,262.2271,117.7573,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17635.65,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1509,275,77.1509,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17647.35,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7571,262.227,117.7571,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17659,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1515,275,77.1515,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17670.7,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2266,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17682.35,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1513,275,77.1513,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17694.05,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7576,262.2266,117.7576,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17705.7,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1511,275,77.1511,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17717.4,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.2265,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17729.05,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17740.75,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2262,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17752.4,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17764.1,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7581,262.226,117.7581,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17775.75,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1514,275,77.1514,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17787.45,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7579,262.226,117.7579,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17799.1,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17810.8,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7575,262.226,117.7575,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17822.45,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1518,275,77.1518,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17834.15,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.7584,262.2256,117.7584,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17845.8,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,77.1516,275,77.1516,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17857.5,9.2998,4.4902,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない／途中までの経路,1,10,経路を引き直した,117.758,262.2256,117.758,0,10,0,0,2
fam_p1_s4_r2_a42,0,1,47,17869.15,9.2968,4.4755,,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,3.1,自分で動き出した,77.1514,275,77.1514,0,3.1,0,0,0
```

#### give_ups.csv

```text
condition_id,seed,t_s,who,job,table_id,to_x,to_z,x,z,aisle,waited_s,action
fam_p1_s4_r2_a42,0,163.0753,スタッフ,案内,3,0.9,2.1,17.2864,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,223.129,スタッフ,案内,3,0.9,2.1,18.0901,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,546.0102,スタッフ,案内,36,0.9,2.1,17.2864,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,606.0455,スタッフ,案内,36,0.9,2.1,18.0901,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,645.186,スタッフ,案内,5,0.9,2.1,17.2864,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,705.2213,スタッフ,案内,5,0.9,2.1,18.0901,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,740.8626,スタッフ,案内,6,0.9,2.1,17.2887,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,800.8979,スタッフ,案内,6,0.9,2.1,18.0901,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,893.9752,スタッフ,料理を運ぶ,3,15.3,5.95,17.2855,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,918.7692,スタッフ,料理を運ぶ,2,15.3,5.95,18.0915,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,924.4178,スタッフ,案内,7,1.912,8.662,1.5,7.9282,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,981.1539,スタッフ,料理を運ぶ,34,15.3,5.95,1.6985,6.998,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,994.4507,スタッフ,料理を運ぶ,35,15.3,5.95,1.5,6.4818,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1029.148,スタッフ,料理を運ぶ,4,1.912,10.312,5.1266,4.5426,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1041.26,スタッフ,料理を運ぶ,34,15.3,5.95,1.7,6.827,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1046.015,スタッフ,案内,7,1.912,8.662,0.9036,2.1146,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1054.573,スタッフ,料理を運ぶ,35,15.3,5.95,1.5,6.4911,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1089.307,スタッフ,料理を運ぶ,4,15.3,5.95,5.1407,4.5399,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1106.174,スタッフ,案内,7,0.9,2.1,0.9579,2.6868,,60.0494,移した
fam_p1_s4_r2_a42,0,1114.732,スタッフ,料理を運ぶ,34,15.3,5.95,1.5,6.4763,A01,60.0494,移した
fam_p1_s4_r2_a42,0,1149.466,スタッフ,料理を運ぶ,4,15.3,5.95,5.1157,4.5495,,60.0494,移した
fam_p1_s4_r2_a42,0,1151.668,スタッフ,料理を運ぶ,35,15.862,2.188,1.588,6.5436,A01,60.0494,移した
fam_p1_s4_r2_a42,0,1166.282,スタッフ,案内,7,0.9,2.1,1.0744,2.1734,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1180.746,客,ドリンクバー,1,1.912,4.762,2.3825,4.3305,,60,移した
fam_p1_s4_r2_a42,0,1209.574,スタッフ,料理を運ぶ,4,15.3,5.95,5.1407,4.5399,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1226.441,スタッフ,案内,7,0.9,2.1,1.1304,1.5162,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1269.733,スタッフ,料理を運ぶ,4,15.3,5.95,5.1157,4.5496,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1286.6,スタッフ,案内,7,0.9,2.1,1.0771,1.7646,,60.0494,移した
fam_p1_s4_r2_a42,0,1287.651,スタッフ,案内,8,1.912,10.513,1.0503,2.7915,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1329.892,スタッフ,料理を運ぶ,4,15.3,5.95,5.1407,4.5399,,60.0494,移した
fam_p1_s4_r2_a42,0,1346.708,スタッフ,案内,7,0.9,2.1,0.837,2.1916,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1347.809,スタッフ,案内,8,0.9,2.1,1.0825,2.8836,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1390,スタッフ,料理を運ぶ,4,15.3,5.95,4.4807,4.5427,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1406.867,スタッフ,案内,7,0.9,2.1,0.8315,2.1963,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1407.968,スタッフ,案内,8,0.9,2.1,1.0842,2.8861,,60.0494,移した
fam_p1_s4_r2_a42,0,1450.159,スタッフ,料理を運ぶ,4,15.3,5.95,5.1442,4.5499,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1451.961,スタッフ,料理を運ぶ,5,1.912,4.962,5.0922,4.0078,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1467.026,スタッフ,案内,7,0.9,2.1,0.8,2.5981,,60.0494,移した
fam_p1_s4_r2_a42,0,1468.077,スタッフ,案内,8,0.9,2.1,1.1403,1.7648,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1512.12,スタッフ,料理を運ぶ,4,15.3,5.95,5.1484,4.544,,60.0494,移した
fam_p1_s4_r2_a42,0,1513.771,客,ドリンクバー,1,1.912,4.762,2.3836,4.3361,,60,移した
fam_p1_s4_r2_a42,0,1528.235,スタッフ,案内,8,0.9,2.1,1.5,8.3717,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1528.636,スタッフ,料理を運ぶ,5,15.3,5.95,1.7,8.0906,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1631.836,スタッフ,案内,39,0.9,2.1,1.3135,2.7739,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1691.995,スタッフ,立ち往生を動かす,0,14.9858,2.4558,14.5534,2.4891,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1752.154,スタッフ,立ち往生を動かす,0,14.986,2.4641,14.5513,2.3402,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1812.313,スタッフ,立ち往生を動かす,0,14.989,2.3664,14.5812,2.1972,,60.0494,移した
fam_p1_s4_r2_a42,0,1922.77,スタッフ,案内,12,5.613,10.513,1.5,7.5227,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1933.13,スタッフ,料理を運ぶ,6,15.3,5.95,7.9924,4.4935,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2106.449,スタッフ,案内,19,0.9,2.1,1.5,10.7741,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2111.504,スタッフ,案内,17,5.613,13.888,1.7,10.6406,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2262.502,スタッフ,料理を運ぶ,7,1.912,8.662,5.1472,4.5431,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2275.264,スタッフ,案内,21,9.312,12.038,1.085,1.8894,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2278.367,客,トイレ,5,3.4,14.9,0.7778,4.1114,,60,あきらめた
fam_p1_s4_r2_a42,0,2288.777,スタッフ,案内,22,9.388,12.688,0.8,2.4143,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2298.437,客,ドリンクバー,5,1.912,4.962,5.1436,4.5246,,60,移した
fam_p1_s4_r2_a42,0,2322.66,スタッフ,料理を運ぶ,7,15.3,5.95,5.0723,4.079,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2335.423,スタッフ,案内,21,0.9,2.1,1.0941,1.8998,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2338.476,客,トイレ,5,1.912,4.962,0.4375,4.35,,60,移した
fam_p1_s4_r2_a42,0,2348.936,スタッフ,案内,22,0.9,2.1,0.8,2.1747,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2382.819,スタッフ,料理を運ぶ,7,15.3,5.95,5.1174,4.549,,60.0494,移した
fam_p1_s4_r2_a42,0,2388.425,客,ドリンクバー,1,1.912,4.762,2.125,4.3631,,60,移した
fam_p1_s4_r2_a42,0,2395.582,スタッフ,案内,21,0.9,2.1,1.0736,1.7779,,60.0494,移した
fam_p1_s4_r2_a42,0,2409.095,スタッフ,案内,22,0.9,2.1,0.8,1.8716,,60.0494,移した
fam_p1_s4_r2_a42,0,2442.928,スタッフ,料理を運ぶ,7,15.3,5.95,5.1249,4.5406,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2455.69,スタッフ,案内,21,0.9,2.1,1.0808,2.4031,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2469.203,スタッフ,案内,22,0.9,2.1,0.8,2.1212,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2515.849,スタッフ,案内,21,0.9,2.1,1.0904,2.4132,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2529.362,スタッフ,案内,22,0.9,2.1,0.8,2.065,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2534.167,スタッフ,料理を運ぶ,7,1.912,8.662,5.12,4.4357,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2541.524,客,ドリンクバー,3,17.3,3.9,1.6533,6.7083,A01,60,あきらめた
fam_p1_s4_r2_a42,0,2576.008,スタッフ,案内,21,0.9,2.1,0.8,2.466,,60.0494,移した
fam_p1_s4_r2_a42,0,2589.521,スタッフ,立ち往生を動かす,0,1.4598,4.0936,1.5742,3.1352,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2594.325,スタッフ,案内,22,0.9,2.1,0.9464,2.4145,,60.0494,移した
fam_p1_s4_r2_a42,0,2601.633,客,ドリンクバー,3,1.912,8.462,1.6486,6.8685,A01,60,移した
fam_p1_s4_r2_a42,0,2636.116,スタッフ,案内,21,0.9,2.1,0.8,1.9177,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2649.679,スタッフ,立ち往生を動かす,0,1.6435,4.0569,1.5585,3.134,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2654.384,スタッフ,料理を運ぶ,7,1.912,8.662,5.1279,4.5432,,60.0494,移した
fam_p1_s4_r2_a42,0,2654.434,スタッフ,案内,22,0.9,2.1,1.129,2.1416,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2665.495,客,ドリンクバー,3,17.3,3.9,1.6416,6.706,A01,60,あきらめた
fam_p1_s4_r2_a42,0,2696.275,スタッフ,案内,21,0.9,2.1,0.8,1.8368,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2709.838,スタッフ,立ち往生を動かす,0,1.6387,4.0573,1.564,3.1383,,60.0494,移した
fam_p1_s4_r2_a42,0,2714.593,スタッフ,案内,22,0.9,2.1,1.0965,2.1175,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2724.703,客,トイレ,1,3.4,14.9,3.2368,4.1695,,60,あきらめた
fam_p1_s4_r2_a42,0,2725.604,客,ドリンクバー,3,1.912,8.462,1.7,6.6783,A01,60,移した
fam_p1_s4_r2_a42,0,2737.815,スタッフ,料理を運ぶ,7,15.3,5.95,1.6343,7.3366,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2737.865,客,ドリンクバー,1,1.912,4.762,2.1249,4.3644,,60,移した
fam_p1_s4_r2_a42,0,2756.434,スタッフ,案内,21,0.9,2.1,0.8,1.8787,,60.0494,移した
fam_p1_s4_r2_a42,0,2774.751,スタッフ,案内,22,0.9,2.1,1.163,2.1433,,60.0494,移した
fam_p1_s4_r2_a42,0,2784.811,客,トイレ,1,1.912,4.762,4.7687,4.139,,60,移した
fam_p1_s4_r2_a42,0,2797.974,スタッフ,料理を運ぶ,10,15.3,5.95,1.6331,7.4259,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2800.727,スタッフ,料理を運ぶ,7,1.912,8.662,5.1014,4.534,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2816.542,スタッフ,案内,21,0.9,2.1,0.9372,1.5542,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2834.86,スタッフ,案内,22,0.9,2.1,1.5,7.9131,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2876.701,スタッフ,案内,21,0.9,2.1,1.7,8.7046,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2880.905,スタッフ,料理を運ぶ,10,5.613,6.812,1.7,9.5063,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2895.019,スタッフ,案内,22,0.9,2.1,1.1949,12.3,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2936.86,スタッフ,案内,21,0.9,2.1,0.3,12.6678,,60.0494,移した
fam_p1_s4_r2_a42,0,2949.972,客,ドリンクバー,4,17.3,3.9,1.5,10.2654,A01,60,あきらめた
fam_p1_s4_r2_a42,0,2955.177,スタッフ,案内,22,0.9,2.1,1.7,10.5911,A01,60.0494,移した
fam_p1_s4_r2_a42,0,2991.663,スタッフ,料理を運ぶ,10,5.613,6.812,6.965,4.5451,,60.0494,移した
fam_p1_s4_r2_a42,0,3010.081,客,ドリンクバー,4,1.912,10.312,1.5,10.281,A01,60,移した
fam_p1_s4_r2_a42,0,3035.806,スタッフ,案内,26,9.312,12.038,0.8,2.6076,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3057.577,スタッフ,案内,21,9.312,12.038,1.0606,1.7182,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3060.43,スタッフ,案内,22,9.388,12.688,1.0966,2.3406,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3095.965,スタッフ,案内,26,0.9,2.1,0.8,2.6879,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3104.773,客,ドリンクバー,2,1.912,6.613,1.7,6.2303,A01,60,移した
fam_p1_s4_r2_a42,0,3110.829,スタッフ,案内,27,0.9,2.1,1.5,6.5074,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3117.736,スタッフ,案内,21,0.9,2.1,1.0934,1.7894,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3120.589,スタッフ,案内,22,0.9,2.1,1.0765,2.686,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3156.124,スタッフ,案内,26,0.9,2.1,1.929,12.5248,,60.0494,移した
fam_p1_s4_r2_a42,0,3213.73,客,ドリンクバー,7,1.912,8.662,1.7,6.7942,A01,60,移した
fam_p1_s4_r2_a42,0,3227.093,スタッフ,案内,22,9.388,12.688,1.5,7.2707,A01,60.0494,移した
fam_p1_s4_r2_a42,0,3229.795,スタッフ,案内,27,13.088,5.962,1.7,7.0637,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3261.326,スタッフ,案内,26,9.312,12.038,1.5,4.7893,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3265.68,客,ドリンクバー,3,17.3,3.9,4.2343,4.4266,,60,あきらめた
fam_p1_s4_r2_a42,0,3377.289,客,ドリンクバー,3,1.912,8.462,1.7,8.1061,A01,60,移した
fam_p1_s4_r2_a42,0,3383.445,スタッフ,案内,26,9.312,12.038,1.5,8.6651,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3383.746,客,ドリンクバー,3,19.3,3.9,1.7,9.0016,A01,60,あきらめた
fam_p1_s4_r2_a42,0,3385.497,組,会計,1,1.912,4.762,1.912,4.762,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3537.896,スタッフ,料理を運ぶ,13,15.3,5.95,9.9537,4.5142,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3538.497,スタッフ,案内,32,0.9,2.1,12.3317,4.488,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3578.736,客,ドリンクバー,2,1.912,6.613,4.0546,4.0787,,60,移した
fam_p1_s4_r2_a42,0,3615.071,スタッフ,料理を運ぶ,19,9.312,6.812,9.9221,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3684.839,スタッフ,料理を運ぶ,24,9.312,6.812,8.8679,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3695.95,スタッフ,料理を運ぶ,23,9.312,4.962,9.9111,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3728.232,客,ドリンクバー,18,9.312,4.962,9.4786,3.7459,,60,移した
fam_p1_s4_r2_a42,0,3744.998,スタッフ,料理を運ぶ,24,15.3,5.95,8.8341,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3756.109,スタッフ,立ち往生を動かす,0,9.1823,4.4791,9.9755,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3762.365,スタッフ,料理を運ぶ,23,9.312,4.962,9.9373,4.117,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3805.157,スタッフ,料理を運ぶ,24,15.3,5.95,8.8544,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,3816.268,スタッフ,立ち往生を動かす,0,9.1826,4.4759,9.9673,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3821.172,スタッフ,料理を運ぶ,24,9.312,6.812,8.589,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3829.981,スタッフ,料理を運ぶ,23,9.312,4.962,8.8278,3.8956,,60.0494,移した
fam_p1_s4_r2_a42,0,3865.265,スタッフ,料理を運ぶ,24,9.312,6.812,8.7901,3.9199,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3876.426,スタッフ,立ち往生を動かす,0,9.1825,4.4768,8.7235,3.9998,,60.0494,移した
fam_p1_s4_r2_a42,0,3881.331,スタッフ,料理を運ぶ,24,15.3,5.95,10.7157,3.6924,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3900.099,スタッフ,料理を運ぶ,23,15.3,5.95,10.1691,4.5464,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3933.982,スタッフ,料理を運ぶ,24,9.312,6.812,11.5608,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3946.395,スタッフ,料理を運ぶ,24,9.312,6.812,8.5737,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,3959.607,客,トイレ,39,20.263,2.188,16.6746,2.5742,,60,移した
fam_p1_s4_r2_a42,0,3998.295,スタッフ,料理を運ぶ,24,9.312,6.812,10.0186,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,4052.748,客,ドリンクバー,4,1.912,10.312,10.701,4.55,,60,移した
fam_p1_s4_r2_a42,0,4107.296,スタッフ,呼び出し,10,5.613,6.812,10.5034,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4121.192,スタッフ,立ち往生を動かす,0,9.8447,4.9185,9.2894,6.4,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4167.162,スタッフ,呼び出し,10,5.613,6.812,10.5059,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4181.057,スタッフ,立ち往生を動かす,0,9.8711,4.9294,9.2894,6.4,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4203.37,客,ドリンクバー,2,1.912,6.613,1.5,4.6368,A01,60,移した
fam_p1_s4_r2_a42,0,4223.839,客,ドリンクバー,10,18.8,3.9,5.613,6.812,A02,0,あきらめた
fam_p1_s4_r2_a42,0,4227.027,スタッフ,呼び出し,10,5.613,6.812,10.5053,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,4233.153,客,ドリンクバー,4,1.912,10.312,1.6986,9.9919,A01,60,移した
fam_p1_s4_r2_a42,0,4240.922,スタッフ,立ち往生を動かす,0,9.8711,4.9294,9.5,6.4001,A03,60.0494,移した
fam_p1_s4_r2_a42,0,4246.6,客,ドリンクバー,6,20.3,3.9,11.4895,3.5084,,60,あきらめた
fam_p1_s4_r2_a42,0,4288.834,客,ドリンクバー,13,18.8,3.9,5.613,4.962,A02,0,あきらめた
fam_p1_s4_r2_a42,0,4292.869,客,ドリンクバー,4,1.912,10.312,1.5678,5.3318,A01,60,移した
fam_p1_s4_r2_a42,0,4306.416,客,ドリンクバー,6,1.912,6.812,1.5,4.673,A01,60,移した
fam_p1_s4_r2_a42,0,4315.729,スタッフ,料理を運ぶ,37,15.3,5.95,9.9207,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4318.717,客,トイレ,41,22.463,2.188,17.2108,4.8272,,60,移した
fam_p1_s4_r2_a42,0,4320.211,客,ドリンクバー,6,19.3,3.9,17.5712,3.834,,60,あきらめた
fam_p1_s4_r2_a42,0,4355.324,客,ドリンクバー,8,1.912,10.513,17.461,4.7477,,60,移した
fam_p1_s4_r2_a42,0,4375.594,スタッフ,立ち往生を動かす,0,9.7206,4.8505,9.9014,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4390.585,スタッフ,立ち往生を動かす,0,10.6075,4.9568,9.312,6.4,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4450.451,スタッフ,立ち往生を動かす,0,10.6075,4.9568,9.312,6.4,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4450.5,スタッフ,料理を運ぶ,41,15.3,5.95,10.4201,4.5159,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4492.934,客,ドリンクバー,7,1.912,8.662,1.7,6.6101,A01,60,移した
fam_p1_s4_r2_a42,0,4510.316,スタッフ,立ち往生を動かす,0,10.6075,4.9568,9.312,6.4,A03,60.0494,移した
fam_p1_s4_r2_a42,0,4510.366,スタッフ,料理を運ぶ,41,15.3,5.95,10.3582,4.4988,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4527.2,客,ドリンクバー,4,1.912,10.312,1.7,9.0409,A01,60,移した
fam_p1_s4_r2_a42,0,4567.591,客,ドリンクバー,7,1.912,8.662,5.2304,4.3717,,60,移した
fam_p1_s4_r2_a42,0,4585.123,スタッフ,料理を運ぶ,7,15.3,5.95,10.4197,4.514,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4601.11,客,ドリンクバー,8,1.912,10.513,3.7707,4.55,,60,移した
fam_p1_s4_r2_a42,0,4605.293,スタッフ,料理を運ぶ,1,1.912,4.762,11.3922,3.7552,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4625.863,客,ドリンクバー,7,1.912,8.662,1.684,6.0283,A01,60,移した
fam_p1_s4_r2_a42,0,4660.029,スタッフ,料理を運ぶ,9,15.3,5.95,10.4107,4.4892,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4673.526,スタッフ,料理を運ぶ,1,1.912,4.762,9.8253,4.0219,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4770.147,客,ドリンクバー,18,9.312,4.962,10.0254,4.55,,60,移した
fam_p1_s4_r2_a42,0,4776.024,スタッフ,料理を運ぶ,9,15.3,5.95,5.8592,4.5092,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4784.889,客,ドリンクバー,8,1.912,10.513,8.3038,3.822,,60,移した
fam_p1_s4_r2_a42,0,4850.93,スタッフ,呼び出し,24,9.312,6.812,5.859,4.5182,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4925.836,スタッフ,呼び出し,24,9.312,6.812,5.8557,4.503,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4950.042,組,片付け,3,1.912,8.462,1.912,8.462,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5000.743,スタッフ,呼び出し,24,9.312,6.812,8.5682,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,5012.397,客,ドリンクバー,13,19.3,3.9,5.8632,4.5486,,60,あきらめた
fam_p1_s4_r2_a42,0,5140.345,スタッフ,片付け,2,1.912,6.613,10.9411,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5145.724,客,ドリンクバー,18,9.312,4.962,9.7618,4.55,,60,移した
fam_p1_s4_r2_a42,0,5215.251,スタッフ,片付け,2,1.912,6.613,10.9411,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5228.948,客,ドリンクバー,18,17.3,3.9,9.8088,4.55,,60,あきらめた
fam_p1_s4_r2_a42,0,5309.88,スタッフ,片付け,4,1.912,10.312,10.9411,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5319.194,客,ドリンクバー,23,18.3,3.9,9.4973,4.5435,,60,あきらめた
fam_p1_s4_r2_a42,0,5366.658,客,ドリンクバー,23,9.312,4.962,10.1537,4.55,,60,移した
fam_p1_s4_r2_a42,0,5369.746,スタッフ,料理を運ぶ,23,15.3,5.95,11.1108,4.4884,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5405.605,客,ドリンクバー,23,9.312,4.962,8.8209,4.55,,60,移した
fam_p1_s4_r2_a42,0,5429.611,スタッフ,料理を運ぶ,23,15.3,5.95,11.1155,4.5147,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5430.109,スタッフ,案内,2,0.9,2.1,12.5639,4.5372,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5489.476,スタッフ,料理を運ぶ,23,15.3,5.95,11.1133,4.5122,,60.0494,移した
fam_p1_s4_r2_a42,0,5549.292,スタッフ,料理を運ぶ,23,9.312,4.962,10.0035,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5579.423,スタッフ,立ち往生を動かす,0,6.2278,4.8005,8.9,6.4,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5614.934,スタッフ,料理を運ぶ,23,9.312,4.962,10.0056,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5639.289,スタッフ,立ち往生を動かす,0,6.252,4.7637,8.9,6.4,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5663.294,組,片付け,36,16.963,2.188,16.963,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5673.305,組,会計,15,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5680.577,スタッフ,料理を運ぶ,23,9.312,4.962,10.0075,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,5750.353,スタッフ,料理を運ぶ,23,15.3,5.95,10.0711,4.5189,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5753.042,組,片付け,6,1.912,6.812,1.912,6.812,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5842.791,組,片付け,7,1.912,8.662,1.912,8.662,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5918.992,スタッフ,片付け,7,1.912,8.662,10.9486,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5960.28,スタッフ,立ち往生を動かす,0,9.9566,5.1379,9.5,6.4,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5973.378,組,会計,18,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5978.857,スタッフ,案内,7,0.9,2.1,10.9561,4.5146,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6008.64,組,会計,25,9.312,8.662,9.312,8.662,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6020.145,スタッフ,立ち往生を動かす,0,9.9566,5.1379,9.5,6.4,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6038.722,スタッフ,案内,7,0.9,2.1,10.9585,4.4995,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6044.998,スタッフ,料理を運ぶ,2,1.912,6.613,12.5559,4.5697,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6080.01,スタッフ,立ち往生を動かす,0,9.9566,5.1379,9.5,6.4,A03,60.0494,移した
fam_p1_s4_r2_a42,0,6098.587,スタッフ,案内,7,0.9,2.1,10.958,4.503,,60.0494,移した
fam_p1_s4_r2_a42,0,6124.984,スタッフ,料理を運ぶ,2,1.912,6.613,11.8657,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6127.375,組,会計,31,8.488,2.588,8.488,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6127.922,組,会計,13,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6141.569,組,片付け,9,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6154.817,スタッフ,料理を運ぶ,35,15.3,5.95,9.5013,4.5045,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6188.634,スタッフ,料理を運ぶ,2,1.912,6.613,11.8657,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,6229.723,スタッフ,立ち往生を動かす,0,10.3551,4.4337,9.5163,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6231.317,組,片付け,10,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6233.458,スタッフ,料理を運ぶ,3,1.912,8.462,1.5,8.1357,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6288.293,組,会計,23,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6304.629,スタッフ,料理を運ぶ,3,15.3,5.95,10.4316,4.5085,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6321.065,組,片付け,11,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6337.102,組,会計,14,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6364.495,スタッフ,料理を運ぶ,3,15.3,5.95,10.4307,4.4983,,60.0494,移した
fam_p1_s4_r2_a42,0,6386.708,組,会計,17,5.613,13.888,5.613,13.888,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6410.813,組,片付け,12,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6414.847,組,会計,26,9.312,12.038,9.312,12.038,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6461.066,組,会計,28,13.088,6.812,13.088,6.812,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6500.561,組,片付け,8,1.912,10.513,1.912,10.513,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6500.76,組,会計,24,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6536.221,スタッフ,案内,9,5.613,4.962,5.1665,4.5242,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6590.309,組,片付け,40,21.362,2.188,21.362,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6611.924,組,会計,32,10.338,2.588,10.338,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6619.345,スタッフ,案内,10,5.613,6.812,4.7365,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6629.456,スタッフ,案内,23,9.312,4.962,8.5677,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6649.875,スタッフ,料理を運ぶ,6,15.3,5.95,4.702,4.5099,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6658.093,組,会計,27,13.088,5.962,13.088,5.962,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6748.19,スタッフ,案内,23,9.312,4.962,8.6602,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6807.956,組,会計,30,13.088,10.513,13.088,10.513,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6868.618,スタッフ,案内,23,9.312,4.962,9.9255,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,6935.057,組,会計,29,13.088,8.662,13.088,8.662,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6947.01,スタッフ,立ち往生を動かす,0,9.1594,4.5458,10.0044,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7008.818,スタッフ,案内,24,9.312,6.812,8.5738,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7065.545,客,ドリンクバー,4,1.912,10.312,3.7452,4.55,,60,移した
fam_p1_s4_r2_a42,0,7126.506,スタッフ,案内,24,9.312,6.812,8.5729,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7213.316,客,ドリンクバー,4,1.912,10.312,1.6873,7.1965,A01,60,移した
fam_p1_s4_r2_a42,0,7240.758,スタッフ,案内,24,9.312,6.812,8.5676,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,7259.037,スタッフ,料理を運ぶ,18,9.312,4.962,9.9829,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7300.624,スタッフ,立ち往生を動かす,0,6.3,4.3582,8.9,6.4,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7324.679,スタッフ,料理を運ぶ,18,9.312,4.962,10.0053,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7355.01,客,ドリンクバー,4,1.912,10.312,5.6286,4.5487,,60,移した
fam_p1_s4_r2_a42,0,7360.489,スタッフ,立ち往生を動かす,0,6.3072,4.3492,8.9,6.4,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7390.67,スタッフ,料理を運ぶ,18,9.312,4.962,10.0169,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,7420.354,スタッフ,立ち往生を動かす,0,6.3072,4.3492,8.9,6.4,A03,60.0494,移した
fam_p1_s4_r2_a42,0,7450.287,客,ドリンクバー,4,1.912,10.312,1.6939,8.8362,A01,60,移した
fam_p1_s4_r2_a42,0,7528.281,スタッフ,料理を運ぶ,14,15.3,5.95,8.5579,4.5158,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7585.208,組,会計,1,1.912,4.762,1.912,4.762,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7588.146,スタッフ,料理を運ぶ,11,15.3,5.95,8.5576,4.5145,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7591.333,スタッフ,料理を運ぶ,23,9.312,4.962,9.9371,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7592.678,スタッフ,料理を運ぶ,23,9.312,4.962,9.9854,4.2211,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7628.139,スタッフ,料理を運ぶ,28,15.3,5.95,13.6901,7.0358,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7648.011,スタッフ,料理を運ぶ,11,15.3,5.95,8.5579,4.5163,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7657.026,スタッフ,料理を運ぶ,23,9.312,4.962,9.9051,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7658.271,客,ドリンクバー,3,1.912,8.462,1.6328,6.8698,A01,60,移した
fam_p1_s4_r2_a42,0,7658.371,スタッフ,料理を運ぶ,23,9.312,4.962,9.9739,4.191,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7659.118,組,会計,42,20.412,5.163,20.412,5.163,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7671.27,客,トイレ,18,3.4,14.9,1.5,7.3362,A01,60,あきらめた
fam_p1_s4_r2_a42,0,7687.307,客,ドリンクバー,4,17.3,3.9,10.5937,3.7875,,60,あきらめた
fam_p1_s4_r2_a42,0,7688.004,スタッフ,料理を運ぶ,8,15.3,5.95,13.6989,7.0372,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7723.963,スタッフ,料理を運ぶ,23,9.312,4.962,10.0063,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,7725.159,スタッフ,料理を運ぶ,11,5.613,8.662,14.3896,6.1657,,60.0494,移した
fam_p1_s4_r2_a42,0,7731.085,客,トイレ,18,9.312,4.962,8.5833,4.55,,60,移した
fam_p1_s4_r2_a42,0,7741.644,スタッフ,料理を運ぶ,23,9.312,4.962,8.5708,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,7747.87,スタッフ,料理を運ぶ,8,15.3,5.95,13.7046,7.0365,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7769.933,組,片付け,33,12.188,2.588,12.188,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7798.571,客,ドリンクバー,18,9.312,4.962,9.8767,4.55,,60,移した
fam_p1_s4_r2_a42,0,7807.735,スタッフ,料理を運ぶ,8,15.3,5.95,13.7022,7.0352,,60.0494,移した
fam_p1_s4_r2_a42,0,7816.351,スタッフ,料理を運ぶ,12,5.613,10.513,12.6,10.4108,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7817.098,スタッフ,料理を運ぶ,17,5.613,13.888,12.5563,12.501,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7822.726,客,ドリンクバー,18,9.312,4.962,8.5584,4.4753,,60,移した
fam_p1_s4_r2_a42,0,7828.304,客,ドリンクバー,18,9.312,4.962,10.0263,4.55,,60,移した
fam_p1_s4_r2_a42,0,7861.424,組,会計,38,19.162,2.188,19.162,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7911.329,組,片付け,5,1.912,4.962,1.912,4.962,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7979.561,スタッフ,料理を運ぶ,8,1.912,10.513,1.5,5.8216,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7992.261,スタッフ,料理を運ぶ,10,5.613,6.812,5.6556,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8023.041,客,ドリンクバー,2,1.912,6.613,16.9203,3.916,,60,移した
fam_p1_s4_r2_a42,0,8052.176,組,片付け,22,9.388,12.688,9.388,12.688,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8097.598,スタッフ,料理を運ぶ,24,9.312,6.812,10.0014,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8141.924,組,片付け,21,9.312,12.038,9.312,12.038,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8163.241,スタッフ,料理を運ぶ,24,9.312,6.812,10.0154,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8186.101,客,ドリンクバー,10,18.8,3.9,5.613,6.812,A02,0,あきらめた
fam_p1_s4_r2_a42,0,8191.679,客,ドリンクバー,31,18.8,3.9,8.488,2.588,,0,あきらめた
fam_p1_s4_r2_a42,0,8200.645,客,ドリンクバー,27,18.8,3.9,13.088,5.962,,0,あきらめた
fam_p1_s4_r2_a42,0,8201.292,客,ドリンクバー,8,18.8,3.9,1.912,10.513,A01,0,あきらめた
fam_p1_s4_r2_a42,0,8212,客,ドリンクバー,10,19.3,3.9,7.6576,4.5334,,60,あきらめた
fam_p1_s4_r2_a42,0,8223.106,スタッフ,立ち往生を動かす,0,9.1719,4.4608,9.9819,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8250.748,客,ドリンクバー,23,18.8,3.9,9.312,4.962,A03,0,あきらめた
fam_p1_s4_r2_a42,0,8253.985,客,ドリンクバー,8,1.912,10.513,10.035,4.4884,,60,移した
fam_p1_s4_r2_a42,0,8353.844,スタッフ,呼び出し,23,9.312,4.962,10.0164,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8401.806,スタッフ,呼び出し,4,1.912,10.312,1.7,8.2167,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8413.659,スタッフ,呼び出し,23,9.312,4.962,9.9828,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8473.524,スタッフ,呼び出し,23,9.312,4.962,8.5733,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,8531.597,客,ドリンクバー,8,1.912,10.513,1.5,5.4465,A01,60,移した
fam_p1_s4_r2_a42,0,8547.883,客,ドリンクバー,7,1.912,8.662,1.6933,7.3402,A01,60,移した
fam_p1_s4_r2_a42,0,8557.844,客,トイレ,40,21.362,2.188,17.1163,2.4232,,60,移した
fam_p1_s4_r2_a42,0,8610.438,スタッフ,片付け,4,1.912,10.312,1.6796,6.3013,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8619.552,客,ドリンクバー,24,18.8,3.9,9.312,6.812,A03,0,あきらめた
fam_p1_s4_r2_a42,0,8624.084,客,ドリンクバー,6,18.8,3.9,1.912,6.812,A01,0,あきらめた
fam_p1_s4_r2_a42,0,8664.426,客,ドリンクバー,7,1.912,8.662,6.0267,4.0285,,60,移した
fam_p1_s4_r2_a42,0,8671.05,スタッフ,料理を運ぶ,5,1.912,4.962,10.9411,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8715.874,客,ドリンクバー,31,18.8,3.9,8.488,2.588,,0,あきらめた
fam_p1_s4_r2_a42,0,8718.265,客,ドリンクバー,7,1.912,8.662,1.7,6.4976,A01,60,移した
fam_p1_s4_r2_a42,0,8750.588,スタッフ,料理を運ぶ,5,1.912,4.962,10.9411,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8768.169,客,ドリンクバー,18,19.3,3.9,9.7814,4.55,,60,あきらめた
fam_p1_s4_r2_a42,0,8781.417,客,ドリンクバー,24,18.8,3.9,9.312,6.812,A03,0,あきらめた
fam_p1_s4_r2_a42,0,8824.448,客,ドリンクバー,25,18.8,3.9,9.312,8.662,A03,0,あきらめた
fam_p1_s4_r2_a42,0,8827.984,客,ドリンクバー,18,9.312,4.962,9.75,4.55,,60,移した
fam_p1_s4_r2_a42,0,8896.167,スタッフ,立ち往生を動かす,0,10.055,4.5811,10.8316,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8943.73,スタッフ,立ち往生を動かす,0,9.9624,5.1426,9.5,8.25,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8963.652,客,ドリンクバー,11,18.3,3.9,9.1013,8.25,A03,60,あきらめた
fam_p1_s4_r2_a42,0,8971.073,スタッフ,料理を運ぶ,22,15.3,5.95,10.9912,4.493,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9003.596,スタッフ,立ち往生を動かす,0,10.0745,5.172,9.5,8.25,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9030.938,スタッフ,料理を運ぶ,22,15.3,5.95,10.9951,4.5143,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9256.853,客,会計,25,4.7,4.3,9.2906,8.25,A03,60,移した
fam_p1_s4_r2_a42,0,9315.473,スタッフ,料理を運ぶ,18,9.312,4.962,11.031,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9394.911,スタッフ,料理を運ぶ,18,9.312,4.962,11.031,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9404.274,客,ドリンクバー,8,1.912,10.513,1.6911,8.5686,A01,60,移した
fam_p1_s4_r2_a42,0,9469.27,スタッフ,料理を運ぶ,18,9.312,4.962,11.031,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,9517.231,客,ドリンクバー,23,9.312,4.962,16.0768,4.3739,,60,移した
fam_p1_s4_r2_a42,0,9524.304,スタッフ,料理を運ぶ,7,1.912,8.662,11.9565,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9539.046,スタッフ,料理を運ぶ,18,15.3,5.95,9.5845,4.5152,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9571.319,スタッフ,立ち往生を動かす,0,10.0425,5.1421,9.5,8.25,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9587.904,スタッフ,料理を運ぶ,7,1.912,8.662,11.9565,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9598.911,スタッフ,立ち往生を動かす,0,10.4448,4.4333,9.5953,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9651.505,スタッフ,料理を運ぶ,7,1.912,8.662,11.8604,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,9701.011,スタッフ,料理を運ぶ,28,15.3,5.95,10.5191,4.5148,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9731.939,スタッフ,料理を運ぶ,4,1.912,10.312,12.7818,4.817,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9775.917,スタッフ,立ち往生を動かす,0,11.3737,4.4597,10.6808,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9794.644,スタッフ,料理を運ぶ,4,1.912,10.312,12.7609,4.8467,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9850.823,スタッフ,立ち往生を動かす,0,11.3758,4.4831,10.6028,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9857.298,スタッフ,料理を運ぶ,4,1.912,10.312,12.7813,4.8161,,60.0494,移した
fam_p1_s4_r2_a42,0,9925.729,スタッフ,料理を運ぶ,34,15.3,5.95,10.5186,4.5155,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9950.433,スタッフ,呼び出し,10,5.613,6.812,12.7629,4.842,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9960.493,組,片付け,25,9.312,8.662,9.312,8.662,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10000.64,スタッフ,立ち往生を動かす,0,11.3738,4.4615,10.6843,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10010.3,スタッフ,呼び出し,10,5.613,6.812,12.7667,4.839,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10050.24,組,片付け,36,16.963,2.188,16.963,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10077.83,客,ドリンクバー,4,1.912,10.312,1.7237,4.6921,A01,60,移した
fam_p1_s4_r2_a42,0,10111.6,スタッフ,料理を運ぶ,17,15.3,5.95,7.6682,4.5171,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10139.99,組,片付け,31,8.488,2.588,8.488,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10171.47,スタッフ,料理を運ぶ,17,15.3,5.95,7.6691,4.5162,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10175.8,スタッフ,立ち往生を動かす,0,9.178,4.5152,9.5709,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10199.01,客,ドリンクバー,10,5.613,6.812,9.9615,4.4949,,60,移した
fam_p1_s4_r2_a42,0,10229.74,組,片付け,39,20.263,2.188,20.263,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10231.33,スタッフ,料理を運ぶ,17,15.3,5.95,8.5731,4.5464,,60.0494,移した
fam_p1_s4_r2_a42,0,10235.66,スタッフ,立ち往生を動かす,0,9.1824,4.4899,9.6065,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10241.49,組,会計,24,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10250.51,スタッフ,立ち往生を動かす,0,9.2467,5.0601,9.2467,8.25,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10307.08,組,会計,26,9.312,12.038,9.312,12.038,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10310.37,スタッフ,立ち往生を動かす,0,9.2517,5.0601,9.2517,8.25,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10310.57,スタッフ,案内,31,0.9,2.1,9.848,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10328.5,組,片付け,18,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10370.24,スタッフ,立ち往生を動かす,0,9.2527,5.0601,9.2527,8.25,A03,60.0494,移した
fam_p1_s4_r2_a42,0,10370.44,スタッフ,案内,31,0.9,2.1,9.8431,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10371.83,組,会計,8,1.912,10.513,1.912,10.513,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10418.25,組,片付け,12,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10498.83,スタッフ,案内,24,9.312,6.812,8.5733,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10508,組,片付け,7,1.912,8.662,1.912,8.662,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10571.15,組,会計,29,13.088,8.662,13.088,8.662,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10577.27,スタッフ,片付け,23,9.312,4.962,9.7746,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10590.07,客,ドリンクバー,2,1.912,6.613,1.7937,4.6563,A01,60,移した
fam_p1_s4_r2_a42,0,10597.74,組,片付け,23,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10614.63,組,会計,32,10.338,2.588,10.338,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10644.41,スタッフ,案内,24,9.312,6.812,8.5731,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10650.49,組,会計,27,13.088,5.962,13.088,5.962,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10681.81,組,会計,30,13.088,10.513,13.088,10.513,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10687.49,組,片付け,13,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10748.1,スタッフ,片付け,23,15.3,5.95,9.5599,4.5068,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10777.24,組,片付け,9,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10790.44,組,会計,40,21.362,2.188,21.362,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10812.8,スタッフ,片付け,14,15.3,5.95,6.3226,4.4955,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10905.44,組,片付け,14,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10913.95,スタッフ,片付け,14,5.613,6.812,10.9269,4.53,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10965.85,スタッフ,片付け,6,1.912,6.812,10.9411,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11025.72,スタッフ,片付け,6,1.912,6.812,10.9411,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11031.44,組,片付け,6,1.912,6.812,1.912,6.812,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,11085.58,スタッフ,片付け,6,1.912,6.812,10.9411,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,11193.81,スタッフ,料理を運ぶ,24,9.312,6.812,10.9411,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11259.3,スタッフ,料理を運ぶ,24,9.312,6.812,9.7031,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11295.66,スタッフ,料理を運ぶ,35,15.3,5.95,8.3848,4.5047,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11319.17,スタッフ,料理を運ぶ,24,15.3,5.95,9.8936,4.5174,,60.0494,移した
fam_p1_s4_r2_a42,0,11355.52,スタッフ,料理を運ぶ,35,15.3,5.95,8.3868,4.5202,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11378.98,スタッフ,料理を運ぶ,24,9.312,6.812,10.746,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11430.43,スタッフ,片付け,42,20.412,5.163,18.5818,4.8372,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11444.62,スタッフ,料理を運ぶ,24,9.312,6.812,10.0032,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11498.31,スタッフ,料理を運ぶ,2,1.912,6.613,11.7001,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11504.49,スタッフ,料理を運ぶ,24,15.3,5.95,10.2475,4.4844,,60.0494,移した
fam_p1_s4_r2_a42,0,11564.3,スタッフ,料理を運ぶ,24,9.312,6.812,10.0098,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11577.1,スタッフ,料理を運ぶ,2,1.912,6.613,11.6901,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11624.17,スタッフ,料理を運ぶ,24,15.3,5.95,10.2348,4.5011,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11646.78,スタッフ,料理を運ぶ,24,9.312,6.812,9.9466,4.1211,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11684.03,スタッフ,料理を運ぶ,24,15.3,5.95,10.2386,4.5088,,60.0494,移した
fam_p1_s4_r2_a42,0,11713.07,スタッフ,料理を運ぶ,24,9.312,6.812,11.6901,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11743.85,スタッフ,料理を運ぶ,24,9.312,6.812,10.0108,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11791.86,スタッフ,料理を運ぶ,24,9.312,6.812,11.6901,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,11803.71,スタッフ,料理を運ぶ,24,15.3,5.95,10.2393,4.4875,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11930.47,スタッフ,立ち往生を動かす,0,11.7258,4.6508,12.6122,4.5887,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,12020.86,客,退店,4,1.8,0.5,1.7,7.672,A01,60,移した
fam_p1_s4_r2_a42,0,12020.91,スタッフ,片付け,4,1.912,10.312,1.5,7.3549,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,12101.5,スタッフ,呼び出し,26,9.312,12.038,12.1029,4.4658,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,12418.35,客,会計,2,4.7,4.3,1.7,4.9116,A01,60,移した
fam_p1_s4_r2_a42,0,12625.64,客,トイレ,5,1.912,4.962,1.6263,5.7303,A01,60,移した
fam_p1_s4_r2_a42,0,14123.67,スタッフ,片付け,24,9.312,6.812,8.5678,4.55,,60.0494,あきらめた
```

#### groups.csv

```text
condition_id,seed,group_id,size,table_id,table_seats,arrive_s,guide_start_s,seated_s,eat_end_s,pay_start_s,pay_s,left_s,waited_min,warmup,state
fam_p1_s4_r2_a42,0,1,4,0,0,56.4194,56.4194,119.5727,2680.53,2784.861,-1,3385.497,1.0526,0,Done
fam_p1_s4_r2_a42,0,2,3,2,4,95.8213,95.8213,161.6753,4547.351,4547.371,4796.294,4796.294,1.0976,0,Done
fam_p1_s4_r2_a42,0,3,4,0,0,103.0217,103.0217,289.1729,4202.372,4202.374,4352.286,4352.286,3.1025,0,Done
fam_p1_s4_r2_a42,0,4,2,34,2,334.1619,334.1619,408.2938,4638.07,4638.115,4886.042,4886.042,1.2355,0,Done
fam_p1_s4_r2_a42,0,5,1,35,2,424.5898,424.5898,499.5715,4329.194,4329.226,4486.061,4486.061,1.2497,0,Done
fam_p1_s4_r2_a42,0,6,4,4,4,434.8373,434.8373,504.8702,4733.681,4733.69,4975.791,4975.791,1.1672,0,Done
fam_p1_s4_r2_a42,0,7,1,0,0,485.9749,485.9749,681.927,4757.007,4757.048,5065.539,5065.539,3.2659,0,Done
fam_p1_s4_r2_a42,0,8,3,0,0,585.1506,585.1506,769.2057,3746.929,6934.908,7313.573,7313.573,3.0676,0,Done
fam_p1_s4_r2_a42,0,9,4,0,0,680.8273,680.8273,865.3822,4843.801,4843.808,5155.287,5155.287,3.0759,0,Done
fam_p1_s4_r2_a42,0,10,4,0,0,802.0977,802.0977,1571.678,4708.108,4708.14,5245.035,5245.035,12.8263,0,Done
fam_p1_s4_r2_a42,0,11,2,37,2,1057.526,1057.526,1246.51,4822.612,4822.641,5334.783,5334.783,3.1497,0,Done
fam_p1_s4_r2_a42,0,12,3,0,0,1070.188,1070.188,1635.89,5708.247,5708.268,5902.805,5902.805,9.4284,0,Done
fam_p1_s4_r2_a42,0,13,1,38,2,1087.956,1087.956,1345.707,4109.359,4109.388,4200.182,4200.182,4.2959,0,Done
fam_p1_s4_r2_a42,0,14,2,39,2,1184.15,1184.15,1723.426,5022.951,5022.956,5424.531,5424.531,8.9879,0,Done
fam_p1_s4_r2_a42,0,15,2,0,0,1202.267,1202.267,1669.323,5684.393,5684.412,5992.553,5992.553,7.7843,0,Done
fam_p1_s4_r2_a42,0,16,2,41,2,1212.928,1212.928,1772.374,4483.753,4536.264,4706.546,4706.546,9.3241,0,Done
fam_p1_s4_r2_a42,0,17,2,0,0,1267.331,1267.331,1740.392,4991.585,4991.628,5543.813,5543.813,7.8844,0,Done
fam_p1_s4_r2_a42,0,18,2,0,0,1429.239,1429.239,1797.248,5143.506,5143.533,5633.561,5633.561,6.1335,0,Done
fam_p1_s4_r2_a42,0,19,4,0,0,1633.838,1633.838,1864.764,5191.171,5191.196,5723.309,5723.309,3.8488,0,Done
fam_p1_s4_r2_a42,0,20,4,0,0,1645.6,1645.6,1997.393,5380.505,5380.553,5813.057,5813.057,5.8632,0,Done
fam_p1_s4_r2_a42,0,21,3,0,0,1674.328,1674.328,1877.426,5530.196,5530.216,-1,6127.922,3.385,0,Done
fam_p1_s4_r2_a42,0,22,2,0,0,1689.292,1689.292,1931.379,5710.528,5739.396,-1,6337.102,4.0348,0,Done
fam_p1_s4_r2_a42,0,23,4,0,0,1787.889,1787.889,2024.52,5075.58,5075.599,-1,5673.305,3.9438,0,Done
fam_p1_s4_r2_a42,0,24,2,16,4,1803.454,1803.454,2046.291,-1,-1,-1,-1,4.0473,0,Seated
fam_p1_s4_r2_a42,0,25,3,0,0,1874.373,1874.373,2186.578,5788.976,5789.001,-1,6386.708,5.2034,0,Done
fam_p1_s4_r2_a42,0,26,4,0,0,1899.147,1899.147,2068.663,5375.655,5375.672,-1,5973.378,2.8253,0,Done
fam_p1_s4_r2_a42,0,27,4,19,4,1903.451,1903.451,2213.504,-1,-1,-1,-1,5.1675,0,Seated
fam_p1_s4_r2_a42,0,28,4,20,4,1918.166,1918.166,2137.079,-1,-1,-1,-1,3.6486,0,Seated
fam_p1_s4_r2_a42,0,29,3,0,0,2091.835,2091.835,3198.315,7244.41,7244.444,7544.168,7544.168,18.4413,0,Done
fam_p1_s4_r2_a42,0,30,3,0,0,2102.396,2102.396,3227.093,6872.947,7074.66,7454.42,7454.42,18.745,0,Done
fam_p1_s4_r2_a42,0,31,3,0,0,2160.302,2160.302,2278.567,5669.18,5690.587,-1,6288.293,1.9711,0,Done
fam_p1_s4_r2_a42,0,32,4,0,0,2243.133,2243.133,2479.664,5903.017,5903.054,-1,6500.76,3.9422,0,Done
fam_p1_s4_r2_a42,0,33,2,0,0,2274.263,2274.263,2589.671,5410.931,5410.934,-1,6008.64,5.2568,0,Done
fam_p1_s4_r2_a42,0,34,1,0,0,2315.553,2315.553,3459.419,5816.825,5817.141,-1,6414.847,19.0644,0,Done
fam_p1_s4_r2_a42,0,35,2,0,0,2376.713,2376.713,3311.375,6060.348,6060.387,-1,6658.093,15.5777,0,Done
fam_p1_s4_r2_a42,0,36,3,0,0,2641.071,2641.071,3387.199,5863.344,5863.36,-1,6461.066,12.4355,0,Done
fam_p1_s4_r2_a42,0,37,2,0,0,2650.63,2650.63,3471.731,6337.351,6337.351,-1,6935.057,13.685,0,Done
fam_p1_s4_r2_a42,0,38,1,0,0,2761.789,2761.789,3548.056,6210.244,6210.25,-1,6807.956,13.1045,0,Done
fam_p1_s4_r2_a42,0,39,2,0,0,2764.091,2764.091,3542.901,5529.657,5529.668,-1,6127.375,12.9802,0,Done
fam_p1_s4_r2_a42,0,40,1,0,0,2772.85,2772.85,3629.836,5992.629,6014.218,-1,6611.924,14.2831,0,Done
fam_p1_s4_r2_a42,0,41,2,0,0,2828.154,2828.154,3604.811,6617.954,6806.312,7172.177,7172.177,12.9443,0,Done
fam_p1_s4_r2_a42,0,42,2,0,0,2894.118,2894.118,3619.175,7061.407,7061.412,-1,7659.118,12.0843,0,Done
fam_p1_s4_r2_a42,0,43,2,0,0,3073.693,3385.547,3979.327,6987.459,6987.501,-1,7585.208,15.0939,0,Done
fam_p1_s4_r2_a42,0,44,2,0,0,3083.953,4377.188,4533.425,7263.714,7263.718,-1,7861.424,24.1579,0,Done
fam_p1_s4_r2_a42,0,45,1,35,2,3162.43,4911.642,5058.167,8628.754,8628.766,8889.294,8889.294,31.5956,0,Done
fam_p1_s4_r2_a42,0,46,2,3,4,3184.151,4950.091,5109.217,8829.893,12091.44,12268.04,12268.04,32.0844,0,Done
fam_p1_s4_r2_a42,0,47,2,41,2,3313.677,5142.039,5188.008,8537.359,8537.374,8709.798,8709.798,31.2389,0,Done
fam_p1_s4_r2_a42,0,48,3,2,4,3437.298,5329.703,5503.322,8603.905,8603.913,8799.546,8799.546,34.4337,0,Done
fam_p1_s4_r2_a42,0,49,4,4,4,3496.305,5478.22,5659.161,8358.66,8358.675,8458.633,8458.633,36.0476,0,Done
fam_p1_s4_r2_a42,0,50,3,15,4,3540.248,5673.355,5776.7,8523.863,8523.877,8620.05,8620.05,37.2742,0,Done
fam_p1_s4_r2_a42,0,51,1,34,2,3553.761,5303.655,5375.224,8603.598,8603.614,8979.042,8979.042,30.3577,0,Done
fam_p1_s4_r2_a42,0,52,4,0,0,3559.017,5753.092,5826.704,10128.72,10128.73,10433.69,10433.69,37.7948,0,Done
fam_p1_s4_r2_a42,0,53,3,0,0,3560.268,5842.84,6150.135,9687.879,9718.94,9910.24,9910.24,43.1645,0,Done
fam_p1_s4_r2_a42,0,54,2,0,0,3646.102,5663.344,5725.002,9204.826,9204.856,9452.485,9452.485,34.6484,0,Done
fam_p1_s4_r2_a42,0,55,2,37,2,3742.996,5900.464,6059.64,8939.179,8939.198,9142.501,9142.501,38.6107,0,Done
fam_p1_s4_r2_a42,0,56,1,0,0,3904.904,5958.935,6288.194,9416.445,9416.477,9631.981,9631.981,39.7215,0,Done
fam_p1_s4_r2_a42,0,57,4,0,0,4054.05,5973.428,6327.54,9190.748,9479.28,9730.744,9730.744,37.8915,0,Done
fam_p1_s4_r2_a42,0,58,4,0,0,4081.827,6008.69,6381.478,9196.949,9196.987,9362.737,9362.737,38.3275,0,Done
fam_p1_s4_r2_a42,0,59,4,0,0,4082.077,6127.424,6421.571,9325.639,9325.683,9542.233,9542.233,38.9916,0,Done
fam_p1_s4_r2_a42,0,60,2,0,0,4286.394,6127.972,6451.454,9866.787,9866.811,10089.74,10089.74,36.0843,0,Done
fam_p1_s4_r2_a42,0,61,2,0,0,4678.257,6141.619,6618.648,9965.235,9965.274,10179.48,10179.48,32.3398,0,Done
fam_p1_s4_r2_a42,0,62,4,10,4,4731.499,6231.367,6682.498,10240.56,10240.59,10545.05,10545.05,32.5167,0,Done
fam_p1_s4_r2_a42,0,63,1,0,0,4756.301,6288.343,6868.618,9771.119,9771.136,9999.988,9999.988,35.2053,0,Done
fam_p1_s4_r2_a42,0,64,2,11,4,4874.239,6321.115,6712.43,9106.563,9106.592,9244.103,9244.103,30.6365,0,Done
fam_p1_s4_r2_a42,0,65,4,0,0,5005.225,6337.152,6732.302,9969.547,9969.558,10307.68,10307.68,28.7846,0,Done
fam_p1_s4_r2_a42,0,66,2,17,4,5062.5,6386.757,6775.782,10202.15,10256.83,10634.8,10634.8,28.5547,0,Done
fam_p1_s4_r2_a42,0,67,2,0,0,5067.481,6410.863,6793.014,9618.946,9618.982,9820.492,9820.492,28.7589,0,Done
fam_p1_s4_r2_a42,0,68,3,0,0,5088.399,6414.897,6805.117,9709.362,9709.378,-1,10307.08,28.612,0,Done
fam_p1_s4_r2_a42,0,69,4,28,4,5142.885,6461.116,6887.593,10202.41,10202.44,10724.55,10724.55,29.0785,0,Done
fam_p1_s4_r2_a42,0,70,4,0,0,5211.018,6500.611,6902.983,9743.742,9774.124,-1,10371.83,28.1994,0,Done
fam_p1_s4_r2_a42,0,71,4,0,0,5379.756,6500.81,7240.758,9643.759,9643.785,-1,10241.49,31.0167,0,Done
fam_p1_s4_r2_a42,0,72,2,0,0,5407.149,6590.359,7033.571,10192.69,10192.73,-1,10790.44,27.107,0,Done
fam_p1_s4_r2_a42,0,73,4,0,0,5424.431,6611.974,7062.707,10004.9,10016.92,-1,10614.63,27.3046,0,Done
fam_p1_s4_r2_a42,0,74,2,0,0,5443.506,6658.143,7031.081,10052.74,10052.78,-1,10650.49,26.4596,0,Done
fam_p1_s4_r2_a42,0,75,1,0,0,5604.475,6808.005,7152.255,10084.09,10084.11,-1,10681.81,25.7963,0,Done
fam_p1_s4_r2_a42,0,76,4,0,0,5625.841,6935.107,7279.805,9882.406,9973.442,-1,10571.15,27.5661,0,Done
fam_p1_s4_r2_a42,0,77,2,1,4,5739.994,7585.257,7942.357,14559.41,14559.41,14659.91,14659.91,36.7061,0,Done
fam_p1_s4_r2_a42,0,78,4,42,6,5860.87,7659.167,7965.964,11198.33,11198.34,11338.49,11338.49,35.0849,0,Done
fam_p1_s4_r2_a42,0,79,4,33,6,5883.73,7769.983,8052.724,11124.7,11134.79,11248.74,11248.74,36.1499,0,Done
fam_p1_s4_r2_a42,0,80,2,38,2,5910.774,7861.474,8098.295,11684.62,11684.63,12065.14,12065.14,36.4587,0,Done
fam_p1_s4_r2_a42,0,81,2,5,4,5962.123,7911.378,8153.529,13582.7,13582.74,13763.83,13763.83,36.5234,0,Done
fam_p1_s4_r2_a42,0,82,1,22,4,6069.302,8052.226,8154.575,10762.07,10762.1,10907.48,10907.48,34.7545,0,Done
fam_p1_s4_r2_a42,0,83,1,21,4,6161.989,8141.974,8255.131,11378.93,11378.93,11485.41,11485.41,34.8857,0,Done
fam_p1_s4_r2_a42,0,84,1,4,4,6185.397,8695.056,8751.783,11653.49,11653.5,11961.05,11961.05,42.7731,0,Done
fam_p1_s4_r2_a42,0,85,2,15,4,6205.07,8757.61,8836.302,11737.47,11787.43,12167.34,12167.34,43.8539,0,Done
fam_p1_s4_r2_a42,0,86,3,2,4,6254.775,8883.915,9032.433,12305.97,12306,12564.33,12564.33,46.2943,0,Done
fam_p1_s4_r2_a42,0,87,2,41,2,6295.316,8893.976,9083.931,11405,11405.03,11575.16,11575.16,46.4769,0,Done
fam_p1_s4_r2_a42,0,88,4,11,4,6312.449,9443.72,9511.454,12165.19,12178.64,12358.49,12358.49,53.3168,0,Done
fam_p1_s4_r2_a42,0,89,3,25,4,6442.389,9960.543,10103.33,12794.57,12794.58,12895.08,12895.08,61.0157,0,Done
fam_p1_s4_r2_a42,0,90,4,31,6,6455.886,10140.04,10451.17,13329.43,13329.43,13449.06,13449.06,66.588,0,Done
fam_p1_s4_r2_a42,0,91,2,35,2,6609.235,9175.92,9290.471,11641.19,11641.2,11859.35,11859.35,44.6873,0,Done
fam_p1_s4_r2_a42,0,92,3,24,4,6811.143,10241.54,10706.52,13963.25,13963.3,14063.8,14063.8,64.9229,0,Done
fam_p1_s4_r2_a42,0,93,4,26,4,6968.177,10307.13,10505.26,13258.06,13258.06,13358.57,13358.57,58.9513,0,Done
fam_p1_s4_r2_a42,0,94,2,34,2,6982.571,9221.491,9335.793,12249.29,12249.32,12460.09,12460.09,39.2204,0,Done
fam_p1_s4_r2_a42,0,95,1,37,2,7034.916,9259.592,9403.328,12391.74,12391.76,12654.78,12654.78,39.4736,0,Done
fam_p1_s4_r2_a42,0,96,1,36,2,7084.322,10050.29,10205.28,12841.82,12841.84,12985.48,12985.48,52.016,0,Done
fam_p1_s4_r2_a42,0,97,1,39,2,7169.239,10229.79,10403.36,13572.92,13572.93,13673.43,13673.43,53.902,0,Done
```

#### dishes.csv

```text
condition_id,seed,t_s,dish_id,table_id,robot_id,fragile,ready_s,waited_s,requeued_so_far,why
fam_p1_s4_r2_a42,0,1519.327,6,2,2,0,858.7338,660.5928,1,打ち切り
fam_p1_s4_r2_a42,0,2145.087,6,2,2,0,858.7338,1286.353,2,打ち切り
fam_p1_s4_r2_a42,0,2145.087,11,4,2,0,1251.415,893.6719,1,打ち切り
fam_p1_s4_r2_a42,0,2145.337,13,36,1,0,1323.886,821.4514,1,打ち切り
fam_p1_s4_r2_a42,0,2145.337,14,6,1,0,1357.769,787.5684,1,打ち切り
fam_p1_s4_r2_a42,0,2796.172,14,6,1,0,1357.769,1438.403,2,打ち切り
fam_p1_s4_r2_a42,0,4072.768,54,19,1,0,2832.258,1240.51,1,打ち切り
fam_p1_s4_r2_a42,0,4072.768,53,20,1,0,2796.172,1276.595,1,打ち切り
fam_p1_s4_r2_a42,0,4072.768,55,16,1,0,2858.333,1214.435,1,打ち切り
fam_p1_s4_r2_a42,0,4419.074,65,21,2,0,3567.074,851.9993,1,打ち切り
fam_p1_s4_r2_a42,0,4419.074,66,22,2,0,3756.159,662.9148,1,打ち切り
fam_p1_s4_r2_a42,0,4419.074,64,5,2,1,3419.881,999.1929,1,打ち切り
fam_p1_s4_r2_a42,0,4670.637,54,19,1,0,2832.258,1838.38,2,打ち切り
fam_p1_s4_r2_a42,0,4670.637,53,20,1,0,2796.172,1874.465,2,打ち切り
fam_p1_s4_r2_a42,0,4670.637,55,16,1,0,2858.333,1812.304,2,打ち切り
fam_p1_s4_r2_a42,0,5066.734,64,5,2,1,3419.881,1646.853,2,打ち切り
fam_p1_s4_r2_a42,0,5268.393,54,19,1,0,2832.258,2436.135,3,打ち切り
fam_p1_s4_r2_a42,0,5268.393,53,20,1,0,2796.172,2472.221,3,打ち切り
fam_p1_s4_r2_a42,0,5268.393,55,16,1,0,2858.333,2410.06,3,打ち切り
fam_p1_s4_r2_a42,0,5664.49,64,5,2,1,3419.881,2244.609,3,打ち切り
fam_p1_s4_r2_a42,0,5866.149,54,19,1,0,2832.258,3033.891,4,打ち切り
fam_p1_s4_r2_a42,0,5866.149,53,20,1,0,2796.172,3069.977,4,打ち切り
fam_p1_s4_r2_a42,0,5866.149,55,16,1,0,2858.333,3007.816,4,打ち切り
fam_p1_s4_r2_a42,0,6262.246,64,5,2,1,3419.881,2842.365,4,打ち切り
fam_p1_s4_r2_a42,0,6262.246,106,3,2,0,5595.211,667.0342,1,打ち切り
fam_p1_s4_r2_a42,0,6463.905,54,19,1,0,2832.258,3631.647,5,打ち切り
fam_p1_s4_r2_a42,0,6463.905,53,20,1,0,2796.172,3667.732,5,打ち切り
fam_p1_s4_r2_a42,0,6463.905,55,16,1,0,2858.333,3605.572,5,打ち切り
fam_p1_s4_r2_a42,0,7061.661,54,19,1,0,2832.258,4229.403,6,打ち切り
fam_p1_s4_r2_a42,0,7061.661,53,20,1,0,2796.172,4265.488,6,打ち切り
fam_p1_s4_r2_a42,0,7061.661,55,16,1,0,2858.333,4203.328,6,打ち切り
fam_p1_s4_r2_a42,0,7557.566,123,6,2,0,6587.968,969.5977,1,打ち切り
fam_p1_s4_r2_a42,0,7557.566,124,7,2,0,6622.832,934.7344,1,打ち切り
fam_p1_s4_r2_a42,0,7659.417,54,19,1,0,2832.258,4827.159,7,打ち切り
fam_p1_s4_r2_a42,0,7659.417,53,20,1,0,2796.172,4863.244,7,打ち切り
fam_p1_s4_r2_a42,0,7659.417,55,16,1,0,2858.333,4801.083,7,打ち切り
fam_p1_s4_r2_a42,0,8257.173,54,19,1,0,2832.258,5424.915,8,打ち切り
fam_p1_s4_r2_a42,0,8257.173,53,20,1,0,2796.172,5461,8,打ち切り
fam_p1_s4_r2_a42,0,8257.173,55,16,1,0,2858.333,5398.84,8,打ち切り
fam_p1_s4_r2_a42,0,8854.929,54,19,1,0,2832.258,6022.671,9,打ち切り
fam_p1_s4_r2_a42,0,8854.929,53,20,1,0,2796.172,6058.756,9,打ち切り
fam_p1_s4_r2_a42,0,8854.929,55,16,1,0,2858.333,5996.596,9,打ち切り
fam_p1_s4_r2_a42,0,9027.751,177,3,2,1,8429.995,597.7559,1,打ち切り
fam_p1_s4_r2_a42,0,9452.685,54,19,1,0,2832.258,6620.427,10,打ち切り
fam_p1_s4_r2_a42,0,9452.685,53,20,1,0,2796.172,6656.512,10,打ち切り
fam_p1_s4_r2_a42,0,9452.685,55,16,1,0,2858.333,6594.352,10,打ち切り
fam_p1_s4_r2_a42,0,9625.507,187,5,2,0,8903.438,722.0684,1,打ち切り
fam_p1_s4_r2_a42,0,9625.507,188,1,2,0,8909.764,715.7432,1,打ち切り
fam_p1_s4_r2_a42,0,9625.507,177,3,2,1,8429.995,1195.512,2,打ち切り
fam_p1_s4_r2_a42,0,10050.44,54,19,1,0,2832.258,7218.183,11,打ち切り
fam_p1_s4_r2_a42,0,10050.44,53,20,1,0,2796.172,7254.268,11,打ち切り
fam_p1_s4_r2_a42,0,10050.44,55,16,1,0,2858.333,7192.107,11,打ち切り
fam_p1_s4_r2_a42,0,10223.26,187,5,2,0,8903.438,1319.824,2,打ち切り
fam_p1_s4_r2_a42,0,10223.26,188,1,2,0,8909.764,1313.499,2,打ち切り
fam_p1_s4_r2_a42,0,10223.26,177,3,2,1,8429.995,1793.268,3,打ち切り
fam_p1_s4_r2_a42,0,10648.2,54,19,1,0,2832.258,7815.938,12,打ち切り
fam_p1_s4_r2_a42,0,10648.2,53,20,1,0,2796.172,7852.024,12,打ち切り
fam_p1_s4_r2_a42,0,10648.2,55,16,1,0,2858.333,7789.863,12,打ち切り
fam_p1_s4_r2_a42,0,10821.02,187,5,2,0,8903.438,1917.58,3,打ち切り
fam_p1_s4_r2_a42,0,10821.02,188,1,2,0,8909.764,1911.255,3,打ち切り
fam_p1_s4_r2_a42,0,10821.02,177,3,2,1,8429.995,2391.023,4,打ち切り
fam_p1_s4_r2_a42,0,11245.95,54,19,1,0,2832.258,8413.694,13,打ち切り
fam_p1_s4_r2_a42,0,11245.95,53,20,1,0,2796.172,8449.779,13,打ち切り
fam_p1_s4_r2_a42,0,11245.95,55,16,1,0,2858.333,8387.619,13,打ち切り
fam_p1_s4_r2_a42,0,11418.77,187,5,2,0,8903.438,2515.336,4,打ち切り
fam_p1_s4_r2_a42,0,11418.77,188,1,2,0,8909.764,2509.011,4,打ち切り
fam_p1_s4_r2_a42,0,11418.77,177,3,2,1,8429.995,2988.779,5,打ち切り
fam_p1_s4_r2_a42,0,11843.71,54,19,1,0,2832.258,9011.45,14,打ち切り
fam_p1_s4_r2_a42,0,11843.71,53,20,1,0,2796.172,9047.535,14,打ち切り
fam_p1_s4_r2_a42,0,11843.71,55,16,1,0,2858.333,8985.375,14,打ち切り
fam_p1_s4_r2_a42,0,12441.46,54,19,1,0,2832.258,9609.206,15,打ち切り
fam_p1_s4_r2_a42,0,12441.46,53,20,1,0,2796.172,9645.291,15,打ち切り
fam_p1_s4_r2_a42,0,12441.46,55,16,1,0,2858.333,9583.131,15,打ち切り
fam_p1_s4_r2_a42,0,13039.22,54,19,1,0,2832.258,10206.96,16,打ち切り
fam_p1_s4_r2_a42,0,13039.22,53,20,1,0,2796.172,10243.05,16,打ち切り
fam_p1_s4_r2_a42,0,13039.22,55,16,1,0,2858.333,10180.89,16,打ち切り
fam_p1_s4_r2_a42,0,13636.98,54,19,1,0,2832.258,10804.72,17,打ち切り
fam_p1_s4_r2_a42,0,13636.98,53,20,1,0,2796.172,10840.8,17,打ち切り
fam_p1_s4_r2_a42,0,13636.98,55,16,1,0,2858.333,10778.64,17,打ち切り
fam_p1_s4_r2_a42,0,14234.73,54,19,1,0,2832.258,11402.47,18,打ち切り
fam_p1_s4_r2_a42,0,14234.73,53,20,1,0,2796.172,11438.56,18,打ち切り
fam_p1_s4_r2_a42,0,14234.73,55,16,1,0,2858.333,11376.4,18,打ち切り
fam_p1_s4_r2_a42,0,14832.49,54,19,1,0,2832.258,12000.23,19,打ち切り
fam_p1_s4_r2_a42,0,14832.49,53,20,1,0,2796.172,12036.31,19,打ち切り
fam_p1_s4_r2_a42,0,14832.49,55,16,1,0,2858.333,11974.15,19,打ち切り
fam_p1_s4_r2_a42,0,15430.24,54,19,1,0,2832.258,12597.99,20,打ち切り
fam_p1_s4_r2_a42,0,15430.24,53,20,1,0,2796.172,12634.07,20,打ち切り
fam_p1_s4_r2_a42,0,15430.24,55,16,1,0,2858.333,12571.91,20,打ち切り
fam_p1_s4_r2_a42,0,16028,54,19,1,0,2832.258,13195.74,21,打ち切り
fam_p1_s4_r2_a42,0,16028,53,20,1,0,2796.172,13231.83,21,打ち切り
fam_p1_s4_r2_a42,0,16028,55,16,1,0,2858.333,13169.67,21,打ち切り
fam_p1_s4_r2_a42,0,16630.5,54,19,1,0,2832.258,13798.24,22,打ち切り
fam_p1_s4_r2_a42,0,16630.5,53,20,1,0,2796.172,13834.32,22,打ち切り
fam_p1_s4_r2_a42,0,16630.5,55,16,1,0,2858.333,13772.16,22,打ち切り
fam_p1_s4_r2_a42,0,17239.97,54,19,1,0,2832.258,14407.71,23,打ち切り
fam_p1_s4_r2_a42,0,17239.97,53,20,1,0,2796.172,14443.8,23,打ち切り
fam_p1_s4_r2_a42,0,17239.97,55,16,1,0,2858.333,14381.64,23,打ち切り
fam_p1_s4_r2_a42,0,17849.45,54,19,1,0,2832.258,15017.19,24,打ち切り
fam_p1_s4_r2_a42,0,17849.45,53,20,1,0,2796.172,15053.28,24,打ち切り
fam_p1_s4_r2_a42,0,17849.45,55,16,1,0,2858.333,14991.12,24,打ち切り
```

#### contacts.csv

```text
condition_id,seed,t_s,x,z,aisle,place,who,careless,robot_id,gap_cm
fam_p1_s4_r2_a42,0,0.02,15.2028,5.3034,,,スタッフ:Staff01,0,2,-26.8368
fam_p1_s4_r2_a42,0,0.02,15.3505,5.5063,,,スタッフ:Staff02,0,2,-9.0114
fam_p1_s4_r2_a42,0,0.02,15.422,6.25,,,スタッフ:Staff03,1,1,-12.6161
fam_p1_s4_r2_a42,0,0.02,15.5939,5.7531,,,スタッフ:Staff04,0,1,-9.6257
fam_p1_s4_r2_a42,0,554.6081,14.7581,5.9297,,,スタッフ:Staff01,0,1,9.2258
fam_p1_s4_r2_a42,0,570.8541,14.7592,5.9327,,,スタッフ:Staff02,0,1,9.1126
fam_p1_s4_r2_a42,0,593.0987,14.823,5.7097,,,スタッフ:Staff01,0,1,8.4107
fam_p1_s4_r2_a42,0,614.8434,14.8316,5.7129,,,スタッフ:Staff02,0,1,7.5001
fam_p1_s4_r2_a42,0,656.8331,14.7592,5.9327,,,スタッフ:Staff02,0,1,9.1126
fam_p1_s4_r2_a42,0,703.3718,14.853,5.7211,,,スタッフ:Staff02,1,1,5.2147
fam_p1_s4_r2_a42,0,711.0699,14.7592,5.9327,,,スタッフ:Staff02,0,1,9.1126
fam_p1_s4_r2_a42,0,749.3105,14.832,5.7121,,,スタッフ:Staff02,0,1,7.5004
fam_p1_s4_r2_a42,0,936.7148,1.5,7.4702,A01,,スタッフ:Staff02,0,1,9.9339
fam_p1_s4_r2_a42,0,998.3997,1.5091,5.2076,A01,,スタッフ:Staff02,0,1,9.1532
fam_p1_s4_r2_a42,0,1057.526,1.5,5.1998,A01,,スタッフ:Staff02,0,1,8.9295
fam_p1_s4_r2_a42,0,1100.618,2.0609,4.3891,,,客:Guest(Clone),0,1,-0.0816
fam_p1_s4_r2_a42,0,1433.643,2.0609,4.3891,,,客:Guest(Clone),0,1,-0.0816
fam_p1_s4_r2_a42,0,1468.477,2.141,4.4919,,,スタッフ:Staff04,0,1,-1.0745
fam_p1_s4_r2_a42,0,1812.313,14.989,2.3664,,,スタッフ:Staff03,0,1,-15.2576
fam_p1_s4_r2_a42,0,2221.362,1.5011,5.8597,A01,,客:Guest(Clone),0,2,9.664
fam_p1_s4_r2_a42,0,2233.323,1.5,9.5634,A01,,客:Guest(Clone),0,2,9.4758
fam_p1_s4_r2_a42,0,2280.219,1.41,4.3941,,,客:Guest(Clone),0,2,9.7917
fam_p1_s4_r2_a42,0,2308.296,1.897,4.4517,,,客:Guest(Clone),0,2,-0.4975
fam_p1_s4_r2_a42,0,2343.13,1.897,4.4517,,,客:Guest(Clone),0,2,-0.4975
fam_p1_s4_r2_a42,0,2657.737,1.897,4.4517,,,客:Guest(Clone),0,2,-0.4975
fam_p1_s4_r2_a42,0,2664.644,1.897,4.4517,,,客:Guest(Clone),0,2,-0.4975
fam_p1_s4_r2_a42,0,2709.838,1.6387,4.0573,,,スタッフ:Staff01,0,1,-7.3506
fam_p1_s4_r2_a42,0,2784.961,1.897,4.4517,,,客:Guest(Clone),0,2,-0.4975
fam_p1_s4_r2_a42,0,2806.532,9.9973,4.1634,,,スタッフ:Staff01,0,1,9.0932
fam_p1_s4_r2_a42,0,2889.914,1.7,10.3292,A01,,客:Guest(Clone),0,1,-0.0139
fam_p1_s4_r2_a42,0,3084.754,1.5026,6.3886,A01,,スタッフ:Staff02,0,1,9.769
fam_p1_s4_r2_a42,0,3085.204,6.1783,4.0447,,,客:Guest(Clone),1,2,8.5236
fam_p1_s4_r2_a42,0,3210.677,14.7155,6.25,,,スタッフ:Staff04,0,2,9.6706
fam_p1_s4_r2_a42,0,3232.048,14.7164,6.25,,,スタッフ:Staff04,0,2,9.6193
fam_p1_s4_r2_a42,0,3254.169,14.7158,6.25,,,スタッフ:Staff03,0,2,9.6536
fam_p1_s4_r2_a42,0,3271.036,14.7183,6.25,,,スタッフ:Staff02,0,2,9.515
fam_p1_s4_r2_a42,0,3299.764,15.3108,6.25,,,スタッフ:Staff02,0,2,8.1596
fam_p1_s4_r2_a42,0,3305.169,14.7181,6.25,,,スタッフ:Staff03,0,2,9.525
fam_p1_s4_r2_a42,0,3326.89,14.7164,6.25,,,スタッフ:Staff03,0,2,9.6193
fam_p1_s4_r2_a42,0,3360.273,14.7565,6.2379,,,スタッフ:Staff03,0,2,6.4183
fam_p1_s4_r2_a42,0,3362.175,14.7149,6.25,,,スタッフ:Staff02,0,2,9.7093
fam_p1_s4_r2_a42,0,3391.053,14.713,6.25,,,スタッフ:Staff04,0,2,9.8146
fam_p1_s4_r2_a42,0,3403.465,15.3179,6.25,,,スタッフ:Staff02,0,2,8.5442
fam_p1_s4_r2_a42,0,3450.561,14.715,6.25,,,スタッフ:Staff02,0,2,9.7038
fam_p1_s4_r2_a42,0,3478.038,14.8191,6.2266,,,スタッフ:Staff02,0,1,9.716
fam_p1_s4_r2_a42,0,3568.676,9.8073,4.55,,,スタッフ:Staff01,0,1,8.8065
fam_p1_s4_r2_a42,0,3617.223,9.5981,4.0188,,,客:Guest(Clone),1,1,9.7119
fam_p1_s4_r2_a42,0,3621.678,6.1195,4.0232,,,客:Guest(Clone),1,2,8.6674
fam_p1_s4_r2_a42,0,3639.896,9.7991,4.55,,,スタッフ:Staff01,0,1,9.5057
fam_p1_s4_r2_a42,0,3648.104,9.3845,4.55,,,客:Guest(Clone),0,1,-32.8954
fam_p1_s4_r2_a42,0,3651.607,9.8334,4.55,,,スタッフ:Staff01,0,1,9.4291
fam_p1_s4_r2_a42,0,3679.284,8.8786,4.113,,,スタッフ:Staff03,0,1,9.7602
fam_p1_s4_r2_a42,0,3689.194,9.8331,4.55,,,スタッフ:Staff02,0,1,9.7516
fam_p1_s4_r2_a42,0,3806.408,8.8669,4.1213,,,スタッフ:Staff04,0,1,8.9735
fam_p1_s4_r2_a42,0,3829.981,9.312,4.962,A03,,スタッフ:Staff01,0,1,5.1508
fam_p1_s4_r2_a42,0,3876.426,9.1825,4.4768,,,スタッフ:Staff02,0,1,-33.6815
fam_p1_s4_r2_a42,0,3950.348,9.7787,4.55,,,スタッフ:Staff03,0,1,8.7079
fam_p1_s4_r2_a42,0,4059.605,10.5748,4.55,,,スタッフ:Staff01,0,2,9.8186
fam_p1_s4_r2_a42,0,4255.864,9.9014,4.55,,,スタッフ:Staff03,0,2,-0.0001
fam_p1_s4_r2_a42,0,4375.594,9.9014,4.55,,,スタッフ:Staff03,0,2,-0.0001
fam_p1_s4_r2_a42,0,4390.635,9.8867,4.55,,,スタッフ:Staff03,0,2,0.8751
fam_p1_s4_r2_a42,0,4525.257,10.7333,4.55,,,スタッフ:Staff04,0,1,0
fam_p1_s4_r2_a42,0,5065.987,9.3869,4.55,,,客:Guest(Clone),0,1,-33.6512
fam_p1_s4_r2_a42,0,5124.458,9.7175,4.1224,,,客:Guest(Clone),0,1,8.9708
fam_p1_s4_r2_a42,0,5169.182,9.3834,4.55,,,客:Guest(Clone),1,1,-32.5159
fam_p1_s4_r2_a42,0,5175.956,9.3859,4.55,,,客:Guest(Clone),0,1,-33.3411
fam_p1_s4_r2_a42,0,5243.292,9.7466,4.114,,,客:Guest(Clone),0,2,9.688
fam_p1_s4_r2_a42,0,5259.428,9.3844,4.55,,,客:Guest(Clone),0,1,-32.8537
fam_p1_s4_r2_a42,0,5325.868,9.3096,4.55,,,客:Guest(Clone),0,2,-2.793
fam_p1_s4_r2_a42,0,5506.509,9.8245,4.55,,,スタッフ:Staff04,0,1,9.8967
fam_p1_s4_r2_a42,0,5543.863,5.5098,4.55,,,客:Guest(Clone),0,2,-23.4139
fam_p1_s4_r2_a42,0,5543.863,5.8023,4.55,,,客:Guest(Clone),0,2,-14.0001
fam_p1_s4_r2_a42,0,5564.681,9.8039,4.55,,,スタッフ:Staff04,0,1,8.5872
fam_p1_s4_r2_a42,0,5633.611,5.2037,4.5375,,,客:Guest(Clone),0,2,-3.4056
fam_p1_s4_r2_a42,0,5635.404,9.8061,4.55,,,スタッフ:Staff04,0,1,8.9108
fam_p1_s4_r2_a42,0,6094.952,9.8098,4.55,,,スタッフ:Staff01,0,2,0
fam_p1_s4_r2_a42,0,6249.247,10.4672,3.8921,,,スタッフ:Staff02,1,2,9.812
fam_p1_s4_r2_a42,0,6551.262,5.3903,4.55,,,スタッフ:Staff01,0,2,7.2683
fam_p1_s4_r2_a42,0,6830.368,9.8035,4.55,,,スタッフ:Staff04,0,1,8.5739
fam_p1_s4_r2_a42,0,6899.148,7.9203,4.0793,,,客:Guest(Clone),1,2,9.479
fam_p1_s4_r2_a42,0,6903.83,9.7907,4.55,,,スタッフ:Staff03,0,1,8.0207
fam_p1_s4_r2_a42,0,7012.454,6.1213,3.5627,,,スタッフ:Staff02,1,2,7.8411
fam_p1_s4_r2_a42,0,7111.465,8.7748,4.55,,,スタッフ:Staff02,0,1,8.9336
fam_p1_s4_r2_a42,0,7244.494,9.7894,4.55,,,スタッフ:Staff04,0,1,9.4535
fam_p1_s4_r2_a42,0,7280.453,9.8062,4.55,,,スタッフ:Staff04,0,1,8.9148
fam_p1_s4_r2_a42,0,7342.161,9.8062,4.55,,,スタッフ:Staff04,0,1,8.9147
fam_p1_s4_r2_a42,0,7443.663,9.8032,4.55,,,スタッフ:Staff04,0,1,8.4026
fam_p1_s4_r2_a42,0,7469.163,9.521,3.8121,,,客:Guest(Clone),0,1,9.4594
fam_p1_s4_r2_a42,0,7545.065,9.7261,4.55,,,スタッフ:Staff03,0,1,9.4819
fam_p1_s4_r2_a42,0,7609.164,9.6105,3.8283,,,スタッフ:Staff04,0,1,9.2296
fam_p1_s4_r2_a42,0,7609.313,9.7387,4.55,,,スタッフ:Staff03,0,1,8.1743
fam_p1_s4_r2_a42,0,7611.504,9.3801,4.55,,,客:Guest(Clone),0,1,-31.3146
fam_p1_s4_r2_a42,0,7624.205,9.7842,4.55,,,スタッフ:Staff03,0,1,8.4495
fam_p1_s4_r2_a42,0,7688.901,9.8457,4.55,,,スタッフ:Staff03,0,1,9.6797
fam_p1_s4_r2_a42,0,7718.833,9.3792,4.55,,,客:Guest(Clone),0,1,-31.1556
fam_p1_s4_r2_a42,0,7723.963,9.312,4.962,A03,,スタッフ:Staff03,0,1,6.8715
fam_p1_s4_r2_a42,0,7741.644,9.312,4.962,A03,,スタッフ:Staff02,0,1,5.389
fam_p1_s4_r2_a42,0,7742.989,9.3826,4.55,,,客:Guest(Clone),0,1,-32.2176
fam_p1_s4_r2_a42,0,7748.567,9.3826,4.55,,,客:Guest(Clone),0,1,-32.2176
fam_p1_s4_r2_a42,0,7762.96,9.8325,4.55,,,客:Guest(Clone),0,1,9.6904
fam_p1_s4_r2_a42,0,7799.816,9.815,4.55,,,客:Guest(Clone),0,1,9.3386
fam_p1_s4_r2_a42,0,7815.853,12.6,9.9044,,,スタッフ:Staff03,0,2,9.4572
fam_p1_s4_r2_a42,0,7817.895,12.608,10.2943,,,スタッフ:Staff03,0,2,8.7823
fam_p1_s4_r2_a42,0,8046.548,9.7893,4.55,,,スタッフ:Staff03,0,1,9.4479
fam_p1_s4_r2_a42,0,8112.589,9.7934,4.55,,,スタッフ:Staff03,0,1,9.834
fam_p1_s4_r2_a42,0,8161.448,7.9824,4.0066,,,スタッフ:Staff02,1,2,9.0131
fam_p1_s4_r2_a42,0,8257.223,15.5545,5.4628,,,客:Guest(Clone),0,1,9.9675
fam_p1_s4_r2_a42,0,8311.111,9.7941,4.55,,,スタッフ:Staff01,0,1,8.3012
fam_p1_s4_r2_a42,0,8328.443,15.6271,5.5194,,,客:Guest(Clone),0,2,9.07
fam_p1_s4_r2_a42,0,8369.283,9.8039,4.55,,,スタッフ:Staff03,0,1,8.5869
fam_p1_s4_r2_a42,0,8408.181,9.387,4.55,,,客:Guest(Clone),0,1,-33.6881
fam_p1_s4_r2_a42,0,8417.693,9.384,4.55,,,客:Guest(Clone),0,1,-32.7272
fam_p1_s4_r2_a42,0,8418.59,15.5661,5.4754,,,客:Guest(Clone),0,2,9.417
fam_p1_s4_r2_a42,0,8419.586,14.8022,5.7596,,,スタッフ:Staff03,0,2,8.3011
fam_p1_s4_r2_a42,0,8473.524,9.312,4.962,A03,,スタッフ:Staff02,0,1,4.905
fam_p1_s4_r2_a42,0,8657.652,8.8708,4.1525,,,客:Guest(Clone),1,1,8.6495
fam_p1_s4_r2_a42,0,8708.403,9.3865,4.55,,,客:Guest(Clone),0,1,-33.5342
fam_p1_s4_r2_a42,0,9437.494,9.3781,4.55,,,客:Guest(Clone),0,1,-33.1513
fam_p1_s4_r2_a42,0,9790.958,10.7464,4.55,,,スタッフ:Staff02,0,1,7.8995
fam_p1_s4_r2_a42,0,10015.68,10.7498,4.55,,,スタッフ:Staff02,0,1,7.5801
fam_p1_s4_r2_a42,0,10125.6,9.7076,4.55,,,スタッフ:Staff01,0,1,8.9234
fam_p1_s4_r2_a42,0,10385.18,8.9088,4.55,,,スタッフ:Staff04,0,1,-0.0001
fam_p1_s4_r2_a42,0,10519.55,9.7652,4.124,,,スタッフ:Staff04,0,1,9.3898
fam_p1_s4_r2_a42,0,10779.93,9.5806,3.8827,,,スタッフ:Staff03,0,1,8.5317
fam_p1_s4_r2_a42,0,11435.11,9.8202,4.55,,,スタッフ:Staff03,0,1,9.5366
fam_p1_s4_r2_a42,0,11516.09,9.7995,4.55,,,スタッフ:Staff03,0,1,9.3701
fam_p1_s4_r2_a42,0,11702.71,9.7865,4.55,,,スタッフ:Staff03,0,1,7.8971
fam_p1_s4_r2_a42,0,12127.2,15.4709,5.4441,,,スタッフ:Staff03,0,2,8.3952
fam_p1_s4_r2_a42,0,12140.25,15.4696,5.4532,,,スタッフ:Staff03,0,2,7.5001
fam_p1_s4_r2_a42,0,12179.04,14.8057,5.7104,,,スタッフ:Staff04,0,2,9.9361
fam_p1_s4_r2_a42,0,12211.81,14.7764,5.9889,,,スタッフ:Staff04,0,2,7.5004
fam_p1_s4_r2_a42,0,12304.8,14.7694,5.9474,,,スタッフ:Staff03,0,2,8.0571
fam_p1_s4_r2_a42,0,12323.78,15.4403,5.4327,,,スタッフ:Staff03,0,2,8.6
fam_p1_s4_r2_a42,0,12342.35,14.8279,5.7202,,,スタッフ:Staff01,0,2,7.5006
fam_p1_s4_r2_a42,0,12375.47,14.7707,5.9501,,,スタッフ:Staff04,0,2,7.9329
fam_p1_s4_r2_a42,0,12394.1,14.7655,6.0112,,,スタッフ:Staff04,0,2,8.8042
fam_p1_s4_r2_a42,0,12429.56,14.8279,5.7204,,,スタッフ:Staff01,0,2,7.5005
fam_p1_s4_r2_a42,0,12640.43,14.827,5.7198,,,スタッフ:Staff03,0,2,7.6082
fam_p1_s4_r2_a42,0,12675.4,14.8056,5.7091,,,スタッフ:Staff03,0,2,9.9997
fam_p1_s4_r2_a42,0,12706.42,15.4832,5.4314,,,スタッフ:Staff01,0,2,9.9998
fam_p1_s4_r2_a42,0,12717.23,15.4795,5.4413,,,スタッフ:Staff01,0,2,8.9425
fam_p1_s4_r2_a42,0,12951.71,14.7655,6.0112,,,スタッフ:Staff01,0,2,8.8042
fam_p1_s4_r2_a42,0,12960.78,14.7697,6.011,,,スタッフ:Staff01,0,2,8.3772
fam_p1_s4_r2_a42,0,13063.97,14.7669,5.9414,,,スタッフ:Staff01,0,2,8.3217
fam_p1_s4_r2_a42,0,13089.67,14.81,5.7082,,,スタッフ:Staff01,0,2,9.6413
fam_p1_s4_r2_a42,0,13390.19,14.7694,5.9474,,,スタッフ:Staff03,0,2,8.0571
fam_p1_s4_r2_a42,0,13430.04,14.7755,5.9739,,,スタッフ:Staff01,0,2,7.5001
fam_p1_s4_r2_a42,0,13434.47,14.8056,5.7091,,,スタッフ:Staff03,0,2,9.9996
fam_p1_s4_r2_a42,0,13453.2,14.7765,5.9897,,,スタッフ:Staff01,0,2,7.5002
fam_p1_s4_r2_a42,0,13736.39,15.4697,5.4427,,,スタッフ:Staff01,0,2,8.4977
fam_p1_s4_r2_a42,0,13751.63,15.4661,5.452,,,スタッフ:Staff01,0,2,7.5002
fam_p1_s4_r2_a42,0,14125.81,8.893,3.9059,,,スタッフ:Staff01,0,1,9.0648
fam_p1_s4_r2_a42,0,14719.13,14.8054,5.7095,,,スタッフ:Staff01,0,2,9.9996
fam_p1_s4_r2_a42,0,14749.01,14.8054,5.7094,,,スタッフ:Staff01,0,2,9.9996
```

### 3回目（cs:122）：20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_0913

#### summary.json

```json
{
  "run_name": "family_v0",
  "written_at": "2026-10-23 09:27:34",
  "note": "speed_mps = distance_m / (total_s - stopped_s)。stopped_s には、動けなくなった60秒と、スタッフを待った秒数（stuck_wait_s）、通路の入口で待った秒数も入る。pause_s は stop_durations_s（自分で動き出した止まりだけ）の分布。site_metrics はサイトの meta.metrics と同じ名前・同じ定義。入店待ちの分け方もサイトの試算と同じで、blocked_wait は片付け待ちの卓の数だけ待っている列の前から順に足した分、full_wait は seat_wait − blocked_wait、staff_wait は blocked_wait + guide_wait。pauses と rescues は、サイト側が unity_measures の仮の値から出した数なので出どころが違う。",
  "sim_like": {"dish_wait_mean": 5.8791, "dish_wait_p90": 14.2694, "cold_share": 0.6311, "seat_wait_mean": 10.1117, "turn_mean": 5.2596, "robot_share": 0.32, "robot_dishes": 72, "staff_dishes": 153, "requeued_dishes": 15, "groups": 91, "people_jams": 2961, "robot_blocked_jams": 2092, "robot_blocked_jam_share": 0.7065, "chair_pulls": 176, "robot_contacts": 168, "robot_yield_waits": 495, "robot_yield_wait_s": 3697.181, "robot_yield_detours": 5, "register_crowd_max": 9, "register_crowd_mean": 2.0796, "register_pay_count": 68, "register_pay_not_at_back": 0, "register_pay_off_spot": 14, "register_pay_offset_mean_m": 0.0498, "register_pay_offset_max_m": 0.2494, "register_back_intruders": 0, "register_back_intruder_s": 0, "drink_bar_queued": 37, "drink_bar_gave_up": 10, "drink_bar_wait_mean": 0.5586, "drink_bar_wait_p90": 0.9965, "gave_up": 209, "warped": 105, "table_freed": 63, "people_jam_total_s": 4957.568, "walkers_mean": 10.9853, "measured_minutes": 221.5047},
  "site_metrics": {"entry_wait_mean": 13.5686, "full_wait_mean": 6.7449, "staff_wait_mean": 5.5502, "blocked_wait_mean": 3.3668, "guide_wait_mean": 2.1834, "seat_wait_mean": 10.1117, "dish_wait_mean": 5.8791, "dish_wait_p90": 14.2694, "cold_share": 0.6311, "turn_mean": 5.2596, "walk_km_per_staff": 3.0323, "staff_util": 0.822, "robot_util": 0.749, "robot_share": 0.32, "rescues": 134, "pauses": 174, "groups": 91},
  "site_run": {"site_run": true, "condition_id": "fam_p1_s4_r2_a42", "arrivals_minutes": 120, "total_minutes": 221.5047, "everyone_left": true, "rescues_done": 126, "rescue_wait_s": 4929.198, "gave_up": 209, "warped": 105, "table_freed": 63},
  "site_result": {"dish_wait_mean": 0.4568, "dish_wait_p90": 0.8167, "cold_share": 0, "seat_wait_mean": 0.6083, "turn_mean": 4.3928, "walk_km_per_staff": 1.872, "staff_util": 0.6436, "robot_util": 0.4764, "robot_share": 0.7257, "robot_bus_share": 0, "collects": 0, "rescues": 1.475, "pauses": 41.625, "fragile_robot": 31.9, "groups": 82.1, "entry_wait_mean": 1.0194, "blocked_wait_mean": 0.5116, "guide_wait_mean": 0.2337, "staff_wait_mean": 0.7453, "full_wait_mean": 0.0967},
  "staff_time_s": {"待機": 9470.724, "案内": 9172.712, "料理": 13698.31, "立ち往生": 3925.854, "呼び出し": 3457.598, "会計": 6586.205, "片付け": 6893.4},
  "dish_wait_parts": {"robot": {"dishes": 72, "pass_wait_mean_min": 1.5589, "carry_mean_min": 7.9904, "requeue_lost_mean_min": 2.2087, "total_mean_min": 11.758, "requeued_per_dish": 0.2083, "requeued_total": 15}, "staff": {"dishes": 153, "pass_wait_mean_min": 1.9225, "carry_mean_min": 0.6181, "requeue_lost_mean_min": 0.5719, "total_mean_min": 3.1125, "requeued_per_dish": 0, "requeued_total": 0}, "all": {"dishes": 225, "pass_wait_mean_min": 1.8062, "carry_mean_min": 2.9772, "requeue_lost_mean_min": 1.0957, "total_mean_min": 5.8791, "requeued_per_dish": 0.0667, "requeued_total": 15}},
  "job_wait_mean_s": {"案内": 138.5284, "料理": 143.2394, "立ち往生": 19.851, "呼び出し": 119.7529, "会計": 117.7262, "片付け": 222.4107},
  "staff_time_share": {"待機": 0.178, "案内": 0.1724, "料理": 0.2575, "立ち往生": 0.0738, "呼び出し": 0.065, "会計": 0.1238, "片付け": 0.1296},
  "stops": {"count": 312, "stuck_count": 134, "partial_path_count": 0},
  "stop_causes": [
    {"cause": "分からない", "count": 37, "total_s": 219.298, "mean_s": 5.927, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 3, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "通路の順番待ち", "count": 4, "total_s": 1206.819, "mean_s": 301.7047, "longest_s": 575.9329, "path_blocked_count": 0, "stuck_count": 0, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "もう1台のロボット", "count": 105, "total_s": 5374.942, "mean_s": 51.1899, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 80, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "人が立ち止まっていた", "count": 65, "total_s": 2412.027, "mean_s": 37.1081, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 30, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "スタッフとすれ違った", "count": 64, "total_s": 1378.138, "mean_s": 21.5334, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 15, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "お客さんとすれ違った", "count": 31, "total_s": 470.2461, "mean_s": 15.1692, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 6, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "椅子・荷物・ベビーカー", "count": 6, "total_s": 2.85, "mean_s": 0.475, "longest_s": 0.5, "path_blocked_count": 0, "stuck_count": 0, "partial_path_count": 0, "no_path_total_s": 0}
  ],
  "conditions": [
    {"condition_id": "fam_p1_s4_r2_a42", "aisle_width_m": 1.2, "crowd": "normal", "robots": 2, "trips": 41, "robot_speed_mps_median": 0.5652, "stopped_s_median": 535.2429, "stopped_s_p90": 586.6803, "pause_s_median": 1.875, "pause_s_p90": 36.8347, "pause_count": 174, "wait_aisle_s_median": 0, "stuck_rate": 0.7073, "stuck_count": 29, "timeout_rate": 0.6585, "timeout_count": 27, "pause_rate": 1, "met_robot_rate": 0.6829}
  ]
}
```

#### run_info.json

```json
{
  "run_label": "site_v5",
  "written_at": "2026-10-23 09:27:34",
  "condition_id": "fam_p1_s4_r2_a42",
  "store_kind": "StoreLayout_p1_efficient_corner",
  "time_mode": "FixedStep",
  "time_scale": 1,
  "capture_delta_time": 0.05,
  "aisle_width_m": 1.2,
  "delivery_offset_m": 0,
  "delivery_offset_used_m": 0,
  "crowd": "normal",
  "robots": 2,
  "seed": 0,
  "trips_requested": 0,
  "trips_done": 41,
  "stopped_early": false,
  "sim_seconds": 13290.29,
  "wall_seconds": 836.9855,
  "speedup": 15.8788,
  "frame_delta_s": {"count": 266471, "mean": 0.0499, "min": 0.02, "p50": 0.05, "p90": 0.05, "p99": 0.05, "max": 0.05},
  "robot_step_m": {"count": 266471, "mean": 0.0036, "min": 0, "p50": 0, "p90": 0.03, "p99": 0.03, "max": 0.03},
  "people_step_m": {"count": 266471, "mean": 0.0561, "min": 0, "p50": 0.0456, "p90": 0.05, "p99": 0.05, "max": 21.6723},
  "frames_over_005m": 0,
  "frames_over_005m_ratio": 0,
  "people_frames_over_005m": 65682,
  "people_frames_over_005m_ratio": 0.2465,
  "chair_pulls": 176,
  "chair_pulls_by_reason": {"座る": 18, "食事中": 43, "ドリンクバー": 44, "戻って座る": 33, "会計": 16, "退店": 16, "トイレ": 6}
}
```

#### trips.csv

```text
condition_id,aisle_width_m,crowd,robots,seed,robot_id,trip_id,table_id,distance_m,total_s,stopped_s,n_stops,stop_durations_s,stuck,timeout,wait_aisle_s,max_decel_mps2,min_clearance_m,met_robot,table_ids,dishes,dish_ready_s,dish_arrived_s,undelivered,speed_mps,stuck_count,stuck_wait_s,via_narrow,stops_in_narrow,stops_out_narrow,stopped_in_narrow_s,stopped_out_narrow_s
fam_p1_s4_r2_a42,1.2,normal,2,0,2,1,2,13.4925,600.027,576.8827,1,0.95,0,1,575.9329,1,0.0041,0,2,0,,,0,0.583,0,0,0,0,2,0,576.8829
fam_p1_s4_r2_a42,1.2,normal,2,0,1,2,3,20.9251,600.027,564.2858,2,1.2;9.7,1,1,0,1,-0.3976,1,3,0,,,0,0.5855,6,193.1572,0,0,8,0,371.1963
fam_p1_s4_r2_a42,1.2,normal,2,0,2,3,36,18.9375,600.027,566.9851,2,4.5;0.85,0,1,561.6364,1,0.0019,1,36;2;6,1,858.7338,-1,1,0.5731,0,0,0,0,3,0,566.9864
fam_p1_s4_r2_a42,1.2,normal,2,0,1,4,34,28.1702,600.027,550.2892,5,1;1.2;1.2;1.4;2,1,1,0,1,-0.0691,1,34;5;7,1,834.0399,1519.677,0,0.5664,6,183.2566,0,0,11,0,367.0962
fam_p1_s4_r2_a42,1.2,normal,2,0,1,5,37,14.2675,26.8499,1.65,2,0.95;0.7,0,0,0,1,0.349,0,37;37;39,3,1413.273;1440.55;1473.432,2195.586;2195.586;2195.586,0,0.5662,0,0,0,0,2,0,1.65
fam_p1_s4_r2_a42,1.2,normal,2,0,2,6,38,44.0998,219.2588,141.9041,6,0.95;0.5;2.3;10.65;26.8999;1.05,1,0,0,1,0.0374,0,38;2;6,3,1323.886;858.7338;1357.519,2145.087;-1;-1,2,0.5701,1,39.4997,0,0,7,0,102.3993
fam_p1_s4_r2_a42,1.2,normal,2,0,1,7,38,37.5601,132.1035,65.6494,6,0.95;0.75;1.8;58.0494;1.1;3,0,0,0,1,0.1503,1,38;40;10,3,2139.932;2187.178;2027.222,2297.686;2297.686;2297.686,0,0.5652,0,0,0,0,6,0,65.6494
fam_p1_s4_r2_a42,1.2,normal,2,0,2,8,41,36.2551,240.2101,176.7562,5,2;0.45;21.85;18.85;46.6996,1,0,0,1,0.028,0,41;13,3,2025.17;858.7338;1357.519,2439.775;2439.775;2439.775,0,0.5714,1,26.8499,0,0,6,0,149.8989
fam_p1_s4_r2_a42,1.2,normal,2,0,1,9,39,30.6702,600.027,545.0405,7,0.95;0.45;0.9;15.55;6.15;23.3499;24.5499,1,1,0,1,0.0281,1,39;14,3,2281.921;2226.016;2236.476,2505.138;2505.138;2505.138,0,0.5578,3,293.052,0,0,10,0,252.048
fam_p1_s4_r2_a42,1.2,normal,2,0,2,10,19,13.275,600.027,575.9329,4,0.95;1.6;2.05;24.2999,1,1,66.0494,1,-0.0034,1,19;15;8,2,2361.849;2414.1,2730.358;2730.358,0,0.551,4,240.8601,0,0,9,0,335.1469
fam_p1_s4_r2_a42,1.2,normal,2,0,1,11,15,39.6775,600.027,528.0946,10,0.95;44.0996;17.45;1.55;33.6498;9.65;1.6;4.4;1.15;59.2494,1,1,0,1,-0.1774,1,15;17;8,2,2504.087;2490.474,3155.973;3155.973,0,0.5516,4,114.2024,0,0,14,0,413.9463
fam_p1_s4_r2_a42,1.2,normal,2,0,1,12,42,24.0151,41.7997,0.95,1,0.95,0,0,0,0,0.2624,0,42;31,3,2948.821;2963.536;2930.954,3831.883;3831.883;3831.883,0,0.5879,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,1,13,32,11.07,21.65,2.1,2,0.95;1.15,0,0,0,1,0.2711,0,32,2,3820.772;3830.832,3923.873;3923.873,0,0.5662,0,0,0,0,2,0,2.1
fam_p1_s4_r2_a42,1.2,normal,2,0,2,14,27,45.3048,600.027,517.4972,12,0.95;0.95;2.4;1.15;20;12;1.2;2.85;5.5;0.75;1.3;2.7,1,1,3.2,1,0.0075,0,27;15;8,3,2676.606;2671.901;2689.819,3356.119;-1;-1,2,0.549,4,222.409,0,0,17,0,295.1475
fam_p1_s4_r2_a42,1.2,normal,2,0,1,15,36,6.975,600.027,587.5301,3,0.95;1.45;57.1494,1,1,0,1,-0.0979,1,36,1,3934.733,3981.479,0,0.5581,6,167.7556,0,0,9,0,419.8456
fam_p1_s4_r2_a42,1.2,normal,2,0,2,16,42,9.99,437.6167,419.871,2,6;18.3,1,0,0,1,-0.45,1,42,3,3134.953;2671.901;2689.819,4032.028;4032.028;4032.028,0,0.563,5,95.3512,0,0,7,0,324.5469
fam_p1_s4_r2_a42,1.2,normal,2,0,1,17,35,15.46,600.027,572.0339,3,8.25;1.55;2.85,1,1,0,1,-0.0641,1,35;24;41,1,3992.89,4616.101,0,0.5523,4,319.2456,0,0,7,0,252.8475
fam_p1_s4_r2_a42,1.2,normal,2,0,2,18,4,6,600.027,588.3299,3,0.95;48.8995;39.7997,1,1,0,1,-0.4095,1,4,1,4254.967,4715.86,0,0.5129,5,198.5075,0,0,8,0,389.8961
fam_p1_s4_r2_a42,1.2,normal,2,0,1,19,41,48.5872,600.027,516.0975,5,0.95;0.5;2.2;9.7;5.15,1,1,0,1,-0.0296,1,41;22;3,3,4520.327;4579.046;4513.553,5263.761;5263.761;-1,1,0.5789,4,257.4607,0,0,9,0,258.6975
fam_p1_s4_r2_a42,1.2,normal,2,0,2,20,37,35.9826,600.027,535.1929,10,0.95;0.85;1.8;25.6999;3.75;10.2;1.9;2.75;43.1996;12.55,1,1,0,1,-0.0118,1,37;4,1,4627.506,-1,1,0.555,4,191.4071,0,0,14,0,343.847
fam_p1_s4_r2_a42,1.2,normal,2,0,2,21,6,7.32,600.027,586.6803,2,0.95;53.5495,1,1,0,1,-0.0368,1,6,2,5306.195;4627.506,6001.468;6001.468,0,0.5484,6,171.9559,0,0,8,0,414.7957
fam_p1_s4_r2_a42,1.2,normal,2,0,1,22,23,20.5075,600.027,562.1863,6,0.95;1.2;0.95;24.8499;41.4997;1.05,1,1,0,1,0.0016,1,23;10;10,3,4513.553;5090.042;5132.924,5936.374;5936.374;5936.374,0,0.5419,5,191.5071,0,0,11,0,370.7464
fam_p1_s4_r2_a42,1.2,normal,2,0,1,23,33,33.7302,110.2021,51.4995,4,1.85;3.65;44.8996;1.1,0,0,0,1,0.0228,0,33;42;24,3,5869.336;5856.387;5890.105,6608.986;6608.986;6608.986,0,0.5746,0,0,0,0,4,0,51.4996
fam_p1_s4_r2_a42,1.2,normal,2,0,1,24,38,32.0403,118.9527,62.2493,5,0.95;2.25;1.25;56.6994;1.1,0,0,0,1,0.0241,0,38;39;20,3,6507.484;6487.612;6585.08,6793.612;6793.612;6793.612,0,0.5651,0,0,0,0,5,0,62.2494
fam_p1_s4_r2_a42,1.2,normal,2,0,2,25,34,34.0053,600.027,539.1919,7,0.95;19.4;1.8;21.9;2.6;1.1;6.6,1,1,0,1,0.0361,1,34;23;6,1,5948.924,-1,1,0.559,5,184.6567,0,0,12,0,354.5968
fam_p1_s4_r2_a42,1.2,normal,2,0,2,26,30,11.37,27.7499,8.25,1,8.25,0,0,0,0,0.253,1,30,3,6389.148;6385.363;5948.924,7271.836;7271.836;7271.836,0,0.5831,0,0,0,0,1,0,8.25
fam_p1_s4_r2_a42,1.2,normal,2,0,1,27,33,36.7477,600.027,535.2429,7,0.95;3.95;1.65;1.7;4.65;1.55;57.4494,1,1,0,1,0.0022,1,33;26;14,3,6718.058;6649.477;6656.599,6986.954;6986.954;6986.954,0,0.5672,5,163.1553,0,0,12,0,372.1462
fam_p1_s4_r2_a42,1.2,normal,2,0,2,28,11,5.1,600.027,590.3794,2,0.95;46.0496,1,1,0,1,-0.0644,1,11,1,7273.032,7325.625,0,0.5286,5,243.2102,0,0,7,0,347.2465
fam_p1_s4_r2_a42,1.2,normal,2,0,1,29,31,46.4172,600.027,519.3967,6,0.95;59.4494;1.15;0.5;1.45;24.8499,1,1,0,1,0.0514,1,31;41;17,3,6875.59;6906.868;6868.169,7659.566;7659.566;7659.566,0,0.5757,4,190.907,0,0,10,0,328.5468
fam_p1_s4_r2_a42,1.2,normal,2,0,2,30,22,48.3022,600.027,515.5977,6,0.95;1.15;30.6998;1.55;4.25;1.2,1,1,0,1,-0.0113,1,22;15;11,1,7335.537,-1,1,0.5721,5,175.6061,0,0,11,0,340.0467
fam_p1_s4_r2_a42,1.2,normal,2,0,1,31,1,0,600.027,599.9771,1,22.4499,1,1,0,0,-0.45,1,1,3,7464.481;7461.144;7469.461,8332.179;8332.179;8332.179,0,0,7,157.255,0,0,8,0,442.7956
fam_p1_s4_r2_a42,1.2,normal,2,0,2,32,23,12.75,501.1012,478.7566,2,10.8;1.85,1,0,0,1,-0.45,1,23,3,7698.463;7641.636;7335.537,8605.905;8605.905;8605.905,0,0.5706,5,165.9055,0,0,7,0,312.8969
fam_p1_s4_r2_a42,1.2,normal,2,0,2,33,35,37.6201,80.2503,15.9,3,0.95;0.45;14.5,0,0,0,1,-0.0221,0,35;39;26,1,8585.037,9130.05,0,0.5846,0,0,0,0,3,0,15.9
fam_p1_s4_r2_a42,1.2,normal,2,0,2,34,17,30.8403,54.5495,2.05,2,0.95;1.1,0,0,0,1,0.3,0,17,3,8923.908;8951.45;8966.143,9284.843;9284.843;9284.843,0,0.5874,0,0,0,0,2,0,2.05
fam_p1_s4_r2_a42,1.2,normal,2,0,2,35,36,7.86,15.95,2.3,1,2.3,0,0,0,0,0.2191,0,36,1,9293.907,9373.196,0,0.5758,0,0,0,0,1,0,2.3
fam_p1_s4_r2_a42,1.2,normal,2,0,1,36,34,24.8327,600.027,555.8878,4,1.2;20.6;4.65;1.6,1,1,0,1,-0.0114,1,34;30;1,1,8479.85,-1,1,0.5626,5,227.6593,0,0,9,0,328.2968
fam_p1_s4_r2_a42,1.2,normal,2,0,2,37,3,9.12,600.027,583.681,2,0.95;1.8,1,1,0,1,-0.2553,1,3,1,9398.995,9439.835,0,0.5579,5,280.755,0,0,7,0,302.9969
fam_p1_s4_r2_a42,1.2,normal,2,0,1,38,12,9.18,600.027,583.0312,4,0.95;42.5996;2.05;52.6495,1,1,0,1,-0.0303,1,12;1,3,8913.748;8904.235;8479.85,9725.266;9725.266;-1,1,0.5401,5,184.6067,0,0,9,0,398.496
fam_p1_s4_r2_a42,1.2,normal,2,0,2,39,36,15.39,600.027,572.5338,5,1.3;0.95;25.8499;5.7;17.45,1,1,0,1,0.0541,0,36;3,1,9440.034,-1,1,0.5598,6,161.0552,0,0,11,0,411.5461
fam_p1_s4_r2_a42,1.2,normal,2,0,1,40,15,29.6278,600.027,546.1402,8,0.95;2.2;1.75;13.95;38.1997;0.95;21.5;20.85,1,1,0,1,-0.0208,1,15;12;1,2,9694.486;8479.85,-1;-1,2,0.5498,4,205.6579,0,0,12,0,340.5471
fam_p1_s4_r2_a42,1.2,normal,2,0,2,41,3,33.8852,600.027,541.0414,5,0.95;8.15;31.7498;0.95;23.5499,1,1,0,1,0.1787,1,3,2,9883.794;9440.034,10660.5;-1,1,0.5745,5,175.5061,0,0,10,0,365.5966
```

#### stops.csv

```text
condition_id,seed,robot_id,trip_id,t_s,x,z,aisle,in_narrow,cause,cause_detail,path_blocked,duration_s,resolved,clearance_left_cm,clearance_right_cm,min_gap_cm,blocked_s,no_path_s,yield_s,clear_wait_s,replans,solve_from,solve_to,solve_status,solve_corners,off_mesh_m
fam_p1_s4_r2_a42,0,2,1,918.95,15.3,5.15,,0,分からない,,0,0.95,自分で動き出した,275,274.9999,274.9999,0,0,0,0.95,0,15.3;5.15,1.8;3.8,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,1,943,1.8944,3.8068,,0,通路の順番待ち,先に入っている台：ServingRobot01,0,575.9329,入口で待った,275,275,275,0,0,575.9329,0,0,1.894;3.807,1.8;3.8,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,2,894.25,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,1.2,自分で動き出した,275,274.9999,274.9999,0.25,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,2,956.2,1.9553,4.7325,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,24.591,193.0749,24.591,60.0494,0,0,0,5,1.955;4.733,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,2,1044.55,1.9553,4.7325,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,24.591,193.0749,24.591,60.0494,0,0,0,5,1.955;4.733,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,2,1132.9,1.9553,4.7325,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,24.591,193.0749,24.591,60.0494,0,0,0,5,1.955;4.733,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,2,1233.75,1.9553,4.7325,A01,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,24.591,193.0749,24.591,60.0494,0,0,0,5,1.955;4.733,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,2,1315.5,1.9553,4.7325,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,24.591,193.0749,24.591,60.0494,0,0,0,5,1.955;4.733,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,2,1416.65,1.9553,4.7325,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,24.591,193.0749,24.591,60.0494,0,0,0,5,1.955;4.733,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,2,1509.65,1.9553,4.7325,A01,0,もう1台のロボット,ServingRobot02,0,9.7,自分で動き出した,24.591,193.0749,24.591,9.4,0,0,0.3,0,1.955;4.733,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,3,1519.05,15.3,5.95,,0,分からない,,0,4.5,自分で動き出した,275,30.1422,30.1422,3,0,0,1.5,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,3,1527.85,15.9648,3.8004,,0,スタッフとすれ違った,Staff03,0,0.85,自分で動き出した,275,275,275,0,0,0,0.85,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,3,1582.45,1.9012,3.79,,0,通路の順番待ち,先に入っている台：ServingRobot01,0,561.6364,入口で待った,275,275,275,0,0,561.6364,0,0,1.901;3.79,1.8;3.8,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,1519.4,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,1,自分で動き出した,99.2206,275,99.2206,0.05,0,0,0.95,0,15.3;5.95,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,1571,4.051,4.0619,,0,スタッフとすれ違った,Staff02,0,1.2,自分で動き出した,92.427,49.5937,49.5937,0.25,0,0,0.95,0,15.242;2.425,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,1632.85,1.9171,8.44,A01,0,人が立ち止まっていた,Guest(Clone),0,1.2,自分で動き出した,46.7242,23.3069,23.3069,0.25,0,0,0.95,0,1.917;8.44,1.913;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,1640.8,1.9622,4.7292,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,23.5929,192.7713,23.5929,60.0494,0,0,0,5,1.962;4.729,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,1748.75,1.9622,4.7292,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,23.5929,192.7713,23.5929,60.0494,0,0,0,5,1.962;4.729,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,1842.05,1.9622,4.7292,A01,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,23.5929,192.7713,23.5929,60.0494,0,0,0,5,1.962;4.729,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,1920.55,1.9622,4.7292,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,23.5929,192.7713,23.5929,60.0494,0,0,0,5,1.962;4.729,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2001.65,1.9622,4.7292,A01,0,スタッフとすれ違った,Staff02,0,60.0494,動けなくなった,23.5929,192.7713,23.5929,60.0494,0,0,0,5,1.962;4.729,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2079.35,1.9622,4.7292,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,23.5929,192.7713,23.5929,60.0494,0,0,0,5,1.962;4.729,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2184.35,1.9622,4.7292,A01,0,スタッフとすれ違った,Staff03,0,1.4,自分で動き出した,23.5929,192.7713,23.5929,0.45,0,0,0.95,0,1.962;4.729,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2189.65,3.8444,4.4896,,0,スタッフとすれ違った,Staff03,0,2,自分で動き出した,6.042,133.9983,6.042,1.05,0,0,0.95,0,2.06;4.526,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,5,2194.65,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0117,275,30.0117,0,0,0,0.95,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,5,2290.05,16.5202,2.548,,0,お客さんとすれ違った,Guest(Clone),0,0.7,自分で動き出した,275,49.6302,49.6302,0,0,0,0.7,0,16.567;2.419,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2144.2,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.2695,30.2695,0,0,0,0.95,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2189.95,17.0475,2.2761,,0,椅子・荷物・ベビーカー,Table36/Chair,0,0.5,自分で動き出した,65.6027,27.9662,27.9662,0,0,0,0.5,0,17.419;2.225,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2211.1,5.101,3.9267,,0,スタッフとすれ違った,Staff03,0,2.3,自分で動き出した,78.6413,275,78.6413,1.35,0,0,0.95,0,17.419;2.225,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2218.05,2.6642,4.2633,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,275,29.1756,29.1756,60.0494,0,0,0,5,2.664;4.263,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2317.6,2.6642,4.2633,,0,お客さんとすれ違った,Guest(Clone),0,10.65,経路を引き直した,275,29.1756,29.1756,9.7,0,0,0.95,1,2.664;4.263,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2397.5,8.0699,4.4033,,0,人が立ち止まっていた,Staff03,0,26.8999,経路を引き直した,14.675,235.3921,14.675,25.9499,0,0,0.95,2,8.07;4.403,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2433.75,13.2211,4.8294,,0,スタッフとすれ違った,Staff01,0,1.05,自分で動き出した,169.1269,275,169.1269,0.1,0,0,0.95,0,12.284;4.324,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2296.65,15.3808,5.7249,,0,分からない,,0,0.95,自分で動き出した,275,204.5954,204.5954,0,0,0,0.95,0,15.381;5.725,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2383.5,8.5404,3.8478,,0,スタッフとすれ違った,Staff01,0,0.75,自分で動き出した,183.203,275,183.203,0,0,0,0.75,0,16.935;2.306,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2424.15,7.1535,4.4773,,0,もう1台のロボット,ServingRobot02,0,1.8,自分で動き出した,7.2852,242.8601,7.2852,0.85,0,0,0.95,0,5.759;4.521,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2435.15,12.3279,4.3721,,0,スタッフとすれ違った,Staff02,0,58.0494,経路を引き直した,23.4517,275,23.4517,56.6494,0,0,1.4,5,12.328;4.372,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2496.45,13.7587,5.1317,,0,スタッフとすれ違った,Staff01,0,1.1,自分で動き出した,275,275,275,0.15,0,0,0.95,0,12.328;4.372,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2499,14.2356,5.3849,,0,スタッフとすれ違った,Staff03,0,3,自分で動き出した,275,275,275,1.5,0,0,1.5,0,12.328;4.372,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,2438.6,15.0829,5.8329,,0,分からない,,0,2,自分で動き出した,50.7793,275,50.7793,0.7,0,0,1.3,0,15.083;5.833,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,2482.8,21.8357,2.2066,,0,椅子・荷物・ベビーカー,Table40/Chair,0,0.45,自分で動き出した,85.684,90.6639,85.684,0,0,0,0.45,0,22.226;2.199,16.713;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,2539,6.9375,4.4854,,0,スタッフとすれ違った,Staff03,0,21.85,経路を引き直した,6.475,243.6768,6.475,20.9,0,0,0.95,2,6.937;4.485,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,2562.05,7.3273,4.473,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,203.7438,242.436,203.7438,60.0494,0,0,0,5,7.327;4.473,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,2648.95,7.3273,4.473,,0,スタッフとすれ違った,Staff03,0,18.85,経路を引き直した,203.7438,242.436,203.7438,17.9,0,0,0.95,1,7.327;4.473,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,2675.75,11.765,4.3318,,0,スタッフとすれ違った,Staff01,0,46.6996,経路を引き直した,21.8417,228.3101,21.8417,45.7496,0,0,0.95,4,11.765;4.332,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,2503.9,15.0968,5.8421,,0,分からない,,0,0.95,自分で動き出した,49.4849,275,49.4849,0,0,0,0.95,0,15.097;5.842,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,2543.4,19.6368,2.2167,,0,椅子・荷物・ベビーカー,Table38/Chair,0,0.45,自分で動き出した,86.7245,33.3659,33.3659,0,0,0,0.45,0,20.027;2.204,16.713;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,2561.5,9.5027,3.6716,,0,スタッフとすれ違った,Staff03,0,0.9,自分で動き出した,165.2817,139.7241,139.7241,0,0,0,0.9,0,16.953;2.304,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,2564.8,8.4109,3.8719,,0,スタッフとすれ違った,Staff04,0,15.55,経路を引き直した,185.6532,69.3572,69.3572,14.6,0,0,0.95,1,8.411;3.872,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,2581.3,8.165,3.9171,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,190.2414,64.769,64.769,60.0494,0,0,0,5,8.165;3.917,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,2664.05,8.165,3.9171,,0,スタッフとすれ違った,Staff03,0,6.15,自分で動き出した,190.2414,64.769,64.769,5.2,0,0,0.95,0,8.165;3.917,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,2709.65,7.2753,4.4683,,0,スタッフとすれ違った,Staff01,0,23.3499,経路を引き直した,8.1804,241.9558,8.1804,22.3999,0,0,0.95,2,7.275;4.468,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,2739.05,10.5738,4.3689,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,18.1253,232.0109,18.1253,60.0494,0,0,0,5,10.574;4.369,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,3021.3,10.5738,4.3689,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,18.1253,232.0109,18.1253,60.0494,0,0,0,5,10.574;4.369,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,3129.5,10.5738,4.3689,,0,人が立ち止まっていた,Staff02,0,24.5499,経路を引き直した,18.1253,232.0109,18.1253,24.5499,0,0,0,2,10.574;4.369,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,2728.9,15.0888,5.8361,,0,分からない,,0,0.95,自分で動き出した,50.419,275,50.419,0,0,0,0.95,0,15.089;5.836,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,2735.85,12.2013,4.3951,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,234.6337,15.5148,15.5148,60.0494,0,0,0,5,12.201;4.395,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,2991.3,12.2013,4.3951,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,234.6337,15.5148,15.5148,60.0494,0,0,0,5,12.201;4.395,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3066.5,12.2013,4.3951,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,234.6337,15.5148,15.5148,60.0494,0,0,0,5,12.201;4.395,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3141.7,12.2013,4.3951,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,234.6337,15.5148,15.5148,60.0494,0,0,0,5,12.201;4.395,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3216.9,12.2013,4.3951,,0,人が立ち止まっていた,Staff02,0,1.6,自分で動き出した,234.6337,15.5148,15.5148,0.65,0,0,0.95,0,12.201;4.395,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3222.15,10.3422,4.3365,,0,お客さんとすれ違った,Guest(Clone),0,2.05,自分で動き出した,228.7802,21.3682,21.3682,1.1,0,0,0.95,0,12.201;4.395,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3263.65,5.6912,4.0376,,0,通路の順番待ち,先に入っている台：ServingRobot01,0,66.0494,入口で待った,90.9371,275,90.9371,0,0,66.0494,0,0,5.691;4.038,9.088;4.737,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,10,3329.7,5.6912,4.0376,,0,人が立ち止まっていた,Guest(Clone),0,24.2999,経路を引き直した,90.9371,275,90.9371,23.5999,0,0,0.7,2,5.691;4.038,9.088;4.737,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,1,11,3154.1,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.025,275,30.025,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3158.7,13.69,5.0187,,0,人が立ち止まっていた,Staff04,0,44.0996,経路を引き直した,275,252.6134,252.6134,43.1496,0,0,0.95,4,13.69;5.019,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3204.5,13.0927,4.6733,,0,もう1台のロボット,ServingRobot02,0,17.45,経路を引き直した,275,133.317,133.317,16.5,0,0,0.95,1,13.093;4.673,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3224.55,11.9312,4.3978,,0,人が立ち止まっていた,Staff04,0,1.55,自分で動き出した,234.8106,15.2194,15.2194,0.6,0,0,0.95,0,12.606;4.407,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3227.15,11.6288,4.3936,,0,スタッフとすれ違った,Staff04,0,33.6498,経路を引き直した,234.3828,15.6473,15.6473,32.6998,0,0,0.95,3,11.629;4.394,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3269.7,6.6193,4.3227,,0,もう1台のロボット,,0,60.0494,動けなくなった,275,22.7351,22.7351,60.0494,0,0,0,5,6.619;4.323,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3361.75,6.6193,4.3227,,0,人が立ち止まっていた,Guest(Clone),0,9.65,自分で動き出した,275,22.7351,22.7351,8.7,0,0,0.95,0,6.619;4.323,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3480.6,1.9201,6.6905,A01,0,人が立ち止まっていた,Guest(Clone),0,1.6,自分で動き出した,22.9904,47.0104,22.9904,0.65,0,0,0.95,0,1.935;10.74,1.913;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3495.95,7.7733,4.404,,0,お客さんとすれ違った,Guest(Clone),0,4.4,自分で動き出した,14.6118,235.4477,14.6118,3.45,0,0,0.95,0,2.059;4.518,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3502.2,8.5531,4.3884,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,16.1662,233.8934,16.1662,59.9994,0,0,0.05,5,8.553;4.388,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3594.95,8.5531,4.3884,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,16.1662,233.8934,16.1662,60.0494,0,0,0,5,8.553;4.388,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3678.25,8.5531,4.3884,,0,お客さんとすれ違った,Guest(Clone),0,1.15,自分で動き出した,16.1662,233.8934,16.1662,0.2,0,0,0.95,0,8.553;4.388,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3683.75,10.8327,4.343,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,20.7097,229.3498,20.7097,60.0494,0,0,0,5,10.833;4.343,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3770.05,10.8327,4.343,,0,人が立ち止まっていた,Staff04,0,59.2494,経路を引き直した,20.7097,229.3498,20.7097,59.2494,0,0,0,5,10.833;4.343,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,12,3829.35,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0109,275,30.0109,0,0,0,0.95,0,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,13,3932.1,15.1046,5.8389,,0,分からない,,0,0.95,自分で動き出した,51.0496,275,51.0496,0,0,0,0.95,0,15.105;5.839,10.338;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,13,3970.55,11.7241,3.5278,,0,お客さんとすれ違った,Guest(Clone),0,1.15,自分で動き出した,128.658,275,128.658,0.2,0,0,0.95,0,10.532;2.72,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3354.05,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.7919,275,30.7919,0,0,0,0.95,0,15.3;5.95,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3357.85,13.92,5.9575,,0,スタッフとすれ違った,Staff03,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,15.3;5.95,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3390.9,10.9215,4.4823,,0,スタッフとすれ違った,Staff03,0,2.4,自分で動き出した,244.2881,6.8966,6.8966,1.45,0,0,0.95,0,13.335;5.961,5.5;4,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,14,3395.8,9.7561,4.3786,,0,人が立ち止まっていた,Staff01,0,1.15,自分で動き出した,233.8796,275,233.8796,0.2,0,0,0.95,0,13.335;5.961,5.5;4,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,14,3397.9,9.5071,4.3565,,0,スタッフとすれ違った,Staff01,0,20,経路を引き直した,231.6556,275,231.6556,19.05,0,0,0.95,1,9.507;4.356,5.5;4,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3418.05,9.4971,4.3556,,0,スタッフとすれ違った,Staff01,0,12,経路を引き直した,231.5666,275,231.5666,11.05,0,0,0.95,1,9.497;4.356,5.5;4,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3437.1,5.6124,4.01,,0,通路の順番待ち,先に入っている台：ServingRobot01,0,3.2,入口で待った,86.4384,275,86.4384,0,0,3.2,0,0,5.612;4.01,12.763;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3440.3,5.6124,4.01,,0,人が立ち止まっていた,Guest(Clone),0,1.2,自分で動き出した,86.4384,275,86.4384,0.25,0,0,0.95,0,5.612;4.01,12.763;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3442.75,6.0312,4.0423,,0,お客さんとすれ違った,Guest(Clone),0,2.85,自分で動き出した,275,275,275,0.95,0,0,1.9,0,5.612;4.01,12.763;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3452.25,9.6803,4.324,,0,お客さんとすれ違った,Guest(Clone),0,5.5,自分で動き出した,275,228.1532,228.1532,4.55,0,0,0.95,0,5.612;4.01,12.763;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3459.7,10.5178,4.3887,,0,スタッフとすれ違った,Staff02,0,0.75,自分で動き出した,16.2547,234.6379,16.2547,0,0,0,0.75,0,5.612;4.01,12.763;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3465.5,11.8923,4.4945,,0,スタッフとすれ違った,Staff04,0,1.3,自分で動き出した,244.5826,5.562,5.562,0.35,0,0,0.95,0,12.537;4.515,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3471.4,9.4635,4.4191,,0,スタッフとすれ違った,Staff01,0,2.7,自分で動き出した,237.0393,275,237.0393,1.75,0,0,0.95,0,12.537;4.515,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3566.65,3.9313,4.4891,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,6.0937,133.948,6.0937,60.0494,0,0,0,5,3.931;4.489,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3660.05,3.9313,4.4891,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,6.0937,133.948,6.0937,60.0494,0,0,0,5,3.931;4.489,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3852.3,3.9313,4.4891,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,6.0937,133.948,6.0937,60.0494,0,0,0,5,3.931;4.489,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,3944.5,3.9313,4.4891,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,6.0937,133.948,6.0937,60.0494,0,0,0,5,3.931;4.489,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,15,3990.2,15.1146,5.8244,,0,分からない,,0,0.95,自分で動き出した,56.603,275,56.603,0,0,0,0.95,0,15.115;5.824,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,15,4023.05,16.7542,2.3197,,0,お客さんとすれ違った,Guest(Clone),0,1.45,自分で動き出した,31.788,86.1137,31.788,0.5,0,0,0.95,0,16.754;2.32,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,15,4030.1,15.6167,5.0727,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,15.617;5.073,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,15,4144.9,15.6167,5.0727,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,15.617;5.073,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,15,4242.4,15.6167,5.0727,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,15.617;5.073,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,15,4326.55,15.6167,5.0727,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,15.617;5.073,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,15,4402.25,15.6167,5.0727,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,15.617;5.073,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,15,4478.15,15.6167,5.0727,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,15.617;5.073,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,15,4558.15,15.6167,5.0727,,0,もう1台のロボット,ServingRobot02,0,57.1494,経路を引き直した,275,275,275,57.1494,0,0,0,5,15.617;5.073,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,16,4252.8,15.3,5.95,,0,分からない,,0,60.0494,動けなくなった,30.012,275,30.012,59.7994,0,0,0.25,5,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,16,4339.05,15.3,5.95,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,45.1637,275,45.1637,60.0494,0,0,0,5,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,16,4414.25,15.3,5.95,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,45.1637,275,45.1637,60.0494,0,0,0,5,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,16,4489.9,15.3,5.95,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,45.1637,275,45.1637,60.0494,0,0,0,5,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,16,4573.25,15.3,5.95,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,45.1637,275,45.1637,60.0494,0,0,0,5,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,16,4648.4,15.3,5.95,,0,スタッフとすれ違った,Staff01,0,6,自分で動き出した,45.1637,275,45.1637,5.05,0,0,0.95,0,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,16,4659.85,18.0094,5.2252,,0,人が立ち止まっていた,Guest(Clone),0,18.3,経路を引き直した,102.5207,147.5798,102.5207,17.35,0,0,0.95,1,18.009;5.225,20.412;5.163,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4615.35,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,8.25,自分で動き出した,275,136.9759,136.9759,7.25,0,0,1,0,15.3;5.95,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4657.95,14.3614,2.879,,0,お客さんとすれ違った,Guest(Clone),0,1.55,自分で動き出した,275,275,275,0.6,0,0,0.95,0,15.825;2.434,9.562;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4702.25,10.234,4.3034,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,26.9726,236.9831,26.9726,60.0494,0,0,0,5,10.234;4.303,16.688;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4785.25,10.234,4.3034,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,26.9726,236.9831,26.9726,60.0494,0,0,0,5,10.234;4.303,16.688;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4891.1,10.234,4.3034,,0,人が立ち止まっていた,Staff04,0,2.85,自分で動き出した,26.9726,236.9831,26.9726,1.9,0,0,0.95,0,10.234;4.303,16.688;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4894.9,10.4729,4.2297,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,34.6864,229.2694,34.6864,60.0494,0,0,0,5,10.473;4.23,16.688;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,5009.75,10.4729,4.2297,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,34.6864,229.2694,34.6864,60.0494,0,0,0,5,10.473;4.23,16.688;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,4755.85,15.4995,5.8217,,0,分からない,,0,0.95,自分で動き出した,275,55.6428,55.6428,0,0,0,0.95,0,15.5;5.822,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,4764.05,11.8105,4.4045,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,235.4592,14.5546,14.5546,60.0494,0,0,0,5,11.811;4.404,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,4844.65,11.8105,4.4045,,0,人が立ち止まっていた,Staff04,0,48.8995,経路を引き直した,235.4592,14.5546,14.5546,47.9496,0,0,0.95,4,11.811;4.404,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,4895,11.2705,4.3993,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,234.9415,15.0723,15.0723,60.0494,0,0,0,5,11.271;4.399,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,5021.55,11.2705,4.3993,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,234.9415,15.0723,15.0723,60.0494,0,0,0,5,11.271;4.399,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,5150.15,11.2705,4.3993,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,234.9415,15.0723,15.0723,60.0494,0,0,0,5,11.271;4.399,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,5233.65,11.2705,4.3993,,0,もう1台のロボット,ServingRobot01,0,39.7997,経路を引き直した,234.9415,15.0723,15.0723,38.8497,0,0,0.95,3,11.271;4.399,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,5276.4,9.8306,4.3855,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,233.5611,16.4526,16.4526,60.0494,0,0,0,5,9.831;4.385,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,5265.55,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,32.5585,275,32.5585,0,0,0,0.95,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,5308.75,21.8297,2.1975,,0,椅子・荷物・ベビーカー,Table40/Chair,0,0.5,自分で動き出した,84.7519,91.5487,84.7519,0,0,0,0.5,0,22.22;2.198,17.713;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,5416.4,1.9203,7.77,A01,0,スタッフとすれ違った,Staff03,0,2.2,自分で動き出した,22.9656,47.0348,22.9656,1.25,0,0,0.95,0,1.923;8.7,1.913;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,5427.6,3.8441,4.482,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,6.8073,133.2302,6.8073,60.0494,0,0,0,5,3.844;4.482,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,5570.05,3.8441,4.482,,0,人が立ち止まっていた,Staff02,0,9.7,自分で動き出した,6.8073,133.2302,6.8073,8.75,0,0,0.95,0,3.844;4.482,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,5580.4,3.9666,4.4796,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,7.0511,132.9865,7.0511,60.0494,0,0,0,5,3.967;4.48,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,5697,3.9666,4.4796,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,7.0511,132.9865,7.0511,60.0494,0,0,0,5,3.967;4.48,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,5793.4,3.9666,4.4796,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,7.0511,132.9865,7.0511,60.0494,0,0,0,5,3.967;4.48,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,5935.6,3.9666,4.4796,,0,お客さんとすれ違った,Guest(Clone),0,5.15,自分で動き出した,7.0511,132.9865,7.0511,5.15,0,0,0,0,3.967;4.48,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5355.95,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0025,30.0025,0,0,0,0.95,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5359.3,15.628,4.8896,,0,お客さんとすれ違った,Guest(Clone),0,0.85,自分で動き出した,275,275,275,0,0,0,0.85,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5362.25,15.9028,4.0011,,0,お客さんとすれ違った,Guest(Clone),0,1.8,自分で動き出した,275,275,275,0.85,0,0,0.95,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5394.4,17.8272,2.2274,,0,人が立ち止まっていた,Guest(Clone),0,25.6999,経路を引き直した,33.0598,142.4579,33.0598,23.8999,0,0,1.8,2,17.827;2.227,1.8;3.8,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5425.6,16.2731,2.3647,,0,お客さんとすれ違った,Guest(Clone),0,3.75,自分で動き出した,275,74.1741,74.1741,2.8,0,0,0.95,0,15.573;2.449,16.913;2.288,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5449.2,5.6065,3.8543,,0,人が立ち止まっていた,Guest(Clone),0,10.2,経路を引き直した,71.3451,275,71.3451,9.25,0,0,0.95,1,5.607;3.854,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5460.7,5.1608,3.9162,,0,お客さんとすれ違った,Guest(Clone),0,1.9,自分で動き出した,77.5972,275,77.5972,0.95,0,0,0.95,0,5.607;3.854,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5463.55,4.9132,3.9506,,0,お客さんとすれ違った,Guest(Clone),0,2.75,自分で動き出した,81.0706,275,81.0706,1.8,0,0,0.95,0,5.607;3.854,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5466.95,4.7918,3.9675,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,82.7726,275,82.7726,60.0494,0,0,0,5,4.792;3.967,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5568.2,4.7918,3.9675,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,82.7726,275,82.7726,60.0494,0,0,0,5,4.792;3.967,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5680.45,4.7918,3.9675,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,82.7726,275,82.7726,60.0494,0,0,0,5,4.792;3.967,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5803.45,4.7918,3.9675,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,82.7726,275,82.7726,60.0494,0,0,0,5,4.792;3.967,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5898.55,4.7918,3.9675,,0,もう1台のロボット,ServingRobot01,0,43.1996,経路を引き直した,82.7726,275,82.7726,42.2496,0,0,0.95,4,4.792;3.967,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5993.55,3.6907,4.4958,,0,人が立ち止まっていた,Guest(Clone),0,12.55,経路を引き直した,19.3628,134.6144,19.3628,12.55,0,0,0,1,3.691;4.496,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,21,6006.15,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.012,275,30.012,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,21,6019,8.9013,4.3735,,0,スタッフとすれ違った,Staff04,0,53.5495,経路を引き直した,232.3641,275,232.3641,52.5995,0,0,0.95,5,8.901;4.374,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,21,6073.95,8.3913,4.3689,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,231.8982,18.1142,18.1142,60.0494,0,0,0,5,8.391;4.369,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,21,6157.2,8.3913,4.3689,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,231.8982,18.1142,18.1142,60.0494,0,0,0,5,8.391;4.369,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,21,6246.2,8.3913,4.3689,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,231.8982,18.1142,18.1142,60.0494,0,0,0,5,8.391;4.369,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,21,6366.05,8.3913,4.3689,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,231.8982,18.1142,18.1142,60.0494,0,0,0,5,8.391;4.369,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,21,6445.95,8.3913,4.3689,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,231.8982,18.1142,18.1142,60.0494,0,0,0,5,8.391;4.369,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,21,6545.8,8.3913,4.3689,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,231.8982,18.1142,18.1142,60.0494,0,0,0,5,8.391;4.369,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,5940.8,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0109,275,30.0109,0,0,0,0.95,0,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,5980.45,8.3145,4.4267,,0,スタッフとすれ違った,Staff02,0,1.2,自分で動き出した,237.9986,12.3739,12.3739,0.25,0,0,0.95,0,9.019;4.462,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,5983.8,7.3556,4.3789,,0,スタッフとすれ違った,Staff03,0,0.95,自分で動き出した,233.2136,86.7606,86.7606,0,0,0,0.95,0,9.019;4.462,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,6047.95,7.2813,4.4665,,0,人が立ち止まっていた,Staff04,0,24.8499,経路を引き直した,8.3667,241.7665,8.3667,23.8999,0,0,0.95,2,7.281;4.466,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,6073.95,7.6411,4.4558,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,9.44,240.6933,9.44,60.0494,0,0,0,5,7.641;4.456,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,6205.1,7.6411,4.4558,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,9.44,240.6933,9.44,60.0494,0,0,0,5,7.641;4.456,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,6298.05,7.6411,4.4558,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,9.44,240.6933,9.44,60.0494,0,0,0,5,7.641;4.456,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,6373.25,7.6411,4.4558,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,9.44,240.6933,9.44,60.0494,0,0,0,5,7.641;4.456,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,6459.95,7.6411,4.4558,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,9.44,240.6933,9.44,60.0494,0,0,0,5,7.641;4.456,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,6565.7,7.6411,4.4558,,0,もう1台のロボット,ServingRobot02,0,41.4997,経路を引き直した,9.44,240.6933,9.44,40.5497,0,0,0.95,4,7.641;4.456,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,22,6610.9,9.5303,4.3994,,0,スタッフとすれ違った,Staff03,0,1.05,自分で動き出した,275,235.0583,235.0583,0.1,0,0,0.95,0,7.641;4.456,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6616.05,15.3,5.95,,0,分からない,,0,1.85,自分で動き出した,30.0244,275,30.0244,0.5,0,0,1.35,0,15.3;5.95,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6618.25,15.2728,5.9206,,0,スタッフとすれ違った,Staff02,0,3.65,自分で動き出した,275,60.2876,60.2876,2.7,0,0,0.95,0,15.3;5.95,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6746.9,10.879,4.4209,,0,スタッフとすれ違った,Staff03,0,44.8996,経路を引き直した,13.0056,237.775,13.0056,43.1996,0,0,1.7,4,10.879;4.421,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6795.85,12.8925,4.6642,,0,スタッフとすれ違った,Staff03,0,1.1,自分で動き出した,100.7696,275,100.7696,0.15,0,0,0.95,0,12.271;4.332,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,6801.4,15.1021,5.8443,,0,分からない,,0,0.95,自分で動き出した,49.3338,275,49.3338,0,0,0,0.95,0,15.102;5.844,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,6807.25,16.026,3.4033,,0,スタッフとすれ違った,Staff01,0,2.25,自分で動き出した,275,275,275,1.3,0,0,0.95,0,15.102;5.844,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,6924.25,9.3142,4.9551,A03,0,お客さんとすれ違った,Guest(Clone),0,1.25,自分で動き出した,23.6678,46.5516,23.6678,0.3,0,0,0.95,0,9.313;4.98,9.338;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,6929.55,11.0885,4.405,,0,スタッフとすれ違った,Staff01,0,56.6994,経路を引き直した,14.5967,236.1713,14.5967,55.7494,0,0,0.95,5,11.089;4.405,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,6991,13.4483,4.961,,0,スタッフとすれ違った,Staff01,0,1.1,自分で動き出した,218.7326,275,218.7326,0.15,0,0,0.95,0,12.271;4.332,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6606.25,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0023,30.0023,0,0,0,0.95,0,15.3;5.95,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6681.55,5.5306,4.3864,,0,お客さんとすれ違った,,0,60.0494,動けなくなった,123.6778,275,123.6778,60.0494,0,0,0,5,5.531;4.386,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6774.2,5.5306,4.3864,,0,お客さんとすれ違った,Guest(Clone),0,19.4,経路を引き直した,123.6778,275,123.6778,18.45,0,0,0.95,1,5.531;4.386,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6795.8,4.5408,4.3635,,0,お客さんとすれ違った,Guest(Clone),0,1.8,自分で動き出した,121.3897,18.661,18.661,0.85,0,0,0.95,0,5.531;4.386,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6837.45,3.7827,4.4892,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,6.0835,133.9568,6.0835,60.0494,0,0,0,5,3.783;4.489,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6952.1,3.7827,4.4892,,0,人が立ち止まっていた,Guest(Clone),0,21.9,経路を引き直した,6.0835,133.9568,6.0835,20.95,0,0,0.95,2,3.783;4.489,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6985.2,10.1714,4.3577,,0,もう1台のロボット,ServingRobot01,0,2.6,自分で動き出した,19.2442,230.8194,19.2442,1.65,0,0,0.95,0,3.783;4.489,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6992.55,12.6422,4.5163,,0,もう1台のロボット,ServingRobot01,0,1.1,自分で動き出した,47.0726,275,47.0726,0.15,0,0,0.95,0,12.286;4.324,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6997.25,14.2528,5.3851,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,14.253;5.385,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,7086.95,14.2528,5.3851,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,14.253;5.385,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,7172.05,14.2528,5.3851,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,14.253;5.385,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,7274.85,14.2528,5.3851,,0,もう1台のロボット,ServingRobot01,0,6.6,自分で動き出した,275,275,275,6.6,0,0,0,0,14.253;5.385,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,26,7282.7,15.3,5.95,,0,スタッフとすれ違った,Staff03,0,8.25,自分で動き出した,37.4923,275,37.4923,6.9,0,0,1.35,0,15.3;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,6995.5,15.1022,5.8443,,0,分からない,,0,0.95,自分で動き出した,49.3335,275,49.3335,0,0,0,0.95,0,15.102;5.844,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,6996.9,15.0605,5.7978,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,80.3033,80.3033,60.0494,0,0,0,5,15.06;5.798,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,7096.65,15.0605,5.7978,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,80.3033,80.3033,60.0494,0,0,0,5,15.06;5.798,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,7189,15.0605,5.7978,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,80.3033,80.3033,60.0494,0,0,0,5,15.06;5.798,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,7278.5,15.0605,5.7978,,0,もう1台のロボット,ServingRobot02,0,3.95,自分で動き出した,275,80.3033,80.3033,3,0,0,0.95,0,15.06;5.798,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,7282.6,15.0538,5.7903,,0,スタッフとすれ違った,Staff01,0,1.65,自分で動き出した,275,81.4208,81.4208,0.7,0,0,0.95,0,15.06;5.798,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,7287.2,14.0935,4.7173,,0,お客さんとすれ違った,Guest(Clone),0,1.7,自分で動き出した,275,215.6866,215.6866,0.75,0,0,0.95,0,15.06;5.798,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,7420.85,10.0698,4.383,,0,お客さんとすれ違った,Guest(Clone),0,4.65,自分で動き出した,16.7214,233.4104,16.7214,3.7,0,0,0.95,0,5.767;4.511,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,7427.3,10.8195,4.3607,,0,スタッフとすれ違った,Staff02,0,1.55,自分で動き出した,18.9456,231.1863,18.9456,0.6,0,0,0.95,0,5.767;4.511,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,7431.45,12.049,4.3243,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,22.5932,227.5387,22.5932,60.0494,0,0,0,5,12.049;4.324,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,7512.5,12.049,4.3243,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,22.5932,227.5387,22.5932,60.0494,0,0,0,5,12.049;4.324,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,27,7613.25,12.049,4.3243,,0,もう1台のロボット,ServingRobot02,0,57.4494,経路を引き直した,22.5932,227.5387,22.5932,57.4494,0,0,0,5,12.049;4.324,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,28,7345.45,15.0739,5.9868,,0,分からない,,0,0.95,自分で動き出した,26.9949,275,26.9949,0,0,0,0.95,0,15.074;5.987,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,28,7351.15,12.9551,4.6226,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,275,96.0057,96.0057,60.0494,0,0,0,5,12.955;4.623,5.5;4,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,28,7454.65,12.9551,4.6226,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,12.955;4.623,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,28,7616,12.9551,4.6226,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,96.0056,96.0056,59.3994,0,0,0.65,5,12.955;4.623,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,28,7752.05,12.9551,4.6226,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,275,96.0056,96.0056,60.0494,0,0,0,5,12.955;4.623,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,28,7827.25,12.9551,4.6226,,0,人が立ち止まっていた,Staff02,0,46.0496,経路を引き直した,275,96.0056,96.0056,45.0996,0,0,0.95,4,12.955;4.623,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,28,7878.15,10.4324,4.3829,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,233.32,16.716,16.716,60.0494,0,0,0,5,10.432;4.383,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,29,7670.75,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0242,275,30.0242,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,29,7675.2,13.7679,5.0638,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,268.1732,268.1732,60.0494,0,0,0,5,13.768;5.064,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,29,7815.4,13.7679,5.0638,,0,もう1台のロボット,ServingRobot02,0,59.4494,経路を引き直した,275,268.1732,268.1732,58.4994,0,0,0.95,5,13.768;5.064,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,29,7875.1,13.7484,5.0525,,0,スタッフとすれ違った,Staff01,0,1.15,自分で動き出した,275,264.2834,264.2834,0.2,0,0,0.95,0,13.768;5.064,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,29,7959.9,21.8316,2.2021,,0,椅子・荷物・ベビーカー,Table40/Chair,0,0.5,自分で動き出した,85.2378,91.1144,85.2378,0,0,0,0.5,0,22.221;2.194,16.713;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,29,7975.85,14.3012,5.2974,,0,スタッフとすれ違った,Staff01,0,1.45,自分で動き出した,275,165.8601,165.8601,0.5,0,0,0.95,0,16.692;2.351,13.538;6.238,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,29,8030.2,6.1589,14.3519,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,140.2268,5.2704,5.2704,60.0494,0,0,0,5,6.159;14.352,8.763;14.538,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,29,8125.8,6.1589,14.3519,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,140.2268,5.2704,5.2704,60.0494,0,0,0,5,6.159;14.352,8.763;14.538,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,29,8225.95,6.1589,14.3519,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,140.2268,5.2704,5.2704,60.0494,0,0,0,5,6.159;14.352,8.763;14.538,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,29,8321.101,6.1589,14.3519,,0,もう1台のロボット,ServingRobot02,0,24.8499,経路を引き直した,140.2268,5.2704,5.2704,24.8499,0,0,0,2,6.159;14.352,8.763;14.538,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,7945.55,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0066,30.0066,0,0,0,0.95,0,15.3;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,7954.95,13.2283,9.2271,,0,スタッフとすれ違った,Staff04,0,1.15,自分で動き出した,68.7868,52.9618,52.9618,0.2,0,0,0.95,0,13.657;6.243,12.763;12.463,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,8021.75,6.5583,14.4989,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,20.0148,125.5358,20.0148,60.0494,0,0,0,5,6.558;14.499,6.038;14.538,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,8113.6,6.5583,14.4989,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,20.0148,125.5357,20.0148,60.0494,0,0,0,5,6.558;14.499,6.038;14.538,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,8241.05,6.5583,14.4989,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,20.0148,125.5357,20.0148,60.0494,0,0,0,5,6.558;14.499,6.038;14.538,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,8316.25,6.5583,14.4989,,0,もう1台のロボット,ServingRobot01,0,30.6998,経路を引き直した,20.0148,125.5357,20.0148,29.7498,0,0,0.95,3,6.558;14.499,6.038;14.538,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,8417.8,7.0291,4.4921,,0,お客さんとすれ違った,Guest(Clone),0,1.55,自分で動き出した,5.8117,244.3576,5.8117,0.6,0,0,0.95,0,5.755;4.535,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,8426.65,11.0769,4.356,,0,お客さんとすれ違った,Guest(Clone),0,4.25,自分で動き出した,43.7698,230.7491,43.7698,3.3,0,0,0.95,0,5.755;4.535,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,8434.55,12.8589,4.6336,,0,スタッフとすれ違った,Staff02,0,1.2,自分で動き出した,92.7434,275,92.7434,0.25,0,0,0.95,0,12.291;4.327,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,8439.4,14.496,5.5164,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,14.496;5.516,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,30,8551,14.496,5.5164,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,14.496;5.516,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8494.25,15.3,5.95,,0,分からない,,0,60.0494,動けなくなった,30.1402,275,30.1402,59.3494,0,0,0.7,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8579.95,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8655.15,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8730.4,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8816.05,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8891.4,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8996.65,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,9071.851,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,22.4499,経路を引き直した,274.9919,38.5091,38.5091,22.4499,0,0,0,2,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8620.8,15.3,5.95,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,37.4876,275,37.4876,59.8494,0,0,0.2,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8720.95,15.3,5.95,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8831.15,15.3,5.95,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8906.351,15.3,5.95,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8981.55,15.3,5.95,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,9086.95,15.3,5.95,,0,もう1台のロボット,ServingRobot01,0,10.8,経路を引き直した,274.9919,38.5091,38.5091,9.85,0,0,0.95,1,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,9106.351,10.8792,4.361,,0,お客さんとすれ違った,Guest(Clone),0,1.85,自分で動き出した,231.282,18.9259,18.9259,0.9,0,0,0.95,0,12.663;4.427,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,33,9147,15.0944,5.8414,,0,分からない,,0,0.95,自分で動き出した,49.4707,275,49.4707,0,0,0,0.95,0,15.094;5.841,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,33,9212.65,19.6322,2.1989,,0,椅子・荷物・ベビーカー,Table38/Chair,0,0.45,自分で動き出した,84.8935,35.1081,35.1081,0,0,0,0.45,0,20.022;2.201,17.113;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,33,9268.101,9.3182,11.7979,A03,0,人が立ち止まっていた,Guest(Clone),0,14.5,経路を引き直した,46.8419,23.1978,23.1978,13.55,0,0,0.95,1,9.318;11.798,9.312;12.263,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,34,9311.5,15.0691,5.9878,,0,分からない,,0,0.95,自分で動き出した,26.8998,275,26.8998,0,0,0,0.95,0,15.069;5.988,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,34,9386.3,13.4535,6.8008,,0,スタッフとすれ違った,Staff03,0,1.1,自分で動き出した,30.2886,91.7005,30.2886,0.15,0,0,0.95,0,12.564;12.598,13.513;6.413,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9417,15.0665,5.989,,0,分からない,,0,2.3,自分で動き出した,26.8055,275,26.8055,0.9,0,0,1.4,0,15.066;5.989,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9094.351,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,1.2,自分で動き出した,274.9919,38.5091,38.5091,0.2,0,0,1,0,15.3;5.95,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9137.351,13.4294,7.8299,,0,人が立ち止まっていた,Staff03,0,20.6,経路を引き直した,88.8492,32.5212,32.5212,19.65,0,0,0.95,2,13.429;7.83,13.088;10.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9192.3,12.9625,7.6797,,0,人が立ち止まっていた,Staff04,0,4.65,自分で動き出した,78.9319,41.3667,41.3667,3.7,0,0,0.95,0,13.117;10.285,12.788;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9214.15,5.8536,4.3845,,0,スタッフとすれ違った,Staff03,0,1.6,自分で動き出した,123.4858,275,123.4858,0.65,0,0,0.95,0,12.647;4.524,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9216.601,5.6511,4.3804,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,123.0711,275,123.0711,60.0494,0,0,0,5,5.651;4.38,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9301.55,5.6511,4.3804,,0,スタッフとすれ違った,Staff02,0,60.0494,動けなくなった,123.0711,275,123.0711,60.0494,0,0,0,5,5.651;4.38,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9405.601,5.6511,4.3804,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,123.0711,275,123.0711,60.0494,0,0,0,5,5.651;4.38,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9480.8,5.6511,4.3804,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,123.0711,275,123.0711,60.0494,0,0,0,5,5.651;4.38,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9556,5.6511,4.3804,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,123.0711,275,123.0711,60.0494,0,0,0,5,5.651;4.38,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9458.2,15.382,5.7202,,0,分からない,,0,0.95,自分で動き出した,275,207.1043,207.1043,0,0,0,0.95,0,15.382;5.72,1.8;3.8,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,37,9461.55,14.3487,5.3147,,0,スタッフとすれ違った,Staff03,0,1.8,自分で動き出した,275,275,275,0.85,0,0,0.95,0,15.382;5.72,1.8;3.8,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,37,9477.25,6.5705,4.3555,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,19.4481,19.4481,60.0494,0,0,0,5,6.57;4.356,1.8;3.8,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9571.101,6.5705,4.3555,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,232.2811,19.7463,19.7463,60.0494,0,0,0,5,6.57;4.356,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9680.45,6.5705,4.3555,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,19.4481,19.4481,60.0494,0,0,0,5,6.57;4.356,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9776.25,6.5705,4.3555,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,275,19.4481,19.4481,60.0494,0,0,0,5,6.57;4.356,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9890.8,6.5705,4.3555,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,275,19.4481,19.4481,60.0494,0,0,0,5,6.57;4.356,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,9744.55,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0115,30.0115,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,9758.9,8.0016,4.3423,,0,人が立ち止まっていた,Staff03,0,42.5996,経路を引き直した,229.2506,20.7794,20.7794,41.6497,0,0,0.95,4,8.002;4.342,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,9802.9,7.4917,4.335,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,228.5292,21.5008,21.5008,60.0494,0,0,0,5,7.492;4.335,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,9888.851,7.4917,4.335,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,228.5292,21.5008,21.5008,60.0494,0,0,0,5,7.492;4.335,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,9987.351,7.4917,4.335,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,228.5292,21.5008,21.5008,60.0494,0,0,0,5,7.492;4.335,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10080,7.4917,4.335,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,228.5292,21.5008,21.5008,60.0494,0,0,0,5,7.492;4.335,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10178.55,7.4917,4.335,,0,人が立ち止まっていた,Staff01,0,2.05,自分で動き出した,228.5292,21.5008,21.5008,1.1,0,0,0.95,0,7.492;4.335,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10182.75,6.5318,4.3215,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,22.8589,22.8589,60.0494,0,0,0,5,6.532;4.321,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10291.95,6.5318,4.3215,,0,もう1台のロボット,ServingRobot02,0,52.6495,経路を引き直した,275,22.8589,22.8589,52.6495,0,0,0,5,6.532;4.321,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10058.3,15.3,5.95,,0,スタッフとすれ違った,Staff03,0,1.3,自分で動き出した,275,30.0027,30.0027,0.35,0,0,0.95,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10110.65,5.7658,3.8393,,0,お客さんとすれ違った,,0,60.0494,動けなくなった,69.8235,218.7282,69.8235,60.0494,0,0,0,5,5.766;3.839,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10188.7,5.7658,3.8393,,0,分からない,,0,0.95,自分で動き出した,69.8235,218.7282,69.8235,0,0,0,0.95,0,5.766;3.839,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10189.7,5.7633,3.8396,,0,お客さんとすれ違った,,0,60.0494,動けなくなった,69.8581,220.5341,69.8581,60.0494,0,0,0,5,5.763;3.84,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10273.7,5.7633,3.8396,,0,お客さんとすれ違った,,0,60.0494,動けなくなった,69.8581,220.5341,69.8581,60.0494,0,0,0,5,5.763;3.84,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10360.2,5.7633,3.8396,,0,お客さんとすれ違った,,0,25.8499,経路を引き直した,69.8581,220.5341,69.8581,24.8999,0,0,0.95,2,5.763;3.84,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10386.8,5.6048,3.8616,,0,人が立ち止まっていた,Guest(Clone),0,5.7,自分で動き出した,72.0729,275,72.0729,4.75,0,0,0.95,0,5.763;3.84,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10393.15,5.4835,3.8784,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,73.7687,275,73.7687,60.0494,0,0,0,5,5.483;3.878,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10485.9,5.4835,3.8784,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,73.7687,275,73.7687,60.0494,0,0,0,5,5.483;3.878,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10571.6,5.4835,3.8784,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,73.7687,275,73.7687,60.0494,0,0,0,5,5.483;3.878,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10665.95,5.4835,3.8784,,0,人が立ち止まっていた,Guest(Clone),0,17.45,経路を引き直した,73.7687,275,73.7687,17.45,0,0,0,1,5.483;3.878,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10344.65,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0055,30.0055,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10360.1,7.3417,4.3329,,0,人が立ち止まっていた,Staff03,0,2.2,自分で動き出した,228.3168,269.8736,228.3168,1.25,0,0,0.95,0,12.606;4.407,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10364.2,6.5318,4.3215,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,22.8589,22.8589,60.0494,0,0,0,5,6.532;4.321,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10486.9,6.5318,4.3215,,0,スタッフとすれ違った,Staff03,0,1.75,自分で動き出した,275,22.8589,22.8589,0.8,0,0,0.95,0,6.532;4.321,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10489.1,6.4693,4.3206,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,22.9473,22.9473,60.0494,0,0,0,5,6.469;4.321,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10585.15,6.4693,4.3206,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,22.9473,22.9473,60.0494,0,0,0,5,6.469;4.321,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10684.2,6.4693,4.3206,,0,人が立ち止まっていた,Staff04,0,13.95,経路を引き直した,275,22.9473,22.9473,13,0,0,0.95,1,6.469;4.321,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10702.35,5.7107,5.9531,A02,0,人が立ち止まっていた,Staff04,0,38.1997,経路を引き直した,56.1199,13.958,13.958,37.2497,0,0,0.95,3,5.711;5.953,5.613;8.662,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10808.65,5.208,4.5238,,0,人が立ち止まっていた,Guest(Clone),0,0.95,自分で動き出した,146.1948,72.254,72.254,0,0,0,0.95,0,5.245;4.527,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10848.05,6.3083,4.4435,,0,人が立ち止まっていた,Guest(Clone),0,21.5,経路を引き直した,10.6563,275,10.6563,20.55,0,0,0.95,2,6.308;4.444,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10870.95,6.8181,4.4326,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,11.746,275,11.746,60.0494,0,0,0,5,6.818;4.433,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10999,6.8181,4.4326,,0,もう1台のロボット,ServingRobot02,0,20.85,経路を引き直した,11.746,275,11.746,20.85,0,0,0,2,6.818;4.433,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,10683.45,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.5244,30.5244,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,10697.7,8.0613,4.3659,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,231.5968,18.4156,18.4156,60.0494,0,0,0,5,8.061;4.366,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,10779.2,8.0613,4.3659,,0,分からない,,0,60.0494,動けなくなった,231.5968,18.4156,18.4156,59.8994,0,0,0.15,5,8.061;4.366,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,10861.4,8.0613,4.3659,,0,人が立ち止まっていた,Guest(Clone),0,8.15,自分で動き出した,231.5968,18.4156,18.4156,7.2,0,0,0.95,0,8.061;4.366,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,10870.95,7.5514,4.3612,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,231.1312,18.8813,18.8813,60.0494,0,0,0,5,7.551;4.361,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,10989.1,7.5514,4.3612,,0,もう1台のロボット,ServingRobot01,0,31.7498,経路を引き直した,231.1312,18.8813,18.8813,30.7998,0,0,0.95,3,7.551;4.361,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,11071.35,3.8405,4.493,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,5.7049,134.3377,5.7049,60.0494,0,0,0,5,3.841;4.493,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,11159.25,3.8405,4.493,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,5.7049,134.3377,5.7049,60.0494,0,0,0,5,3.841;4.493,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,11265.25,3.8405,4.493,,0,分からない,,0,0.95,自分で動き出した,5.7049,134.3377,5.7049,0,0,0,0.95,0,3.841;4.493,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,11285,14.4885,5.5126,,0,もう1台のロボット,ServingRobot01,0,23.5499,経路を引き直した,275,275,275,23.5499,0,0,0,2,14.488;5.513,15.3;5.95,PathComplete,2,0.025
```

#### give_ups.csv

```text
condition_id,seed,t_s,who,job,table_id,to_x,to_z,x,z,aisle,waited_s,action
fam_p1_s4_r2_a42,0,163.0753,スタッフ,案内,3,0.9,2.1,17.2864,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,223.129,スタッフ,案内,3,0.9,2.1,18.0901,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,546.0102,スタッフ,案内,36,0.9,2.1,17.2864,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,606.0455,スタッフ,案内,36,0.9,2.1,18.0901,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,645.186,スタッフ,案内,5,0.9,2.1,17.2864,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,705.2213,スタッフ,案内,5,0.9,2.1,18.0901,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,740.8626,スタッフ,案内,6,0.9,2.1,17.2887,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,800.8979,スタッフ,案内,6,0.9,2.1,18.0901,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,894.0752,スタッフ,料理を運ぶ,3,15.3,5.95,17.2615,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,918.7692,スタッフ,料理を運ぶ,2,15.3,5.95,18.0915,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1027.347,スタッフ,料理を運ぶ,4,1.912,10.312,5.2717,12.6105,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1091.009,スタッフ,料理を運ぶ,4,1.912,10.312,5.2784,12.6136,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1117.635,スタッフ,案内,37,0.9,2.1,1.0241,2.1265,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1155.922,スタッフ,料理を運ぶ,4,1.912,10.312,5.2713,12.6098,A02,60.0494,移した
fam_p1_s4_r2_a42,0,1160.627,客,ドリンクバー,1,17.3,3.9,2.15,6.8789,A01,60,あきらめた
fam_p1_s4_r2_a42,0,1177.743,スタッフ,案内,37,0.9,2.1,1.0948,2.2513,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1180.446,スタッフ,案内,38,0.9,2.1,0.8,1.981,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1215.28,スタッフ,料理を運ぶ,5,1.912,4.962,5.5746,4.5428,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1220.735,客,ドリンクバー,1,1.912,4.762,1.8084,6.5114,A01,60,移した
fam_p1_s4_r2_a42,0,1227.892,スタッフ,料理を運ぶ,4,15.3,5.95,2.073,6.7358,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1237.902,スタッフ,案内,37,0.9,2.1,1.0987,2.2544,,60.0494,移した
fam_p1_s4_r2_a42,0,1240.605,スタッフ,案内,38,0.9,2.1,0.8,1.8821,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1288.051,スタッフ,料理を運ぶ,5,15.3,5.95,2.0968,6.6622,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1298.011,スタッフ,案内,37,0.9,2.1,1.0549,2.2723,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1300.713,スタッフ,案内,38,0.9,2.1,1.0652,1.7241,,60.0494,移した
fam_p1_s4_r2_a42,0,1311.524,スタッフ,料理を運ぶ,4,15.3,5.95,5.2709,12.61,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1348.21,スタッフ,料理を運ぶ,5,15.3,5.95,2.0964,6.5917,A01,60.0494,移した
fam_p1_s4_r2_a42,0,1360.822,スタッフ,案内,38,0.9,2.1,1.0485,2.3964,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1371.683,スタッフ,案内,37,0.9,2.1,5.2668,12.8181,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1391.302,スタッフ,料理を運ぶ,4,1.912,10.312,5.3232,12.6925,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1408.368,スタッフ,料理を運ぶ,5,1.912,4.962,5.5657,4.5411,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1420.981,スタッフ,案内,38,0.9,2.1,1.071,2.4549,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1431.841,スタッフ,案内,37,0.9,2.1,5.2794,12.5246,A02,60.0494,移した
fam_p1_s4_r2_a42,0,1468.527,スタッフ,料理を運ぶ,5,15.3,5.95,5.5907,4.5394,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1481.139,スタッフ,案内,38,0.9,2.1,1.0689,2.6481,,60.0494,移した
fam_p1_s4_r2_a42,0,1491.95,スタッフ,案内,37,0.9,2.1,1.0835,1.9505,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1493.652,客,ドリンクバー,1,17.3,3.9,2.15,6.4979,A01,60,あきらめた
fam_p1_s4_r2_a42,0,1512.57,スタッフ,料理を運ぶ,4,15.3,5.95,2.1027,6.5101,A01,60.0494,移した
fam_p1_s4_r2_a42,0,1656.861,客,ドリンクバー,4,17.3,3.9,2.1487,6.9834,A01,60,あきらめた
fam_p1_s4_r2_a42,0,1670.024,スタッフ,案内,8,1.912,10.513,1.0882,1.6287,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1716.969,客,ドリンクバー,4,1.912,10.312,2.1488,6.4901,A01,60,移した
fam_p1_s4_r2_a42,0,1730.182,スタッフ,案内,8,0.9,2.1,1.0965,1.847,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1730.433,スタッフ,料理を運ぶ,7,1.912,8.662,5.5835,4.5428,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1790.591,スタッフ,案内,8,0.9,2.1,0.9002,1.9323,,60.0494,移した
fam_p1_s4_r2_a42,0,1824.274,スタッフ,料理を運ぶ,7,1.912,8.662,5.588,4.5372,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1850.7,スタッフ,案内,8,0.9,2.1,0.8,1.9576,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1902.851,スタッフ,料理を運ぶ,6,15.3,5.95,5.4998,4.6318,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1903.451,スタッフ,料理を運ぶ,7,1.912,8.662,5.5529,4.1935,,60.0494,移した
fam_p1_s4_r2_a42,0,1910.859,スタッフ,案内,8,0.9,2.1,0.8,1.9567,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1941.489,客,ドリンクバー,4,17.3,3.9,1.895,6.8115,A01,60,あきらめた
fam_p1_s4_r2_a42,0,1971.017,スタッフ,案内,8,0.9,2.1,0.8,1.9567,,60.0494,移した
fam_p1_s4_r2_a42,0,1984.03,スタッフ,料理を運ぶ,6,1.912,6.812,5.5753,4.5494,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1986.733,スタッフ,料理を運ぶ,7,15.3,5.95,2.1019,6.4894,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,1994.941,客,ドリンクバー,3,18.3,3.9,2.0528,7.3142,A01,60,あきらめた
fam_p1_s4_r2_a42,0,1995.091,スタッフ,料理を運ぶ,1,1.912,4.762,2.3806,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2031.126,スタッフ,案内,8,0.9,2.1,0.8,1.8785,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2046.891,スタッフ,料理を運ぶ,6,15.3,5.95,2.1021,6.5297,A01,60.0494,移した
fam_p1_s4_r2_a42,0,2062.607,スタッフ,案内,15,0.9,2.1,1.0961,2.1852,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2068.613,スタッフ,料理を運ぶ,1,1.912,4.762,5.5965,4.5608,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2083.827,客,トイレ,3,1.912,8.462,4.5062,14.248,,60,移した
fam_p1_s4_r2_a42,0,2091.285,スタッフ,案内,8,0.9,2.1,0.8,1.9163,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2104.898,客,ドリンクバー,4,17.3,3.9,2.15,6.7582,A01,60,あきらめた
fam_p1_s4_r2_a42,0,2107.05,スタッフ,料理を運ぶ,6,1.912,6.812,5.5142,4.1436,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2128.771,スタッフ,料理を運ぶ,1,15.3,5.95,5.5951,4.5537,,60.0494,移した
fam_p1_s4_r2_a42,0,2151.443,スタッフ,案内,8,0.9,2.1,0.8,1.9163,,60.0494,移した
fam_p1_s4_r2_a42,0,2165.007,客,ドリンクバー,4,1.912,10.312,2.15,6.5012,A01,60,移した
fam_p1_s4_r2_a42,0,2167.209,スタッフ,料理を運ぶ,6,15.3,5.95,5.5623,4.5668,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2188.88,スタッフ,料理を運ぶ,1,15.3,5.95,5.4999,4.1506,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2286.875,客,ドリンクバー,3,17.3,3.9,10.9304,3.7316,,60,あきらめた
fam_p1_s4_r2_a42,0,2327.765,客,ドリンクバー,7,19.3,3.9,2.2805,4.5904,,60,あきらめた
fam_p1_s4_r2_a42,0,2346.984,客,ドリンクバー,3,1.912,8.462,3.7431,4.55,,60,移した
fam_p1_s4_r2_a42,0,2388.375,客,ドリンクバー,1,1.912,4.762,5.5379,4.4618,,60,移した
fam_p1_s4_r2_a42,0,2444.83,客,ドリンクバー,4,1.912,10.312,8.2316,4.0011,,60,移した
fam_p1_s4_r2_a42,0,2470.505,客,ドリンクバー,7,1.912,8.662,1.9369,7.9615,A01,60,移した
fam_p1_s4_r2_a42,0,2492.626,スタッフ,料理を運ぶ,12,5.613,10.513,12.7593,4.972,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2497.831,スタッフ,料理を運ぶ,9,15.3,5.95,13.3946,4.5225,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2560.392,スタッフ,料理を運ぶ,11,5.613,8.662,7.6742,4.4835,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2629.159,スタッフ,料理を運ぶ,11,5.613,8.662,7.9387,4.5087,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2666.746,スタッフ,料理を運ぶ,9,5.613,4.962,7.9757,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2732.76,スタッフ,料理を運ぶ,13,5.613,4.962,8.014,4.4673,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2792.719,スタッフ,料理を運ぶ,16,5.613,10.513,12.7527,4.8864,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2792.919,スタッフ,料理を運ぶ,13,15.3,5.95,11.4687,4.4861,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2797.574,スタッフ,料理を運ぶ,9,15.3,5.95,9.8456,4.4958,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2853.078,スタッフ,料理を運ぶ,13,15.3,5.95,11.4717,4.5114,,60.0494,移した
fam_p1_s4_r2_a42,0,2857.732,スタッフ,立ち往生を動かす,0,11.4021,4.4309,9.8577,4.5488,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2887.762,スタッフ,立ち往生を動かす,0,11.3188,4.6604,12.745,4.8939,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2917.891,スタッフ,立ち往生を動かす,0,11.403,4.4474,9.8597,4.5253,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2947.92,スタッフ,立ち往生を動かす,0,11.3519,4.5548,12.7436,4.8964,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2978.05,スタッフ,立ち往生を動かす,0,11.4024,4.4372,9.8574,4.5488,,60.0494,移した
fam_p1_s4_r2_a42,0,3008.079,スタッフ,立ち往生を動かす,0,11.3513,4.5573,12.7697,4.8649,,60.0494,移した
fam_p1_s4_r2_a42,0,3053.223,スタッフ,料理を運ぶ,17,15.3,5.95,11.4682,4.4895,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3053.724,客,ドリンクバー,10,18.8,5.3,9.8445,4.4999,,60,あきらめた
fam_p1_s4_r2_a42,0,3057.427,客,ドリンクバー,10,5.613,6.812,7.0946,4.1655,,60,移した
fam_p1_s4_r2_a42,0,3059.129,客,ドリンクバー,2,1.912,6.613,12.7637,4.8772,,60,移した
fam_p1_s4_r2_a42,0,3101.32,客,ドリンクバー,4,1.912,10.312,1.9912,7.8221,A01,60,移した
fam_p1_s4_r2_a42,0,3116.285,スタッフ,料理を運ぶ,23,15.3,5.95,9.848,4.5072,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3128.497,スタッフ,料理を運ぶ,17,15.3,5.95,11.4705,4.5081,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3139.958,スタッフ,料理を運ぶ,18,9.312,4.962,12.7651,4.8721,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3202.919,スタッフ,料理を運ぶ,18,9.312,4.962,12.7619,4.8761,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3203.77,スタッフ,料理を運ぶ,22,15.3,5.95,11.4723,4.515,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3345.458,客,ドリンクバー,3,18.3,3.9,6.0381,4.5451,,60,あきらめた
fam_p1_s4_r2_a42,0,3359.772,スタッフ,料理を運ぶ,16,5.613,10.513,7.3215,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3371.984,客,ドリンクバー,13,17.3,3.9,5.907,4.5273,,60,あきらめた
fam_p1_s4_r2_a42,0,3429.69,スタッフ,料理を運ぶ,16,5.613,10.513,8.7618,4.5743,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3555.713,スタッフ,呼び出し,12,5.613,10.513,9.0057,4.8081,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3562.42,客,ドリンクバー,2,1.912,6.613,5.5357,4.1518,,60,移した
fam_p1_s4_r2_a42,0,3572.98,客,ドリンクバー,7,18.8,3.9,1.912,8.662,A01,0,あきらめた
fam_p1_s4_r2_a42,0,3584.942,客,ドリンクバー,7,1.912,8.662,4.6688,4.5406,,60,移した
fam_p1_s4_r2_a42,0,3590.147,客,ドリンクバー,6,1.912,6.812,4.6767,4.55,,60,移した
fam_p1_s4_r2_a42,0,3607.714,客,ドリンクバー,5,1.912,4.962,4.6717,4.546,,60,移した
fam_p1_s4_r2_a42,0,3615.872,スタッフ,呼び出し,12,5.613,10.513,8.9638,4.8061,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3676.031,スタッフ,呼び出し,12,5.613,10.513,8.9771,4.7993,,60.0494,移した
fam_p1_s4_r2_a42,0,3736.29,組,片付け,1,1.912,4.762,1.912,4.762,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3740.444,スタッフ,呼び出し,7,1.912,8.662,11.5412,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3773.876,スタッフ,料理を運ぶ,9,15.3,5.95,10.1154,4.5169,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3800.602,スタッフ,立ち往生を動かす,0,4.7312,4.4955,11.5412,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3898.097,スタッフ,片付け,4,1.912,10.312,4.67,4.4879,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3974.472,スタッフ,片付け,3,1.912,8.462,4.6684,4.4562,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4013.11,客,ドリンクバー,6,1.912,6.812,1.9732,5.7487,A01,60,移した
fam_p1_s4_r2_a42,0,4026.673,組,片付け,4,1.912,10.312,1.912,10.312,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4034.631,スタッフ,片付け,3,1.912,8.462,3.1339,4.2676,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4122.487,客,ドリンクバー,20,18.8,3.9,9.312,8.662,A03,0,あきらめた
fam_p1_s4_r2_a42,0,4123.981,客,ドリンクバー,20,18.8,3.9,9.312,8.662,A03,0,あきらめた
fam_p1_s4_r2_a42,0,4214.775,客,トイレ,39,20.263,2.188,17.848,2.5424,,60,移した
fam_p1_s4_r2_a42,0,4279.471,スタッフ,片付け,3,1.912,8.462,5.012,4.562,,60.0494,移した
fam_p1_s4_r2_a42,0,4312.791,スタッフ,片付け,37,15.3,5.95,15.9215,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4347.206,スタッフ,料理を運ぶ,38,15.3,5.95,15.3442,5.4721,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4370.863,客,ドリンクバー,27,13.088,5.962,15.996,5.7154,,60,移した
fam_p1_s4_r2_a42,0,4388.344,スタッフ,呼び出し,26,9.312,12.038,15.9738,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4400.795,スタッフ,料理を運ぶ,20,15.3,5.95,14.7008,5.5285,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4407.071,スタッフ,料理を運ぶ,38,15.3,5.95,15.2788,5.4344,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4463.749,スタッフ,呼び出し,26,9.312,12.038,15.9611,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4466.936,スタッフ,料理を運ぶ,38,15.3,5.95,15.9884,5.6927,,60.0494,移した
fam_p1_s4_r2_a42,0,4472.813,客,トイレ,40,21.362,2.188,17.149,2.4446,,60,移した
fam_p1_s4_r2_a42,0,4475.702,スタッフ,料理を運ぶ,20,15.3,5.95,15.2981,5.4485,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4539.352,スタッフ,呼び出し,26,9.312,12.038,15.9738,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,4543.336,スタッフ,料理を運ぶ,38,15.3,5.95,15.3524,5.481,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4551.056,スタッフ,料理を運ぶ,20,15.3,5.95,14.7185,5.5032,,60.0494,移した
fam_p1_s4_r2_a42,0,4591.049,客,ドリンクバー,21,20.3,3.9,18.1653,4.7256,,60,あきらめた
fam_p1_s4_r2_a42,0,4623.173,スタッフ,料理を運ぶ,1,15.3,5.95,15.6645,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4634.031,スタッフ,料理を運ぶ,20,15.3,5.95,16.0025,6.1772,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4679.602,客,ドリンクバー,31,18.8,3.9,8.488,2.588,,0,あきらめた
fam_p1_s4_r2_a42,0,4726.667,組,片付け,37,18.062,2.188,18.062,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4756.052,スタッフ,料理を運ぶ,4,1.912,10.312,10.9295,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4757.397,スタッフ,料理を運ぶ,7,1.912,8.662,5.009,4.559,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4775.277,客,ドリンクバー,23,17.3,3.9,11.6707,3.6231,,60,あきらめた
fam_p1_s4_r2_a42,0,4815.917,スタッフ,案内,37,0.9,2.1,10.9302,4.5484,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4816.416,組,片付け,5,1.912,4.962,1.912,4.962,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4829.514,スタッフ,料理を運ぶ,7,1.912,8.662,12.5349,4.5472,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4860.692,客,ドリンクバー,20,17.3,3.9,9.5389,4.5606,,60,あきらめた
fam_p1_s4_r2_a42,0,4875.783,スタッフ,案内,37,0.9,2.1,10.9302,4.5484,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4907.309,スタッフ,料理を運ぶ,7,1.912,8.662,11.9934,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,4912.688,組,片付け,12,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4942.82,客,ドリンクバー,20,18.3,3.9,9.8191,4.55,,60,あきらめた
fam_p1_s4_r2_a42,0,4975.84,客,ドリンクバー,22,18.8,3.9,9.388,12.688,A03,0,あきらめた
fam_p1_s4_r2_a42,0,5015.086,組,片付け,2,1.912,6.613,1.912,6.613,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5075.45,スタッフ,料理を運ぶ,4,1.912,10.312,11.9934,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5080.629,スタッフ,料理を運ぶ,19,15.3,5.95,9.8197,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5104.834,組,片付け,10,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5135.315,スタッフ,立ち往生を動かす,0,11.2557,4.3946,11.971,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5157.428,組,会計,40,21.362,2.188,21.362,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5174.71,スタッフ,料理を運ぶ,4,1.912,10.312,5.0118,4.5618,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5195.18,スタッフ,立ち往生を動かす,0,11.2552,4.3969,11.9669,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5238.61,スタッフ,料理を運ぶ,19,15.3,5.95,9.8197,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5247.674,スタッフ,料理を運ぶ,4,1.912,10.312,5.0086,4.5581,,60.0494,移した
fam_p1_s4_r2_a42,0,5255.045,スタッフ,立ち往生を動かす,0,11.2551,4.3974,11.8847,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,5272.377,組,片付け,6,1.912,6.812,1.912,6.812,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5358.091,客,ドリンクバー,24,20.3,3.9,12.4962,4.3854,,60,あきらめた
fam_p1_s4_r2_a42,0,5362.125,組,片付け,9,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5377.963,客,ドリンクバー,7,1.912,8.662,1.6949,7.3278,A01,60,移した
fam_p1_s4_r2_a42,0,5385.434,組,会計,23,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5415.915,スタッフ,案内,40,21.362,2.188,17.1661,2.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5418.405,客,ドリンクバー,7,1.912,8.662,5.5946,4.5495,,60,移した
fam_p1_s4_r2_a42,0,5425.975,客,退店,39,1.8,0.5,16.9902,2.5499,,60,移した
fam_p1_s4_r2_a42,0,5477.971,組,片付け,36,16.963,2.188,16.963,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5515.773,客,会計,14,4.7,3.8,4.5448,3.273,,60,移した
fam_p1_s4_r2_a42,0,5586.147,組,片付け,34,15.238,2.188,15.238,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5627.634,組,会計,20,9.312,8.662,9.312,8.662,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5709.513,客,ドリンクバー,7,1.912,8.662,5.4755,4.2576,,60,移した
fam_p1_s4_r2_a42,0,5717.88,客,会計,17,4.7,3.8,4.5383,3.2764,,60,移した
fam_p1_s4_r2_a42,0,5727.094,客,ドリンクバー,7,1.912,8.662,5.4961,4.2002,,60,移した
fam_p1_s4_r2_a42,0,5770.076,客,ドリンクバー,8,1.912,10.513,5.4953,4.203,,60,移した
fam_p1_s4_r2_a42,0,5775.604,スタッフ,料理を運ぶ,2,1.912,6.613,4.8717,3.2339,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5783.772,組,会計,18,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5806.234,組,会計,33,12.188,2.588,12.188,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5873.819,客,ドリンクバー,1,18.3,3.9,5.9302,3.2743,,60,あきらめた
fam_p1_s4_r2_a42,0,5884.377,スタッフ,料理を運ぶ,2,1.912,6.613,5.2287,4.5731,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5935.079,客,会計,21,4.7,3.8,4.5187,3.2861,,60,移した
fam_p1_s4_r2_a42,0,5935.577,客,ドリンクバー,8,1.912,10.513,5.4467,4.7768,,60,移した
fam_p1_s4_r2_a42,0,5956.246,スタッフ,料理を運ぶ,2,1.912,6.613,4.4655,4.0346,,60.0494,移した
fam_p1_s4_r2_a42,0,5963.916,組,片付け,39,20.263,2.188,20.263,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5971.735,スタッフ,料理を運ぶ,5,1.912,4.962,4.324,4.2151,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5972.731,組,会計,24,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6053.016,組,会計,26,9.312,12.038,9.312,12.038,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6053.664,組,片付け,13,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6065.517,スタッフ,案内,18,9.312,4.962,8.1759,4.5101,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6084.991,客,退店,19,1.8,0.5,9.0303,4.744,,60,移した
fam_p1_s4_r2_a42,0,6118.659,組,会計,30,13.088,10.513,13.088,10.513,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6143.412,組,片付け,11,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6159.15,客,ドリンクバー,8,1.912,10.513,2.232,4.668,A01,60,移した
fam_p1_s4_r2_a42,0,6180.018,客,ドリンクバー,5,1.912,4.962,2.429,4.508,,60,移した
fam_p1_s4_r2_a42,0,6186.094,スタッフ,料理を運ぶ,9,5.613,4.962,8.7938,3.7491,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6187.588,客,ドリンクバー,3,1.912,8.462,9.0303,4.7408,,60,移した
fam_p1_s4_r2_a42,0,6230.171,客,ドリンクバー,7,1.912,8.662,2.1871,4.6314,A01,60,移した
fam_p1_s4_r2_a42,0,6255.771,組,片付け,14,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6279.876,客,会計,22,4.7,4.3,8.9,4.7943,,60,移した
fam_p1_s4_r2_a42,0,6290.684,組,会計,28,13.088,6.812,13.088,6.812,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6328.137,客,ドリンクバー,7,1.912,8.662,9.0302,4.7411,,60,移した
fam_p1_s4_r2_a42,0,6352.143,スタッフ,料理を運ぶ,34,15.3,5.95,6.9058,4.5135,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6368.579,組,片付け,16,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6383.57,客,ドリンクバー,1,1.912,4.762,9.0313,4.7424,,60,移した
fam_p1_s4_r2_a42,0,6392.634,客,ドリンクバー,8,1.912,10.513,5.9919,3.6579,,60,移した
fam_p1_s4_r2_a42,0,6460.07,スタッフ,料理を運ぶ,9,5.613,4.962,9.0363,4.729,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6472.969,組,片付け,17,5.613,13.888,5.613,13.888,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6516.847,組,会計,27,13.088,5.962,13.088,5.962,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6538.263,組,会計,25,9.312,8.662,9.312,8.662,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6543.194,客,退店,22,1.8,0.5,9.0298,4.7449,,60,移した
fam_p1_s4_r2_a42,0,6564.162,客,ドリンクバー,12,5.613,10.513,7.387,3.7582,,60,移した
fam_p1_s4_r2_a42,0,6598.079,客,会計,29,4.7,4.3,9.0376,4.7305,,60,移した
fam_p1_s4_r2_a42,0,6622.931,組,片付け,19,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6653.76,組,会計,32,10.338,2.588,10.338,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6712.679,組,片付け,21,9.312,12.038,9.312,12.038,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6731.207,客,ドリンクバー,10,17.3,3.9,5.8,4.8028,A02,60,あきらめた
fam_p1_s4_r2_a42,0,6766.568,客,ドリンクバー,1,18.3,3.9,4.8232,4.5441,,60,あきらめた
fam_p1_s4_r2_a42,0,6769.656,客,ドリンクバー,3,19.3,3.9,4.3377,4.2526,,60,あきらめた
fam_p1_s4_r2_a42,0,6780.762,スタッフ,料理を運ぶ,18,9.312,4.962,11.6061,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6784.896,組,会計,29,13.088,8.662,13.088,8.662,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6801.232,客,ドリンクバー,2,1.912,6.613,5.0011,3.9669,,60,移した
fam_p1_s4_r2_a42,0,6817.767,組,片付け,41,22.463,2.188,22.463,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6841.424,客,ドリンクバー,3,1.912,8.462,5.0061,4.5561,,60,移した
fam_p1_s4_r2_a42,0,6845.957,組,会計,31,8.488,2.588,8.488,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6942.727,客,ドリンクバー,2,1.912,6.613,4.4987,4.55,,60,移した
fam_p1_s4_r2_a42,0,6975.997,スタッフ,料理を運ぶ,24,9.312,6.812,11.8126,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6991.386,組,片付け,15,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7081.134,組,片付け,22,9.388,12.688,9.388,12.688,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7122.821,組,会計,7,1.912,8.662,1.912,8.662,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7279.955,客,ドリンクバー,20,18.8,3.9,9.312,8.662,A03,0,あきらめた
fam_p1_s4_r2_a42,0,7306.002,組,片付け,8,1.912,10.513,1.912,10.513,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7335.188,客,ドリンクバー,4,1.912,10.312,1.9964,8.6443,A01,60,移した
fam_p1_s4_r2_a42,0,7353.666,客,ドリンクバー,20,9.312,8.662,12.5937,4.3363,,60,移した
fam_p1_s4_r2_a42,0,7396.597,客,ドリンクバー,10,5.613,6.812,8.9255,4.3387,,60,移した
fam_p1_s4_r2_a42,0,7445.157,スタッフ,片付け,8,1.912,10.513,12.6,5.2559,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7467.32,スタッフ,料理を運ぶ,14,5.613,6.812,12.6,4.9899,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7486.943,スタッフ,片付け,1,15.3,5.95,11.3347,4.5102,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7530.173,スタッフ,料理を運ぶ,14,5.613,6.812,12.6,4.8776,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7531.717,スタッフ,料理を運ぶ,19,9.312,6.812,12.6,5.2834,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7554.528,スタッフ,呼び出し,2,1.912,6.613,12.823,5.3461,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7561.351,組,片付け,1,1.912,4.762,1.912,4.762,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7590.039,スタッフ,立ち往生を動かす,0,12.306,5.0903,12.6,4.8991,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7594.87,スタッフ,料理を運ぶ,14,5.613,6.812,12.8358,5.3484,,60.0494,移した
fam_p1_s4_r2_a42,0,7616.933,スタッフ,料理を運ぶ,19,9.312,6.812,12.6,5.2797,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7664.646,スタッフ,料理を運ぶ,14,15.3,5.95,14.4709,4.7914,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7664.945,スタッフ,呼び出し,9,5.613,4.962,12.6,4.8837,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7679.587,スタッフ,料理を運ぶ,19,9.312,6.812,12.6,5.276,,60.0494,移した
fam_p1_s4_r2_a42,0,7724.81,スタッフ,立ち往生を動かす,0,12.3089,5.0942,12.6,4.8991,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7725.557,スタッフ,料理を運ぶ,25,9.312,8.662,12.9075,5.3601,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7749.812,客,ドリンクバー,16,18.8,3.9,5.613,10.513,A02,0,あきらめた
fam_p1_s4_r2_a42,0,7766.895,客,ドリンクバー,4,1.912,10.312,5.0174,4.5523,,60,移した
fam_p1_s4_r2_a42,0,7781.986,スタッフ,料理を運ぶ,28,15.3,5.95,12.2346,4.4623,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7784.675,スタッフ,立ち往生を動かす,0,12.9743,4.9623,12.6055,5.1183,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7788.809,スタッフ,料理を運ぶ,25,9.312,8.662,13.0808,5.3477,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7800.463,スタッフ,呼び出し,23,9.312,4.962,12.6,5.2686,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7822.079,客,ドリンクバー,2,1.912,6.613,5.0176,4.5524,,60,移した
fam_p1_s4_r2_a42,0,7841.851,スタッフ,料理を運ぶ,28,15.3,5.95,12.2339,4.4653,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7851.214,スタッフ,料理を運ぶ,25,9.312,8.662,12.9763,5.3669,,60.0494,移した
fam_p1_s4_r2_a42,0,7863.566,スタッフ,呼び出し,23,9.312,4.962,12.6308,4.665,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7891.257,客,ドリンクバー,4,1.912,10.312,1.9837,7.7654,A01,60,移した
fam_p1_s4_r2_a42,0,7923.431,スタッフ,呼び出し,23,9.312,4.962,11.1516,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,7929.408,客,トイレ,39,20.263,2.188,17.9395,2.3715,,60,移した
fam_p1_s4_r2_a42,0,7974.282,客,ドリンクバー,21,18.8,3.9,9.312,12.038,A03,0,あきらめた
fam_p1_s4_r2_a42,0,7982.749,客,ドリンクバー,24,9.312,6.812,12.4478,4.4016,,60,移した
fam_p1_s4_r2_a42,0,8011.137,客,ドリンクバー,23,9.312,4.962,9.5286,4.5626,,60,移した
fam_p1_s4_r2_a42,0,8011.934,客,ドリンクバー,24,9.312,6.812,9.0844,5.3378,A03,60,移した
fam_p1_s4_r2_a42,0,8015.221,客,ドリンクバー,18,9.312,4.962,9.753,4.5255,,60,移した
fam_p1_s4_r2_a42,0,8018.508,客,ドリンクバー,13,5.613,4.962,8.1908,4.5282,,60,移した
fam_p1_s4_r2_a42,0,8103.077,客,トイレ,25,9.312,8.662,5.4857,14.0491,A02,60,移した
fam_p1_s4_r2_a42,0,8287.554,スタッフ,片付け,3,1.912,8.462,7.2781,14.3355,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8294.775,客,トイレ,40,21.362,2.188,18.1734,4.7636,,60,移した
fam_p1_s4_r2_a42,0,8407.633,スタッフ,片付け,12,5.613,10.513,6.1446,4.3685,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8407.932,客,ドリンクバー,16,5.613,10.513,5.6681,4.7963,,60,移した
fam_p1_s4_r2_a42,0,8415.203,客,ドリンクバー,21,18.8,3.9,9.312,12.038,A03,0,あきらめた
fam_p1_s4_r2_a42,0,8465.556,客,ドリンクバー,41,18.8,3.9,22.463,2.188,,0,あきらめた
fam_p1_s4_r2_a42,0,8542.305,客,ドリンクバー,8,1.912,10.513,5.0179,4.5569,,60,移した
fam_p1_s4_r2_a42,0,8544.895,客,ドリンクバー,29,13.088,8.662,15.9765,6.25,,60,移した
fam_p1_s4_r2_a42,0,8550.224,スタッフ,片付け,12,15.3,5.95,15.0797,5.4071,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8570.942,スタッフ,片付け,37,15.3,5.95,15.88,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8598.584,客,ドリンクバー,30,20.3,3.9,14.6156,6.2337,,60,あきらめた
fam_p1_s4_r2_a42,0,8625.13,スタッフ,料理を運ぶ,42,15.3,5.95,15.9984,5.7089,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8630.808,スタッフ,料理を運ぶ,24,15.3,5.95,15.9147,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8642.113,スタッフ,料理を運ぶ,16,15.3,5.95,15.4227,5.2239,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8645.052,組,会計,36,16.963,2.188,16.963,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8690.673,スタッフ,料理を運ぶ,42,15.3,5.95,15.7966,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8700.036,スタッフ,料理を運ぶ,24,15.3,5.95,15.742,5.8673,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8701.979,スタッフ,料理を運ぶ,16,15.3,5.95,15.763,5.3817,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8726.134,組,会計,9,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8761.844,スタッフ,料理を運ぶ,42,15.3,5.95,15.8247,5.4368,,60.0494,移した
fam_p1_s4_r2_a42,0,8765.579,スタッフ,料理を運ぶ,24,15.3,5.95,15.7608,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,8774.992,スタッフ,料理を運ぶ,16,15.3,5.95,15.9056,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,8785.401,スタッフ,料理を運ぶ,33,15.3,5.95,15.9047,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8836.7,スタッフ,料理を運ぶ,42,15.3,5.95,16.0129,6.2066,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8840.087,組,片付け,12,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8843.623,スタッフ,料理を運ぶ,24,15.3,5.95,15.3874,5.2262,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8860.457,スタッフ,料理を運ぶ,16,15.3,5.95,15.9847,5.6858,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8875.349,スタッフ,料理を運ぶ,33,15.3,5.95,15.9011,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8929.835,組,片付け,37,18.062,2.188,18.062,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8935.363,スタッフ,料理を運ぶ,33,15.3,5.95,15.9952,5.7073,,60.0494,移した
fam_p1_s4_r2_a42,0,8950.255,スタッフ,会計,40,4.7,1.75,15.9716,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9009.622,スタッフ,料理を運ぶ,33,15.3,5.95,16.0198,5.783,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9019.583,組,片付け,5,1.912,4.962,1.912,4.962,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9040.202,スタッフ,案内,12,0.9,2.1,15.9716,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9069.487,スタッフ,料理を運ぶ,38,15.3,5.95,16.0252,5.8088,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9076.908,スタッフ,料理を運ぶ,1,15.3,5.95,15.908,5.5476,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9109.331,組,片付け,2,1.912,6.613,1.912,6.613,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9149.225,客,ドリンクバー,7,1.912,8.662,2.0094,5.9269,A01,60,移した
fam_p1_s4_r2_a42,0,9233.544,組,片付け,10,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9246.244,スタッフ,料理を運ぶ,27,15.3,5.95,5.8,4.8071,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9297.194,客,ドリンクバー,11,19.3,3.9,5.6955,5.1804,A02,60,あきらめた
fam_p1_s4_r2_a42,0,9306.109,スタッフ,料理を運ぶ,27,15.3,5.95,5.8,4.7991,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9312.684,スタッフ,片付け,10,15.3,5.95,5.406,4.8105,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9323.292,組,片付け,4,1.912,10.312,1.912,10.312,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9358.305,客,ドリンクバー,7,20.3,3.9,4.9316,4.5167,,60,あきらめた
fam_p1_s4_r2_a42,0,9365.975,スタッフ,料理を運ぶ,27,15.3,5.95,5.8,4.7991,,60.0494,移した
fam_p1_s4_r2_a42,0,9372.549,スタッフ,片付け,40,21.362,2.188,5.8,4.8071,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9393.865,スタッフ,片付け,4,15.3,5.95,4.9318,4.5477,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9398.397,組,会計,16,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9447.555,スタッフ,呼び出し,29,13.088,8.662,5.8,4.7997,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9451.141,組,会計,13,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9453.73,スタッフ,呼び出し,19,9.312,6.812,4.9318,4.5477,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9504.73,組,会計,18,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9513.596,スタッフ,呼び出し,29,13.088,8.662,4.9373,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9522.461,スタッフ,呼び出し,19,9.312,6.812,5.8,4.7997,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9541.387,客,ドリンクバー,8,1.912,10.513,1.969,9.012,A01,60,移した
fam_p1_s4_r2_a42,0,9573.461,スタッフ,呼び出し,29,13.088,8.662,4.9373,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,9612.408,スタッフ,呼び出し,19,9.312,6.812,5.8,4.7997,,60.0494,移した
fam_p1_s4_r2_a42,0,9661.316,スタッフ,立ち往生を動かす,0,6.4423,4.4987,7.0789,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9667.343,スタッフ,料理を運ぶ,9,5.613,4.962,6.0884,3.9919,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9721.182,スタッフ,立ち往生を動かす,0,6.4455,4.4747,7.1402,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9736.92,組,会計,33,12.188,2.588,12.188,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9751.463,組,片付け,24,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9781.047,スタッフ,立ち往生を動かす,0,6.446,4.4709,7.1008,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,9795.938,客,ドリンクバー,8,1.912,10.513,2.0544,5.1257,A01,60,移した
fam_p1_s4_r2_a42,0,9853.413,スタッフ,料理を運ぶ,14,5.613,6.812,8.1978,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9855.854,スタッフ,片付け,20,9.312,8.662,5.8541,4.5366,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9863.225,組,片付け,20,9.312,8.662,9.312,8.662,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9915.719,スタッフ,料理を運ぶ,14,15.3,5.95,5.8547,4.5357,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9938.081,スタッフ,料理を運ぶ,12,5.613,10.513,8.1978,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9968.113,組,会計,29,13.088,8.662,13.088,8.662,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9977.078,組,片付け,6,1.912,6.812,1.912,6.812,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9978.423,スタッフ,片付け,6,15.3,5.95,5.8542,4.537,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9997.946,スタッフ,立ち往生を動かす,0,7.3648,4.4505,8.0077,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10036.94,スタッフ,料理を運ぶ,14,15.3,5.95,12.5621,4.6079,,60.0494,移した
fam_p1_s4_r2_a42,0,10057.81,スタッフ,立ち往生を動かす,0,7.3632,4.4629,8.1752,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10066.83,組,片付け,23,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10082.71,スタッフ,料理を運ぶ,12,15.3,5.95,7.1062,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10101.59,組,会計,27,13.088,5.962,13.088,5.962,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10142.58,スタッフ,片付け,39,20.263,2.188,6.7859,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10229.59,組,会計,21,9.312,12.038,9.312,12.038,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10233.87,スタッフ,料理を運ぶ,15,5.613,8.662,7.2336,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10244.18,客,ドリンクバー,11,17.3,3.9,5.8357,4.5724,,60,あきらめた
fam_p1_s4_r2_a42,0,10297.27,組,会計,31,8.488,2.588,8.488,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10299.12,組,会計,19,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10321.88,スタッフ,料理を運ぶ,15,5.613,8.662,7.2336,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10324.76,組,会計,32,10.338,2.588,10.338,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10357.44,組,会計,25,9.312,8.662,9.312,8.662,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10412.42,客,ドリンクバー,9,17.3,3.9,6.152,4.55,,60,あきらめた
fam_p1_s4_r2_a42,0,10454.31,スタッフ,片付け,14,5.613,6.812,7.2336,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10514.17,スタッフ,片付け,14,5.613,6.812,7.1708,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10541.76,客,ドリンクバー,15,17.3,3.9,5.7846,4.6003,,60,あきらめた
fam_p1_s4_r2_a42,0,10573.99,スタッフ,片付け,14,5.613,6.812,7.1708,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,10673.7,スタッフ,片付け,14,15.3,5.95,5.7945,4.6219,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10827.14,スタッフ,片付け,14,5.613,6.812,8.7741,4.5442,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10887.01,スタッフ,片付け,14,5.613,6.812,8.2651,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,10961.07,組,片付け,14,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10999.87,スタッフ,片付け,14,5.613,6.812,7.1753,4.5314,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11122.83,スタッフ,片付け,8,1.912,10.513,4.5414,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11182.7,スタッフ,片付け,8,1.912,10.513,4.5657,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11206.06,客,ドリンクバー,12,5.613,10.513,5.673,9.9377,A02,60,移した
```

#### groups.csv

```text
condition_id,seed,group_id,size,table_id,table_seats,arrive_s,guide_start_s,seated_s,eat_end_s,pay_start_s,pay_s,left_s,waited_min,warmup,state
fam_p1_s4_r2_a42,0,1,4,0,0,56.4194,56.4194,119.6227,2680.48,2871.346,3135.604,3135.604,1.0534,0,Done
fam_p1_s4_r2_a42,0,2,3,0,0,95.8213,95.8213,161.6753,4191.449,4197.841,4417.331,4417.331,1.0976,0,Done
fam_p1_s4_r2_a42,0,3,4,3,4,103.0217,103.0217,289.2729,3544.787,3544.803,3751.104,3751.104,3.1042,0,Done
fam_p1_s4_r2_a42,0,4,2,0,0,334.1619,334.1619,408.1439,4688.319,4688.368,4988.391,4988.391,1.233,0,Done
fam_p1_s4_r2_a42,0,5,1,35,2,424.5898,424.5898,499.3216,3300.579,3300.615,3558.266,3558.266,1.2455,0,Done
fam_p1_s4_r2_a42,0,6,4,0,0,434.8373,434.8373,504.8702,3021.482,3101.37,3425.987,3425.987,1.1672,0,Done
fam_p1_s4_r2_a42,0,7,1,0,0,485.9749,485.9749,681.927,4134.755,4616.151,4880.215,4880.215,3.2659,0,Done
fam_p1_s4_r2_a42,0,8,3,0,0,585.1506,585.1506,768.8558,3980.904,4034.43,4218.66,4218.66,3.0618,0,Done
fam_p1_s4_r2_a42,0,9,4,0,0,680.8273,680.8273,865.1323,4418.67,4418.675,4674.622,4674.622,3.0718,0,Done
fam_p1_s4_r2_a42,0,10,4,7,4,802.0977,802.0977,870.8809,3768.332,3820.522,3928.427,3928.427,1.1464,0,Done
fam_p1_s4_r2_a42,0,11,2,0,0,1057.526,1057.526,1574.731,4023.338,4023.37,4128.912,4128.912,8.6201,0,Done
fam_p1_s4_r2_a42,0,12,2,38,2,1120.337,1120.337,1586.692,4599.002,4599.018,5103.091,5103.091,7.7726,0,Done
fam_p1_s4_r2_a42,0,13,2,0,0,1296.81,1296.81,1613.218,5036.617,5036.652,5366.16,5366.16,5.2735,0,Done
fam_p1_s4_r2_a42,0,14,3,0,0,1336.398,1336.398,2242.032,6339.469,6392.684,6708.247,6708.247,15.0939,0,Done
fam_p1_s4_r2_a42,0,15,2,0,0,1393.053,1393.053,1662.416,4559.681,4559.722,-1,5157.428,4.4894,0,Done
fam_p1_s4_r2_a42,0,16,2,0,0,1403.864,1403.864,1676.98,4880.774,5936.423,6220.011,6220.011,4.5519,0,Done
fam_p1_s4_r2_a42,0,17,3,0,0,1463.122,1463.122,1693.797,4517.555,4517.587,4764.37,4764.37,3.8446,0,Done
fam_p1_s4_r2_a42,0,18,3,0,0,1528.285,1528.285,1754.606,4093.453,4146.044,4507.079,4507.079,3.772,0,Done
fam_p1_s4_r2_a42,0,19,1,0,0,1563.37,1563.37,1760.962,5266.936,5266.949,5545.656,5545.656,3.2932,0,Done
fam_p1_s4_r2_a42,0,20,1,0,0,1635.24,1635.24,1826.977,4104.584,4104.607,4314.932,4314.932,3.1956,0,Done
fam_p1_s4_r2_a42,0,21,4,0,0,1646.951,1646.951,1853.002,4859.715,4859.746,5455.908,5455.908,3.4342,0,Done
fam_p1_s4_r2_a42,0,22,2,0,0,1715.818,1715.818,1911.259,5261.307,5372.186,5658.015,5658.015,3.2573,0,Done
fam_p1_s4_r2_a42,0,23,4,0,0,1989.635,1989.635,2136.779,6061.49,6061.533,6393.63,6393.63,2.4524,0,Done
fam_p1_s4_r2_a42,0,24,2,0,0,1990.787,1990.787,2203.094,5173.748,5173.764,5770.823,5770.823,3.5385,0,Done
fam_p1_s4_r2_a42,0,25,2,0,0,1991.838,1991.838,2274.413,5496.113,5496.15,5875.213,5875.213,4.7096,0,Done
fam_p1_s4_r2_a42,0,26,4,0,0,2012.107,2012.107,2296.635,5186.019,5186.066,-1,5783.772,4.7421,0,Done
fam_p1_s4_r2_a42,0,27,2,0,0,2058.953,2058.953,2314.102,5267.458,5461.336,6025.175,6025.175,4.2525,0,Done
fam_p1_s4_r2_a42,0,28,4,0,0,2154.296,2154.296,2342.63,5029.908,5029.928,-1,5627.634,3.1389,0,Done
fam_p1_s4_r2_a42,0,29,3,0,0,2167.309,2167.309,2357.695,5605.242,5605.272,6114.923,6114.923,3.1731,0,Done
fam_p1_s4_r2_a42,0,30,1,0,0,2169.461,2169.461,2393.329,5310.566,5936.423,6483.378,6483.378,3.7311,0,Done
fam_p1_s4_r2_a42,0,31,3,0,0,2253.443,2253.443,2378.165,4734.205,4787.728,-1,5385.434,2.0787,0,Done
fam_p1_s4_r2_a42,0,32,2,0,0,2282.321,2282.321,2418.654,5337.281,5375.025,-1,5972.731,2.2722,0,Done
fam_p1_s4_r2_a42,0,33,2,0,0,2345.483,2345.483,2490.524,5917.904,5940.557,-1,6538.263,2.4174,0,Done
fam_p1_s4_r2_a42,0,34,2,0,0,2396.883,2396.883,2524.107,5455.28,5455.31,-1,6053.016,2.1204,0,Done
fam_p1_s4_r2_a42,0,35,3,0,0,2498.782,2498.782,2599.531,5919.126,5919.141,-1,6516.847,1.6791,0,Done
fam_p1_s4_r2_a42,0,36,2,0,0,2609.74,2609.74,2729.407,5692.94,5692.978,-1,6290.684,1.9944,0,Done
fam_p1_s4_r2_a42,0,37,2,0,0,2689.719,2689.719,2827.603,6187.167,6187.19,-1,6784.896,2.2981,0,Done
fam_p1_s4_r2_a42,0,38,2,0,0,2699.979,2699.979,2959.582,5490.148,5520.953,-1,6118.659,4.3267,0,Done
fam_p1_s4_r2_a42,0,39,3,0,0,2778.455,2778.455,3041.261,6248.234,6248.25,-1,6845.957,4.3801,0,Done
fam_p1_s4_r2_a42,0,40,2,0,0,2853.178,2853.178,3073.693,6056.042,6056.054,-1,6653.76,3.6753,0,Done
fam_p1_s4_r2_a42,0,41,2,0,0,2928.401,2928.401,3260.325,5169.352,5208.528,-1,5806.234,5.5321,0,Done
fam_p1_s4_r2_a42,0,42,3,42,6,2934.758,2934.758,3300.765,6623.57,6793.662,7053.343,7053.343,6.1001,0,Done
fam_p1_s4_r2_a42,0,43,4,0,0,3068.388,3736.34,3833.334,6749.176,6773.889,6963.595,6963.595,12.7491,0,Done
fam_p1_s4_r2_a42,0,44,4,0,0,3095.114,4026.723,4117.855,8506.873,8506.894,8725.536,8725.536,17.0457,0,Done
fam_p1_s4_r2_a42,0,45,2,35,2,3388.5,3962.811,4040.436,7708.114,7708.125,8040.373,8040.373,10.8656,0,Done
fam_p1_s4_r2_a42,0,46,4,0,0,3429.04,4119.349,4178.567,6436.323,6525.115,-1,7122.821,12.4921,0,Done
fam_p1_s4_r2_a42,0,47,2,3,4,3501.611,4319.415,4563.308,7742.867,7742.889,8130.121,8130.121,17.695,0,Done
fam_p1_s4_r2_a42,0,48,1,0,0,3557.715,4726.717,4950.888,8113.231,8113.237,8332.079,8332.079,23.2196,0,Done
fam_p1_s4_r2_a42,0,49,1,0,0,3706.861,4816.465,5008.263,8090.713,8090.725,8421.827,8421.827,21.69,0,Done
fam_p1_s4_r2_a42,0,50,2,0,0,3721.075,4912.738,5121.668,7781.097,7781.139,8242.331,8242.331,23.3432,0,Done
fam_p1_s4_r2_a42,0,51,4,0,0,3745.599,5015.136,5295.686,8156.133,8207.069,8511.575,8511.575,25.8348,0,Done
fam_p1_s4_r2_a42,0,52,4,0,0,3775.528,5104.884,5345.242,8044.704,8044.706,8635.788,8635.788,26.1619,0,Done
fam_p1_s4_r2_a42,0,53,3,0,0,3801.954,5272.427,5377.814,9065.854,9065.901,9379.322,9379.322,26.2643,0,Done
fam_p1_s4_r2_a42,0,54,2,40,2,3836.537,5157.478,5503.571,8708.802,8708.802,9063.959,9063.959,27.7839,0,Done
fam_p1_s4_r2_a42,0,55,2,0,0,3839.59,5362.175,5437.131,8128.407,8128.427,-1,8726.134,26.6257,0,Done
fam_p1_s4_r2_a42,0,56,4,0,0,4067.963,5385.484,5482.454,8726.935,9130.1,9469.07,9469.07,23.5748,0,Done
fam_p1_s4_r2_a42,0,57,3,0,0,4121.64,5627.684,5794.978,8851.984,8851.99,9265.469,9265.469,27.889,0,Done
fam_p1_s4_r2_a42,0,58,2,0,0,4134.291,5478.021,5555.617,7877.603,8047.345,-1,8645.052,23.6888,0,Done
fam_p1_s4_r2_a42,0,59,1,34,2,4195.102,5586.197,5774.16,9717.56,9758.685,10060,10060,26.3176,0,Done
fam_p1_s4_r2_a42,0,60,4,0,0,4211.936,5783.822,6136.937,8828.208,8907.024,-1,9504.73,32.0834,0,Done
fam_p1_s4_r2_a42,0,61,2,38,2,4484.119,5695.169,5878.65,9305.553,9305.562,9648.566,9648.566,23.2422,0,Done
fam_p1_s4_r2_a42,0,62,2,0,0,4606.987,5806.284,6066.862,9139.194,9139.214,-1,9736.92,24.3313,0,Done
fam_p1_s4_r2_a42,0,63,1,39,2,4689.912,5963.965,6114.874,9240.238,9284.893,9850.076,9850.076,23.7494,0,Done
fam_p1_s4_r2_a42,0,64,4,0,0,4804.462,5972.781,6182.957,8678.932,8783.857,9153.707,9153.707,22.9749,0,Done
fam_p1_s4_r2_a42,0,65,1,26,4,4911.941,6053.066,6288.393,9862.837,9862.876,10149.75,10149.75,22.9409,0,Done
fam_p1_s4_r2_a42,0,66,4,0,0,5006.122,6053.713,6275.743,8853.39,8853.435,-1,9451.141,21.1604,0,Done
fam_p1_s4_r2_a42,0,67,2,30,4,5028.982,6118.708,6375.551,9012.543,9725.315,9948.391,9948.391,22.4428,0,Done
fam_p1_s4_r2_a42,0,68,2,11,4,5136.162,6143.461,6432.827,10848.64,10988.66,11082.74,11082.74,21.6111,0,Done
fam_p1_s4_r2_a42,0,69,1,0,0,5215.899,6255.821,6518.64,10069.62,10069.62,10363.31,10363.31,21.7124,0,Done
fam_p1_s4_r2_a42,0,70,1,28,4,5239.307,6290.734,6608.438,9869.357,9869.4,10251.6,10251.6,22.8189,0,Done
fam_p1_s4_r2_a42,0,71,3,0,0,5301.663,6368.628,6651.419,8708.556,8800.691,-1,9398.397,22.496,0,Done
fam_p1_s4_r2_a42,0,72,2,17,4,5395.345,6473.019,6704.91,10160.99,10161.01,10453.06,10453.06,21.8261,0,Done
fam_p1_s4_r2_a42,0,73,1,0,0,5456.356,6516.897,6722.142,9503.869,9503.884,-1,10101.59,21.0964,0,Done
fam_p1_s4_r2_a42,0,74,1,0,0,5548.096,6538.313,6744.355,9759.715,9759.73,-1,10357.44,19.9377,0,Done
fam_p1_s4_r2_a42,0,75,3,0,0,5629.577,6622.981,6794.857,9701.362,9701.409,-1,10299.12,19.4213,0,Done
fam_p1_s4_r2_a42,0,76,4,0,0,5677.439,6653.81,6867.572,9706.675,9727.059,-1,10324.76,19.8356,0,Done
fam_p1_s4_r2_a42,0,77,4,0,0,5841.844,6712.729,6893.271,9631.838,9631.882,-1,10229.59,17.5238,0,Done
fam_p1_s4_r2_a42,0,78,3,0,0,5867.095,6784.946,6951.542,9370.382,9370.407,-1,9968.113,18.0741,0,Done
fam_p1_s4_r2_a42,0,79,4,0,0,5996.538,6846.006,7063.155,9699.545,9699.566,-1,10297.27,17.777,0,Done
fam_p1_s4_r2_a42,0,80,2,41,2,6221.306,6817.817,7035.912,10007.24,10007.26,10542.81,10542.81,13.5768,0,Done
fam_p1_s4_r2_a42,0,81,2,15,4,6223.149,6991.436,7145.133,10978.61,10995.68,11184.34,11184.34,15.3664,0,Done
fam_p1_s4_r2_a42,0,82,1,22,4,6255.472,7081.184,7217.101,10192.26,10192.28,10642.57,10642.57,16.0272,0,Done
fam_p1_s4_r2_a42,0,83,2,7,4,6311.552,7122.871,7233.835,10390.31,10390.31,10755.18,10755.18,15.3714,0,Done
fam_p1_s4_r2_a42,0,84,2,8,4,6480.44,7306.052,7385.341,10771.05,10771.06,10946.03,10946.03,15.0817,0,Done
fam_p1_s4_r2_a42,0,85,2,42,6,6547.875,7422.545,7578.285,10442.88,10442.9,10844.92,10844.92,17.1735,0,Done
fam_p1_s4_r2_a42,0,86,4,1,4,6637.524,7561.401,7938.024,12850.06,12850.06,13140.42,13140.42,21.675,0,Done
fam_p1_s4_r2_a42,0,87,3,3,4,6639.666,8481.045,8539.018,12824.55,12849.86,13038.82,13038.82,31.6559,0,Done
fam_p1_s4_r2_a42,0,88,2,35,2,6801.63,8321.371,8401.158,11214.39,11214.43,11324.34,11324.34,26.6588,0,Done
fam_p1_s4_r2_a42,0,89,3,9,4,7023.46,8726.184,8983.275,12215.52,12215.55,12316.06,12316.06,32.6636,0,Done
fam_p1_s4_r2_a42,0,90,4,12,4,7091.245,8840.137,9147.681,12837.28,12837.31,12937.82,12937.82,34.2739,0,Done
fam_p1_s4_r2_a42,0,91,2,36,2,7102.401,8645.102,8918.33,12558.06,12558.11,12659.16,12659.16,30.2655,0,Done
```

#### dishes.csv

```text
condition_id,seed,t_s,dish_id,table_id,robot_id,fragile,ready_s,waited_s,requeued_so_far,why
fam_p1_s4_r2_a42,0,1519.327,6,2,2,0,858.7338,660.5928,1,打ち切り
fam_p1_s4_r2_a42,0,2145.087,6,2,2,0,858.7338,1286.353,2,打ち切り
fam_p1_s4_r2_a42,0,2145.087,14,6,2,0,1357.519,787.5684,1,打ち切り
fam_p1_s4_r2_a42,0,3356.119,44,15,2,0,2671.901,684.2175,1,打ち切り
fam_p1_s4_r2_a42,0,3356.119,46,8,2,0,2689.819,666.3,1,打ち切り
fam_p1_s4_r2_a42,0,5263.761,95,41,1,1,4513.553,750.208,1,打ち切り
fam_p1_s4_r2_a42,0,5353.808,99,4,2,0,4627.506,726.3018,1,打ち切り
fam_p1_s4_r2_a42,0,6599.224,121,6,2,0,5948.924,650.2998,1,打ち切り
fam_p1_s4_r2_a42,0,7933.292,162,11,2,0,7335.537,597.7559,1,打ち切り
fam_p1_s4_r2_a42,0,9077.605,194,1,1,0,8479.85,597.7559,1,打ち切り
fam_p1_s4_r2_a42,0,9725.266,194,1,1,0,8479.85,1245.416,2,打ち切り
fam_p1_s4_r2_a42,0,10037.79,213,3,2,0,9440.034,597.7559,1,打ち切り
fam_p1_s4_r2_a42,0,10323.02,217,12,1,0,9694.486,628.5352,1,打ち切り
fam_p1_s4_r2_a42,0,10323.02,194,1,1,0,8479.85,1843.172,3,打ち切り
fam_p1_s4_r2_a42,0,10660.5,213,3,2,0,9440.034,1220.464,2,打ち切り
```

#### contacts.csv

```text
condition_id,seed,t_s,x,z,aisle,place,who,careless,robot_id,gap_cm
fam_p1_s4_r2_a42,0,0.02,15.2028,5.3034,,,スタッフ:Staff01,0,2,-26.8368
fam_p1_s4_r2_a42,0,0.02,15.3505,5.5063,,,スタッフ:Staff02,0,2,-9.0114
fam_p1_s4_r2_a42,0,0.02,15.422,6.25,,,スタッフ:Staff03,1,1,-12.6161
fam_p1_s4_r2_a42,0,0.02,15.5939,5.7531,,,スタッフ:Staff04,0,1,-9.6257
fam_p1_s4_r2_a42,0,554.6581,14.7581,5.9297,,,スタッフ:Staff01,0,1,9.2258
fam_p1_s4_r2_a42,0,570.8541,14.7592,5.9327,,,スタッフ:Staff02,0,1,9.1126
fam_p1_s4_r2_a42,0,592.7988,14.8152,5.7049,,,スタッフ:Staff01,0,1,9.3211
fam_p1_s4_r2_a42,0,613.9436,14.8312,5.7137,,,スタッフ:Staff02,0,1,7.5004
fam_p1_s4_r2_a42,0,656.9331,14.7592,5.9327,,,スタッフ:Staff02,0,1,9.1126
fam_p1_s4_r2_a42,0,702.322,14.8521,5.7206,,,スタッフ:Staff02,1,1,5.3269
fam_p1_s4_r2_a42,0,711.1199,14.7592,5.9327,,,スタッフ:Staff02,0,1,9.1126
fam_p1_s4_r2_a42,0,749.0606,14.8202,5.7045,,,スタッフ:Staff02,0,1,8.8964
fam_p1_s4_r2_a42,0,1068.787,1.5263,5.0708,A01,,スタッフ:Staff01,0,1,9.6343
fam_p1_s4_r2_a42,0,1100.568,1.5859,4.9838,A01,,客:Guest(Clone),0,1,-0.322
fam_p1_s4_r2_a42,0,1128.896,1.5267,5.0749,A01,,スタッフ:Staff03,0,1,9.8617
fam_p1_s4_r2_a42,0,1164.581,1.6493,5.1887,A01,,客:Guest(Clone),0,1,9.9272
fam_p1_s4_r2_a42,0,1232.897,2.1438,5.2397,A01,,スタッフ:Staff04,0,1,9.1104
fam_p1_s4_r2_a42,0,1233.798,2.3569,4.5297,,,スタッフ:Staff02,0,1,-0.0151
fam_p1_s4_r2_a42,0,1292.956,2.1474,5.2382,A01,,スタッフ:Staff04,0,1,9.0946
fam_p1_s4_r2_a42,0,1317.53,1.6228,4.3061,,,スタッフ:Staff03,0,1,9.0716
fam_p1_s4_r2_a42,0,1418.378,2.1306,5.2469,A01,,スタッフ:Staff03,0,1,9.3386
fam_p1_s4_r2_a42,0,1433.593,1.5859,4.9838,A01,,客:Guest(Clone),0,1,-0.322
fam_p1_s4_r2_a42,0,1496.604,1.6923,5.2128,A01,,客:Guest(Clone),0,1,9.7613
fam_p1_s4_r2_a42,0,1571.528,3.8176,4.5453,,,スタッフ:Staff02,0,1,8.6767
fam_p1_s4_r2_a42,0,1615.22,2.1478,8.9336,A01,,客:Guest(Clone),0,1,9.494
fam_p1_s4_r2_a42,0,1644.599,2.1414,5.2475,A01,,客:Guest(Clone),0,1,9.848
fam_p1_s4_r2_a42,0,1750.502,1.6462,4.2739,,,スタッフ:Staff04,0,2,9.6977
fam_p1_s4_r2_a42,0,1842.692,2.3647,4.5205,,,スタッフ:Staff04,0,1,0.3372
fam_p1_s4_r2_a42,0,1951.698,2.4542,4.487,,,スタッフ:Staff04,1,1,9.8423
fam_p1_s4_r2_a42,0,1990.536,2.1469,5.2428,A01,,スタッフ:Staff03,0,1,9.5799
fam_p1_s4_r2_a42,0,2002.448,2.3779,4.5428,,,スタッフ:Staff02,0,1,0.5638
fam_p1_s4_r2_a42,0,2185.326,2.3662,4.5233,,,スタッフ:Staff03,0,1,0.3458
fam_p1_s4_r2_a42,0,2226.316,2.2538,4.6227,A01,,スタッフ:Staff04,0,2,9.5479
fam_p1_s4_r2_a42,0,2235.575,2.2541,4.6232,A01,,客:Guest(Clone),0,2,9.5583
fam_p1_s4_r2_a42,0,2275.364,2.2505,4.6212,A01,,客:Guest(Clone),0,2,9.6979
fam_p1_s4_r2_a42,0,2423.259,8.2006,3.8791,,,スタッフ:Staff03,0,2,9.0254
fam_p1_s4_r2_a42,0,2633.764,7.9119,4.4012,,,スタッフ:Staff03,0,1,9.6256
fam_p1_s4_r2_a42,0,3023.094,11.0686,4.55,,,スタッフ:Staff03,0,1,7.6847
fam_p1_s4_r2_a42,0,3024.845,11.6626,4.5017,,,スタッフ:Staff02,0,2,9.9167
fam_p1_s4_r2_a42,0,3214.931,12.6037,4.9175,,,スタッフ:Staff04,0,1,9.6618
fam_p1_s4_r2_a42,0,3229.295,11.1052,4.5474,,,スタッフ:Staff04,0,1,9.5658
fam_p1_s4_r2_a42,0,3359.522,13.6252,6.3217,,,スタッフ:Staff03,0,2,9.6798
fam_p1_s4_r2_a42,0,3430.541,9.0734,4.6929,,,スタッフ:Staff01,0,2,9.1557
fam_p1_s4_r2_a42,0,3447.358,6.2089,4.55,,,スタッフ:Staff01,0,2,8.7883
fam_p1_s4_r2_a42,0,3474.834,9.1014,4.831,A03,,スタッフ:Staff01,0,2,9.8393
fam_p1_s4_r2_a42,0,3482.292,1.9046,6.4074,A01,,客:Guest(Clone),0,1,-2.9164
fam_p1_s4_r2_a42,0,3584.792,8.9156,4.7915,,,スタッフ:Staff03,0,1,9.2066
fam_p1_s4_r2_a42,0,3982.78,14.5733,5.7687,,,客:Guest(Clone),0,1,9.4135
fam_p1_s4_r2_a42,0,3992.54,14.6275,5.627,,,スタッフ:Staff02,0,1,7.5541
fam_p1_s4_r2_a42,0,4035.081,15.734,5.6003,,,客:Guest(Clone),0,1,9.0465
fam_p1_s4_r2_a42,0,4046.342,14.8048,5.7106,,,スタッフ:Staff02,0,2,10
fam_p1_s4_r2_a42,0,4052.498,16.1065,5.3177,,,客:Guest(Clone),1,1,9.7692
fam_p1_s4_r2_a42,0,4060.206,14.8086,5.7061,,,スタッフ:Staff01,0,2,9.8594
fam_p1_s4_r2_a42,0,4116.112,14.7579,5.959,,,客:Guest(Clone),0,2,9.2219
fam_p1_s4_r2_a42,0,4162.38,14.7554,5.8981,,,客:Guest(Clone),0,2,9.7112
fam_p1_s4_r2_a42,0,4178.766,14.8089,5.7023,,,スタッフ:Staff04,0,2,9.9997
fam_p1_s4_r2_a42,0,4192.662,15.7999,5.725,,,客:Guest(Clone),0,2,9.8199
fam_p1_s4_r2_a42,0,4219.257,14.8093,5.7015,,,スタッフ:Staff04,0,2,9.9998
fam_p1_s4_r2_a42,0,4243.363,15.7984,5.7397,,,客:Guest(Clone),0,2,9.0939
fam_p1_s4_r2_a42,0,4247.098,15.0443,5.4878,,,スタッフ:Staff01,0,2,7.8188
fam_p1_s4_r2_a42,0,4264.679,15.1642,5.42,,,スタッフ:Staff01,0,2,9.7164
fam_p1_s4_r2_a42,0,4301.286,15.1787,5.4023,,,スタッフ:Staff03,0,1,9.8184
fam_p1_s4_r2_a42,0,4457.772,15.1602,5.4191,,,スタッフ:Staff02,0,2,9.8969
fam_p1_s4_r2_a42,0,4496.769,15.1599,5.4194,,,スタッフ:Staff03,0,2,9.8814
fam_p1_s4_r2_a42,0,4586.567,15.1708,5.3862,,,客:Guest(Clone),0,1,9.5109
fam_p1_s4_r2_a42,0,4587.961,15.1825,5.4289,,,スタッフ:Staff04,0,2,8.4208
fam_p1_s4_r2_a42,0,4717.553,15.331,5.3045,,,スタッフ:Staff02,0,2,9.3936
fam_p1_s4_r2_a42,0,4989.387,10.0274,4.55,,,スタッフ:Staff02,0,1,9.8674
fam_p1_s4_r2_a42,0,5130.384,11.7379,4.1233,,,客:Guest(Clone),1,2,9.2783
fam_p1_s4_r2_a42,0,5255.045,11.2551,4.3974,,,スタッフ:Staff04,0,2,-43.4454
fam_p1_s4_r2_a42,0,5277.109,9.466,4.7944,,,スタッフ:Staff01,0,2,9.7839
fam_p1_s4_r2_a42,0,5414.371,1.6165,7.3148,A01,,スタッフ:Staff03,0,1,9.7329
fam_p1_s4_r2_a42,0,5457.601,5.0386,4.3629,,,客:Guest(Clone),0,2,9.9418
fam_p1_s4_r2_a42,0,5460.39,4.9059,4.4235,,,客:Guest(Clone),0,2,8.1147
fam_p1_s4_r2_a42,0,5461.536,4.388,4.55,,,客:Guest(Clone),0,1,9.8136
fam_p1_s4_r2_a42,0,5515.773,4.7,3.8,,,客:Guest(Clone),0,2,-25.9005
fam_p1_s4_r2_a42,0,5567.122,4.3611,4.5474,,,スタッフ:Staff02,0,1,7.1106
fam_p1_s4_r2_a42,0,5573.098,4.2635,4.0543,,,スタッフ:Staff04,0,2,8.5392
fam_p1_s4_r2_a42,0,5672.957,4.5305,4.4511,,,客:Guest(Clone),0,2,9.9726
fam_p1_s4_r2_a42,0,5682.619,4.5321,4.4435,,,客:Guest(Clone),0,2,9.2216
fam_p1_s4_r2_a42,0,5717.88,4.7,3.8,,,客:Guest(Clone),0,2,-25.9005
fam_p1_s4_r2_a42,0,5780.186,4.2442,3.9671,,,スタッフ:Staff01,0,2,9.7673
fam_p1_s4_r2_a42,0,5806.881,4.2425,3.9731,,,スタッフ:Staff03,0,2,9.9336
fam_p1_s4_r2_a42,0,5918.593,4.2429,3.9684,,,客:Guest(Clone),0,2,9.8942
fam_p1_s4_r2_a42,0,5937.967,4.4957,4.5429,,,客:Guest(Clone),0,2,9.9343
fam_p1_s4_r2_a42,0,5975.769,7.9285,4.0533,,,スタッフ:Staff02,0,1,9.8464
fam_p1_s4_r2_a42,0,6030.156,8.9131,4.9188,A03,,客:Guest(Clone),0,2,9.5369
fam_p1_s4_r2_a42,0,6177.08,8.9171,4.511,,,スタッフ:Staff04,0,2,9.4648
fam_p1_s4_r2_a42,0,6523.67,7.2577,4.0695,,,スタッフ:Staff02,1,1,9.4229
fam_p1_s4_r2_a42,0,6609.036,14.9658,5.652,,,スタッフ:Staff03,0,1,-0.2237
fam_p1_s4_r2_a42,0,6675.575,5.7886,4.8677,A02,,客:Guest(Clone),0,2,9.6077
fam_p1_s4_r2_a42,0,6800.186,16.4983,3.131,,,スタッフ:Staff01,0,1,9.5181
fam_p1_s4_r2_a42,0,6889.087,8.9,8.0957,A03,,スタッフ:Staff03,1,1,9.2013
fam_p1_s4_r2_a42,0,6990.689,14.7475,6.2499,,,スタッフ:Staff04,0,1,9.9886
fam_p1_s4_r2_a42,0,7048.911,15.3676,6.25,,,スタッフ:Staff01,0,1,9.6678
fam_p1_s4_r2_a42,0,7071.522,14.7555,6.2499,,,スタッフ:Staff01,0,1,9.5407
fam_p1_s4_r2_a42,0,7165.952,15.3465,6.25,,,スタッフ:Staff03,0,1,8.5064
fam_p1_s4_r2_a42,0,7209.581,14.7483,6.25,,,スタッフ:Staff03,0,1,9.9559
fam_p1_s4_r2_a42,0,7230.897,14.7571,6.25,,,スタッフ:Staff02,0,1,9.4609
fam_p1_s4_r2_a42,0,7234.832,15.3719,6.25,,,スタッフ:Staff04,0,1,9.9079
fam_p1_s4_r2_a42,0,7251.815,14.7494,6.25,,,スタッフ:Staff04,0,1,9.891
fam_p1_s4_r2_a42,0,7268.898,15.174,6.25,,,スタッフ:Staff04,0,1,1.6271
fam_p1_s4_r2_a42,0,7271.886,15.6386,6.2474,,,スタッフ:Staff03,0,2,0.0614
fam_p1_s4_r2_a42,0,7341.214,12.4998,4.3435,,,客:Guest(Clone),0,2,8.4018
fam_p1_s4_r2_a42,0,7379.315,12.6,5.04,,,スタッフ:Staff02,0,2,9.7963
fam_p1_s4_r2_a42,0,7453.823,12.6,5.0401,,,スタッフ:Staff01,0,2,9.8059
fam_p1_s4_r2_a42,0,7508.309,12.6,5.0401,,,スタッフ:Staff01,0,2,9.8068
fam_p1_s4_r2_a42,0,7724.81,12.6,4.8991,,,スタッフ:Staff01,0,2,0
fam_p1_s4_r2_a42,0,7812.118,13.1811,5.1147,,,スタッフ:Staff04,0,2,9.1549
fam_p1_s4_r2_a42,0,7815.504,12.6,5.0335,,,スタッフ:Staff03,0,2,9.3016
fam_p1_s4_r2_a42,0,7857.141,12.6,5.0396,,,スタッフ:Staff01,0,2,9.7652
fam_p1_s4_r2_a42,0,7943.453,13.726,9.4516,,,スタッフ:Staff04,0,2,9.5905
fam_p1_s4_r2_a42,0,7962.976,14.4828,5.6988,,,スタッフ:Staff01,0,1,8.516
fam_p1_s4_r2_a42,0,8375.857,14.8322,5.7117,,,スタッフ:Staff02,0,1,7.5002
fam_p1_s4_r2_a42,0,8382.681,14.7547,5.9848,,,客:Guest(Clone),0,1,9.6382
fam_p1_s4_r2_a42,0,8412.414,15.8117,5.7805,,,客:Guest(Clone),0,1,8.8994
fam_p1_s4_r2_a42,0,8417.295,14.8465,5.6856,,,スタッフ:Staff02,0,1,7.5005
fam_p1_s4_r2_a42,0,8470.337,14.8405,6.2408,,,客:Guest(Clone),0,1,9.3779
fam_p1_s4_r2_a42,0,8547.285,14.7558,6.0274,,,スタッフ:Staff04,0,1,9.9718
fam_p1_s4_r2_a42,0,8592.06,15.7519,6.25,,,スタッフ:Staff01,0,1,9.2402
fam_p1_s4_r2_a42,0,8761.844,15.3,5.95,,,スタッフ:Staff02,0,1,-45
fam_p1_s4_r2_a42,0,8818.322,15.7598,6.25,,,スタッフ:Staff03,0,1,9.9044
fam_p1_s4_r2_a42,0,8935.363,15.3,5.95,,,スタッフ:Staff04,0,1,-45
fam_p1_s4_r2_a42,0,9197.884,5.5518,4.8349,A02,,スタッフ:Staff03,0,1,9.2139
fam_p1_s4_r2_a42,0,9245.248,9.5053,12.3133,A03,,客:Guest(Clone),0,2,9.8348
fam_p1_s4_r2_a42,0,9257.251,5.3871,4.8617,A02,,スタッフ:Staff02,0,1,9.8984
fam_p1_s4_r2_a42,0,9380.069,14.5452,5.9054,,,スタッフ:Staff03,0,2,7.7892
fam_p1_s4_r2_a42,0,9387.689,5.8,4.9062,A02,,スタッフ:Staff02,0,1,9.6511
fam_p1_s4_r2_a42,0,9442.923,13.9753,5.5879,,,スタッフ:Staff03,0,2,9.8793
fam_p1_s4_r2_a42,0,9462.596,5.8,4.9072,A02,,スタッフ:Staff02,0,1,9.7418
fam_p1_s4_r2_a42,0,9537.502,5.8,4.9072,A02,,スタッフ:Staff02,0,1,9.7418
fam_p1_s4_r2_a42,0,9617.638,7.0823,4.55,,,スタッフ:Staff03,0,2,9.756
fam_p1_s4_r2_a42,0,9715.504,5.7853,4.9077,A02,,客:Guest(Clone),0,1,9.4064
fam_p1_s4_r2_a42,0,9718.144,6.083,4.0434,,,スタッフ:Staff01,0,1,9.7813
fam_p1_s4_r2_a42,0,9734.031,6.1091,4.0671,,,客:Guest(Clone),1,2,9.4133
fam_p1_s4_r2_a42,0,9737.567,8.8157,3.8676,,,客:Guest(Clone),1,1,8.6807
fam_p1_s4_r2_a42,0,9943.908,7.9961,4.55,,,スタッフ:Staff04,0,1,9.8293
fam_p1_s4_r2_a42,0,10030.57,6.0565,4.5471,,,スタッフ:Staff01,1,2,9.8483
fam_p1_s4_r2_a42,0,10040.78,6.9943,4.5498,,,スタッフ:Staff01,1,1,9.1793
fam_p1_s4_r2_a42,0,10354.95,6.0324,4.5461,,,客:Guest(Clone),1,1,9.7611
fam_p1_s4_r2_a42,0,10464.87,5.9921,4.0831,,,スタッフ:Staff03,0,2,9.827
fam_p1_s4_r2_a42,0,10471.14,6.027,3.95,,,客:Guest(Clone),0,2,9.823
fam_p1_s4_r2_a42,0,11001.66,14.8061,5.708,,,スタッフ:Staff03,0,1,9.9999
fam_p1_s4_r2_a42,0,11062.62,14.8078,5.7046,,,スタッフ:Staff02,0,1,9.9995
fam_p1_s4_r2_a42,0,11146.24,14.8109,5.7032,,,スタッフ:Staff01,0,1,9.7853
fam_p1_s4_r2_a42,0,11174.93,14.8313,5.7136,,,スタッフ:Staff01,0,1,7.5002
fam_p1_s4_r2_a42,0,11195.85,14.8274,5.7215,,,スタッフ:Staff03,0,1,7.5001
fam_p1_s4_r2_a42,0,11213.48,15.3813,5.406,,,スタッフ:Staff03,0,1,9.9998
fam_p1_s4_r2_a42,0,11288.68,14.8312,5.7136,,,スタッフ:Staff01,0,1,7.5002
fam_p1_s4_r2_a42,0,11294.21,14.863,5.659,,,スタッフ:Staff02,0,1,7.5002
fam_p1_s4_r2_a42,0,11317.77,14.8117,5.7029,,,スタッフ:Staff01,0,1,9.7273
fam_p1_s4_r2_a42,0,11334.95,14.8146,5.7077,,,スタッフ:Staff02,0,1,9.252
fam_p1_s4_r2_a42,0,11374.25,15.3813,5.406,,,スタッフ:Staff03,0,1,9.9998
fam_p1_s4_r2_a42,0,11382.37,15.3804,5.4117,,,スタッフ:Staff03,0,1,9.4229
fam_p1_s4_r2_a42,0,11773.63,14.7581,5.9297,,,スタッフ:Staff01,0,1,9.2258
fam_p1_s4_r2_a42,0,11792.86,15.4927,5.4349,,,スタッフ:Staff01,0,1,10
fam_p1_s4_r2_a42,0,12370.99,14.8191,5.7042,,,スタッフ:Staff01,0,1,9.0046
fam_p1_s4_r2_a42,0,12392.51,14.8294,5.708,,,スタッフ:Staff01,0,1,7.9158
fam_p1_s4_r2_a42,0,12563.29,14.7621,5.9378,,,スタッフ:Staff03,0,1,8.8038
fam_p1_s4_r2_a42,0,12609.16,14.8298,5.7092,,,スタッフ:Staff03,0,1,7.8269
fam_p1_s4_r2_a42,0,12708.87,15.4809,5.4572,,,スタッフ:Staff01,0,1,7.5
fam_p1_s4_r2_a42,0,12717.73,15.4888,5.4334,,,スタッフ:Staff01,0,1,9.9999
fam_p1_s4_r2_a42,0,13005.5,14.8312,5.7136,,,スタッフ:Staff01,0,1,7.5002
fam_p1_s4_r2_a42,0,13037.88,14.8086,5.703,,,スタッフ:Staff01,0,1,9.9997
fam_p1_s4_r2_a42,0,13105.51,14.8298,5.7092,,,スタッフ:Staff02,0,1,7.8269
fam_p1_s4_r2_a42,0,13141.17,14.8276,5.7084,,,スタッフ:Staff02,0,1,8.0607
fam_p1_s4_r2_a42,0,13207.31,14.8157,5.7027,,,スタッフ:Staff01,0,1,9.3845
fam_p1_s4_r2_a42,0,13236.35,14.8271,5.7075,,,スタッフ:Staff01,0,1,8.1488
```

### 4回目（cs:123）：20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_1006

#### summary.json

```json
{
  "run_name": "family_v0",
  "written_at": "2026-10-23 10:22:14",
  "note": "speed_mps = distance_m / (total_s - stopped_s)。stopped_s には、動けなくなった60秒と、スタッフを待った秒数（stuck_wait_s）、通路の入口で待った秒数も入る。pause_s は stop_durations_s（自分で動き出した止まりだけ）の分布。site_metrics はサイトの meta.metrics と同じ名前・同じ定義。入店待ちの分け方もサイトの試算と同じで、blocked_wait は片付け待ちの卓の数だけ待っている列の前から順に足した分、full_wait は seat_wait − blocked_wait、staff_wait は blocked_wait + guide_wait。pauses と rescues は、サイト側が unity_measures の仮の値から出した数なので出どころが違う。",
  "sim_like": {"dish_wait_mean": 5.5955, "dish_wait_p90": 13.3312, "cold_share": 0.5448, "seat_wait_mean": 15.3202, "turn_mean": 5.4486, "robot_share": 0.2687, "robot_dishes": 72, "staff_dishes": 196, "requeued_dishes": 22, "groups": 104, "people_jams": 2502, "robot_blocked_jams": 2451, "robot_blocked_jam_share": 0.9796, "chair_pulls": 202, "robot_contacts": 222, "robot_yield_waits": 141, "robot_yield_wait_s": 1067.016, "robot_yield_detours": 5, "register_crowd_max": 10, "register_crowd_mean": 2.5346, "register_pay_count": 80, "register_pay_not_at_back": 1, "register_pay_off_spot": 29, "register_pay_offset_mean_m": 0.1475, "register_pay_offset_max_m": 4.9428, "register_back_intruders": 0, "register_back_intruder_s": 0, "drink_bar_queued": 41, "drink_bar_gave_up": 9, "drink_bar_wait_mean": 0.6425, "drink_bar_wait_p90": 0.9738, "gave_up": 169, "warped": 99, "table_freed": 71, "people_jam_total_s": 4047.516, "walkers_mean": 11.2642, "measured_minutes": 232.5199},
  "site_metrics": {"entry_wait_mean": 18.4536, "full_wait_mean": 11.6148, "staff_wait_mean": 5.5727, "blocked_wait_mean": 3.7054, "guide_wait_mean": 1.8673, "seat_wait_mean": 15.3202, "dish_wait_mean": 5.5955, "dish_wait_p90": 13.3312, "cold_share": 0.5448, "turn_mean": 5.4486, "walk_km_per_staff": 3.5582, "staff_util": 0.8386, "robot_util": 0.7232, "robot_share": 0.2687, "rescues": 127, "pauses": 644, "groups": 104},
  "site_run": {"site_run": true, "condition_id": "fam_p1_s4_r2_a42", "arrivals_minutes": 120, "total_minutes": 232.5199, "everyone_left": true, "rescues_done": 116, "rescue_wait_s": 3851.938, "gave_up": 169, "warped": 99, "table_freed": 71},
  "site_result": {"dish_wait_mean": 0.4568, "dish_wait_p90": 0.8167, "cold_share": 0, "seat_wait_mean": 0.6083, "turn_mean": 4.3928, "walk_km_per_staff": 1.872, "staff_util": 0.6436, "robot_util": 0.4764, "robot_share": 0.7257, "robot_bus_share": 0, "collects": 0, "rescues": 1.475, "pauses": 41.625, "fragile_robot": 31.9, "groups": 82.1, "entry_wait_mean": 1.0194, "blocked_wait_mean": 0.5116, "guide_wait_mean": 0.2337, "staff_wait_mean": 0.7453, "full_wait_mean": 0.0967},
  "staff_time_s": {"待機": 9012.62, "案内": 8738.714, "料理": 15971.2, "呼び出し": 3330.674, "会計": 7870.817, "片付け": 8294.904, "立ち往生": 2623.934},
  "dish_wait_parts": {"robot": {"dishes": 72, "pass_wait_mean_min": 1.6841, "carry_mean_min": 7.182, "requeue_lost_mean_min": 3.1325, "total_mean_min": 11.9986, "requeued_per_dish": 0.3056, "requeued_total": 22}, "staff": {"dishes": 196, "pass_wait_mean_min": 2.154, "carry_mean_min": 0.6122, "requeue_lost_mean_min": 0.4772, "total_mean_min": 3.2433, "requeued_per_dish": 0, "requeued_total": 0}, "all": {"dishes": 268, "pass_wait_mean_min": 2.0277, "carry_mean_min": 2.3772, "requeue_lost_mean_min": 1.1906, "total_mean_min": 5.5955, "requeued_per_dish": 0.0821, "requeued_total": 22}},
  "job_wait_mean_s": {"案内": 121.7117, "料理": 171.5544, "呼び出し": 120.2472, "会計": 113.8644, "片付け": 206.4039, "立ち往生": 14.4596},
  "staff_time_share": {"待機": 0.1614, "案内": 0.1565, "料理": 0.286, "呼び出し": 0.0596, "会計": 0.1409, "片付け": 0.1485, "立ち往生": 0.047},
  "stops": {"count": 774, "stuck_count": 127, "partial_path_count": 0},
  "stop_causes": [
    {"cause": "分からない", "count": 43, "total_s": 176.5487, "mean_s": 4.1058, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 2, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "もう1台のロボット", "count": 429, "total_s": 4504.969, "mean_s": 10.5011, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 50, "partial_path_count": 0, "no_path_total_s": 0.05},
    {"cause": "スタッフとすれ違った", "count": 88, "total_s": 1510.487, "mean_s": 17.1646, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 14, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "お客さんとすれ違った", "count": 42, "total_s": 681.0944, "mean_s": 16.2165, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 5, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "通路の順番待ち", "count": 3, "total_s": 29.7, "mean_s": 9.9, "longest_s": 17.65, "path_blocked_count": 0, "stuck_count": 0, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "人が立ち止まっていた", "count": 164, "total_s": 4539.558, "mean_s": 27.6802, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 56, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "椅子・荷物・ベビーカー", "count": 5, "total_s": 2.6, "mean_s": 0.52, "longest_s": 0.75, "path_blocked_count": 0, "stuck_count": 0, "partial_path_count": 0, "no_path_total_s": 0}
  ],
  "conditions": [
    {"condition_id": "fam_p1_s4_r2_a42", "aisle_width_m": 1.2, "crowd": "normal", "robots": 2, "trips": 45, "robot_speed_mps_median": 0.5568, "stopped_s_median": 455.1624, "stopped_s_p90": 575.743, "pause_s_median": 2.85, "pause_s_p90": 8.72, "pause_count": 644, "wait_aisle_s_median": 0, "stuck_rate": 0.6667, "stuck_count": 30, "timeout_rate": 0.5333, "timeout_count": 24, "pause_rate": 0.9778, "met_robot_rate": 0.7111}
  ]
}
```

#### run_info.json

```json
{
  "run_label": "site_v5",
  "written_at": "2026-10-23 10:22:14",
  "condition_id": "fam_p1_s4_r2_a42",
  "store_kind": "StoreLayout_p1_efficient_corner",
  "time_mode": "FixedStep",
  "time_scale": 1,
  "capture_delta_time": 0.05,
  "aisle_width_m": 1.2,
  "delivery_offset_m": 0,
  "delivery_offset_used_m": 0,
  "crowd": "normal",
  "robots": 2,
  "seed": 0,
  "trips_requested": 0,
  "trips_done": 45,
  "stopped_early": false,
  "sim_seconds": 13951.19,
  "wall_seconds": 953.2166,
  "speedup": 14.6359,
  "frame_delta_s": {"count": 279741, "mean": 0.0499, "min": 0.02, "p50": 0.05, "p90": 0.05, "p99": 0.05, "max": 0.05},
  "robot_step_m": {"count": 279741, "mean": 0.0091, "min": 0, "p50": 0, "p90": 0.03, "p99": 0.03, "max": 0.03},
  "people_step_m": {"count": 279741, "mean": 0.0589, "min": 0, "p50": 0.0491, "p90": 0.05, "p99": 0.05, "max": 21.3957},
  "frames_over_005m": 0,
  "frames_over_005m_ratio": 0,
  "people_frames_over_005m": 78138,
  "people_frames_over_005m_ratio": 0.2793,
  "chair_pulls": 202,
  "chair_pulls_by_reason": {"座る": 23, "食事中": 51, "ドリンクバー": 47, "戻って座る": 37, "会計": 19, "退店": 17, "トイレ": 8}
}
```

#### trips.csv

```text
condition_id,aisle_width_m,crowd,robots,seed,robot_id,trip_id,table_id,distance_m,total_s,stopped_s,n_stops,stop_durations_s,stuck,timeout,wait_aisle_s,max_decel_mps2,min_clearance_m,met_robot,table_ids,dishes,dish_ready_s,dish_arrived_s,undelivered,speed_mps,stuck_count,stuck_wait_s,via_narrow,stops_in_narrow,stops_out_narrow,stopped_in_narrow_s,stopped_out_narrow_s
fam_p1_s4_r2_a42,1.2,normal,2,0,1,1,37,11.19,20.15,0.95,1,0.95,0,0,0,0,0.7839,0,37,0,,,0,0.5828,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,2,2,34,138.7391,600.027,309.448,108,0.95;2.6;2.8;3.25;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;4;2.8;2.8;2.8;2.8;2.8;2.8;2.8;5.15;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;4.65;2.8;2.8;5.05;2.8;2.8;2.8;2.8;4.5;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.95;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.8;2.85;2.8;2.8;2.8;2.8;2.8;2.85;2.8;2.8;2.8;2.8;2.8;1.15;2.9;2.9;2.9;2.9;2.9;2.9;2.9;3.3;2.9;2.9;3.3;2.9;2.9;1.3;2.9,0,1,0,1,-0.0221,1,34,0,,,0,0.4775,0,0,0,0,108,0,309.4498
fam_p1_s4_r2_a42,1.2,normal,2,0,1,3,14,23.8501,51.1495,8.65,5,2.05;1.55;2;1.1;1.95,0,0,0,1,0.182,1,14,1,1395.856,1441.1,0,0.5612,0,0,0,0,5,0,8.65
fam_p1_s4_r2_a42,1.2,normal,2,0,2,4,17,47.3922,94.9012,12,6,0.95;1.75;0.6;4.5;0.85;0.8,0,0,2.55,1,0.0431,0,17,1,1413.273,2039.034,0,0.5717,0,0,0,0,7,0,12
fam_p1_s4_r2_a42,1.2,normal,2,0,1,5,12,31.0203,97.3013,41.1997,8,0.95;0.8;1.65;1.05;28.3999;6.5;0.8;1.05,0,0,0,1,0.0147,0,12,1,2305.894,2382.168,0,0.5529,0,0,0,0,8,0,41.1999
fam_p1_s4_r2_a42,1.2,normal,2,0,2,6,35,16.53,56.8494,23.7999,10,0.95;2.55;2.7;2.7;2.7;2.7;2.7;2.7;2.65;1.45,0,0,0,1,0.0777,1,35,1,2327.916,2447.983,0,0.5002,0,0,0,0,10,0,23.8
fam_p1_s4_r2_a42,1.2,normal,2,0,1,7,17,30.2853,600.027,548.1397,3,0.95;33.7498;53.0495,1,1,0,1,-0.0389,1,17,1,2423.709,2546.178,0,0.5837,5,160.2052,0,0,8,0,387.9961
fam_p1_s4_r2_a42,1.2,normal,2,0,2,8,22,0,600.027,599.9771,0,,1,1,0,0,-0.2295,1,22,1,2525.258,2607.238,0,0,7,179.7064,0,0,7,0,420.3456
fam_p1_s4_r2_a42,1.2,normal,2,0,1,9,28,0.01,600.027,599.8271,1,20.75,1,1,0,1,-0.45,1,28;31;26,1,2603.635,3229.395,0,0.05,7,158.8051,0,0,8,0,441.0956
fam_p1_s4_r2_a42,1.2,normal,2,0,2,10,29,30.1002,590.5793,537.5423,5,3.85;0.95;32.8998;1.2;1.45,1,0,0,1,-0.415,1,29;24;22,1,2732.66,-1,1,0.5675,6,136.9538,0,0,11,0,400.6461
fam_p1_s4_r2_a42,1.2,normal,2,0,1,11,28,30.8153,98.6014,42.2496,7,9.05;1.45;3.65;7.25;1.2;1.45;0.55,0,0,17.65,1,0.003,1,28;31;26,3,3083.503;3050.37;3031.052,-1;-1;-1,3,0.5468,0,0,0,0,8,0,42.25
fam_p1_s4_r2_a42,1.2,normal,2,0,2,12,42,25.5902,44.6996,0.95,1,0.95,0,0,0,0,0.7373,0,42;40;41,3,3165.833;3155.423;2732.66,3999.797;3999.797;3999.797,0,0.5849,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,1,13,20,29.8653,600.027,548.2897,2,0.95;9.2,1,1,0,1,0.0659,1,20;14;15,3,3083.503;3050.37;3031.052,4004.001;4004.001;4004.001,0,0.5772,5,237.9599,0,0,7,0,310.3969
fam_p1_s4_r2_a42,1.2,normal,2,0,2,14,16,99.9504,600.027,388.5786,82,0.95;0.7;2.7;6.55;2.85;3.35;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;8.75;8.65;2.85;2.85;2.85;2.85;2.85;2.85;7.9;0.5;2.9;2.9;2.9;2.9;2.9;2.9;5.85;5.4;4.55;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;1.2;2.85;56.5494;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;7.1;2.85;5.9;0.45;2.85,1,1,0,1,0.1154,1,16,3,3876.677;3672.077;3772.275,4119.648;4119.648;4119.648,0,0.4727,1,15.95,0,0,83,0,372.649
fam_p1_s4_r2_a42,1.2,normal,2,0,2,15,36,36.3952,140.854,76.1501,8,0.95;5.45;1.25;2.6;5.35;57.9994;1.15;1.4,0,0,0,1,-0.0312,1,36;16,1,4032.629,-1,1,0.5625,0,0,0,0,8,0,76.1494
fam_p1_s4_r2_a42,1.2,normal,2,0,1,16,35,14.205,600.027,574.9332,3,0.95;45.3996;48.0496,1,1,0,1,0.1063,0,35;2;4,3,3895.345;3880.43;3986.233,4677.062;4677.062;4677.062,0,0.5661,5,180.3564,0,0,8,0,394.646
fam_p1_s4_r2_a42,1.2,normal,2,0,2,17,39,81.8612,600.027,429.6686,64,0.95;0.45;0.95;2.6;19;1.7;2.55;2.85;2.85;2.85;2.85;2.85;2.85;2.85;3;2.85;3.4;3.25;3.6;4.75;4;2.9;2.85;2.85;2.9;3.1;2.85;3.15;2.85;2.85;2.85;2.85;2.85;3.35;3.65;3.85;3.25;2.85;2.85;1.7;2.9;2.85;2.85;2.85;2.85;3.25;2.85;2.85;3.3;3.85;3.85;3.55;3.55;3.1;3.1;2.85;4.75;4.7;2.85;3;3.1;2.5;9.8;23.3999,1,1,0,1,-0.0085,1,39;3;7,2,4621.43;4032.629,4907.608;4907.608,0,0.4805,2,75.75,0,0,66,0,353.9486
fam_p1_s4_r2_a42,1.2,normal,2,0,1,18,34,28.9952,600.027,547.5399,7,0.95;1.9;0.95;49.2995;0.95;1.6;40.9497,1,1,0,1,-0.0092,1,34;2;4,3,4594.336;4611.17;4587.214,5299.77;-1;-1,2,0.5524,4,210.8083,0,0,11,0,336.7967
fam_p1_s4_r2_a42,1.2,normal,2,0,1,19,19,50.3696,95.4012,7.75,6,0.95;1.35;0.5;1.05;2.35;1.55,0,0,0,1,0.2273,1,19;41;9,3,5240.552;4611.17;4587.214,5972.382;5972.382;5972.382,0,0.5747,0,0,0,0,6,0,7.75
fam_p1_s4_r2_a42,1.2,normal,2,0,2,20,10,45.4398,543.9907,461.9107,11,0.95;35.7997;0.9;0.65;25.2499;1.25;3.1;1.75;2.35;1.55;1.25,1,0,9.5,1,0.0327,1,10;3;7,3,4756.6;4789.073;4775.526,5530.316;-1;-1,2,0.5536,4,137.4538,0,0,16,0,324.4972
fam_p1_s4_r2_a42,1.2,normal,2,0,1,21,41,23.6351,600.027,557.6374,5,0.95;8.85;0.45;0.6;8.2,1,1,0,1,-0.0404,1,41;11;1,3,5888.412;5889.906;5901.311,6142.266;6142.266;6142.266,0,0.5576,6,178.3563,0,0,11,0,379.3463
fam_p1_s4_r2_a42,1.2,normal,2,0,2,22,15,63.2644,600.027,469.059,47,0.95;22.25;47.8996;2.95;3.4;3.55;3.55;3.95;26.6499;2.95;2.95;2.95;2.95;2.95;2.9;2.9;2.9;2.9;2.9;2.9;2.9;2.9;4.3;2.9;2.9;2.9;2.9;59.9494;2.95;2.95;2.95;59.9494;2.95;2.95;3.7;2.95;2.95;2.95;2.95;3.2;2.95;2.95;2.95;2.95;3.3;45.8996;1.5,1,1,0,1,-0.0395,1,15,3,5504.268;4789.073;4775.526,6147.097;6147.097;6147.097,0,0.4831,1,24.1999,0,0,48,0,444.8971
fam_p1_s4_r2_a42,1.2,normal,2,0,1,23,11,38.28,225.1091,156.3549,8,0.95;3.75;1.6;45.6496;1.15;1.05;2.2;4.85,1,0,0,1,0.1222,0,11;16;1,3,6109.345;6126.428;6044.998,6764.974;-1;-1,2,0.5568,1,35.0998,0,0,9,0,121.249
fam_p1_s4_r2_a42,1.2,normal,2,0,1,24,32,21.7051,44.9996,6.9,3,0.95;0.95;5,0,0,0,1,0.1792,0,32;20,3,6126.428;6554.4;6044.998,7064.051;7064.051;7064.051,0,0.5697,0,0,0,0,3,0,6.9
fam_p1_s4_r2_a42,1.2,normal,2,0,2,25,27,56.2919,398.5762,301.1,6,0.95;5.8;37.9997;59.0494;59.0494;2.05,1,0,0,1,0.161,1,27;37;17,1,6137.435,6769.805,0,0.5775,1,76.1501,0,0,7,0,224.9479
fam_p1_s4_r2_a42,1.2,normal,2,0,1,26,27,0.3025,600.027,598.9273,1,10.3,1,1,0,1,-0.0574,1,27;23,2,7017.583;7044.229,7158.78;7158.78,0,0.2751,7,168.3557,0,0,8,0,430.6456
fam_p1_s4_r2_a42,1.2,normal,2,0,2,27,42,107.8775,600.027,372.9325,87,58.6994;2.7;2.9;3;3;3;3;3;3;3;3;3;3;3.75;3.6;3.25;3;3;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3.1;3;3;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3;3;3.05;3.05;52.3495;3.05;3.05;4.95;3.05;3.05;3.05;3.05;3.05;3.05;3.05;4.65;3.05;3.05;3;3;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3.05;3.05;4.1;2.85;3.35;2.85;2.85;3.05;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;3.25;2.75,0,1,0,1,-0.0491,1,42;32;8,3,6693.903;6666.311;6657.745,7241.705;7241.705;7241.705,0,0.475,0,0,0,0,87,0,372.9487
fam_p1_s4_r2_a42,1.2,normal,2,0,1,28,27,17.01,402.8252,372.8325,2,8.8;0.55,1,0,0,1,-0.45,1,27;24;23,2,7117.691;7111.914,-1;-1,2,0.5671,4,123.3029,0,0,6,0,249.5475
fam_p1_s4_r2_a42,1.2,normal,2,0,2,29,42,19.95,600.027,565.6354,2,12.05;31.1498,1,1,0,1,-0.45,1,42;32;8,3,7179.449;7180.395;7212.868,-1;-1;-1,3,0.5801,6,162.2053,0,0,8,0,403.4961
fam_p1_s4_r2_a42,1.2,normal,2,0,1,30,30,21.7676,199.2076,160.9552,3,2.5;7.65;49.6995,1,0,0,1,0.0964,0,30;30;22,3,7117.691;7586.951;7111.914,8232.669;8232.669;8232.669,0,0.5691,1,41.0497,0,0,4,0,119.8989
fam_p1_s4_r2_a42,1.2,normal,2,0,1,31,12,31.1103,114.2524,60.1994,4,3.1;1.3;2.9;52.8995,0,0,0,1,-0.0001,1,12,3,7811.171;7998.935;7977.569,8505.947;8505.947;8505.947,0,0.5756,0,0,0,0,4,0,60.1995
fam_p1_s4_r2_a42,1.2,normal,2,0,2,32,33,12.9475,600.027,576.2828,4,1.15;0.95;27.9999;39.1997,1,1,0,1,0.0098,1,33;6;8,3,7179.449;7180.395;7212.868,8487.121;8487.121;-1,1,0.5453,6,146.7543,0,0,10,0,429.5958
fam_p1_s4_r2_a42,1.2,normal,2,0,1,33,6,19.645,600.027,565.3355,3,0.95;47.4496;50.4995,1,1,0,1,-0.048,0,6,1,8306.529,8644.703,0,0.5663,5,166.2555,0,0,8,0,399.1459
fam_p1_s4_r2_a42,1.2,normal,2,0,1,34,27,19.44,37.9997,3.95,2,1.75;2.2,0,0,0,1,0.1522,0,27;36;40,1,8532.145,9267.411,0,0.5709,0,0,0,0,2,0,3.95
fam_p1_s4_r2_a42,1.2,normal,2,0,2,35,13,39.1576,600.027,523.3958,21,0.95;18.35;0.75;35.4997;0.85;11.45;4.75;3.25;3.3;3.3;3.3;3.3;3.35;3.7;3.85;5.45;3.65;1.2;3.65;3.65;2.45,1,1,0,1,-0.0168,1,13;6;8,3,8183.959;8260.659;7212.868,9109.829;-1;-1,2,0.511,4,163.2554,0,0,25,0,360.1972
fam_p1_s4_r2_a42,1.2,normal,2,0,1,36,38,25.1551,600.027,554.6381,5,0.95;23.4999;0.45;55.5494;0.95,1,1,0,1,-0.025,1,38;13;1,3,9146.236;9149.673;9137.62,9380.119;9380.119;9380.119,0,0.5542,5,173.056,0,0,10,0,381.6462
fam_p1_s4_r2_a42,1.2,normal,2,0,2,37,9,23.3801,600.027,556.2377,9,0.95;1.55;58.1494;20.55;30.0998;0.7;51.0495;7.4;1.85,1,1,0,1,-0.0237,0,9;7,3,8955.584;8260.659;7212.868,9782.441;9782.441;9782.441,0,0.5339,4,143.8042,0,0,13,0,412.4962
fam_p1_s4_r2_a42,1.2,normal,2,0,1,38,41,26.4477,600.027,553.4384,5,0.95;0.75;1.3;12.55;0.15,1,1,0,1,-0.1398,1,41;3;7,3,9223.085;9234.64;9280.709,10052.73;10052.73;10052.73,0,0.5677,6,177.5062,0,0,11,0,375.9963
fam_p1_s4_r2_a42,1.2,normal,2,0,2,39,6,48.9521,564.1858,469.4589,24,1.8;2.95;2.95;2.95;2.95;2.95;2.95;2.95;2.95;2.95;2.95;2.95;2.95;2.95;2.95;2.95;3.75;3.55;3.55;1.55;5.4;1.65;56.2494;0.6,1,0,0,1,-0.1529,1,6,2,9622.668;9757.29,10430.1;10430.1,0,0.5168,4,106.9519,0,0,28,0,362.5469
fam_p1_s4_r2_a42,1.2,normal,2,0,1,40,3,34.1702,600.027,538.642,7,0.95;1.45;1.2;4.55;12.1;9.05;1.5,1,1,0,1,-0.0086,1,3;7,3,9911.635;9927.672;9914.822,10675.44;-1;-1,2,0.5567,6,147.6044,0,0,13,0,391.0963
fam_p1_s4_r2_a42,1.2,normal,2,0,2,41,41,18.6,51.2995,17.55,5,1.5;1;0.45;13.9;0.7,0,0,0,1,0.1607,1,41,1,10562.28,11149.28,0,0.5511,0,0,0,0,5,0,17.55
fam_p1_s4_r2_a42,1.2,normal,2,0,1,42,1,10.8,600.027,580.8817,2,28.3499;21,1,1,0,1,-0.1055,1,1,2,9927.672;9914.822,11323.1;11323.1,0,0.5641,6,171.3058,0,0,8,0,409.6461
fam_p1_s4_r2_a42,1.2,normal,2,0,2,43,16,31.2303,233.4596,179.2063,4,0.95;0.9;0.95;1,1,0,0,1,-0.0528,0,16,1,11638.16,11714.22,0,0.5756,1,115.3524,0,0,5,0,63.8494
fam_p1_s4_r2_a42,1.2,normal,2,0,1,44,1,15.645,600.027,571.0341,6,0.95;19.65;13.5;18.2;39.9497;56.9494,1,1,0,1,0.023,0,1,1,11461.51,-1,1,0.5396,4,181.7065,0,0,10,0,389.3966
fam_p1_s4_r2_a42,1.2,normal,2,0,2,45,7,73.379,600.027,455.1624,41,0.95;24.3999;1.5;4.75;7.95;2;45.2496;2.6;2.85;2.85;2.85;2.85;2.85;2.85;3.4;3.05;2.85;2.85;2.85;2.85;3.05;3.25;4.4;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;2.85;3.95;2.85;2.85;2.85,1,1,0,1,-0.0607,1,7,1,11911.34,12168.83,0,0.5065,3,87.6008,0,0,44,0,367.5978
```

#### stops.csv

```text
condition_id,seed,robot_id,trip_id,t_s,x,z,aisle,in_narrow,cause,cause_detail,path_blocked,duration_s,resolved,clearance_left_cm,clearance_right_cm,min_gap_cm,blocked_s,no_path_s,yield_s,clear_wait_s,replans,solve_from,solve_to,solve_status,solve_corners,off_mesh_m
fam_p1_s4_r2_a42,0,1,1,1395.7,16.9,6.05,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.9;6.05,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1413.1,17.7,6.05,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.7;6.05,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1453.4,15.2858,4.7996,,0,もう1台のロボット,ServingRobot01,0,2.6,自分で動き出した,273.6019,275,273.6019,1.65,0,0,0.95,0,15.286;4.8,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1457.95,15.2908,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,274.1009,275,274.1009,1.85,0,0,0.95,0,15.291;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1462.85,15.284,4.8897,,0,スタッフとすれ違った,Staff03,0,3.25,自分で動き出した,275,206.7646,206.7646,2.2,0,0,1.05,0,15.284;4.89,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1468.2,15.2891,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.9482,275,273.9482,1.85,0,0,0.95,0,15.289;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1473.7,15.2887,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.9119,275,273.9119,1.85,0,0,0.95,0,15.289;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1479.2,15.2886,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8968,275,273.8968,1.85,0,0,0.95,0,15.289;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1484.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8899,275,273.8899,1.85,0,0,0.95,0,15.289;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1490.2,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8878,275,273.8878,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1495.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8866,275,273.8866,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1501.2,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8865,275,273.8865,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1506.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8865,275,273.8865,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1512.2,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8865,275,273.8865,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1517.65,15.288,5.2196,,0,スタッフとすれ違った,Staff02,0,4,自分で動き出した,273.8371,275,273.8371,3.05,0,0,0.95,0,15.288;5.22,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1524.3,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8865,275,273.8865,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1529.8,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8865,275,273.8865,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1535.3,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8865,275,273.8865,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1540.8,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8865,275,273.8865,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1546.3,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8865,275,273.8865,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1551.8,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8865,275,273.8865,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1557.3,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8865,275,273.8865,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1562.55,15.286,5.0996,,0,スタッフとすれ違った,Staff03,0,5.15,自分で動き出した,273.6393,275,273.6393,4.2,0,0,0.95,0,15.286;5.1,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1570.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1575.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1581.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1586.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1592.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1597.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1603.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1608.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1614.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1619.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1625.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1630.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1636.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1641.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1647.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1652.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1658.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1663.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1669.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1674.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1680.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1685.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1691.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1696.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1702.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1707.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8864,275,273.8864,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1712.25,15.2798,4.7247,,0,お客さんとすれ違った,Guest(Clone),0,4.65,自分で動き出した,275,154.3004,154.3004,2.5,0,0,2.15,0,15.28;4.725,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1718.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1724.2,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1729.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,5.05,自分で動き出した,273.8863,275,273.8863,3.45,0,0,1.6,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1737.45,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1742.95,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1748.45,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1753.95,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1759.45,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,4.5,自分で動き出した,273.8863,275,273.8863,2.95,0,0,1.55,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1766.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1772.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1777.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1783.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1788.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1794.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1799.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1805.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1810.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1816.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1821.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1827.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1832.65,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1838.15,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,273.8863,275,273.8863,2,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1843.8,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1849.25,15.288,5.2196,,0,スタッフとすれ違った,Staff03,0,2.8,自分で動き出した,273.8369,275,273.8369,1.85,0,0,0.95,0,15.288;5.22,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1854.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1860.2,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1865.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1871.2,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1876.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1882.2,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1887.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1893.2,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,273.8863,275,273.8863,1.9,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1898.75,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1904.25,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1909.75,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1915.25,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1920.75,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1926.15,15.2875,5.1896,,0,スタッフとすれ違った,Staff01,0,2.85,自分で動き出した,273.7875,275,273.7875,1.9,0,0,0.95,0,15.287;5.19,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1931.6,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1937.05,15.288,5.2196,,0,スタッフとすれ違った,Staff03,0,2.8,自分で動き出した,273.8369,275,273.8369,1.85,0,0,0.95,0,15.288;5.22,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1942.5,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1948,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1953.5,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,273.8863,275,273.8863,1.85,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1957.55,15.2815,4.8297,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,1.15,自分で動き出した,275,273.1942,273.1942,0.2,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1960.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1966.3,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1971.9,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1977.5,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1983.1,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1988.7,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1994.3,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1999.25,15.282,4.8597,,0,お客さんとすれ違った,Guest(Clone),0,3.3,自分で動き出した,275,180.2416,180.2416,2.2,0,0,1.1,0,15.282;4.86,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,2004.6,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,2010.2,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,2015.15,15.282,4.8597,,0,お客さんとすれ違った,Guest(Clone),0,3.3,自分で動き出した,275,180.2417,180.2417,2.2,0,0,1.1,0,15.282;4.86,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,2020.5,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,2026.1,15.2885,5.2496,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.886,275,273.886,1.95,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,2029.85,15.2851,5.0471,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,1.3,自分で動き出した,275,273.5522,273.5522,0.35,0,0,0.95,0,15.288;5.25,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,2033.45,15.2881,5.2271,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,273.8488,275,273.8488,1.95,0,0,0.95,0,15.288;5.227,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,3,2304.85,15.3819,5.7213,,0,もう1台のロボット,ServingRobot02,0,2.05,自分で動き出した,275,205.9789,205.9789,1.1,0,0,0.95,0,15.382;5.721,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,3,2321.85,7.0424,4.3291,,0,お客さんとすれ違った,Guest(Clone),0,1.55,自分で動き出した,227.9315,22.0998,22.0998,0.6,0,0,0.95,0,12.667;4.41,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,3,2361.05,7.33,4.4809,,0,スタッフとすれ違った,Staff03,0,2,自分で動き出した,187.8734,243.2387,187.8734,1.05,0,0,0.95,0,5.756;4.533,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,3,2367.85,9.8786,4.3971,,0,お客さんとすれ違った,Guest(Clone),0,1.1,自分で動き出した,15.3161,234.8463,15.3161,0.15,0,0,0.95,0,5.756;4.533,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,3,2372.3,11.5577,4.3418,,0,スタッフとすれ違った,Staff02,0,1.95,自分で動き出した,20.8452,229.3172,20.8452,1,0,0,0.95,0,5.756;4.533,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,4,2326.85,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.8389,30.8389,0,0,0,0.95,0,15.3;5.95,6.1;3.2,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,4,2344.35,6.1953,3.2208,,0,通路の順番待ち,先に入っている台：ServingRobot01,0,2.55,入口で待った,258.0963,275,258.0963,0,0,2.55,0,0,6.195;3.221,13.763;6.013,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,4,2351.55,8.6008,3.7361,,0,スタッフとすれ違った,Staff02,0,1.75,自分で動き出した,83.8004,173.0059,83.8004,0.8,0,0,0.95,0,6.195;3.221,13.763;6.013,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,4,2354.7,9.0994,3.843,,0,スタッフとすれ違った,Staff02,0,0.6,自分で動き出した,213.4387,183.931,183.931,0,0,0,0.6,0,6.195;3.221,13.763;6.013,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,4,2365.55,13.5026,6.5314,,0,人が立ち止まっていた,Staff02,0,4.5,自分で動き出した,96.1924,25.1239,25.1239,3.55,0,0,0.95,0,13.545;6.189,12.763;12.463,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,4,2442.1,13.7424,6.1986,,0,スタッフとすれ違った,Staff03,0,0.85,自分で動き出した,138.4579,275,138.4579,0,0,0,0.85,0,13.654;6.213,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,4,2444.15,14.1275,6.1371,,0,スタッフとすれ違った,Staff03,0,0.8,自分で動き出した,11.7481,275,11.7481,0,0,0,0.8,0,13.654;6.213,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,5,2422.55,15.0933,5.8402,,0,分からない,,0,0.95,自分で動き出した,49.7239,275,49.7239,0,0,0,0.95,0,15.093;5.84,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,5,2429.65,12.1163,4.4034,,0,お客さんとすれ違った,Guest(Clone),0,0.8,自分で動き出した,235.3678,14.6642,14.6642,0,0,0,0.8,0,12.611;4.411,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,5,2435.25,9.5666,4.3661,,0,お客さんとすれ違った,Guest(Clone),0,1.65,自分で動き出した,231.6408,275,231.6408,0.7,0,0,0.95,0,12.611;4.411,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,5,2439.4,8.3967,4.349,,0,スタッフとすれ違った,Staff02,0,1.05,自分で動き出した,229.9306,20.1014,20.1014,0.1,0,0,0.95,0,12.611;4.411,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,5,2443.65,6.8069,4.3258,,0,お客さんとすれ違った,Guest(Clone),0,28.3999,経路を引き直した,227.6066,22.4255,22.4255,27.4499,0,0,0.95,2,6.807;4.326,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,5,2523.6,8.5285,4.4411,,0,人が立ち止まっていた,Staff04,0,6.5,自分で動き出した,10.9151,239.2525,10.9151,5.55,0,0,0.95,0,5.755;4.534,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,5,2533.8,10.4175,4.3779,,0,スタッフとすれ違った,Staff03,0,0.8,自分で動き出した,17.2347,232.9329,17.2347,0,0,0,0.8,0,5.755;4.534,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,5,2539.6,12.9911,4.7048,,0,スタッフとすれ違った,Staff02,0,1.05,自分で動き出した,120.5883,275,120.5883,0.1,0,0,0.95,0,12.291;4.327,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2524,15.0607,5.9882,,0,分からない,,0,0.95,自分で動き出した,26.8291,275,26.8291,0,0,0,0.95,0,15.061;5.988,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2561.15,15.446,4.9451,,0,もう1台のロボット,,0,2.55,自分で動き出した,275,275,275,1.6,0,0,0.95,0,15.446;4.945,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2565.65,15.3731,5.4499,,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,275,275,275,1.75,0,0,0.95,0,15.373;5.45,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2571.15,15.3741,5.45,,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,275,275,275,1.75,0,0,0.95,0,15.374;5.45,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2576.65,15.3745,5.4501,,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,275,275,275,1.75,0,0,0.95,0,15.374;5.45,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2582.15,15.3746,5.4501,,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,275,275,275,1.75,0,0,0.95,0,15.375;5.45,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2587.65,15.3747,5.4501,,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,275,275,275,1.75,0,0,0.95,0,15.375;5.45,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2593.15,15.3747,5.4501,,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,275,275,275,1.75,0,0,0.95,0,15.375;5.45,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2598.45,15.3924,5.3314,,0,スタッフとすれ違った,Staff04,0,2.65,自分で動き出した,275,275,275,1.7,0,0,0.95,0,15.392;5.331,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,2603.55,15.388,5.3611,,0,もう1台のロボット,ServingRobot01,0,1.45,自分で動き出した,275,275,275,0.5,0,0,0.95,0,15.474;4.783,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2602.3,15.0902,5.8369,,0,分からない,,0,0.95,自分で動き出した,50.3414,275,50.3414,0,0,0,0.95,0,15.09;5.837,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2674.9,13.2421,8.1706,,0,人が立ち止まっていた,Staff02,0,33.7498,経路を引き直した,51.6808,70.3259,51.6808,32.7998,0,0,0.95,3,13.242;8.171,13.513;6.413,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2713.9,14.4575,6.0934,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,16.2442,275,16.2442,60.0494,0,0,0,5,14.457;6.093,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2826.9,14.4575,6.0934,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,16.2442,275,16.2442,60.0494,0,0,0,5,14.457;6.093,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2902.1,14.4575,6.0934,,0,スタッフとすれ違った,Staff02,0,60.0494,動けなくなった,16.2442,275,16.2442,60.0494,0,0,0,5,14.457;6.093,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,3014.8,14.4575,6.0934,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,16.2442,275,16.2442,60.0494,0,0,0,5,14.457;6.093,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,3090.9,14.4575,6.0934,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,16.2442,275,16.2442,60.0494,0,0,0,5,14.457;6.093,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,3174.35,14.4575,6.0934,,0,スタッフとすれ違った,Staff01,0,53.0495,経路を引き直した,16.2442,275,16.2442,53.0495,0,0,0,5,14.457;6.093,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,2731.2,15.3326,5.732,,0,分からない,,0,60.0494,動けなくなった,275,275,275,59.8494,0,0,0.2,5,15.333;5.732,13.538;6.263,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,2835.65,15.3326,5.732,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,55.0953,55.0953,60.0494,0,0,0,5,15.333;5.732,13.538;6.263,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,2917.2,15.3326,5.732,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,275,55.0953,55.0953,60.0494,0,0,0,5,15.333;5.732,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,2999.7,15.3326,5.732,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,275,53.0247,53.0247,60.0494,0,0,0,5,15.333;5.732,13.538;6.263,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3106,15.3326,5.732,,0,スタッフとすれ違った,Staff02,0,60.0494,動けなくなった,275,55.0953,55.0953,60.0494,0,0,0,5,15.333;5.732,13.538;6.263,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3181.2,15.3326,5.732,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,275,55.0953,55.0953,60.0494,0,0,0,5,15.333;5.732,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3256.4,15.3326,5.732,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,275,53.0247,53.0247,60.0494,0,0,0,5,15.333;5.732,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,3227.45,15.3,5.95,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,30.791,275,30.791,60.0494,0,0,0,5,15.3;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,3314.4,15.3,5.95,,0,人が立ち止まっていた,Staff01,0,20.75,経路を引き直した,275,30.0462,30.0462,19.8,0,0,0.95,2,15.3;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,3335.3,15.29,5.9504,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,3416.15,15.29,5.9504,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,3516.5,15.29,5.9504,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,3591.7,15.29,5.9504,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,3676.95,15.29,5.9504,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,9,3752.15,15.29,5.9504,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3331.3,15.3,5.95,,0,スタッフとすれ違った,Staff02,0,3.85,自分で動き出した,275,30.8747,30.8747,2.9,0,0,0.95,0,15.3;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3335.3,15.29,5.9504,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0.05,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3426.2,15.29,5.9504,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3501.4,15.29,5.9504,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3606.8,15.29,5.9504,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3682,15.29,5.9504,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3757.2,15.29,5.9504,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,275,30.0052,30.0052,60.0494,0,0,0,5,15.29;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3832.55,15.29,5.9504,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,0.95,自分で動き出した,275,30.0052,30.0052,0,0,0,0.95,0,15.29;5.95,13.538;6.263,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3946.3,12.1396,12.6674,,0,人が立ち止まっていた,Staff03,0,32.8998,経路を引き直した,275,21.7411,21.7411,28.0999,0,0,4.8,3,12.14;12.667,12.538;12.663,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,10,3985.25,12.9947,9.7259,,0,スタッフとすれ違った,Staff02,0,1.2,自分で動き出した,76.7539,45.314,45.314,0.25,0,0,0.95,0,12.552;12.556,13.513;6.413,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,10,3990.05,13.2775,7.918,,0,スタッフとすれ違った,Staff03,0,1.45,自分で動き出した,48.1247,73.9432,48.1247,0.5,0,0,0.95,0,12.552;12.556,13.513;6.413,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,1,11,3827.55,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,9.05,自分で動き出した,275,30.0462,30.0462,8.1,0,0,0.95,0,15.3;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3875.75,9.5252,3.071,,0,スタッフとすれ違った,Staff02,0,1.45,自分で動き出した,115.2039,194.1779,115.2039,0.5,0,0,0.95,0,12.666;4.534,8.488;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3906.45,9.7113,3.0666,,0,通路の順番待ち,先に入っている台：ServingRobot02,0,17.65,入口で待った,275,110.3249,110.3249,0,0,17.65,0,0,9.711;3.067,9.037;3.138,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3939.4,9.3101,11.5274,A03,0,もう1台のロボット,ServingRobot02,0,3.65,自分で動き出した,46.0099,23.9909,23.9909,2.7,0,0,0.95,0,9.279;3.112,9.312;12.038,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3973.5,11.2097,12.6072,,0,もう1台のロボット,ServingRobot02,0,7.25,自分で動き出した,275,15.821,15.821,6.3,0,0,0.95,0,9.459;12.485,12.363;12.688,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,11,3986.8,12.8502,10.6466,,0,もう1台のロボット,ServingRobot02,0,1.2,自分で動き出した,91.3828,30.688,30.688,0.25,0,0,0.95,0,12.549;12.558,13.513;6.413,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,1,11,3991.6,13.1333,8.8386,,0,もう1台のロボット,ServingRobot02,0,1.45,自分で動き出した,62.731,59.3398,59.3398,0.5,0,0,0.95,0,12.549;12.558,13.513;6.413,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,1,11,3999.4,14.4328,6.0918,,0,もう1台のロボット,ServingRobot02,0,0.55,自分で動き出した,16.3668,275,16.3668,0,0,0,0.55,0,13.648;6.22,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,12,3997.1,15.0702,5.9873,,0,分からない,,0,0.95,自分で動き出した,26.9383,275,26.9383,0,0,0,0.95,0,15.07;5.987,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,13,4001.3,15.0694,5.9877,,0,分からない,,0,0.95,自分で動き出した,26.9097,275,26.9097,0,0,0,0.95,0,15.069;5.988,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,13,4056.55,5.9016,4.4278,,0,人が立ち止まっていた,Staff03,0,9.2,自分で動き出した,143.4886,22.055,22.055,8.25,0,0,0.95,0,6.106;4.333,5.613;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,13,4138.3,10.5728,4.3676,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,18.2565,231.8843,18.2565,59.5494,0,0,0.5,5,10.573;4.368,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,13,4230.1,10.5728,4.3676,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,18.2565,231.8843,18.2565,59.5994,0,0,0.45,5,10.573;4.368,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,13,4362.75,10.5728,4.3676,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,18.2565,231.8843,18.2565,59.4994,0,0,0.55,5,10.573;4.368,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,13,4448.95,10.5728,4.3676,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,18.2565,231.8843,18.2565,59.9494,0,0,0.1,5,10.573;4.368,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,13,4537.4,10.5728,4.3676,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,18.2565,231.8843,18.2565,59.4994,0,0,0.55,5,10.573;4.368,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4116.95,15.3823,5.7213,,0,分からない,,0,0.95,自分で動き出した,275,204.8543,204.8543,0,0,0,0.95,0,15.382;5.721,6.1;3.2,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,14,4131.65,10.0582,3.9781,,0,お客さんとすれ違った,Guest(Clone),0,0.7,自分で動き出した,58.0702,195.137,58.0702,0,0,0,0.7,0,8.915;3.811,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4138.3,11.2946,4.3038,,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,225.3781,24.6222,24.6222,1.75,0,0,0.95,0,11.295;4.304,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4143.25,11.0845,4.3074,,0,もう1台のロボット,ServingRobot01,0,6.55,自分で動き出した,225.7371,275,225.7371,5.35,0,0,1.2,0,11.085;4.307,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4152.4,11.0845,4.3098,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,225.9809,275,225.9809,1.9,0,0,0.95,0,11.085;4.31,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4157.2,11.4745,4.3109,,0,人が立ち止まっていた,Guest(Clone),0,3.35,自分で動き出した,275,275,275,2.25,0,0,1.1,0,11.475;4.311,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4162.5,11.0845,4.3113,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.125,275,226.125,1.9,0,0,0.95,0,11.085;4.311,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4167.95,11.0845,4.3116,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1642,275,226.1642,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4173.4,11.0845,4.3118,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1829,275,226.1829,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4178.85,11.0845,4.3119,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1917,275,226.1917,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4184.3,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1957,275,226.1957,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4189.75,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1977,275,226.1977,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4195.2,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1987,275,226.1987,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4200.65,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4206.1,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4211.55,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4217,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4222.45,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4227.9,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4233.35,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4238.8,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,8.75,自分で動き出した,226.1994,275,226.1994,7.05,0,0,1.7,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4250.15,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,8.65,自分で動き出した,226.1994,275,226.1994,6.85,0,0,1.8,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4261.4,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4266.85,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4272.3,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4277.75,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4283.2,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4288.65,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4294.1,11.0845,4.312,,0,もう1台のロボット,ServingRobot01,0,7.9,自分で動き出した,226.1994,275,226.1994,6.6,0,0,1.3,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4303.05,11.387,4.312,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,0.5,自分で動き出した,23.8005,226.1994,23.8005,0,0,0,0.5,0,11.085;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4305.6,11.057,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,226.1994,275,226.1994,1.95,0,0,0.95,0,11.057;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4311.1,11.057,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,226.1994,275,226.1994,1.95,0,0,0.95,0,11.057;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4316.6,11.057,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,226.1994,275,226.1994,1.95,0,0,0.95,0,11.057;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4322.1,11.057,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,226.1994,275,226.1994,1.95,0,0,0.95,0,11.057;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4327.6,11.057,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,226.1994,275,226.1994,1.95,0,0,0.95,0,11.057;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4333.1,11.057,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,226.1994,275,226.1994,1.95,0,0,0.95,0,11.057;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4337.85,11.507,4.312,,0,お客さんとすれ違った,Guest(Clone),0,5.85,自分で動き出した,275,275,275,4.1,0,0,1.75,0,11.507;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4344.45,11.667,4.312,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,5.4,自分で動き出した,23.8005,226.1994,23.8005,4.45,0,0,0.95,0,11.507;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4351.3,11.142,4.312,,0,もう1台のロボット,ServingRobot01,0,4.55,自分で動き出した,226.1994,23.8005,23.8005,3.05,0,0,1.5,0,11.142;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4358.35,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4363.8,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4369.25,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4374.7,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4380.15,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4385.6,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4391.05,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4396.5,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4401.95,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4407.4,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4412.85,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4418.3,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4423.75,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4429.2,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4434.65,11.082,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4438.25,11.242,4.312,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,1.2,自分で動き出した,23.8005,226.1994,23.8005,0.25,0,0,0.95,0,11.082;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4441.75,11.062,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.062;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4446.1,11.632,4.312,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,56.5494,経路を引き直した,23.8005,226.1994,23.8005,53.5995,0,0,2.95,5,11.632;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4504.25,11.107,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,23.8005,23.8005,1.9,0,0,0.95,0,11.107;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4509.65,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4515.1,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4520.55,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4526,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4531.45,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4536.9,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4542.35,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4547.8,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4553.25,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4558.7,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4564.15,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4569.6,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4575.05,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4580.5,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4585.95,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4591.4,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4596.85,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4602.3,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4607.75,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4613.2,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,7.1,自分で動き出した,226.1994,275,226.1994,5.85,0,0,1.25,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4622.9,11.077,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4626.3,11.167,4.312,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,5.9,自分で動き出した,23.8005,226.1994,23.8005,4.95,0,0,0.95,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4633.5,11.617,4.312,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,0.45,自分で動き出した,23.8005,226.1994,23.8005,0,0,0,0.45,0,11.077;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4635.6,11.097,4.312,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,226.1994,275,226.1994,1.9,0,0,0.95,0,11.097;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4641,11.067,4.312,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,226.1994,275,226.1994,57.7994,0,0,2.25,5,11.067;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4717.05,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30,30,0,0,0,0.95,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4774.55,5.7046,7.6773,A02,0,人が立ち止まっていた,Staff03,0,5.45,自分で動き出した,55.5032,14.5593,14.5593,4.5,0,0,0.95,0,5.809;4.454,5.613;10.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4809.65,5.6208,10.2709,A02,0,人が立ち止まっていた,Staff01,0,1.25,自分で動き出した,47.1196,22.943,22.943,0.3,0,0,0.95,0,5.621;10.271,5.613;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4820.65,5.6466,4.7566,,0,もう1台のロボット,ServingRobot01,0,2.6,自分で動き出した,25.4301,275,25.4301,1.65,0,0,0.95,0,5.647;4.757,12.388;4.312,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,15,4824.2,5.8624,4.6304,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,5.35,自分で動き出した,22.0851,175.4274,22.0851,4.4,0,0,0.95,0,5.647;4.757,12.388;4.312,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,15,4841.05,12.4023,4.3925,,0,スタッフとすれ違った,Staff04,0,57.9994,経路を引き直した,21.2587,275,21.2587,57.0494,0,0,0.95,5,12.402;4.393,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4902.2,13.7764,5.1311,,0,スタッフとすれ違った,Staff04,0,1.15,自分で動き出した,275,275,275,0.2,0,0,0.95,0,12.402;4.393,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4904.1,13.9174,5.2068,,0,スタッフとすれ違った,Staff01,0,1.4,自分で動き出した,275,275,275,0.45,0,0,0.95,0,12.402;4.393,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,16,4676.55,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0258,275,30.0258,0,0,0,0.95,0,15.3;5.95,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,16,4726.2,5.7824,3.8336,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,69.2633,205.1296,69.2633,59.8494,0,0,0.2,5,5.782;3.834,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,16,4828.05,5.7824,3.8336,,0,お客さんとすれ違った,Guest(Clone),0,45.3996,経路を引き直した,69.2633,205.1296,69.2633,44.4496,0,0,0.95,4,5.782;3.834,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,16,4874.85,5.2772,3.904,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.3706,275,76.3706,60.0494,0,0,0,5,5.277;3.904,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,16,4993.3,5.2772,3.904,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.3706,275,76.3706,60.0494,0,0,0,5,5.277;3.904,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,16,5077.95,5.2772,3.904,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,76.3706,275,76.3706,60.0494,0,0,0,5,5.277;3.904,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,16,5165.4,5.2772,3.904,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.3706,275,76.3706,60.0494,0,0,0,5,5.277;3.904,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,16,5253.6,5.2772,3.904,,0,人が立ち止まっていた,Guest(Clone),0,48.0496,経路を引き直した,76.3706,275,76.3706,48.0496,0,0,0,4,5.277;3.904,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,4908,15.0933,5.8389,,0,分からない,,0,0.95,自分で動き出した,50.056,275,50.056,0,0,0,0.95,0,15.093;5.839,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,4947.5,19.6375,2.2012,,0,椅子・荷物・ベビーカー,Table38/Chair,0,0.45,自分で動き出した,85.1251,34.8787,34.8787,0,0,0,0.45,0,20.027;2.204,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,4959.2,13.2603,2.8197,,0,お客さんとすれ違った,Guest(Clone),0,0.95,自分で動き出した,259.5734,275,259.5734,0,0,0,0.95,0,17.883;2.19,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,4972.6,6.1857,3.784,,0,もう1台のロボット,ServingRobot01,0,2.6,自分で動き出した,64.2155,77.5414,64.2155,1.65,0,0,0.95,0,6.186;3.784,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,4977.1,5.7695,3.8402,,0,もう1台のロボット,ServingRobot01,0,19,経路を引き直した,69.8925,219.4743,69.8925,17.5,0,0,1.5,1,5.769;3.84,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,4996.35,5.7918,3.8371,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,1.7,自分で動き出した,198.5444,69.6147,69.6147,0.75,0,0,0.95,0,5.769;3.84,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,4999.8,5.414,3.6914,,0,もう1台のロボット,ServingRobot01,0,2.55,自分で動き出した,56.1596,207.0726,56.1596,1.6,0,0,0.95,0,5.414;3.691,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5005.45,5.7764,3.6809,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,54.3769,155.5869,54.3769,1.9,0,0,0.95,0,5.776;3.681,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5010.8,5.7805,3.7082,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,57.0346,161.3181,57.0346,1.9,0,0,0.95,0,5.78;3.708,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5016.15,5.7837,3.7304,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,59.2012,166.4277,59.2012,1.9,0,0,0.95,0,5.784;3.73,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5021.55,5.7568,3.7534,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,61.4542,189.4169,61.4542,1.9,0,0,0.95,0,5.757;3.753,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5027,5.759,3.7688,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,62.9511,194.0519,62.9511,1.9,0,0,0.95,0,5.759;3.769,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5032.45,5.7608,3.7812,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,64.1584,197.9932,64.1584,1.9,0,0,0.95,0,5.761;3.781,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5037.9,5.7622,3.7912,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,65.1322,201.3202,65.1322,1.9,0,0,0.95,0,5.762;3.791,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5043.05,5.9414,3.7729,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,63.2435,82.9309,63.2435,2.05,0,0,0.95,0,5.941;3.773,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5048.35,5.764,3.804,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,66.3721,205.7569,66.3721,1.9,0,0,0.95,0,5.764;3.804,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5053.8,5.7648,3.8096,,0,もう1台のロボット,ServingRobot01,0,3.4,自分で動き出した,66.9175,207.7821,66.9175,1.95,0,0,1.45,0,5.765;3.81,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5059.8,5.7655,3.8141,,0,もう1台のロボット,ServingRobot01,0,3.25,自分で動き出した,67.3574,209.4519,67.3574,2.2,0,0,1.05,0,5.765;3.814,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5065.25,6.0036,3.7838,,0,スタッフとすれ違った,Staff02,0,3.6,自分で動き出した,73.2222,87.9415,73.2222,2.6,0,0,1,0,6.004;3.784,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5070.7,5.9741,3.79,,0,スタッフとすれ違った,Staff02,0,4.75,自分で動き出した,68.0055,80.5519,68.0055,2.85,0,0,1.9,0,5.974;3.79,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5077.35,5.9744,3.7918,,0,スタッフとすれ違った,Staff02,0,4,自分で動き出した,68.2032,80.3655,68.2032,2.9,0,0,1.1,0,5.974;3.792,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5083.5,5.8261,3.8144,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,67.3564,170.3846,67.3564,1.95,0,0,0.95,0,5.826;3.814,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5088.9,5.7669,3.8246,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,68.3788,213.4525,68.3788,1.9,0,0,0.95,0,5.767;3.825,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5094.35,5.7672,3.8263,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,68.536,214.0851,68.536,1.9,0,0,0.95,0,5.767;3.826,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5099.8,5.7673,3.8276,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,68.6628,214.5959,68.6628,1.95,0,0,0.95,0,5.767;3.828,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5105.15,5.8566,3.8161,,0,人が立ち止まっていた,Guest(Clone),0,3.1,自分で動き出した,67.5062,150.6766,67.5062,2.15,0,0,0.95,0,5.857;3.816,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5110.7,5.7676,3.8293,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,68.8361,215.3026,68.8361,1.9,0,0,0.95,0,5.768;3.829,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5115.7,6.0351,3.7928,,0,もう1台のロボット,ServingRobot01,0,3.15,自分で動き出した,83.89,97.8552,83.89,2.2,0,0,0.95,0,6.035;3.793,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5121,5.7677,3.8304,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,68.9367,215.7118,68.9367,1.9,0,0,0.95,0,5.768;3.83,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5126.45,5.7678,3.8309,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,68.9861,215.9161,68.9861,1.9,0,0,0.95,0,5.768;3.831,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5131.9,5.7679,3.8313,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.026,216.0846,69.026,1.9,0,0,0.95,0,5.768;3.831,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5137.35,5.7679,3.8316,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.0579,216.2156,69.0579,1.9,0,0,0.95,0,5.768;3.832,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5142.8,5.7679,3.8319,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.0836,216.3205,69.0836,1.9,0,0,0.95,0,5.768;3.832,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5148.25,5.768,3.8321,,0,もう1台のロボット,ServingRobot01,0,3.35,自分で動き出した,69.1045,216.4064,69.1045,2.25,0,0,1.1,0,5.768;3.832,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5153.8,6.0057,3.7993,,0,スタッフとすれ違った,Staff03,0,3.65,自分で動き出した,75.0203,86.3038,75.0203,2.65,0,0,1,0,6.006;3.799,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5159.05,6.1246,3.7829,,0,スタッフとすれ違った,Staff03,0,3.85,自分で動き出した,162.3617,190.8531,162.3617,2.55,0,0,1.3,0,6.125;3.783,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5164.6,5.9463,3.8077,,0,スタッフとすれ違った,Staff03,0,3.25,自分で動き出した,66.6505,85.961,66.6505,2.3,0,0,0.95,0,5.946;3.808,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5170.15,5.768,3.8325,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.1426,216.564,69.1426,1.9,0,0,0.95,0,5.768;3.832,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5175.6,5.768,3.8326,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.1521,216.6049,69.1521,1.9,0,0,0.95,0,5.768;3.833,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5178.7,5.7903,3.8295,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,1.7,自分で動き出した,200.6302,68.8384,68.8384,0.75,0,0,0.95,0,5.768;3.833,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5182.8,5.8498,3.8213,,0,お客さんとすれ違った,Guest(Clone),0,2.9,自分で動き出した,68.0155,157.153,68.0155,1.95,0,0,0.95,0,5.85;3.821,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5188.15,5.7606,3.8338,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.2689,222.0659,69.2689,1.9,0,0,0.95,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5193.6,5.7606,3.8338,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.2738,222.0848,69.2738,1.9,0,0,0.95,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5199.05,5.7606,3.8338,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.278,222.101,69.278,1.9,0,0,0.95,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5204.5,5.7606,3.8339,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.2814,222.1156,69.2814,1.9,0,0,0.95,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5209.95,5.7606,3.8339,,0,もう1台のロボット,ServingRobot01,0,3.25,自分で動き出した,69.2842,222.1298,69.2842,2.15,0,0,1.1,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5215.8,5.7606,3.8339,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.2865,222.1414,69.2865,1.9,0,0,0.95,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5221.25,5.7606,3.834,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.2884,222.1511,69.2884,1.9,0,0,0.95,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5226.7,5.7606,3.834,,0,もう1台のロボット,ServingRobot01,0,3.3,自分で動き出した,69.2898,222.1578,69.2898,2.35,0,0,0.95,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5232.15,6.0281,3.7969,,0,もう1台のロボット,ServingRobot01,0,3.85,自分で動き出した,84.4207,97.3746,84.4207,2.55,0,0,1.3,0,6.028;3.797,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5237.45,6.1767,3.7763,,0,スタッフとすれ違った,Staff03,0,3.85,自分で動き出した,275,275,275,2.6,0,0,1.25,0,6.177;3.776,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5242.85,5.9687,3.8052,,0,もう1台のロボット,ServingRobot01,0,3.55,自分で動き出した,69.6339,79.0107,69.6339,2.55,0,0,1,0,5.969;3.805,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5248.3,5.9687,3.8052,,0,もう1台のロボット,ServingRobot01,0,3.55,自分で動き出した,69.6346,79.01,69.6346,2.55,0,0,1,0,5.969;3.805,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5253.75,5.9687,3.8052,,0,もう1台のロボット,ServingRobot01,0,3.1,自分で動き出した,69.6349,79.0097,69.6349,2.15,0,0,0.95,0,5.969;3.805,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5258.75,5.9687,3.8052,,0,もう1台のロボット,ServingRobot01,0,3.1,自分で動き出した,69.6353,79.0094,69.6353,2.15,0,0,0.95,0,5.969;3.805,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5264.1,5.7606,3.834,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.2931,222.1756,69.2931,1.9,0,0,0.95,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5269.55,5.7606,3.834,,0,もう1台のロボット,ServingRobot01,0,4.75,自分で動き出した,69.2936,222.1776,69.2936,3.4,0,0,1.35,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5276.9,5.7606,3.834,,0,もう1台のロボット,ServingRobot01,0,4.7,自分で動き出した,69.294,222.1798,69.294,2.9,0,0,1.8,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5284.2,5.7606,3.834,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,69.2944,222.1817,69.2944,1.9,0,0,0.95,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5289.65,5.7606,3.834,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,69.2948,222.1838,69.2948,2.05,0,0,0.95,0,5.761;3.834,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5294.85,5.9984,3.8011,,0,もう1台のロボット,ServingRobot01,0,3.1,自分で動き出した,75.224,86.108,75.224,2.15,0,0,0.95,0,5.998;3.801,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5300.15,5.7606,3.834,,0,もう1台のロボット,ServingRobot01,0,2.5,自分で動き出した,69.2953,222.1866,69.2953,1.55,0,0,0.95,0,5.761;3.834,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5303.8,5.4041,3.8834,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,74.2848,275,74.2848,60.0494,0,0,0,5,5.404;3.883,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5410.35,5.4041,3.8834,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,74.2848,275,74.2848,60.0494,0,0,0,5,5.404;3.883,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5499.65,5.4041,3.8834,,0,人が立ち止まっていた,Guest(Clone),0,9.8,自分で動き出した,74.2848,275,74.2848,8.85,0,0,0.95,0,5.404;3.883,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,17,5509.7,5.3818,3.8865,,0,人が立ち止まっていた,Guest(Clone),0,23.3999,経路を引き直した,74.5967,275,74.5967,23.3999,0,0,0,2,5.382;3.887,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5301.7,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.5315,30.5315,0,0,0,0.95,0,15.3;5.95,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5306.45,15.2679,4.0003,,0,お客さんとすれ違った,Guest(Clone),0,1.9,自分で動き出した,275,275,275,0.95,0,0,0.95,0,15.3;5.95,15.238;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5351.9,6.307,3.732,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,118.0674,82.9341,82.9341,60.0494,0,0,0,5,6.307;3.732,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5457.8,6.307,3.732,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,118.0674,82.9341,82.9341,60.0494,0,0,0,5,6.307;3.732,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5544.5,6.307,3.732,,0,分からない,,0,0.95,自分で動き出した,118.0674,82.9341,82.9341,0,0,0,0.95,0,6.307;3.732,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5547.9,5.179,3.897,,0,人が立ち止まっていた,Guest(Clone),0,49.2995,経路を引き直した,75.7568,275,75.7568,48.3496,0,0,0.95,4,5.179;3.897,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5601.8,2.7746,4.2486,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,275,30.7301,30.7301,59.1494,0,0,0.9,5,2.775;4.249,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5684.5,2.7746,4.2486,,0,分からない,,0,0.95,自分で動き出した,275,30.7301,30.7301,0,0,0,0.95,0,2.775;4.249,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5748.7,1.9133,9.1738,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,23.6695,46.3306,23.6695,60.0494,0,0,0,5,1.913;9.174,1.913;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5924.4,1.9133,9.1738,A01,0,人が立ち止まっていた,Staff03,0,1.6,自分で動き出した,23.6695,46.3306,23.6695,0.65,0,0,0.95,0,1.913;9.174,1.913;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,18,5935.95,3.011,4.4938,,0,もう1台のロボット,ServingRobot02,0,40.9497,経路を引き直した,5.6226,275,5.6226,40.9497,0,0,0,4,3.011;4.494,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,5976.95,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0102,275,30.0102,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,6020,9.3168,5.1893,A03,0,スタッフとすれ違った,Staff04,0,1.35,自分で動き出した,23.3197,46.6838,23.3197,0.4,0,0,0.95,0,9.327;6.569,9.312;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,6070.85,21.8351,2.2039,,0,椅子・荷物・ベビーカー,Table40/Chair,0,0.5,自分で動き出した,85.41,90.9405,85.41,0,0,0,0.5,0,22.225;2.196,16.713;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,6124.8,5.7348,4.6486,,0,もう1台のロボット,ServingRobot02,0,1.05,自分で動き出した,275,140.1099,140.1099,0.1,0,0,0.95,0,5.703;4.733,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,6129.25,7.3713,4.4876,,0,お客さんとすれ違った,Guest(Clone),0,2.35,自分で動き出した,56.9484,243.9236,56.9484,1.4,0,0,0.95,0,5.775;4.543,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,6133.3,8.0609,4.4635,,0,スタッフとすれ違った,Staff01,0,1.55,自分で動き出した,8.6753,241.5084,8.6753,0.6,0,0,0.95,0,5.775;4.543,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5533.15,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.5257,30.5257,0,0,0,0.95,0,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5546.35,8.6885,4.36,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,231.0355,275,231.0355,60.0494,0,0,0,5,8.689;4.36,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5630.7,8.6885,4.36,,0,人が立ち止まっていた,Staff01,0,35.7997,経路を引き直した,231.0355,275,231.0355,34.8498,0,0,0.95,3,8.689;4.36,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5704.15,5.0531,4.6314,,0,人が立ち止まっていた,Guest(Clone),0,0.9,自分で動き出した,275,3.0213,3.0213,0,0,0,0.9,0,5.629;6.565,2.4;2.9,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,20,5710.75,2.4863,2.9563,,0,通路の順番待ち,先に入っている台：ServingRobot01,0,9.5,入口で待った,275,210.3759,210.3759,0,0,9.5,0,0,2.486;2.956,5.388;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5726.95,4.7643,4.5105,,0,人が立ち止まっていた,Guest(Clone),0,0.65,自分で動き出した,136.578,4.0435,4.0435,0,0,0,0.65,0,5.198;4.546,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5763.7,1.9234,8.2388,A01,0,もう1台のロボット,ServingRobot01,0,25.2499,経路を引き直した,47.4361,22.7207,22.7207,24.2999,0,0,0.95,2,1.923;8.239,1.933;7.339,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5825.1,3.9295,4.4942,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,5.5897,134.4536,5.5897,60.0494,0,0,0,5,3.93;4.494,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,5914.65,3.9295,4.4942,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,5.5897,134.4536,5.5897,59.2494,0,0,0.8,5,3.93;4.494,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,6029.8,3.9295,4.4942,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,5.5897,134.4536,5.5897,60.0494,0,0,0,5,3.93;4.494,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,6118.4,3.9295,4.4942,,0,人が立ち止まっていた,Staff03,0,1.25,自分で動き出した,5.5897,134.4536,5.5897,0.3,0,0,0.95,0,3.93;4.494,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,6121.6,4.7694,4.4762,,0,もう1台のロボット,,0,3.1,自分で動き出した,7.3831,132.6602,7.3831,2.05,0,0,1.05,0,4.769;4.476,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,6126.1,5.0045,4.4602,,0,もう1台のロボット,ServingRobot01,0,1.75,自分で動き出した,275,136.1051,136.1051,0.8,0,0,0.95,0,4.632;4.468,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,6130.8,6.4443,4.4316,,0,もう1台のロボット,ServingRobot01,0,2.35,自分で動き出した,11.8486,275,11.8486,1.4,0,0,0.95,0,4.632;4.468,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,6134.85,7.1341,4.4179,,0,もう1台のロボット,ServingRobot01,0,1.55,自分で動き出した,13.2197,236.8395,13.2197,0.6,0,0,0.95,0,4.632;4.468,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,6149.3,14.2725,5.4055,,0,もう1台のロボット,ServingRobot01,0,1.25,自分で動き出した,275,275,275,0.3,0,0,0.95,0,12.218;4.317,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,6147.5,15.1019,5.8437,,0,分からない,,0,0.95,自分で動き出した,49.477,275,49.477,0,0,0,0.95,0,15.102;5.844,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,6154.6,16.3001,2.7059,,0,人が立ち止まっていた,Staff03,0,8.85,自分で動き出した,36.3086,275,36.3086,7.9,0,0,0.95,0,16.278;2.736,16.562;2.337,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,6201.15,21.1713,2.2638,,0,お客さんとすれ違った,,0,0.45,自分で動き出した,201.8256,241.6363,201.8256,0,0,0,0.45,0,22.219;2.198,6.1;3.2,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,1,21,6216.95,12.4198,3.2351,,0,お客さんとすれ違った,Guest(Clone),0,0.6,自分で動き出した,120.5232,275,120.5232,0,0,0,0.6,0,17.553;2.372,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,6225,8.3371,3.9213,,0,スタッフとすれ違った,Staff01,0,8.2,自分で動き出した,190.1105,64.0979,64.0979,6.15,0,0,2.05,0,17.553;2.372,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,6233.95,8.1793,3.9479,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,192.7999,61.4085,61.4085,60.0494,0,0,0,5,8.179;3.948,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,6327.6,8.1793,3.9479,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,192.7999,61.4085,61.4085,59.8494,0,0,0.2,5,8.179;3.948,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,6412.25,8.1793,3.9479,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,192.7999,61.4085,61.4085,59.8494,0,0,0.2,5,8.179;3.948,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,6511.25,8.1793,3.9479,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,192.7999,61.4085,61.4085,60.0494,0,0,0,5,8.179;3.948,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,6595.6,8.1793,3.9479,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,192.7999,61.4085,61.4085,60.0494,0,0,0,5,8.179;3.948,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,6701.5,8.1793,3.9479,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,192.7999,61.4085,61.4085,60.0494,0,0,0,5,8.179;3.948,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6152.35,15.081,5.834,,0,分からない,,0,0.95,自分で動き出した,50.378,275,50.378,0,0,0,0.95,0,15.081;5.834,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6210.5,6.9443,4.4794,,0,スタッフとすれ違った,Staff01,0,22.25,経路を引き直した,7.0768,243.065,7.0768,21.3,0,0,0.95,2,6.944;4.479,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6234,7.3641,4.4665,,0,お客さんとすれ違った,Guest(Clone),0,47.8996,経路を引き直した,91.6791,241.7735,91.6791,46.9496,0,0,0.95,4,7.364;4.466,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6283.6,7.7248,4.4357,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,11.4462,238.6592,11.4462,2,0,0,0.95,0,7.725;4.436,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6288.9,7.696,4.3901,,0,もう1台のロボット,ServingRobot01,0,3.4,自分で動き出した,15.9919,234.0497,15.9919,2.35,0,0,1.05,0,7.696;4.39,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6294.65,7.6664,4.361,,0,もう1台のロボット,ServingRobot01,0,3.55,自分で動き出した,18.8978,231.1184,18.8978,2.6,0,0,0.95,0,7.666;4.361,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6300.55,7.6966,4.3431,,0,もう1台のロボット,ServingRobot01,0,3.55,自分で動き出した,20.6914,229.3152,20.6914,2.6,0,0,0.95,0,7.697;4.343,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6306.5,7.6967,4.3314,,0,もう1台のロボット,ServingRobot01,0,3.95,自分で動き出した,21.8614,228.1412,21.8614,2.9,0,0,1.05,0,7.697;4.331,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6312.6,7.5467,4.3245,,0,スタッフとすれ違った,Staff02,0,26.6499,経路を引き直した,23.0754,230.2263,23.0754,25.6999,0,0,0.95,2,7.547;4.324,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6341.4,7.6967,4.3205,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,22.9527,227.0478,22.9527,2,0,0,0.95,0,7.697;4.32,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6346.75,7.6967,4.3173,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.2719,226.7283,23.2719,2,0,0,0.95,0,7.697;4.317,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6352.1,7.6968,4.3153,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.4704,226.5296,23.4704,2,0,0,0.95,0,7.697;4.315,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6357.45,7.6968,4.3141,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.5947,226.4053,23.5947,2,0,0,0.95,0,7.697;4.314,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6362.8,7.6968,4.3133,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.6718,226.3282,23.6718,2,0,0,0.95,0,7.697;4.313,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6368.2,7.6668,4.3128,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.7216,226.2784,23.7216,1.95,0,0,0.95,0,7.667;4.313,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6373.5,7.6668,4.3125,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.7512,226.2487,23.7512,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6378.8,7.6668,4.3123,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.7698,226.2302,23.7698,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6384.1,7.6668,4.3122,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.7812,226.2188,23.7812,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6389.4,7.6668,4.3121,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.7887,226.2113,23.7887,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6394.7,7.6668,4.3121,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.7931,226.2069,23.7931,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6400,7.6668,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.7957,226.2043,23.7957,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6405.3,7.6668,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.7971,226.2029,23.7971,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6410.6,7.6668,4.312,,0,もう1台のロボット,ServingRobot01,0,4.3,自分で動き出した,23.798,226.202,23.798,3.3,0,0,1,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6417.3,7.6668,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.7987,226.2012,23.7987,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6422.6,7.6668,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.799,226.201,23.799,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6427.9,7.6668,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.799,226.201,23.799,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6433.2,7.6668,4.312,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.799,226.201,23.799,1.95,0,0,0.95,0,7.667;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6437.35,7.2468,4.312,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,59.9494,経路を引き直した,226.201,23.799,23.799,56.7494,0,0,3.2,5,7.247;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6498.95,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6504.3,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6509.65,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6514.55,7.4118,4.312,,0,もう1台のロボット,ServingRobot01,0,59.9494,経路を引き直した,44.0117,174.6867,44.0117,58.9994,0,0,0.95,5,7.412;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6576.45,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6581.8,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6586.5,7.2918,4.312,,0,お客さんとすれ違った,Guest(Clone),0,3.7,自分で動き出した,275,275,275,2.55,0,0,1.15,0,7.292;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6591.95,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6597.3,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6602.65,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6608,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6613.35,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,3.2,自分で動き出した,23.799,226.201,23.799,2.25,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6618.95,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6624.3,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6629.65,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6635,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,23.799,226.201,23.799,2,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6640.35,7.6818,4.312,,0,もう1台のロボット,ServingRobot01,0,3.3,自分で動き出した,23.799,226.201,23.799,2.35,0,0,0.95,0,7.682;4.312,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6644.4,7.5218,4.312,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,226.201,23.799,23.799,60.0494,0,0,0,5,7.522;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6728.65,7.5218,4.312,,0,人が立ち止まっていた,Staff03,0,45.8996,経路を引き直した,23.799,226.201,23.799,43.6496,0,0,2.25,4,7.522;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,6775.95,8.0318,4.312,,0,人が立ち止まっていた,Staff04,0,1.5,自分で動き出した,23.799,226.201,23.799,1.5,0,0,0,0,7.522;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6772.65,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.7715,30.7715,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6778.25,13.1706,4.7183,,0,スタッフとすれ違った,Staff03,0,3.75,自分で動き出した,275,148.8775,148.8775,2.8,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6783.8,12.5005,4.4088,,0,お客さんとすれ違った,Guest(Clone),0,1.6,自分で動き出した,275,275,275,0.65,0,0,0.95,0,12.613;4.41,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6789.8,10.1908,4.3751,,0,お客さんとすれ違った,Guest(Clone),0,45.6496,経路を引き直した,232.5363,17.4955,17.4955,44.6996,0,0,0.95,4,10.191;4.375,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6905.25,5.576,9.3353,A02,0,人が立ち止まっていた,Guest(Clone),0,1.15,自分で動き出した,27.4413,42.659,27.4413,0.2,0,0,0.95,0,5.614;10.265,5.388;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6915.05,5.232,4.5259,,0,人が立ち止まっていた,Guest(Clone),0,1.05,自分で動き出した,275,31.3172,31.3172,0.1,0,0,0.95,0,5.247;4.527,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,6950.5,3.8453,4.4979,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,5.217,134.8271,5.217,60.0494,0,0,0,5,3.845;4.498,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,7045.65,3.8453,4.4979,,0,人が立ち止まっていた,Staff04,0,2.2,自分で動き出した,5.217,134.8271,5.217,1.25,0,0,0.95,0,3.845;4.498,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,23,7049.35,4.4151,4.4856,,0,お客さんとすれ違った,Guest(Clone),0,4.85,自分で動き出した,6.4466,133.5975,6.4466,3.9,0,0,0.95,0,3.845;4.498,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,7072.9,15.0892,5.8379,,0,分からない,,0,0.95,自分で動き出した,49.9829,275,49.9829,0,0,0,0.95,0,15.089;5.838,10.338;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,7151,9.4081,4.631,,0,お客さんとすれ違った,,0,0.95,自分で動き出した,18.515,275,18.515,0,0,0,0.95,0,9.323;4.807,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,7154.75,10.6911,4.438,,0,お客さんとすれ違った,Guest(Clone),0,5,自分で動き出した,11.2977,239.5285,11.2977,4.05,0,0,0.95,0,9.457;4.53,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6777.5,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30,275,30,0,0,0,0.95,0,15.3;5.95,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6843.75,17.4002,2.2627,,0,スタッフとすれ違った,Staff01,0,5.8,自分で動き出した,63.5759,28.9205,28.9205,4.85,0,0,0.95,0,17.819;2.228,6.1;3.2,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,25,6884.9,13.4277,7.8365,,0,人が立ち止まっていた,Staff03,0,37.9997,経路を引き直した,88.9431,32.823,32.823,37.0497,0,0,0.95,3,13.428;7.837,12.788;12.263,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6985.05,12.7837,11.1604,,0,スタッフとすれ違った,Staff03,0,59.0494,経路を引き直した,98.0571,23.9371,23.9371,58.0994,0,0,0.95,5,12.784;11.16,13.513;6.413,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,7051.35,13.3941,7.1869,,0,スタッフとすれ違った,Staff03,0,59.0494,経路を引き直した,36.3005,85.6938,36.3005,58.0994,0,0,0.95,5,13.394;7.187,13.513;6.413,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,7113,13.8678,6.1899,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,55.027,275,55.027,60.0494,0,0,0,5,13.868;6.19,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,7249.2,13.8678,6.1899,,0,もう1台のロボット,ServingRobot01,0,2.05,自分で動き出した,55.0271,275,55.0271,2.05,0,0,0,0,13.868;6.19,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,7168,15.0931,5.8388,,0,分からない,,0,10.3,経路を引き直した,50.062,275,50.062,8.9,0,0,1.4,1,15.093;5.839,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,7179.35,14.7912,5.8574,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,39.3841,39.3841,60.0494,0,0,0,5,14.791;5.857,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,7265.5,14.7912,5.8574,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,39.3841,39.3841,59.9494,0,0,0.1,5,14.791;5.857,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,7398.9,14.7912,5.8574,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,39.3841,39.3841,59.2494,0,0,0.8,5,14.791;5.857,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,7477.6,14.7912,5.8574,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,39.3841,39.3841,59.5494,0,0,0.5,5,14.791;5.857,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,7552.85,14.7912,5.8574,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,39.3841,39.3841,59.7494,0,0,0.3,5,14.791;5.857,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,7630.7,14.7912,5.8574,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,39.3841,39.3841,59.5494,0,0,0.5,5,14.791;5.857,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,7705.95,14.7912,5.8574,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,39.3841,39.3841,59.4994,0,0,0.55,5,14.791;5.857,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7251.25,13.8678,6.1899,,0,もう1台のロボット,ServingRobot01,0,58.6994,経路を引き直した,16.644,275,16.644,55.3994,0,0,3.3,5,13.868;6.19,13.021;6.495,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7311.8,14.3704,6.1205,,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,13.5803,275,13.5803,1.75,0,0,0.95,0,14.37;6.121,13.607;6.598,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7317.1,14.34,6.1959,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,6.3942,275,6.3942,1.95,0,0,0.95,0,14.34;6.196,13.62;6.736,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7322.6,14.4198,6.1843,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,7.6739,275,7.6739,2.05,0,0,0.95,0,14.42;6.184,13.744;6.779,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7328.5,14.4548,6.1793,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,8.2309,275,8.2309,2.05,0,0,0.95,0,14.455;6.179,13.747;6.801,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7334.45,14.4594,6.1753,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,8.6116,275,8.6116,2.05,0,0,0.95,0,14.459;6.175,13.747;6.798,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7340.35,14.4404,6.185,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,7.6514,275,7.6514,2.05,0,0,0.95,0,14.44;6.185,13.747;6.799,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7346.2,14.4464,6.1822,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,7.9306,275,7.9306,2.05,0,0,0.95,0,14.446;6.182,13.747;6.799,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7352.05,14.4504,6.1802,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,8.1363,275,8.1363,2.05,0,0,0.95,0,14.45;6.18,13.747;6.799,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7358,14.4561,6.1789,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,8.2677,275,8.2677,2.05,0,0,0.95,0,14.456;6.179,13.747;6.802,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7363.95,14.4601,6.1749,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,8.6541,275,8.6541,2.05,0,0,0.95,0,14.46;6.175,13.747;6.797,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7369.85,14.4409,6.1848,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,7.6773,275,7.6773,2.05,0,0,0.95,0,14.441;6.185,13.747;6.799,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7375.7,14.4468,6.1821,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,7.9474,275,7.9474,2.05,0,0,0.95,0,14.447;6.182,13.747;6.799,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7380.6,13.879,6.3438,,0,スタッフとすれ違った,Staff02,0,3.75,自分で動き出した,158.6252,5.6043,5.6043,2.2,0,0,1.55,0,13.842;6.289,13.085;6.767,PathComplete,2,0.0709
fam_p1_s4_r2_a42,0,2,27,7385.65,14.1664,6.2538,,0,もう1台のロボット,ServingRobot01,0,3.6,自分で動き出した,5.872,275,5.872,2.6,0,0,1,0,14.166;6.25,13.406;6.736,PathComplete,4,0.0253
fam_p1_s4_r2_a42,0,2,27,7391.65,14.4592,6.1602,,0,もう1台のロボット,ServingRobot01,0,3.25,自分で動き出した,10.0236,275,10.0236,2.3,0,0,0.95,0,14.459;6.16,13.747;6.766,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7397.8,14.4415,6.1838,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,7.775,275,7.775,2.05,0,0,0.95,0,14.441;6.184,13.747;6.798,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7403.65,14.4472,6.1818,,0,もう1台のロボット,ServingRobot01,0,3,自分で動き出した,7.9727,275,7.9727,2.05,0,0,0.95,0,14.447;6.182,13.747;6.799,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7409.55,14.4254,6.1879,,0,人が立ち止まっていた,Staff04,0,3.05,自分で動き出した,7.34,275,7.34,2.1,0,0,0.95,0,14.425;6.188,13.747;6.791,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7415.4,14.4009,6.1913,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.9651,275,6.9651,2.1,0,0,0.95,0,14.401;6.191,13.717;6.776,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7421.15,14.3782,6.2015,,0,人が立ち止まっていた,Staff04,0,3.05,自分で動き出した,5.9381,275,5.9381,2.1,0,0,0.95,0,14.378;6.202,13.687;6.778,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7426.85,14.3785,6.1999,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.0981,275,6.0981,2.1,0,0,0.95,0,14.378;6.2,13.686;6.775,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7432.55,14.3786,6.1996,,0,人が立ち止まっていた,Staff04,0,3.05,自分で動き出した,6.1242,275,6.1242,2.1,0,0,0.95,0,14.379;6.2,13.686;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7438.25,14.3788,6.1995,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.1326,275,6.1326,2.1,0,0,0.95,0,14.379;6.2,13.686;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7443.95,14.3789,6.1995,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.1375,275,6.1375,2.1,0,0,0.95,0,14.379;6.199,13.686;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7449.65,14.379,6.1994,,0,人が立ち止まっていた,Staff04,0,3.05,自分で動き出した,6.1418,275,6.1418,2.1,0,0,0.95,0,14.379;6.199,13.686;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7455.35,14.3791,6.1994,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.1454,275,6.1454,2.1,0,0,0.95,0,14.379;6.199,13.686;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7461.05,14.3791,6.1993,,0,人が立ち止まっていた,Staff04,0,3.1,自分で動き出した,6.1483,275,6.1483,2.15,0,0,0.95,0,14.379;6.199,13.687;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7466.85,14.4081,6.1915,,0,人が立ち止まっていた,Staff04,0,3,自分で動き出した,6.9629,275,6.9629,2.05,0,0,0.95,0,14.408;6.191,13.73;6.783,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7472.6,14.4133,6.1913,,0,人が立ち止まっていた,Staff04,0,3,自分で動き出した,6.9925,275,6.9925,2.05,0,0,0.95,0,14.413;6.191,13.739;6.787,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7478.35,14.4177,6.1896,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,7.1611,275,7.1611,2.1,0,0,0.95,0,14.418;6.19,13.745;6.788,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7484.1,14.3922,6.1959,,0,人が立ち止まっていた,Staff04,0,3.05,自分で動き出した,6.5014,275,6.5014,2.1,0,0,0.95,0,14.392;6.196,13.706;6.778,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7489.8,14.391,6.1925,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.8231,275,6.8231,2.1,0,0,0.95,0,14.391;6.193,13.701;6.77,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7495.5,14.3889,6.1949,,0,人が立ち止まっていた,Staff04,0,3.05,自分で動き出した,6.5955,275,6.5955,2.1,0,0,0.95,0,14.389;6.195,13.699;6.773,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7501.2,14.3872,6.1958,,0,人が立ち止まっていた,Staff04,0,3.05,自分で動き出した,6.5047,275,6.5047,2.1,0,0,0.95,0,14.387;6.196,13.697;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7506.9,14.3859,6.1964,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.4432,275,6.4432,2.1,0,0,0.95,0,14.386;6.196,13.696;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7512.6,14.3848,6.1969,,0,人が立ち止まっていた,Staff04,0,3.05,自分で動き出した,6.3948,275,6.3948,2.1,0,0,0.95,0,14.385;6.197,13.694;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7518.3,14.3839,6.1973,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.3552,275,6.3552,2.1,0,0,0.95,0,14.384;6.197,13.693;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7524,14.3831,6.1976,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.3228,275,6.3228,2.1,0,0,0.95,0,14.383;6.198,13.692;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7529.7,14.3825,6.1979,,0,人が立ち止まっていた,Staff04,0,3.05,自分で動き出した,6.2954,275,6.2954,2.1,0,0,0.95,0,14.383;6.198,13.691;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7535.4,14.382,6.1981,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.2731,275,6.2731,2.1,0,0,0.95,0,14.382;6.198,13.69;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7541.15,14.4105,6.1905,,0,人が立ち止まっていた,Staff04,0,3,自分で動き出した,7.066,275,7.066,2.05,0,0,0.95,0,14.411;6.19,13.733;6.783,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7546.9,14.4153,6.1904,,0,人が立ち止まっていた,Staff04,0,3,自分で動き出した,7.0795,275,7.0795,2.05,0,0,0.95,0,14.415;6.19,13.742;6.787,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7552.65,14.4193,6.1889,,0,人が立ち止まっていた,Staff04,0,3.05,自分で動き出した,7.2325,275,7.2325,2.1,0,0,0.95,0,14.419;6.189,13.747;6.788,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7558.5,14.3967,6.1956,,0,スタッフとすれ違った,Staff04,0,3.05,自分で動き出した,6.5447,275,6.5447,2.1,0,0,0.95,0,14.397;6.196,13.713;6.781,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7564.1,14.281,6.2224,,0,スタッフとすれ違った,Staff04,0,52.3495,経路を引き直した,3.7357,275,3.7357,51.3995,0,0,0.95,5,14.281;6.222,13.549;6.746,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7618.9,14.3802,6.1886,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,7.1686,275,7.1686,2.1,0,0,0.95,0,14.38;6.189,13.679;6.753,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7624.6,14.3796,6.1978,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.2992,275,6.2992,2.1,0,0,0.95,0,14.38;6.198,13.686;6.771,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7630.35,14.4085,6.1912,,0,人が立ち止まっていた,Staff02,0,4.95,自分で動き出した,6.9932,275,6.9932,3.6,0,0,1.35,0,14.408;6.191,13.73;6.783,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7638,14.3846,6.199,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.19,275,6.19,2.1,0,0,0.95,0,14.385;6.199,13.696;6.778,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7643.7,14.3839,6.1976,,0,スタッフとすれ違った,Staff02,0,3.05,自分で動き出した,6.3283,275,6.3283,2.1,0,0,0.95,0,14.384;6.198,13.693;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7649.4,14.3831,6.1976,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.3187,275,6.3187,2.1,0,0,0.95,0,14.383;6.198,13.692;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7655.1,14.3825,6.1979,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.2948,275,6.2948,2.1,0,0,0.95,0,14.383;6.198,13.691;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7660.8,14.382,6.1981,,0,スタッフとすれ違った,Staff02,0,3.05,自分で動き出した,6.273,275,6.273,2.1,0,0,0.95,0,14.382;6.198,13.69;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7666.5,14.3816,6.1983,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.255,275,6.255,2.1,0,0,0.95,0,14.382;6.198,13.69;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7672.2,14.3812,6.1984,,0,スタッフとすれ違った,Staff02,0,3.05,自分で動き出した,6.2396,275,6.2396,2.1,0,0,0.95,0,14.381;6.198,13.689;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7677.9,14.3809,6.1986,,0,人が立ち止まっていた,Staff02,0,4.65,自分で動き出した,6.2268,275,6.2268,3.35,0,0,1.3,0,14.381;6.199,13.689;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7685.2,14.3807,6.1987,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.2161,275,6.2161,2.1,0,0,0.95,0,14.381;6.199,13.689;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7690.9,14.3805,6.1988,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.2073,275,6.2073,2.1,0,0,0.95,0,14.38;6.199,13.688;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7696.65,14.4093,6.191,,0,人が立ち止まっていた,Staff02,0,3,自分で動き出した,7.0114,275,7.0114,2.05,0,0,0.95,0,14.409;6.191,13.731;6.783,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7702.4,14.4143,6.1909,,0,人が立ち止まっていた,Staff02,0,3,自分で動き出した,7.0338,275,7.0338,2.05,0,0,0.95,0,14.414;6.191,13.74;6.787,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7708.15,14.4184,6.1893,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,7.1953,275,7.1953,2.1,0,0,0.95,0,14.418;6.189,13.746;6.788,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7713.9,14.3929,6.1957,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.5293,275,6.5293,2.1,0,0,0.95,0,14.393;6.196,13.707;6.778,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7719.6,14.3915,6.1923,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.8451,275,6.8451,2.1,0,0,0.95,0,14.391;6.192,13.702;6.77,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7725.3,14.3893,6.1947,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.6136,275,6.6136,2.1,0,0,0.95,0,14.389;6.195,13.7;6.773,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7731,14.3876,6.1956,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.5194,275,6.5194,2.1,0,0,0.95,0,14.388;6.196,13.698;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7736.7,14.3862,6.1963,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.4555,275,6.4555,2.1,0,0,0.95,0,14.386;6.196,13.696;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7742.4,14.385,6.1968,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.405,275,6.405,2.1,0,0,0.95,0,14.385;6.197,13.694;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7748.1,14.3841,6.1972,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.3633,275,6.3633,2.1,0,0,0.95,0,14.384;6.197,13.693;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7753.8,14.3833,6.1975,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.3295,275,6.3295,2.1,0,0,0.95,0,14.383;6.198,13.692;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7759.5,14.3827,6.1978,,0,人が立ち止まっていた,Staff02,0,3.05,自分で動き出した,6.3017,275,6.3017,2.1,0,0,0.95,0,14.383;6.198,13.691;6.774,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,27,7765.2,14.3821,6.198,,0,人が立ち止まっていた,Staff02,0,4.1,自分で動き出した,6.2783,275,6.2783,3.15,0,0,0.95,0,14.382;6.198,13.513;6.433,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,27,7771.15,14.8153,6.069,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,19.3767,275,19.3767,1.9,0,0,0.95,0,14.815;6.069,13.941;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7776.6,14.8132,6.0592,,0,もう1台のロボット,ServingRobot01,0,3.35,自分で動き出した,20.1785,275,20.1785,2.25,0,0,1.1,0,14.813;6.059,13.935;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7782.55,14.8128,6.0574,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,20.3239,275,20.3239,1.9,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7788,14.8127,6.0571,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,20.3501,275,20.3501,1.9,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7793.45,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,3.05,自分で動き出した,20.3548,275,20.3548,2.1,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7799.1,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,20.3557,275,20.3557,1.9,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7804.55,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,20.3558,275,20.3558,1.9,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7810,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,20.3559,275,20.3559,1.9,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7815.45,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,20.3559,275,20.3559,1.9,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7820.9,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,20.3559,275,20.3559,1.9,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7826.35,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,20.3559,275,20.3559,1.9,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7831.8,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,20.3559,275,20.3559,1.9,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7837.25,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,20.3559,275,20.3559,1.9,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7842.7,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,3.25,自分で動き出した,20.3559,275,20.3559,2.3,0,0,0.95,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,7848.55,14.8127,6.057,,0,もう1台のロボット,ServingRobot01,0,2.75,自分で動き出した,20.3559,275,20.3559,2.25,0,0,0.5,0,14.813;6.057,13.934;6.25,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,28,7768.1,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,30.1037,30.1037,60.0494,0,0,0,5,15.3;5.95,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,28,7859.3,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,30.0008,30.0008,60.0494,0,0,0,5,15.3;5.95,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,28,7934.5,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,30.0008,30.0008,60.0494,0,0,0,5,15.3;5.95,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,28,8009.7,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,30.0008,30.0008,60.0494,0,0,0,5,15.3;5.95,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,28,8131.6,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,8.8,自分で動き出した,275,30.0008,30.0008,7.85,0,0,0.95,0,15.3;5.95,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,28,8243.601,14.2172,5.375,,0,スタッフとすれ違った,Staff02,0,0.55,自分で動き出した,275,275,275,0,0,0,0.55,0,12.243;4.327,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,7851.35,15.3,5.95,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,31.3101,31.3101,59.8494,0,0,0.2,5,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,7948.25,15.3,5.95,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,45.1637,275,45.1637,60.0494,0,0,0,5,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,8023.6,15.3,5.95,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,45.1637,275,45.1637,59.1494,0,0,0.9,5,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,8124.35,15.3,5.95,,0,スタッフとすれ違った,Staff04,0,12.05,経路を引き直した,45.1637,275,45.1637,11.1,0,0,0.95,1,15.3;5.95,16.262;5.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,8220.851,5.7697,3.612,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,47.6328,142.3836,47.6328,60.0494,0,0,0,5,5.77;3.612,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,8298.5,5.7697,3.612,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,47.6328,142.3836,47.6328,60.0494,0,0,0,5,5.77;3.612,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,8373.7,5.7697,3.612,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,47.6328,142.3836,47.6328,60.0494,0,0,0,5,5.77;3.612,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,8470.351,5.7697,3.612,,0,人が立ち止まっていた,Guest(Clone),0,31.1498,経路を引き直した,47.6328,142.3836,47.6328,31.1498,0,0,0,3,5.77;3.612,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,8246.101,15.1048,5.8463,,0,分からない,,0,2.5,自分で動き出した,49.0099,275,49.0099,0.85,0,0,1.65,0,15.105;5.846,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,8252.4,13.6039,6.6371,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,106.5396,14.9596,14.9596,60.0494,0,0,0,5,13.604;6.637,13.088;10.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,8353.5,13.6039,6.6371,,0,人が立ち止まっていた,Staff04,0,7.65,自分で動き出した,106.5396,14.9596,14.9596,6.7,0,0,0.95,0,13.604;6.637,13.088;10.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,8468.351,13.8101,6.1957,,0,お客さんとすれ違った,Guest(Clone),0,49.6995,経路を引き直した,91.6787,275,91.6787,48.7495,0,0,0.95,4,13.81;6.196,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8520.45,15.0681,5.9882,,0,分からない,,0,3.1,自分で動き出した,26.8669,275,26.8669,1.5,0,0,1.6,0,15.068;5.988,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8533.45,9.9188,4.3738,,0,お客さんとすれ違った,Guest(Clone),0,1.3,自分で動き出した,232.4145,17.6203,17.6203,0.35,0,0,0.95,0,12.604;4.415,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8536.25,9.3489,4.3652,,0,お客さんとすれ違った,Guest(Clone),0,2.9,自分で動き出した,231.5454,275,231.5454,1.95,0,0,0.95,0,12.604;4.415,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,31,8590,5.6632,4.7171,,0,もう1台のロボット,ServingRobot02,0,52.8995,経路を引き直した,23.701,275,23.701,51.9495,0,0,0.95,5,5.663;4.717,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8501.55,15.3,5.95,,0,お客さんとすれ違った,Guest(Clone),0,1.15,自分で動き出した,275,31.103,31.103,0.2,0,0,0.95,0,15.3;5.95,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8546.95,5.7431,3.7868,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,64.721,209.5054,64.721,60.0494,0,0,0,5,5.743;3.787,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8640.351,5.7431,3.7868,,0,分からない,,0,0.95,自分で動き出した,64.721,209.5054,64.721,0,0,0,0.95,0,5.743;3.787,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8642.25,5.496,3.8248,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,68.5703,275,68.5703,60.0494,0,0,0,5,5.496;3.825,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8743.7,5.496,3.8248,,0,人が立ち止まっていた,Guest(Clone),0,27.9999,経路を引き直した,68.5703,275,68.5703,27.0499,0,0,0.95,2,5.496;3.825,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8771.95,5.4738,3.8282,,0,人が立ち止まっていた,Guest(Clone),0,39.1997,経路を引き直した,68.9167,275,68.9167,38.2497,0,0,0.95,3,5.474;3.828,12.188;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8814.45,5.4113,3.8188,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,68.044,275,68.044,60.0494,0,0,0,5,5.411;3.819,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8899.601,5.4113,3.8188,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,68.044,275,68.044,60.0494,0,0,0,5,5.411;3.819,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,8974.8,5.4113,3.8188,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,68.044,275,68.044,60.0494,0,0,0,5,5.411;3.819,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,9062.5,5.4113,3.8188,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,68.044,275,68.044,60.0494,0,0,0,5,5.411;3.819,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,8659.75,15.0987,5.8421,,0,分からない,,0,0.95,自分で動き出した,49.6494,275,49.6494,0,0,0,0.95,0,15.099;5.842,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,8677.7,5.6115,4.3454,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.5476,275,119.5476,60.0494,0,0,0,5,5.612;4.345,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,8759.5,5.6115,4.3454,,0,スタッフとすれ違った,Staff04,0,47.4496,経路を引き直した,119.5476,275,119.5476,46.4996,0,0,0.95,4,5.612;4.345,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,8807.9,5.3615,4.343,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.3053,275,119.3053,60.0494,0,0,0,5,5.362;4.343,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,8884.5,5.3615,4.343,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,119.3053,275,119.3053,60.0494,0,0,0,5,5.362;4.343,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,8991.601,5.3615,4.343,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,119.3053,275,119.3053,60.0494,0,0,0,5,5.362;4.343,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,9077.601,5.3615,4.343,,0,人が立ち止まっていた,Staff04,0,50.4995,経路を引き直した,119.3053,275,119.3053,49.5495,0,0,0.95,5,5.362;4.343,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,9169.851,4.0813,4.4865,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,6.3585,133.6834,6.3585,60.0494,0,0,0,5,4.081;4.486,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,34,9284.9,15.3,5.95,,0,分からない,,0,1.75,自分で動き出した,30.0121,275,30.0121,0.3,0,0,1.45,0,15.3;5.95,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,34,9391,16.3097,3.1393,,0,スタッフとすれ違った,Staff02,0,2.2,自分で動き出した,275,27.0981,27.0981,1.25,0,0,0.95,0,16.568;2.419,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9126.7,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.6982,30.6982,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9134.75,11.7812,4.3957,,0,スタッフとすれ違った,Staff02,0,60.0494,動けなくなった,234.5984,15.4316,15.4316,60.0494,0,0,0,5,11.781;4.396,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9214.101,11.7812,4.3957,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,234.5984,15.4316,15.4316,60.0494,0,0,0,5,11.781;4.396,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9304.8,11.7812,4.3957,,0,人が立ち止まっていた,Staff02,0,18.35,経路を引き直した,234.5984,15.4316,15.4316,17.4,0,0,0.95,1,11.781;4.396,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9333.7,5.8286,4.4756,,0,人が立ち止まっていた,Guest(Clone),0,0.75,自分で動き出した,222.6342,25.9767,25.9767,0,0,0,0.75,0,5.852;4.447,5.613;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9360.851,5.6139,4.7098,,0,人が立ち止まっていた,Guest(Clone),0,35.4997,経路を引き直した,275,118.7792,118.7792,34.5498,0,0,0.95,3,5.614;4.71,5.363;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9397.601,5.2812,4.4657,,0,人が立ち止まっていた,Guest(Clone),0,0.85,自分で動き出した,131.7844,275,131.7844,0,0,0,0.85,0,5.319;4.468,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9477.5,3.9345,4.4784,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,7.162,132.8748,7.162,60.0494,0,0,0,5,3.935;4.478,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9592.75,3.9345,4.4784,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,7.162,132.8748,7.162,60.0494,0,0,0,5,3.935;4.478,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9710.9,3.9345,4.4784,,0,人が立ち止まっていた,Staff01,0,11.45,経路を引き直した,7.162,132.8748,7.162,10.5,0,0,0.95,1,3.935;4.478,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9723.75,4.4444,4.4684,,0,もう1台のロボット,ServingRobot01,0,4.75,自分で動き出した,8.1661,131.8707,8.1661,3.15,0,0,1.6,0,4.444;4.468,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9730.351,4.5951,4.4393,,0,人が立ち止まっていた,Guest(Clone),0,3.25,自分で動き出した,11.0781,128.9472,11.0781,2.3,0,0,0.95,0,4.595;4.439,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9735.7,4.5957,4.4092,,0,人が立ち止まっていた,Guest(Clone),0,3.3,自分で動き出した,14.086,125.9287,14.086,2.35,0,0,0.95,0,4.596;4.409,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9741.101,4.5961,4.3862,,0,人が立ち止まっていた,Guest(Clone),0,3.3,自分で動き出した,16.3835,123.6251,16.3835,2.35,0,0,0.95,0,4.596;4.386,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9746.5,4.5963,4.3686,,0,人が立ち止まっていた,Guest(Clone),0,3.3,自分で動き出した,18.1376,121.8674,18.1376,2.35,0,0,0.95,0,4.596;4.369,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9751.851,4.6264,4.3559,,0,人が立ち止まっていた,Guest(Clone),0,3.3,自分で動き出した,19.4124,120.5906,19.4124,2.35,0,0,0.95,0,4.626;4.356,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9757.25,4.6264,4.3456,,0,人が立ち止まっていた,Guest(Clone),0,3.35,自分で動き出した,20.4417,119.5601,20.4417,2.4,0,0,0.95,0,4.626;4.346,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9762.65,4.5965,4.3378,,0,人が立ち止まっていた,Guest(Clone),0,3.7,自分で動き出した,21.2194,118.7816,21.2194,2.75,0,0,0.95,0,4.596;4.338,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9768.2,4.5065,4.3323,,0,スタッフとすれ違った,Staff03,0,3.85,自分で動き出した,27.2348,134.9686,27.2348,2.9,0,0,0.95,0,4.507;4.332,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9773.8,4.5365,4.3285,,0,スタッフとすれ違った,Staff03,0,5.45,自分で動き出した,24.4548,124.846,24.4548,4.5,0,0,0.95,0,4.537;4.329,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9781.101,4.5665,4.3252,,0,人が立ち止まっていた,Guest(Clone),0,3.65,自分で動き出した,23.0254,119.1713,23.0254,2.7,0,0,0.95,0,4.567;4.325,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9785,4.544,4.3251,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,1.2,自分で動き出した,117.5132,22.4897,22.4897,0.25,0,0,0.95,0,4.567;4.325,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9788.15,4.574,4.3223,,0,人が立ち止まっていた,Guest(Clone),0,3.65,自分で動き出した,22.7693,117.2309,22.7693,2.7,0,0,0.95,0,4.574;4.322,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9793.8,4.574,4.32,,0,人が立ち止まっていた,Guest(Clone),0,3.65,自分で動き出した,22.9996,117.0005,22.9996,2.7,0,0,0.95,0,4.574;4.32,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,9799.45,4.574,4.3182,,0,人が立ち止まっていた,Guest(Clone),0,2.45,自分で動き出した,23.1786,116.8214,23.1786,2.45,0,0,0,0,4.574;4.318,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9398.05,15.3817,5.7226,,0,分からない,,0,0.95,自分で動き出した,275,204.9333,204.9333,0,0,0,0.95,0,15.382;5.723,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9406.5,17.198,2.3779,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,17.4093,75.2528,17.4093,60.0494,0,0,0,5,17.198;2.378,19.162;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9565.5,17.198,2.3779,,0,人が立ち止まっていた,Staff02,0,23.4999,経路を引き直した,17.4093,75.2528,17.4093,22.5499,0,0,0.95,2,17.198;2.378,19.162;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9618.4,18.5255,2.2296,,0,椅子・荷物・ベビーカー,Table37/Chair,0,0.45,自分で動き出した,75.0684,32.1,32.1,0,0,0,0.45,0,18.915;2.212,16.713;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9666.8,5.6245,4.7031,,0,人が立ち止まっていた,Staff01,0,55.5494,経路を引き直した,275,127.5605,127.5605,54.5995,0,0,0.95,5,5.624;4.703,5.363;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9723.65,5.2566,4.4651,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,131.7215,275,131.7215,59.6494,0,0,0.4,5,5.257;4.465,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9810.95,5.2566,4.4651,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,131.7215,275,131.7215,60.0494,0,0,0,5,5.257;4.465,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9891.2,5.2566,4.4651,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,131.7215,275,131.7215,60.0494,0,0,0,5,5.257;4.465,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,9966.4,5.2566,4.4651,,0,分からない,,0,0.95,自分で動き出した,131.7215,275,131.7215,0,0,0,0.95,0,5.257;4.465,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,10001.7,3.8444,4.5002,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,4.9901,135.0551,4.9901,60.0494,0,0,0,5,3.844;4.5,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9801.95,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9812.4,10.3414,4.3754,,0,スタッフとすれ違った,Staff04,0,1.55,自分で動き出した,232.5611,17.4689,17.4689,0.6,0,0,0.95,0,12.606;4.407,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9818.2,8.1216,4.344,,0,スタッフとすれ違った,Staff02,0,58.1494,経路を引き直した,229.4204,20.6095,20.6095,57.1994,0,0,0.95,5,8.122;4.344,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9878.9,6.9217,4.327,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,227.7228,22.3072,22.3072,60.0494,0,0,0,5,6.922;4.327,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9971.9,6.9217,4.327,,0,人が立ち止まっていた,Guest(Clone),0,20.55,経路を引き直した,227.7228,22.3072,22.3072,19.6,0,0,0.95,2,6.922;4.327,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,9994.5,6.032,4.3571,,0,お客さんとすれ違った,Guest(Clone),0,30.0998,経路を引き直した,139.2402,24.9293,24.9293,29.1498,0,0,0.95,3,6.032;4.357,5.638;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,10025.55,5.8229,4.4883,,0,人が立ち止まっていた,Guest(Clone),0,0.7,自分で動き出した,221.2438,23.3218,23.3218,0,0,0,0.7,0,5.857;4.448,5.613;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,10053.3,5.3577,4.4945,,0,人が立ち止まっていた,Guest(Clone),0,51.0495,経路を引き直した,275,46.6379,46.6379,50.0995,0,0,0.95,5,5.358;4.495,5.138;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,10104.9,5.2765,4.4678,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,131.9949,275,131.9949,60.0494,0,0,0,5,5.276;4.468,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,10201.1,5.2765,4.4678,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,131.9949,275,131.9949,60.0494,0,0,0,5,5.276;4.468,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,10308.6,5.2765,4.4678,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,131.9949,275,131.9949,60.0494,0,0,0,5,5.276;4.468,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,10395.9,5.2765,4.4678,,0,人が立ち止まっていた,Guest(Clone),0,7.4,自分で動き出した,131.9949,275,131.9949,6.45,0,0,0.95,0,5.276;4.468,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,10450.25,3.6301,4.4995,,0,人が立ち止まっていた,Guest(Clone),0,1.85,自分で動き出した,275,134.9829,134.9829,1.85,0,0,0,0,2.055;4.533,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10073.3,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0131,275,30.0131,0,0,0,0.95,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10116.35,21.9172,2.1977,,0,椅子・荷物・ベビーカー,Table40/Chair,0,0.75,自分で動き出した,84.7751,91.5255,84.7751,0,0,0,0.75,0,22.22;2.198,17.512;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10122.05,19.2771,2.1919,,0,人が立ち止まっていた,Guest(Clone),0,1.3,自分で動き出した,26.1908,35.8095,26.1908,0.35,0,0,0.95,0,22.22;2.198,17.512;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10128.1,16.7663,2.3218,,0,人が立ち止まっていた,Staff04,0,12.55,経路を引き直した,169.6849,23.2703,23.2703,11.6,0,0,0.95,1,16.766;2.322,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10160.45,5.3247,3.9015,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.0972,275,76.0972,60.0494,0,0,0,5,5.325;3.901,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10244.35,5.3247,3.9015,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.0972,275,76.0972,60.0494,0,0,0,5,5.325;3.901,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10323.7,5.3247,3.9015,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.0972,275,76.0972,60.0494,0,0,0,5,5.325;3.901,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10416.45,5.3247,3.9015,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.0972,275,76.0972,60.0494,0,0,0,5,5.325;3.901,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10505.7,5.3247,3.9015,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.0972,275,76.0972,60.0494,0,0,0,5,5.325;3.901,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10604.5,5.3247,3.9015,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.0972,275,76.0972,60.0494,0,0,0,5,5.325;3.901,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,10698.25,5.3247,3.9015,,0,分からない,,0,0.15,自分で動き出した,76.0972,275,76.0972,0,0,0,0.15,0,5.325;3.901,2.163;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10584.85,15.3,5.95,,0,分からない,,0,1.8,自分で動き出した,30.0124,275,30.0124,0.1,0,0,1.7,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10603.15,6.1414,4.3483,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,275,20.1689,20.1689,2,0,0,0.95,0,6.141;4.348,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10607.85,5.8114,4.3428,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,119.2818,275,119.2818,2,0,0,0.95,0,5.811;4.343,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10613.1,5.8114,4.3368,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,118.6782,275,118.6782,2,0,0,0.95,0,5.811;4.337,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10618.35,5.8114,4.3319,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,118.1931,275,118.1931,2,0,0,0.95,0,5.811;4.332,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10623.7,5.8114,4.3278,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,117.7838,275,117.7838,2,0,0,0.95,0,5.811;4.328,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10629.05,5.8114,4.3246,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,117.4586,275,117.4586,2,0,0,0.95,0,5.811;4.325,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10634.4,5.8114,4.322,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,117.2006,275,117.2006,2,0,0,0.95,0,5.811;4.322,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10639.75,5.8114,4.3199,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,116.9948,275,116.9948,2,0,0,0.95,0,5.811;4.32,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10645.1,5.8115,4.3183,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,116.8315,275,116.8315,2,0,0,0.95,0,5.811;4.318,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10650.45,5.8115,4.317,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,116.7019,275,116.7019,2,0,0,0.95,0,5.811;4.317,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10655.8,5.8115,4.316,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,116.5987,275,116.5987,2,0,0,0.95,0,5.811;4.316,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10661.15,5.8115,4.3152,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,116.5167,275,116.5167,2,0,0,0.95,0,5.811;4.315,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10666.5,5.8115,4.3145,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,116.452,275,116.452,2,0,0,0.95,0,5.811;4.315,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10671.85,5.8115,4.314,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,116.4,275,116.4,2,0,0,0.95,0,5.811;4.314,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10677.2,5.8115,4.3136,,0,もう1台のロボット,ServingRobot01,0,2.95,自分で動き出した,116.3592,275,116.3592,2,0,0,0.95,0,5.811;4.314,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10682.05,6.1115,4.3134,,0,もう1台のロボット,ServingRobot01,0,3.75,自分で動き出した,275,124.7706,124.7706,2.75,0,0,1,0,6.111;4.313,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10687.35,6.0215,4.3132,,0,人が立ち止まっていた,Staff02,0,3.55,自分で動き出した,257.1721,221.6571,221.6571,2.55,0,0,1,0,6.021;4.313,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10692.6,6.0215,4.313,,0,人が立ち止まっていた,Staff02,0,3.55,自分で動き出した,257.1584,221.643,221.643,2.55,0,0,1,0,6.021;4.313,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10697.85,6.0215,4.3129,,0,人が立ち止まっていた,Staff02,0,1.55,自分で動き出した,257.1466,221.6309,221.6309,0.6,0,0,0.95,0,6.366;4.313,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10700.25,5.819,4.3129,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,116.2862,275,116.2862,60.0494,0,0,0,5,5.819;4.313,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10785.2,5.819,4.3129,,0,人が立ち止まっていた,Staff02,0,5.4,自分で動き出した,116.2862,275,116.2862,4.45,0,0,0.95,0,5.819;4.313,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10832.7,3.8452,4.4796,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,7.048,132.9885,7.048,60.0494,0,0,0,5,3.845;4.48,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10914.65,3.8452,4.4796,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,7.048,132.9885,7.048,60.0494,0,0,0,5,3.845;4.48,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,10989.85,3.8452,4.4796,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,7.048,132.9885,7.048,60.0494,0,0,0,5,3.845;4.48,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,11094.9,3.8452,4.4796,,0,人が立ち止まっていた,Staff01,0,1.65,自分で動き出した,7.048,132.9885,7.048,0.7,0,0,0.95,0,3.845;4.48,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,11109.45,11.2538,4.3342,,0,お客さんとすれ違った,Guest(Clone),0,56.2494,経路を引き直した,21.5846,228.4731,21.5846,55.2994,0,0,0.95,5,11.254;4.334,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,11168.15,12.3799,4.3782,,0,お客さんとすれ違った,Guest(Clone),0,0.6,自分で動き出した,22.8985,275,22.8985,0,0,0,0.6,0,12.281;4.325,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10698.45,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.5217,30.5217,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10702.25,14.1054,5.2591,,0,スタッフとすれ違った,Staff04,0,1.45,自分で動き出した,275,275,275,0.5,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10712.1,9.6213,4.3801,,0,お客さんとすれ違った,Guest(Clone),0,1.2,自分で動き出した,233.0222,275,233.0222,0.25,0,0,0.95,0,12.606;4.407,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10718.65,6.7414,4.3538,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,19.621,19.621,60.0494,0,0,0,5,6.741;4.354,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10793.9,6.7414,4.3538,,0,分からない,,0,4.55,自分で動き出した,275,19.621,19.621,2.95,0,0,1.6,0,6.741;4.354,2.4;2.9,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,1,40,10801.35,5.4026,3.9114,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,81.5176,135.1767,81.5176,60.0494,0,0,0,5,5.403;3.911,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,10896.7,5.4026,3.9114,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.9083,275,76.9083,60.0494,0,0,0,5,5.403;3.911,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,11004.95,5.4026,3.9114,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,76.9083,275,76.9083,60.0494,0,0,0,5,5.403;3.911,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,11088.4,5.4026,3.9114,,0,人が立ち止まっていた,Guest(Clone),0,12.1,経路を引き直した,76.9083,275,76.9083,11.15,0,0,0.95,1,5.403;3.911,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,11167.7,1.9144,6.1845,A01,0,スタッフとすれ違った,Staff04,0,9.05,自分で動き出した,23.5624,46.4376,23.5624,8.1,0,0,0.95,0,1.917;8.435,1.913;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,11182.4,3.423,4.494,,0,スタッフとすれ違った,Staff04,0,1.5,自分で動き出した,5.6031,134.4354,5.6031,0.55,0,0,0.95,0,2.058;4.522,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,11203,14.2794,5.4077,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,14.279;5.408,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,11280.05,14.2794,5.4077,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,14.279;5.408,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,11664.95,15.0876,5.8357,,0,もう1台のロボット,ServingRobot01,0,1.5,自分で動き出した,50.4465,275,50.4465,0.55,0,0,0.95,0,15.088;5.836,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,11669.75,15.6789,4.2952,,0,スタッフとすれ違った,Staff02,0,1,自分で動き出した,275,275,275,0.05,0,0,0.95,0,15.088;5.836,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,11710.2,21.8309,2.2063,,0,椅子・荷物・ベビーカー,Table40/Chair,0,0.45,自分で動き出した,85.6508,90.698,85.6508,0,0,0,0.45,0,22.221;2.198,16.738;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,11716.05,18.9216,2.2667,,0,人が立ち止まっていた,Staff02,0,13.9,経路を引き直した,201.716,28.3443,28.3443,12.95,0,0,0.95,1,18.922;2.267,16.738;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,11734.15,16.7384,2.3481,,0,人が立ち止まっていた,Staff02,0,0.7,自分で動き出した,88.9646,24.3602,24.3602,0,0,0,0.7,0,16.802;2.32,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,11487.6,15.3,5.95,,0,分からない,,0,60.0494,動けなくなった,37.2818,275,37.2818,59.5494,0,0,0.5,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,11562.7,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,274.9919,38.5091,38.5091,60.0494,0,0,0,5,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,11640.2,15.3,5.95,,0,もう1台のロボット,ServingRobot02,0,28.3499,経路を引き直した,274.9919,38.5091,38.5091,27.3999,0,0,0.95,2,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,11686.15,5.4785,4.3484,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.853,275,119.853,60.0494,0,0,0,5,5.478;4.348,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,11773,5.4785,4.3484,,0,人が立ち止まっていた,Staff04,0,21,経路を引き直した,119.853,275,119.853,20.05,0,0,0.95,2,5.478;4.348,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,11795.5,4.9085,4.3422,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,119.2264,52.2736,52.2736,60.0494,0,0,0,5,4.908;4.342,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,11902.45,4.9085,4.3422,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.2264,52.2736,52.2736,60.0494,0,0,0,5,4.908;4.342,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,12013.1,4.9085,4.3422,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,119.2264,52.2736,52.2736,60.0494,0,0,0,5,4.908;4.342,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,11939.2,15.3762,5.7408,,0,分からない,,0,0.95,自分で動き出した,275,196.8943,196.8943,0,0,0,0.95,0,15.376;5.741,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,11951.6,9.1458,4.3536,,0,お客さんとすれ違った,Guest(Clone),0,0.9,自分で動き出した,230.3847,275,230.3847,0,0,0,0.9,0,12.611;4.398,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,11958.45,5.929,4.4068,,0,スタッフとすれ違った,Staff02,0,60.0494,動けなくなった,145.7751,19.5647,19.5647,60.0494,0,0,0,5,5.929;4.407,5.638;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,12133.85,5.929,4.4068,,0,分からない,,0,0.95,自分で動き出した,145.7752,19.5647,19.5647,0,0,0,0.95,0,5.929;4.407,5.638;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,12180.3,5.7951,4.5288,,0,お客さんとすれ違った,Guest(Clone),0,1,自分で動き出した,67.4197,147.5434,67.4197,0.05,0,0,0.95,0,5.758;4.53,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,12087.7,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0033,30.0033,0,0,0,0.95,0,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,12096.2,11.5081,4.4148,,0,スタッフとすれ違った,Staff03,0,19.65,経路を引き直した,236.4918,13.5263,13.5263,18.7,0,0,0.95,1,11.508;4.415,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,12123.05,7.5183,4.3709,,0,お客さんとすれ違った,,0,13.5,経路を引き直した,232.1031,17.9151,17.9151,12.55,0,0,0.95,1,7.518;4.371,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,12141.15,5.0885,4.3442,,0,人が立ち止まっていた,Guest(Clone),0,18.2,経路を引き直した,119.4243,275,119.4243,17.25,0,0,0.95,1,5.088;4.344,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,12193.45,3.8236,4.5007,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,4.9342,135.1111,4.9342,60.0494,0,0,0,5,3.824;4.501,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,12285.7,3.8236,4.5007,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,4.9342,135.1111,4.9342,60.0494,0,0,0,5,3.824;4.501,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,12382.8,3.8236,4.5007,,0,人が立ち止まっていた,Staff04,0,39.9497,経路を引き直した,4.9342,135.1111,4.9342,38.9997,0,0,0.95,3,3.824;4.501,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,12423.3,3.9136,4.4988,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,5.1309,134.9144,5.1309,59.5494,0,0,0.5,5,3.914;4.499,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,12513.95,3.9136,4.4988,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,5.1309,134.9144,5.1309,60.0494,0,0,0,5,3.914;4.499,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,12655.85,3.9136,4.4988,,0,人が立ち止まっていた,Guest(Clone),0,56.9494,経路を引き直した,5.1309,134.9144,5.1309,56.9494,0,0,0,5,3.914;4.499,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12506.2,15.0857,5.8345,,0,分からない,,0,0.95,自分で動き出した,50.6015,275,50.6015,0,0,0,0.95,0,15.086;5.834,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12519,8.6851,4.383,,0,スタッフとすれ違った,Staff02,0,24.3999,経路を引き直した,233.3127,275,233.3127,23.4499,0,0,0.95,2,8.685;4.383,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12547.15,6.7652,4.3621,,0,スタッフとすれ違った,Staff01,0,1.5,自分で動き出した,275,18.7951,18.7951,0.55,0,0,0.95,0,8.685;4.383,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12550.45,6.0153,4.3539,,0,お客さんとすれ違った,Guest(Clone),0,4.75,自分で動き出した,120.4002,275,120.4002,3.8,0,0,0.95,0,8.685;4.383,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12556.5,5.5653,4.349,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.9107,275,119.9107,60.0494,0,0,0,5,5.565;4.349,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12656.05,5.5653,4.349,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.9107,275,119.9107,60.0494,0,0,0,5,5.565;4.349,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12731.15,5.5653,4.349,,0,人が立ち止まっていた,Guest(Clone),0,7.95,自分で動き出した,119.9107,275,119.9107,7,0,0,0.95,0,5.565;4.349,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12741.4,4.5153,4.3376,,0,お客さんとすれ違った,Guest(Clone),0,2,自分で動き出した,118.7681,21.2431,21.2431,1.05,0,0,0.95,0,5.565;4.349,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12789.2,3.69,4.4984,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,22.3112,134.8775,22.3112,60.0494,0,0,0,5,3.69;4.498,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12882.3,3.69,4.4984,,0,人が立ち止まっていた,Guest(Clone),0,45.2496,経路を引き直した,22.311,134.8775,22.311,44.2996,0,0,0.95,4,3.69;4.498,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12946.6,14.4887,5.5195,,0,もう1台のロボット,ServingRobot01,0,2.6,自分で動き出した,275,275,275,1.65,0,0,0.95,0,14.489;5.519,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12951.1,14.8619,5.7126,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,64.5537,275,64.5537,1.9,0,0,0.95,0,14.862;5.713,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12956.55,14.8663,5.705,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,66.3052,275,66.3052,1.9,0,0,0.95,0,14.866;5.705,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12962,14.8678,5.7024,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,66.93,275,66.93,1.9,0,0,0.95,0,14.868;5.702,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12967.45,14.8684,5.7014,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.1491,275,67.1491,1.9,0,0,0.95,0,14.868;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12972.9,14.8686,5.7011,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2255,275,67.2255,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12978.35,14.8686,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2519,275,67.2519,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12983.8,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,3.4,自分で動き出した,67.2608,275,67.2608,2.25,0,0,1.15,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12989.45,14.6868,5.596,,0,もう1台のロボット,ServingRobot01,0,3.05,自分で動き出した,71.7873,275,71.7873,2.1,0,0,0.95,0,14.687;5.596,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,12994.75,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2646,275,67.2646,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13000.2,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2652,275,67.2652,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13005.65,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2652,275,67.2652,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13011.1,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2652,275,67.2652,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13016.55,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,3.05,自分で動き出した,67.2652,275,67.2652,2.1,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13021.65,14.5829,5.536,,0,スタッフとすれ違った,Staff02,0,3.25,自分で動き出した,74.8043,275,74.8043,2.25,0,0,1,0,14.583;5.536,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13026.85,14.8167,5.671,,0,スタッフとすれ違った,Staff01,0,4.4,自分で動き出した,70.7298,275,70.7298,3.45,0,0,0.95,0,14.817;5.671,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13033.75,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2656,275,67.2656,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13039.2,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2656,275,67.2656,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13044.65,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13050.1,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13055.55,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13061,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13066.45,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13071.9,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13077.35,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13082.8,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13088.25,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13093.7,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13099.15,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13104.6,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13110.05,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,3.95,自分で動き出した,67.2655,275,67.2655,2.45,0,0,1.5,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13116.6,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13122.05,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,13127.5,14.8687,5.701,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,67.2655,275,67.2655,1.9,0,0,0.95,0,14.869;5.701,12.463;4.312,PathComplete,2,0.025
```

#### give_ups.csv

```text
condition_id,seed,t_s,who,job,table_id,to_x,to_z,x,z,aisle,waited_s,action
fam_p1_s4_r2_a42,0,2421.857,客,ドリンクバー,11,5.613,8.662,8.0871,4.1395,,60,移した
fam_p1_s4_r2_a42,0,2445.48,客,ドリンクバー,16,18.8,3.9,5.613,10.513,A02,0,あきらめた
fam_p1_s4_r2_a42,0,2492.927,客,ドリンクバー,7,1.912,8.662,2.0252,5.6988,A01,60,移した
fam_p1_s4_r2_a42,0,2511.495,客,ドリンクバー,13,5.613,4.962,8.9336,4.5495,,60,移した
fam_p1_s4_r2_a42,0,2828.003,スタッフ,料理を運ぶ,21,9.312,12.038,15.026,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2862.087,スタッフ,片付け,3,15.3,5.95,14.8758,5.8818,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2888.663,スタッフ,料理を運ぶ,20,15.3,5.95,14.7187,5.3221,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2889.213,スタッフ,料理を運ぶ,21,9.312,12.038,15.0119,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2922.245,スタッフ,料理を運ぶ,25,15.3,5.95,14.8896,5.8708,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2928.952,客,ドリンクバー,8,1.912,10.513,2.0119,6.4829,A01,60,移した
fam_p1_s4_r2_a42,0,2949.872,スタッフ,料理を運ぶ,21,9.312,12.038,15.0198,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,3031.202,スタッフ,料理を運ぶ,25,15.3,5.95,15.2927,4.9954,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3034.255,スタッフ,料理を運ぶ,20,15.3,5.95,14.8744,5.879,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3058.478,スタッフ,料理を運ぶ,20,15.3,5.95,14.6923,5.3953,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3150.668,スタッフ,料理を運ぶ,24,15.3,5.95,14.8652,5.7886,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3157.175,客,ドリンクバー,14,18.8,3.9,5.613,6.812,A02,0,あきらめた
fam_p1_s4_r2_a42,0,3161.178,スタッフ,料理を運ぶ,28,13.088,6.812,15.034,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3168.035,スタッフ,呼び出し,16,5.613,10.513,15.2643,6.2393,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3196.012,スタッフ,料理を運ぶ,27,15.3,5.95,14.7025,5.3475,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3210.827,スタッフ,料理を運ぶ,27,15.3,5.95,14.905,5.869,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3243.309,スタッフ,呼び出し,16,5.613,10.513,15.9716,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3256.171,スタッフ,料理を運ぶ,27,15.3,5.95,14.7845,5.2355,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3270.986,スタッフ,料理を運ぶ,27,15.3,5.95,14.6432,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3301.365,スタッフ,料理を運ぶ,28,15.3,5.95,14.5927,5.7363,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3309.073,組,片付け,3,1.912,8.462,1.912,8.462,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3317.381,客,ドリンクバー,38,18.8,3.9,19.162,2.188,,0,あきらめた
fam_p1_s4_r2_a42,0,3318.582,スタッフ,料理を運ぶ,27,15.3,5.95,15.9555,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,3331.144,スタッフ,料理を運ぶ,27,15.3,5.95,14.6334,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,3334.047,客,ドリンクバー,5,18.8,3.9,1.912,4.962,A01,0,あきらめた
fam_p1_s4_r2_a42,0,3337.3,客,ドリンクバー,12,18.8,3.9,5.613,10.513,A02,0,あきらめた
fam_p1_s4_r2_a42,0,3376.639,スタッフ,料理を運ぶ,10,15.3,5.95,16.0151,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3391.153,スタッフ,料理を運ぶ,27,15.3,5.95,15.6263,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3403.215,スタッフ,料理を運ぶ,27,15.3,5.95,15.9615,5.654,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3411.523,組,片付け,35,15.862,2.188,15.862,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3436.797,スタッフ,料理を運ぶ,10,15.3,5.95,16.0083,6.107,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3438.549,客,ドリンクバー,6,1.912,6.812,5.0184,4.5533,,60,移した
fam_p1_s4_r2_a42,0,3451.312,スタッフ,料理を運ぶ,21,15.3,5.95,15.6948,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3488.548,スタッフ,料理を運ぶ,23,15.3,5.95,15.8498,5.4755,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3496.956,スタッフ,料理を運ぶ,10,15.3,5.95,16.0258,5.9949,,60.0494,移した
fam_p1_s4_r2_a42,0,3511.47,スタッフ,料理を運ぶ,21,15.3,5.95,15.827,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3571.629,スタッフ,料理を運ぶ,21,15.3,5.95,15.7111,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,3578.936,スタッフ,料理を運ぶ,23,15.3,5.95,15.9806,5.688,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3604.111,スタッフ,料理を運ぶ,10,15.3,5.95,15.6325,5.2987,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3606.913,客,ドリンクバー,12,5.613,10.513,5.6262,9.8055,A02,60,移した
fam_p1_s4_r2_a42,0,3631.738,スタッフ,料理を運ぶ,21,9.312,12.038,15.964,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3661.467,スタッフ,料理を運ぶ,23,15.3,5.95,15.0727,5.247,,60.0494,移した
fam_p1_s4_r2_a42,0,3664.269,スタッフ,料理を運ぶ,32,15.3,5.95,14.7391,5.4682,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3669.324,スタッフ,料理を運ぶ,22,15.3,5.95,15.9922,5.7289,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3691.896,スタッフ,料理を運ぶ,21,15.3,5.95,15.8458,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3736.54,組,片付け,36,16.963,2.188,16.963,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3739.543,スタッフ,料理を運ぶ,32,15.3,5.95,15.9973,5.7348,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3739.793,スタッフ,料理を運ぶ,23,15.3,5.95,15.5592,5.2636,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3744.598,スタッフ,料理を運ぶ,22,15.3,5.95,16.0157,6.117,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3752.055,スタッフ,料理を運ぶ,21,15.3,5.95,15.7596,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,3775.428,組,会計,4,1.912,10.312,1.912,10.312,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3799.952,スタッフ,料理を運ぶ,32,15.3,5.95,15.4246,5.2266,,60.0494,移した
fam_p1_s4_r2_a42,0,3812.164,スタッフ,料理を運ぶ,21,9.312,12.038,15.9756,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3814.816,スタッフ,料理を運ぶ,22,15.3,5.95,15.7313,5.3611,,60.0494,移した
fam_p1_s4_r2_a42,0,3819.871,スタッフ,料理を運ぶ,32,15.3,5.95,15.5937,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3918.768,客,ドリンクバー,18,9.312,4.962,12.129,4.55,,60,移した
fam_p1_s4_r2_a42,0,3932.531,組,会計,1,1.912,4.762,1.912,4.762,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3941.94,組,会計,38,19.162,2.188,19.162,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3980.428,スタッフ,料理を運ぶ,26,9.312,12.038,12.7309,12.2327,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4002.85,組,片付け,2,1.912,6.613,1.912,6.613,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4039.235,組,会計,6,1.912,6.812,1.912,6.812,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4058.454,組,会計,5,1.912,4.962,1.912,4.962,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4121.092,組,片付け,39,20.263,2.188,20.263,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4130.406,組,会計,7,1.912,8.662,1.912,8.662,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4340.333,客,ドリンクバー,42,18.8,3.9,20.412,5.163,,0,あきらめた
fam_p1_s4_r2_a42,0,4345.761,スタッフ,料理を運ぶ,12,15.3,5.95,9.8479,4.5106,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4405.626,スタッフ,料理を運ぶ,12,15.3,5.95,9.8493,4.5088,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4424.901,組,会計,10,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4502.895,スタッフ,料理を運ぶ,12,5.613,10.513,12.3306,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,4540.697,組,会計,13,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4572.671,スタッフ,料理を運ぶ,12,15.3,5.95,9.8493,4.5142,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4639.509,客,ドリンクバー,23,20.3,3.9,9.8536,4.5464,,60,あきらめた
fam_p1_s4_r2_a42,0,4695.639,スタッフ,立ち往生を動かす,0,11.3409,4.1441,11.7266,3.9815,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4696.884,スタッフ,料理を運ぶ,38,15.3,5.95,10.3571,4.5138,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4732.146,客,ドリンクバー,26,9.312,12.038,9.3242,11.0007,A03,60,移した
fam_p1_s4_r2_a42,0,4732.495,スタッフ,料理を運ぶ,3,1.912,8.462,1.9229,7.1697,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4825.58,スタッフ,案内,37,0.9,2.1,5.5103,4.9101,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4896.9,スタッフ,料理を運ぶ,5,1.912,4.962,12.7636,5.0355,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4901.083,組,会計,18,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5060.409,組,会計,19,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5064.841,組,片付け,8,1.912,10.513,1.912,10.513,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5154.589,組,片付け,41,22.463,2.188,22.463,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5244.337,組,片付け,9,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5334.085,組,片付け,11,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5455.161,客,退店,27,1.8,0.5,6.3854,3.0146,,60,移した
fam_p1_s4_r2_a42,0,5470.002,組,片付け,12,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5496.449,客,ドリンクバー,6,1.912,6.812,5.0122,4.5622,,60,移した
fam_p1_s4_r2_a42,0,5577.431,組,片付け,14,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5601.537,スタッフ,呼び出し,26,9.312,12.038,7.966,4.5108,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5612.494,スタッフ,片付け,12,5.613,10.513,9.3953,4.5795,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5652.985,客,退店,23,1.8,0.5,8.9383,4.8018,A03,60,移した
fam_p1_s4_r2_a42,0,5657.567,客,ドリンクバー,1,18.3,3.9,2.2062,4.6063,A01,60,あきらめた
fam_p1_s4_r2_a42,0,5661.402,スタッフ,呼び出し,26,9.312,12.038,7.966,4.5107,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5667.179,組,片付け,15,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5692.829,スタッフ,片付け,14,5.613,6.812,8.23,4.4979,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5769.428,組,片付け,16,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5859.176,組,片付け,20,9.312,8.662,9.312,8.662,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5870.831,スタッフ,立ち往生を動かす,0,2.4273,8.5608,4.6707,4.4492,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5931.891,スタッフ,料理を運ぶ,8,1.912,10.513,4.4902,12.5708,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5993.101,組,片付け,27,13.088,5.962,13.088,5.962,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6010.035,スタッフ,料理を運ぶ,8,1.912,10.513,4.6661,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6080.957,スタッフ,料理を運ぶ,8,1.912,10.513,4.6661,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,6082.849,組,片付け,17,5.613,13.888,5.613,13.888,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6190.925,組,片付け,23,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6195.607,客,ドリンクバー,2,1.912,6.613,5.003,4.553,,60,移した
fam_p1_s4_r2_a42,0,6272.804,客,退店,28,1.8,0.5,8.213,4.5446,,60,移した
fam_p1_s4_r2_a42,0,6272.854,客,会計,22,4.7,3.8,7.8327,4.5462,,60,移した
fam_p1_s4_r2_a42,0,6274.996,客,ドリンクバー,5,1.912,4.962,8.3335,4.5483,,60,移した
fam_p1_s4_r2_a42,0,6329.382,スタッフ,料理を運ぶ,16,5.613,10.513,8.1095,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6390.991,スタッフ,料理を運ぶ,12,5.613,10.513,8.8887,4.1494,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6396.37,組,片付け,42,20.412,5.163,20.412,5.163,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6400.254,スタッフ,料理を運ぶ,16,5.613,10.513,8.9885,4.6415,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6437.209,組,会計,32,10.338,2.588,10.338,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6465.399,スタッフ,料理を運ぶ,12,5.613,10.513,5.6824,6.92,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6477.501,客,ドリンクバー,6,1.912,6.812,8.8904,4.1568,,60,移した
fam_p1_s4_r2_a42,0,6482.582,客,ドリンクバー,9,5.613,4.962,7.6252,4.55,,60,移した
fam_p1_s4_r2_a42,0,6489.006,客,ドリンクバー,9,20.3,3.9,6.5454,4.5493,,60,あきらめた
fam_p1_s4_r2_a42,0,6492.642,組,片付け,25,9.312,8.662,9.312,8.662,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6531.888,組,会計,31,8.488,2.588,8.488,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6539.458,スタッフ,料理を運ぶ,12,5.613,10.513,7.8035,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,6564.311,客,退店,21,1.8,0.5,7.9945,4.55,,60,移した
fam_p1_s4_r2_a42,0,6564.311,客,退店,21,1.8,0.5,8.4548,4.5451,,60,移した
fam_p1_s4_r2_a42,0,6604.155,組,片付け,26,9.312,12.038,9.312,12.038,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6655.304,客,ドリンクバー,14,5.613,6.812,8.0738,4.55,,60,移した
fam_p1_s4_r2_a42,0,6681.95,客,ドリンクバー,14,5.613,6.812,8.5907,4.55,,60,移した
fam_p1_s4_r2_a42,0,6682.049,客,トイレ,38,19.162,2.188,16.6885,2.5611,,60,移した
fam_p1_s4_r2_a42,0,6682.298,スタッフ,料理を運ぶ,15,5.613,8.662,8.081,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6705.756,スタッフ,案内,25,9.312,8.662,7.7416,3.9332,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6706.254,組,片付け,24,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6716.962,客,ドリンクバー,7,1.912,8.662,7.8751,4.55,,60,移した
fam_p1_s4_r2_a42,0,6727.023,客,ドリンクバー,7,1.912,8.662,8.656,4.55,,60,移した
fam_p1_s4_r2_a42,0,6740.52,客,ドリンクバー,5,1.912,4.962,8.6734,4.517,,60,移した
fam_p1_s4_r2_a42,0,6749.684,スタッフ,料理を運ぶ,15,5.613,8.662,7.877,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6759.446,客,ドリンクバー,7,1.912,8.662,8.6917,4.4931,,60,移した
fam_p1_s4_r2_a42,0,6761.587,スタッフ,料理を運ぶ,16,5.613,10.513,8.5946,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6810.745,組,片付け,28,13.088,6.812,13.088,6.812,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6812.587,客,ドリンクバー,10,5.613,6.812,14.8936,4.4171,,60,移した
fam_p1_s4_r2_a42,0,6825.835,客,ドリンクバー,7,18.8,4.8,9.4907,4.598,,60,あきらめた
fam_p1_s4_r2_a42,0,6900.493,組,片付け,29,13.088,8.662,13.088,8.662,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6965.538,客,ドリンクバー,10,5.613,6.812,6.2376,4.5425,,60,移した
fam_p1_s4_r2_a42,0,7012.503,組,片付け,22,9.388,12.688,9.388,12.688,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7033.621,スタッフ,片付け,21,9.312,12.038,12.6484,10.4334,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7097.221,スタッフ,片付け,22,15.3,5.95,13.7387,7.8072,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7099.512,スタッフ,料理を運ぶ,17,5.613,13.888,13.7484,6.5587,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7102.251,組,片付け,21,9.312,12.038,9.312,12.038,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7136.218,客,ドリンクバー,8,1.912,10.513,5.0138,4.5607,,60,移した
fam_p1_s4_r2_a42,0,7142.095,客,トイレ,41,22.463,2.188,10.0631,3.6375,,60,移した
fam_p1_s4_r2_a42,0,7157.086,スタッフ,料理を運ぶ,31,15.3,5.95,13.3487,6.707,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7161.619,スタッフ,料理を運ぶ,17,5.613,13.888,14.5162,6.1948,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7198.723,組,片付け,30,13.088,10.513,13.088,10.513,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7216.952,スタッフ,料理を運ぶ,31,15.3,5.95,13.3992,6.7558,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7228.208,スタッフ,料理を運ぶ,17,5.613,13.888,15.0685,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,7288.471,組,片付け,33,12.188,2.588,12.188,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7291.659,客,ドリンクバー,7,1.912,8.662,5.0145,4.5645,,60,移した
fam_p1_s4_r2_a42,0,7297.984,スタッフ,料理を運ぶ,17,15.3,5.95,13.3362,6.6992,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7452.179,スタッフ,料理を運ぶ,26,9.312,12.038,15.0573,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7527.135,スタッフ,料理を運ぶ,26,9.312,12.038,15.0682,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7543.571,組,片付け,6,1.912,6.812,1.912,6.812,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7600.199,客,ドリンクバー,3,1.912,8.462,2.0221,5.523,A01,60,移した
fam_p1_s4_r2_a42,0,7602.091,スタッフ,料理を運ぶ,26,9.312,12.038,14.7068,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,7604.432,スタッフ,料理を運ぶ,28,13.088,6.812,14.8522,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7633.319,組,片付け,39,20.263,2.188,20.263,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7679.637,スタッフ,料理を運ぶ,28,13.088,6.812,15.0558,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7723.067,組,片付け,36,16.963,2.188,16.963,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7741.395,スタッフ,料理を運ぶ,26,9.312,12.038,15.4215,6.249,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7754.593,スタッフ,料理を運ぶ,28,13.088,6.812,15.0073,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,7801.31,スタッフ,料理を運ぶ,26,9.312,12.038,15.9636,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7812.815,組,片付け,1,1.912,4.762,1.912,4.762,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7824.37,スタッフ,料理を運ぶ,28,15.3,5.95,16.0318,5.8743,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7835.028,スタッフ,料理を運ぶ,19,15.3,5.95,16.0079,5.7468,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7839.46,組,会計,37,18.062,2.188,18.062,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7858.635,客,ドリンクバー,34,18.8,3.9,15.238,2.188,,0,あきらめた
fam_p1_s4_r2_a42,0,7861.175,スタッフ,料理を運ぶ,26,15.3,5.95,15.6312,6.25,,60.0494,移した
fam_p1_s4_r2_a42,0,7894.893,スタッフ,料理を運ぶ,14,15.3,5.95,15.527,5.2469,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7907.294,スタッフ,料理を運ぶ,41,15.3,5.95,15.0713,5.2476,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7920.991,スタッフ,料理を運ぶ,26,9.312,12.038,15.9738,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7924.079,スタッフ,料理を運ぶ,22,15.3,5.95,15.9601,5.6184,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7954.758,スタッフ,料理を運ぶ,14,15.3,5.95,16.012,5.7609,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7982.201,スタッフ,料理を運ぶ,26,15.3,5.95,15.6357,5.2919,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7983.944,スタッフ,料理を運ぶ,41,15.3,5.95,16.0331,6.0719,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7995.897,スタッフ,料理を運ぶ,22,15.3,5.95,15.6264,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7996.146,組,片付け,13,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8014.624,スタッフ,料理を運ぶ,14,15.3,5.95,15.9028,5.5266,,60.0494,移した
fam_p1_s4_r2_a42,0,8043.809,スタッフ,料理を運ぶ,26,15.3,5.95,16.0155,5.7758,,60.0494,移した
fam_p1_s4_r2_a42,0,8057.107,スタッフ,料理を運ぶ,41,15.3,5.95,15.5363,5.2523,,60.0494,移した
fam_p1_s4_r2_a42,0,8070.953,スタッフ,料理を運ぶ,22,15.3,5.95,15.9742,5.6477,,60.0494,移した
fam_p1_s4_r2_a42,0,8085.894,組,片付け,35,15.862,2.188,15.862,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8096.403,スタッフ,料理を運ぶ,14,15.3,5.95,15.9954,5.7006,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8103.625,スタッフ,料理を運ぶ,26,9.312,12.038,16.0318,6.2339,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8105.417,組,会計,5,1.912,4.962,1.912,4.962,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8130.768,スタッフ,料理を運ぶ,22,9.388,12.688,14.7206,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8175.642,組,片付け,38,19.162,2.188,19.162,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8179.278,組,会計,18,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8191.978,スタッフ,料理を運ぶ,22,9.388,12.688,13.0863,12.3167,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8222.11,組,会計,40,21.362,2.188,21.362,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8226.593,スタッフ,料理を運ぶ,21,9.312,12.038,9.2407,12.3628,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8265.391,組,片付け,2,1.912,6.613,1.912,6.613,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8269.873,スタッフ,案内,36,0.9,2.1,6.3437,3.1481,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8286.458,スタッフ,料理を運ぶ,21,15.3,5.95,13.6997,7.3702,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8344.779,スタッフ,案内,36,0.9,2.1,6.3437,3.1481,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8345.676,客,ドリンクバー,3,1.912,8.462,1.9467,7.562,A01,60,移した
fam_p1_s4_r2_a42,0,8346.323,スタッフ,料理を運ぶ,21,15.3,5.95,13.7084,7.3685,,60.0494,移した
fam_p1_s4_r2_a42,0,8395.182,客,ドリンクバー,28,18.8,3.9,13.088,6.812,,0,あきらめた
fam_p1_s4_r2_a42,0,8418.839,組,片付け,4,1.912,10.312,1.912,10.312,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8419.686,スタッフ,案内,36,0.9,2.1,6.3437,3.1481,,60.0494,移した
fam_p1_s4_r2_a42,0,8502.61,客,ドリンクバー,28,13.088,6.812,14.551,6.1733,,60,移した
fam_p1_s4_r2_a42,0,8512.372,客,ドリンクバー,20,18.8,3.9,9.312,8.662,A03,0,あきらめた
fam_p1_s4_r2_a42,0,8566.211,組,会計,10,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8586.332,客,ドリンクバー,16,5.613,10.513,8.9184,4.1233,,60,移した
fam_p1_s4_r2_a42,0,8591.96,客,ドリンクバー,15,5.613,8.662,8.6872,4.55,,60,移した
fam_p1_s4_r2_a42,0,8605.009,組,会計,9,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8721.253,スタッフ,呼び出し,21,9.312,12.038,4.8979,4.5479,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8727.628,組,会計,7,1.912,8.662,1.912,8.662,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8781.118,スタッフ,呼び出し,21,9.312,12.038,5.387,4.8037,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8787.593,スタッフ,案内,10,5.613,6.812,4.9002,4.5425,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8796.458,客,ドリンクバー,11,17.3,3.9,9.1783,4.2868,,60,あきらめた
fam_p1_s4_r2_a42,0,8853.584,スタッフ,案内,9,5.613,4.962,4.8269,4.2454,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8856.273,客,ドリンクバー,11,5.613,8.662,6.0752,4.538,,60,移した
fam_p1_s4_r2_a42,0,8899.703,スタッフ,案内,10,5.613,6.812,4.6986,3.9768,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8904.833,客,退店,14,1.8,0.5,5.6239,4.8029,A02,60,移した
fam_p1_s4_r2_a42,0,8904.833,客,退店,14,1.8,0.5,5.3286,5.1732,A02,60,移した
fam_p1_s4_r2_a42,0,8904.833,客,退店,14,1.8,0.5,5.2,4.7937,,60,移した
fam_p1_s4_r2_a42,0,8916.188,スタッフ,料理を運ぶ,1,1.912,4.762,6.0701,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8943.531,スタッフ,呼び出し,20,9.312,8.662,4.6586,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8985.716,スタッフ,料理を運ぶ,1,1.912,4.762,6.0721,4.1493,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8994.282,スタッフ,案内,9,5.613,4.962,4.7124,4.0048,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8998.765,組,会計,41,22.463,2.188,22.463,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9009.473,スタッフ,案内,10,5.613,6.812,4.6453,4.5394,,60.0494,移した
fam_p1_s4_r2_a42,0,9055.193,スタッフ,料理を運ぶ,1,1.912,4.762,6.0824,4.1681,,60.0494,移した
fam_p1_s4_r2_a42,0,9063.411,組,会計,3,1.912,8.462,1.912,8.462,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9087.815,組,会計,34,15.238,2.188,15.238,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9100.316,客,ドリンクバー,17,5.613,13.888,6.0649,4.55,,60,移した
fam_p1_s4_r2_a42,0,9103.454,スタッフ,案内,9,5.613,4.962,4.6463,4.5251,,60.0494,移した
fam_p1_s4_r2_a42,0,9124.97,スタッフ,料理を運ぶ,1,15.3,5.95,11.0512,4.4859,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9171.736,スタッフ,案内,41,0.9,2.1,12.5097,4.5127,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9184.088,組,会計,16,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9184.835,スタッフ,料理を運ぶ,36,15.3,5.95,11.0539,4.5147,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9242.459,組,会計,12,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9244.7,スタッフ,料理を運ぶ,36,15.3,5.95,11.0483,4.4848,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9253.814,組,会計,15,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9287.084,スタッフ,立ち往生を動かす,0,4.8769,4.5702,5.2394,4.7307,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9304.565,スタッフ,料理を運ぶ,36,15.3,5.95,11.0506,4.5089,,60.0494,移した
fam_p1_s4_r2_a42,0,9353.025,組,片付け,19,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9442.773,組,片付け,14,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9448.8,スタッフ,料理を運ぶ,4,1.912,10.312,5.3076,12.6983,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9449.646,スタッフ,料理を運ぶ,37,15.3,5.95,17.916,2.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9508.665,スタッフ,立ち往生を動かす,0,16.5939,2.9023,1.912,10.312,A01,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9509.512,スタッフ,料理を運ぶ,4,15.3,5.95,17.916,2.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9551.148,スタッフ,料理を運ぶ,2,1.912,6.613,4.6737,4.5314,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9569.377,スタッフ,料理を運ぶ,4,15.3,5.95,17.916,2.55,,60.0494,移した
fam_p1_s4_r2_a42,0,9629.192,スタッフ,料理を運ぶ,4,1.912,10.312,4.6737,4.5208,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9676.756,スタッフ,料理を運ぶ,4,1.912,10.312,4.661,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9691.598,スタッフ,料理を運ぶ,10,5.613,6.812,8.9242,4.3579,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9702.256,組,会計,17,5.613,13.888,5.613,13.888,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9794.893,スタッフ,料理を運ぶ,2,1.912,6.613,5.2,4.9079,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9854.758,スタッフ,料理を運ぶ,2,15.3,5.95,7.4046,4.519,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9922.691,スタッフ,料理を運ぶ,2,1.912,6.613,7.6253,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,9931.258,スタッフ,料理を運ぶ,9,15.3,5.95,6.2088,4.5214,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9970.504,客,ドリンクバー,5,17.3,3.9,6.2134,4.545,,60,あきらめた
fam_p1_s4_r2_a42,0,9974.339,スタッフ,片付け,11,5.613,8.662,7.0796,4.5439,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9975.235,組,片付け,11,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10025.44,スタッフ,料理を運ぶ,9,5.613,4.962,7.0556,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10027.18,客,ドリンクバー,4,1.912,10.312,18.3607,3.936,,60,移した
fam_p1_s4_r2_a42,0,10030.32,客,ドリンクバー,5,1.912,4.962,4.5732,4.55,,60,移した
fam_p1_s4_r2_a42,0,10052.88,スタッフ,料理を運ぶ,16,5.613,10.513,5.905,4.0029,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10074.35,スタッフ,料理を運ぶ,10,15.3,5.95,5.7961,4.8041,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10085.3,スタッフ,料理を運ぶ,9,15.3,5.95,5.8478,4.7022,,60.0494,移した
fam_p1_s4_r2_a42,0,10115.44,組,片付け,20,9.312,8.662,9.312,8.662,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10184.42,客,ドリンクバー,1,1.912,4.762,5.2,4.9919,A02,60,移した
fam_p1_s4_r2_a42,0,10208.12,スタッフ,料理を運ぶ,3,15.3,5.95,4.62,4.1275,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10220.57,客,退店,21,1.8,0.5,4.2699,3.2,,60,移した
fam_p1_s4_r2_a42,0,10220.62,客,会計,23,4.7,4.3,5.2,4.9101,A02,60,移した
fam_p1_s4_r2_a42,0,10226.15,客,トイレ,39,20.263,2.188,17.8497,2.5457,,60,移した
fam_p1_s4_r2_a42,0,10250.66,客,ドリンクバー,6,18.3,3.9,4.5484,4.55,,60,あきらめた
fam_p1_s4_r2_a42,0,10263.01,客,ドリンクバー,13,5.613,4.962,10.0736,4.5489,,60,移した
fam_p1_s4_r2_a42,0,10286.61,客,ドリンクバー,12,5.613,10.513,6.0045,4.55,,60,移した
fam_p1_s4_r2_a42,0,10351.46,客,ドリンクバー,4,19.3,3.9,4.2138,4.3261,,60,あきらめた
fam_p1_s4_r2_a42,0,10352.31,客,ドリンクバー,2,20.3,3.9,4.5485,4.55,,60,あきらめた
fam_p1_s4_r2_a42,0,10376.61,客,ドリンクバー,6,17.3,3.9,4.6088,3.7374,,60,あきらめた
fam_p1_s4_r2_a42,0,10489.37,客,ドリンクバー,5,1.912,4.962,5.0651,4.6048,,60,移した
fam_p1_s4_r2_a42,0,10611.29,組,会計,29,13.088,8.662,13.088,8.662,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10625.19,客,ドリンクバー,6,18.3,3.9,4.8817,4.55,,60,あきらめた
fam_p1_s4_r2_a42,0,10669.31,客,ドリンクバー,2,17.3,3.9,4.6024,4.0671,,60,あきらめた
fam_p1_s4_r2_a42,0,10755.53,スタッフ,呼び出し,13,5.613,4.962,7.4531,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10769.67,組,会計,30,13.088,10.513,13.088,10.513,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10773.11,客,ドリンクバー,10,18.8,4.8,6.0192,4.5174,,60,あきらめた
fam_p1_s4_r2_a42,0,10811.31,客,ドリンクバー,6,1.912,6.812,5.0155,4.5515,,60,移した
fam_p1_s4_r2_a42,0,10825.9,客,ドリンクバー,5,1.912,4.962,5.016,4.5626,,60,移した
fam_p1_s4_r2_a42,0,10914.25,客,退店,22,1.8,0.5,4.5785,4.5346,,60,移した
fam_p1_s4_r2_a42,0,10914.25,客,退店,22,1.8,0.5,4.978,4.5174,,60,移した
fam_p1_s4_r2_a42,0,10950.71,スタッフ,呼び出し,16,5.613,10.513,4.6866,3.7392,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10965.85,客,会計,39,4.7,3.8,4.873,3.3916,,60,移した
fam_p1_s4_r2_a42,0,10978.05,スタッフ,料理を運ぶ,5,1.912,4.962,3.0304,4.1097,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10984.48,スタッフ,呼び出し,6,1.912,6.812,4.5794,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11055.35,スタッフ,料理を運ぶ,5,1.912,4.962,4.584,4.4821,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11115.81,客,ドリンクバー,5,1.912,4.962,5.4848,4.304,,60,移した
fam_p1_s4_r2_a42,0,11139.92,スタッフ,料理を運ぶ,5,1.912,4.962,11.9597,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,11141.41,スタッフ,料理を運ぶ,4,1.912,10.312,5.284,12.614,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11520.43,スタッフ,料理を運ぶ,13,15.3,5.95,15.9184,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11538.65,スタッフ,片付け,6,15.3,5.95,16.0018,5.7192,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11593.04,スタッフ,片付け,5,15.3,5.95,15.9754,5.6565,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11598.52,スタッフ,片付け,6,1.912,6.812,15.9716,6.25,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11730.8,スタッフ,片付け,5,15.3,5.95,4.7791,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11736.93,スタッフ,片付け,6,15.3,5.95,4.7966,4.0708,,60.0494,移した
fam_p1_s4_r2_a42,0,11820.55,スタッフ,片付け,6,15.3,5.95,4.2117,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11825.63,客,会計,33,4.7,4.3,5.3201,3.7266,,60,移した
fam_p1_s4_r2_a42,0,11850.28,スタッフ,片付け,5,15.3,5.95,4.4901,3.7349,,60.0494,移した
fam_p1_s4_r2_a42,0,11860.44,スタッフ,片付け,4,1.912,10.312,5.2384,4.7927,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11910.1,スタッフ,片付け,5,1.912,4.962,5.3193,3.7338,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11920.31,スタッフ,会計,33,4.7,1.75,5.239,4.797,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11924.99,スタッフ,片付け,6,15.3,5.95,4.1898,4.5103,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11969.96,スタッフ,片付け,5,1.912,4.962,5.3252,3.7327,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11980.17,スタッフ,会計,33,4.7,1.75,5.2579,4.8009,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11982.56,スタッフ,片付け,4,15.3,5.95,4.2548,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11983.51,組,片付け,6,1.912,6.812,1.912,6.812,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,12029.33,客,ドリンクバー,13,17.3,3.9,5.7708,4.8278,A02,60,あきらめた
fam_p1_s4_r2_a42,0,12030.43,スタッフ,片付け,6,15.3,5.95,4.2349,4.5322,,60.0494,移した
fam_p1_s4_r2_a42,0,12040.04,スタッフ,会計,33,4.7,1.75,5.269,4.7966,,60.0494,移した
fam_p1_s4_r2_a42,0,12044.87,スタッフ,片付け,4,1.912,10.312,5.3314,3.7372,,60.0494,移した
fam_p1_s4_r2_a42,0,12086.26,組,片付け,5,1.912,4.962,1.912,4.962,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,12086.36,スタッフ,片付け,5,15.3,5.95,10.7753,4.5125,,60.0494,移した
fam_p1_s4_r2_a42,0,12090.24,スタッフ,片付け,6,1.912,6.812,6.6534,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,12146.17,スタッフ,片付け,5,1.912,4.962,4.597,4.529,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,12165.25,スタッフ,片付け,4,1.912,10.312,2.3796,4.5234,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,12338.22,スタッフ,片付け,4,1.912,10.312,4.5636,4.4448,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,12363.52,組,片付け,4,1.912,10.312,1.912,10.312,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,12392.06,客,ドリンクバー,3,1.912,8.462,4.5631,4.4522,,60,移した
fam_p1_s4_r2_a42,0,12425.58,客,ドリンクバー,7,1.912,8.662,4.654,4.4406,,60,移した
fam_p1_s4_r2_a42,0,12562.59,客,トイレ,41,22.463,2.188,17.9749,4.7675,,60,移した
fam_p1_s4_r2_a42,0,12601.59,客,ドリンクバー,9,17.3,3.9,5.8,4.8127,A02,60,あきらめた
fam_p1_s4_r2_a42,0,12666.38,客,退店,13,1.8,0.5,5.2,5.1786,A02,60,移した
fam_p1_s4_r2_a42,0,12666.38,客,退店,13,1.8,0.5,5.2,4.7792,,60,移した
fam_p1_s4_r2_a42,0,12666.38,客,退店,13,1.8,0.5,5.5904,4.8085,A02,60,移した
fam_p1_s4_r2_a42,0,12675.94,スタッフ,片付け,16,5.613,10.513,6.2756,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,12685.11,スタッフ,片付け,13,5.613,4.962,5.1734,3.727,,60.0494,あきらめた
```

#### groups.csv

```text
condition_id,seed,group_id,size,table_id,table_seats,arrive_s,guide_start_s,seated_s,eat_end_s,pay_start_s,pay_s,left_s,waited_min,warmup,state
fam_p1_s4_r2_a42,0,1,4,0,0,56.4194,56.4194,121.0228,3331.868,3331.895,-1,3932.531,1.0767,0,Done
fam_p1_s4_r2_a42,0,2,3,0,0,95.8213,95.8213,161.8253,3029.899,3029.9,3402.164,3402.164,1.1001,0,Done
fam_p1_s4_r2_a42,0,3,4,0,0,103.0217,103.0217,181.7765,2597.4,2597.428,2708.387,2708.387,1.3126,0,Done
fam_p1_s4_r2_a42,0,4,2,34,2,334.1619,334.1619,408.1439,3646.118,3669.274,4162.082,4162.082,1.233,0,Done
fam_p1_s4_r2_a42,0,5,1,0,0,424.5898,424.5898,499.3216,2699.161,2699.178,2810.837,2810.837,1.2455,0,Done
fam_p1_s4_r2_a42,0,6,4,0,0,434.8373,434.8373,504.8702,3121.652,3174.792,-1,3775.428,1.1672,0,Done
fam_p1_s4_r2_a42,0,7,1,0,0,485.9749,485.9749,563.5059,2896.796,2896.821,3135.854,3135.854,1.2922,0,Done
fam_p1_s4_r2_a42,0,8,4,0,0,585.1506,585.1506,655.3335,3457.794,3457.818,-1,4058.454,1.1697,0,Done
fam_p1_s4_r2_a42,0,9,2,37,2,610.4445,610.4445,688.4754,4005.35,4007.204,4265.576,4265.576,1.3005,0,Done
fam_p1_s4_r2_a42,0,10,1,0,0,645.9858,645.9858,724.4666,3341.3,3341.304,-1,3941.94,1.308,0,Done
fam_p1_s4_r2_a42,0,11,4,0,0,693.0243,693.0243,757.6085,3433.091,3438.599,-1,4039.235,1.0764,0,Done
fam_p1_s4_r2_a42,0,12,2,0,0,836.4393,836.4393,915.27,3115.987,3116.034,3520.529,3520.529,1.3138,0,Done
fam_p1_s4_r2_a42,0,13,2,40,2,896.4246,896.4246,979.5043,4008.876,4119.698,4377.337,4377.337,1.3847,0,Done
fam_p1_s4_r2_a42,0,14,3,0,0,896.5746,896.5746,967.1074,3529.898,3529.938,-1,4130.406,1.1755,0,Done
fam_p1_s4_r2_a42,0,15,2,0,0,984.5531,984.5531,1066.835,4355.028,4355.075,4556.833,4556.833,1.3714,0,Done
fam_p1_s4_r2_a42,0,16,3,0,0,1000.349,1000.349,1070.739,3517.647,4013.76,4467.085,4467.085,1.1732,0,Done
fam_p1_s4_r2_a42,0,17,3,0,0,1086.504,1086.504,1152.319,4300.184,4300.19,4646.582,4646.582,1.0969,0,Done
fam_p1_s4_r2_a42,0,18,1,0,0,1121.589,1121.589,1192.408,3825.845,3825.877,-1,4424.901,1.1803,0,Done
fam_p1_s4_r2_a42,0,19,4,0,0,1193.459,1193.459,1254.118,4154.717,4154.76,4736.33,4736.33,1.011,0,Done
fam_p1_s4_r2_a42,0,20,4,0,0,1344.456,1344.456,1416.126,4462.549,4512.906,4872.247,4872.247,1.1945,0,Done
fam_p1_s4_r2_a42,0,21,2,0,0,1359.17,1359.17,1432.942,3942.225,3942.24,-1,4540.697,1.2295,0,Done
fam_p1_s4_r2_a42,0,22,4,0,0,1490.999,1490.999,1557.764,4389.232,4677.112,4979.675,4979.675,1.1128,0,Done
fam_p1_s4_r2_a42,0,23,3,0,0,1602.458,1602.458,1671.625,4622.304,4677.112,5069.423,5069.423,1.1528,0,Done
fam_p1_s4_r2_a42,0,24,2,0,0,1631.536,1631.536,1705.358,4829.965,4907.658,5171.672,5171.672,1.2304,0,Done
fam_p1_s4_r2_a42,0,25,3,0,0,1733.736,1733.736,1809.86,5254.178,5317.202,5485.093,5485.093,1.2687,0,Done
fam_p1_s4_r2_a42,0,26,2,0,0,1743.295,1743.295,1817.868,4303.367,4303.377,-1,4901.083,1.2429,0,Done
fam_p1_s4_r2_a42,0,27,1,0,0,1854.454,1854.454,1928.075,4462.675,4462.703,-1,5060.409,1.227,0,Done
fam_p1_s4_r2_a42,0,28,1,0,0,2060.254,2060.254,2134.277,4456.801,4677.112,5261.42,5261.42,1.2337,0,Done
fam_p1_s4_r2_a42,0,29,4,0,0,2105.448,2105.448,2207.098,6230.483,6230.52,6504.496,6504.496,1.6942,0,Done
fam_p1_s4_r2_a42,0,30,2,0,0,2172.864,2172.864,2260.049,5903.174,6108.797,6414.748,6414.748,1.4531,0,Done
fam_p1_s4_r2_a42,0,31,4,0,0,2282.221,2282.221,2353.741,5473.935,5473.937,5593.169,5593.169,1.192,0,Done
fam_p1_s4_r2_a42,0,32,1,0,0,2293.682,2293.682,2370.958,5845.393,5845.43,6108.499,6108.499,1.2879,0,Done
fam_p1_s4_r2_a42,0,33,2,0,0,2315.403,2315.403,2394.881,5732.73,5736.756,5894.886,5894.886,1.3246,0,Done
fam_p1_s4_r2_a42,0,34,3,0,0,2368.605,2368.605,2450.885,5818.272,5818.287,6006.399,6006.399,1.3713,0,Done
fam_p1_s4_r2_a42,0,35,2,0,0,2375.962,2375.962,2449.284,5216.181,5216.198,5395.345,5395.345,1.222,0,Done
fam_p1_s4_r2_a42,0,36,4,0,0,2440.625,2440.625,2521.504,5892.929,5892.944,6212.989,6212.989,1.348,0,Done
fam_p1_s4_r2_a42,0,37,2,0,0,2460.995,2460.995,2548.03,6029.259,6029.259,6302.737,6302.737,1.4506,0,Done
fam_p1_s4_r2_a42,0,38,1,0,0,2538.521,2538.521,2627.708,6082.465,6082.5,6600.967,6600.967,1.4865,0,Done
fam_p1_s4_r2_a42,0,39,1,0,0,2548.381,2548.381,2620.951,5934.138,5934.182,-1,6531.888,1.2095,0,Done
fam_p1_s4_r2_a42,0,40,2,0,0,2601.332,2601.332,2674.704,5839.481,5839.503,-1,6437.209,1.2229,0,Done
fam_p1_s4_r2_a42,0,41,2,0,0,2669.849,2669.849,2744.972,6181.717,6181.761,6690.715,6690.715,1.2521,0,Done
fam_p1_s4_r2_a42,0,42,2,0,0,2797.624,2797.624,2917.591,5674.255,5674.301,5798.614,5798.614,1.9995,0,Done
fam_p1_s4_r2_a42,0,43,3,0,0,2848.273,3309.123,3959.257,8465.696,8465.705,-1,9063.411,18.5164,0,Done
fam_p1_s4_r2_a42,0,44,2,0,0,2934.107,3411.573,4022.018,7232.438,7232.441,7488.138,7488.138,18.1319,0,Done
fam_p1_s4_r2_a42,0,45,1,0,0,2976.899,3736.59,4105.503,6983.686,6983.716,7125.311,7125.311,18.8101,0,Done
fam_p1_s4_r2_a42,0,46,1,0,0,3000.071,3775.478,4126.471,7494.195,7494.214,7821.083,7821.083,18.7733,0,Done
fam_p1_s4_r2_a42,0,47,1,0,0,3201.868,3932.581,4170.997,6846.034,7064.101,7215.059,7215.059,16.1521,0,Done
fam_p1_s4_r2_a42,0,48,2,0,0,3210.326,3941.99,4217.066,7264.093,7264.117,7577.886,7577.886,16.779,0,Done
fam_p1_s4_r2_a42,0,49,2,0,0,3256.221,4002.9,4203.619,7227.054,7352.57,7667.634,7667.634,15.79,0,Done
fam_p1_s4_r2_a42,0,50,2,0,0,3322.486,4039.285,4234.448,6781.893,6781.908,6945.815,6945.815,15.1994,0,Done
fam_p1_s4_r2_a42,0,51,2,0,0,3359.322,4058.504,4285.896,7507.688,7507.711,-1,8105.417,15.4429,0,Done
fam_p1_s4_r2_a42,0,52,4,0,0,3370.683,4130.456,4339.635,8129.898,8129.921,-1,8727.628,16.1492,0,Done
fam_p1_s4_r2_a42,0,53,4,0,0,3453.313,4424.951,4516.84,7968.468,7968.504,-1,8566.211,17.7255,0,Done
fam_p1_s4_r2_a42,0,54,3,0,0,3562.27,4540.747,4637.019,7192.132,7206.592,7398.39,7398.39,17.9125,0,Done
fam_p1_s4_r2_a42,0,55,4,0,0,3589.847,4901.133,5057.819,7581.558,7581.572,-1,8179.278,24.4662,0,Done
fam_p1_s4_r2_a42,0,56,1,0,0,3659.965,4121.142,4339.087,6915.29,6915.334,7035.563,7035.563,11.3187,0,Done
fam_p1_s4_r2_a42,0,57,4,0,0,3731.585,5060.458,5230.043,8234.34,8234.362,8755.27,8755.27,24.9743,0,Done
fam_p1_s4_r2_a42,0,58,3,8,4,3770.673,5064.891,5239.656,7971.1,9782.491,10048.8,10048.8,24.483,0,Done
fam_p1_s4_r2_a42,0,59,1,0,0,3772.475,4455.929,4531.632,8490.086,8490.109,-1,9087.815,12.6526,0,Done
fam_p1_s4_r2_a42,0,60,1,0,0,3869.469,4635.824,4896.8,7057.884,7241.754,-1,7839.46,17.1222,0,Done
fam_p1_s4_r2_a42,0,61,3,0,0,3885.685,5244.387,5387.825,8007.297,8007.302,-1,8605.009,25.0357,0,Done
fam_p1_s4_r2_a42,0,62,3,0,0,3941.49,5334.135,5462.034,8906.861,8928.839,9377.479,9377.479,25.3424,0,Done
fam_p1_s4_r2_a42,0,63,3,0,0,4037.834,5470.052,5545.855,8411.771,8644.753,-1,9242.459,25.1337,0,Done
fam_p1_s4_r2_a42,0,64,4,0,0,4092.337,5577.481,5649.748,8433.682,8433.73,8845.018,8845.018,25.9568,0,Done
fam_p1_s4_r2_a42,0,65,3,0,0,4160.488,5667.229,5758.969,8656.068,8656.108,-1,9253.814,26.6414,0,Done
fam_p1_s4_r2_a42,0,66,2,0,0,4183.647,4665.009,4872.894,7624.365,7624.404,-1,8222.11,11.4875,0,Done
fam_p1_s4_r2_a42,0,67,4,0,0,4200.929,5769.478,5856.337,8543.68,8586.382,-1,9184.088,27.5901,0,Done
fam_p1_s4_r2_a42,0,68,1,0,0,4220.004,5154.639,5355.252,8401.026,8401.059,-1,8998.765,18.9208,0,Done
fam_p1_s4_r2_a42,0,69,4,0,0,4241.371,5859.226,6043.802,8925.24,8925.253,9517.68,9517.68,30.0405,0,Done
fam_p1_s4_r2_a42,0,70,4,27,4,4355.523,5993.151,6175.735,10031.91,10031.91,10267.94,10267.94,30.3369,0,Done
fam_p1_s4_r2_a42,0,71,2,0,0,4374.449,6082.899,6232.512,9104.525,9104.55,-1,9702.256,30.9677,0,Done
fam_p1_s4_r2_a42,0,72,2,23,4,4507.228,6190.975,6324.153,10034.35,10034.35,10380.5,10380.5,30.2821,0,Done
fam_p1_s4_r2_a42,0,73,2,42,6,4577.253,6396.419,6578.356,10754.37,10754.38,10974.52,10974.52,33.3517,0,Done
fam_p1_s4_r2_a42,0,74,1,32,6,4684.433,6437.259,6609.783,9945.548,9945.552,10470.24,10470.24,32.0892,0,Done
fam_p1_s4_r2_a42,0,75,1,25,4,4777.12,6492.692,6787.785,9505.379,9601.501,9843.602,9843.602,33.5111,0,Done
fam_p1_s4_r2_a42,0,76,2,31,6,4800.528,6531.938,6678.414,10102.85,10134.81,10559.99,10559.99,31.2981,0,Done
fam_p1_s4_r2_a42,0,77,4,26,4,4804.811,6604.205,6813.783,10436.69,10436.73,10674.94,10674.94,33.4829,0,Done
fam_p1_s4_r2_a42,0,78,1,24,4,4850.582,6706.304,6858.109,10448.41,10448.43,10764.69,10764.69,33.4588,0,Done
fam_p1_s4_r2_a42,0,79,4,28,4,4924.641,6810.794,6929.678,9524.813,9732.836,9933.35,9933.35,33.4173,0,Done
fam_p1_s4_r2_a42,0,80,3,0,0,4999.099,6900.542,7006.776,9990.766,10013.58,-1,10611.29,33.4613,0,Done
fam_p1_s4_r2_a42,0,81,3,22,4,5223.519,7012.553,7104.094,10597.48,10597.5,10854.44,10854.44,31.3429,0,Done
fam_p1_s4_r2_a42,0,82,2,21,4,5244.935,7102.301,7215.956,9797.418,9797.433,10160.76,10160.76,32.8503,0,Done
fam_p1_s4_r2_a42,0,83,1,0,0,5271.73,7198.773,7365.619,10171.94,10171.96,-1,10769.67,34.8981,0,Done
fam_p1_s4_r2_a42,0,84,4,33,6,5292.698,7288.521,7387.383,11730.5,11730.5,12129.69,12129.69,34.9114,0,Done
fam_p1_s4_r2_a42,0,85,4,0,0,5318.646,7543.621,7735.966,11176.48,11176.52,11385.75,11385.75,40.2887,0,Done
fam_p1_s4_r2_a42,0,86,4,1,4,5344.046,7812.865,8333.474,11978.69,12682.02,12894.89,12894.89,49.8238,0,Done
fam_p1_s4_r2_a42,0,87,3,13,4,5350.87,7996.196,8454.848,12329.94,12329.95,12606.57,12606.57,51.733,0,Done
fam_p1_s4_r2_a42,0,88,2,39,2,5424.68,7633.369,8201.89,10905.96,10905.99,11074.97,11074.97,46.2868,0,Done
fam_p1_s4_r2_a42,0,89,1,36,2,5691.733,7723.117,8485.428,11137.97,11175.18,11284,11284,46.5616,0,Done
fam_p1_s4_r2_a42,0,90,3,0,0,5773.612,8105.467,8553.212,11190.61,11190.62,11488.5,11488.5,46.3267,0,Done
fam_p1_s4_r2_a42,0,91,2,37,2,5778.493,7839.51,8399.515,11354.92,11354.92,11586.27,11586.27,43.6837,0,Done
fam_p1_s4_r2_a42,0,92,2,35,2,5803.644,8085.944,8529.156,11427.56,11427.59,11676.02,11676.02,45.4252,0,Done
fam_p1_s4_r2_a42,0,93,2,38,2,5893.292,8175.692,8592.01,11705.79,11705.8,11855.51,11855.51,44.9786,0,Done
fam_p1_s4_r2_a42,0,94,3,18,4,5918.942,8179.328,8606.802,11732.15,11732.2,12219.43,12219.43,44.7977,0,Done
fam_p1_s4_r2_a42,0,95,2,40,2,6239.136,8222.16,8628.118,11752.92,11752.96,12309.18,12309.18,39.8164,0,Done
fam_p1_s4_r2_a42,0,96,2,2,4,6410.365,8265.44,8661.388,11879.52,11879.57,12410.83,12410.83,37.5171,0,Done
fam_p1_s4_r2_a42,0,97,1,0,0,6567.548,8418.889,8702.975,11227.74,11227.77,11765.76,11765.76,35.5904,0,Done
fam_p1_s4_r2_a42,0,98,2,10,4,6635.88,8566.261,9009.473,12358.54,12419,12707.17,12707.17,39.5599,0,Done
fam_p1_s4_r2_a42,0,99,4,9,4,6861.097,8605.059,9103.454,12663.33,12663.34,12996.49,12996.49,37.3726,0,Done
fam_p1_s4_r2_a42,0,100,2,7,4,6893.221,8727.678,9155.799,13689.79,13689.82,13790.32,13790.32,37.7096,0,Done
fam_p1_s4_r2_a42,0,101,2,41,2,6990.988,8998.814,9261.385,12565.82,12565.83,12805.14,12805.14,37.84,0,Done
fam_p1_s4_r2_a42,0,102,1,3,4,7105.389,9063.461,9350.983,13366.35,13402.79,13503.3,13503.3,37.4266,0,Done
fam_p1_s4_r2_a42,0,103,4,16,4,7131.885,9184.138,9417.174,11961.02,12168.88,12511.34,12511.34,38.0881,0,Done
fam_p1_s4_r2_a42,0,104,4,12,4,7150.313,9242.509,9475.097,12768.11,12797.27,13098.79,13098.79,38.7464,0,Done
```

#### dishes.csv

```text
condition_id,seed,t_s,dish_id,table_id,robot_id,fragile,ready_s,waited_s,requeued_so_far,why
fam_p1_s4_r2_a42,0,3333.346,60,22,2,0,2732.66,600.686,1,打ち切り
fam_p1_s4_r2_a42,0,3830.081,73,28,1,0,3083.503,746.5784,1,打ち切り
fam_p1_s4_r2_a42,0,3830.081,72,31,1,0,3050.37,779.7107,1,打ち切り
fam_p1_s4_r2_a42,0,3830.081,71,26,1,0,3031.052,799.0295,1,打ち切り
fam_p1_s4_r2_a42,0,4717.404,100,16,2,1,4032.629,684.7751,1,打ち切り
fam_p1_s4_r2_a42,0,5299.77,106,2,1,0,4611.17,688.5996,1,打ち切り
fam_p1_s4_r2_a42,0,5299.77,104,4,1,0,4587.214,712.5557,1,打ち切り
fam_p1_s4_r2_a42,0,5530.316,113,3,2,0,4789.073,741.2432,1,打ち切り
fam_p1_s4_r2_a42,0,5530.316,112,7,2,0,4775.526,754.79,1,打ち切り
fam_p1_s4_r2_a42,0,6764.974,154,11,1,0,6126.428,638.5459,1,打ち切り
fam_p1_s4_r2_a42,0,6764.974,152,1,1,1,6044.998,719.9766,1,打ち切り
fam_p1_s4_r2_a42,0,7756.536,175,27,1,0,7117.691,638.8447,1,打ち切り
fam_p1_s4_r2_a42,0,7756.536,174,23,1,0,7111.914,644.6221,1,打ち切り
fam_p1_s4_r2_a42,0,7839.46,176,42,2,0,7179.449,660.0117,1,打ち切り
fam_p1_s4_r2_a42,0,7839.46,177,32,2,0,7180.395,659.0654,1,打ち切り
fam_p1_s4_r2_a42,0,7839.46,178,8,2,1,7212.868,626.5928,1,打ち切り
fam_p1_s4_r2_a42,0,8487.121,178,8,2,1,7212.868,1274.253,2,打ち切り
fam_p1_s4_r2_a42,0,9109.829,208,6,2,0,8260.659,849.1699,1,打ち切り
fam_p1_s4_r2_a42,0,9109.829,178,8,2,1,7212.868,1896.961,3,打ち切り
fam_p1_s4_r2_a42,0,10675.44,249,3,1,0,9927.672,747.7676,1,打ち切り
fam_p1_s4_r2_a42,0,10675.44,248,7,1,0,9914.822,760.6172,1,打ち切り
fam_p1_s4_r2_a42,0,12059.26,265,1,1,1,11461.51,597.7559,1,打ち切り
```

#### contacts.csv

```text
condition_id,seed,t_s,x,z,aisle,place,who,careless,robot_id,gap_cm
fam_p1_s4_r2_a42,0,1444.203,14.9568,6.0365,,,スタッフ:Staff02,0,1,7.927
fam_p1_s4_r2_a42,0,1457.316,14.9148,5.9882,,,スタッフ:Staff03,0,1,8.7943
fam_p1_s4_r2_a42,0,1460.519,15.867,5.9495,,,スタッフ:Staff01,0,1,8.6109
fam_p1_s4_r2_a42,0,1470.429,15.9174,5.7799,,,スタッフ:Staff02,0,1,8.8677
fam_p1_s4_r2_a42,0,1486.094,15.8381,5.4368,,,スタッフ:Staff03,0,1,8.766
fam_p1_s4_r2_a42,0,1517.375,14.9125,5.9817,,,スタッフ:Staff02,0,1,8.6838
fam_p1_s4_r2_a42,0,1560.867,14.9146,5.9878,,,スタッフ:Staff03,0,1,8.7969
fam_p1_s4_r2_a42,0,1563.32,14.8498,5.8416,,,スタッフ:Staff02,0,1,9.558
fam_p1_s4_r2_a42,0,1589.545,15.8456,5.4258,,,スタッフ:Staff03,0,1,9.9876
fam_p1_s4_r2_a42,0,1598.304,14.907,5.9845,,,スタッフ:Staff01,0,1,9.2996
fam_p1_s4_r2_a42,0,1634.639,14.9146,5.9878,,,スタッフ:Staff03,0,1,8.7969
fam_p1_s4_r2_a42,0,1648.102,14.8496,5.8059,,,スタッフ:Staff01,0,1,8.8974
fam_p1_s4_r2_a42,0,1670.024,14.85,5.8001,,,スタッフ:Staff03,0,1,8.7751
fam_p1_s4_r2_a42,0,1720.073,14.907,5.9845,,,スタッフ:Staff01,0,1,9.2996
fam_p1_s4_r2_a42,0,1753.005,14.8509,5.8031,,,スタッフ:Staff01,0,1,8.7308
fam_p1_s4_r2_a42,0,1767.319,14.907,5.9845,,,スタッフ:Staff01,0,1,9.2996
fam_p1_s4_r2_a42,0,1793.895,14.9189,5.99,,,スタッフ:Staff04,0,1,8.5301
fam_p1_s4_r2_a42,0,1798.399,14.8464,5.7578,,,スタッフ:Staff01,0,1,8.6764
fam_p1_s4_r2_a42,0,1812.012,14.907,5.9845,,,スタッフ:Staff01,0,1,9.2996
fam_p1_s4_r2_a42,0,1841.141,14.8495,5.8056,,,スタッフ:Staff04,0,1,8.8991
fam_p1_s4_r2_a42,0,1849.449,14.9145,5.9876,,,スタッフ:Staff03,0,1,8.7969
fam_p1_s4_r2_a42,0,1863.963,14.8511,5.806,,,スタッフ:Staff01,0,1,8.7481
fam_p1_s4_r2_a42,0,1877.326,15.9159,5.7708,,,スタッフ:Staff03,0,1,8.6281
fam_p1_s4_r2_a42,0,1890.188,14.908,5.9865,,,スタッフ:Staff01,0,1,9.3103
fam_p1_s4_r2_a42,0,1896.344,14.9127,5.9817,,,スタッフ:Staff02,0,1,8.6647
fam_p1_s4_r2_a42,0,1906.354,14.915,5.9884,,,スタッフ:Staff03,0,1,8.793
fam_p1_s4_r2_a42,0,1922.62,15.9174,5.7799,,,スタッフ:Staff02,0,1,8.8677
fam_p1_s4_r2_a42,0,1926.174,14.8499,5.8073,,,スタッフ:Staff01,0,1,8.8923
fam_p1_s4_r2_a42,0,1937.985,14.8503,5.7976,,,スタッフ:Staff03,0,1,8.7095
fam_p1_s4_r2_a42,0,1946.794,14.908,5.9865,,,スタッフ:Staff01,0,1,9.3103
fam_p1_s4_r2_a42,0,1968.014,14.9126,5.9819,,,スタッフ:Staff02,0,1,8.6825
fam_p1_s4_r2_a42,0,1985.331,14.8554,5.8108,,,スタッフ:Staff01,0,1,8.407
fam_p1_s4_r2_a42,0,1997.743,14.908,5.9865,,,スタッフ:Staff01,0,1,9.3103
fam_p1_s4_r2_a42,0,2019.415,14.8502,5.7974,,,スタッフ:Staff02,0,1,8.71
fam_p1_s4_r2_a42,0,2038.833,14.9127,5.9817,,,スタッフ:Staff02,0,1,8.6647
fam_p1_s4_r2_a42,0,2041.086,14.8425,5.6554,,,スタッフ:Staff01,0,1,9.3387
fam_p1_s4_r2_a42,0,2043.788,14.7638,6.0542,,,スタッフ:Staff01,0,2,9.6213
fam_p1_s4_r2_a42,0,2076.871,14.8112,5.7028,,,スタッフ:Staff02,0,2,9.7747
fam_p1_s4_r2_a42,0,2082.876,14.8224,5.7055,,,スタッフ:Staff01,0,2,8.6577
fam_p1_s4_r2_a42,0,2167.059,14.7621,5.9378,,,スタッフ:Staff03,0,2,8.8038
fam_p1_s4_r2_a42,0,2170.162,14.7655,5.9362,,,スタッフ:Staff04,0,2,8.4671
fam_p1_s4_r2_a42,0,2206.147,14.8308,5.7145,,,スタッフ:Staff04,0,2,7.5005
fam_p1_s4_r2_a42,0,2231.321,14.8115,5.7028,,,スタッフ:Staff03,0,2,9.7488
fam_p1_s4_r2_a42,0,2275.665,14.7581,5.9297,,,スタッフ:Staff01,0,2,9.2258
fam_p1_s4_r2_a42,0,2307.045,14.7559,5.9222,,,スタッフ:Staff01,0,2,9.4865
fam_p1_s4_r2_a42,0,2351.388,8.1696,3.0896,,,スタッフ:Staff02,0,2,9.5007
fam_p1_s4_r2_a42,0,2398.985,14.6233,5.6064,,,スタッフ:Staff03,0,1,7.5009
fam_p1_s4_r2_a42,0,2405.591,14.6561,5.5316,,,スタッフ:Staff01,0,1,8.5155
fam_p1_s4_r2_a42,0,2437.522,9.2691,4.8233,A03,,客:Guest(Clone),0,1,9.5409
fam_p1_s4_r2_a42,0,2458.693,14.6755,5.5979,,,スタッフ:Staff01,0,2,9.8385
fam_p1_s4_r2_a42,0,2471.355,14.5211,5.9402,,,スタッフ:Staff04,0,2,9.179
fam_p1_s4_r2_a42,0,2489.823,5.2882,10.6999,A02,,スタッフ:Staff02,0,1,8.5844
fam_p1_s4_r2_a42,0,2499.333,14.6955,5.6003,,,スタッフ:Staff04,0,2,8.2768
fam_p1_s4_r2_a42,0,2508.191,14.6849,5.6056,,,スタッフ:Staff02,0,2,8.6264
fam_p1_s4_r2_a42,0,2511.194,14.5211,5.9402,,,スタッフ:Staff04,0,2,9.179
fam_p1_s4_r2_a42,0,2558.541,14.5731,5.9795,,,スタッフ:Staff04,0,1,8.6455
fam_p1_s4_r2_a42,0,2568.851,14.6104,5.596,,,スタッフ:Staff03,0,1,8.6937
fam_p1_s4_r2_a42,0,2598.58,14.6182,5.607,,,スタッフ:Staff04,0,1,7.5021
fam_p1_s4_r2_a42,0,2742.92,14.7994,5.6247,,,スタッフ:Staff03,0,2,9.3832
fam_p1_s4_r2_a42,0,2766.243,15.8251,5.5236,,,スタッフ:Staff03,1,2,8.474
fam_p1_s4_r2_a42,0,2829.305,14.7972,5.6216,,,スタッフ:Staff02,0,2,9.668
fam_p1_s4_r2_a42,0,2926.249,15.5148,6.2476,,,スタッフ:Staff04,0,2,9.6842
fam_p1_s4_r2_a42,0,2973.295,14.799,5.6349,,,スタッフ:Staff01,0,2,9.2306
fam_p1_s4_r2_a42,0,2984.957,14.8059,5.653,,,スタッフ:Staff03,0,2,8.2566
fam_p1_s4_r2_a42,0,2991.863,14.7734,5.659,,,スタッフ:Staff04,0,1,8.72
fam_p1_s4_r2_a42,0,3040.711,15.5179,6.2474,,,スタッフ:Staff02,0,2,9.7786
fam_p1_s4_r2_a42,0,3068.488,14.8019,5.6466,,,スタッフ:Staff01,0,2,8.7503
fam_p1_s4_r2_a42,0,3077.397,15.5181,6.2475,,,スタッフ:Staff03,0,2,9.7866
fam_p1_s4_r2_a42,0,3099.618,14.8029,5.6347,,,スタッフ:Staff02,0,2,8.8572
fam_p1_s4_r2_a42,0,3107.876,15.4814,6.25,,,スタッフ:Staff03,0,2,8.8995
fam_p1_s4_r2_a42,0,3148.716,14.8006,5.6332,,,スタッフ:Staff01,0,2,9.1038
fam_p1_s4_r2_a42,0,3183.15,15.5067,6.2091,,,スタッフ:Staff03,0,2,5.7919
fam_p1_s4_r2_a42,0,3350.713,15.7459,6.25,,,スタッフ:Staff03,0,1,9.5477
fam_p1_s4_r2_a42,0,3496.956,15.3,5.95,,,スタッフ:Staff02,0,1,-44.0001
fam_p1_s4_r2_a42,0,3661.467,15.3,5.95,,,スタッフ:Staff01,0,1,-44.0001
fam_p1_s4_r2_a42,0,3761.915,15.8052,5.7756,,,スタッフ:Staff04,1,1,9.4021
fam_p1_s4_r2_a42,0,3799.952,15.3,5.95,,,スタッフ:Staff01,0,1,-44.0001
fam_p1_s4_r2_a42,0,3814.816,15.3,5.95,,,スタッフ:Staff02,0,1,-44.0001
fam_p1_s4_r2_a42,0,3854.705,13.7455,6.8854,,,スタッフ:Staff02,0,1,9.8986
fam_p1_s4_r2_a42,0,3855.456,12.6,8.4148,,,スタッフ:Staff03,0,2,9.9006
fam_p1_s4_r2_a42,0,3994.942,12.6,8.7361,,,スタッフ:Staff03,0,1,9.3008
fam_p1_s4_r2_a42,0,4066.312,5.5771,4.8651,A02,,スタッフ:Staff03,0,1,9.4562
fam_p1_s4_r2_a42,0,4708.24,11.5629,4.55,,,スタッフ:Staff04,0,2,9.9977
fam_p1_s4_r2_a42,0,4789.969,5.2,10.6103,A02,,スタッフ:Staff03,0,2,9.0613
fam_p1_s4_r2_a42,0,4790.816,5.7986,10.7857,A02,,スタッフ:Staff01,0,2,9.4607
fam_p1_s4_r2_a42,0,4823.139,5.7949,5.279,A02,,スタッフ:Staff01,0,2,9.3125
fam_p1_s4_r2_a42,0,5152.049,6.0338,4.3179,,,スタッフ:Staff03,0,2,9.0538
fam_p1_s4_r2_a42,0,5303.954,14.8469,3.8411,,,客:Guest(Clone),0,1,8.3431
fam_p1_s4_r2_a42,0,5401.87,6.2089,3.1911,,,スタッフ:Staff01,0,1,9.9747
fam_p1_s4_r2_a42,0,5407.348,6.2063,3.1937,,,客:Guest(Clone),0,1,9.7635
fam_p1_s4_r2_a42,0,5498.292,5.8968,4.1205,,,スタッフ:Staff03,0,2,9.68
fam_p1_s4_r2_a42,0,5561.792,8.9583,4.8299,A03,,スタッフ:Staff04,0,2,9.184
fam_p1_s4_r2_a42,0,5605.72,8.9478,4.8372,A03,,客:Guest(Clone),0,2,9.3085
fam_p1_s4_r2_a42,0,5655.027,8.9639,4.8274,A03,,スタッフ:Staff02,0,2,9.2467
fam_p1_s4_r2_a42,0,5848.917,4.4664,4.55,,,スタッフ:Staff03,0,2,8.9744
fam_p1_s4_r2_a42,0,6270.961,7.9068,4.55,,,客:Guest(Clone),0,2,9.9004
fam_p1_s4_r2_a42,0,6288.343,8.0053,4.55,,,スタッフ:Staff01,0,2,8.7547
fam_p1_s4_r2_a42,0,6454.392,8.6959,4.1189,,,客:Guest(Clone),1,1,9.4097
fam_p1_s4_r2_a42,0,6519.835,7.9066,4.55,,,スタッフ:Staff03,0,2,9.9092
fam_p1_s4_r2_a42,0,6654.507,7.3422,3.7972,,,スタッフ:Staff02,1,2,9.5271
fam_p1_s4_r2_a42,0,6713.127,8.0166,4.55,,,客:Guest(Clone),0,2,9.9053
fam_p1_s4_r2_a42,0,6723.636,8.0153,4.55,,,スタッフ:Staff03,0,2,9.7905
fam_p1_s4_r2_a42,0,7164.607,14.7291,6.2491,,,スタッフ:Staff03,0,1,9.8529
fam_p1_s4_r2_a42,0,7403.869,15.1732,6.25,,,スタッフ:Staff04,0,1,9.7768
fam_p1_s4_r2_a42,0,7467.22,15.161,6.25,,,スタッフ:Staff04,0,1,8.936
fam_p1_s4_r2_a42,0,7542.176,15.1668,6.25,,,スタッフ:Staff04,0,1,9.3338
fam_p1_s4_r2_a42,0,7544.766,15.3306,5.7872,,,スタッフ:Staff02,1,1,9.3896
fam_p1_s4_r2_a42,0,7619.722,15.1562,6.25,,,スタッフ:Staff02,0,1,8.605
fam_p1_s4_r2_a42,0,7694.678,15.1619,6.25,,,スタッフ:Staff02,0,1,8.999
fam_p1_s4_r2_a42,0,7756.585,15.6828,5.7165,,,スタッフ:Staff01,0,1,-0.1612
fam_p1_s4_r2_a42,0,7756.585,15.3908,6.25,,,スタッフ:Staff03,0,1,-13.6569
fam_p1_s4_r2_a42,0,8014.624,15.3,5.95,,,スタッフ:Staff01,0,1,-45
fam_p1_s4_r2_a42,0,8043.809,15.3,5.95,,,スタッフ:Staff02,0,1,-45
fam_p1_s4_r2_a42,0,8057.107,15.3,5.95,,,スタッフ:Staff04,0,1,-45
fam_p1_s4_r2_a42,0,8192.626,10.5465,2.1004,,,スタッフ:Staff02,0,2,9.6959
fam_p1_s4_r2_a42,0,8202.338,8.5055,2.5224,,,スタッフ:Staff01,1,2,8.5636
fam_p1_s4_r2_a42,0,8353.346,12.6,10.113,,,スタッフ:Staff04,0,1,9.8277
fam_p1_s4_r2_a42,0,8375.608,12.6098,10.4783,,,スタッフ:Staff04,0,1,9.6487
fam_p1_s4_r2_a42,0,8473.275,5.4059,3.2,,,スタッフ:Staff01,0,2,9.9703
fam_p1_s4_r2_a42,0,8522.582,8.8853,4.6449,,,客:Guest(Clone),1,1,9.1454
fam_p1_s4_r2_a42,0,8577.815,6.0015,4.27,,,客:Guest(Clone),0,2,9.7955
fam_p1_s4_r2_a42,0,8603.066,5.4217,4.2437,,,スタッフ:Staff03,0,1,8.1439
fam_p1_s4_r2_a42,0,8744.113,5.7776,4.8614,A02,,客:Guest(Clone),0,1,9.2084
fam_p1_s4_r2_a42,0,8746.006,5.3719,4.8336,A02,,スタッフ:Staff04,0,1,9.3806
fam_p1_s4_r2_a42,0,8848.653,5.6698,4.797,,,客:Guest(Clone),0,1,9.88
fam_p1_s4_r2_a42,0,8849.898,5.2,4.8606,A02,,客:Guest(Clone),0,1,9.2234
fam_p1_s4_r2_a42,0,8851.492,5.3262,4.8873,A02,,客:Guest(Clone),0,1,9.55
fam_p1_s4_r2_a42,0,8852.737,4.911,4.0324,,,スタッフ:Staff01,0,2,9.4002
fam_p1_s4_r2_a42,0,8865.886,4.9082,4.0345,,,スタッフ:Staff03,0,2,9.7395
fam_p1_s4_r2_a42,0,8957.028,4.8581,4.5497,,,スタッフ:Staff01,0,1,9.4203
fam_p1_s4_r2_a42,0,8963.453,4.9131,4.0355,,,スタッフ:Staff04,0,2,9.3258
fam_p1_s4_r2_a42,0,8975.307,4.9675,4.55,,,スタッフ:Staff01,0,1,-0.4911
fam_p1_s4_r2_a42,0,9070.832,5.2016,4.8683,A02,,客:Guest(Clone),0,1,9.9131
fam_p1_s4_r2_a42,0,9103.404,5.6343,4.815,A02,,客:Guest(Clone),0,1,9.517
fam_p1_s4_r2_a42,0,9631.135,5.1617,4.7117,,,スタッフ:Staff02,0,1,9.3042
fam_p1_s4_r2_a42,0,9693.54,5.1194,4.5,,,スタッフ:Staff01,1,1,9.4383
fam_p1_s4_r2_a42,0,9707.884,4.0753,4.0671,,,スタッフ:Staff02,1,2,9.5214
fam_p1_s4_r2_a42,0,9748.624,5.6582,4.8406,A02,,スタッフ:Staff02,0,1,9.9855
fam_p1_s4_r2_a42,0,9754.053,4.8769,3.987,,,スタッフ:Staff04,0,2,9.9572
fam_p1_s4_r2_a42,0,9974.438,5.543,4.5829,,,客:Guest(Clone),0,2,8.8618
fam_p1_s4_r2_a42,0,10036.59,5.7864,4.8344,A02,,スタッフ:Staff04,0,2,9.7076
fam_p1_s4_r2_a42,0,10100.79,18.9936,2.1854,,,客:Guest(Clone),0,1,-2.8873
fam_p1_s4_r2_a42,0,10167.38,5.6722,4.8343,A02,,客:Guest(Clone),0,2,8.9388
fam_p1_s4_r2_a42,0,10178.84,5.6826,4.8328,A02,,客:Guest(Clone),0,2,9.6013
fam_p1_s4_r2_a42,0,10418.8,5.3098,4.446,,,スタッフ:Staff02,0,1,9.4706
fam_p1_s4_r2_a42,0,10503.91,14.8058,5.7086,,,スタッフ:Staff04,0,2,9.9998
fam_p1_s4_r2_a42,0,10535.84,14.75,5.953,,,スタッフ:Staff01,0,2,10
fam_p1_s4_r2_a42,0,10537.83,14.7879,6.1158,,,スタッフ:Staff02,0,2,8.8301
fam_p1_s4_r2_a42,0,10541.17,14.7535,5.8966,,,スタッフ:Staff01,0,2,9.9147
fam_p1_s4_r2_a42,0,10547.29,14.8318,5.7125,,,スタッフ:Staff04,0,2,7.5001
fam_p1_s4_r2_a42,0,10561.74,14.771,5.9641,,,スタッフ:Staff02,0,2,7.9195
fam_p1_s4_r2_a42,0,10619.86,4.8459,4.1712,,,客:Guest(Clone),0,1,9.956
fam_p1_s4_r2_a42,0,10625.09,5.2579,4.4425,,,客:Guest(Clone),0,1,9.5144
fam_p1_s4_r2_a42,0,10718.12,5.7779,4.8607,A02,,客:Guest(Clone),0,2,9.9392
fam_p1_s4_r2_a42,0,10764.74,6.3022,4.0242,,,スタッフ:Staff04,0,1,9.9142
fam_p1_s4_r2_a42,0,11143.65,2.1283,5.6782,A01,,スタッフ:Staff04,0,1,9.9701
fam_p1_s4_r2_a42,0,11160.24,14.5803,6.0001,,,スタッフ:Staff02,0,2,8.3281
fam_p1_s4_r2_a42,0,11181.36,15.5215,5.5166,,,スタッフ:Staff02,0,2,8.8526
fam_p1_s4_r2_a42,0,11191.12,15.0706,5.2943,,,スタッフ:Staff01,0,2,9.1677
fam_p1_s4_r2_a42,0,11197.79,15.6133,5.9928,,,スタッフ:Staff03,0,2,9.8682
fam_p1_s4_r2_a42,0,11228.82,15.5176,5.5048,,,スタッフ:Staff04,0,2,9.2614
fam_p1_s4_r2_a42,0,11238.08,14.6547,6.1393,,,スタッフ:Staff01,0,2,7.874
fam_p1_s4_r2_a42,0,11244.41,15.5163,5.5211,,,スタッフ:Staff04,0,2,8.1779
fam_p1_s4_r2_a42,0,11278.08,15.0718,5.3012,,,スタッフ:Staff01,0,2,8.4697
fam_p1_s4_r2_a42,0,11286.84,14.5459,5.891,,,スタッフ:Staff01,0,2,9.4534
fam_p1_s4_r2_a42,0,11300.84,14.839,5.3474,,,スタッフ:Staff04,0,2,9.7903
fam_p1_s4_r2_a42,0,11335,15.4817,5.4539,,,スタッフ:Staff01,0,1,7.8315
fam_p1_s4_r2_a42,0,11342.08,14.5732,5.9799,,,スタッフ:Staff04,0,2,8.4234
fam_p1_s4_r2_a42,0,11344.67,15.6939,5.5902,,,スタッフ:Staff01,0,1,8.3489
fam_p1_s4_r2_a42,0,11366.83,15.4716,5.4517,,,スタッフ:Staff04,0,1,7.7074
fam_p1_s4_r2_a42,0,11393.22,15.4807,5.4425,,,スタッフ:Staff01,0,1,8.8756
fam_p1_s4_r2_a42,0,11410.96,15.4451,5.4392,,,スタッフ:Staff01,0,1,8.105
fam_p1_s4_r2_a42,0,11439.29,14.5687,5.967,,,スタッフ:Staff01,0,2,8.5261
fam_p1_s4_r2_a42,0,11460.66,14.6141,5.6056,,,スタッフ:Staff02,0,2,7.6427
fam_p1_s4_r2_a42,0,11540.75,15.3427,5.3636,,,スタッフ:Staff02,0,2,8.6549
fam_p1_s4_r2_a42,0,11555.99,14.5956,5.6074,,,スタッフ:Staff02,0,2,9.2406
fam_p1_s4_r2_a42,0,11736.93,15.3,5.95,,,スタッフ:Staff01,1,2,-22.7363
fam_p1_s4_r2_a42,0,11745.84,4.9944,4.5496,,,スタッフ:Staff04,0,1,7.4181
fam_p1_s4_r2_a42,0,11746.99,15.3998,5.2033,,,スタッフ:Staff02,0,2,8.7979
fam_p1_s4_r2_a42,0,11749.28,5.9718,4.5677,,,スタッフ:Staff01,1,1,8.9894
fam_p1_s4_r2_a42,0,11755.65,15.4062,5.1959,,,スタッフ:Staff02,0,2,9.5682
fam_p1_s4_r2_a42,0,11825.63,4.7,4.3,,,客:Guest(Clone),0,1,-23.7283
fam_p1_s4_r2_a42,0,11850.28,15.3,5.95,,,スタッフ:Staff04,0,2,-22.7363
fam_p1_s4_r2_a42,0,11970.36,5.7421,4.9161,A02,,客:Guest(Clone),0,2,9.2502
fam_p1_s4_r2_a42,0,12115.29,5.3633,4.8195,A02,,スタッフ:Staff03,0,1,9.9055
fam_p1_s4_r2_a42,0,12178.15,15.5169,5.5051,,,スタッフ:Staff01,0,2,9.2654
fam_p1_s4_r2_a42,0,12222.97,14.6113,5.6095,,,スタッフ:Staff03,0,2,7.5037
fam_p1_s4_r2_a42,0,12231.64,14.6021,5.6068,,,スタッフ:Staff04,0,2,8.45
fam_p1_s4_r2_a42,0,12233.33,14.854,5.3474,,,スタッフ:Staff03,0,2,8.9382
fam_p1_s4_r2_a42,0,12277.56,14.6117,5.6087,,,スタッフ:Staff04,0,2,7.5035
fam_p1_s4_r2_a42,0,12307.29,14.599,5.5993,,,スタッフ:Staff01,0,2,9.0517
fam_p1_s4_r2_a42,0,12321.63,14.6136,5.6048,,,スタッフ:Staff01,0,2,7.5024
fam_p1_s4_r2_a42,0,12334.23,15.6008,5.6566,,,客:Guest(Clone),0,2,9.5003
fam_p1_s4_r2_a42,0,12374.33,15.6256,5.8758,,,スタッフ:Staff02,0,2,9.1481
fam_p1_s4_r2_a42,0,12390.81,15.6259,5.8739,,,スタッフ:Staff02,0,2,9.16
fam_p1_s4_r2_a42,0,12446.84,15.6041,5.6804,,,スタッフ:Staff02,0,2,9.0779
fam_p1_s4_r2_a42,0,12452.62,14.6116,5.6089,,,スタッフ:Staff04,0,2,7.5033
fam_p1_s4_r2_a42,0,12474.48,14.607,5.603,,,スタッフ:Staff03,0,2,8.1752
fam_p1_s4_r2_a42,0,12508.1,8.9804,4.8381,A03,,スタッフ:Staff04,0,2,9.2534
fam_p1_s4_r2_a42,0,12542.42,5.7007,4.8784,A02,,客:Guest(Clone),0,2,9.6439
fam_p1_s4_r2_a42,0,12577.53,5.4095,4.8566,A02,,スタッフ:Staff01,0,2,8.0894
fam_p1_s4_r2_a42,0,12606.62,5.5944,4.7978,,,客:Guest(Clone),0,2,-0.0265
fam_p1_s4_r2_a42,0,12608.71,5.5768,4.8985,A02,,客:Guest(Clone),0,2,9.9569
fam_p1_s4_r2_a42,0,12752.34,14.8177,5.7043,,,スタッフ:Staff04,0,1,9.1265
fam_p1_s4_r2_a42,0,12761.56,14.818,5.7033,,,スタッフ:Staff01,0,1,9.1471
fam_p1_s4_r2_a42,0,12782.58,14.8095,5.7011,,,スタッフ:Staff01,0,1,9.9997
fam_p1_s4_r2_a42,0,12792.64,14.8318,5.7124,,,スタッフ:Staff04,0,1,7.5001
fam_p1_s4_r2_a42,0,12798.86,14.8459,5.6521,,,スタッフ:Staff03,0,1,9.3137
fam_p1_s4_r2_a42,0,12824.76,14.8257,5.7089,,,スタッフ:Staff03,0,1,8.2038
fam_p1_s4_r2_a42,0,12917.4,15.7905,5.7618,,,スタッフ:Staff01,0,1,7.5411
fam_p1_s4_r2_a42,0,12935.58,15.7974,5.7751,,,スタッフ:Staff01,0,1,7.7259
fam_p1_s4_r2_a42,0,12955.4,15.3459,5.4177,,,スタッフ:Staff02,0,1,8.4232
fam_p1_s4_r2_a42,0,12986.58,15.3469,5.4202,,,スタッフ:Staff02,0,1,8.1822
fam_p1_s4_r2_a42,0,12993.85,15.6858,5.5655,,,スタッフ:Staff01,0,1,9.4729
fam_p1_s4_r2_a42,0,13058.05,14.7525,6.2351,,,スタッフ:Staff01,0,2,9.6576
fam_p1_s4_r2_a42,0,13080.06,14.3549,5.8735,,,スタッフ:Staff01,1,2,9.2002
fam_p1_s4_r2_a42,0,13174.79,14.8312,5.7136,,,スタッフ:Staff02,0,1,7.5002
fam_p1_s4_r2_a42,0,13207.16,14.8086,5.703,,,スタッフ:Staff02,0,1,9.9997
fam_p1_s4_r2_a42,0,13569.29,14.8298,5.7092,,,スタッフ:Staff01,0,1,7.8269
fam_p1_s4_r2_a42,0,13604.9,14.8283,5.7086,,,スタッフ:Staff01,0,1,7.9899
fam_p1_s4_r2_a42,0,13857.31,14.8276,5.7084,,,スタッフ:Staff01,0,1,8.0583
fam_p1_s4_r2_a42,0,13893.27,14.8245,5.7072,,,スタッフ:Staff01,0,1,8.3883
```

### 5回目（cs:124）：20261023_p1_efficient_corner_fam_p1_s4_r2_a42_s0_1135

#### summary.json

```json
{
  "run_name": "family_v0",
  "written_at": "2026-10-23 11:49:13",
  "note": "speed_mps = distance_m / (total_s - stopped_s)。stopped_s には、動けなくなった60秒と、スタッフを待った秒数（stuck_wait_s）、通路の入口で待った秒数も入る。pause_s は stop_durations_s（自分で動き出した止まりだけ）の分布。site_metrics はサイトの meta.metrics と同じ名前・同じ定義。入店待ちの分け方もサイトの試算と同じで、blocked_wait は片付け待ちの卓の数だけ待っている列の前から順に足した分、full_wait は seat_wait − blocked_wait、staff_wait は blocked_wait + guide_wait。pauses と rescues は、サイト側が unity_measures の仮の値から出した数なので出どころが違う。",
  "sim_like": {"dish_wait_mean": 4.4696, "dish_wait_p90": 11.7826, "cold_share": 0.431, "seat_wait_mean": 4.8768, "turn_mean": 6.035, "robot_share": 0.3233, "robot_dishes": 75, "staff_dishes": 157, "requeued_dishes": 10, "groups": 92, "people_jams": 1872, "robot_blocked_jams": 1842, "robot_blocked_jam_share": 0.984, "chair_pulls": 164, "robot_contacts": 134, "robot_yield_waits": 399, "robot_yield_wait_s": 2325.193, "robot_yield_detours": 6, "register_crowd_max": 9, "register_crowd_mean": 2.2419, "register_pay_count": 77, "register_pay_not_at_back": 0, "register_pay_off_spot": 38, "register_pay_offset_mean_m": 0.1166, "register_pay_offset_max_m": 0.2808, "register_back_intruders": 0, "register_back_intruder_s": 0, "drink_bar_queued": 27, "drink_bar_gave_up": 6, "drink_bar_wait_mean": 0.7095, "drink_bar_wait_p90": 0.9965, "gave_up": 153, "warped": 85, "table_freed": 65, "people_jam_total_s": 3827.123, "walkers_mean": 10.0269, "measured_minutes": 210.0422},
  "site_metrics": {"entry_wait_mean": 7.6967, "full_wait_mean": 2.8762, "staff_wait_mean": 3.5865, "blocked_wait_mean": 2.0006, "guide_wait_mean": 1.5859, "seat_wait_mean": 4.8768, "dish_wait_mean": 4.4696, "dish_wait_p90": 11.7826, "cold_share": 0.431, "turn_mean": 6.035, "walk_km_per_staff": 2.8351, "staff_util": 0.7861, "robot_util": 0.603, "robot_share": 0.3233, "rescues": 84, "pauses": 335, "groups": 92},
  "site_run": {"site_run": true, "condition_id": "fam_p1_s4_r2_a42", "arrivals_minutes": 120, "total_minutes": 210.0422, "everyone_left": true, "rescues_done": 78, "rescue_wait_s": 3408.977, "gave_up": 153, "warped": 85, "table_freed": 65},
  "site_result": {"dish_wait_mean": 0.4568, "dish_wait_p90": 0.8167, "cold_share": 0, "seat_wait_mean": 0.6083, "turn_mean": 4.3928, "walk_km_per_staff": 1.872, "staff_util": 0.6436, "robot_util": 0.4764, "robot_share": 0.7257, "robot_bus_share": 0, "collects": 0, "rescues": 1.475, "pauses": 41.625, "fragile_robot": 31.9, "groups": 82.1, "entry_wait_mean": 1.0194, "blocked_wait_mean": 0.5116, "guide_wait_mean": 0.2337, "staff_wait_mean": 0.7453, "full_wait_mean": 0.0967},
  "staff_time_s": {"待機": 10793.59, "案内": 7350.807, "料理": 11844.68, "呼び出し": 4020.297, "立ち往生": 2628.689, "会計": 7538.122, "片付け": 6276.171},
  "dish_wait_parts": {"robot": {"dishes": 75, "pass_wait_mean_min": 1.6137, "carry_mean_min": 5.4002, "requeue_lost_mean_min": 1.4232, "total_mean_min": 8.437, "requeued_per_dish": 0.1333, "requeued_total": 10}, "staff": {"dishes": 157, "pass_wait_mean_min": 1.5904, "carry_mean_min": 0.5599, "requeue_lost_mean_min": 0.424, "total_mean_min": 2.5743, "requeued_per_dish": 0, "requeued_total": 0}, "all": {"dishes": 232, "pass_wait_mean_min": 1.598, "carry_mean_min": 2.1246, "requeue_lost_mean_min": 0.747, "total_mean_min": 4.4696, "requeued_per_dish": 0.0431, "requeued_total": 10}},
  "job_wait_mean_s": {"案内": 96.744, "料理": 139.1291, "呼び出し": 140.2713, "立ち往生": 23.108, "会計": 99.4472, "片付け": 315.5824},
  "staff_time_share": {"待機": 0.2139, "案内": 0.1457, "料理": 0.2348, "呼び出し": 0.0797, "立ち往生": 0.0521, "会計": 0.1494, "片付け": 0.1244},
  "stops": {"count": 421, "stuck_count": 84, "partial_path_count": 0},
  "stop_causes": [
    {"cause": "分からない", "count": 55, "total_s": 79.5999, "mean_s": 1.4473, "longest_s": 25.7499, "path_blocked_count": 0, "stuck_count": 0, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "椅子・荷物・ベビーカー", "count": 5, "total_s": 3.45, "mean_s": 0.69, "longest_s": 1.3, "path_blocked_count": 0, "stuck_count": 0, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "スタッフとすれ違った", "count": 66, "total_s": 1235.339, "mean_s": 18.7173, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 11, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "人が立ち止まっていた", "count": 71, "total_s": 2689.524, "mean_s": 37.8806, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 36, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "もう1台のロボット", "count": 177, "total_s": 2594.426, "mean_s": 14.6578, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 31, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "お客さんとすれ違った", "count": 44, "total_s": 782.8434, "mean_s": 17.7919, "longest_s": 60.0494, "path_blocked_count": 0, "stuck_count": 6, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "通路の順番待ち", "count": 2, "total_s": 26.0001, "mean_s": 13, "longest_s": 15.85, "path_blocked_count": 0, "stuck_count": 0, "partial_path_count": 0, "no_path_total_s": 0},
    {"cause": "通路の幅が足りない", "count": 1, "total_s": 0.05, "mean_s": 0.05, "longest_s": 0.05, "path_blocked_count": 1, "stuck_count": 0, "partial_path_count": 0, "no_path_total_s": 0.05}
  ],
  "conditions": [
    {"condition_id": "fam_p1_s4_r2_a42", "aisle_width_m": 1.2, "crowd": "normal", "robots": 2, "trips": 51, "robot_speed_mps_median": 0.5678, "stopped_s_median": 52.4495, "stopped_s_p90": 563.386, "pause_s_median": 2.65, "pause_s_p90": 23.8099, "pause_count": 335, "wait_aisle_s_median": 0, "stuck_rate": 0.4118, "stuck_count": 21, "timeout_rate": 0.3137, "timeout_count": 16, "pause_rate": 1, "met_robot_rate": 0.4314}
  ]
}
```

#### run_info.json

```json
{
  "run_label": "site_v5",
  "written_at": "2026-10-23 11:49:13",
  "condition_id": "fam_p1_s4_r2_a42",
  "store_kind": "StoreLayout_p1_efficient_corner",
  "time_mode": "FixedStep",
  "time_scale": 1,
  "capture_delta_time": 0.05,
  "aisle_width_m": 1.2,
  "delivery_offset_m": 0,
  "delivery_offset_used_m": 0,
  "crowd": "normal",
  "robots": 2,
  "seed": 0,
  "trips_requested": 0,
  "trips_done": 51,
  "stopped_early": false,
  "sim_seconds": 12602.53,
  "wall_seconds": 810.5362,
  "speedup": 15.5484,
  "frame_delta_s": {"count": 252662, "mean": 0.0499, "min": 0.02, "p50": 0.05, "p90": 0.05, "p99": 0.05, "max": 0.05},
  "robot_step_m": {"count": 252662, "mean": 0.0129, "min": 0, "p50": 0, "p90": 0.03, "p99": 0.03, "max": 0.03},
  "people_step_m": {"count": 252662, "mean": 0.0576, "min": 0, "p50": 0.0468, "p90": 0.05, "p99": 0.05, "max": 21.7909},
  "frames_over_005m": 0,
  "frames_over_005m_ratio": 0,
  "people_frames_over_005m": 62778,
  "people_frames_over_005m_ratio": 0.2485,
  "chair_pulls": 164,
  "chair_pulls_by_reason": {"座る": 18, "食事中": 38, "ドリンクバー": 32, "戻って座る": 35, "トイレ": 7, "会計": 17, "退店": 17}
}
```

#### trips.csv

```text
condition_id,aisle_width_m,crowd,robots,seed,robot_id,trip_id,table_id,distance_m,total_s,stopped_s,n_stops,stop_durations_s,stuck,timeout,wait_aisle_s,max_decel_mps2,min_clearance_m,met_robot,table_ids,dishes,dish_ready_s,dish_arrived_s,undelivered,speed_mps,stuck_count,stuck_wait_s,via_narrow,stops_in_narrow,stops_out_narrow,stopped_in_narrow_s,stopped_out_narrow_s
fam_p1_s4_r2_a42,1.2,normal,2,0,1,1,37,12.51,22.35,0.95,1,0.95,0,0,0,0,0.7839,0,37,0,,,0,0.5846,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,2,2,34,11.1,20,0.95,1,0.95,0,0,0,0,0.3,0,34,0,,,0,0.5827,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,1,3,41,21.2101,37.8497,1.4,2,0.95;0.45,0,0,0,1,0.7898,0,41,1,1395.906,1443.353,0,0.5819,0,0,0,0,2,0,1.4
fam_p1_s4_r2_a42,1.2,normal,2,0,1,4,16,13.7375,600.027,572.5338,10,0.95;1.55;12;2.1;0.8;53.9495;1.85;5.2;1.25;4.65,1,1,10.15,1,0.0337,1,16,1,1845.545,1908.506,0,0.4997,5,177.9063,0,0,16,0,394.6964
fam_p1_s4_r2_a42,1.2,normal,2,0,2,5,14,33.6152,600.027,537.6423,12,0.95;0.45;1.15;6.45;3.15;4.2;0.9;0.95;33.3498;1.85;1.15;37.4997,1,1,0,1,-0.0216,1,14,1,1413.273,1458.367,0,0.5388,4,205.4579,0,0,16,0,332.247
fam_p1_s4_r2_a42,1.2,normal,2,0,2,6,24,21.1951,58.0494,20.5,3,0.95;2.35;1.35,0,0,15.85,1,0.1769,1,24,1,2388.575,3014.335,0,0.5645,0,0,0,0,4,0,20.5
fam_p1_s4_r2_a42,1.2,normal,2,0,1,7,23,33.2853,600.027,542.0412,3,0.95;26.0999;32.7998,1,1,0,1,-0.0249,1,23;25;16,1,2369.306,-1,1,0.574,5,182.0065,0,0,8,0,360.0965
fam_p1_s4_r2_a42,1.2,normal,2,0,2,8,23,27.0776,600.027,544.1407,20,0.95;47.7996;2.6;2.8;2.8;2.8;2.8;3.3;2.8;10.45;2.8;2.8;6.95;2.8;2.8;58.2994;3.85;1.8;1.35;42.4496,1,1,0,1,-0.0623,1,23;39,1,3022.443,3105.624,0,0.4845,4,99.0014,0,0,24,0,445.1962
fam_p1_s4_r2_a42,1.2,normal,2,0,2,9,28,46.1498,140.1039,59.8994,5,1.45;0.85;0.7;56.1494;0.75,0,0,0,1,-0.0492,0,28;39;11,2,3064.134;3102.621,3731.385;-1,1,0.5754,0,0,0,0,5,0,59.8994
fam_p1_s4_r2_a42,1.2,normal,2,0,1,10,27,28.6502,234.9597,183.3566,6,0.95;2.3;1.65;1.3;8.45;0.8,1,0,0,1,-0.0357,1,27;20;26,3,2885.359;2893.968;2369.306,3645.901;3645.901;3645.901,0,0.5552,2,47.7996,0,0,8,0,135.5488
fam_p1_s4_r2_a42,1.2,normal,2,0,2,11,29,18.615,32.7998,0.95,1,0.95,0,0,0,0,1.2319,0,29;35,3,3544.953;3102.621;3576.233,3946.845;3946.845;3946.845,0,0.5845,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,2,12,35,11.04,19.9,0.95,1,0.95,0,0,0,0,0.5009,0,35,2,3860.711;3881.031,4029.826;4029.826,0,0.5826,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,2,13,30,17.34,30.3998,0.95,1,0.95,0,0,0,0,0.5232,0,30,1,4067.963,4112.875,0,0.5888,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,2,14,19,21.7501,39.3997,2.05,2,0.95;1.1,0,0,0,1,0.2915,0,19,1,4104.956,4168.108,0,0.5823,0,0,0,0,2,0,2.05
fam_p1_s4_r2_a42,1.2,normal,2,0,2,15,12,36.8701,125.4031,61.1994,5,0.95;2.6;10.85;45.7996;1,0,0,0,1,-0.0268,1,12,1,4168.208,4232.406,0,0.5743,0,0,0,0,5,0,61.1996
fam_p1_s4_r2_a42,1.2,normal,2,0,2,16,36,20.5651,39.5497,3.9,3,0.95;1.3;1.65,0,0,0,1,0.2044,0,36;32,1,4290.528,4440.39,0,0.5769,0,0,0,0,3,0,3.9
fam_p1_s4_r2_a42,1.2,normal,2,0,1,17,3,38.2301,569.1346,501.3011,8,0.95;2.8;1.55;46.4996;0.7;17.85;51.6495;0.7,1,0,0,1,-0.0254,0,3,3,3416.878;3250.466;3385.848,3956.304;3956.304;3956.304,0,0.5636,4,138.4538,0,0,12,0,362.8966
fam_p1_s4_r2_a42,1.2,normal,2,0,2,18,33,16.705,34.3998,4.5,4,0.95;1.1;0.95;1.5,0,0,0,1,0.1903,0,33;32,2,4378.583;4371.56,4529.69;4529.69,0,0.5587,0,0,0,0,4,0,4.5
fam_p1_s4_r2_a42,1.2,normal,2,0,1,19,36,10.32,20.65,2.35,2,0.95;1.4,0,0,0,1,0.0686,0,36,1,3988.486,4580.939,0,0.5639,0,0,0,0,2,0,2.35
fam_p1_s4_r2_a42,1.2,normal,2,0,2,20,31,19.71,35.8997,1.95,2,0.95;1,0,0,0,1,0.1503,0,31,2,4508.872;4466.886,4613.86;4613.86,0,0.5806,0,0,0,0,2,0,1.95
fam_p1_s4_r2_a42,1.2,normal,2,0,1,21,6,11.61,600.027,580.0819,1,0.95,1,1,0,1,-0.0347,0,6,1,4596.279,4641.8,0,0.5821,5,278.9554,0,0,6,0,301.1969
fam_p1_s4_r2_a42,1.2,normal,2,0,2,22,4,58.4996,600.027,487.1046,29,0.95;3.35;3.55;3.55;3.55;2.8;2.8;2.8;2.8;2.8;2.8;3.15;2.8;3.35;24.9999;2.8;2.8;2.8;2.8;2.8;2.8;3.25;3.25;3.35;2.8;2.8;2.8;16.15;38.7497,1,1,0,1,-0.0096,1,4,1,4625.066,4685.778,0,0.5181,4,90.951,0,0,33,0,396.1971
fam_p1_s4_r2_a42,1.2,normal,2,0,2,23,6,107.1901,600.027,377.8813,81,0.95;2.6;2.85;2.85;2.85;4.35;2.8;49.3495;16.6;24.7999;2.75;2.7;2.7;2.65;2.7;2.65;2.7;2.7;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.7;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.7;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.85;3.5;2.7;2.7;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.7;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.65;2.7;2.7;2.7;2.65;2.7;2.65;2.7;1.25,1,1,0,1,-0.0758,1,6;1;4,1,4669.043,-1,1,0.4825,1,17.9,0,0,82,0,359.9989
fam_p1_s4_r2_a42,1.2,normal,2,0,1,24,10,20.8051,600.027,563.386,3,0.95;6.2;0.95,1,1,0,1,-0.2147,1,10;6;5,1,4636.969,-1,1,0.5678,3,375.1819,0,0,6,0,188.2481
fam_p1_s4_r2_a42,1.2,normal,2,0,2,25,5,41.2099,570.6842,495.8524,14,2.15;2;25.7499;0.95;1.75;55.2994;0.05;17.25;0.95;10.5;43.4496;10.2;0.95;52.0495,1,0,0,1,-0.0004,0,5;1;4,3,5069.921;5065.887;4669.043,5906.242;-1;-1,2,0.5507,3,92.451,0,0,17,0,403.4466
fam_p1_s4_r2_a42,1.2,normal,2,0,1,26,37,32.8378,600.027,541.3414,6,0.95;0.55;8.75;55.3994;1.15;0.95,1,1,0,1,0.0018,1,37;38;7,3,5055.08;4636.969;5038.843,5912.168;5912.168;5912.168,0,0.5596,5,173.406,0,0,11,0,367.9963
fam_p1_s4_r2_a42,1.2,normal,2,0,2,27,21,44.4898,76.2001,0.95,1,0.95,0,0,0,0,0.3216,0,21;15;12,3,5480.76;5065.887;4669.043,6549.619;6549.619;6549.619,0,0.5912,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,2,28,13,36.5101,73.2499,9.65,4,0.95;0.45;6.75;1.5,0,0,0,1,0.1839,0,13;11;12,3,6284.259;6228.329;6232.313,6700.377;6700.377;6700.377,0,0.5741,0,0,0,0,4,0,9.65
fam_p1_s4_r2_a42,1.2,normal,2,0,2,29,18,18,37.2497,5.6,3,0.95;4.2;0.45,0,0,0,1,0.2051,0,18,3,6576.961;6508.878;6537.068,6848.198;6848.198;6848.198,0,0.5687,0,0,0,0,3,0,5.6
fam_p1_s4_r2_a42,1.2,normal,2,0,1,30,40,43.6624,322.7447,245.2104,8,0.95;0.9;21.6;0.45;0.95;1;1;1.45,1,0,0,1,-0.0484,0,40;13;15,3,5580.071;5528.573;5518.014,6584.781;6584.781;6584.781,0,0.5631,2,96.8013,0,0,10,0,148.3987
fam_p1_s4_r2_a42,1.2,normal,2,0,2,31,22,27.9302,50.1995,2.55,2,0.95;1.6,0,0,0,1,0.1711,0,22,1,6788.432,6910.254,0,0.5862,0,0,0,0,2,0,2.55
fam_p1_s4_r2_a42,1.2,normal,2,0,2,32,9,43.0499,80.8503,6.9,5,0.95;1.55;1.25;1.15;2,0,0,0,1,0.1277,1,9,1,6890.183,6985.21,0,0.5821,0,0,0,0,5,0,6.9
fam_p1_s4_r2_a42,1.2,normal,2,0,1,33,14,27.5402,108.702,59.4994,6,0.95;1;47.7996;6.65;1.1;2,0,0,0,1,0.1728,1,14,3,6448.167;6336.504;6334.562,6981.126;6981.126;6981.126,0,0.5597,0,0,0,0,6,0,59.4996
fam_p1_s4_r2_a42,1.2,normal,2,0,2,34,29,13.68,24.2999,0.95,1,0.95,0,0,0,0,1.4938,0,29,1,7007.125,7112.611,0,0.5859,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,2,35,28,10.29,18.65,0.95,1,0.95,0,0,0,0,0.6943,0,28,1,7216.802,7265.959,0,0.5814,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,1,36,16,34.9802,112.9523,52.4495,4,0.95;0.9;49.0495;1.55,0,0,0,1,-0.0338,0,16,1,6953.086,7114.354,0,0.5782,0,0,0,0,4,0,52.4495
fam_p1_s4_r2_a42,1.2,normal,2,0,2,37,35,11.04,21.5,2,2,0.95;1.05,0,0,0,1,0.2948,1,35,1,7281.548,7325.078,0,0.5662,0,0,0,0,2,0,2
fam_p1_s4_r2_a42,1.2,normal,2,0,1,38,27,7.95,18.35,3.45,3,0.95;1.5;1,0,0,0,1,0.1391,0,27,1,7200.915,7338.375,0,0.5336,0,0,0,0,3,0,3.45
fam_p1_s4_r2_a42,1.2,normal,2,0,2,39,16,36.5101,73.2499,9.65,5,0.95;1.05;1.55;1.25;4.85,0,0,0,1,0.1058,0,16,1,7330.208,7376.576,0,0.5741,0,0,0,0,5,0,9.65
fam_p1_s4_r2_a42,1.2,normal,2,0,1,40,31,18.15,45.8996,14.55,2,0.95;13.6,0,0,0,1,0.0441,0,31,1,7374.036,7417.266,0,0.579,0,0,0,0,2,0,14.55
fam_p1_s4_r2_a42,1.2,normal,2,0,2,41,25,25.4251,600.027,551.8388,11,0.95;0.95;3.65;2.9;3.8;3.3;2.75;2.75;2.9;36.1997;24.5499,1,1,0,1,0.0012,1,25,1,7397.643,7495.559,0,0.5276,5,166.9556,0,0,16,0,384.9465
fam_p1_s4_r2_a42,1.2,normal,2,0,1,42,27,17.91,600.027,566.8351,6,0.95;14.05;22.6999;0.7;45.3996;34.9998,1,1,0,1,-0.0059,1,27;25,1,7526.388,7597.061,0,0.5396,5,147.8544,0,0,11,0,419.0462
fam_p1_s4_r2_a42,1.2,normal,2,0,2,43,23,3.24,600.027,594.0285,2,0.95;17.3,1,1,0,1,-0.0801,0,23;20;26,1,7528.58,8151.288,0,0.5401,7,155.5049,0,0,9,0,438.5956
fam_p1_s4_r2_a42,1.2,normal,2,0,1,44,14,14.055,600.027,574.6332,3,0.95;21.25;2.05,1,1,0,1,-0.0258,1,14;7,2,7537.644;7545.563,8244.722;8244.722,0,0.5535,5,250.2107,0,0,8,0,324.4968
fam_p1_s4_r2_a42,1.2,normal,2,0,2,45,23,28.9503,56.8494,6.95,2,0.95;6,0,0,0,1,0.1906,1,23;20;26,3,8045.602;8051.828;8081.412,-1;-1;-1,3,0.5802,0,0,0,0,2,0,6.95
fam_p1_s4_r2_a42,1.2,normal,2,0,2,46,34,31.7428,490.2038,432.9678,7,0.95;0.95;2.7;18.7;0.95;1.35;0.75,1,0,0,1,0.0441,1,34;36;13,3,8045.602;8051.828;8081.412,8880.528;8880.528;8880.528,0,0.5546,3,226.5092,0,0,10,0,206.4981
fam_p1_s4_r2_a42,1.2,normal,2,0,2,47,42,14.43,25.5499,0.95,1,0.95,0,0,0,0,0.623,0,42,3,8733.555;8729.222;8798.55,9443.72;9443.72;9443.72,0,0.5866,0,0,0,0,1,0,0.95
fam_p1_s4_r2_a42,1.2,normal,2,0,1,48,32,24.4927,600.027,556.2877,4,0.95;31.8498;18.9;4.85,1,1,0,1,-0.0608,0,32;9;7,2,8232.719;8148.698,8867.43;-1,1,0.56,4,259.6101,0,0,8,0,296.7473
fam_p1_s4_r2_a42,1.2,normal,2,0,2,49,8,35.7027,600.027,533.4433,13,0.95;40.1997;2.9;2.6;2.8;2.8;2.8;0.45;2.6;2.8;1.4;1.25;1.35,1,1,0,1,-0.0544,1,8,1,9430.472,9494.122,0,0.5362,3,288.4531,0,0,16,0,245.0478
fam_p1_s4_r2_a42,1.2,normal,2,0,1,50,6,26.2652,600.027,552.0887,9,0.95;1.3;1.65;33.4498;20.25;1.35;10.35;1.25;45.6496,1,1,0,1,-0.2839,1,6,3,8703.522;8643.757;8148.698,9540.042;9540.042;9540.042,0,0.5479,5,135.7037,0,0,14,0,416.4462
fam_p1_s4_r2_a42,1.2,normal,2,0,1,51,9,22.3201,183.1066,143.7042,4,1.8;50.8495;33.3498;57.6994,0,0,0,1,0.0044,1,9,1,9559.565,10182.27,0,0.5665,0,0,0,0,4,0,143.6987
```

#### stops.csv

```text
condition_id,seed,robot_id,trip_id,t_s,x,z,aisle,in_narrow,cause,cause_detail,path_blocked,duration_s,resolved,clearance_left_cm,clearance_right_cm,min_gap_cm,blocked_s,no_path_s,yield_s,clear_wait_s,replans,solve_from,solve_to,solve_status,solve_corners,off_mesh_m
fam_p1_s4_r2_a42,0,1,1,1395.75,16.9,6.05,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.9;6.05,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,2,1413.1,17.7,6.05,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.7;6.05,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,3,1844.95,16.8574,5.8332,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.857;5.833,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,3,1890.25,21.8423,2.2065,,0,椅子・荷物・ベビーカー,Table40/Chair,0,0.45,自分で動き出した,85.6728,90.6755,85.6728,0,0,0,0.45,0,22.232;2.198,16.738;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2368.2,16.8575,5.8333,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.857;5.833,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2371.7,15.6608,5.923,,0,スタッフとすれ違った,Staff04,0,1.55,自分で動き出した,275,32.8648,32.8648,0.6,0,0,0.95,0,16.857;5.833,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2373.3,15.6583,5.9232,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,275,32.8461,32.8461,60.0494,0,0,0,5,15.658;5.923,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2477.3,15.6583,5.9232,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,275,32.8461,32.8461,60.0494,0,0,0,5,15.658;5.923,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2552.5,15.6583,5.9232,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,275,32.8461,32.8461,60.0494,0,0,0,5,15.658;5.923,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2689.5,15.6583,5.9232,,0,もう1台のロボット,ServingRobot02,0,12,経路を引き直した,275,32.8461,32.8461,11.05,0,0,0.95,1,15.658;5.923,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2701.65,15.6483,5.9239,,0,スタッフとすれ違った,Staff01,0,2.1,自分で動き出した,275,32.7712,32.7712,1.15,0,0,0.95,0,15.658;5.923,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2709.85,12.6886,4.4347,,0,お客さんとすれ違った,,0,0.8,自分で動き出した,275,77.8029,77.8029,0,0,0,0.8,0,12.723;4.449,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2714,11.0154,4.3798,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,233.0022,92.1337,92.1337,60.0494,0,0,0,5,11.015;4.38,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2800.75,11.0154,4.3798,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,233.0022,92.1337,92.1337,60.0494,0,0,0,5,11.015;4.38,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2875.95,11.0154,4.3798,,0,もう1台のロボット,ServingRobot02,0,53.9495,経路を引き直した,233.0022,92.1337,92.1337,52.9995,0,0,0.95,5,11.015;4.38,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2932.05,10.0555,4.3672,,0,もう1台のロボット,ServingRobot02,0,1.85,自分で動き出した,231.7386,18.2873,18.2873,0.9,0,0,0.95,0,11.015;4.38,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2934.65,9.8955,4.3651,,0,スタッフとすれ違った,Staff01,0,5.2,自分で動き出した,231.528,18.4979,18.4979,4.25,0,0,0.95,0,9.896;4.365,6.1;3.2,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2941.35,9.3506,4.1978,,0,お客さんとすれ違った,Guest(Clone),0,1.25,自分で動き出した,225.8218,230.7912,225.8218,0.3,0,0,0.95,0,9.896;4.365,6.1;3.2,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2948.7,6.1911,3.228,,0,通路の順番待ち,先に入っている台：ServingRobot02,0,10.15,入口で待った,182.4995,275,182.4995,0,0,10.15,0,0,6.191;3.228,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,4,2963.6,5.6812,5.6491,A02,0,もう1台のロボット,ServingRobot02,0,4.65,自分で動き出した,53.1255,16.8862,16.8862,4.65,0,0,0,0,5.697;4.524,5.613;10.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2387.45,17.6525,5.8117,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.653;5.812,6.1;3.2,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,5,2397.05,12.9269,4.6766,,0,お客さんとすれ違った,Guest(Clone),0,0.45,自分で動き出した,275,243.4086,243.4086,0,0,0,0.45,0,17.653;5.812,6.1;3.2,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,5,2399.4,12.1373,4.4962,,0,お客さんとすれ違った,Guest(Clone),0,1.15,自分で動き出した,275,6.0677,6.0677,0.2,0,0,0.95,0,17.653;5.812,6.1;3.2,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,5,2418.1,14.1292,5.3954,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,14.129;5.395,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2509,14.1292,5.3954,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,14.129;5.395,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2603.9,14.1292,5.3954,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,14.129;5.395,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2679.1,14.1292,5.3954,,0,人が立ち止まっていた,Staff01,0,6.45,自分で動き出した,275,275,275,5,0,0,1.45,0,14.129;5.395,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2687.25,14.7528,5.6908,,0,もう1台のロボット,ServingRobot01,0,3.15,自分で動き出した,64.5455,275,64.5455,2.2,0,0,0.95,0,14.753;5.691,13.881;5.467,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2692.05,14.9929,5.8216,,0,スタッフとすれ違った,Staff03,0,4.2,自分で動き出した,48.5258,275,48.5258,3.25,0,0,0.95,0,14.993;5.822,14.103;5.686,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2698.6,14.9816,5.8334,,0,もう1台のロボット,ServingRobot01,0,0.9,自分で動き出した,89.2168,275,89.2168,0,0,0,0.9,0,15.078;5.892,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2706.3,11.6228,4.4117,,0,お客さんとすれ違った,Guest(Clone),0,0.95,自分で動き出した,236.2057,13.8392,13.8392,0,0,0,0.95,0,12.658;4.43,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2710.35,10.093,4.3852,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,233.5582,16.4867,16.4867,60.0494,0,0,0,5,10.093;4.385,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2895,10.093,4.3852,,0,お客さんとすれ違った,Guest(Clone),0,33.3498,経路を引き直した,233.5582,16.4867,16.4867,32.3998,0,0,0.95,3,10.093;4.385,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2930.5,9.1331,4.3686,,0,お客さんとすれ違った,Guest(Clone),0,1.85,自分で動き出した,231.897,275,231.897,0.9,0,0,0.95,0,10.093;4.385,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2968.1,5.6248,6.1174,A02,0,もう1台のロボット,ServingRobot01,0,1.15,自分で動き出した,22.5241,47.4802,22.5241,0.2,0,0,0.95,0,5.629;6.567,5.613;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,5,2975.05,7.2748,4.4691,,0,スタッフとすれ違った,Staff02,0,37.4997,経路を引き直した,8.1082,242.0293,8.1082,37.4997,0,0,0,3,7.275;4.469,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,3020.7,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0252,275,30.0252,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,3031.3,10.2523,4.3336,,0,もう1台のロボット,ServingRobot01,0,2.35,自分で動き出した,228.4874,21.6598,21.6598,1.3,0,0,1.05,0,10.252;4.334,9.8;3.1,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,3036.25,9.8341,3.1929,,0,通路の順番待ち,先に入っている台：ServingRobot01,0,15.85,入口で待った,275,275,275,0,0,15.85,0,0,9.834;3.193,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,6,3088.2,10.041,4.4806,,0,スタッフとすれ違った,Staff04,0,1.35,自分で動き出した,7.0182,243.7552,7.0182,0.4,0,0,0.95,0,9.457;4.523,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2968.3,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,2974.15,13.0397,4.645,,0,スタッフとすれ違った,Staff04,0,26.0999,経路を引き直した,275,122.9334,122.9334,25.1499,0,0,0.95,2,13.04;4.645,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,3127.25,9.4391,4.402,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,275,235.3176,235.3176,60.0494,0,0,0,5,9.439;4.402,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,3224.05,9.4391,4.402,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,275,235.3176,235.3176,60.0494,0,0,0,5,9.439;4.402,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,3313.05,9.4391,4.402,,0,人が立ち止まっていた,Staff04,0,32.7998,経路を引き直した,275,235.3176,235.3176,31.8498,0,0,0.95,3,9.439;4.402,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,3347.05,9.8289,4.3901,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,16.0118,234.1278,16.0118,59.5494,0,0,0.5,5,9.829;4.39,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,3430.75,9.8289,4.3901,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,16.0118,234.1278,16.0118,59.9994,0,0,0.05,5,9.829;4.39,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,7,3546.05,9.8289,4.3901,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,16.0118,234.1278,16.0118,60.0494,0,0,0,5,9.829;4.39,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3103.8,17.6518,5.8255,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.652;5.826,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3116.95,11.0409,4.3652,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,231.6823,88.7785,88.7785,60.0494,0,0,0,5,11.041;4.365,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3208.95,11.0409,4.3652,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,231.6823,88.7782,88.7782,60.0494,0,0,0,5,11.041;4.365,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3297.95,11.0409,4.3652,,0,人が立ち止まっていた,Staff04,0,47.7996,経路を引き直した,231.6823,88.7782,88.7782,46.8496,0,0,0.95,4,11.041;4.365,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3347.05,10.5912,4.349,,0,もう1台のロボット,ServingRobot01,0,2.6,自分で動き出した,230.0647,20.1291,20.1291,1.65,0,0,0.95,0,10.591;4.349,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3351.8,10.3213,4.3287,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,227.9285,22.1438,22.1438,1.85,0,0,0.95,0,10.321;4.329,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3357.25,10.2913,4.3183,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,226.8403,23.1709,23.1709,1.85,0,0,0.95,0,10.291;4.318,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3362.75,10.2913,4.3144,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,226.4365,23.565,23.565,1.85,0,0,0.95,0,10.291;4.314,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3368.25,10.2913,4.3129,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,226.2878,23.7124,23.7124,1.85,0,0,0.95,0,10.291;4.313,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3373.1,10.6813,4.3125,,0,お客さんとすれ違った,Guest(Clone),0,3.3,自分で動き出した,275,57.8915,57.8915,2.2,0,0,1.1,0,10.681;4.313,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3378.45,10.2913,4.3122,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,226.2228,23.7772,23.7772,1.85,0,0,0.95,0,10.291;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3383.95,10.2913,4.3121,,0,もう1台のロボット,ServingRobot01,0,10.45,経路を引き直した,226.2085,23.7915,23.7915,9,0,0,1.45,1,10.291;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3397.1,10.2913,4.312,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,226.2031,23.7969,23.7969,1.85,0,0,0.95,0,10.291;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3402.6,10.2913,4.312,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,226.201,23.7989,23.7989,1.85,0,0,0.95,0,10.291;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3408.1,10.2913,4.312,,0,もう1台のロボット,ServingRobot01,0,6.95,自分で動き出した,226.2007,23.7993,23.7993,5.5,0,0,1.45,0,10.291;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3417.75,10.2913,4.312,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,226.2007,23.7993,23.7993,1.85,0,0,0.95,0,10.291;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3423.25,10.2913,4.312,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,226.2007,23.7993,23.7993,1.85,0,0,0.95,0,10.291;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3428.75,10.2913,4.312,,0,もう1台のロボット,ServingRobot01,0,58.2994,経路を引き直した,226.2007,23.7993,23.7993,55.4994,0,0,2.8,5,10.291;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3489.75,10.2913,4.312,,0,もう1台のロボット,ServingRobot01,0,3.85,自分で動き出した,226.2007,23.7993,23.7993,2.5,0,0,1.35,0,10.291;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3495.35,10.8713,4.312,,0,スタッフとすれ違った,Staff04,0,60.0494,動けなくなった,82.4906,275,82.4906,58.1494,0,0,1.9,5,10.871;4.312,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3578.35,10.8713,4.312,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,226.2007,23.7993,23.7993,60.0494,0,0,0,5,10.871;4.312,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3653.55,10.8713,4.312,,0,人が立ち止まっていた,Staff03,0,1.8,自分で動き出した,226.2007,23.7993,23.7993,0.85,0,0,0.95,0,10.871;4.312,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3657.55,9.8813,4.312,,0,お客さんとすれ違った,Guest(Clone),0,1.35,自分で動き出した,226.2003,23.7996,23.7996,0.4,0,0,0.95,0,10.871;4.312,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,8,3686.45,9.5415,4.4882,,0,もう1台のロボット,ServingRobot01,0,42.4496,経路を引き直した,16.8765,275,16.8765,42.4496,0,0,0,4,9.541;4.488,9.738;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,9,3728.95,15.3,5.95,,0,分からない,,0,1.45,自分で動き出した,48.8687,275,48.8687,0.35,0,0,1.1,0,15.3;5.95,13.763;6.013,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,9,3761,13.5787,6.2141,,0,お客さんとすれ違った,Guest(Clone),0,0.85,自分で動き出した,27.8874,135.5143,27.8874,0,0,0,0.85,0,13.252;6.644,16.463;2.413,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,9,3801.95,19.7696,2.2045,,0,椅子・荷物・ベビーカー,Table38/Chair,0,0.7,自分で動き出した,196.2111,34.7572,34.7572,0,0,0,0.7,0,20.02;2.206,17.387;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,9,3826.7,5.8892,4.4078,,0,お客さんとすれ違った,Guest(Clone),0,56.1494,経路を引き直した,147.6808,19.9149,19.9149,55.1994,0,0,0.95,5,5.889;4.408,5.613;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,9,3927.25,8.8626,4.422,,0,スタッフとすれ違った,Staff03,0,0.75,自分で動き出した,275,237.3269,237.3269,0,0,0,0.75,0,5.759;4.519,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,10,3643.55,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0256,275,30.0256,0,0,0,0.95,0,15.3;5.95,13.088;5.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,10,3680.4,10.2289,4.3446,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,230.0179,20.6421,20.6421,59.7994,0,0,0.25,5,10.229;4.345,9.738;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,10,3770.8,10.2289,4.3446,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,230.0179,20.6421,20.6421,60.0494,0,0,0,5,10.229;4.345,9.738;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,10,3848.3,10.2289,4.3446,,0,人が立ち止まっていた,Guest(Clone),0,2.3,自分で動き出した,230.0179,20.6421,20.6421,1.35,0,0,0.95,0,10.229;4.345,9.738;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,10,3889.25,9.3142,11.386,A03,0,スタッフとすれ違った,Staff02,0,1.65,自分で動き出した,46.417,23.5836,23.5836,0.7,0,0,0.95,0,9.324;8.416,9.312;12.038,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,10,3927.3,12.872,10.4996,,0,お客さんとすれ違った,Guest(Clone),0,1.3,自分で動き出した,89.1782,32.9002,32.9002,0.35,0,0,0.95,0,12.544;12.559,13.513;6.413,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,1,10,3933.9,13.3136,7.6841,,0,人が立ち止まっていた,Staff01,0,8.45,自分で動き出した,44.476,77.6023,44.476,7.5,0,0,0.95,0,12.544;12.559,13.513;6.413,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,1,10,3945.8,13.8261,6.0841,,0,スタッフとすれ違った,Staff01,0,0.8,自分で動き出した,27.4736,275,27.4736,0,0,0,0.8,0,13.648;6.221,15.3;4.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,11,3944.2,17.6504,5.8244,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.65;5.824,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,12,4065.2,17.6534,5.8344,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.653;5.834,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,13,4110.15,17.6505,5.8085,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.651;5.809,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4165.7,17.6516,5.8148,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.652;5.815,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,14,4171.05,15.3676,5.8452,,0,お客さんとすれ違った,Guest(Clone),0,1.1,自分で動き出した,275,49.0513,49.0513,0.15,0,0,0.95,0,15.54;5.936,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4288.5,17.651,5.8249,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.651;5.825,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4309.35,6.4221,4.3198,,0,もう1台のロボット,ServingRobot01,0,2.6,自分で動き出した,275,23.0284,23.0284,1.65,0,0,0.95,0,6.422;4.32,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4313.85,6.0131,4.3574,,0,もう1台のロボット,ServingRobot01,0,10.85,経路を引き直した,141.0091,25.4186,25.4186,9.9,0,0,0.95,1,6.013;4.357,5.613;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4367,5.6151,6.4318,A02,0,スタッフとすれ違った,Staff02,0,45.7996,経路を引き直した,23.4859,46.5142,23.4859,44.8496,0,0,0.95,4,5.615;6.432,5.613;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,15,4427.8,12.484,4.3668,,0,スタッフとすれ違った,Staff04,0,1,自分で動き出した,65.7415,275,65.7415,0.05,0,0,0.95,0,12.293;4.327,15.3;4.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,16,4438.95,17.6496,5.8242,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.65;5.824,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,16,4475.3,16.7675,2.3148,,0,椅子・荷物・ベビーカー,Table36/Chair,0,1.3,自分で動き出した,32.8339,86.4231,32.8339,0.35,0,0,0.95,0,16.768;2.315,10.338;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,16,4514.5,11.4896,3.0357,,0,お客さんとすれ違った,Guest(Clone),0,1.65,自分で動き出した,172.4438,113.2867,113.2867,0.7,0,0,0.95,0,10.578;2.578,15.3;4.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,3985.8,16.8525,5.8193,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.853;5.819,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4006.2,5.8959,4.3428,,0,人が立ち止まっていた,Staff01,0,2.8,自分で動き出した,119.2873,275,119.2873,1.85,0,0,0.95,0,12.601;4.398,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4010.15,5.5359,4.3399,,0,人が立ち止まっていた,Staff01,0,1.55,自分で動き出した,118.9901,275,118.9901,0.6,0,0,0.95,0,12.601;4.398,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4012.05,5.4959,4.3395,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,118.957,275,118.957,60.0494,0,0,0,5,5.496;4.34,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4124.55,5.4959,4.3395,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,118.957,275,118.957,60.0494,0,0,0,5,5.496;4.34,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4199.75,5.4959,4.3395,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,118.957,275,118.957,60.0494,0,0,0,5,5.496;4.34,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4274.95,5.4959,4.3395,,0,人が立ち止まっていた,Staff03,0,46.4996,経路を引き直した,118.957,275,118.957,45.5496,0,0,0.95,4,5.496;4.34,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4365.6,2.1093,4.5203,,0,お客さんとすれ違った,,0,0.7,自分で動き出した,157.3482,275,157.3482,0,0,0,0.7,0,2.057;4.521,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4369.7,3.819,4.4856,,0,お客さんとすれ違った,,0,60.0494,動けなくなった,6.4435,133.5954,6.4435,60.0494,0,0,0,5,3.819;4.486,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4485.45,3.819,4.4856,,0,お客さんとすれ違った,Guest(Clone),0,17.85,経路を引き直した,6.4435,133.5954,6.4435,16.9,0,0,0.95,1,3.819;4.486,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4507.75,6.1585,4.4382,,0,スタッフとすれ違った,Staff04,0,51.6495,経路を引き直した,11.1853,275,11.1853,50.6995,0,0,0.95,5,6.158;4.438,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,17,4570.5,12.483,4.3651,,0,スタッフとすれ違った,Staff04,0,0.7,自分で動き出した,65.0112,275,65.0112,0,0,0,0.7,0,12.292;4.325,15.3;4.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,4528.6,17.6511,5.8208,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.651;5.821,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,4594.35,10.5862,2.6124,,0,スタッフとすれ違った,Staff03,0,1.1,自分で動き出した,62.7661,211.3489,62.7661,0.15,0,0,0.95,0,10.577;2.608,15.3;4.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,4597,11.1238,2.8789,,0,スタッフとすれ違った,Staff03,0,0.95,自分で動き出した,189.4323,95.4318,95.4318,0,0,0,0.95,0,10.577;2.608,15.3;4.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,18,4601.35,12.6557,3.6387,,0,お客さんとすれ違った,Guest(Clone),0,1.5,自分で動き出した,104.6305,275,104.6305,0.55,0,0,0.95,0,10.577;2.608,15.3;4.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,4595.45,16.8538,5.8258,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.854;5.826,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,19,4601.25,15.82,4.7231,,0,スタッフとすれ違った,Staff03,0,1.4,自分で動き出した,275,275,275,0.45,0,0,0.95,0,15.523;5.932,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,4624.35,17.6493,5.8192,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.649;5.819,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,20,4630.9,14.7287,5.5092,,0,スタッフとすれ違った,Staff04,0,1,自分で動き出した,275,87.0727,87.0727,0.05,0,0,0.95,0,15.538;5.937,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,4641.15,16.8576,5.833,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.858;5.833,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,4662,5.6299,4.3412,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.1288,275,119.1288,60.0494,0,0,0,5,5.63;4.341,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,4754.2,5.6299,4.3412,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,119.1288,275,119.1288,60.0494,0,0,0,5,5.63;4.341,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,4892.7,5.6299,4.3412,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.1288,275,119.1288,60.0494,0,0,0,5,5.63;4.341,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,4971.45,5.6299,4.3412,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,119.1288,275,119.1288,60.0494,0,0,0,5,5.63;4.341,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,21,5176.45,5.6299,4.3412,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,119.1288,275,119.1288,60.0494,0,0,0,5,5.63;4.341,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4685.3,17.649,5.8232,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.649;5.823,2.4;2.9,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,22,4735.3,6.5542,4.36,,0,もう1台のロボット,ServingRobot01,0,3.35,自分で動き出した,275,19.0039,19.0039,2,0,0,1.35,0,6.554;4.36,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4740.2,6.3442,4.3543,,0,スタッフとすれ違った,Staff03,0,3.55,自分で動き出した,275,20.0762,20.0762,2.5,0,0,1.05,0,6.344;4.354,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4745.65,6.3442,4.348,,0,スタッフとすれ違った,Staff03,0,3.55,自分で動き出した,275,20.7207,20.7207,2.5,0,0,1.05,0,6.344;4.348,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4751.1,6.3442,4.3427,,0,スタッフとすれ違った,Staff03,0,3.55,自分で動き出した,275,21.2695,21.2695,2.5,0,0,1.05,0,6.344;4.343,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4756.9,6.1342,4.3368,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,21.3212,21.3212,1.85,0,0,0.95,0,6.134;4.337,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4762.3,6.1342,4.3314,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,21.862,21.862,1.85,0,0,0.95,0,6.134;4.331,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4767.7,6.1342,4.3272,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,22.285,22.285,1.85,0,0,0.95,0,6.134;4.327,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4773.1,6.1342,4.3238,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,22.6161,22.6161,1.85,0,0,0.95,0,6.134;4.324,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4778.5,6.1342,4.3213,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,22.8748,22.8748,1.85,0,0,0.95,0,6.134;4.321,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4783.9,6.1342,4.3192,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.077,23.077,1.85,0,0,0.95,0,6.134;4.319,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4788.85,6.4042,4.318,,0,もう1台のロボット,ServingRobot01,0,3.15,自分で動き出した,257.5797,29.0872,29.0872,2.2,0,0,0.95,0,6.404;4.318,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4794.15,6.1342,4.3169,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.3073,23.3073,1.85,0,0,0.95,0,6.134;4.317,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4799.55,6.1342,4.3159,,0,もう1台のロボット,ServingRobot01,0,3.35,自分で動き出した,275,23.4149,23.4149,1.9,0,0,1.45,0,6.134;4.316,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4805.5,6.1342,4.315,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,23.499,23.499,57.9494,0,0,2.1,5,6.134;4.315,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4898.8,6.1342,4.315,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,24.9999,経路を引き直した,23.499,275,23.499,23.2499,0,0,1.75,2,6.134;4.315,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4926.4,6.1342,4.3144,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.5644,23.5644,1.85,0,0,0.95,0,6.134;4.314,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4931.8,6.1342,4.3138,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.6155,23.6155,1.85,0,0,0.95,0,6.134;4.314,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4937.2,6.1342,4.3134,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.6557,23.6557,1.85,0,0,0.95,0,6.134;4.313,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4942.6,6.1342,4.3131,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.6869,23.6869,1.85,0,0,0.95,0,6.134;4.313,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4948,6.1342,4.3129,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.7115,23.7115,1.85,0,0,0.95,0,6.134;4.313,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4953.4,6.1342,4.3127,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.7309,23.7309,1.85,0,0,0.95,0,6.134;4.313,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4958.6,6.2542,4.3126,,0,人が立ち止まっていた,Staff01,0,3.25,自分で動き出した,275,23.7447,23.7447,2.3,0,0,0.95,0,6.254;4.313,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4964.05,6.2542,4.3125,,0,人が立ち止まっていた,Staff01,0,3.25,自分で動き出した,275,23.7548,23.7548,2.3,0,0,0.95,0,6.254;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4969.5,6.2542,4.3124,,0,人が立ち止まっていた,Staff01,0,3.35,自分で動き出した,275,23.7632,23.7632,2.4,0,0,0.95,0,6.254;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4975.25,6.1342,4.3123,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.771,23.771,1.85,0,0,0.95,0,6.134;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4980.65,6.1342,4.3122,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.7776,23.7776,1.85,0,0,0.95,0,6.134;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4986.05,6.1342,4.3122,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,275,23.7825,23.7825,1.85,0,0,0.95,0,6.134;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,4991.45,6.1342,4.3121,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,275,23.7863,23.7863,57.5494,0,0,2.5,5,6.134;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,5078.9,6.1342,4.3121,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,23.7863,275,23.7863,57.3494,0,0,2.7,5,6.134;4.312,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,5154.1,6.1342,4.3121,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,23.7863,275,23.7863,57.5494,0,0,2.5,5,6.134;4.312,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,5229.3,6.1342,4.3121,,0,もう1台のロボット,ServingRobot01,0,16.15,経路を引き直した,239.2517,275,239.2517,14,0,0,2.15,1,6.134;4.312,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,22,5246.6,5.7742,4.3121,,0,人が立ち止まっていた,Guest(Clone),0,38.7497,経路を引き直した,116.2124,275,116.2124,38.7497,0,0,0,3,5.774;4.312,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5285.4,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30,30,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5300.35,7.6414,4.362,,0,もう1台のロボット,ServingRobot01,0,2.6,自分で動き出した,231.2133,18.7992,18.7992,1.65,0,0,0.95,0,7.641;4.362,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5304.85,7.2214,4.3548,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,230.4862,19.5245,19.5245,1.9,0,0,0.95,0,7.221;4.355,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5310.3,7.2214,4.3456,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,229.5649,20.4417,20.4417,1.9,0,0,0.95,0,7.221;4.346,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5315.75,7.2214,4.3384,,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,228.8422,21.1618,21.1618,1.9,0,0,0.95,0,7.221;4.338,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5321.2,7.2214,4.3327,,0,もう1台のロボット,ServingRobot01,0,4.35,自分で動き出した,228.2749,21.7276,21.7276,2.8,0,0,1.55,0,7.221;4.333,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5328.15,7.2214,4.3283,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,227.8294,22.1721,22.1721,1.85,0,0,0.95,0,7.221;4.328,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5331,7.2239,4.3283,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,22.1729,227.8286,22.1729,58.0494,0,0,2,5,7.224;4.328,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5408.95,7.2239,4.3283,,0,スタッフとすれ違った,Staff01,0,49.3495,経路を引き直した,22.1729,227.8286,22.1729,47.6496,0,0,1.7,4,7.224;4.328,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5460.65,6.1439,4.3248,,0,お客さんとすれ違った,Guest(Clone),0,16.6,経路を引き直した,275,22.5199,22.5199,15.65,0,0,0.95,1,6.144;4.325,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5484.85,2.0602,4.62,A01,0,もう1台のロボット,ServingRobot01,0,24.7999,経路を引き直した,181.4874,241.953,181.4874,23.8499,0,0,0.95,2,2.06;4.62,2.285;3.748,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5537.2,2.1249,4.7532,A01,0,もう1台のロボット,ServingRobot01,0,2.75,自分で動き出した,67.9841,20.5271,20.5271,1.8,0,0,0.95,0,2.125;4.753,2.52;3.945,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,23,5542.6,2.1819,4.742,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,74.0192,19.8254,19.8254,1.75,0,0,0.95,0,2.17;4.73,2.648;3.972,PathComplete,2,0.0302
fam_p1_s4_r2_a42,0,2,23,5547.85,2.1931,4.7727,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,75.2486,0,0,1.75,0,0,0.95,0,2.15;4.773,2.698;4.028,PathComplete,3,0.0498
fam_p1_s4_r2_a42,0,2,23,5553.15,2.2086,4.7677,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,76.9126,0,0,1.7,0,0,0.95,0,2.17;4.73,2.728;4.033,PathComplete,2,0.0595
fam_p1_s4_r2_a42,0,2,23,5558.45,2.202,4.7819,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2131,0,0,1.75,0,0,0.95,0,2.15;4.782,2.726;4.05,PathComplete,3,0.0577
fam_p1_s4_r2_a42,0,2,23,5563.75,2.2125,4.7712,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.3439,0,0,1.7,0,0,0.95,0,2.171;4.729,2.74;4.042,PathComplete,2,0.0643
fam_p1_s4_r2_a42,0,2,23,5569.05,2.2037,4.7827,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.3996,0,0,1.75,0,0,0.95,0,2.15;4.783,2.73;4.053,PathComplete,3,0.0592
fam_p1_s4_r2_a42,0,2,23,5574.35,2.2024,4.7658,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2486,0,0,1.75,0,0,0.95,0,2.168;4.732,2.713;4.025,PathComplete,2,0.0543
fam_p1_s4_r2_a42,0,2,23,5579.7,2.1985,4.7829,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,75.841,0,0,1.75,0,0,0.95,0,2.15;4.783,2.719;4.049,PathComplete,3,0.0546
fam_p1_s4_r2_a42,0,2,23,5585,2.2098,4.7731,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.0532,0,0,1.7,0,0,0.95,0,2.168;4.732,2.736;4.043,PathComplete,2,0.0637
fam_p1_s4_r2_a42,0,2,23,5590.3,2.2013,4.785,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.1471,0,0,1.75,0,0,0.95,0,2.15;4.785,2.727;4.055,PathComplete,3,0.0571
fam_p1_s4_r2_a42,0,2,23,5595.6,2.2113,4.7735,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.2156,0,0,1.7,0,0,0.95,0,2.169;4.731,2.739;4.045,PathComplete,2,0.065
fam_p1_s4_r2_a42,0,2,23,5600.9,2.2022,4.7847,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2436,0,0,1.75,0,0,0.95,0,2.15;4.785,2.729;4.055,PathComplete,3,0.0579
fam_p1_s4_r2_a42,0,2,23,5606.2,2.212,4.773,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.2928,0,0,1.7,0,0,0.95,0,2.17;4.73,2.74;4.044,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5611.5,2.2029,4.7841,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.3114,0,0,1.75,0,0,0.95,0,2.15;4.784,2.73;4.054,PathComplete,3,0.0585
fam_p1_s4_r2_a42,0,2,23,5616.8,2.2126,4.7724,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.3582,0,0,1.7,0,0,0.95,0,2.17;4.73,2.741;4.044,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5622.1,2.2034,4.7834,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.3748,0,0,1.75,0,0,0.95,0,2.15;4.783,2.73;4.054,PathComplete,3,0.059
fam_p1_s4_r2_a42,0,2,23,5627.4,2.2132,4.7717,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.4212,0,0,1.7,0,0,0.95,0,2.171;4.729,2.742;4.043,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5632.7,2.204,4.7828,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.4369,0,0,1.75,0,0,0.95,0,2.15;4.783,2.731;4.053,PathComplete,3,0.0595
fam_p1_s4_r2_a42,0,2,23,5638,2.2027,4.7657,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2718,0,0,1.75,0,0,0.95,0,2.168;4.732,2.714;4.025,PathComplete,2,0.0544
fam_p1_s4_r2_a42,0,2,23,5643.35,2.1987,4.7828,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,75.8586,0,0,1.75,0,0,0.95,0,2.15;4.783,2.719;4.049,PathComplete,3,0.0547
fam_p1_s4_r2_a42,0,2,23,5648.65,2.21,4.7729,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.0692,0,0,1.7,0,0,0.95,0,2.169;4.731,2.736;4.042,PathComplete,2,0.0637
fam_p1_s4_r2_a42,0,2,23,5653.95,2.2015,4.7848,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.1625,0,0,1.75,0,0,0.95,0,2.15;4.785,2.727;4.054,PathComplete,3,0.0572
fam_p1_s4_r2_a42,0,2,23,5659.25,2.2115,4.7734,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.231,0,0,1.7,0,0,0.95,0,2.169;4.731,2.739;4.044,PathComplete,2,0.065
fam_p1_s4_r2_a42,0,2,23,5664.55,2.2024,4.7846,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2587,0,0,1.75,0,0,0.95,0,2.15;4.785,2.729;4.055,PathComplete,3,0.058
fam_p1_s4_r2_a42,0,2,23,5669.85,2.2122,4.7729,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.3077,0,0,1.7,0,0,0.95,0,2.17;4.73,2.74;4.044,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5675.15,2.203,4.7839,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.326,0,0,1.75,0,0,0.95,0,2.15;4.784,2.73;4.054,PathComplete,3,0.0586
fam_p1_s4_r2_a42,0,2,23,5680.45,2.2128,4.7722,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.3727,0,0,1.7,0,0,0.95,0,2.17;4.73,2.741;4.044,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5685.75,2.2036,4.7833,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.3891,0,0,1.75,0,0,0.95,0,2.15;4.783,2.731;4.054,PathComplete,3,0.0591
fam_p1_s4_r2_a42,0,2,23,5691.05,2.2022,4.7662,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.224,0,0,1.75,0,0,0.95,0,2.168;4.732,2.713;4.025,PathComplete,2,0.0544
fam_p1_s4_r2_a42,0,2,23,5696.4,2.1982,4.7833,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,75.8128,0,0,1.75,0,0,0.95,0,2.15;4.783,2.719;4.049,PathComplete,3,0.0543
fam_p1_s4_r2_a42,0,2,23,5701.7,2.2095,4.7734,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.0232,0,0,1.7,0,0,0.95,0,2.168;4.732,2.735;4.043,PathComplete,2,0.0638
fam_p1_s4_r2_a42,0,2,23,5707,2.201,4.7853,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.1168,0,0,1.75,0,0,0.95,0,2.15;4.785,2.727;4.055,PathComplete,3,0.0568
fam_p1_s4_r2_a42,0,2,23,5712.3,2.211,4.7739,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.1849,0,0,1.7,0,0,0.95,0,2.169;4.731,2.739;4.045,PathComplete,2,0.065
fam_p1_s4_r2_a42,0,2,23,5717.6,2.2019,4.785,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2132,0,0,1.75,0,0,0.95,0,2.15;4.785,2.729;4.055,PathComplete,3,0.0576
fam_p1_s4_r2_a42,0,2,23,5722.9,2.2117,4.7733,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.2623,0,0,1.7,0,0,0.95,0,2.169;4.731,2.74;4.045,PathComplete,2,0.0652
fam_p1_s4_r2_a42,0,2,23,5728.2,2.2026,4.7844,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2813,0,0,1.75,0,0,0.95,0,2.15;4.784,2.729;4.055,PathComplete,3,0.0582
fam_p1_s4_r2_a42,0,2,23,5733.5,2.2124,4.7727,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.328,0,0,1.7,0,0,0.95,0,2.17;4.73,2.741;4.044,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5738.8,2.2032,4.7837,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.345,0,0,1.75,0,0,0.95,0,2.15;4.784,2.73;4.054,PathComplete,3,0.0588
fam_p1_s4_r2_a42,0,2,23,5744.1,2.213,4.772,A01,0,もう1台のロボット,ServingRobot01,0,2.85,自分で動き出した,77.3915,0,0,1.9,0,0,0.95,0,2.17;4.73,2.741;4.044,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5749.45,2.2243,4.6976,A01,0,スタッフとすれ違った,Staff02,0,3.5,自分で動き出した,199.8391,45.0677,45.0677,2.55,0,0,0.95,0,2.213;4.687,2.708;3.939,PathComplete,2,0.0294
fam_p1_s4_r2_a42,0,2,23,5755.4,2.1973,4.7741,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,75.6977,0,0,1.75,0,0,0.95,0,2.15;4.774,2.709;4.034,PathComplete,3,0.0535
fam_p1_s4_r2_a42,0,2,23,5760.7,2.2005,4.7625,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.0392,1.8854,1.8854,1.75,0,0,0.95,0,2.169;4.731,2.706;4.018,PathComplete,2,0.0511
fam_p1_s4_r2_a42,0,2,23,5766.05,2.1982,4.7814,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,75.8067,0,0,1.75,0,0,0.95,0,2.15;4.781,2.717;4.046,PathComplete,3,0.0543
fam_p1_s4_r2_a42,0,2,23,5771.35,2.21,4.7721,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.0696,0,0,1.7,0,0,0.95,0,2.169;4.731,2.735;4.041,PathComplete,2,0.0632
fam_p1_s4_r2_a42,0,2,23,5776.65,2.2017,4.7843,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.1871,0,0,1.75,0,0,0.95,0,2.15;4.784,2.727;4.054,PathComplete,3,0.0574
fam_p1_s4_r2_a42,0,2,23,5781.95,2.2118,4.7729,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.2626,0,0,1.7,0,0,0.95,0,2.169;4.731,2.74;4.044,PathComplete,2,0.0649
fam_p1_s4_r2_a42,0,2,23,5787.25,2.2027,4.7841,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2934,0,0,1.75,0,0,0.95,0,2.15;4.784,2.729;4.054,PathComplete,3,0.0583
fam_p1_s4_r2_a42,0,2,23,5792.55,2.2125,4.7725,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.3439,0,0,1.7,0,0,0.95,0,2.17;4.73,2.741;4.044,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5797.85,2.2033,4.7835,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.3623,0,0,1.75,0,0,0.95,0,2.15;4.784,2.73;4.054,PathComplete,3,0.0589
fam_p1_s4_r2_a42,0,2,23,5803.15,2.2131,4.7718,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.4092,0,0,1.7,0,0,0.95,0,2.171;4.729,2.742;4.043,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5808.45,2.2039,4.7829,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.4257,0,0,1.75,0,0,0.95,0,2.15;4.783,2.731;4.053,PathComplete,3,0.0594
fam_p1_s4_r2_a42,0,2,23,5813.75,2.2026,4.7658,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2608,0,0,1.75,0,0,0.95,0,2.168;4.732,2.714;4.025,PathComplete,2,0.0544
fam_p1_s4_r2_a42,0,2,23,5819.1,2.1986,4.7829,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,75.848,0,0,1.75,0,0,0.95,0,2.15;4.783,2.719;4.049,PathComplete,3,0.0546
fam_p1_s4_r2_a42,0,2,23,5824.4,2.2099,4.7731,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.0586,0,0,1.7,0,0,0.95,0,2.168;4.732,2.736;4.043,PathComplete,2,0.0637
fam_p1_s4_r2_a42,0,2,23,5829.7,2.2014,4.785,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.1521,0,0,1.75,0,0,0.95,0,2.15;4.785,2.727;4.055,PathComplete,3,0.0571
fam_p1_s4_r2_a42,0,2,23,5835,2.2114,4.7735,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.2206,0,0,1.7,0,0,0.95,0,2.169;4.731,2.739;4.045,PathComplete,2,0.065
fam_p1_s4_r2_a42,0,2,23,5840.3,2.2023,4.7847,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2484,0,0,1.75,0,0,0.95,0,2.15;4.785,2.729;4.055,PathComplete,3,0.0579
fam_p1_s4_r2_a42,0,2,23,5845.6,2.2121,4.773,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.2975,0,0,1.7,0,0,0.95,0,2.17;4.73,2.74;4.044,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5850.9,2.2029,4.784,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.3156,0,0,1.75,0,0,0.95,0,2.15;4.784,2.73;4.054,PathComplete,3,0.0585
fam_p1_s4_r2_a42,0,2,23,5856.2,2.2127,4.7723,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.3622,0,0,1.7,0,0,0.95,0,2.17;4.73,2.741;4.044,PathComplete,2,0.0651
fam_p1_s4_r2_a42,0,2,23,5861.5,2.2035,4.7834,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.3788,0,0,1.75,0,0,0.95,0,2.15;4.783,2.73;4.054,PathComplete,3,0.059
fam_p1_s4_r2_a42,0,2,23,5866.8,2.2133,4.7717,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.4251,0,0,1.7,0,0,0.95,0,2.171;4.729,2.742;4.043,PathComplete,2,0.065
fam_p1_s4_r2_a42,0,2,23,5872.1,2.2041,4.7827,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.4412,0,0,1.75,0,0,0.95,0,2.15;4.783,2.731;4.053,PathComplete,3,0.0596
fam_p1_s4_r2_a42,0,2,23,5877.4,2.2027,4.7656,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2763,0,0,1.75,0,0,0.95,0,2.169;4.731,2.714;4.025,PathComplete,2,0.0544
fam_p1_s4_r2_a42,0,2,23,5882.75,2.1987,4.7827,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,75.863,0,0,1.75,0,0,0.95,0,2.15;4.783,2.719;4.049,PathComplete,3,0.0548
fam_p1_s4_r2_a42,0,2,23,5888.05,2.21,4.7729,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.0737,0,0,1.7,0,0,0.95,0,2.169;4.731,2.736;4.042,PathComplete,2,0.0637
fam_p1_s4_r2_a42,0,2,23,5893.35,2.2015,4.7848,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.1674,0,0,1.75,0,0,0.95,0,2.15;4.785,2.727;4.054,PathComplete,3,0.0573
fam_p1_s4_r2_a42,0,2,23,5898.65,2.2115,4.7733,A01,0,もう1台のロボット,ServingRobot01,0,2.65,自分で動き出した,77.2359,0,0,1.7,0,0,0.95,0,2.169;4.731,2.739;4.044,PathComplete,2,0.065
fam_p1_s4_r2_a42,0,2,23,5903.95,2.2024,4.7845,A01,0,もう1台のロボット,ServingRobot01,0,2.7,自分で動き出した,76.2637,0,0,1.75,0,0,0.95,0,2.15;4.784,2.729;4.055,PathComplete,3,0.0581
fam_p1_s4_r2_a42,0,2,23,5909.25,2.2122,4.7728,A01,0,もう1台のロボット,ServingRobot01,0,1.25,自分で動き出した,77.313,0,0,1.25,0,0,0,0,2.562;4.286,1.912;6.812,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,1,24,5241.25,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0019,30.0019,0,0,0,0.95,0,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,5256.4,7.5187,4.3401,,0,人が立ち止まっていた,Staff01,0,6.2,自分で動き出した,229.049,20.9942,20.9942,5.25,0,0,0.95,0,12.663;4.427,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,5264.5,6.7088,4.3264,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,22.37,22.37,59.8494,0,0,0.2,5,6.709;4.326,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,5393.85,6.7088,4.3264,,0,スタッフとすれ違った,Staff04,0,0.95,自分で動き出した,275,22.37,22.37,0,0,0,0.95,0,6.709;4.326,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,5490.45,1.9151,5.1826,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,23.4954,46.5164,23.4954,59.4494,0,0,0.6,5,1.915;5.183,1.913;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,24,5769.35,1.9151,5.1826,A01,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,23.4912,46.5101,23.4912,50.1495,0,0,9.9,5,1.915;5.183,1.913;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,5910.55,15.3,5.95,,0,分からない,,0,2.15,自分で動き出した,275,275,275,0.9,0,0,1.25,0,15.3;5.95,2.4;2.9,PathComplete,4,0.025
fam_p1_s4_r2_a42,0,2,25,5917.2,13.1972,4.8688,,0,スタッフとすれ違った,Staff02,0,2,自分で動き出した,275,121.3553,121.3553,1.05,0,0,0.95,0,13.422;5.044,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,5932.55,5.6673,4.3472,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,119.7236,275,119.7236,60.0494,0,0,0,5,5.667;4.347,2.4;2.9,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6029.8,5.6673,4.3472,,0,分からない,,0,25.7499,経路を引き直した,254.7036,164.4533,164.4533,24.7499,0,0,1,2,5.667;4.347,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6056.1,5.5773,4.3463,,0,お客さんとすれ違った,,0,60.0494,動けなくなった,119.6333,275,119.6333,60.0494,0,0,0,5,5.577;4.346,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6142.55,5.5773,4.3463,,0,分からない,,0,0.95,自分で動き出した,119.6333,275,119.6333,0,0,0,0.95,0,5.577;4.346,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6143.55,5.5748,4.3462,,0,スタッフとすれ違った,Staff03,0,1.75,自分で動き出した,119.6308,275,119.6308,0.8,0,0,0.95,0,5.577;4.346,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6146.7,5.0648,4.3411,,0,お客さんとすれ違った,Guest(Clone),0,55.2994,経路を引き直した,119.1191,275,119.1191,54.3495,0,0,0.95,5,5.065;4.341,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6232.8,1.9943,4.7433,A01,0,通路の幅が足りない,経路なし：ふさいでいるものが見つからない,1,0.05,自分で動き出した,188.1028,18.3457,18.3457,0,0.05,0,0,0,1.994;4.743,1.912;10.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6302.3,2.2801,4.5286,,0,人が立ち止まっていた,Staff02,0,17.25,経路を引き直した,275,275,275,16.3,0,0,0.95,1,2.28;4.529,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6322.05,3.4498,4.5037,,0,スタッフとすれ違った,Staff02,0,0.95,自分で動き出した,4.6369,135.406,4.6369,0,0,0,0.95,0,2.28;4.529,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6325.9,4.8595,4.4737,,0,人が立ち止まっていた,Guest(Clone),0,10.5,経路を引き直した,7.6359,132.407,7.6359,9.55,0,0,0.95,1,4.86;4.474,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6337.6,5.2494,4.4654,,0,お客さんとすれ違った,Guest(Clone),0,43.4496,経路を引き直した,275,131.5777,131.5777,42.4996,0,0,0.95,4,5.249;4.465,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6381.4,5.2894,4.4646,,0,人が立ち止まっていた,Guest(Clone),0,10.2,経路を引き直した,275,131.4927,131.4927,9.25,0,0,0.95,1,5.289;4.465,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6391.85,5.3119,4.4641,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,275,131.4449,131.4449,60.0494,0,0,0,5,5.312;4.464,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6480.75,5.3119,4.4641,,0,分からない,,0,0.95,自分で動き出した,275,131.4449,131.4449,0,0,0,0.95,0,5.312;4.464,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,25,6485.2,7.0815,4.4265,,0,お客さんとすれ違った,Guest(Clone),0,52.0495,経路を引き直した,12.3628,237.705,12.3628,51.0995,0,0,0.95,5,7.082;4.426,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,5916.5,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,5979.5,18.5617,2.1931,,0,椅子・荷物・ベビーカー,Table37/Chair,0,0.55,自分で動き出した,84.3123,35.6903,35.6903,0,0,0,0.55,0,18.922;2.195,17.637;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,6001.15,6.3385,3.7632,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,79.6334,79.6334,60.0494,0,0,0,5,6.339;3.763,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,6138.1,6.3385,3.7632,,0,人が立ち止まっていた,Staff02,0,8.75,自分で動き出した,275,79.6334,79.6334,7.8,0,0,0.95,0,6.339;3.763,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,6148.2,5.8629,3.8281,,0,もう1台のロボット,ServingRobot02,0,55.3994,経路を引き直した,68.6646,150.5789,68.6646,54.4495,0,0,0.95,5,5.863;3.828,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,6204.05,5.801,3.8365,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,69.5164,196.4392,69.5164,60.0494,0,0,0,5,5.801;3.837,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,6289.75,5.801,3.8365,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,69.5164,196.4392,69.5164,60.0494,0,0,0,5,5.801;3.837,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,6365.6,5.801,3.8365,,0,スタッフとすれ違った,Staff02,0,1.15,自分で動き出した,69.5164,196.4392,69.5164,0.2,0,0,0.95,0,5.801;3.837,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,6368,5.3848,3.8932,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,75.2404,275,75.2404,60.0494,0,0,0,5,5.385;3.893,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,6464.35,5.3848,3.8932,,0,分からない,,0,0.95,自分で動き出した,75.2404,275,75.2404,0,0,0,0.95,0,5.385;3.893,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,26,6512.9,3.8445,4.4812,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,6.8904,133.1462,6.8904,60.0494,0,0,0,5,3.844;4.481,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,27,6556.45,17.6548,5.8279,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.655;5.828,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,28,6707.8,17.6501,5.8242,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.65;5.824,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,28,6729.95,5.7481,4.5895,,0,人が立ち止まっていた,Guest(Clone),0,0.45,自分で動き出した,275,36.7521,36.7521,0,0,0,0.45,0,5.761;4.554,5.613;4.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,28,6831.35,8.9518,4.4203,,0,お客さんとすれ違った,Guest(Clone),0,6.75,自分で動き出した,275,237.1595,237.1595,5.8,0,0,0.95,0,5.758;4.521,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,28,6844.7,12.5736,4.3891,,0,お客さんとすれ違った,Guest(Clone),0,1.5,自分で動き出した,110.7847,275,110.7847,0.55,0,0,0.95,0,12.265;4.326,15.3;4.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,6856.2,17.6502,5.8242,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.65;5.824,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,6900.5,10.9016,4.4212,,0,お客さんとすれ違った,Guest(Clone),0,4.2,自分で動き出した,12.9742,237.7583,12.9742,3.25,0,0,0.95,0,9.48;4.521,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,29,6906.45,11.6198,4.371,,0,人が立ち止まっていた,Guest(Clone),0,0.45,自分で動き出した,18.009,232.7235,18.009,0,0,0,0.45,0,9.48;4.521,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,6591.75,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0106,275,30.0106,0,0,0,0.95,0,15.3;5.95,16.363;2.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,6599.2,16.407,2.5645,,0,スタッフとすれ違った,Staff03,0,0.9,自分で動き出した,22.551,275,22.551,0,0,0,0.9,0,16.297;2.726,16.562;2.337,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,6600.75,16.4973,2.4841,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,27.0538,172.2749,27.0538,60.0494,0,0,0,5,16.497;2.484,16.738;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,6730.8,16.4973,2.4841,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,27.0539,172.2751,27.0539,60.0494,0,0,0,5,16.497;2.484,16.738;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,6817.65,16.4973,2.4841,,0,人が立ち止まっていた,Staff03,0,21.6,経路を引き直した,27.0539,172.2751,27.0539,20.65,0,0,0.95,2,16.497;2.484,16.738;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,6873.5,20.7257,2.2114,,0,椅子・荷物・ベビーカー,Table39/Chair,0,0.45,自分で動き出した,86.17,33.8835,33.8835,0,0,0,0.45,0,21.116;2.202,16.713;2.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,6881.1,16.77,2.3409,,0,人が立ち止まっていた,Staff01,0,0.95,自分で動き出した,152.5562,21.674,21.674,0,0,0,0.95,0,16.962;2.306,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,6899.4,6.8551,4.1577,,0,スタッフとすれ違った,Staff03,0,1,自分で動き出した,275,40.3003,40.3003,0.05,0,0,0.95,0,16.962;2.306,6.013;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,6969.25,7.3021,4.4739,,0,スタッフとすれ違った,Staff03,0,1,自分で動き出した,275,242.5261,242.5261,0.05,0,0,0.95,0,5.758;4.523,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,30,6971,7.462,4.4688,,0,スタッフとすれ違った,Staff01,0,1.45,自分で動き出した,8.1352,242.0167,8.1352,0.5,0,0,0.95,0,5.758;4.523,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,31,6918.5,17.65,5.8242,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.65;5.824,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,31,6970.4,11.2144,12.6833,,0,スタッフとすれ違った,Staff02,0,1.6,自分で動き出した,275,23.3316,23.3316,0.65,0,0,0.95,0,9.624;12.677,12.363;12.688,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,7015.75,17.647,5.8121,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.647;5.812,6.1;3.2,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,2,32,7057.65,11.4121,4.3875,,0,スタッフとすれ違った,Staff03,0,1.55,自分で動き出した,233.7747,16.2531,16.2531,0.6,0,0,0.95,0,12.597;4.404,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,7094.4,5.6956,4.7308,,0,もう1台のロボット,ServingRobot01,0,1.25,自分で動き出した,275,17.9427,17.9427,0.3,0,0,0.95,0,5.696;4.731,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,7098.8,7.1135,4.4795,,0,お客さんとすれ違った,Guest(Clone),0,1.15,自分で動き出した,7.0658,243.0854,7.0658,0.2,0,0,0.95,0,5.779;4.522,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,32,7103.7,9.0325,4.4186,,0,お客さんとすれ違った,Guest(Clone),0,2,自分で動き出した,275,236.988,236.988,1.05,0,0,0.95,0,5.779;4.522,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,6989.65,16.8496,5.8223,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.85;5.822,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,6995.05,14.6323,5.449,,0,スタッフとすれ違った,Staff03,0,1,自分で動き出した,275,93.6618,93.6618,0.05,0,0,0.95,0,15.549;5.929,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,7009.15,7.355,4.3368,,0,スタッフとすれ違った,Staff01,0,47.7996,経路を引き直した,228.7172,275,228.7172,46.8496,0,0,0.95,4,7.355;4.337,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,7090.55,5.6208,5.6528,A02,0,もう1台のロボット,ServingRobot02,0,6.65,自分で動き出した,22.9223,47.082,22.9223,5.7,0,0,0.95,0,5.629;6.583,5.613;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,7100.4,6.1917,4.5146,,0,もう1台のロボット,ServingRobot02,0,1.1,自分で動き出した,3.5546,275,3.5546,0.15,0,0,0.95,0,5.757;4.529,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,33,7105.25,8.1107,4.4526,,0,もう1台のロボット,ServingRobot02,0,2,自分で動き出した,9.7573,240.3992,9.7573,1.05,0,0,0.95,0,5.757;4.529,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,34,7226.25,17.655,5.8281,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.655;5.828,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,35,7291.25,17.6513,5.8146,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.651;5.815,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,7210.3,16.8541,5.8261,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.854;5.826,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,7218.35,13.23,4.7177,,0,お客さんとすれ違った,Guest(Clone),0,0.9,自分で動き出した,275,173.7237,173.7237,0,0,0,0.9,0,15.523;5.932,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,7226.9,9.0471,4.353,,0,スタッフとすれ違った,Staff02,0,49.0495,経路を引き直した,230.3234,275,230.3234,48.0996,0,0,0.95,4,9.047;4.353,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,36,7332.35,9.1633,4.411,,0,お客さんとすれ違った,Guest(Clone),0,1.55,自分で動き出した,275,236.2252,236.2252,0.6,0,0,0.95,0,5.76;4.516,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,7340.1,17.6498,5.8139,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.65;5.814,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,37,7345.8,15.5732,5.5327,,0,もう1台のロボット,ServingRobot01,0,1.05,自分で動き出した,275,275,275,0.1,0,0,0.95,0,15.538;5.936,15.862;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,7384.1,16.855,5.8263,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.855;5.826,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,7387.25,15.8681,5.9048,,0,スタッフとすれ違った,Staff02,0,1.5,自分で動き出した,275,34.7068,34.7068,0.55,0,0,0.95,0,16.855;5.826,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,38,7419.55,13.708,5.7672,,0,スタッフとすれ違った,Staff04,0,1,自分で動き出した,57.3722,275,57.3722,0.05,0,0,0.95,0,13.334;5.959,15.3;4.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,7407.8,17.6505,5.8084,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.651;5.808,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,7415.35,14.1996,5.2283,,0,スタッフとすれ違った,Staff04,0,1.05,自分で動き出した,275,275,275,0.1,0,0,0.95,0,15.539;5.936,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,7419.8,12.6853,4.4346,,0,お客さんとすれ違った,Guest(Clone),0,1.55,自分で動き出した,275,76.084,76.084,0.6,0,0,0.95,0,12.734;4.455,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,7423.4,11.7921,4.3896,,0,お客さんとすれ違った,Guest(Clone),0,1.25,自分で動き出した,233.9862,16.0395,16.0395,0.3,0,0,0.95,0,12.602;4.4,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,39,7482.3,7.2098,4.4837,,0,お客さんとすれ違った,Guest(Clone),0,4.85,自分で動き出した,6.652,243.5128,6.652,3.9,0,0,0.95,0,5.756;4.532,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,7537.05,16.8502,5.8152,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.85;5.815,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,40,7584.45,11.8639,4.0559,,0,人が立ち止まっていた,Staff02,0,13.6,経路を引き直した,56.1264,275,56.1264,12.65,0,0,0.95,1,11.864;4.056,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7539.25,17.6493,5.8239,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.649;5.824,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7549.3,12.872,4.5278,,0,お客さんとすれ違った,Guest(Clone),0,0.95,自分で動き出した,275,97.3616,97.3616,0,0,0,0.95,0,15.537;5.937,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7597.55,10.9706,4.4104,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,14.0549,236.667,14.0549,60.0494,0,0,0,5,10.971;4.41,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7679.3,10.9706,4.4104,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,14.0549,236.667,14.0549,60.0494,0,0,0,5,10.971;4.41,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7781.65,10.9706,4.4104,,0,スタッフとすれ違った,Staff04,0,3.65,自分で動き出した,14.0549,236.667,14.0549,2.7,0,0,0.95,0,10.971;4.41,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7787,11.2704,4.3708,,0,お客さんとすれ違った,Guest(Clone),0,2.9,自分で動き出した,17.9796,232.4353,17.9796,1.95,0,0,0.95,0,11.27;4.371,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7791.65,11.0606,4.3479,,0,スタッフとすれ違った,Staff03,0,3.8,自分で動き出した,48.4794,275,48.4794,2.7,0,0,1.1,0,11.061;4.348,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7796.8,11.0306,4.3376,,0,スタッフとすれ違った,Staff04,0,3.3,自分で動き出した,72.3136,275,72.3136,2.15,0,0,1.15,0,11.031;4.338,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7802.1,11.4506,4.3248,,0,もう1台のロボット,ServingRobot01,0,2.75,自分で動き出した,22.5222,227.5058,22.5222,1.8,0,0,0.95,0,11.451;4.325,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7807.55,11.4506,4.317,,0,もう1台のロボット,ServingRobot01,0,2.75,自分で動き出した,23.3008,226.7035,23.3008,1.8,0,0,0.95,0,11.451;4.317,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7813,11.4506,4.3139,,0,もう1台のロボット,ServingRobot01,0,2.9,自分で動き出した,23.6053,226.3953,23.6053,1.95,0,0,0.95,0,11.451;4.314,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7818.6,11.4506,4.3128,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,23.724,226.276,23.724,57.2994,0,0,2.75,5,11.451;4.313,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,7935.65,11.4506,4.3128,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,226.276,23.724,23.724,56.8994,0,0,3.15,5,11.451;4.313,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,8014.45,11.4506,4.3128,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,36.1997,経路を引き直した,226.276,23.724,23.724,34.3998,0,0,1.8,3,11.451;4.313,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,8052.55,12.0806,4.3122,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,23.7783,226.2218,23.7783,60.0494,0,0,0,5,12.081;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,41,8139.8,12.0806,4.3122,,0,人が立ち止まっていた,Staff04,0,24.5499,経路を引き直した,23.7783,226.2218,23.7783,24.5499,0,0,0,2,12.081;4.312,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,7608,16.8491,5.8211,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,16.849;5.821,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,7643.85,12.3818,4.4845,,0,人が立ち止まっていた,Staff02,0,60.0494,動けなくなった,275,100.6665,100.6665,60.0494,0,0,0,5,12.382;4.484,9.738;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,7726.35,12.3818,4.4845,,0,スタッフとすれ違った,Staff02,0,14.05,経路を引き直した,275,100.6665,100.6665,13.1,0,0,0.95,1,12.382;4.484,9.738;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,7741.75,11.9028,4.4532,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,240.8888,9.749,9.749,59.8494,0,0,0.2,5,11.903;4.453,9.738;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,7854.8,11.9028,4.4532,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,240.8888,9.749,9.749,60.0494,0,0,0,5,11.903;4.453,9.738;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,7945.1,11.9028,4.4532,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,240.8888,9.749,9.749,60.0494,0,0,0,5,11.903;4.453,9.738;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,8030.25,11.9028,4.4532,,0,もう1台のロボット,ServingRobot02,0,22.6999,経路を引き直した,240.8888,9.749,9.749,21.75,0,0,0.95,2,11.903;4.453,9.738;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,8057.6,9.5231,4.5106,,0,お客さんとすれ違った,Guest(Clone),0,0.7,自分で動き出した,275,135.3378,135.3378,0,0,0,0.7,0,9.528;4.458,9.312;8.662,PathComplete,3,0.025
fam_p1_s4_r2_a42,0,1,42,8098.95,10.486,4.457,,0,人が立ち止まっていた,Staff01,0,45.3996,経路を引き直した,9.4027,241.4675,9.4027,44.1496,0,0,1.25,4,10.486;4.457,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,8146.05,11.174,4.4045,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,14.6615,236.2086,14.6615,59.2494,0,0,0.8,5,11.174;4.405,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,42,8223.15,11.174,4.4045,,0,スタッフとすれ違った,Staff03,0,34.9998,経路を引き直した,14.6615,236.2086,14.6615,34.9998,0,0,0,3,11.174;4.405,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,8164.4,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30,275,30,0,0,0,0.95,0,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,8171.3,12.4681,4.4202,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,12.468;4.42,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,8253.601,12.4681,4.4202,,0,スタッフとすれ違った,Staff03,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,12.468;4.42,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,8328.8,12.4681,4.4202,,0,人が立ち止まっていた,Staff03,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,12.468;4.42,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,8446.2,12.4681,4.4202,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,12.468;4.42,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,8521.4,12.4681,4.4202,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,12.468;4.42,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,8596.601,12.4681,4.4202,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,12.468;4.42,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,8671.95,12.4681,4.4202,,0,人が立ち止まっていた,Staff04,0,60.0494,動けなくなった,275,275,275,60.0494,0,0,0,5,12.468;4.42,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,43,8747.15,12.4681,4.4202,,0,人が立ち止まっていた,Staff04,0,17.3,経路を引き直した,275,275,275,17.3,0,0,0,1,12.468;4.42,9.562;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,8258.2,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.1595,275,30.1595,0,0,0,0.95,0,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,8262.351,13.923,5.155,,0,人が立ち止まっていた,Staff01,0,21.25,経路を引き直した,275,275,275,20.3,0,0,0.95,2,13.923;5.155,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,8285.351,13.2995,4.795,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,174.8911,174.8911,60.0494,0,0,0,5,13.299;4.795,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,8381.8,13.2995,4.795,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,174.8912,174.8912,60.0494,0,0,0,5,13.299;4.795,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,8457,13.2995,4.795,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,174.8912,174.8912,60.0494,0,0,0,5,13.299;4.795,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,8532.2,13.2995,4.795,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,275,174.8912,174.8912,60.0494,0,0,0,5,13.299;4.795,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,8770.05,13.2995,4.795,,0,スタッフとすれ違った,Staff04,0,2.05,自分で動き出した,275,174.8912,174.8912,1.1,0,0,0.95,0,13.299;4.795,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,44,8817.55,5.2894,4.597,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,275,19.0885,19.0885,60.0494,0,0,0,5,5.289;4.597,5.138;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,8764.5,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,30.0381,30.0381,0,0,0,0.95,0,15.3;5.95,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,45,8768.3,14.1049,5.26,,0,もう1台のロボット,ServingRobot01,0,6,自分で動き出した,275,275,275,3.35,0,0,2.65,0,14.105;5.26,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,46,8896.5,17.6474,5.8122,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.647;5.812,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,46,8960.8,16.5284,2.2612,,0,スタッフとすれ違った,Staff02,0,0.95,自分で動き出した,178.6486,41.069,41.069,0,0,0,0.95,0,16.727;2.222,5.863;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,46,8979.5,6.3988,4.2337,,0,もう1台のロボット,,0,2.7,自分で動き出した,131.3042,32.6968,32.6968,1.75,0,0,0.95,0,6.399;4.234,16.963;2.188,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,46,8984,5.9987,4.3472,,0,もう1台のロボット,ServingRobot01,0,60.0494,動けなくなった,140.6514,26.8233,26.8233,60.0494,0,0,0,5,5.999;4.347,5.613;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,46,9108.8,5.9987,4.3472,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,140.6514,26.8233,26.8233,60.0494,0,0,0,5,5.999;4.347,5.613;4.562,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,46,9295.601,5.9987,4.3472,,0,もう1台のロボット,道をゆずって下がった：ServingRobot01,0,60.0494,動けなくなった,140.6514,26.8233,26.8233,60.0494,0,0,0,5,5.999;4.347,5.613;4.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,46,9390.65,5.9987,4.3472,,0,お客さんとすれ違った,Guest(Clone),0,18.7,経路を引き直した,247.3393,60.2002,60.2002,17.75,0,0,0.95,1,5.999;4.347,5.613;4.962,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,46,9436.45,5.8213,4.549,,0,人が立ち止まっていた,Staff01,0,0.95,自分で動き出した,38.9714,275,38.9714,0,0,0,0.95,0,5.796;4.55,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,46,9439.65,6.8406,4.5122,,0,スタッフとすれ違った,Staff04,0,1.35,自分で動き出した,3.7967,275,3.7967,0.4,0,0,0.95,0,5.796;4.55,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,46,9451.851,13.0018,4.475,,0,スタッフとすれ違った,Staff02,0,0.75,自分で動き出した,275,275,275,0,0,0,0.75,0,12.282;4.326,15.3;4.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,47,9461.9,17.6542,5.8274,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.654;5.827,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,48,8883.351,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,275,92.2483,92.2483,0,0,0,0.95,0,15.3;5.95,10.338;2.588,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,48,8954.351,5.5243,4.6291,,0,人が立ち止まっていた,Guest(Clone),0,31.8498,経路を引き直した,275,73.3981,73.3981,30.8998,0,0,0.95,3,5.524;4.629,5.138;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,48,8986.851,5.4296,4.5514,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,275,58.4747,58.4747,60.0494,0,0,0,5,5.43;4.551,5.138;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,48,9153.65,5.4296,4.5514,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,275,58.4747,58.4747,60.0494,0,0,0,5,5.43;4.551,5.138;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,48,9299.3,5.4296,4.5514,,0,人が立ち止まっていた,Guest(Clone),0,18.9,経路を引き直した,275,58.4747,58.4747,17.95,0,0,0.95,1,5.43;4.551,5.138;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,48,9319.25,5.1586,4.4558,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,130.7806,275,130.7806,60.0494,0,0,0,5,5.159;4.456,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,48,9402.101,5.1586,4.4558,,0,人が立ち止まっていた,Staff03,0,4.85,自分で動き出した,130.7806,275,130.7806,3.9,0,0,0.95,0,5.159;4.456,2.312;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,48,9454.05,3.8402,4.4946,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,5.5483,134.4942,5.5483,60.0494,0,0,0,5,3.84;4.495,12.463;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,9529.101,17.6475,5.8056,,0,分からない,,0,0.95,自分で動き出した,275,275,275,0,0,0,0.95,0,17.648;5.806,15.3;5.95,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,9551,5.789,4.3441,,0,人が立ち止まっていた,Guest(Clone),0,40.1997,経路を引き直した,119.4131,275,119.4131,39.2497,0,0,0.95,4,5.789;4.344,2.4;2.9,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,9592.5,5.3751,4.1677,,0,お客さんとすれ違った,Guest(Clone),0,60.0494,動けなくなった,112.7961,96.1862,96.1862,60.0494,0,0,0,5,5.375;4.168,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,9688.351,5.3751,4.1677,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,101.8955,275,101.8955,60.0494,0,0,0,5,5.375;4.168,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,9960.351,5.3751,4.1677,,0,人が立ち止まっていた,Guest(Clone),0,60.0494,動けなくなった,101.8955,275,101.8955,60.0494,0,0,0,5,5.375;4.168,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10061.1,5.3751,4.1677,,0,人が立ち止まっていた,Guest(Clone),0,2.9,自分で動き出した,101.8955,275,101.8955,1.95,0,0,0.95,0,5.375;4.168,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10109.7,1.9155,7.5141,A01,0,もう1台のロボット,ServingRobot01,0,2.6,自分で動き出した,23.4536,46.5465,23.4536,1.65,0,0,0.95,0,1.915;7.514,1.912;10.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10114.2,1.9148,7.0941,A01,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,23.5225,46.4775,23.5225,1.85,0,0,0.95,0,1.915;7.094,1.912;10.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10119.6,1.914,7.0941,A01,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,23.5988,46.4013,23.5988,1.85,0,0,0.95,0,1.914;7.094,1.912;10.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10125,1.9135,7.0941,A01,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,23.6484,46.3516,23.6484,1.85,0,0,0.95,0,1.914;7.094,1.912;10.513,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10129.55,1.9134,6.4791,A01,0,もう1台のロボット,,0,0.45,自分で動き出した,23.6644,46.3357,23.6644,0,0,0,0.45,0,1.913;7.147,1.913;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10136.5,3.6342,4.4855,,0,もう1台のロボット,ServingRobot01,0,2.6,自分で動き出した,275,133.5802,133.5802,1.65,0,0,0.95,0,3.634;4.485,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10141,4.0555,4.4523,,0,もう1台のロボット,ServingRobot01,0,2.8,自分で動き出した,9.7748,130.2521,9.7748,1.85,0,0,0.95,0,4.055;4.452,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10146.45,4.0871,4.4,,0,もう1台のロボット,ServingRobot01,0,1.4,自分で動き出した,15.0029,125.0078,15.0029,0.45,0,0,0.95,0,3.442;4.407,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10148.5,4.2096,4.3987,,0,もう1台のロボット,ServingRobot01,0,1.25,自分で動き出した,15.1327,124.878,15.1327,0.3,0,0,0.95,0,3.442;4.407,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,2,49,10152.3,5.4095,4.386,,0,スタッフとすれ違った,Staff02,0,1.35,自分で動き出した,275,123.6057,123.6057,0.4,0,0,0.95,0,3.442;4.407,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,9578.2,15.3,5.95,,0,分からない,,0,0.95,自分で動き出した,30.0123,275,30.0123,0,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,9580.9,14.6768,5.5895,,0,スタッフとすれ違った,Staff04,0,1.3,自分で動き出した,275,80.1819,80.1819,0.35,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,9586.3,12.833,4.5231,,0,お客さんとすれ違った,Guest(Clone),0,1.65,自分で動き出した,275,81.4491,81.4491,0.7,0,0,0.95,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,9599.45,6.2915,4.3496,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,20.0384,20.0384,60.0494,0,0,0,5,6.292;4.35,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,9679.05,6.2915,4.3496,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,20.0384,20.0384,60.0494,0,0,0,5,6.292;4.35,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,9789.601,6.2915,4.3496,,0,スタッフとすれ違った,Staff01,0,60.0494,動けなくなった,275,20.0384,20.0384,60.0494,0,0,0,5,6.292;4.35,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,9884.45,6.2915,4.3496,,0,人が立ち止まっていた,Staff01,0,60.0494,動けなくなった,275,20.0384,20.0384,60.0494,0,0,0,5,6.292;4.35,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,9959.65,6.2915,4.3496,,0,もう1台のロボット,ServingRobot02,0,60.0494,動けなくなった,275,20.0384,20.0384,60.0494,0,0,0,5,6.292;4.35,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,10035.4,6.2915,4.3496,,0,スタッフとすれ違った,Staff02,0,33.4498,経路を引き直した,275,20.0384,20.0384,32.4998,0,0,0.95,3,6.292;4.35,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,10070.85,5.4475,4.2194,,0,人が立ち止まっていた,Guest(Clone),0,20.25,経路を引き直した,118.7777,112.7879,112.7879,19.3,0,0,0.95,2,5.447;4.219,2.163;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,10125.6,1.9278,6.5793,A01,0,もう1台のロボット,ServingRobot02,0,1.35,自分で動き出した,47.9513,22.3261,22.3261,0.4,0,0,0.95,0,1.928;6.579,1.913;4.737,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,10135.15,4.5621,4.4738,,0,人が立ち止まっていた,Staff01,0,10.35,経路を引き直した,7.6268,132.4138,7.6268,9.4,0,0,0.95,1,4.562;4.474,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,10147.2,5.252,4.4595,,0,スタッフとすれ違った,Staff02,0,1.25,自分で動き出した,275,130.9872,130.9872,0.3,0,0,0.95,0,4.562;4.474,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,50,10157.65,10.4409,4.3523,,0,お客さんとすれ違った,Guest(Clone),0,45.6496,経路を引き直した,19.7839,230.2802,19.7839,45.6496,0,0,0,4,10.441;4.352,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,51,10306.7,15.3,5.95,,0,分からない,,0,1.8,自分で動き出した,30.0117,275,30.0117,0.3,0,0,1.5,0,15.3;5.95,12.513;4.338,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,51,10320.95,8.5716,4.3503,,0,スタッフとすれ違った,Staff01,0,50.8495,経路を引き直した,230.057,19.973,19.973,49.8995,0,0,0.95,5,8.572;4.35,5.863;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,51,10406.8,7.9154,4.4666,,0,お客さんとすれ違った,Guest(Clone),0,33.3498,経路を引き直した,8.3593,241.8198,8.3593,32.3998,0,0,0.95,3,7.915;4.467,12.388;4.312,PathComplete,2,0.025
fam_p1_s4_r2_a42,0,1,51,10446.65,11.4834,4.3433,,0,スタッフとすれ違った,Staff01,0,57.6994,経路を引き直した,20.7001,229.4791,20.7001,56.7494,0,0,0.95,5,11.483;4.343,12.388;4.312,PathComplete,2,0.025
```

#### give_ups.csv

```text
condition_id,seed,t_s,who,job,table_id,to_x,to_z,x,z,aisle,waited_s,action
fam_p1_s4_r2_a42,0,1764.866,客,ドリンクバー,4,1.912,10.312,2.0148,8.1237,A01,60,移した
fam_p1_s4_r2_a42,0,2456.841,スタッフ,料理を運ぶ,15,15.3,5.95,14.9542,5.7019,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2468.152,スタッフ,料理を運ぶ,2,15.3,5.95,14.9679,6.1871,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2517,スタッフ,料理を運ぶ,12,15.3,5.95,14.9782,6.2104,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2538.721,スタッフ,料理を運ぶ,17,15.3,5.95,14.9213,5.9445,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2587.769,スタッフ,料理を運ぶ,2,15.3,5.95,14.9782,6.2104,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2612.143,スタッフ,料理を運ぶ,12,15.3,5.95,14.9313,5.7953,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2665.445,スタッフ,料理を運ぶ,5,15.3,5.95,14.9902,5.6398,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2672.302,スタッフ,料理を運ぶ,35,15.3,5.95,15.0019,6.2475,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2725.954,客,ドリンクバー,17,5.613,13.888,5.7244,8.0572,A02,60,移した
fam_p1_s4_r2_a42,0,2752.43,客,トイレ,40,21.362,2.188,15.3531,4.2255,,60,移した
fam_p1_s4_r2_a42,0,2770.848,スタッフ,料理を運ぶ,18,15.3,5.95,9.4092,4.6616,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2787.214,スタッフ,料理を運ぶ,16,5.613,10.513,11.7339,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2831.006,スタッフ,料理を運ぶ,37,15.3,5.95,9.4085,4.6637,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2862.487,スタッフ,立ち往生を動かす,0,10.889,4.4649,11.593,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2891.165,スタッフ,料理を運ぶ,37,15.3,5.95,9.4185,4.5987,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,2929.402,客,ドリンクバー,8,18.3,3.9,9.7296,3.8054,,60,あきらめた
fam_p1_s4_r2_a42,0,2955.778,客,ドリンクバー,4,1.912,10.312,1.7482,7.3466,A01,60,移した
fam_p1_s4_r2_a42,0,3031.402,客,ドリンクバー,4,1.912,10.312,2.15,8.3477,A01,60,移した
fam_p1_s4_r2_a42,0,3046.767,客,ドリンクバー,11,5.613,8.662,5.7092,5.2129,A02,60,移した
fam_p1_s4_r2_a42,0,3164.582,スタッフ,片付け,3,15.3,5.95,10.3181,4.4987,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3174.592,スタッフ,呼び出し,19,9.312,6.812,11.7556,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3179.296,客,ドリンクバー,4,1.912,10.312,1.9516,8.9795,A01,60,移した
fam_p1_s4_r2_a42,0,3184.601,客,ドリンクバー,6,1.912,6.812,1.9582,6.2053,A01,60,移した
fam_p1_s4_r2_a42,0,3224.74,スタッフ,片付け,3,1.912,8.462,10.1625,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3234.75,スタッフ,呼び出し,19,9.312,6.812,11.7556,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3284.899,スタッフ,呼び出し,13,5.613,4.962,10.1625,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3294.909,スタッフ,呼び出し,19,9.312,6.812,11.7556,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,3315.929,組,片付け,3,1.912,8.462,1.912,8.462,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3385.147,スタッフ,料理を運ぶ,20,15.3,5.95,9.4579,4.7902,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3445.306,スタッフ,料理を運ぶ,20,15.3,5.95,9.4191,4.7993,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3450.11,客,ドリンクバー,7,1.912,8.662,2.0017,6.9899,A01,60,移した
fam_p1_s4_r2_a42,0,3487.497,スタッフ,料理を運ぶ,24,9.312,6.812,10.9898,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3505.464,スタッフ,料理を運ぶ,20,15.3,5.95,9.4433,4.799,,60.0494,移した
fam_p1_s4_r2_a42,0,3552.36,スタッフ,料理を運ぶ,24,9.312,6.812,11.5698,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3565.573,スタッフ,料理を運ぶ,20,9.312,8.662,10.3498,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3616.623,スタッフ,料理を運ぶ,24,9.312,6.812,11.5698,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,3616.973,スタッフ,料理を運ぶ,25,15.3,5.95,9.4363,4.8049,A03,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3640.846,スタッフ,料理を運ぶ,20,15.3,5.95,10.3686,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3698.553,スタッフ,料理を運ぶ,25,9.312,8.662,9.7521,3.7801,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3699.354,組,片付け,36,16.963,2.188,16.963,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3765.668,スタッフ,料理を運ぶ,25,9.312,8.662,10.9379,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,3775.878,客,ドリンクバー,19,9.312,6.812,18.9226,3.9845,,60,移した
fam_p1_s4_r2_a42,0,3789.542,組,片付け,2,1.912,6.613,1.912,6.613,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,3791.443,客,ドリンクバー,18,9.312,4.962,13.2796,4.3039,,60,移した
fam_p1_s4_r2_a42,0,3835.787,スタッフ,料理を運ぶ,25,15.3,5.95,9.5256,4.5658,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3883.833,客,ドリンクバー,11,20.3,3.9,5.7644,4.8399,A02,60,あきらめた
fam_p1_s4_r2_a42,0,3886.286,スタッフ,呼び出し,25,9.312,8.662,11.5696,4.5378,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3908.858,スタッフ,案内,36,0.9,2.1,1.3521,2.1744,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,3921.67,組,片付け,34,15.238,2.188,15.238,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4011.858,組,片付け,4,1.912,10.312,1.912,10.312,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4033.63,組,会計,6,1.912,6.812,1.912,6.812,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4094.439,客,ドリンクバー,15,5.613,8.662,6.2059,4.1222,,60,移した
fam_p1_s4_r2_a42,0,4112.227,スタッフ,片付け,1,15.3,5.95,4.7827,4.4839,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4123.832,スタッフ,片付け,4,15.3,5.95,4.8807,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4128.663,組,片付け,9,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4161.434,スタッフ,片付け,9,5.613,4.962,6.2035,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4175.23,組,会計,10,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4187.133,スタッフ,呼び出し,12,5.613,10.513,4.7848,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4191.217,組,会計,8,1.912,10.513,1.912,10.513,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4262.04,スタッフ,呼び出し,12,5.613,10.513,4.8019,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4262.538,スタッフ,料理を運ぶ,3,15.3,5.95,4.4889,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4322.403,スタッフ,呼び出し,12,5.613,10.513,4.7606,4.3847,,60.0494,移した
fam_p1_s4_r2_a42,0,4351.788,組,片付け,1,1.912,4.762,1.912,4.762,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4394.122,スタッフ,案内,9,5.613,4.962,2.1669,3.6841,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4412.201,スタッフ,案内,10,0.9,2.1,5.8,6.0305,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4458.27,組,片付け,5,1.912,4.962,1.912,4.962,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4485.314,スタッフ,料理を運ぶ,2,1.912,6.613,4.4956,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4548.018,組,片付け,38,19.162,2.188,19.162,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4558.577,スタッフ,料理を運ぶ,2,1.912,6.613,6.5681,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4752.865,スタッフ,片付け,7,15.3,5.95,4.9296,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4817.262,組,片付け,7,1.912,8.662,1.912,8.662,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,4856.957,スタッフ,料理を運ぶ,2,1.912,6.613,6.8338,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,4922.4,客,会計,18,4.7,4.3,6.5098,4.55,,60,移した
fam_p1_s4_r2_a42,0,4970.91,スタッフ,料理を運ぶ,2,15.3,5.95,5.8,4.8108,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5011.55,組,片付け,41,22.463,2.188,22.463,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5017.676,スタッフ,呼び出し,14,5.613,6.812,4.9218,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5020.814,組,会計,19,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5040.238,スタッフ,料理を運ぶ,8,1.912,10.513,6.8328,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5062.849,スタッフ,呼び出し,25,9.312,8.662,5.8,4.7957,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5077.542,スタッフ,呼び出し,14,5.613,6.812,4.9202,4.5439,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5087.652,組,会計,21,9.312,12.038,9.312,12.038,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5100.103,スタッフ,立ち往生を動かす,0,6.4181,4.478,6.8068,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5101.298,組,片付け,11,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5119.477,客,ドリンクバー,16,18.3,3.9,5.3597,4.8111,A02,60,あきらめた
fam_p1_s4_r2_a42,0,5137.407,スタッフ,呼び出し,14,5.613,6.812,4.9286,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,5137.755,スタッフ,料理を運ぶ,8,15.3,5.95,5.8,4.8117,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5159.968,スタッフ,立ち往生を動かす,0,6.4176,4.4809,6.7841,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5191.046,組,片付け,15,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5212.662,スタッフ,会計,14,4.7,1.75,5.8,4.7959,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5227.205,スタッフ,料理を運ぶ,42,15.3,5.95,5.3846,4.7975,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5234.924,スタッフ,案内,41,0.9,2.1,6.8324,4.5494,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5243.042,スタッフ,料理を運ぶ,8,15.3,5.95,5.8244,3.7836,,60.0494,移した
fam_p1_s4_r2_a42,0,5280.794,組,片付け,40,21.362,2.188,21.362,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5287.568,スタッフ,料理を運ぶ,42,15.3,5.95,5.9954,4.5158,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5347.433,スタッフ,料理を運ぶ,42,15.3,5.95,5.9958,4.5172,,60.0494,移した
fam_p1_s4_r2_a42,0,5370.542,組,片付け,12,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5443.008,客,ドリンクバー,16,20.3,3.9,15.211,3.7747,,60,あきらめた
fam_p1_s4_r2_a42,0,5460.291,組,片付け,13,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5472.443,客,ドリンクバー,2,1.912,6.613,5.3373,4.4431,,60,移した
fam_p1_s4_r2_a42,0,5530.565,スタッフ,料理を運ぶ,8,1.912,10.513,5.2944,12.6345,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5550.039,組,片付け,17,5.613,13.888,5.613,13.888,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5589.583,客,ドリンクバー,3,18.3,3.9,2.15,7.0768,A01,60,あきらめた
fam_p1_s4_r2_a42,0,5590.43,スタッフ,料理を運ぶ,8,15.3,5.95,5.159,13.2649,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5621.359,スタッフ,立ち往生を動かす,0,2.7121,5.2513,5.5951,4.5713,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5624.895,スタッフ,料理を運ぶ,1,1.912,4.762,5.3735,4.2315,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5649.399,客,ドリンクバー,3,1.912,8.462,2.15,6.9365,A01,60,移した
fam_p1_s4_r2_a42,0,5650.295,スタッフ,料理を運ぶ,8,15.3,5.95,5.0826,13.406,A02,60.0494,移した
fam_p1_s4_r2_a42,0,5680.577,組,片付け,18,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5681.224,スタッフ,立ち往生を動かす,0,2.7043,5.0515,5.3389,4.8865,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5684.76,スタッフ,料理を運ぶ,1,15.3,5.95,5.4603,4.3503,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5710.111,スタッフ,料理を運ぶ,8,15.3,5.95,5.3041,12.6459,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5741.089,スタッフ,立ち往生を動かす,0,2.7122,5.1141,5.3936,4.631,,60.0494,移した
fam_p1_s4_r2_a42,0,5744.625,スタッフ,料理を運ぶ,1,15.3,5.95,5.4123,4.2275,,60.0494,移した
fam_p1_s4_r2_a42,0,5769.976,スタッフ,料理を運ぶ,8,15.3,5.95,5.1292,13.2972,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5804.441,スタッフ,料理を運ぶ,1,15.3,5.95,5.5886,4.5325,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5829.841,スタッフ,料理を運ぶ,8,15.3,5.95,5.1587,13.2648,A02,60.0494,移した
fam_p1_s4_r2_a42,0,5864.306,スタッフ,料理を運ぶ,1,15.3,5.95,5.477,4.4688,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5882.535,スタッフ,料理を運ぶ,7,1.912,8.662,5.5075,3.8509,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5889.657,スタッフ,料理を運ぶ,8,15.3,5.95,5.2782,12.5989,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5932.09,組,片付け,14,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,5976.267,スタッフ,料理を運ぶ,7,1.912,8.662,6.3909,4.4937,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5984.634,スタッフ,呼び出し,29,13.088,8.662,5.8,4.8132,A02,60.0494,あきらめた
fam_p1_s4_r2_a42,0,5997.036,スタッフ,料理を運ぶ,1,15.3,5.95,5.3708,4.8065,A02,60.0494,移した
fam_p1_s4_r2_a42,0,5999.775,スタッフ,料理を運ぶ,8,15.3,5.95,5.6927,3.4518,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6018.75,客,ドリンクバー,2,1.912,6.613,6.4301,4.5063,,60,移した
fam_p1_s4_r2_a42,0,6021.838,組,片付け,22,9.388,12.688,9.388,12.688,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6044.5,スタッフ,呼び出し,29,13.088,8.662,5.8,4.7947,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6045.396,スタッフ,料理を運ぶ,7,1.912,8.662,6.3779,4.5471,,60.0494,移した
fam_p1_s4_r2_a42,0,6048.882,客,ドリンクバー,6,19.3,3.9,4.9642,4.55,,60,あきらめた
fam_p1_s4_r2_a42,0,6104.365,スタッフ,呼び出し,29,13.088,8.662,5.8,4.8008,A02,60.0494,移した
fam_p1_s4_r2_a42,0,6114.226,組,会計,29,13.088,8.662,13.088,8.662,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6115.172,スタッフ,料理を運ぶ,7,15.3,5.95,4.8595,4.5186,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6131.907,組,会計,24,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6177.03,組,会計,28,13.088,6.812,13.088,6.812,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6194.86,客,ドリンクバー,6,18.3,3.9,4.3535,4.5375,,60,あきらめた
fam_p1_s4_r2_a42,0,6218.368,スタッフ,呼び出し,2,1.912,6.613,4.6067,4.5333,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6278.233,スタッフ,呼び出し,2,1.912,6.613,4.2043,4.36,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6329.482,客,トイレ,31,8.488,2.588,5.7622,4.5796,,60,移した
fam_p1_s4_r2_a42,0,6344.523,スタッフ,料理を運ぶ,11,5.613,8.662,6.3245,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6373.111,スタッフ,料理を運ぶ,2,1.912,6.613,5.9801,4.3343,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6405.185,組,会計,16,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6418.832,客,ドリンクバー,8,18.3,3.9,4.6711,4.0928,,60,あきらめた
fam_p1_s4_r2_a42,0,6442.887,スタッフ,料理を運ぶ,2,1.912,6.613,6.0278,4.2642,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6457.679,スタッフ,料理を運ぶ,11,15.3,5.95,5.7997,4.7931,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6470.081,組,会計,25,9.312,8.662,9.312,8.662,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6529.547,スタッフ,料理を運ぶ,2,1.912,6.613,7.8186,4.4694,,60.0494,移した
fam_p1_s4_r2_a42,0,6650.772,スタッフ,料理を運ぶ,36,15.3,5.95,17.236,2.4889,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6710.637,スタッフ,案内,25,0.9,2.1,17.2329,2.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6725.728,客,ドリンクバー,36,17.3,3.9,17.291,2.4091,,60,あきらめた
fam_p1_s4_r2_a42,0,6770.502,スタッフ,案内,25,0.9,2.1,16.9382,2.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,6772.046,組,会計,27,13.088,5.962,13.088,5.962,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,6798.293,客,トイレ,34,15.238,2.188,8.2264,14.3578,,60,移した
fam_p1_s4_r2_a42,0,6816.173,客,ドリンクバー,8,1.912,10.513,4.0817,4.55,,60,移した
fam_p1_s4_r2_a42,0,6830.368,スタッフ,案内,25,0.9,2.1,16.9382,2.55,,60.0494,移した
fam_p1_s4_r2_a42,0,6837.54,客,ドリンクバー,4,1.912,10.312,2.0833,5.1828,A01,60,移した
fam_p1_s4_r2_a42,0,6840.329,客,ドリンクバー,4,1.912,10.312,2.1589,4.6518,A01,60,移した
fam_p1_s4_r2_a42,0,6872.453,客,ドリンクバー,8,1.912,10.513,9.4454,3.9882,,60,移した
fam_p1_s4_r2_a42,0,6926.042,客,ドリンクバー,9,5.613,4.962,8.9258,4.1579,,60,移した
fam_p1_s4_r2_a42,0,6943.325,客,ドリンクバー,12,5.613,10.513,8.8472,4.6025,,60,移した
fam_p1_s4_r2_a42,0,6955.377,客,ドリンクバー,11,18.8,4.8,5.8,8.0275,A02,60,あきらめた
fam_p1_s4_r2_a42,0,6977.341,組,会計,33,12.188,2.588,12.188,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7038.103,組,会計,31,8.488,2.588,8.488,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7046.42,スタッフ,料理を運ぶ,8,15.3,5.95,6.6397,4.5189,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7086.812,客,ドリンクバー,9,5.613,4.962,8.9591,4.5132,,60,移した
fam_p1_s4_r2_a42,0,7087.858,客,ドリンクバー,17,5.613,13.888,8.9418,14.3735,,60,移した
fam_p1_s4_r2_a42,0,7108.527,客,ドリンクバー,12,20.3,3.9,13.7929,3.9745,,60,あきらめた
fam_p1_s4_r2_a42,0,7108.826,組,会計,3,1.912,8.462,1.912,8.462,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7241.057,客,ドリンクバー,17,5.613,13.888,9.761,4.55,,60,移した
fam_p1_s4_r2_a42,0,7261.377,組,会計,2,1.912,6.613,1.912,6.613,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7264.416,スタッフ,片付け,23,9.312,4.962,8.6523,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7291.21,組,片付け,23,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7475.737,客,ドリンクバー,15,5.613,8.662,7.9484,4.4739,,60,移した
fam_p1_s4_r2_a42,0,7478.078,客,ドリンクバー,12,5.613,10.513,5.695,5.6237,A02,60,移した
fam_p1_s4_r2_a42,0,7513.588,客,ドリンクバー,8,18.8,3.9,1.912,10.513,A01,0,あきらめた
fam_p1_s4_r2_a42,0,7534.108,客,ドリンクバー,17,18.8,3.9,5.613,13.888,A02,0,あきらめた
fam_p1_s4_r2_a42,0,7540.333,客,ドリンクバー,16,18.8,3.9,5.613,10.513,A02,0,あきらめた
fam_p1_s4_r2_a42,0,7587.25,客,ドリンクバー,4,1.912,10.312,1.9356,9.3615,A01,60,移した
fam_p1_s4_r2_a42,0,7593.226,スタッフ,呼び出し,24,9.312,6.812,11.6958,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7646.766,客,ドリンクバー,7,18.8,4.8,10.2421,4.55,,60,あきらめた
fam_p1_s4_r2_a42,0,7653.091,スタッフ,呼び出し,24,9.312,6.812,11.6794,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7727.998,スタッフ,呼び出し,24,9.312,6.812,11.6413,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,7743.188,スタッフ,料理を運ぶ,1,1.912,4.762,12.0849,3.8468,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7786.817,客,ドリンクバー,11,5.613,8.662,5.6288,8.2375,A02,60,移した
fam_p1_s4_r2_a42,0,7796.031,客,ドリンクバー,7,1.912,8.662,2.2613,4.6342,A01,60,移した
fam_p1_s4_r2_a42,0,7834.53,スタッフ,料理を運ぶ,3,1.912,8.462,12.6359,4.559,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7854.501,組,片付け,32,10.338,2.588,10.338,2.588,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7857.44,スタッフ,料理を運ぶ,1,15.3,5.95,10.7505,4.5464,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7917.305,スタッフ,呼び出し,29,13.088,8.662,10.7505,4.5464,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7925.722,スタッフ,案内,32,0.9,2.1,6.1839,3.3295,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,7944.25,組,片付け,9,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,7957.448,客,ドリンクバー,17,5.613,13.888,12.6329,4.5777,,60,移した
fam_p1_s4_r2_a42,0,7977.17,スタッフ,呼び出し,29,13.088,8.662,10.7505,4.5464,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8010.191,組,片付け,34,15.238,2.188,15.238,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8037.036,スタッフ,呼び出し,29,13.088,8.662,10.7505,4.5464,,60.0494,移した
fam_p1_s4_r2_a42,0,8067.616,客,ドリンクバー,18,9.312,4.962,12.3351,3.5554,,60,移した
fam_p1_s4_r2_a42,0,8071.251,客,ドリンクバー,1,1.912,4.762,11.3119,3.6368,,60,移した
fam_p1_s4_r2_a42,0,8107.36,客,ドリンクバー,4,1.912,10.312,5.5639,4.548,,60,移した
fam_p1_s4_r2_a42,0,8111.792,スタッフ,料理を運ぶ,31,15.3,5.95,11.3807,4.5464,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8126.833,スタッフ,案内,34,0.9,2.1,9.6233,3.4649,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8160.252,客,ドリンクバー,5,18.8,3.9,1.912,4.962,A01,0,あきらめた
fam_p1_s4_r2_a42,0,8192.377,客,トイレ,41,22.463,2.188,18.0487,4.7424,,60,移した
fam_p1_s4_r2_a42,0,8194.817,スタッフ,料理を運ぶ,18,9.312,4.962,11.8144,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8225.148,スタッフ,呼び出し,16,5.613,10.513,12.704,5.12,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8229.979,組,片付け,42,20.412,5.163,20.412,5.163,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8267.731,スタッフ,料理を運ぶ,18,9.312,4.962,13.0921,4.8161,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8269.724,スタッフ,料理を運ぶ,36,15.3,5.95,11.7315,4.4844,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8300.055,スタッフ,呼び出し,16,5.613,10.513,12.6846,5.2322,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8329.589,スタッフ,料理を運ぶ,36,15.3,5.95,11.7336,4.5048,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8331.93,スタッフ,料理を運ぶ,18,9.312,4.962,12.6869,4.8043,,60.0494,移した
fam_p1_s4_r2_a42,0,8374.961,スタッフ,呼び出し,16,5.613,10.513,12.6204,5.0989,,60.0494,移した
fam_p1_s4_r2_a42,0,8386.964,客,ドリンクバー,21,18.8,3.9,9.312,12.038,A03,0,あきらめた
fam_p1_s4_r2_a42,0,8389.454,スタッフ,料理を運ぶ,36,15.3,5.95,11.7344,4.5064,,60.0494,移した
fam_p1_s4_r2_a42,0,8398.668,客,ドリンクバー,16,18.8,3.9,5.613,10.513,A02,0,あきらめた
fam_p1_s4_r2_a42,0,8402.802,客,ドリンクバー,3,1.912,8.462,5.0156,4.5547,,60,移した
fam_p1_s4_r2_a42,0,8427.754,スタッフ,会計,41,4.7,1.75,12.6499,5.1372,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8428.999,客,ドリンクバー,4,1.912,10.312,5.0174,4.5523,,60,移した
fam_p1_s4_r2_a42,0,8452.855,組,片付け,8,1.912,10.513,1.912,10.513,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8489.412,スタッフ,会計,41,4.7,1.75,12.6,5.1499,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8491.902,スタッフ,料理を運ぶ,2,15.3,5.95,11.7334,4.478,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8502.66,スタッフ,料理を運ぶ,20,15.3,5.95,12.7886,4.8032,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8523.827,スタッフ,料理を運ぶ,23,9.312,4.962,12.8864,5.4196,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8549.277,スタッフ,会計,41,4.7,1.75,12.8018,4.787,,60.0494,移した
fam_p1_s4_r2_a42,0,8566.809,スタッフ,料理を運ぶ,2,15.3,5.95,11.7335,4.504,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8586.133,スタッフ,料理を運ぶ,23,9.312,4.962,12.6374,5.1202,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8590.914,スタッフ,料理を運ぶ,20,9.312,8.662,12.6,5.4732,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8641.715,スタッフ,立ち往生を動かす,0,12.511,4.6598,12.0437,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8653.718,スタッフ,料理を運ぶ,20,9.312,8.662,12.6068,5.1452,,60.0494,移した
fam_p1_s4_r2_a42,0,8654.017,スタッフ,料理を運ぶ,2,1.912,6.613,12.8109,5.3604,,60.0494,移した
fam_p1_s4_r2_a42,0,8683.65,組,片付け,38,19.162,2.188,19.162,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8716.771,スタッフ,立ち往生を動かす,0,12.5115,4.6571,11.7351,4.4984,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8736.443,スタッフ,料理を運ぶ,23,9.312,4.962,12.6,5.1419,,60.0494,移した
fam_p1_s4_r2_a42,0,8773.398,組,片付け,6,1.912,6.812,1.912,6.812,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8818.322,スタッフ,料理を運ぶ,15,5.613,8.662,8.9008,4.5225,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8819.119,スタッフ,料理を運ぶ,9,5.613,4.962,8.8503,3.8012,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8821.46,客,ドリンクバー,22,9.388,12.688,13.1145,12.4059,,60,移した
fam_p1_s4_r2_a42,0,8841.78,スタッフ,呼び出し,15,5.613,8.662,8.9477,4.2128,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8863.146,組,片付け,10,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8876.992,スタッフ,料理を運ぶ,22,15.3,5.95,12.2432,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,8906.726,組,会計,12,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8921.269,客,ドリンクバー,16,5.613,10.513,8.3221,4.4221,,60,移した
fam_p1_s4_r2_a42,0,8921.368,客,ドリンクバー,15,5.613,8.662,9.0131,4.4071,,60,移した
fam_p1_s4_r2_a42,0,8939.646,組,会計,18,9.312,4.962,9.312,4.962,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,8952.895,組,片付け,39,20.263,2.188,20.263,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9022.92,組,会計,17,5.613,13.888,5.613,13.888,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9121.185,スタッフ,立ち往生を動かす,0,6.2197,4.4255,6.6697,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9129.303,客,ドリンクバー,16,18.3,3.9,5.7979,6.2907,A02,60,あきらめた
fam_p1_s4_r2_a42,0,9178.211,スタッフ,料理を運ぶ,16,5.613,10.513,8.9549,4.5397,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9185.283,組,会計,21,9.312,12.038,9.312,12.038,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9189.118,客,ドリンクバー,16,5.613,10.513,5.8,6.302,A02,60,移した
fam_p1_s4_r2_a42,0,9202.018,組,会計,37,18.062,2.188,18.062,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9222.039,スタッフ,立ち往生を動かす,0,5.2119,4.4921,4.7536,4.2686,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9223.334,組,会計,28,13.088,6.812,13.088,6.812,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9234.341,組,会計,11,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9238.076,スタッフ,料理を運ぶ,16,15.3,5.95,8.9352,4.5364,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9261.833,客,会計,15,4.7,4.3,5.2754,6.4331,A02,60,移した
fam_p1_s4_r2_a42,0,9266.315,スタッフ,立ち往生を動かす,0,6.2227,4.4463,6.6515,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9287.682,客,ドリンクバー,14,20.3,3.9,5.8,6.4242,A02,60,あきらめた
fam_p1_s4_r2_a42,0,9297.941,スタッフ,料理を運ぶ,16,15.3,5.95,8.9552,4.5257,,60.0494,移した
fam_p1_s4_r2_a42,0,9299.635,組,会計,40,21.362,2.188,21.362,2.188,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9304.217,客,ドリンクバー,16,18.8,4.8,5.7297,5.4718,A02,60,あきらめた
fam_p1_s4_r2_a42,0,9347.497,客,ドリンクバー,14,5.613,6.812,5.7788,4.8145,A02,60,移した
fam_p1_s4_r2_a42,0,9357.757,スタッフ,料理を運ぶ,16,15.3,5.95,6.7085,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9387.341,スタッフ,片付け,4,15.3,5.95,4.5102,4.1022,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9536.805,スタッフ,片付け,1,1.912,4.762,4.5818,4.4688,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9581.529,組,片付け,4,1.912,10.312,1.912,10.312,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9631.434,客,会計,16,4.7,4.3,5.2,4.8068,A02,60,移した
fam_p1_s4_r2_a42,0,9654.294,スタッフ,片付け,1,15.3,5.95,4.762,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9671.277,組,片付け,1,1.912,4.762,1.912,4.762,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9685.87,スタッフ,片付け,4,1.912,10.312,7.002,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9721.132,客,退店,16,1.8,0.5,5.2,4.8008,A02,60,移した
fam_p1_s4_r2_a42,0,9721.132,客,退店,16,1.8,0.5,5.5946,4.819,A02,60,移した
fam_p1_s4_r2_a42,0,9745.735,スタッフ,片付け,5,1.912,4.962,7.002,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9772.331,スタッフ,片付け,1,15.3,5.95,5.8049,4.3855,,60.0494,移した
fam_p1_s4_r2_a42,0,9782.591,組,片付け,5,1.912,4.962,1.912,4.962,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9796.735,客,ドリンクバー,9,17.3,3.9,5.7257,4.7886,,60,あきらめた
fam_p1_s4_r2_a42,0,9805.601,スタッフ,立ち往生を動かす,0,6.1538,4.3507,6.9146,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9849.279,スタッフ,片付け,1,15.3,5.95,5.9511,4.5836,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9854.11,スタッフ,料理を運ぶ,6,15.3,5.95,4.7635,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9865.466,スタッフ,立ち往生を動かす,0,6.1514,4.3608,6.8952,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9922.891,客,会計,35,4.7,4.3,5.1014,3.4782,,60,移した
fam_p1_s4_r2_a42,0,9924.534,スタッフ,料理を運ぶ,27,15.3,5.95,5.7789,4.4559,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,9925.331,スタッフ,立ち往生を動かす,0,6.151,4.3626,6.9089,4.55,,60.0494,移した
fam_p1_s4_r2_a42,0,9931.108,客,トイレ,32,10.338,2.588,5.7545,4.8365,A02,60,移した
fam_p1_s4_r2_a42,0,9962.087,組,片付け,15,5.613,8.662,5.613,8.662,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,9999.988,スタッフ,片付け,15,15.3,5.95,5.8137,4.4457,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10016.87,組,片付け,22,9.388,12.688,9.388,12.688,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10047.3,客,ドリンクバー,9,17.3,3.9,5.661,4.739,,60,あきらめた
fam_p1_s4_r2_a42,0,10079.58,組,片付け,24,9.312,6.812,9.312,6.812,A03,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10149.65,組,片付け,14,5.613,6.812,5.613,6.812,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10169.32,組,片付け,13,5.613,4.962,5.613,4.962,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10192.08,客,退店,27,1.8,0.5,4.0268,3.2959,,60,移した
fam_p1_s4_r2_a42,0,10239.4,組,片付け,7,1.912,8.662,1.912,8.662,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10259.07,組,片付け,16,5.613,10.513,5.613,10.513,A02,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10348.32,スタッフ,片付け,3,15.3,5.95,7.8527,4.5177,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,10348.82,組,片付け,3,1.912,8.462,1.912,8.462,A01,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10350.81,組,片付け,29,13.088,8.662,13.088,8.662,,600.027,卓を空けた
fam_p1_s4_r2_a42,0,10354.9,客,退店,20,1.8,0.5,6.4391,3.7995,,60,移した
fam_p1_s4_r2_a42,0,10417.2,客,ドリンクバー,9,5.613,4.962,8.6562,4.4892,,60,移した
fam_p1_s4_r2_a42,0,10427.16,客,ドリンクバー,8,1.912,10.513,1.7902,7.5937,A01,60,移した
fam_p1_s4_r2_a42,0,10480.35,スタッフ,片付け,3,1.912,8.462,12.192,4.55,,60.0494,あきらめた
fam_p1_s4_r2_a42,0,11128.46,客,ドリンクバー,6,1.912,6.812,5.0122,4.5622,,60,移した
fam_p1_s4_r2_a42,0,11308.56,客,トイレ,42,20.412,5.163,16.257,6.25,,60,移した
```

#### groups.csv

```text
condition_id,seed,group_id,size,table_id,table_seats,arrive_s,guide_start_s,seated_s,eat_end_s,pay_start_s,pay_s,left_s,waited_min,warmup,state
fam_p1_s4_r2_a42,0,1,4,0,0,56.4194,56.4194,121.0228,3331.868,3331.895,3752.355,3752.355,1.0767,0,Done
fam_p1_s4_r2_a42,0,2,3,0,0,95.8213,95.8213,161.8253,3029.899,3029.9,3188.855,3188.855,1.1001,0,Done
fam_p1_s4_r2_a42,0,3,4,0,0,103.0217,103.0217,181.7765,2597.35,2597.378,2715.243,2715.243,1.3126,0,Done
fam_p1_s4_r2_a42,0,4,2,0,0,334.1619,334.1619,408.1439,3153.616,3164.532,3320.984,3320.984,1.233,0,Done
fam_p1_s4_r2_a42,0,5,1,35,2,424.5898,424.5898,499.3216,2699.161,2699.178,2827.353,2827.353,1.2455,0,Done
fam_p1_s4_r2_a42,0,6,4,0,0,434.8373,434.8373,504.8702,3121.652,3179.346,3411.172,3411.172,1.1672,0,Done
fam_p1_s4_r2_a42,0,7,1,0,0,485.9749,485.9749,563.5059,2896.796,2896.821,3098.667,3098.667,1.2922,0,Done
fam_p1_s4_r2_a42,0,8,4,0,0,585.1506,585.1506,655.2335,3457.694,3457.718,3859.36,3859.36,1.168,0,Done
fam_p1_s4_r2_a42,0,9,2,37,2,610.4445,610.4445,688.5254,4007.602,4012.059,4309.254,4309.254,1.3013,0,Done
fam_p1_s4_r2_a42,0,10,1,0,0,645.9858,645.9858,724.4666,3341.3,3351.764,3949.548,3949.548,1.308,0,Done
fam_p1_s4_r2_a42,0,11,4,0,0,693.0243,693.0243,757.5585,3432.991,3432.994,-1,4033.63,1.0756,0,Done
fam_p1_s4_r2_a42,0,12,2,39,2,836.4393,836.4393,915.27,3626.005,3946.895,4129.758,4129.758,1.3138,0,Done
fam_p1_s4_r2_a42,0,13,2,0,0,896.4246,896.4246,979.5043,4452.106,4452.144,4683.039,4683.039,1.3847,0,Done
fam_p1_s4_r2_a42,0,14,3,0,0,896.5746,896.5746,967.1074,3862.752,3862.763,4219.506,4219.506,1.1755,0,Done
fam_p1_s4_r2_a42,0,15,2,0,0,984.5531,984.5531,1066.835,3984.718,3984.732,4413.794,4413.794,1.3714,0,Done
fam_p1_s4_r2_a42,0,16,3,0,0,1000.349,1000.349,1070.739,3473.568,3591.048,-1,4191.217,1.1732,0,Done
fam_p1_s4_r2_a42,0,17,3,0,0,1086.504,1086.504,1152.319,3255.29,3255.32,3528.136,3528.136,1.0969,0,Done
fam_p1_s4_r2_a42,0,18,1,0,0,1121.589,1121.589,1192.408,3574.955,3574.982,-1,4175.23,1.1803,0,Done
fam_p1_s4_r2_a42,0,19,4,0,0,1193.459,1193.459,1254.118,4046.463,4046.492,4503.542,4503.542,1.011,0,Done
fam_p1_s4_r2_a42,0,20,4,0,0,1344.456,1344.456,1415.676,4303.443,4440.44,4772.787,4772.787,1.187,0,Done
fam_p1_s4_r2_a42,0,21,2,0,0,1359.17,1359.17,1433.793,4586.586,4586.617,4862.535,4862.535,1.2437,0,Done
fam_p1_s4_r2_a42,0,22,3,0,0,1490.999,1490.999,1557.764,4867.868,4867.914,5334.334,5334.334,1.1128,0,Done
fam_p1_s4_r2_a42,0,23,1,0,0,1613.469,1613.469,1682.936,4158.567,4158.595,4593.291,4593.291,1.1578,0,Done
fam_p1_s4_r2_a42,0,24,3,0,0,1646.601,1646.601,1719.922,5392.315,5807.479,-1,6405.185,1.222,0,Done
fam_p1_s4_r2_a42,0,25,2,0,0,1736.539,1736.539,1811.312,4555.232,4555.24,4952.283,4952.283,1.2462,0,Done
fam_p1_s4_r2_a42,0,26,1,0,0,1787.939,1787.939,1858.858,4591.383,4591.398,5082.821,5082.821,1.182,0,Done
fam_p1_s4_r2_a42,0,27,3,0,0,1833.433,1833.433,1926.624,4423.087,4423.108,-1,5020.814,1.5532,0,Done
fam_p1_s4_r2_a42,0,28,2,20,4,2213.754,2213.754,2287.476,6570.258,6570.288,6897.753,6897.753,1.2287,0,Done
fam_p1_s4_r2_a42,0,29,4,0,0,2222.713,2222.713,2300.489,4489.926,4489.946,-1,5087.652,1.2963,0,Done
fam_p1_s4_r2_a42,0,30,3,0,0,2323.761,2323.761,2401.487,5083.929,5083.966,5424.083,5424.083,1.2954,0,Done
fam_p1_s4_r2_a42,0,31,1,0,0,2333.471,2333.471,2407.994,6303.763,6303.783,6693.455,6693.455,1.242,0,Done
fam_p1_s4_r2_a42,0,32,3,0,0,2407.193,2407.193,2487.771,5534.177,5534.201,-1,6131.907,1.343,0,Done
fam_p1_s4_r2_a42,0,33,2,0,0,2443.578,2443.578,2581.113,5872.334,5872.375,-1,6470.081,2.2922,0,Done
fam_p1_s4_r2_a42,0,34,1,26,4,2481.265,2481.265,2664.394,6595.371,6595.389,7077.25,7077.25,3.0521,0,Done
fam_p1_s4_r2_a42,0,35,2,0,0,2721.7,2721.7,2824.85,6174.313,6174.34,-1,6772.046,1.7192,0,Done
fam_p1_s4_r2_a42,0,36,2,0,0,3019.39,3019.39,3114.433,5579.306,5579.324,-1,6177.03,1.584,0,Done
fam_p1_s4_r2_a42,0,37,1,0,0,3087.907,3087.907,3217.784,5516.518,5516.52,-1,6114.226,2.1646,0,Done
fam_p1_s4_r2_a42,0,38,1,35,2,3217.133,3217.133,3401.463,5950.481,5950.518,6454.542,6454.542,3.0722,0,Done
fam_p1_s4_r2_a42,0,39,2,30,4,3284.399,3284.399,3485.995,6071.485,6510.173,6987.501,6987.501,3.3599,0,Done
fam_p1_s4_r2_a42,0,40,1,0,0,3335.048,3335.048,3556.814,6511.076,6511.12,-1,7108.826,3.6961,0,Done
fam_p1_s4_r2_a42,0,41,4,0,0,3480.99,3480.99,3765.018,6440.351,6440.397,-1,7038.103,4.7338,0,Done
fam_p1_s4_r2_a42,0,42,1,0,0,3530.839,3530.839,3785.888,7102.519,7102.55,7256.746,7256.746,4.2508,0,Done
fam_p1_s4_r2_a42,0,43,2,36,2,3799.351,3799.351,3975.623,6708.336,6726.027,7218.047,7218.047,2.9379,0,Done
fam_p1_s4_r2_a42,0,44,2,0,0,3818.169,3818.169,3911.41,6663.637,6663.671,-1,7261.377,1.554,0,Done
fam_p1_s4_r2_a42,0,45,2,0,0,3843.744,3843.744,3998.896,6233.12,6379.635,-1,6977.341,2.5859,0,Done
fam_p1_s4_r2_a42,0,46,4,0,0,4035.582,4035.582,4182.501,8394.604,8429.049,8983.773,8983.773,2.4487,0,Done
fam_p1_s4_r2_a42,0,47,1,0,0,4145.995,4145.995,4251.033,7294.47,7294.498,7412.435,7412.435,1.7506,0,Done
fam_p1_s4_r2_a42,0,48,4,0,0,4158.844,4158.844,4317.124,7934.021,7966.164,8175.642,8175.642,2.638,0,Done
fam_p1_s4_r2_a42,0,49,2,0,0,4160.538,4160.538,4469.974,7248.746,7248.777,7346.494,7346.494,5.1573,0,Done
fam_p1_s4_r2_a42,0,50,3,0,0,4200.381,4200.381,4377.786,7692.868,7692.885,7855.099,7855.099,2.9567,0,Done
fam_p1_s4_r2_a42,0,51,1,0,0,4251.232,4251.232,4478.142,7990.861,7990.867,8265.391,8265.391,3.7818,0,Done
fam_p1_s4_r2_a42,0,52,2,0,0,4355.523,4355.523,4536.364,8535.011,8547.584,9073.521,9073.521,3.014,0,Done
fam_p1_s4_r2_a42,0,53,2,0,0,4435.011,4435.011,4606.24,7492.257,7492.272,7632.223,7632.223,2.8538,0,Done
fam_p1_s4_r2_a42,0,54,2,0,0,4463.699,4463.699,4596.926,8757.736,8757.76,9184.835,9184.835,2.2205,0,Done
fam_p1_s4_r2_a42,0,55,2,0,0,4521.373,4548.068,4664.312,7956.225,7956.252,8085.894,8085.894,2.3823,0,Done
fam_p1_s4_r2_a42,0,56,1,0,0,4523.564,4723.48,4825.729,7968.934,7968.953,8355.139,8355.139,5.0361,0,Done
fam_p1_s4_r2_a42,0,57,1,0,0,4596.329,4767.906,4871.151,8604.295,8604.312,-1,9202.018,4.5804,0,Done
fam_p1_s4_r2_a42,0,58,2,0,0,4673.177,4817.312,4957.811,8793.431,9540.092,9641.644,9641.644,4.7439,0,Done
fam_p1_s4_r2_a42,0,59,1,41,2,4730.751,5011.6,5331.296,8033.83,8192.427,8638.926,8638.926,10.0091,0,Done
fam_p1_s4_r2_a42,0,60,4,19,4,4752.367,5020.864,5325.17,8198.434,8198.453,8728.674,8728.674,9.5467,0,Done
fam_p1_s4_r2_a42,0,61,2,0,0,4810.14,5087.702,5438.875,8587.553,8587.577,-1,9185.283,10.4789,0,Done
fam_p1_s4_r2_a42,0,62,2,0,0,4880.166,5101.348,5519.608,8636.619,8636.635,-1,9234.341,10.6574,0,Done
fam_p1_s4_r2_a42,0,63,2,0,0,4987.345,5191.096,5561.494,8998.502,8998.516,9364.331,9364.331,9.5691,0,Done
fam_p1_s4_r2_a42,0,64,4,0,0,5035.656,5370.592,5692.38,8308.973,8309.02,-1,8906.726,10.9454,0,Done
fam_p1_s4_r2_a42,0,65,3,0,0,5110.114,5460.34,5902.905,8888.233,9443.77,9571.568,9571.568,13.2132,0,Done
fam_p1_s4_r2_a42,0,66,4,0,0,5203.796,5550.088,6113.23,8425.214,8425.214,-1,9022.92,15.1572,0,Done
fam_p1_s4_r2_a42,0,67,4,0,0,5225.113,5680.626,6199.591,8336.727,8341.94,-1,8939.646,16.2413,0,Done
fam_p1_s4_r2_a42,0,68,1,0,0,5246.379,5280.844,5612.992,8660.297,8701.929,-1,9299.635,6.1102,0,Done
fam_p1_s4_r2_a42,0,69,1,0,0,5338.12,5932.14,6266.13,9391.441,9391.475,9551.896,9551.896,15.4669,0,Done
fam_p1_s4_r2_a42,0,70,4,0,0,5444.552,6021.888,6353.488,8786.898,8901.496,9419.116,9419.116,15.1489,0,Done
fam_p1_s4_r2_a42,0,71,2,0,0,5466.865,6114.276,6467.69,9624.996,9625.009,9753.057,9753.057,16.6804,0,Done
fam_p1_s4_r2_a42,0,72,2,0,0,5567.869,6131.957,6538.562,9166.6,9166.606,9481.82,9481.82,16.1782,0,Done
fam_p1_s4_r2_a42,0,73,3,0,0,5656.172,6177.08,6592.6,8625.581,8625.628,-1,9223.334,15.6071,0,Done
fam_p1_s4_r2_a42,0,74,4,0,0,5715.54,6405.235,6691.662,9460.253,9460.255,9661.316,9661.316,16.2687,0,Done
fam_p1_s4_r2_a42,0,75,2,25,4,5716.984,6470.13,6899.845,10642.59,10642.62,10744.27,10744.27,19.7144,0,Done
fam_p1_s4_r2_a42,0,76,3,27,4,5834.971,6772.096,6937.547,10030.95,10030.97,10132.27,10132.27,18.3763,0,Done
fam_p1_s4_r2_a42,0,77,1,35,2,5893.043,6872.552,6950.347,9838.299,9838.322,10042.52,10042.52,17.6217,0,Done
fam_p1_s4_r2_a42,0,78,4,33,6,6003.66,6977.391,7098.616,9708.575,9708.581,9863.025,9863.025,18.2493,0,Done
fam_p1_s4_r2_a42,0,79,2,31,6,6105.211,7038.153,7108.975,9827.377,9827.415,9952.773,9952.773,16.7294,0,Done
fam_p1_s4_r2_a42,0,80,1,0,0,6118.708,7108.875,7204.55,9356.083,9356.113,9751.064,9751.064,18.0974,0,Done
fam_p1_s4_r2_a42,0,81,1,2,4,6138.481,7261.427,7322.886,10779.74,10779.78,10880.34,10880.34,19.7401,0,Done
fam_p1_s4_r2_a42,0,82,1,23,4,6187.887,7291.26,7382.303,10837.93,10837.95,10977.55,10977.55,19.9069,0,Done
fam_p1_s4_r2_a42,0,83,3,20,4,6272.804,7487.092,7596.115,10183.09,10183.12,10295.08,10295.08,22.0552,0,Done
fam_p1_s4_r2_a42,0,84,2,30,4,6387.803,7488.537,7613.297,10538.2,10538.23,10638.98,10638.98,20.4249,0,Done
fam_p1_s4_r2_a42,0,85,4,26,4,6567,7521.806,7671.768,10977.82,10977.85,11079.5,11079.5,18.4128,0,Done
fam_p1_s4_r2_a42,0,86,3,32,6,6573.973,7854.551,7985.637,11073.87,11073.88,11283.21,11283.21,23.5277,0,Done
fam_p1_s4_r2_a42,0,87,1,36,2,6605.749,7522.852,7695.176,11278.18,11320.46,11421.91,11421.91,18.1571,0,Done
fam_p1_s4_r2_a42,0,88,3,9,4,6679.36,7944.299,8051.927,11060.67,11060.68,11182,11182,22.8761,0,Done
fam_p1_s4_r2_a42,0,89,2,34,2,6799.29,8010.241,8204.081,11574.97,11575.01,11666.5,11666.5,23.4132,0,Done
fam_p1_s4_r2_a42,0,90,2,42,6,6970.518,8230.029,8424.068,11472.59,11472.61,11573.67,11573.67,24.2258,0,Done
fam_p1_s4_r2_a42,0,91,2,8,4,7096.922,8452.905,8817.127,11844.33,11870.1,11970.61,11970.61,28.6701,0,Done
fam_p1_s4_r2_a42,0,92,4,6,4,7114.254,8773.448,8959.618,12351.24,12351.27,12451.77,12451.77,30.7561,0,Done
```

#### dishes.csv

```text
condition_id,seed,t_s,dish_id,table_id,robot_id,fragile,ready_s,waited_s,requeued_so_far,why
fam_p1_s4_r2_a42,0,2969.992,50,16,1,0,2369.306,600.686,1,打ち切り
fam_p1_s4_r2_a42,0,3731.385,71,39,2,1,3102.621,628.7634,1,打ち切り
fam_p1_s4_r2_a42,0,5239.556,103,6,1,0,4636.969,602.5869,1,打ち切り
fam_p1_s4_r2_a42,0,5283.534,104,4,2,0,4669.043,614.4902,1,打ち切り
fam_p1_s4_r2_a42,0,5906.242,113,1,2,0,5065.887,840.3545,1,打ち切り
fam_p1_s4_r2_a42,0,5906.242,104,4,2,0,4669.043,1237.198,2,打ち切り
fam_p1_s4_r2_a42,0,8749.044,192,23,2,0,8045.602,703.4419,1,打ち切り
fam_p1_s4_r2_a42,0,8749.044,193,20,2,0,8051.828,697.2163,1,打ち切り
fam_p1_s4_r2_a42,0,8749.044,194,26,2,0,8081.412,667.6323,1,打ち切り
fam_p1_s4_r2_a42,0,8867.43,196,7,1,1,8148.698,718.7319,1,打ち切り
```

#### contacts.csv

```text
condition_id,seed,t_s,x,z,aisle,place,who,careless,robot_id,gap_cm
fam_p1_s4_r2_a42,0,2406.042,9.7387,4.533,,,スタッフ:Staff04,0,2,9.4996
fam_p1_s4_r2_a42,0,2692.771,15.1228,6.0865,,,スタッフ:Staff03,0,2,9.2927
fam_p1_s4_r2_a42,0,2832.308,11.5373,4.55,,,スタッフ:Staff02,0,1,9.8942
fam_p1_s4_r2_a42,0,2931.705,9.0659,4.8812,A03,,スタッフ:Staff02,0,2,9.9774
fam_p1_s4_r2_a42,0,2999.17,12.6,4.9714,,,スタッフ:Staff01,0,1,9.7594
fam_p1_s4_r2_a42,0,3329.393,9.4938,4.939,A03,,スタッフ:Staff03,0,1,8.985
fam_p1_s4_r2_a42,0,3515.925,10.3084,4.1549,,,スタッフ:Staff03,0,1,8.4093
fam_p1_s4_r2_a42,0,3573.531,9.4616,4.799,,,スタッフ:Staff01,0,1,9.9693
fam_p1_s4_r2_a42,0,3622.278,11.3656,4.55,,,スタッフ:Staff02,0,2,9.8673
fam_p1_s4_r2_a42,0,3631.137,9.4603,4.7943,,,スタッフ:Staff04,0,1,9.7033
fam_p1_s4_r2_a42,0,3681.786,10.4582,3.8854,,,スタッフ:Staff01,0,1,9.3308
fam_p1_s4_r2_a42,0,3699.954,9.4602,5.0234,A03,,客:Guest(Clone),0,2,9.1339
fam_p1_s4_r2_a42,0,3712.016,9.1026,4.8173,A03,,客:Guest(Clone),0,2,9.8549
fam_p1_s4_r2_a42,0,3731.385,15.0021,5.5742,,,客:Guest(Clone),0,2,2.9589
fam_p1_s4_r2_a42,0,3828.83,5.7266,4.822,A02,,客:Guest(Clone),0,2,6.766
fam_p1_s4_r2_a42,0,3892.192,8.9,11.7388,A03,,スタッフ:Staff02,0,1,9.4069
fam_p1_s4_r2_a42,0,3929.328,8.9753,4.8623,A03,,スタッフ:Staff03,0,2,8.213
fam_p1_s4_r2_a42,0,3967.615,13.5207,8.8332,,,スタッフ:Staff01,1,2,9.2989
fam_p1_s4_r2_a42,0,4022.018,5.5529,4.8858,A02,,スタッフ:Staff02,0,1,9.919
fam_p1_s4_r2_a42,0,4024.871,5.8,4.7888,,,客:Guest(Clone),0,1,9.2488
fam_p1_s4_r2_a42,0,4030.076,5.7238,4.8322,A02,,客:Guest(Clone),0,1,9.28
fam_p1_s4_r2_a42,0,4084.079,5.9926,4.5574,,,スタッフ:Staff02,0,1,9.2356
fam_p1_s4_r2_a42,0,4205.611,9.2975,7.0361,A03,,客:Guest(Clone),0,2,-0.1834
fam_p1_s4_r2_a42,0,4277.081,5.0976,4.5442,,,スタッフ:Staff03,0,1,-0.209
fam_p1_s4_r2_a42,0,4316.376,5.2,4.7934,,,客:Guest(Clone),0,1,9.1806
fam_p1_s4_r2_a42,0,4339.635,5.3062,10.7161,A02,,スタッフ:Staff02,0,2,9.3985
fam_p1_s4_r2_a42,0,4369.568,5.7778,5.9142,A02,,スタッフ:Staff02,0,2,9.2588
fam_p1_s4_r2_a42,0,4509.519,6.6972,4.5243,,,スタッフ:Staff04,1,1,9.5592
fam_p1_s4_r2_a42,0,4601.658,15.576,4.3294,,,スタッフ:Staff03,0,1,9.7881
fam_p1_s4_r2_a42,0,4683.537,5.4653,4.8594,A02,,客:Guest(Clone),0,1,9.3658
fam_p1_s4_r2_a42,0,4715.959,12.7369,4.1601,,,客:Guest(Clone),1,2,9.047
fam_p1_s4_r2_a42,0,4781.204,5.6021,4.8781,A02,,客:Guest(Clone),1,1,8.7574
fam_p1_s4_r2_a42,0,4783.943,5.5907,4.881,A02,,客:Guest(Clone),0,1,9.1227
fam_p1_s4_r2_a42,0,4862.584,5.7295,4.8058,A02,,客:Guest(Clone),0,1,2.5137
fam_p1_s4_r2_a42,0,4868.81,6.6298,4.5414,,,客:Guest(Clone),1,2,9.4857
fam_p1_s4_r2_a42,0,4948.597,5.3576,4.8067,A02,,スタッフ:Staff04,0,1,8.9265
fam_p1_s4_r2_a42,0,5007.666,5.7776,4.865,A02,,スタッフ:Staff04,0,1,9.4202
fam_p1_s4_r2_a42,0,5070.668,5.3675,4.8204,A02,,客:Guest(Clone),0,1,9.6288
fam_p1_s4_r2_a42,0,5176.055,5.4116,4.8416,A02,,スタッフ:Staff02,0,1,9.592
fam_p1_s4_r2_a42,0,5475.182,5.7603,4.8045,A02,,スタッフ:Staff02,0,2,8.9545
fam_p1_s4_r2_a42,0,5741.139,2.15,5.1408,A01,,スタッフ:Staff02,0,2,-7.5837
fam_p1_s4_r2_a42,0,5768.781,2.1452,5.6759,A01,,スタッフ:Staff02,0,1,9.4285
fam_p1_s4_r2_a42,0,5929.75,5.3869,4.8114,A02,,スタッフ:Staff01,0,2,9.2276
fam_p1_s4_r2_a42,0,5944.99,5.4099,4.8326,A02,,スタッフ:Staff04,0,2,9.9389
fam_p1_s4_r2_a42,0,6009.885,6.1743,4.55,,,スタッフ:Staff02,0,2,9.6149
fam_p1_s4_r2_a42,0,6134.048,5.91,3.4387,,,スタッフ:Staff02,1,1,8.7553
fam_p1_s4_r2_a42,0,6138.431,5.1685,4.6875,,,スタッフ:Staff03,0,2,8.0584
fam_p1_s4_r2_a42,0,6178.026,5.2557,4.8496,A02,,スタッフ:Staff02,0,2,9.3173
fam_p1_s4_r2_a42,0,6296.013,2.6728,4.55,,,スタッフ:Staff02,0,2,8.0493
fam_p1_s4_r2_a42,0,6711.583,17.04,2.55,,,スタッフ:Staff03,1,1,9.6748
fam_p1_s4_r2_a42,0,7218.396,8.534,4.5337,,,スタッフ:Staff02,1,1,9.4015
fam_p1_s4_r2_a42,0,7405.413,13.7438,5.5002,,,スタッフ:Staff04,0,2,8.0751
fam_p1_s4_r2_a42,0,7585.556,12.101,4.5498,,,スタッフ:Staff02,0,1,9.7801
fam_p1_s4_r2_a42,0,7759.972,12.3088,4.0856,,,客:Guest(Clone),1,1,9.7679
fam_p1_s4_r2_a42,0,8274.505,13.4883,5.3034,,,スタッフ:Staff01,1,1,9.2359
fam_p1_s4_r2_a42,0,8471.781,12.7706,4.9278,,,スタッフ:Staff01,0,1,9.5295
fam_p1_s4_r2_a42,0,8537.025,12.7407,4.8819,,,スタッフ:Staff03,0,2,8.6212
fam_p1_s4_r2_a42,0,8583.145,11.9366,4.5339,,,スタッフ:Staff04,1,2,9.3493
fam_p1_s4_r2_a42,0,8588.822,12.7744,4.9126,,,スタッフ:Staff02,0,1,8.8101
fam_p1_s4_r2_a42,0,8848.006,5.7967,4.7561,,,スタッフ:Staff01,0,1,8.1731
fam_p1_s4_r2_a42,0,9122.181,6.5028,4.55,,,スタッフ:Staff02,0,2,9.3401
fam_p1_s4_r2_a42,0,9305.611,5.7586,4.8379,A02,,客:Guest(Clone),0,2,9.6229
fam_p1_s4_r2_a42,0,9370.507,5.571,4.8169,A02,,客:Guest(Clone),0,1,9.8165
fam_p1_s4_r2_a42,0,9371.852,5.2213,5.0006,A02,,客:Guest(Clone),0,1,9.8347
fam_p1_s4_r2_a42,0,9571.618,5.7776,4.7412,,,客:Guest(Clone),0,2,-5.2689
fam_p1_s4_r2_a42,0,9582.525,5.0727,4.6227,,,客:Guest(Clone),0,2,9.6319
fam_p1_s4_r2_a42,0,9675.112,5.1051,4.6465,,,客:Guest(Clone),0,2,9.967
fam_p1_s4_r2_a42,0,9675.461,5.7576,4.5485,,,客:Guest(Clone),0,2,8.975
fam_p1_s4_r2_a42,0,9676.557,5.1059,4.6459,,,客:Guest(Clone),0,2,9.8754
fam_p1_s4_r2_a42,0,9726.262,4.9877,4.55,,,スタッフ:Staff01,0,2,9.4271
fam_p1_s4_r2_a42,0,9775.419,6.7993,4.55,,,スタッフ:Staff04,0,1,9.5858
fam_p1_s4_r2_a42,0,9796.885,5.0056,4.5556,,,スタッフ:Staff01,1,2,8.5702
fam_p1_s4_r2_a42,0,9866.163,4.9889,4.55,,,スタッフ:Staff02,0,2,9.3429
fam_p1_s4_r2_a42,0,9989.031,5.7865,4.56,,,スタッフ:Staff02,0,1,9.7089
fam_p1_s4_r2_a42,0,10134.26,14.8417,5.6585,,,スタッフ:Staff01,0,2,9.317
fam_p1_s4_r2_a42,0,10143.87,14.8344,5.6871,,,スタッフ:Staff02,0,2,8.47
fam_p1_s4_r2_a42,0,10156.47,9.9324,4.547,,,スタッフ:Staff01,1,1,9.4507
fam_p1_s4_r2_a42,0,10188.6,14.8278,5.7097,,,スタッフ:Staff01,1,1,7.9854
fam_p1_s4_r2_a42,0,10199.31,14.8099,5.7121,,,スタッフ:Staff03,0,1,9.4809
fam_p1_s4_r2_a42,0,10218.88,14.8018,5.717,,,スタッフ:Staff04,0,1,9.9999
fam_p1_s4_r2_a42,0,10238.55,14.8224,5.71,,,スタッフ:Staff03,0,1,8.451
fam_p1_s4_r2_a42,0,10252.5,14.8761,5.6244,,,スタッフ:Staff04,0,1,8.4508
fam_p1_s4_r2_a42,0,10253.64,14.8106,6.1802,,,客:Guest(Clone),0,1,9.0822
fam_p1_s4_r2_a42,0,10351.66,14.7764,5.9879,,,スタッフ:Staff02,0,2,7.5
fam_p1_s4_r2_a42,0,10357.49,14.9392,5.5602,,,スタッフ:Staff03,0,2,8.1199
fam_p1_s4_r2_a42,0,10360.47,14.7757,5.9837,,,スタッフ:Staff02,0,2,7.5366
fam_p1_s4_r2_a42,0,10365.36,14.81,5.7082,,,スタッフ:Staff04,0,2,9.6413
fam_p1_s4_r2_a42,0,10367.3,15.0099,5.5119,,,スタッフ:Staff03,0,2,7.5493
fam_p1_s4_r2_a42,0,10381.09,14.8063,5.7077,,,スタッフ:Staff04,0,2,9.9996
fam_p1_s4_r2_a42,0,10413.92,8.2604,4.0514,,,客:Guest(Clone),1,1,8.9854
fam_p1_s4_r2_a42,0,10420.14,14.8057,5.7088,,,スタッフ:Staff01,0,2,9.9997
fam_p1_s4_r2_a42,0,10461.08,15.3813,5.406,,,スタッフ:Staff03,0,2,9.9998
fam_p1_s4_r2_a42,0,10469.35,15.4488,5.4243,,,スタッフ:Staff03,0,2,9.6384
fam_p1_s4_r2_a42,0,10487.83,14.75,5.953,,,スタッフ:Staff02,0,2,10
fam_p1_s4_r2_a42,0,10492.86,14.7617,5.9703,,,スタッフ:Staff02,0,2,8.8647
fam_p1_s4_r2_a42,0,10515.22,14.8245,5.7129,,,スタッフ:Staff04,1,2,8.1319
fam_p1_s4_r2_a42,0,10536.38,14.83,5.7161,,,スタッフ:Staff04,0,2,7.5002
fam_p1_s4_r2_a42,0,10612.69,14.7529,5.9598,,,スタッフ:Staff02,0,2,9.7153
fam_p1_s4_r2_a42,0,10626.88,14.7533,5.9635,,,スタッフ:Staff03,0,2,9.6904
fam_p1_s4_r2_a42,0,10630.76,15.2914,5.4251,,,スタッフ:Staff02,0,2,7.5003
fam_p1_s4_r2_a42,0,10660.55,14.7558,6.0006,,,スタッフ:Staff03,0,2,9.653
fam_p1_s4_r2_a42,0,10701.64,14.7544,6.0051,,,スタッフ:Staff01,0,2,9.8427
fam_p1_s4_r2_a42,0,10714.49,14.7608,6.002,,,スタッフ:Staff01,0,2,9.1738
fam_p1_s4_r2_a42,0,10757.57,14.7588,5.9791,,,スタッフ:Staff04,0,2,9.199
fam_p1_s4_r2_a42,0,10764.29,14.8264,5.7079,,,スタッフ:Staff03,0,2,8.1909
fam_p1_s4_r2_a42,0,10779.43,15.7404,5.6582,,,スタッフ:Staff04,0,2,7.8312
fam_p1_s4_r2_a42,0,10786.35,14.8499,5.634,,,スタッフ:Staff03,0,2,9.9998
fam_p1_s4_r2_a42,0,10806.67,14.8078,5.7046,,,スタッフ:Staff02,0,2,10
fam_p1_s4_r2_a42,0,10827.99,14.83,5.7162,,,スタッフ:Staff02,0,2,7.5001
fam_p1_s4_r2_a42,0,10945.58,14.8322,5.7116,,,スタッフ:Staff01,0,2,7.5001
fam_p1_s4_r2_a42,0,10979.85,14.8277,5.7072,,,スタッフ:Staff01,0,2,8.1053
fam_p1_s4_r2_a42,0,11029.85,14.8231,5.7101,,,スタッフ:Staff02,0,2,8.3825
fam_p1_s4_r2_a42,0,11043.55,14.8238,5.7087,,,スタッフ:Staff02,0,2,8.3879
fam_p1_s4_r2_a42,0,11091.16,14.827,5.7199,,,スタッフ:Staff03,0,2,7.5991
fam_p1_s4_r2_a42,0,11109.59,15.4809,5.4572,,,スタッフ:Staff03,0,2,7.5
fam_p1_s4_r2_a42,0,11140.57,14.7658,5.9961,,,スタッフ:Staff01,0,2,8.6147
fam_p1_s4_r2_a42,0,11164.77,14.7602,6.0154,,,スタッフ:Staff01,0,2,9.3755
fam_p1_s4_r2_a42,0,11242.91,14.8312,5.7137,,,スタッフ:Staff03,0,2,7.5001
fam_p1_s4_r2_a42,0,11263.98,14.8313,5.7136,,,スタッフ:Staff03,0,2,7.5003
fam_p1_s4_r2_a42,0,11302.53,14.7725,6.0633,,,客:Guest(Clone),0,2,8.9567
fam_p1_s4_r2_a42,0,11334.46,14.848,5.6366,,,スタッフ:Staff01,0,2,9.9996
fam_p1_s4_r2_a42,0,11346.96,14.851,5.6458,,,スタッフ:Staff01,0,2,9.231
fam_p1_s4_r2_a42,0,11471.62,15.4809,5.4572,,,スタッフ:Staff01,0,2,7.5
fam_p1_s4_r2_a42,0,11480.48,15.4888,5.4334,,,スタッフ:Staff01,0,2,9.9999
fam_p1_s4_r2_a42,0,11576.11,14.7996,5.7436,,,スタッフ:Staff01,0,2,9.1324
fam_p1_s4_r2_a42,0,11627.8,15.7404,5.6582,,,スタッフ:Staff01,0,2,7.8312
fam_p1_s4_r2_a42,0,11639.76,15.7504,5.6515,,,スタッフ:Staff01,0,2,9.0329
fam_p1_s4_r2_a42,0,11691.36,15.5161,5.4529,,,スタッフ:Staff01,0,2,9.2031
fam_p1_s4_r2_a42,0,11721.89,15.2914,5.4251,,,スタッフ:Staff02,0,2,7.5003
fam_p1_s4_r2_a42,0,11729.9,15.2913,5.4216,,,スタッフ:Staff02,0,2,7.8518
fam_p1_s4_r2_a42,0,12041.33,14.8121,5.7022,,,スタッフ:Staff01,0,2,9.7199
fam_p1_s4_r2_a42,0,12081.13,14.8092,5.7018,,,スタッフ:Staff01,0,2,9.9996
fam_p1_s4_r2_a42,0,12514.18,14.8216,5.706,,,スタッフ:Staff01,0,2,8.7042
fam_p1_s4_r2_a42,0,12546.4,14.8157,5.7035,,,スタッフ:Staff01,0,2,9.3398
```

#### conditions.json

```json
{
  "run_name": "family_v0",
  "written_at": "2026-10-23 11:49:14",
  "unity_version": "2022.3.62f3",
  "trips_csv_columns": "condition_id,aisle_width_m,crowd,robots,seed,robot_id,trip_id,table_id,distance_m,total_s,stopped_s,n_stops,stop_durations_s,stuck,timeout,wait_aisle_s,max_decel_mps2,min_clearance_m,met_robot,table_ids,dishes,dish_ready_s,dish_arrived_s,undelivered,speed_mps,stuck_count,stuck_wait_s,via_narrow,stops_in_narrow,stops_out_narrow,stopped_in_narrow_s,stopped_out_narrow_s",
  "settings": {
    "store_layout": {"aisleWidthOptions":[1.2000000476837159],"aisleWidthIndex":0,"deliveryOffsetFromAisleCenter":0.0,"aisleEntranceSetback":0.800000011920929,"aisleEntranceSideOffset":0.44999998807907107,"wallHeight":2.700000047683716,"wallThickness":0.15000000596046449,"floorThickness":0.20000000298023225,"showAisleMarks":true,"aisleMarkThickness":0.019999999552965165,"showFloorPaint":true,"floorPaintCellSize":0.05000000074505806,"floorPaintHeight":0.029999999329447748,"navAgentRadius":0.25,"navAgentHeight":1.2000000476837159,"navAgentClimb":0.20000000298023225,"navAgentSlope":10.0,"navVoxelSize":0.05000000074505806,"navMinRegionArea":0.30000001192092898,"navBoundsPadding":1.0,"layoutJson":{"instanceID":29208},"summaryJson":{"instanceID":29202},"layoutFileName":"p1_efficient_corner","fetchedAt":"2026-10-22 20:23:50 JST（版 9628954a582f）","sourceUrl":"https://pixelstomotors.com/sim/layouts/unity/p1_efficient_corner.json","benchBackThickness":0.07999999821186066,"benchSeatInset":0.029999999329447748},
    "robot_spec": {"diameter":0.5,"height":1.2000000476837159,"maxSpeed":0.6000000238418579,"acceleration":1.0,"deceleration":1.0,"turnSpeedDegPerSec":180.0,"sensorRange":0.6000000238418579,"sensorWidth":0.5,"sensorHeight":1.2000000476837159,"resumeAfterClearSec":1.0,"replanAfterStoppedSec":10.0,"stuckAfterStoppedSec":60.0,"stuckRecoveryWaitSec":15.0,"maxTripSec":600.0,"aisleYielding":true,"aisleWaitMaxSec":20.0,"aisleWaitSetbackM":0.8999999761581421,"aisleWaitSideM":0.6000000238418579,"robotYieldAfterSec":2.0,"robotYieldMaxSec":20.0,"robotYieldClearM":0.6000000238418579,"robotYieldBackM":0.8999999761581421,"useReturnLine":true,"passReturnOffsetM":1.0,"passReturnSeparationM":1.0,"passReturnKeepAwayM":0.6000000238418579,"passReturnCheckStepM":0.05000000074505806,"tableDwellSec":25.0,"arriveRadius":0.25,"cornerReachDistance":0.11999999731779099,"stoppedSpeedEpsilon":0.019999999552965165,"clearanceProbeHeight":0.30000001192092898,"clearanceProbeRange":3.0,"pathBlockSearchRadius":2.0,"avoidancePriority":0,"repathRetrySec":1.0,"noPathForceReplanSec":10.0,"escapeToAisleEntranceOnPartialPath":true,"followSiteRoutes":true,"waypointReachDistance":0.25,"routePointSnapM":0.10000000149011612},
    "people_spec": {"personRadius":0.20000000298023225,"personHeight":1.7000000476837159,"seatedBodyHeight":1.350000023841858,"seatedSeatHeight":0.44999998807907107,"staffCount":4,"staffSpeed":1.0,"staffTaskWeights":[1.0,1.0,1.0,1.0,1.0],"staffDwellAtPassSec":0.0,"staffDwellAtTableSec":5.0,"staffDwellAtReturnSec":5.0,"staffDwellAtPantrySec":5.0,"staffDwellAtWaitingSec":5.0,"staffDwellAtRegisterSec":30.0,"guestCountByCrowd":[1,4,8],"guestSpeed":0.800000011920929,"guestTripWeights":[1.0,1.0,1.0],"guestDwellAtPoiSec":10.0,"guestDwellAtRegisterSec":20.0,"guestDwellAtTableSec":30.0,"warmupOccupancy":0.800000011920929,"jamNarrowAfterSec":1.0,"jamNarrowRadius":0.11999999731779099,"jamBackOffAfterSec":3.0,"jamStuckSpeed":0.05000000074505806,"waitingCountByCrowd":[0,2,5],"waitingShuffleSec":25.0,"chairPullHoldSec":30.0,"chairPullDistance":0.30000001192092898,"chairPullIdleMeanIntervalSec":1800.0,"guestGiveUpSec":60.0,"guestWarpHomeSec":60.0,"staffGiveUpSec":60.0,"staffGiveUpMaxTries":3,"registerBackArea":3,"avoidancePriority":50,"avoidanceQuality":3,"acceleration":2.0,"angularSpeedDegPerSec":360.0,"stoppingDistance":0.30000001192092898,"robotYieldEnabled":true,"robotAisleLookAheadM":3.0,"robotAisleMarginM":0.30000001192092898,"robotDetourExtraMaxM":5.0,"robotFaceToFaceM":1.5,"robotKeepClearM":0.30000001192092898,"robotSideStepM":0.5,"robotBackOffSearchM":4.0,"robotPassedClearM":0.5,"robotYieldMaxSec":20.0,"robotCarelessChance":0.019999999552965165,"robotContactGapM":0.10000000149011612,"robotNudgeSpeedMps":0.5},
    "experiment_plan": {"runName":"family_v0","aisleWidthIndices":[0,1,2],"crowdLevels":[0,1,2],"robotCounts":[1,2],"tripsPerCondition":100,"seeds":[0,1,2,3,4],"timeScale":1.0,"kioxiaVolumePath":"/Volumes/KIOXIA","kioxiaOutputRoot":"/Volumes/KIOXIA/r2r2r-data/service_sim/unity","trialAisleWidthIndex":1,"trialCrowd":1,"trialRobots":2,"trialSeed":0,"trialTrips":20,"trialTimeScaleFast":10.0,"trialCaptureDeltaTime":0.019999999552965165,"trialMaxWallSeconds":2400.0,"trialOutputRoot":"/Users/shimazueiichi/ServiceSim_tmp","measureMinutes":120.0,"warmupMinutes":15.0,"measureCaptureDeltaTime":0.05000000074505806,"referenceCaptureDeltaTime":0.019999999552965165,"disableRenderingWhileRunning":false,"showLabelsWhileRunning":false,"stage3OutputRoot":"/Users/shimazueiichi/ServiceSim_tmp/stage3","stage3Resume":true,"screenshotDir":"/Users/shimazueiichi/Library/Mobile Documents/com~apple~CloudDocs/デスクトップ/ADAPT DESIGN/じぶんの/PixelstoMotors/デジタルツイン学習R2R2R/サービスロボット導入シミュレーション/unity/screens","screenshotWidth":1920,"screenshotHeight":1080}
  },
  "derived": {
    "store_kind": "JsonStoreLayout(p1_efficient_corner)",
    "aisle_width_m": 1.2,
    "floor_min_x": 0,
    "floor_max_x": 24,
    "floor_min_z": 0,
    "floor_max_z": 16,
    "outer_size_x_m": 24,
    "outer_size_z_m": 16,
    "table_count": 42,
    "aisle_count": 3,
    "narrow_aisle_count": 3
  },
  "conditions": [
    {"condition_id": "w120_empty_r1", "aisle_width_m": 1.2, "aisle_width_index": 0, "crowd": "empty", "walkers": 5, "robots": 1, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w120_empty_r2", "aisle_width_m": 1.2, "aisle_width_index": 0, "crowd": "empty", "walkers": 5, "robots": 2, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w120_normal_r1", "aisle_width_m": 1.2, "aisle_width_index": 0, "crowd": "normal", "walkers": 8, "robots": 1, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w120_normal_r2", "aisle_width_m": 1.2, "aisle_width_index": 0, "crowd": "normal", "walkers": 8, "robots": 2, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w120_busy_r1", "aisle_width_m": 1.2, "aisle_width_index": 0, "crowd": "busy", "walkers": 12, "robots": 1, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w120_busy_r2", "aisle_width_m": 1.2, "aisle_width_index": 0, "crowd": "busy", "walkers": 12, "robots": 2, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_empty_r1", "aisle_width_m": 0, "aisle_width_index": 1, "crowd": "empty", "walkers": 5, "robots": 1, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_empty_r2", "aisle_width_m": 0, "aisle_width_index": 1, "crowd": "empty", "walkers": 5, "robots": 2, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_normal_r1", "aisle_width_m": 0, "aisle_width_index": 1, "crowd": "normal", "walkers": 8, "robots": 1, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_normal_r2", "aisle_width_m": 0, "aisle_width_index": 1, "crowd": "normal", "walkers": 8, "robots": 2, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_busy_r1", "aisle_width_m": 0, "aisle_width_index": 1, "crowd": "busy", "walkers": 12, "robots": 1, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_busy_r2", "aisle_width_m": 0, "aisle_width_index": 1, "crowd": "busy", "walkers": 12, "robots": 2, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_empty_r1", "aisle_width_m": 0, "aisle_width_index": 2, "crowd": "empty", "walkers": 5, "robots": 1, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_empty_r2", "aisle_width_m": 0, "aisle_width_index": 2, "crowd": "empty", "walkers": 5, "robots": 2, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_normal_r1", "aisle_width_m": 0, "aisle_width_index": 2, "crowd": "normal", "walkers": 8, "robots": 1, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_normal_r2", "aisle_width_m": 0, "aisle_width_index": 2, "crowd": "normal", "walkers": 8, "robots": 2, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_busy_r1", "aisle_width_m": 0, "aisle_width_index": 2, "crowd": "busy", "walkers": 12, "robots": 1, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true},
    {"condition_id": "w000_busy_r2", "aisle_width_m": 0, "aisle_width_index": 2, "crowd": "busy", "walkers": 12, "robots": 2, "trips": 100, "seeds": [0, 1, 2, 3, 4], "aisle_yielding": true}
  ]
}
```


## Build Store の店の報告（cs:121 のあと・2026-10-23 09:01）

```text
ServiceSim 店の報告（v1 ファミレス型）
作った日時: 2026-10-23 09:01:21
Unity: 2022.3.62f3
run_name: family_v0

描画方式
GraphicsSettings.currentRenderPipeline: null（Built-in）
GraphicsSettings.defaultRenderPipeline: null（Built-in）
QualitySettings（レベルごとの上書き）: 6 レベル
  [0] Very Low: 上書きなし（既定を使う）
  [1] Low: 上書きなし（既定を使う）
  [2] Medium: 上書きなし（既定を使う）
  [3] High: 上書きなし（既定を使う）
  [4] Very High: 上書きなし（既定を使う）
  [5] Ultra: 上書きなし（既定を使う）
いま選ばれている品質レベル: 5
判定: Built-in
メモ: Built-in として扱います。URP を使うつもりなら、Graphics Settings に入れた
      パイプラインアセットが読めていない可能性があります（スクリプト参照切れなど）。
      ServiceSim は描画方式そのものを変えません。
使うシェーダー: Built-in（currentRenderPipeline が null）→ Shader.Find("Standard")

いまの設定
  店の形: StoreLayout_p1_efficient_corner（JsonStoreLayout(p1_efficient_corner)）
  細い通路の幅: 1.2 m
  通路の譲り合い: あり
  1往復の打ち切り: 600 秒

店の中身
  卓: 42
    壁際ブース 33 / 壁沿いの卓 8 / 島の卓 0
    2人席 8 / 4人席 34 → 席の合計 160
  通路: 3（うち細い通路 3）
    [0] A01 幅 1.2 m（細い）
    [1] A02 幅 1.2 m（細い）
    [2] A03 幅 1.2 m（細い）
  場所の点: 受け渡し口(15.3,5.95) 返却口(15.3,5.95) パントリー(15.3,5.95) レジ(4.7,3.3) トイレ(3.4,14.9) ドリンクバー(18.8,3.9) 入口(1.8,0.5) 待合(0.9,2.1) 

人（普通の混み具合）
  スタッフ 2 / 座っている客（椅子を引く仕掛け） 42
  ロボット（見た目の確認用） 2

入口まわり（ドリンクバー・待合・レジ・入口）
  JSON から建てた店（Unity では形を作っていない）
    ファイル: p1_efficient_corner / 名前: ③ 効率重視型・入口が左下の角
    版の番号 (meta.generation): 9628954a582f
    写した日時: 2026-10-22 20:23:50 JST（版 9628954a582f）
    写し元: https://pixelstomotors.com/sim/layouts/unity/p1_efficient_corner.json
    卓 42 / 席 160 / 細い通路 3 本（幅 1.2 m）
    通れない部屋 9 / 通れる部屋 1（うちスタッフだけ 1）
    場所の点 26 / 壁 9 / 仕切り 0 / 椅子 8 / 席に着く点 45 / 座る位置 160
    道順 (routes): 受け渡し口から 42 本 / 卓から卓 861 本（狭い道を使うかは routes の use が正。Unity では印を持たない）
    doors: 0（壁の切れ目として、もう空いている）
    refuges（よけ場所）: 0（JSON にまだ無い。空のまま）
    止まる位置は JSON の stop をそのまま使う（deliveryOffsetFromAisleCenter と aisleEntranceSetback は使わない）
    合わないもの: なし

床の塗り分け（見た目だけ。NavMesh は変えない）
  ロボットの体が入れる床（水色）: 191.37 m2（157 枚）
  人だけが入れる床（薄い黄色）: 0 m2（0 枚）
  作り方: ロボット用 NavMesh（半径 0.25 m）を 0.25 m 外へ広げた範囲／人用 NavMesh（半径 0.2 m）を 0.2 m 広げた範囲から前者を引いた範囲。マス 0.05 m
  すき間が 0.5 m より狭いところは、ロボット用 NavMesh が無いので水色にならない

場所の名前（真上の画面に出す文字）
  12 個（Scene ビューに、吹き出しと同じ作りで出す。小さい字・薄い背景・枠つき。置く位置はその場所の床の真ん中）
  入口: (1.8, 0.5)
  待合: (0.25, 2.1)
  レジ: (4.7, 2.55)
  レジの内側: (4.7, 1.75)
  厨房: (20.15, 11.25)
  受け渡し口: (15.3, 6.7)
  返却口: (15.3, 6.7)
  パントリー: (15.3, 10.15)
  ドリンクバー: (18.8, 3.15)
  トイレ: (1.4, 14.9)
  ロボット待機×3: (17.7, 6.05)
  スタッフ待機×6: (13.75, 8.33)

ロボットの経路が、ロボット用の面だけを通っているか
  経路 42 本 / 経路の点 189 個を、ロボット用の面（半径 0.25 m）で確かめた
    ロボット用の面に乗っていない点: 0 個 → ロボットはロボット用の面だけを通っている

レジの内側（店員側）に入れるか
  店員側: x 3.3..6.1 / z 1.3..2.2（2.8 × 0.9 m）
    スタッフが立つ点: (4.7, 1.75)
    人用（半径 0.2 m）: 寄せられた先 (4.7, 1.75) / 元からの距離 0 m / 店員側の中 / 受け渡し口から 11.44 m で行ける
      歩ける幅: 東西 2.82 m / 南北 0.72 m / 入口（西のふち）0.72 m
    ロボット用（半径 0.25 m）: 寄せられた先 (4.7, 1.75) / 元からの距離 0 m / 店員側の中 / 受け渡し口から 11.45 m で行ける
      歩ける幅: 東西 2.82 m / 南北 0.68 m / 入口（西のふち）0.68 m  ← 入口が 0.7 m 未満。registerBackDepthZ を広げる
  

細い通路の、焼いた NavMesh の歩ける幅
  ロボット用（通行半径 0.25 m）: 計算上は「通路の幅 − 0.5 m」
    A01: 通路 1.2 m / 計算上 0.7 m / 焼いた面のいちばん狭いところ 0.68 m
    A02: 通路 1.2 m / 計算上 0.7 m / 焼いた面のいちばん狭いところ 0.62 m  ← 0.08 m 足りない。左右にあるもの: 何もない / 何もない
    A03: 通路 1.2 m / 計算上 0.7 m / 焼いた面のいちばん狭いところ 0.62 m  ← 0.08 m 足りない。左右にあるもの: 何もない / 何もない
    細い通路 3 本 → 2 本が計算上より狭い ← 直す必要あり
  人用（通行半径 0.2 m）: 計算上は「通路の幅 − 0.4 m」
    A01: 通路 1.2 m / 計算上 0.8 m / 焼いた面のいちばん狭いところ 0.78 m
    A02: 通路 1.2 m / 計算上 0.8 m / 焼いた面のいちばん狭いところ 0.74 m  ← 0.06 m 足りない。左右にあるもの: 何もない / 何もない
    A03: 通路 1.2 m / 計算上 0.8 m / 焼いた面のいちばん狭いところ 0.78 m
    細い通路 3 本 → 1 本が計算上より狭い ← 直す必要あり

通れない場所に NavMesh が入っていないか
    パントリー（x 14.3..16.3 / z 6.5..13.8）: 歩ける面 0 m2
    厨房（x 16.3..21.6 / z 6.5..13.8）: 歩ける面 0 m2
    厨房（x 21.6..24 / z 10.15..13.8）: 歩ける面 0 m2
    事務所（x 21.6..24 / z 6.5..10.15）: 歩ける面 0 m2
    厨房（x 16.3..24 / z 14.8..16）: 歩ける面 0 m2
    トイレ（x 0..2.8 / z 13.8..16）: 歩ける面 0 m2
    待合（x 0..0.5 / z 0.9..3.3）: 歩ける面 0 m2
    レジ（x 3.3..6.1 / z 2.2..2.9）: 歩ける面 0 m2
    ドリンクバー（x 16.8..20.8 / z 2.8..3.5）: 歩ける面 0 m2
  通れない場所 すべてに NavMesh は入っていない

席に入れるかの確かめ（通路 → 席の前）
  人が立つ点 45 個（42 卓ぶん）を、通行半径 0.25 m で確かめた
    すべての席に、通路から入れる

行き止まりの確かめ
  ロボット用（半径 0.25 m）
  ふさがないとき: 届かない卓 0 / 42
  細い通路 3 本を1か所ずつふさいで確かめた → どれをふさいでも、ほかの全卓に届く（行き止まりなし）
  人用（半径 0.2 m）
  ふさがないとき: 届かない卓 0 / 42
  細い通路 3 本を1か所ずつふさいで確かめた → どれをふさいでも、ほかの全卓に届く（行き止まりなし）

真上からの見通し（天井・屋根がないかの確認）
  調べた点 43（受け渡し口＋全卓の停止点）
    最初に当たったもの: ServingRobot01 × 1
    最初に当たったもの: Floor01 × 42
    上を覆うもの: 1 点 → ServingRobot01 (y=1.2) 

焼いた NavMesh のしらべ（NavMesh.CalculateTriangulation）
  ロボット用（半径 0.25 m）：三角形 148 / 歩ける面 136.87 m2
    受け渡し口からつながる面: 136.87 m2
    つながっていない面: 0 m2
    いちばん高い歩ける面: y=0.03 m
    area の内訳: area0=135.05m2 area3=1.82m2 
  人用（半径 0.2 m）：三角形 145 / 歩ける面 147.8 m2
    受け渡し口からつながる面: 147.8 m2
    つながっていない面: 0 m2
    いちばん高い歩ける面: y=0.03 m
    area の内訳: area0=145.84m2 area3=1.96m2 

=== StoreLayout_p1_efficient_corner（JsonStoreLayout(p1_efficient_corner)）===
細い通路 1.2 m
  外寸: 24 × 16 m（風除室を含む）
  道のり（受け渡し口 → 卓）: いちばん短い 2.21 m / いちばん長い 19.32 m / 平均 9.95 m
  LOG351 の 6〜22 m に入る卓: 31 / 42
  測れた卓 42 / 測れなかった卓 0

=== StoreLayout_Grid（格子型（比べる用））===
細い通路 0.8 m
  外寸: 9.7 × 16.6 m（風除室を含む）
  道のり（受け渡し口 → 卓）: いちばん短い 5.37 m / いちばん長い 21.1 m / 平均 13.02 m
  LOG351 の 6〜22 m に入る卓: 33 / 35
  測れた卓 35 / 測れなかった卓 0
細い通路 1 m
  外寸: 9.7 × 16.6 m（風除室を含む）
  道のり（受け渡し口 → 卓）: いちばん短い 5.27 m / いちばん長い 21 m / 平均 12.93 m
  LOG351 の 6〜22 m に入る卓: 33 / 35
  測れた卓 35 / 測れなかった卓 0
細い通路 1.2 m
  外寸: 9.7 × 16.6 m（風除室を含む）
  道のり（受け渡し口 → 卓）: いちばん短い 5.19 m / いちばん長い 20.9 m / 平均 12.83 m
  LOG351 の 6〜22 m に入る卓: 33 / 35
  測れた卓 35 / 測れなかった卓 0
```


## 設計書の0.5章（unity_design_v0.md・追記したあと）

```markdown
## 0.5 ゴールと進め方（2026-10-22 エイイチと決めた）

Unity をサイトの試算に完全に合わせることは目指さない。ズレを見つけるたびに直していると終わりがなく、何が達成できたのかが分からなくなるため。Unity は Unity の作りのまま回し切り、サイトとのズレは「直す対象」ではなく「調べる対象（結果）」として扱う。0章の表は、段階Aで店の形と条件をそろえるところまで使い、仕事の決まりや数字の数え方の違いは直さずに段階Cの一覧に入れる。

| 段階 | やること | 終わり |
|---|---|---|
| A. 店を作る | 図面（JSON）のある店を Unity で建てる。店の形と条件（1時間の組数・スタッフ数・ロボット台数）はサイトと同じ。仕事の決まりや数え方は Unity のままでよく、違いは一覧に書くだけ | どの店・どの条件でも最後まで回り切り、逃がし弁（あきらめた・移した・卓を空けた）がほぼ0 |
| B. 回して台帳にまとめる | 1回回すごとに台帳に1行足す（店・条件・乱数の種・結果の数字・ロボットの4つの値・逃がし弁の回数）。台帳の置き場所は先に MASTER の保存先の表に足す | 決めた条件と回数が全部台帳に入る |
| C. ズレを調べる | 同じ店・同じ条件でサイトと Unity の数字を並べ、ズレごとに理由を分ける（1 数え方の違い／2 サイトにない動き＝すれ違い・混雑／3 Unity の作りの問題）。何を直すか（記録する項目・店の作り・サイトの計算）を決める | ズレの一覧と、それぞれの理由・対処が書ける。対処を実際に入れるのは次の版 |

- 店の順番：③⑦で A〜C を一度通してから、ほかの店（②④⑤⑥）を足す（エイイチが (ア) を選んだ）。③⑦で一度ズレの出方を見れば、ほかの店で何を記録すべきかが分かるため
- 問題が出たときに直すのは1回だけ。それでも直らなければ、制約として書いて先へ進む
- 段階Aの区切り（2026-10-23 エイイチと決めた）：③で、助けに行く仕事（cs:117）・台どうしの譲り合い（cs:123）を直したあと、受け渡し口の前の通り方を最後の1回として直す。これで時間切れの往復が大半のままなら、段階Aは③⑦ともここで止め、段階Bへ進む。直す点（受け渡し口まわり・下の通路 z4 のすれ違いなど）は、段階B・Cを進めながら同時に考える
- ロボットの待機場所は受け渡し口の右のまま（2026-10-23 エイイチ：左は客とスタッフの行き来が多く、待機は邪魔になる）。サイトの店の形は変えない
- 次に進みながら考える直す点（2026-10-23 エイイチの指摘から。まだ入れていない）：
  1. レジの置き方。いまはレジに並ぶ点（z 3.8・4.3）が客席の下の通路のまん中にあり、「人が立ち止まっていた」止まりの1位になっている。決まり（エイイチ）：レジの向きは店によって違ってよいが、レジの台・店員の立つ所・会計で並ぶ所で通路を狭くしない。店の形なので、直すときはサイトの店の形の決まり（6店すべて）が先
  2. 同じ卓・同じ通路のまわりに2台のロボットを集めない。いまは2台が同じ通路の入口で鉢合わせて詰まる。料理を割り当てるとき、ほかの台が向かっている・入っている通路の卓は後に回すなど、割り当ての段階で避ける（Unity だけの決まりとして入れ、段階Cの違いの一覧に書く）
- 段階Cの候補として、いま分かっている違い：「席はあるのに待った時間」の数え方（2026-10-22 の cs:116 でサイトと同じ数え方に変えた）／片付けの時間（turn_mean。定義は同じ）／Unity にしかないもの（組の人数・2人席・ドリンクバー・トイレ・椅子を引く・歩く客の数）
```


## コード全量（cs:117〜cs:124 で変わったファイル）

`Assets/ServiceSim/` の下で、cs:116 のあと（2026-10-23 03:00 以降）に変わったファイルを、すべて載せます。シーンのファイル（`Scenes/ServiceSim_Family.unity`・1.8MB）は、建てた店の中身をそのまま書き出したもので、コードではないので載せていません。Tag を足した `ProjectSettings/TagManager.asset` は、最後に載せます。

### Assets/ServiceSim/People/PersonRobotYield.cs

```csharp
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

namespace ServiceSim
{
    /// <summary>
    /// 人がロボットをよける。スタッフと歩く客に付ける。
    ///
    /// 実際の店で、人はロボットに自分から当たりに行かない。いまは人がロボットを
    /// 気にせず歩き、細い通路でロボットを両側からはさんで押し合う場面が出ていたので、
    /// 人の側がよけるようにする。
    ///
    ///   1. 先を見て待つ・回り道する：細い通路に入る前に、その通路の中にロボットがいたら
    ///      入らない。回り道で行けて遠回りが少しなら回り道、なければ通路の入口の
    ///      ロボットの通り道からはずれた場所で待つ
    ///   2. 向かい合ったら下がる：細い通路の中で向かい合って近づいたら、
    ///      近くの交差点か、壁ぞいの卓のすき間（よけ場所）に下がって、通り過ぎてから進む
    ///   3. 間を空ける：広い通路ですれ違うときは、ロボットの外周から少し空ける
    ///   4. まれな不注意：1回の行動につき決めた割合だけ、上を守らない人を混ぜる
    ///
    /// ロボットのふるまいは変えない（NavMesh も経路も触らない）。
    /// この script は人だけを扱う。数字はすべて PeopleSpec の .asset に置く。
    /// </summary>
    [RequireComponent(typeof(NavMeshAgent))]
    public class PersonRobotYield : MonoBehaviour
    {
        /// <summary>いまのよけ方</summary>
        public enum Mode
        {
            Clear,            // ふつうに歩いている
            WaitAtEntrance,   // 細い通路の入口で待っている
            Detour,           // 回り道している
            BackOff           // 通路の中で下がってよけている
        }

        [Header("いまの様子（読むだけ）")]
        [SerializeField] Mode _mode = Mode.Clear;
        [SerializeField] bool _careless;
        [SerializeField] float _modeS;

        PeopleSpec _spec;
        StoreBuilder _store;
        ServiceOps _ops;
        NavMeshAgent _agent;
        PersonBody _body;
        System.Random _rng;

        Vector3 _ownerDest;
        bool _hasOwnerDest;
        Vector3 _goal;              // 待つ・下がる・回り道の行き先
        int _aisle = -1;            // 相手のいる（または入ろうとしている）細い通路
        bool _contactOpen;
        NavMeshPath _path;

        /// <summary>
        /// この台だけはよけない（v5 3章）。
        /// 立ち往生したロボットを動かしに行くスタッフは、その台に近づかないと仕事ができないので、
        /// その台について「横に空ける・下がる・入口で待つ・回り道する」をしない。
        /// ほかの台はこれまでどおりよける。入れるのは StaffAgent（仕事を始めるとき）。
        /// </summary>
        public ServingRobotController ignoreRobot;

        /// <summary>よけている最中か（GuestAgent・StaffAgent が「着いた」と間違えないように読む）</summary>
        public bool Intervening { get { return _mode != Mode.Clear; } }

        /// <summary>よける相手として見るか（ignoreRobot だけは見ない）</summary>
        bool Watches(ServingRobotController r)
        {
            return r != null && r != ignoreRobot;
        }

        /// <summary>いまのよけ方（字幕が読む）</summary>
        public Mode CurrentMode { get { return _mode; } }

        /// <summary>この行動では1〜3を守らない人か（字幕と記録が読む）</summary>
        public bool Careless { get { return _careless; } }

        /// <summary>よけ始めてからの秒数（字幕が読む）</summary>
        public float ModeSeconds { get { return _modeS; } }

        void Awake()
        {
            _agent = GetComponent<NavMeshAgent>();
            _body = GetComponent<PersonBody>();
            _path = new NavMeshPath();
        }

        /// <summary>置いたあとに呼ぶ。人を出す側（PeopleSpawner・GroupManager）が入れる</summary>
        public void Configure(PeopleSpec spec, StoreBuilder store, ServiceOps ops, int seed)
        {
            _spec = spec;
            _store = store;
            _ops = ops;
            if (_rng == null) _rng = new System.Random(seed);
            if (_agent == null) _agent = GetComponent<NavMeshAgent>();
            if (_body == null) _body = GetComponent<PersonBody>();
            if (_path == null) _path = new NavMeshPath();
            Release();
            _hasOwnerDest = false;
            _contactOpen = false;
        }

        void Update()
        {
            if (_spec == null || _agent == null || _store == null) return;
            if (!Application.isPlaying) return;
            if (!_agent.isActiveAndEnabled || !_agent.isOnNavMesh) return;

            float dt = Time.deltaTime;
            if (dt <= 0f) return;

            TrackOwnerDestination();

            // 近づきすぎは、不注意の人もふくめて数える（記録は止めない）
            LogContactIfClose();

            if (!_spec.robotYieldEnabled || _careless)
            {
                if (Intervening) Release();
                return;
            }

            _modeS += dt;
            switch (_mode)
            {
                case Mode.Clear: UpdateClear(); break;
                case Mode.WaitAtEntrance: UpdateWait(dt); break;
                case Mode.Detour: UpdateDetour(); break;
                case Mode.BackOff: UpdateBackOff(dt); break;
            }
        }

        // ---------------- 行動の切り替わりを見る（不注意のくじを引き直す）----------------

        /// <summary>
        /// 持ち主（GuestAgent・StaffAgent）が行き先を変えたら「次の行動」とみなし、
        /// 不注意かどうかを引き直す（1回の行動につき robotCarelessChance）。
        /// </summary>
        void TrackOwnerDestination()
        {
            if (Intervening) return;        // よけている最中は自分が行き先を持っている

            Vector3 d = _agent.destination;
            if (_hasOwnerDest && (d - _ownerDest).sqrMagnitude < 0.01f) return;

            _ownerDest = d;
            _hasOwnerDest = true;
            _careless = _rng != null && _rng.NextDouble() < _spec.robotCarelessChance;
        }

        // ---------------- ふつうに歩いているとき ----------------

        void UpdateClear()
        {
            int here = NarrowAisleAt(transform.position, 0f);
            if (here >= 0)
            {
                // 2. 細い通路の中。向かい合って近づいたら下がる。
                // 通路の中では横に押さない（壁に押し付けることになる）
                ServingRobotController r = FacingRobotInAisle(here);
                if (r != null && GapTo(r) < _spec.robotFaceToFaceM) BeginBackOff(here, r);
                return;
            }

            // 3. 広い通路では、ロボットの外周から少し空ける
            KeepClear();

            // 1. これから入る細い通路にロボットがいたら、入らない
            int next = AisleAboutToEnter();
            if (next < 0) return;
            if (RobotInAisle(next) == null) return;

            if (TryDetour(next)) return;
            BeginWait(next);
        }

        /// <summary>
        /// 3. 広い通路ですれ違うとき、ロボットの外周から robotKeepClearM 空ける。
        /// NavMeshAgent.Move で横にずらすだけなので、経路も NavMesh も変えない。
        /// </summary>
        void KeepClear()
        {
            ServingRobotController r = NearestRobot();
            if (r == null) return;

            float need = _spec.personRadius + RobotRadius(r) + _spec.robotKeepClearM;
            Vector3 d = transform.position - r.transform.position;
            d.y = 0f;
            float dist = d.magnitude;
            if (dist >= need || dist < 0.0001f) return;

            float step = Mathf.Min(_spec.robotNudgeSpeedMps * Time.deltaTime, need - dist);
            _agent.Move(d / dist * step);
        }

        // ---------------- 1. 入口で待つ ----------------

        void BeginWait(int aisle)
        {
            _aisle = aisle;
            _mode = Mode.WaitAtEntrance;
            _modeS = 0f;
            _goal = SideStepPoint(aisle);
            if (_ops != null) _ops.AddRobotYieldWait();
            PeopleNav.Go(_agent, _goal);
        }

        void UpdateWait(float dt)
        {
            if (_ops != null) _ops.AddRobotYieldWaitSeconds(dt);

            if (RobotInAisle(_aisle) == null) { Release(); return; }
            if (_modeS >= _spec.robotYieldMaxSec) { Release(); return; }   // 待ちすぎたら進む
        }

        // ---------------- 1. 回り道 ----------------

        /// <summary>
        /// ふさがれた通路のかわりに、別の細い通路を通って行けるか。
        /// 遠回りが robotDetourExtraMaxM 以内で、その通路にロボットがいなければ通る。
        /// </summary>
        bool TryDetour(int blocked)
        {
            if (!_hasOwnerDest) return false;
            if (_spec.robotDetourExtraMaxM <= 0f) return false;

            float direct = PathLength(transform.position, _ownerDest);
            if (direct < 0f) return false;

            IList<StoreBuilder.AisleInfo> aisles = _store.Aisles;
            int best = -1;
            float bestExtra = float.MaxValue;
            Vector3 bestPoint = Vector3.zero;

            for (int i = 0; i < aisles.Count; i++)
            {
                if (i == blocked || !aisles[i].narrow) continue;
                if (RobotInAisle(i) != null) continue;

                Vector3 via = new Vector3(aisles[i].zone.center.x, 0f, aisles[i].zone.center.z);
                float a = PathLength(transform.position, via);
                if (a < 0f) continue;
                float b = PathLength(via, _ownerDest);
                if (b < 0f) continue;

                float extra = a + b - direct;
                if (extra > _spec.robotDetourExtraMaxM) continue;
                if (extra >= bestExtra) continue;
                best = i; bestExtra = extra; bestPoint = via;
            }

            if (best < 0) return false;

            _aisle = best;
            _mode = Mode.Detour;
            _modeS = 0f;
            _goal = bestPoint;
            if (_ops != null) _ops.AddRobotYieldDetour();
            PeopleNav.Go(_agent, _goal);
            return true;
        }

        void UpdateDetour()
        {
            // 回り道の通路にロボットが入ってきたら、やめて考え直す
            if (RobotInAisle(_aisle) != null) { Release(); return; }
            if (_modeS >= _spec.robotYieldMaxSec) { Release(); return; }

            Vector3 a = transform.position; a.y = 0f;
            Vector3 b = _goal; b.y = 0f;
            if (Vector3.Distance(a, b) <= _spec.stoppingDistance + 0.1f) Release();
        }

        // ---------------- 2. 通路の中で下がってよける ----------------

        void BeginBackOff(int aisle, ServingRobotController r)
        {
            _aisle = aisle;
            _mode = Mode.BackOff;
            _modeS = 0f;
            _goal = FindRefuge(aisle, r);
            if (_ops != null) _ops.AddRobotYieldWait();
            PeopleNav.Go(_agent, _goal);
        }

        void UpdateBackOff(float dt)
        {
            if (_ops != null) _ops.AddRobotYieldWaitSeconds(dt);

            ServingRobotController r = NearestRobotInAisle(_aisle);
            if (r == null) { Release(); return; }

            // 通り過ぎたか（よけ場所から離れていったか）
            if (GapTo(r) > _spec.robotFaceToFaceM + _spec.robotPassedClearM) { Release(); return; }
            if (_modeS >= _spec.robotYieldMaxSec) { Release(); return; }
        }

        /// <summary>
        /// 下がる先。壁ぞいの卓のすき間など、店が持っている「よけ場所」のうち
        /// いちばん近いもの。無ければ、その通路のロボットと反対側の出口。
        /// ロボットの側（いまより近づく方向）には行かない。
        /// </summary>
        Vector3 FindRefuge(int aisle, ServingRobotController r)
        {
            Vector3 me = transform.position; me.y = 0f;
            Vector3 rp = r.transform.position; rp.y = 0f;
            float toRobot = Vector3.Distance(me, rp);

            IList<Vector3> refuges = _store.Refuges;
            Vector3 best = Vector3.zero;
            float bestD = float.MaxValue;
            for (int i = 0; i < refuges.Count; i++)
            {
                Vector3 p = refuges[i]; p.y = 0f;
                float d = Vector3.Distance(me, p);
                if (d > _spec.robotBackOffSearchM) continue;
                if (Vector3.Distance(p, rp) < toRobot) continue;    // ロボットの側へは下がらない
                if (d >= bestD) continue;
                best = refuges[i]; bestD = d;
            }
            if (bestD < float.MaxValue) return Snap(best);

            return Snap(AisleExitAwayFrom(aisle, rp));
        }

        /// <summary>その通路の、ロボットと反対側の出口のすぐ外</summary>
        Vector3 AisleExitAwayFrom(int aisle, Vector3 robotPos)
        {
            StoreBuilder.AisleInfo a = _store.Aisles[aisle];
            Bounds z = a.zone;
            bool northSouth = z.size.z >= z.size.x;
            float out1 = _spec.robotSideStepM;

            if (northSouth)
            {
                bool goNorth = robotPos.z < z.center.z;
                float zz = goNorth ? z.max.z + out1 : z.min.z - out1;
                float sign = transform.position.x >= z.center.x ? 1f : -1f;
                return new Vector3(z.center.x + sign * out1, 0f, zz);
            }

            bool goEast = robotPos.x < z.center.x;
            float xx = goEast ? z.max.x + out1 : z.min.x - out1;
            float signZ = transform.position.z >= z.center.z ? 1f : -1f;
            return new Vector3(xx, 0f, z.center.z + signZ * out1);
        }

        /// <summary>通路の入口で、ロボットの通り道からはずれた場所</summary>
        Vector3 SideStepPoint(int aisle)
        {
            Bounds z = _store.Aisles[aisle].zone;
            bool northSouth = z.size.z >= z.size.x;
            Vector3 p = transform.position;

            if (northSouth)
            {
                float d = p.x - z.center.x;
                float sign = Mathf.Abs(d) < 0.01f ? 1f : Mathf.Sign(d);
                p += new Vector3(sign * _spec.robotSideStepM, 0f, 0f);
            }
            else
            {
                float d = p.z - z.center.z;
                float sign = Mathf.Abs(d) < 0.01f ? 1f : Mathf.Sign(d);
                p += new Vector3(0f, 0f, sign * _spec.robotSideStepM);
            }
            return Snap(p);
        }

        void Release()
        {
            _mode = Mode.Clear;
            _modeS = 0f;
            _aisle = -1;
            if (_hasOwnerDest) PeopleNav.Go(_agent, _ownerDest);
        }

        // ---------------- 通路とロボットを見る ----------------

        /// <summary>その点が入っている細い通路。無ければ -1</summary>
        int NarrowAisleAt(Vector3 p, float margin)
        {
            IList<StoreBuilder.AisleInfo> aisles = _store.Aisles;
            for (int i = 0; i < aisles.Count; i++)
            {
                if (!aisles[i].narrow) continue;
                if (ContainsXZ(aisles[i].zone, p, margin)) return i;
            }
            return -1;
        }

        /// <summary>
        /// これから入る細い通路。いまの経路を少し先まで見て、
        /// 「いま入っていない細い通路」に入るならその番号を返す。
        /// </summary>
        int AisleAboutToEnter()
        {
            if (_agent.pathPending) return -1;
            Vector3[] corners = _agent.path != null ? _agent.path.corners : null;
            if (corners == null || corners.Length == 0) return -1;

            float budget = _spec.robotAisleLookAheadM;
            const float Step = 0.25f;
            Vector3 from = transform.position;

            for (int i = 0; i < corners.Length && budget > 0f; i++)
            {
                Vector3 to = corners[i];
                Vector3 d = to - from; d.y = 0f;
                float len = d.magnitude;
                if (len > 0.0001f)
                {
                    Vector3 dir = d / len;
                    for (float t = Step; t <= Mathf.Min(len, budget); t += Step)
                    {
                        int a = NarrowAisleAt(from + dir * t, 0f);
                        if (a >= 0 && !ContainsXZ(_store.Aisles[a].zone, transform.position, 0f)) return a;
                    }
                }
                budget -= len;
                from = to;
            }
            return -1;
        }

        /// <summary>その通路の中にいるロボット（向かってくる・止まっているを問わない）</summary>
        ServingRobotController RobotInAisle(int aisle)
        {
            if (aisle < 0 || aisle >= _store.Aisles.Count) return null;
            Bounds z = _store.Aisles[aisle].zone;

            IReadOnlyList<ServingRobotController> all = ServingRobotController.All;
            for (int i = 0; i < all.Count; i++)
            {
                ServingRobotController r = all[i];
                if (!Watches(r)) continue;
                if (ContainsXZ(z, r.transform.position, _spec.robotAisleMarginM)) return r;
            }
            return null;
        }

        ServingRobotController NearestRobotInAisle(int aisle)
        {
            if (aisle < 0 || aisle >= _store.Aisles.Count) return null;
            Bounds z = _store.Aisles[aisle].zone;

            ServingRobotController best = null;
            float bestD = float.MaxValue;
            IReadOnlyList<ServingRobotController> all = ServingRobotController.All;
            for (int i = 0; i < all.Count; i++)
            {
                ServingRobotController r = all[i];
                if (!Watches(r)) continue;
                if (!ContainsXZ(z, r.transform.position, _spec.robotAisleMarginM)) continue;
                float d = Flat(r.transform.position - transform.position).magnitude;
                if (d >= bestD) continue;
                best = r; bestD = d;
            }
            return best;
        }

        /// <summary>その通路の中で、自分の進む先にいるロボット（向かい合っている）</summary>
        ServingRobotController FacingRobotInAisle(int aisle)
        {
            ServingRobotController r = NearestRobotInAisle(aisle);
            if (r == null) return null;

            Vector3 ahead = Flat(_agent.desiredVelocity);
            if (ahead.sqrMagnitude < 0.0004f) ahead = Flat(transform.forward);
            if (ahead.sqrMagnitude < 0.0004f) return r;      // 向きが分からないときは相手とみなす

            Vector3 toRobot = Flat(r.transform.position - transform.position);
            return Vector3.Dot(ahead.normalized, toRobot.normalized) > 0f ? r : null;
        }

        ServingRobotController NearestRobot()
        {
            ServingRobotController best = null;
            float bestD = float.MaxValue;
            IReadOnlyList<ServingRobotController> all = ServingRobotController.All;
            for (int i = 0; i < all.Count; i++)
            {
                ServingRobotController r = all[i];
                if (!Watches(r)) continue;
                float d = Flat(r.transform.position - transform.position).magnitude;
                if (d >= bestD) continue;
                best = r; bestD = d;
            }
            return best;
        }

        /// <summary>ロボットの外周から自分の外周までの空き（m）。負なら重なっている</summary>
        float GapTo(ServingRobotController r)
        {
            float d = Flat(r.transform.position - transform.position).magnitude;
            return d - RobotRadius(r) - _spec.personRadius;
        }

        float RobotRadius(ServingRobotController r)
        {
            return r != null && r.spec != null ? r.spec.Radius : 0.25f;
        }

        // ---------------- 近づきすぎの記録 ----------------

        /// <summary>
        /// ロボットの外周 robotContactGapM 以内に近づいた回数を残す（接触に近い）。
        /// 1回の近づきで1行。いちど離れるまで同じ近づきを数えない。
        /// </summary>
        void LogContactIfClose()
        {
            ServingRobotController r = NearestRobot();
            if (r == null) { _contactOpen = false; return; }

            float gap = GapTo(r);
            if (!_contactOpen && gap <= _spec.robotContactGapM)
            {
                _contactOpen = true;
                if (_ops != null)
                    _ops.AddRobotContact(transform.position, WhoName(), _careless, r.robotId, gap);
            }
            else if (_contactOpen && gap > _spec.robotContactGapM + _spec.robotKeepClearM)
            {
                _contactOpen = false;
            }
        }

        string WhoName()
        {
            string kind = _body != null ? _body.KindName() : "人";
            return kind + ":" + name;
        }

        // ---------------- 小さな道具 ----------------

        float PathLength(Vector3 from, Vector3 to)
        {
            if (_path == null) _path = new NavMeshPath();

            NavMeshQueryFilter f = PeopleNav.Filter;
            NavMeshHit hit;
            Vector3 a = from, b = to;
            if (NavMesh.SamplePosition(a, out hit, 1.5f, f)) a = hit.position;
            if (NavMesh.SamplePosition(b, out hit, 1.5f, f)) b = hit.position;

            if (!NavMesh.CalculatePath(a, b, f, _path)) return -1f;
            if (_path.status != NavMeshPathStatus.PathComplete) return -1f;

            float len = 0f;
            Vector3[] c = _path.corners;
            for (int i = 1; i < c.Length; i++) len += Vector3.Distance(c[i - 1], c[i]);
            return len;
        }

        static Vector3 Snap(Vector3 p)
        {
            NavMeshHit hit;
            if (NavMesh.SamplePosition(p, out hit, 1.5f, PeopleNav.Filter)) return hit.position;
            return p;
        }

        static Vector3 Flat(Vector3 v) { v.y = 0f; return v; }

        static bool ContainsXZ(Bounds b, Vector3 p, float margin)
        {
            return p.x >= b.min.x - margin && p.x <= b.max.x + margin &&
                   p.z >= b.min.z - margin && p.z <= b.max.z + margin;
        }
    }
}
```

### Assets/ServiceSim/People/StaffAgent.cs

```csharp
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

namespace ServiceSim
{
    /// <summary>
    /// スタッフ1人。確率で仕事を選ぶのではなく、そのときに起きている仕事を
    /// 仕事板（ServiceOps）から優先度の順に取って片付ける。
    ///   優先0：立ち往生したロボットを動かす（v5 3章・サイトの決まりで「ほかの仕事より先」）
    ///   優先1：案内・料理を運ぶ・呼び出し・会計　／　優先2：片付け
    /// 手が空いているときはパントリーの前で待つ。
    ///
    /// この script は人だけを扱う。どの仕事が要るかは ServiceOps が決める。
    /// 数字は ServiceSpec と PeopleSpec の .asset に置く。
    /// </summary>
    [RequireComponent(typeof(NavMeshAgent))]
    public class StaffAgent : MonoBehaviour
    {
        /// <summary>行き先1つぶん</summary>
        struct Step
        {
            public Vector3 point;
            public float dwellSec;
            public bool handDish;   // ここで料理が届く
        }

        [Header("設定")]
        public PeopleSpec spec;
        public ServiceSpec service;

        [Tooltip("仕事板")]
        public ServiceOps ops;

        [Header("いまの様子（読むだけ）")]
        [SerializeField] string _jobText = "待機";
        [SerializeField] int _step;
        [SerializeField] float _stepS;     // いまの行き先へ歩き始めてからの秒数

        NavMeshAgent _agent;
        PersonBody _body;             // 歩いた距離を数えるのに使う
        PersonRobotYield _yield;      // ロボットをよけている最中は「着いた」と見ない
        PeopleTargets _targets;
        StaffJob _job;
        readonly List<Step> _steps = new List<Step>();
        float _timer;
        bool _dwelling;
        bool _idleParked;
        Vector3 _pending;
        bool _needsDestination;


        /// <summary>いまの仕事（頭の上の字幕が読む）</summary>
        public StaffJob CurrentJob { get { return _job; } }
        public string JobText { get { return _jobText; } }
        public int Step_ { get { return _step; } }

        /// <summary>いま向かっている点（頭の上の字幕が読む）</summary>
        public Vector3 TargetPoint
        {
            get { return _step >= 0 && _step < _steps.Count ? _steps[_step].point : transform.position; }
        }

        void Awake()
        {
            _agent = GetComponent<NavMeshAgent>();
            _yield = GetComponent<PersonRobotYield>();
        }

        /// <summary>ロボットをよけている最中か（行き先がよけ場所にすり替わっている）</summary>
        bool Yielding
        {
            get
            {
                if (_yield == null) _yield = GetComponent<PersonRobotYield>();
                return _yield != null && _yield.Intervening;
            }
        }

        /// <summary>何人目のスタッフか（待つ点を1人に1つ割り当てるのに使う）</summary>
        public int staffIndex;

        /// <summary>手の空いたときに待つ点。無ければパントリーの前</summary>
        Vector3 StandbyPoint
        {
            get
            {
                if (_targets == null) return transform.position;
                int n = _targets.staffStandby.Count;
                if (n == 0) return _targets.pantry;
                return _targets.staffStandby[((staffIndex % n) + n) % n];
            }
        }

        public void Configure(PeopleSpec peopleSpec, ServiceSpec serviceSpec, ServiceOps serviceOps,
                              PeopleTargets targets, int seed, int index)
        {
            staffIndex = index;
            spec = peopleSpec;
            service = serviceSpec;
            ops = serviceOps;
            _targets = targets;

            if (_agent == null) _agent = GetComponent<NavMeshAgent>();
            ApplySpec();

            _job = null;
            _steps.Clear();
            _step = 0;
            _stepS = 0f;
            _dwelling = false;
            _idleParked = false;
            SetIgnoredRobot(null);
            _jobText = "待機";
        }

        void ApplySpec()
        {
            if (_agent == null || spec == null) return;
            _agent.radius = spec.personRadius;
            _agent.height = spec.personHeight;
            _agent.speed = spec.staffSpeed;
            _agent.acceleration = spec.acceleration;
            _agent.angularSpeed = spec.angularSpeedDegPerSec;
            _agent.stoppingDistance = spec.stoppingDistance;
            _agent.obstacleAvoidanceType = spec.avoidanceQuality;
            _agent.avoidancePriority = spec.avoidancePriority;
            _agent.autoRepath = true;
            // 人は人用の NavMesh（半径 0.2 m）を歩く。ロボットは 0.25 m のまま
            PeopleNav.ApplyAgentType(_agent);
            // スタッフはレジの内側（店員側）に入れる
            _agent.areaMask = NavMesh.AllAreas;
        }

        void Update()
        {
            if (_agent == null || spec == null || service == null || ops == null || _targets == null) return;

            // 行き先に着けないまま時間が過ぎたら、仕事を板に戻す（B1）。
            // NavMesh に乗れないときも時間が進むように、下で戻る前に数える
            if (_job != null && !_dwelling)
            {
                _stepS += Time.deltaTime;
                if (GiveUpIfLate()) return;
            }

            // 時間の使い方を残す（案内・料理・呼び出し・会計・片付け・パントリーで待つ）
            ops.AddStaffTime(_job != null ? JobKindName(_job.kind) : "待機", Time.deltaTime);

            // 歩いた距離を残す（walk_km_per_staff）。「移した」ぶんの跳びは ServiceOps 側で落とす
            if (_body == null) _body = GetComponent<PersonBody>();
            if (_body != null) ops.AddStaffWalk(_body.LastStepM);

            if (!PeopleNav.EnsureReady(transform, _agent)) return;
            if (_needsDestination && !PeopleNav.Go(_agent, _pending)) return;
            _needsDestination = false;

            if (_job == null) { Idle(); return; }

            if (_dwelling)
            {
                _timer += Time.deltaTime;
                if (_timer < _steps[_step].dwellSec) return;
                _dwelling = false;
                Deliver(_steps[_step]);
                _step++;
                if (_step >= _steps.Count) { Done(); return; }
                Go(_steps[_step].point);
                return;
            }

            // ロボットをよけている最中は、行き先がよけ場所にすり替わっているので
            // 「着いた」と見てはいけない
            if (Yielding) return;

            // 立ち往生を動かしに行くときは、相手が動いたら行き先を追いかけ、
            // 着いたかどうかもその点との距離で見る（v5 3章）
            if (IsRescueStep()) { if (!UpdateRescueStep()) return; }
            else
            {
                if (_agent.pathPending) return;
                if (_agent.remainingDistance > _agent.stoppingDistance + 0.05f) return;
            }

            if (_steps[_step].dwellSec > 0f) { _dwelling = true; _timer = 0f; return; }
            Deliver(_steps[_step]);
            _step++;
            if (_step >= _steps.Count) { Done(); return; }
            Go(_steps[_step].point);
        }

        /// <summary>手が空いているとき。次の仕事を取り、無ければパントリーの前で待つ</summary>
        void Idle()
        {
            StaffJob job = ops.TakeNextJob();
            if (job == null)
            {
                if (!_idleParked)
                {
                    _idleParked = true;
                    _jobText = "待機";
                    Go(StandbyPoint);
                }
                return;
            }
            _idleParked = false;
            Begin(job);
        }

        /// <summary>仕事の名前（時間の使い方の記録に使う）</summary>
        public static string JobKindName(StaffJobKind kind)
        {
            switch (kind)
            {
                case StaffJobKind.Guide: return "案内";
                case StaffJobKind.Serve: return "料理";
                case StaffJobKind.Call: return "呼び出し";
                case StaffJobKind.Pay: return "会計";
                case StaffJobKind.Clear: return "片付け";
                case StaffJobKind.Rescue: return "立ち往生";
            }
            return "そのほか";
        }

        void Begin(StaffJob job)
        {
            _job = job;
            _steps.Clear();
            _step = 0;
            _dwelling = false;
            _timer = 0f;

            switch (job.kind)
            {
                case StaffJobKind.Guide:
                    _jobText = "案内";
                    Add(_targets.waiting, service.guideSec, false);
                    Add(TablePoint(job), 0f, false);
                    break;

                case StaffJobKind.Serve:
                    _jobText = "料理を運ぶ";
                    Add(_targets.foodPass, 0f, false);
                    Add(TablePoint(job), service.staffPlaceSec, true);
                    Add(_targets.foodPass, 0f, false);
                    break;

                case StaffJobKind.Call:
                    _jobText = "呼び出し";
                    Add(TablePoint(job), service.callSec, false);
                    break;

                case StaffJobKind.Pay:
                    // スタッフはレジの内側（客と反対側。太い通路からだけ入れる）に立つ
                    _jobText = "会計";
                    Add(_targets.registerBack, service.paySec, false);
                    break;

                case StaffJobKind.Clear:
                    // 皿をまとめ、返却口へ運び、戻って拭いて、もう一度運ぶ（bus_trips ぶん）
                    _jobText = "片付け";
                    Add(TablePoint(job), service.clearSec, false);
                    int trips = Mathf.Max(1, service.busTrips);
                    for (int i = 0; i < trips; i++)
                    {
                        Add(_targets.dishReturn, 0f, false);
                        if (i < trips - 1) Add(TablePoint(job), 0f, false);
                    }
                    Add(TablePoint(job), service.wipeSec, false);
                    break;

                case StaffJobKind.Rescue:
                    // 動けなくなったロボットの手前 0.8 m まで歩いて行き、rescue_s のあいだ動かす。
                    // そのあいだ、この台についてはよけない（よけると近づけない）
                    _jobText = "立ち往生を動かす";
                    SetIgnoredRobot(job.robot);
                    Add(RescueStandPoint(job.robot), service.rescueSec, false);
                    break;
            }

            if (_steps.Count == 0) { Done(); return; }
            Go(_steps[0].point);
        }

        // ---------------- 立ち往生を動かしに行く（v5 3章）----------------

        /// <summary>
        /// 動けなくなったロボットの **手前** に立つ点（Rescue の行き先）。
        ///
        /// ロボットの位置そのものを行き先にすると、着けません。
        /// 人がロボットをよける処理が、ロボットの中心から
        ///   人の半径 0.2 ＋ ロボットの半径 0.25 ＋ robotKeepClearM 0.3 ＝ 0.75 m
        /// まで押しのけるのに、着いたとみなすのは 0.35 m（stoppingDistance ＋ 0.05）だからです。
        /// そこで、ロボットから **自分がいる側へ 0.8 m** 離れた点を行き先にします。
        /// この台についてはよけないので（ignoreRobot）、押しのけずにそこまで行けます。
        /// </summary>
        Vector3 RescueStandPoint(ServingRobotController robot)
        {
            if (robot == null) return transform.position;

            Vector3 r = robot.transform.position; r.y = 0f;
            Vector3 me = transform.position; me.y = 0f;
            Vector3 d = me - r;
            if (d.sqrMagnitude < 0.0001f) d = transform.forward;   // 重なっているときは向いている方
            d.y = 0f;
            if (d.sqrMagnitude < 0.0001f) d = Vector3.forward;
            return r + d.normalized * RescueStandM;
        }

        /// <summary>ロボットの中心からこれだけ手前に立って動かす（m）</summary>
        const float RescueStandM = 0.8f;

        /// <summary>
        /// 「この台はよけない」を入れ替える（v5 3章）。
        /// 立ち往生の仕事を始めたらその台、やめたり終わったら null（ほかの台はいつもよける）。
        /// </summary>
        void SetIgnoredRobot(ServingRobotController robot)
        {
            if (_yield == null) _yield = GetComponent<PersonRobotYield>();
            if (_yield != null) _yield.ignoreRobot = robot;
        }

        /// <summary>行き先を引き直す目安（m）。これ以上ずれたら引き直す</summary>
        const float RescueRetargetM = 0.25f;

        /// <summary>いまの行き先が「立ち往生を動かす」か</summary>
        bool IsRescueStep()
        {
            return _job != null && _job.kind == StaffJobKind.Rescue && _job.robot != null
                   && _step >= 0 && _step < _steps.Count;
        }

        /// <summary>
        /// 立ち往生の行き先を、相手の位置に合わせて追いかける。
        /// 戻り値 true なら、その点に着いた（このあと rescue_s のあいだ動かす）。
        /// </summary>
        bool UpdateRescueStep()
        {
            Vector3 want = RescueStandPoint(_job.robot);

            // 相手が動いたら行き先を引き直す（引き直しすぎると経路が落ち着かないので目安を置く）
            Step s = _steps[_step];
            if ((Flat(s.point) - Flat(want)).magnitude > RescueRetargetM)
            {
                s.point = want;
                _steps[_step] = s;
                _pending = want;
                _needsDestination = !PeopleNav.Go(_agent, want);
            }

            // 着いたかどうかは、その点との距離で見る（経路の残りは引き直しの直後に当てにならない）
            float gap = (Flat(transform.position) - Flat(_steps[_step].point)).magnitude;
            return gap <= _agent.stoppingDistance + 0.05f;
        }

        static Vector3 Flat(Vector3 v) { v.y = 0f; return v; }

        Vector3 TablePoint(StaffJob job)
        {
            if (ops == null || job.tableIndex < 0 || job.tableIndex >= ops.Tables.Count)
                return _targets.foodPass;
            return ops.Tables[job.tableIndex].deliveryPoint;
        }

        void Add(Vector3 point, float dwellSec, bool handDish)
        {
            Step s = new Step();
            s.point = point;
            s.dwellSec = dwellSec;
            s.handDish = handDish;
            _steps.Add(s);
        }

        bool _wasInRegisterBack;

        /// <summary>
        /// 会計でないスタッフが店員側（レジの内側）に入っていないかを見る。
        /// 店員側は1人ぶんなので、会計の仕事を持っていないスタッフは入らない。
        /// </summary>
        void WatchRegisterBack()
        {
            if (ops == null || ops.store == null) { _wasInRegisterBack = false; return; }

            PlanRect back = ops.store.RegisterBackRect;
            bool paying = _job != null && _job.kind == StaffJobKind.Pay;
            bool inside = !back.IsEmpty && back.Contains(transform.position);

            if (inside && !paying)
            {
                ops.AddRegisterBackIntruder(Time.deltaTime, !_wasInRegisterBack);
                _wasInRegisterBack = true;
                return;
            }
            _wasInRegisterBack = inside && !paying;
        }

        /// <summary>
        /// 会計を済ませたとき、店員側（レジの内側）に立っていたかを残す。
        /// 0 にならなければ、スタッフが客側に立ってしまっている。
        /// </summary>
        void RecordPayPlace()
        {
            if (ops == null || ops.store == null || _targets == null) return;

            PlanRect back = ops.store.RegisterBackRect;
            bool atBack = !back.IsEmpty && back.Expand(0.1f).Contains(transform.position);

            // 立つ点と、実際に立った位置の距離
            Vector3 a = transform.position; a.y = 0f;
            Vector3 b = _targets.registerBack; b.y = 0f;
            ops.AddRegisterPay(atBack, Vector3.Distance(a, b));
        }

        void Deliver(Step s)
        {
            // 会計を済ませた瞬間に、店員側に立っていたかを残す
            if (_job != null && _job.kind == StaffJobKind.Pay) RecordPayPlace();

            // rescue_s のあいだ動かし終わった。ロボットは止まっていた所から走りを続ける。
            // robot が null なのは、待っているあいだにその往復が打ち切られたとき（何もしない）
            if (_job != null && _job.kind == StaffJobKind.Rescue)
            {
                if (_job.robot != null) _job.robot.Rescued();
                return;
            }

            if (!s.handDish || _job == null || _job.dish == null) return;
            ops.DishArrived(_job.dish, false);
        }

        void Done()
        {
            StaffJob job = _job;
            _job = null;
            _steps.Clear();
            _step = 0;
            _stepS = 0f;
            _jobText = "待機";
            SetIgnoredRobot(null);              // よけない台を元に戻す（v5 3章）
            if (job != null) { job.tries = 0; ops.FinishJob(job); }
        }

        void Go(Vector3 point)
        {
            _pending = point;
            _needsDestination = true;
            _stepS = 0f;
            if (PeopleNav.EnsureReady(transform, _agent) && PeopleNav.Go(_agent, point))
                _needsDestination = false;
        }

        // ---------------- あきらめて、やり直す（B1）----------------

        /// <summary>
        /// 行き先に着けないまま spec.staffGiveUpSec が過ぎたとき。
        ///   ・まだ staffGiveUpMaxTries 回未満なら、仕事を板に戻して別の仕事を取る
        ///   ・その回数に達したら、その場所へ移して仕事を続ける（店が通れないしるし）
        /// </summary>
        bool GiveUpIfLate()
        {
            if (spec.staffGiveUpSec <= 0f || _stepS < spec.staffGiveUpSec) return false;

            StaffJob job = _job;
            Vector3 to = _step >= 0 && _step < _steps.Count ? _steps[_step].point : transform.position;

            // あきらめた回数は **仕事ごと** に数える（v5 3章）。
            // 人ごとに数えていたときは、仕事が人から人へ回ると誰も上限に届かず、
            // 「3回で移す」逃がし弁が働かないまま回り続けた
            int tries = ++job.tries;

            int max = Mathf.Max(1, spec.staffGiveUpMaxTries);
            if (tries >= max)
            {
                // 何度やっても着けない。その場所へ移して仕事を済ませる
                ops.AddGiveUp("スタッフ", _jobText, job != null ? job.tableId : 0,
                              to, transform.position, _stepS, "移した");
                job.tries = 0;
                PlaceAt(to);
                _stepS = 0f;
                return false;   // 移したので、このコマの続きで着いた扱いにする
            }

            // 仕事を板に戻して、別の仕事を取る
            ops.AddGiveUp("スタッフ", _jobText, job != null ? job.tableId : 0,
                          to, transform.position, _stepS, "あきらめた");
            _job = null;
            _steps.Clear();
            _step = 0;
            _dwelling = false;
            _stepS = 0f;
            _jobText = "待機";
            SetIgnoredRobot(null);              // よけない台を元に戻す（v5 3章）
            ops.AbandonJob(job);
            return true;
        }

        /// <summary>体をその場所に移す（どうしても着けないとき）</summary>
        void PlaceAt(Vector3 p)
        {
            transform.position = p;
            if (Application.isPlaying && _agent != null && _agent.enabled && _agent.isOnNavMesh)
                _agent.Warp(p);
        }
    }
}
```

### Assets/ServiceSim/People/SeatedGuest.cs

```csharp
using System.Collections.Generic;
using UnityEngine;

namespace ServiceSim
{
    /// <summary>
    /// 1卓ぶんの椅子の出し入れ。座っている人は人として置かないので、
    /// この script が「その卓の椅子」だけを持つ。
    ///
    /// 引くきっかけは人の動きに合わせる（B6）。GroupManager が次のときに呼ぶ。
    ///   座るとき／ドリンクバーへ立つとき／トイレへ立つとき／会計で立つとき／退店するとき／戻って座り直すとき
    /// 食事中に何もなく引く分は、別の長い間隔（spec.chairPullIdleMeanIntervalSec）で少しだけ起こす。
    ///
    /// この script は椅子の出し入れだけを扱う。いつ引くかは GroupManager が決め、
    /// 椅子1脚の状態は Chair が持つ。数字は PeopleSpec の .asset に置く。
    /// </summary>
    public class SeatedGuest : MonoBehaviour
    {
        /// <summary>引いたきっかけ（記録に出す）</summary>
        public const string ReasonSit = "座る";
        public const string ReasonDrinkBar = "ドリンクバー";
        public const string ReasonToilet = "トイレ";
        public const string ReasonPay = "会計";
        public const string ReasonLeave = "退店";
        public const string ReasonSitBack = "戻って座る";
        public const string ReasonIdle = "食事中";

        [Header("設定")]
        public PeopleSpec spec;

        [Header("いまの様子（読むだけ）")]
        [SerializeField] int _pulledNow;
        [SerializeField] float _nextIdlePullIn;
        [SerializeField] int _pulls;

        readonly List<Chair> _aisleChairs = new List<Chair>();

        /// <summary>_aisleChairs と同じ並び。0 より大きければ、その秒数だけ引いたまま</summary>
        readonly List<float> _holdLeft = new List<float>();

        System.Random _rng;
        ServiceOps _ops;
        int _tableIndex = -1;

        // ---- 座っている客の形（見た目だけ。当たり・PersonBody・NavMeshAgent を持たない）----
        GameObject _bodyPrefab;
        readonly List<Vector3> _seatPoints = new List<Vector3>();
        readonly List<GameObject> _bodies = new List<GameObject>();
        int _shown;
        bool _warnedNoBody;      // 出せないことを1回だけ知らせる

        /// <summary>いま出している座った形の数（読むだけ）</summary>
        public int SeatedShown { get { return _shown; } }

        /// <summary>この卓の席の数（座った形を出せる上限）</summary>
        public int SeatPointCount { get { return _seatPoints.Count; } }

        /// <summary>いま1脚でも引いているか</summary>
        public bool IsPulling { get { return _pulledNow > 0; } }

        /// <summary>この卓で引いた回数</summary>
        public int Pulls { get { return _pulls; } }

        /// <summary>引ける椅子の数</summary>
        public int AisleChairCount { get { return _aisleChairs.Count; } }

        /// <summary>この卓の引ける椅子と、乱数の種を渡す</summary>
        public void Configure(PeopleSpec peopleSpec, IList<Chair> aisleChairs, int seed,
                              ServiceOps ops, int tableIndex)
        {
            Configure(peopleSpec, aisleChairs, seed, ops, tableIndex, null, null);
        }

        /// <summary>席の位置と、座った形の prefab も渡す</summary>
        public void Configure(PeopleSpec peopleSpec, IList<Chair> aisleChairs, int seed,
                              ServiceOps ops, int tableIndex,
                              GameObject seatedBodyPrefab, IList<Vector3> seatPoints)
        {
            _ops = ops;
            _tableIndex = tableIndex;
            spec = peopleSpec;

            _bodyPrefab = seatedBodyPrefab;
            _seatPoints.Clear();
            if (seatPoints != null)
                for (int i = 0; i < seatPoints.Count; i++) _seatPoints.Add(seatPoints[i]);
            ClearBodies();

            _aisleChairs.Clear();
            _holdLeft.Clear();
            if (aisleChairs != null)
            {
                for (int i = 0; i < aisleChairs.Count; i++)
                {
                    if (aisleChairs[i] == null) continue;
                    _aisleChairs.Add(aisleChairs[i]);
                    _holdLeft.Add(0f);
                }
            }

            _rng = new System.Random(seed);
            _pulledNow = 0;
            _pulls = 0;
            _nextIdlePullIn = NextIdleInterval();
        }

        /// <summary>
        /// 人が動いたので、その人の席の椅子を引く。
        /// seatOrder はその卓の何人目か（同じ人がいつも同じ椅子を引くようにする）。
        /// </summary>
        public void PullFor(string reason, int seatOrder)
        {
            if (spec == null || _aisleChairs.Count == 0) return;

            int i = Mathf.Abs(seatOrder) % _aisleChairs.Count;
            Pull(i, reason);
        }

        void Pull(int i, string reason)
        {
            if (i < 0 || i >= _aisleChairs.Count) return;

            Chair c = _aisleChairs[i];
            if (c == null) return;

            // すでに引いてあるなら、引いたままの時間だけ延ばす（二重に数えない）
            if (_holdLeft[i] > 0f)
            {
                _holdLeft[i] = Mathf.Max(_holdLeft[i], spec.chairPullHoldSec);
                return;
            }

            c.Pull(spec.chairPullDistance);
            _holdLeft[i] = spec.chairPullHoldSec;
            _pulledNow++;
            _pulls++;
            if (_ops != null) _ops.AddChairPull(reason, TableIdOf());
        }

        int TableIdOf()
        {
            if (_ops == null || _tableIndex < 0 || _tableIndex >= _ops.Tables.Count) return 0;
            return _ops.Tables[_tableIndex].tableId;
        }

        float NextIdleInterval()
        {
            if (spec == null || spec.chairPullIdleMeanIntervalSec <= 0f) return float.MaxValue;
            double u = _rng.NextDouble();
            if (u <= 1e-9) u = 1e-9;
            return (float)(-spec.chairPullIdleMeanIntervalSec * System.Math.Log(u));
        }

        void Update()
        {
            if (spec == null || _rng == null) return;
            float dt = Time.deltaTime;

            // 引いたままの時間が切れた椅子を戻す
            for (int i = 0; i < _holdLeft.Count; i++)
            {
                if (_holdLeft[i] <= 0f) continue;
                _holdLeft[i] -= dt;
                if (_holdLeft[i] > 0f) continue;

                _holdLeft[i] = 0f;
                if (_aisleChairs[i] != null) _aisleChairs[i].Release();
                _pulledNow = Mathf.Max(0, _pulledNow - 1);
            }

            // 食事中に何もなく引く分（少しだけ）
            if (_nextIdlePullIn == float.MaxValue) return;
            _nextIdlePullIn -= dt;
            if (_nextIdlePullIn > 0f) return;
            _nextIdlePullIn = NextIdleInterval();

            if (!Occupied()) return;
            if (_aisleChairs.Count == 0) return;
            Pull(_rng.Next(_aisleChairs.Count), ReasonIdle);
        }

        /// <summary>この卓に組が座っているか</summary>
        bool Occupied()
        {
            if (_ops == null || _tableIndex < 0) return true;   // 分からないときは引く
            if (_tableIndex >= _ops.Tables.Count) return true;
            return _ops.Tables[_tableIndex].groupId >= 0;
        }

        // ---------------- 座っている客の形（見た目だけ）----------------

        /// <summary>
        /// 座っている客の形を count 人ぶん出す（0 なら全部消す）。
        /// 形は席の位置に置くだけ。当たり判定も PersonBody も NavMeshAgent も持たないので、
        /// NavMesh・前のセンサー・人の数の記録・物理にはいっさい効かない。
        /// </summary>
        public void ShowSeated(int count)
        {
            // 出せないときは黙って戻らない。
            // 10/21 の分が2日間だれにも気づかれなかったのは、ここが黙って戻っていたため
            if (_bodyPrefab == null || _seatPoints.Count == 0)
            {
                if (count > 0 && !_warnedNoBody)
                {
                    _warnedNoBody = true;
                    Debug.LogWarning("[ServiceSim] 座っている客の形を出せません（卓 " + _tableIndex + "）。" +
                                     (_bodyPrefab == null
                                        ? "形の prefab が入っていません（PeopleSpawner.seatedBodyPrefab）。"
                                          + "ServiceSim/座っている客の形を用意する を押してください"
                                        : "この卓に座る位置（seat_points）がありません"));
                }
                _shown = 0;
                return;
            }

            int want = Mathf.Clamp(count, 0, _seatPoints.Count);
            if (want == _shown) return;

            EnsureBodies();
            for (int i = 0; i < _bodies.Count; i++)
            {
                if (_bodies[i] == null) continue;
                bool on = i < want;
                if (_bodies[i].activeSelf != on) _bodies[i].SetActive(on);
            }
            _shown = want;
        }

        void EnsureBodies()
        {
            if (_bodies.Count == _seatPoints.Count) return;
            ClearBodies();

            for (int i = 0; i < _seatPoints.Count; i++)
            {
                GameObject go = Instantiate(_bodyPrefab, transform);
                go.name = "SeatedBody" + (i + 1).ToString("00");
                go.transform.position = _seatPoints[i];
                go.SetActive(false);
                _bodies.Add(go);
            }
        }

        void ClearBodies()
        {
            for (int i = 0; i < _bodies.Count; i++)
            {
                if (_bodies[i] == null) continue;
                if (Application.isPlaying) Destroy(_bodies[i]);
                else DestroyImmediate(_bodies[i]);
            }
            _bodies.Clear();
            _shown = 0;
        }

        void OnDisable()
        {
            ShowSeated(0);
            for (int i = 0; i < _holdLeft.Count; i++)
            {
                _holdLeft[i] = 0f;
                if (_aisleChairs[i] != null) _aisleChairs[i].Release();
            }
            _pulledNow = 0;
        }
    }
}
```

### Assets/ServiceSim/People/PeopleSpec.cs

```csharp
using UnityEngine;
using UnityEngine.AI;

namespace ServiceSim
{
    /// <summary>混み具合の3段階</summary>
    public enum CrowdLevel
    {
        Empty = 0,    // 空いている
        Normal = 1,   // 普通
        Busy = 2      // 混雑
    }

    /// <summary>スタッフの仕事</summary>
    public enum StaffTask
    {
        Serve = 0,      // 料理を運ぶ（受け渡し口 → 卓 → 受け渡し口）
        Clear = 1,      // 下げ膳（卓 → 返却口）
        Pantry = 2,     // パントリーに立ち寄る
        Guide = 3,      // 待合の客を卓へ案内する
        Register = 4    // レジ
    }

    /// <summary>歩く客の行き先</summary>
    public enum GuestTrip
    {
        Toilet = 0,     // 卓 → トイレ → 卓
        DrinkBar = 1,   // 卓 → ドリンクバー → 卓
        Exit = 2        // 卓 → レジ → 入口から出る
    }

    /// <summary>
    /// 人の数字。人に関する数字はすべてこの .asset に置く。
    /// </summary>
    [CreateAssetMenu(menuName = "ServiceSim/People Spec", fileName = "PeopleSpec")]
    public class PeopleSpec : ScriptableObject
    {
        [Header("体の大きさ（箱と円柱で作る）")]
        [Tooltip("体の半径（m）")]
        public float personRadius = 0.2f;

        [Tooltip("身長（m）")]
        public float personHeight = 1.7f;

        [Tooltip("座っている客の形の高さ（m・床から頭の先まで）。見た目だけ。" +
                 "背もたれ（1.1 m）より少し上に出し、仕切り（1.2 m）よりも高くして、" +
                 "真上から見ても隠れないようにする。立っている客（1.7 m）より低くする")]
        public float seatedBodyHeight = 1.35f;

        [Tooltip("座っている客の形が腰かける高さ（m）。店の形の JSON の " +
                 "meta.heights.bench_seat / chair（0.45 m）に合わせる。見た目だけ")]
        public float seatedSeatHeight = 0.45f;

        [Header("スタッフ")]
        [Tooltip("スタッフの人数")]
        public int staffCount = 2;

        [Tooltip("スタッフの歩く速さ（m/秒）")]
        public float staffSpeed = 1.0f;

        [Tooltip("仕事を選ぶ重み。[料理を運ぶ, 下げ膳, パントリー, 案内, レジ]。初期値は同じ割合")]
        public float[] staffTaskWeights = { 1f, 1f, 1f, 1f, 1f };

        [Tooltip("受け渡し口で料理を取る時間（秒）")]
        public float staffDwellAtPassSec = 3f;

        [Tooltip("卓で料理を出す・下げる時間（秒）")]
        public float staffDwellAtTableSec = 5f;

        [Tooltip("返却口に皿を戻す時間（秒）")]
        public float staffDwellAtReturnSec = 5f;

        [Tooltip("パントリーに立ち寄る時間（秒）")]
        public float staffDwellAtPantrySec = 5f;

        [Tooltip("待合で客に声をかける時間（秒）")]
        public float staffDwellAtWaitingSec = 5f;

        [Tooltip("レジにいる時間（秒）")]
        public float staffDwellAtRegisterSec = 30f;

        [Header("歩く客")]
        [Tooltip("混み具合ごとの、歩く客の人数。[空いている, 普通, 混雑]")]
        public int[] guestCountByCrowd = { 1, 4, 8 };

        [Tooltip("歩く客の速さ（m/秒）")]
        public float guestSpeed = 0.8f;

        [Tooltip("行き先を選ぶ重み。[トイレ, ドリンクバー, 帰る]")]
        public float[] guestTripWeights = { 1f, 1f, 1f };

        [Tooltip("トイレ・ドリンクバーで過ごす時間（秒）")]
        public float guestDwellAtPoiSec = 10f;

        [Tooltip("レジで支払う時間（秒）")]
        public float guestDwellAtRegisterSec = 20f;

        [Tooltip("卓に戻って座っている時間（秒）")]
        public float guestDwellAtTableSec = 30f;

        [Header("慣らし（始めの埋まり方）")]
        [Tooltip("始めるときに、食事の途中の組で埋めておく卓の割合")]
        public float warmupOccupancy = 0.8f;

        [Header("人どうしのすれ違い")]
        [Tooltip("前に進めない状態がこの秒数続いたら、体を横に向ける（半径を細める）")]
        public float jamNarrowAfterSec = 1.0f;

        [Tooltip("体を横に向けたときの半径（m）")]
        public float jamNarrowRadius = 0.12f;

        [Tooltip("それでも抜けられないとき、下がるまでの秒数")]
        public float jamBackOffAfterSec = 3.0f;

        [Tooltip("これより遅ければ「前に進めない」とみなす（m/秒）")]
        public float jamStuckSpeed = 0.05f;

        [Header("待合に立つ客")]
        [Tooltip("混み具合ごとの、待合に立つ客の人数。[空いている, 普通, 混雑]")]
        public int[] waitingCountByCrowd = { 0, 2, 5 };

        [Tooltip("待合で立ち止まったまま、位置を少し変えるまでの時間（秒）")]
        public float waitingShuffleSec = 25f;

        [Header("椅子を引く（人の動きに合わせて引く）")]
        [Tooltip("引いた椅子をそのままにしておく時間（秒）。座る・立つときに引いて、この秒数で戻す")]
        public float chairPullHoldSec = 30f;

        [Tooltip("椅子を通路側へ引く距離（m）")]
        public float chairPullDistance = 0.3f;

        [Tooltip("食事中に何もなく引く分の、1卓あたりの平均の間隔（秒）。" +
                 "座る・立つときの引きとは別。0 以下なら引かない")]
        public float chairPullIdleMeanIntervalSec = 1800f;

        [Header("あきらめて、やり直す（B1）")]
        [Tooltip("客：行き先へ向かってこの秒数で着けなければ、あきらめて席に戻る")]
        public float guestGiveUpSec = 60f;

        [Tooltip("客：席に戻るのにもこの秒数で着けなければ、席の位置へ移して座らせる")]
        public float guestWarpHomeSec = 60f;

        [Tooltip("スタッフ：行き先へ向かってこの秒数で着けなければ、仕事を板に戻す")]
        public float staffGiveUpSec = 60f;

        [Tooltip("スタッフ：同じ仕事をこの回数あきらめたら、その場所へ移して仕事を済ませる")]
        public int staffGiveUpMaxTries = 3;

        [Header("よけ方（人の側がよける）")]
        [Tooltip("レジの内側（店員側）に使う NavMesh の区画の番号。" +
                 "客の NavMeshAgent はこの区画を外して歩くので、店員側に入れない。" +
                 "0=Walkable・1=Not Walkable・2=Jump は使えないので 3 以上にする")]
        public int registerBackArea = 3;

        [Tooltip("人の譲り合いの優先度。ロボットより大きくして、人がよけるようにする")]
        public int avoidancePriority = 50;

        [Tooltip("自動でよける機能の質。人はこれを使ってよい")]
        public ObstacleAvoidanceType avoidanceQuality = ObstacleAvoidanceType.GoodQualityObstacleAvoidance;

        [Tooltip("人の加速（m/秒^2）")]
        public float acceleration = 2.0f;

        [Tooltip("人の向きを変える速さ（度/秒）")]
        public float angularSpeedDegPerSec = 360f;

        [Tooltip("行き先にこれだけ近づいたら着いたとみなす（m）")]
        public float stoppingDistance = 0.3f;

        [Header("ロボットをよける（人の側がよける。値はすべて仮）")]
        [Tooltip("人がロボットをよけるか。切ると前のとおり気にせず歩く（比べるときに使う）")]
        public bool robotYieldEnabled = true;

        [Tooltip("細い通路に入る前に、経路の先をどこまで見るか（m）")]
        public float robotAisleLookAheadM = 3.0f;

        [Tooltip("通路の中にロボットがいるとみなす、通路のまわりの余白（m）")]
        public float robotAisleMarginM = 0.3f;

        [Tooltip("回り道してよい遠回りの上限（m）。これを超えるなら入口で待つ")]
        public float robotDetourExtraMaxM = 5.0f;

        [Tooltip("細い通路の中で向かい合ったとき、これを下回ったら下がってよける（m。外周どうしの空き）")]
        public float robotFaceToFaceM = 1.5f;

        [Tooltip("広い通路ですれ違うときに空ける距離（m。ロボットの外周から）")]
        public float robotKeepClearM = 0.3f;

        [Tooltip("ロボットの通り道からはずれるときの、横にずれる距離（m）")]
        public float robotSideStepM = 0.5f;

        [Tooltip("下がる先（よけ場所）を探す距離（m）")]
        public float robotBackOffSearchM = 4.0f;

        [Tooltip("ロボットが通り過ぎたとみなす、向かい合う距離からの余裕（m）")]
        public float robotPassedClearM = 0.5f;

        [Tooltip("待つ・下がる・回り道をあきらめて進むまでの秒数（秒）。B1 のあきらめより短くする")]
        public float robotYieldMaxSec = 20f;

        [Tooltip("上のよけ方を守らない割合（1回の行動につき）。スマホを見ている客などの代わり")]
        public float robotCarelessChance = 0.02f;

        [Tooltip("ロボットの外周からこの距離まで近づいたら contacts.csv に残す（m）")]
        public float robotContactGapM = 0.1f;

        [Tooltip("よけるときの横移動の速さ（m/秒）")]
        public float robotNudgeSpeedMps = 0.5f;

        // ---- 読み出し ----

        public int GuestCount(CrowdLevel crowd) { return Pick(guestCountByCrowd, crowd); }
        public int WaitingCount(CrowdLevel crowd) { return Pick(waitingCountByCrowd, crowd); }

        /// <summary>通路を歩く人の数（スタッフ＋歩く客）。待合に立つ客は数えない</summary>
        public int WalkerCount(CrowdLevel crowd) { return staffCount + GuestCount(crowd); }

        static int Pick(int[] values, CrowdLevel crowd)
        {
            if (values == null || values.Length == 0) return 0;
            int i = Mathf.Clamp((int)crowd, 0, values.Length - 1);
            return values[i];
        }

        /// <summary>重みで仕事を選ぶ</summary>
        public StaffTask PickStaffTask(System.Random rng)
        {
            int i = PickWeighted(staffTaskWeights, 5, rng);
            return (StaffTask)i;
        }

        /// <summary>重みで行き先を選ぶ</summary>
        public GuestTrip PickGuestTrip(System.Random rng)
        {
            int i = PickWeighted(guestTripWeights, 3, rng);
            return (GuestTrip)i;
        }

        static int PickWeighted(float[] weights, int count, System.Random rng)
        {
            float total = 0f;
            for (int i = 0; i < count; i++) total += WeightAt(weights, i);
            if (total <= 0f) return rng.Next(count);

            float r = (float)rng.NextDouble() * total;
            for (int i = 0; i < count; i++)
            {
                r -= WeightAt(weights, i);
                if (r <= 0f) return i;
            }
            return count - 1;
        }

        static float WeightAt(float[] weights, int i)
        {
            if (weights == null || i >= weights.Length) return 0f;
            return Mathf.Max(0f, weights[i]);
        }
    }
}
```

### Assets/ServiceSim/People/PeopleSpec.asset

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 0}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 485ae95cc6b11479eaf59a14275b67cb, type: 3}
  m_Name: PeopleSpec
  m_EditorClassIdentifier: 
  personRadius: 0.2
  personHeight: 1.7
  seatedBodyHeight: 1.35
  seatedSeatHeight: 0.45
  staffCount: 2
  staffSpeed: 1
  staffTaskWeights:
  - 1
  - 1
  - 1
  - 1
  - 1
  staffDwellAtPassSec: 3
  staffDwellAtTableSec: 5
  staffDwellAtReturnSec: 5
  staffDwellAtPantrySec: 5
  staffDwellAtWaitingSec: 5
  staffDwellAtRegisterSec: 30
  guestCountByCrowd: 010000000400000008000000
  guestSpeed: 0.8
  guestTripWeights:
  - 1
  - 1
  - 1
  guestDwellAtPoiSec: 10
  guestDwellAtRegisterSec: 20
  guestDwellAtTableSec: 30
  warmupOccupancy: 0.8
  jamNarrowAfterSec: 1
  jamNarrowRadius: 0.12
  jamBackOffAfterSec: 3
  jamStuckSpeed: 0.05
  waitingCountByCrowd: 000000000200000005000000
  waitingShuffleSec: 25
  chairPullHoldSec: 30
  chairPullDistance: 0.3
  chairPullIdleMeanIntervalSec: 1800
  guestGiveUpSec: 60
  guestWarpHomeSec: 60
  staffGiveUpSec: 60
  staffGiveUpMaxTries: 3
  registerBackArea: 3
  avoidancePriority: 50
  avoidanceQuality: 3
  acceleration: 2
  angularSpeedDegPerSec: 360
  stoppingDistance: 0.3
  robotYieldEnabled: 1
  robotAisleLookAheadM: 3
  robotAisleMarginM: 0.3
  robotDetourExtraMaxM: 5
  robotFaceToFaceM: 1.5
  robotKeepClearM: 0.3
  robotSideStepM: 0.5
  robotBackOffSearchM: 4
  robotPassedClearM: 0.5
  robotYieldMaxSec: 20
  robotCarelessChance: 0.02
  robotContactGapM: 0.1
  robotNudgeSpeedMps: 0.5
```

### Assets/ServiceSim/People/SeatedGuestBody.prefab

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2838086114802356638
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 6591728704445004023}
  - component: {fileID: 4332517344609818666}
  - component: {fileID: 8316074579321051230}
  m_Layer: 0
  m_Name: Body
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &6591728704445004023
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 2838086114802356638}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0.845, z: 0}
  m_LocalScale: {x: 0.4, y: 0.395, z: 0.4}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 6871310401504149733}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4332517344609818666
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 2838086114802356638}
  m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &8316074579321051230
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 2838086114802356638}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: 01d9d9f2417ee4c28aceeed65078ae65, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &5154178683005283430
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 8303304616152871199}
  - component: {fileID: 5065655325086736030}
  - component: {fileID: 8634053494476618180}
  m_Layer: 0
  m_Name: Head
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &8303304616152871199
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5154178683005283430}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 1.24, z: 0}
  m_LocalScale: {x: 0.22, y: 0.22, z: 0.22}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 6871310401504149733}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &5065655325086736030
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5154178683005283430}
  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &8634053494476618180
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5154178683005283430}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: 01d9d9f2417ee4c28aceeed65078ae65, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &8816729130706024923
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 6871310401504149733}
  m_Layer: 0
  m_Name: SeatedGuestBody
  m_TagString: SimSeatedGuest
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &6871310401504149733
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 8816729130706024923}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_ConstrainProportionsScale: 0
  m_Children:
  - {fileID: 6591728704445004023}
  - {fileID: 8303304616152871199}
  m_Father: {fileID: 0}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
```

### Assets/ServiceSim/People/Guest.prefab

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6073347054217536181
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 8296298891546836475}
  - component: {fileID: 5701677850702493200}
  - component: {fileID: 281819017334468356}
  m_Layer: 0
  m_Name: Body
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &8296298891546836475
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6073347054217536181}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0.795, z: 0}
  m_LocalScale: {x: 0.4, y: 0.795, z: 0.4}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 1382173422036355743}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &5701677850702493200
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6073347054217536181}
  m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &281819017334468356
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6073347054217536181}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: 01d9d9f2417ee4c28aceeed65078ae65, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &6513511251386309583
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 1382173422036355743}
  - component: {fileID: 104310407123127361}
  - component: {fileID: 6523060775977671306}
  - component: {fileID: 371416991285005416}
  - component: {fileID: 5473965731809544106}
  m_Layer: 0
  m_Name: Guest
  m_TagString: SimGuest
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &1382173422036355743
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6513511251386309583}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_ConstrainProportionsScale: 0
  m_Children:
  - {fileID: 8296298891546836475}
  - {fileID: 8820201717658973564}
  m_Father: {fileID: 0}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!136 &104310407123127361
CapsuleCollider:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6513511251386309583}
  m_Material: {fileID: 0}
  m_IncludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_ExcludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_LayerOverridePriority: 0
  m_IsTrigger: 0
  m_ProvidesContacts: 0
  m_Enabled: 1
  serializedVersion: 2
  m_Radius: 0.2
  m_Height: 1.7
  m_Direction: 1
  m_Center: {x: 0, y: 0.85, z: 0}
--- !u!195 &6523060775977671306
NavMeshAgent:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6513511251386309583}
  m_Enabled: 0
  m_AgentTypeID: 0
  m_Radius: 0.2
  m_Speed: 0.8
  m_Acceleration: 2
  avoidancePriority: 50
  m_AngularSpeed: 360
  m_StoppingDistance: 0.3
  m_AutoTraverseOffMeshLink: 1
  m_AutoBraking: 1
  m_AutoRepath: 1
  m_Height: 1.7
  m_BaseOffset: 0
  m_WalkableMask: 4294967295
  m_ObstacleAvoidanceType: 3
--- !u!114 &371416991285005416
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6513511251386309583}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 0e68ed8906c0a49fd916dd59243e249a, type: 3}
  m_Name: 
  m_EditorClassIdentifier: 
  radius: 0.2
  walksInAisle: 1
  kind: 1
  standingSpeed: 0.1
--- !u!114 &5473965731809544106
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6513511251386309583}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 5b90ee7daf591490ea942b3f4d4d7197, type: 3}
  m_Name: 
  m_EditorClassIdentifier: 
  spec: {fileID: 11400000, guid: 0389afc4b10ea49aab8b750d7706bc4e, type: 2}
  ops: {fileID: 0}
  _errand: 0
  _leg: 0
  _legS: 0
--- !u!1 &9163086498009157212
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 8820201717658973564}
  - component: {fileID: 2726613198652046282}
  - component: {fileID: 5665200945364515588}
  m_Layer: 0
  m_Name: Head
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &8820201717658973564
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 9163086498009157212}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 1.59, z: 0}
  m_LocalScale: {x: 0.22, y: 0.22, z: 0.22}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 1382173422036355743}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2726613198652046282
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 9163086498009157212}
  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &5665200945364515588
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 9163086498009157212}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: 01d9d9f2417ee4c28aceeed65078ae65, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
```

### Assets/ServiceSim/People/WaitingGuest.prefab

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &832178874547918046
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 2691875669085682952}
  - component: {fileID: 4884251015261999464}
  - component: {fileID: 6347996467771608337}
  - component: {fileID: 143013908617827362}
  - component: {fileID: 8788295299859241129}
  m_Layer: 0
  m_Name: WaitingGuest
  m_TagString: SimGuest
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &2691875669085682952
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 832178874547918046}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_ConstrainProportionsScale: 0
  m_Children:
  - {fileID: 878194309501440636}
  - {fileID: 8379978741423053392}
  m_Father: {fileID: 0}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!136 &4884251015261999464
CapsuleCollider:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 832178874547918046}
  m_Material: {fileID: 0}
  m_IncludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_ExcludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_LayerOverridePriority: 0
  m_IsTrigger: 0
  m_ProvidesContacts: 0
  m_Enabled: 1
  serializedVersion: 2
  m_Radius: 0.2
  m_Height: 1.7
  m_Direction: 1
  m_Center: {x: 0, y: 0.85, z: 0}
--- !u!195 &6347996467771608337
NavMeshAgent:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 832178874547918046}
  m_Enabled: 0
  m_AgentTypeID: 0
  m_Radius: 0.2
  m_Speed: 0.8
  m_Acceleration: 2
  avoidancePriority: 50
  m_AngularSpeed: 360
  m_StoppingDistance: 0.3
  m_AutoTraverseOffMeshLink: 1
  m_AutoBraking: 1
  m_AutoRepath: 1
  m_Height: 1.7
  m_BaseOffset: 0
  m_WalkableMask: 4294967295
  m_ObstacleAvoidanceType: 3
--- !u!114 &143013908617827362
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 832178874547918046}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 0e68ed8906c0a49fd916dd59243e249a, type: 3}
  m_Name: 
  m_EditorClassIdentifier: 
  radius: 0.2
  walksInAisle: 0
  kind: 2
  standingSpeed: 0.1
--- !u!114 &8788295299859241129
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 832178874547918046}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: d6e51ab05018a4da7bbf9fc2969dc8bd, type: 3}
  m_Name: 
  m_EditorClassIdentifier: 
  spec: {fileID: 11400000, guid: 0389afc4b10ea49aab8b750d7706bc4e, type: 2}
--- !u!1 &2570510635785659489
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 8379978741423053392}
  - component: {fileID: 7672828401034330309}
  - component: {fileID: 7718777572900439655}
  m_Layer: 0
  m_Name: Head
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &8379978741423053392
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 2570510635785659489}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 1.59, z: 0}
  m_LocalScale: {x: 0.22, y: 0.22, z: 0.22}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 2691875669085682952}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &7672828401034330309
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 2570510635785659489}
  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &7718777572900439655
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 2570510635785659489}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: a8e5bb399161646bd80f5605cc854d68, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &7976354056836622734
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 878194309501440636}
  - component: {fileID: 3951570804432806328}
  - component: {fileID: 2598916887154756207}
  m_Layer: 0
  m_Name: Body
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &878194309501440636
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 7976354056836622734}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0.795, z: 0}
  m_LocalScale: {x: 0.4, y: 0.795, z: 0.4}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 2691875669085682952}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3951570804432806328
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 7976354056836622734}
  m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &2598916887154756207
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 7976354056836622734}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: a8e5bb399161646bd80f5605cc854d68, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
```

### Assets/ServiceSim/People/Staff.prefab

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3098163907200169810
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 1304124054314267676}
  - component: {fileID: 2688625996715157573}
  - component: {fileID: 521124876621180415}
  - component: {fileID: 2941650549217019529}
  - component: {fileID: 2003063743112653135}
  m_Layer: 0
  m_Name: Staff
  m_TagString: SimStaff
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &1304124054314267676
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3098163907200169810}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_ConstrainProportionsScale: 0
  m_Children:
  - {fileID: 2687715831472261714}
  - {fileID: 6459525551316579701}
  m_Father: {fileID: 0}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!136 &2688625996715157573
CapsuleCollider:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3098163907200169810}
  m_Material: {fileID: 0}
  m_IncludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_ExcludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_LayerOverridePriority: 0
  m_IsTrigger: 0
  m_ProvidesContacts: 0
  m_Enabled: 1
  serializedVersion: 2
  m_Radius: 0.2
  m_Height: 1.7
  m_Direction: 1
  m_Center: {x: 0, y: 0.85, z: 0}
--- !u!195 &521124876621180415
NavMeshAgent:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3098163907200169810}
  m_Enabled: 0
  m_AgentTypeID: 0
  m_Radius: 0.2
  m_Speed: 1
  m_Acceleration: 2
  avoidancePriority: 50
  m_AngularSpeed: 360
  m_StoppingDistance: 0.3
  m_AutoTraverseOffMeshLink: 1
  m_AutoBraking: 1
  m_AutoRepath: 1
  m_Height: 1.7
  m_BaseOffset: 0
  m_WalkableMask: 4294967295
  m_ObstacleAvoidanceType: 3
--- !u!114 &2941650549217019529
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3098163907200169810}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 0e68ed8906c0a49fd916dd59243e249a, type: 3}
  m_Name: 
  m_EditorClassIdentifier: 
  radius: 0.2
  walksInAisle: 1
  kind: 0
  standingSpeed: 0.1
--- !u!114 &2003063743112653135
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3098163907200169810}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: f2bc5fc23d59f4e86a2d4d3a9d94e0a7, type: 3}
  m_Name: 
  m_EditorClassIdentifier: 
  spec: {fileID: 11400000, guid: 0389afc4b10ea49aab8b750d7706bc4e, type: 2}
  service: {fileID: 0}
  ops: {fileID: 0}
  _jobText: "\u5F85\u6A5F"
  _step: 0
  _stepS: 0
  staffIndex: 0
--- !u!1 &3369833595731345793
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 6459525551316579701}
  - component: {fileID: 4750280716136435729}
  - component: {fileID: 6028880659005802265}
  m_Layer: 0
  m_Name: Head
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &6459525551316579701
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3369833595731345793}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 1.59, z: 0}
  m_LocalScale: {x: 0.22, y: 0.22, z: 0.22}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 1304124054314267676}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4750280716136435729
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3369833595731345793}
  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &6028880659005802265
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3369833595731345793}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: 02e0200bc9d75401280673f34cacbd3d, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &5098283067329922118
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 2687715831472261714}
  - component: {fileID: 4859696383477372096}
  - component: {fileID: 3250940277956701342}
  m_Layer: 0
  m_Name: Body
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &2687715831472261714
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5098283067329922118}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0.795, z: 0}
  m_LocalScale: {x: 0.4, y: 0.795, z: 0.4}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 1304124054314267676}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4859696383477372096
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5098283067329922118}
  m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &3250940277956701342
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5098283067329922118}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: 02e0200bc9d75401280673f34cacbd3d, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
```

### Assets/ServiceSim/Robot/ServingRobotController.cs

```csharp
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

namespace ServiceSim
{
    /// <summary>
    /// 配膳ロボット1台。受け渡し口 → 卓 → 受け渡し口 の1往復を走り、
    /// 止まる・動き出す・経路を引き直す・動けなくなるを自分で決める。
    ///
    /// NavMeshAgent は経路を探すのと、人に自分をよけてもらうためだけに付ける。
    /// 自動でよける機能（obstacleAvoidanceType）は切り、位置はこの script が動かす。
    ///
    /// この script はロボットだけを扱う。人も店も動かさない。
    /// 細い通路の区画と入口は、店の側で決めた値を StartTrip で受け取るだけ。
    /// </summary>
    [RequireComponent(typeof(NavMeshAgent))]
    public class ServingRobotController : MonoBehaviour
    {
        public enum Phase
        {
            Idle,        // 往復していない
            ToTable,     // 卓へ向かう（細い通路の入口で待つこともある）
            Dwell,       // 卓で25秒止まる（「止まった」に数えない）
            ToPass,      // 受け渡し口へ戻る
            StuckWait,   // 動けなくなって、スタッフが来て動かしてくれるのを待つ（v5 3章）
            Done         // 往復が終わった
        }

        [Header("設定")]
        public RobotSpec spec;
        public FrontSensor sensor;

        [Tooltip("1台めは1、2台めは2")]
        public int robotId = 1;

        [Tooltip("立ち往生したときにスタッフを呼ぶ先（ServiceOps が入れる。v5 3章）")]
        public ServiceOps ops;

        // ---- 戻りの線（v5。受け渡し口の前の点を通らずに待機場所へ抜ける）----
        Vector3 _standbyPoint;
        bool _hasStandby;
        readonly List<Vector3> _drinkQueues = new List<Vector3>();
        int _returnLineFallbacks;
        bool _returnLineUsed;

        /// <summary>この台の待機場所（ServiceOps が入れる）</summary>
        public void SetStandbyPoint(Vector3 p)
        {
            _standbyPoint = new Vector3(p.x, 0f, p.z);
            _hasStandby = true;
        }

        /// <summary>戻りの線が使えず、今までどおり受け渡し口の前へ戻った回数（報告用）</summary>
        public int ReturnLineFallbacks { get { return _returnLineFallbacks; } }

        /// <summary>直前の戻りで、戻りの線を使えたか（報告用）</summary>
        public bool ReturnLineUsed { get { return _returnLineUsed; } }

        [Header("いまの様子（読むだけ）")]
        [SerializeField] Phase _phase = Phase.Idle;
        [SerializeField] bool _enteredAisle;
        [SerializeField] bool _yieldHold;

        // ---- 1往復の測りもの ----
        public int TableId { get; private set; }

        /// <summary>
        /// この走りを始めた、店の中の時刻（秒）。始めた側が渡す。渡されなければ -1。
        /// 「いつ始まったか」をロボット自身が持つ。外から覚えておくと、
        /// 走り終わってすぐ次の仕事が入ったときに取りこぼす。
        /// </summary>
        public float RunStartS { get; private set; }

        public float DistanceM { get; private set; }
        public float TotalS { get; private set; }
        public float StoppedS { get; private set; }
        public int StopCount { get; private set; }
        public float MaxDecelMps2 { get; private set; }
        public float MinClearanceM { get; private set; }
        public bool Stuck { get; private set; }
        public bool MetRobot { get; private set; }
        public bool Aborted { get; private set; }

        /// <summary>
        /// この往復で動けなくなってスタッフを呼んだ回数（v5 3章）。
        /// 動かしてもらったあと、また動けなくなれば2回めを呼ぶので、Stuck（印）とは別に数える。
        /// </summary>
        public int StuckCount { get; private set; }

        /// <summary>スタッフが来るのを待った秒数の合計（StoppedS にも入っている）</summary>
        public float StuckWaitS { get; private set; }

        /// <summary>1往復が打ち切り（maxTripSec 超え）で終わったか</summary>
        public bool TimedOut { get; private set; }

        /// <summary>細い通路の入口で、ほかの台を待った秒数（秒）。stop_durations_s には入れない</summary>
        public float WaitAisleS { get; private set; }

        /// <summary>直前の1コマで進んだ距離（m）。コマの粗さを確かめるのに使う</summary>
        public float LastStepM { get; private set; }

        /// <summary>止まった原因</summary>
        public enum StopCause
        {
            Guest,           // 歩く客とすれ違った
            Staff,           // スタッフとすれ違った
            PersonStanding,  // 人が立ち止まっていた
            Chair,           // 椅子
            OtherRobot,      // もう1台のロボット（Unity だけ）
            NoPath,          // 行き先への道が引けない（通路の幅が足りない）
            AisleQueue,      // 細い通路の順番待ち（Unity だけ）
            Unknown          // 分からない
        }

        /// <summary>どう動き出したか</summary>
        public enum StopResolve
        {
            SelfResume,   // 自分で動き出した
            Replanned,    // 経路を引き直した
            Stuck,        // 動けなくなった
            AisleWait     // 入口で待った
        }

        /// <summary>止まり1回ぶんの記録</summary>
        public struct StopEvent
        {
            public float startTimeS;        // 店の中の時刻（秒）
            public Vector3 position;        // 止まった位置
            public float durationS;         // 止まっていた秒数
            public StopCause cause;
            public string causeDetail;      // 何に当たったか
            public StopResolve resolve;
            public float clearanceLeftM;    // 左の空き（ロボットの外周から）
            public float clearanceRightM;   // 右の空き
            public bool pathBlocked;        // 行き先への道が引けていなかったか

            // ---- 止まっている間、何で動けなかったかの内訳（秒）。B7 を調べるため ----
            /// <summary>前のセンサーが「ふさがっている」と言っていた秒数</summary>
            public float blockedS;
            /// <summary>行き先への道が引けていなかった秒数</summary>
            public float noPathS;
            /// <summary>細い通路の入口で順番を待っていた秒数</summary>
            public float yieldS;
            /// <summary>ふさがりが解けたあと、動き出すまで待っていた秒数</summary>
            public float clearWaitS;

            // ---- 道を引いたときの中身（調べるためだけ。動きは変えない）----
            /// <summary>道を引いた出発点（焼いた面へ寄せたあと）</summary>
            public Vector3 solveFrom;
            /// <summary>道を引いた行き先（同じく寄せたあと）</summary>
            public Vector3 solveTo;
            /// <summary>CalculatePath の結果（PathComplete / PathPartial / PathInvalid / なし）</summary>
            public string solveStatus;
            /// <summary>引けた角の数</summary>
            public int solveCorners;
            /// <summary>
            /// ロボットのいる位置から、いちばん近い焼いた面までの距離（m）。
            /// 面の上に立っていれば 0 に近い。探す半径で見つからなければ -1
            /// </summary>
            public float offMeshM;
            /// <summary>止まっている間に経路を引き直した回数</summary>
            public int replans;
        }

        readonly List<StopEvent> _stopEvents = new List<StopEvent>();

        /// <summary>この往復で止まった1回ずつの記録</summary>
        public IReadOnlyList<StopEvent> StopEvents { get { return _stopEvents; } }

        readonly List<float> _stopDurations = new List<float>();

        /// <summary>自分で動き出した止まりの長さ（秒）。動けなくなった分と、入口で待った分は入れない</summary>
        public IReadOnlyList<float> StopDurationsS { get { return _stopDurations; } }

        public Phase CurrentPhase { get { return _phase; } }
        public bool TripFinished { get { return _phase == Phase.Done; } }
        public bool HasEnteredAisle { get { return _enteredAisle; } }

        /// <summary>いまの速さ（m/秒。字幕が読むだけ）</summary>
        public float SpeedMps { get { return _speed; } }

        /// <summary>細い通路の入口で待っている最中か（字幕が読むだけ）</summary>
        public bool YieldHolding { get { return _yieldHold; } }

        /// <summary>卓での受け渡しの残り秒数（字幕が読むだけ）</summary>
        public float DwellRemainS
        {
            get { return spec != null ? Mathf.Max(0f, spec.tableDwellSec - _dwellTimer) : 0f; }
        }

        /// <summary>
        /// スタッフを待っている秒数（字幕が読むだけ。v5 3章）。
        /// 受け渡し口へ移すのをやめたので「残り」ではなく、呼んでから待っている長さを出す
        /// </summary>
        public float StuckWaitRemainS
        {
            get { return _stuckWaitTimer; }
        }
        public Bounds AisleZone { get { return _aisleZone; } }

        /// <summary>1走りで寄る卓1つぶん</summary>
        public struct RunStop
        {
            public int tableId;
            public Vector3 point;          // ロボットが止まる位置（通路の上）
            public Vector3 aisleEntrance;  // その通路に入る前に待つ位置
            public Bounds aisleZone;       // 譲り合いの区画
        }

        readonly List<RunStop> _stops = new List<RunStop>();
        readonly List<int> _tableIds = new List<int>();
        int _stopIndex;

        /// <summary>この走りで寄る卓の番号</summary>
        public IReadOnlyList<int> TableIds { get { return _tableIds; } }

        /// <summary>この走りで何卓に届けたか</summary>
        public int StopsCompleted { get; private set; }

        /// <summary>この走りで寄る卓の数</summary>
        public int RunStopCount { get { return _stops.Count; } }

        /// <summary>1往復が終わったときに呼ばれる</summary>
        public event Action<ServingRobotController> TripCompleted;

        // ---- いまシーンにいるロボット（譲り合いの判定に使う）----
        static readonly List<ServingRobotController> _all = new List<ServingRobotController>();
        public static IReadOnlyList<ServingRobotController> All { get { return _all; } }

        // ---- 内部 ----
        NavMeshAgent _agent;
        NavMeshPath _path;      // Awake で作る。フィールドの初期化で new すると
                                // 「InitializeNavMeshPath is not allowed to be called
                                //  from a MonoBehaviour constructor」になるため
        Vector3[] _corners = new Vector3[0];
        int _cornerIndex;
        Vector3 _destination;
        Vector3 _destinationOnMesh;
        bool _hasDestinationOnMesh;
        Vector3 _tablePoint;
        Vector3 _passPoint;
        Vector3 _aisleEntrance;
        Bounds _aisleZone;
        bool _hasAisleZone;

        float _speed;
        float _dwellTimer;
        float _clearTimer;
        float _stoppedTimer;        // いま続けて止まっている秒数
        float _lastReplanAtStopped;
        float _stuckWaitTimer;
        Phase _phaseBeforeStuck = Phase.ToTable;   // 動けなくなる直前に向かっていた先（v5 3章）

        // ---- 入口での順番待ち（v5）----
        float _yieldHoldS;          // 入口で待っている秒数
        bool _yieldGaveUp;          // 待ちすぎたので、この区間はもう譲らない
        Vector3 _aisleWaitPoint;    // 入口の手前で待つ点

        // ---- 台どうしの譲り合い（v5）----
        bool _robotYield;                    // いま譲って下がっている最中
        float _robotYieldS;                  // 譲り始めてからの秒数
        float _blockedByRobotS;              // もう1台にふさがれている秒数
        ServingRobotController _robotYieldTo;// 道をゆずる相手
        float _repathCooldown;
        bool _inStop;
        float _currentStopS;
        bool _inWait;
        float _currentWaitS;
        Vector3 _pathEndPoint;
        bool _hasPathEnd;
        bool _wasBlocked;
        bool _hasBrakeCause;
        StopCause _brakeCause;
        string _brakeDetail = "";
        string _aisleBlockerName = "";
        bool _replannedInStop;
        bool _recordingStop;
        StopEvent _open;
        bool _pathValid;

        // ---- 途中までの経路から出る（B7）----
        /// <summary>この止まりの中で、最後に強く引き直したときの no_path_s</summary>
        float _lastEscapeAtNoPathS;
        /// <summary>いま通路の入口へ出ようとしているか</summary>
        bool _escapeToEntrance;

        /// <summary>
        /// ロボットが歩く NavMesh の種類（agentTypeID）。既定の 0。
        /// NavMesh が人用とロボット用の2枚になったので、引くときは必ず種類を指定する
        /// （指定しないと「どの種類か決められない」と警告が出て、思わぬ面を拾う）。
        /// </summary>
        public const int RobotAgentTypeId = 0;

        static NavMeshQueryFilter RobotFilter
        {
            get
            {
                NavMeshQueryFilter f = new NavMeshQueryFilter();
                f.agentTypeID = RobotAgentTypeId;
                f.areaMask = NavMesh.AllAreas;
                return f;
            }
        }

        /// <summary>
        /// stops.csv の cause_detail に書く印。
        /// この印がある止まりは「途中までの経路に縛られて、引き直して出た」もの。
        /// CSV を割らないように、区切りはカンマを使わない。
        /// </summary>
        public const string PartialPathMark = "途中までの経路";

        void Awake()
        {
            _path = new NavMeshPath();
            _agent = GetComponent<NavMeshAgent>();
            ApplySpecToAgent();
        }

        void OnEnable()
        {
            if (!_all.Contains(this)) _all.Add(this);
        }

        void OnDisable()
        {
            _all.Remove(this);
        }

        void ApplySpecToAgent()
        {
            if (_agent == null || spec == null) return;
            _agent.radius = spec.Radius;
            _agent.height = spec.height;
            _agent.speed = spec.maxSpeed;
            _agent.acceleration = spec.acceleration;
            _agent.angularSpeed = spec.turnSpeedDegPerSec;
            // 自動でよける機能は使わない（実機のよけ方と違うため）
            // ロボットはロボット用の面（半径 navAgentRadius で焼いたもの）を歩く
            if (_agent.agentTypeID != RobotAgentTypeId) _agent.agentTypeID = RobotAgentTypeId;
            _agent.obstacleAvoidanceType = ObstacleAvoidanceType.NoObstacleAvoidance;
            _agent.avoidancePriority = spec.avoidancePriority;
            // 位置と向きはこの script が動かす。agent は経路を探すのと、人に見てもらうためだけ
            _agent.updatePosition = false;
            _agent.updateRotation = false;
            _agent.autoRepath = false;
            // isStopped は NavMesh に乗っている agent にしか使えない
            if (_agent.enabled && _agent.isOnNavMesh) _agent.isStopped = true;
        }

        /// <summary>受け渡し口に置き直して、次の往復を始める準備をする</summary>
        /// <summary>
        /// 仕事がないときの待機場所へ、ゆっくり下がる（B2）。
        /// 往復ではないので、距離・止まり・動けなくなったの記録には数えない。
        /// 止まる決まり（前のセンサー・譲り合い）もここでは働かせない。
        /// すでにその場所の近くにいれば何もしない。
        /// </summary>
        public void GoStandby(Vector3 spot)
        {
            if (_phase != Phase.Idle && _phase != Phase.Done) return;
            if (_agent == null || !Application.isPlaying) return;
            if (!_agent.enabled || !_agent.isOnNavMesh) return;

            Vector3 here = transform.position; here.y = 0f;
            Vector3 to = spot; to.y = 0f;
            if (Vector3.Distance(here, to) <= spec.arriveRadius) { _agent.isStopped = true; return; }

            _agent.isStopped = false;
            _agent.speed = spec.maxSpeed;
            _agent.SetDestination(spot);
        }

        public void PlaceAt(Vector3 position, Quaternion rotation)
        {
            transform.SetPositionAndRotation(position, rotation);
            _speed = 0f;

            if (_agent == null) return;
            if (!Application.isPlaying) return;      // 編集モードでは NavMeshAgent を触らない

            if (!_agent.enabled) _agent.enabled = true;
            _agent.Warp(position);
            if (_agent.isOnNavMesh)
            {
                _agent.isStopped = true;
                _agent.nextPosition = position;
            }
        }

        /// <summary>1往復を始める（細い通路の譲り合いなし。場面の再現などに使う）</summary>
        public void StartTrip(int tableId, Vector3 tablePoint, Vector3 passPoint)
        {
            StartTrip(tableId, tablePoint, passPoint, passPoint, new Bounds());
        }

        /// <summary>1往復を始める（1卓だけ）</summary>
        public void StartTrip(int tableId, Vector3 tablePoint, Vector3 passPoint,
                              Vector3 aisleEntrance, Bounds aisleZone)
        {
            RunStop s = new RunStop();
            s.tableId = tableId;
            s.point = tablePoint;
            s.aisleEntrance = aisleEntrance;
            s.aisleZone = aisleZone;
            List<RunStop> one = new List<RunStop>();
            one.Add(s);
            StartRun(one, passPoint);
        }

        /// <summary>
        /// 1走りを始める。受け渡し口を出て、渡された卓を順に回り、受け渡し口へ戻る。
        /// 止まる決まり（前のセンサー・譲り合い・動けなくなったときの扱い）は1卓のときと同じ。
        /// </summary>
        public void StartRun(IList<RunStop> stops, Vector3 passPoint)
        {
            StartRun(stops, passPoint, -1f);
        }

        /// <summary>始めた時刻（店の中, 秒）も渡して1走りを始める。記録に使う</summary>
        public void StartRun(IList<RunStop> stops, Vector3 passPoint, float startS)
        {
            RunStartS = startS;
            _stops.Clear();
            _tableIds.Clear();
            if (stops != null)
            {
                for (int i = 0; i < stops.Count; i++)
                {
                    _stops.Add(stops[i]);
                    _tableIds.Add(stops[i].tableId);
                }
            }
            _stopIndex = 0;
            StopsCompleted = 0;

            if (_stops.Count == 0) { _phase = Phase.Idle; return; }
            BeginRun(passPoint);
        }

        void BeginRun(Vector3 passPoint)
        {
            RunStop first = _stops[0];
            int tableId = first.tableId;
            Vector3 tablePoint = first.point;
            Vector3 aisleEntrance = first.aisleEntrance;
            Bounds aisleZone = first.aisleZone;

            if (_path == null) _path = new NavMeshPath();
            ApplySpecToAgent();
            if (Application.isPlaying && _agent != null)
            {
                if (!_agent.enabled) _agent.enabled = true;
                if (!_agent.isOnNavMesh) _agent.Warp(transform.position);
            }

            TableId = tableId;
            _tablePoint = tablePoint;
            _passPoint = passPoint;
            _aisleEntrance = aisleEntrance;
            _aisleZone = aisleZone;
            _hasAisleZone = aisleZone.size.x > 0.01f && aisleZone.size.z > 0.01f;

            DistanceM = 0f;
            TotalS = 0f;
            StoppedS = 0f;
            StopCount = 0;
            MaxDecelMps2 = 0f;
            MinClearanceM = float.PositiveInfinity;
            Stuck = false;
            StuckCount = 0;
            StuckWaitS = 0f;
            LegWasNarrow = false;
            MetRobot = false;
            Aborted = false;
            TimedOut = false;
            WaitAisleS = 0f;
            _stopDurations.Clear();
            _stopEvents.Clear();

            _speed = 0f;
            _dwellTimer = 0f;
            _clearTimer = 0f;
            _hasDestinationOnMesh = false;
            _wasBlocked = false;
            _hasBrakeCause = false;
            _stoppedTimer = 0f;
            _lastReplanAtStopped = 0f;
            _stuckWaitTimer = 0f;
            _phaseBeforeStuck = Phase.ToTable;
            _yieldHoldS = 0f;
            _yieldGaveUp = false;
            _robotYield = false;
            _robotYieldS = 0f;
            _robotYieldTo = null;
            _blockedByRobotS = 0f;
            _repathCooldown = 0f;
            _inStop = false;
            _currentStopS = 0f;
            _lastEscapeAtNoPathS = 0f;
            _escapeToEntrance = false;

            // 譲り合いを使わない／区画が無いときは、はじめから「入った」扱いにする
            _enteredAisle = !(spec != null && spec.aisleYielding) || !_hasAisleZone;
            _yieldHold = false;

            _phase = Phase.ToTable;
            // v5b: サイトの道順を受け取る（店を建て直すこともあるので、1 走りごとに引き直す）
            StoreBuilder store = FindObjectOfType<StoreBuilder>();
            _routes = store != null ? store.Routes : null;
            // ドリンクバーの並ぶ点（戻りの線を離すために使う。v5）
            _drinkQueues.Clear();
            if (store != null)
            {
                IList<Vector3> qs = store.PointsOf(PlaceKind.DrinkBarQueue);
                for (int i = 0; i < qs.Count; i++) _drinkQueues.Add(new Vector3(qs[i].x, 0f, qs[i].z));
            }
            _snapFallbacks = 0;
            bool narrow;
            BeginLeg(RouteTo(0, tableId, out narrow), _tablePoint, narrow);
        }

        /// <summary>次の卓へ向かう。もう無ければ受け渡し口へ戻る</summary>
        void NextStopOrReturn()
        {
            if (_stopIndex + 1 < _stops.Count)
            {
                int prevTableId = _stops[_stopIndex].tableId;
                _stopIndex++;
                RunStop s = _stops[_stopIndex];
                TableId = s.tableId;
                _tablePoint = s.point;
                _aisleEntrance = s.aisleEntrance;
                _aisleZone = s.aisleZone;
                _hasAisleZone = s.aisleZone.size.x > 0.01f && s.aisleZone.size.z > 0.01f;
                _enteredAisle = !(spec != null && spec.aisleYielding) || !_hasAisleZone;
                _yieldHold = false;
                _escapeToEntrance = false;
                _lastEscapeAtNoPathS = 0f;
                _phase = Phase.ToTable;
                bool narrowNext;
                BeginLeg(RouteTo(prevTableId, s.tableId, out narrowNext), _tablePoint, narrowNext);
                return;
            }
            _phase = Phase.ToPass;
            _escapeToEntrance = false;
            _lastEscapeAtNoPathS = 0f;
            bool narrowBack;
            List<Vector3> back = RouteToPass(_stops[_stopIndex].tableId, out narrowBack);

            // 受け渡し口の前の点を通らず、その少し下を通って右の待機場所へ抜ける（v5）。
            // 線が通れる床に乗らないときは、今までどおり受け渡し口の前へ戻る
            List<Vector3> line = ReturnLine(back);
            _returnLineUsed = line != null;
            if (line != null) back = line;

            BeginLeg(back, _returnLineUsed ? _standbyPoint : _passPoint, narrowBack);
        }

        // ---------------- 戻りの線（v5）----------------

        /// <summary>
        /// 戻る台の線。受け渡し口の前の点のかわりに、その少し下（passReturnOffsetM）の点へ入り、
        /// 右へ抜けて自分の待機場所で終わる。
        ///
        /// 1006 の回で、受け渡し口の前（x 14.0〜15.8 / z 4.8〜6.6）の「もう1台のロボット」が
        /// 209 回あり、そのうち 2 号機の 182 回では、相手の 91% が
        /// 「戻ってきた台」か「待機場所にいる台」だった。出る台と戻る台がここで交差していたため。
        ///
        /// サイトの道順は変えない（最後の点だけ差し替える）。
        /// 線が使えないときは null を返し、今までどおり受け渡し口の前へ戻る。
        /// </summary>
        List<Vector3> ReturnLine(List<Vector3> routeToPass)
        {
            if (spec == null || !spec.useReturnLine || !_hasStandby) return null;
            if (routeToPass == null || routeToPass.Count < 2) return null;

            Vector3 pass = _passPoint; pass.y = 0f;
            float z = pass.z - spec.passReturnOffsetM;
            Vector3 p1 = new Vector3(pass.x, 0f, z);
            Vector3 p2 = new Vector3(_standbyPoint.x, 0f, z);
            Vector3 p3 = _standbyPoint;

            List<Vector3> pts = new List<Vector3>(routeToPass);
            pts[pts.Count - 1] = p1;        // 受け渡し口の前の点を、その少し下へ差し替える
            pts.Add(p2);
            pts.Add(p3);

            // 道順から分かれたあとの区間だけを確かめる（分かれる前はサイトの道順そのまま）
            int from = Mathf.Max(0, pts.Count - 4);
            if (!ReturnLineWalkable(pts, from) ||
                !ReturnLineClear(p1, p2, p3))
            {
                _returnLineFallbacks++;
                return null;
            }
            return pts;
        }

        /// <summary>戻りの線が、ロボット用の焼いた面に乗っているか（刻みで調べる）</summary>
        bool ReturnLineWalkable(List<Vector3> pts, int from)
        {
            float step = Mathf.Max(0.01f, spec.passReturnCheckStepM);
            NavMeshHit hit;

            for (int i = from; i < pts.Count - 1; i++)
            {
                Vector3 a = pts[i], b = pts[i + 1];
                float len = Vector3.Distance(a, b);
                int n = Mathf.Max(1, Mathf.CeilToInt(len / step));
                for (int k = 0; k <= n; k++)
                {
                    Vector3 p = Vector3.Lerp(a, b, (float)k / n);
                    if (!NavMesh.SamplePosition(p, out hit, spec.Radius, RobotFilter)) return false;
                }
            }
            return true;
        }

        /// <summary>
        /// 戻りの線が、出ていく台の線（受け渡し口の前の点を通る線）と
        /// ドリンクバーの並ぶ点から、決めた距離だけ離れているか。
        /// 離れを見るのは、道順から分かれたあとの3点と、そのあいだだけ
        /// （分かれる前はサイトの道順そのままなので、出る線と重なっていてよい）。
        /// </summary>
        bool ReturnLineClear(Vector3 p1, Vector3 p2, Vector3 p3)
        {
            float step = Mathf.Max(0.01f, spec.passReturnCheckStepM);
            Vector3 pass = _passPoint; pass.y = 0f;
            Vector3[] line = { p1, p2, p3 };

            for (int i = 0; i < line.Length - 1; i++)
            {
                float len = Vector3.Distance(line[i], line[i + 1]);
                int n = Mathf.Max(1, Mathf.CeilToInt(len / step));
                for (int k = 0; k <= n; k++)
                {
                    Vector3 p = Vector3.Lerp(line[i], line[i + 1], (float)k / n);
                    if (Vector3.Distance(p, pass) < spec.passReturnSeparationM) return false;
                    for (int q = 0; q < _drinkQueues.Count; q++)
                        if (Vector3.Distance(p, _drinkQueues[q]) < spec.passReturnKeepAwayM) return false;
                }
            }
            return true;
        }

        /// <summary>往復を打ち切る</summary>
        public void AbortTrip()
        {
            _legPoints = null;
            if (_phase == Phase.Idle || _phase == Phase.Done) return;
            Aborted = true;
            Finish();
        }

        void Update()
        {
            if (spec == null) return;
            if (_phase == Phase.Idle || _phase == Phase.Done) return;

            float dt = Time.deltaTime;
            if (dt <= 0f) return;

            LastStepM = 0f;

            FrontSensor.Reading reading = sensor != null ? sensor.Sense() : new FrontSensor.Reading();
            if (reading.sawRobot) MetRobot = true;

            // 卓での25秒。測りの時間には入れない
            if (_phase == Phase.Dwell)
            {
                _dwellTimer += dt;
                if (_dwellTimer >= spec.tableDwellSec) NextStopOrReturn();
                SyncAgent();
                return;
            }

            TotalS += dt;
            UpdateClearance();

            // 1往復の打ち切り（この往復は timeout として1行に残す）
            if (TotalS > spec.maxTripSec)
            {
                TimedOut = true;
                PlaceAt(_passPoint, transform.rotation);
                Finish();
                return;
            }

            // 動けなくなって、スタッフが来るのを待っているあいだ（v5 3章）。
            // 受け渡し口へ移す（warp）のはやめた。スタッフが歩いて来て rescue_s 動かすと
            // Rescued() が呼ばれ、止まっていた所から走りを続ける。
            // 待っているあいだは「止まっていた」に数える。
            // いつまでも来ないときは、上の maxTripSec の打ち切りが働く（timeout=1）。
            if (_phase == Phase.StuckWait)
            {
                StoppedS += dt;
                StuckWaitS += dt;
                _stuckWaitTimer += dt;
                SyncAgent();
                return;
            }

            // ---- 通路の入口へ出ている途中（B7）。着いたら、もう一度もとの行き先を目指す ----
            UpdateEscape();

            // ---- 台どうしでふさぎ合ったら、決まった順で片方が譲る（v5）----
            UpdateRobotYield(dt, reading);

            // ---- 細い通路の譲り合い ----
            bool waitingAtEntrance = !_robotYield && UpdateAisleYielding();

            // ---- 走る・止まる ----
            bool blocked = reading.blocked;

            // 原因は、ブレーキを踏み始めた瞬間（前が塞がったと分かった瞬間）のものを覚えておく。
            // 速さが0になるまで待つと、そのあいだに相手が通り過ぎて「分からない」になってしまう
            if (blocked && !_wasBlocked)
            {
                _brakeCause = CauseOf(reading);
                _brakeDetail = string.IsNullOrEmpty(reading.nearestName) ? "" : reading.nearestName;
                _hasBrakeCause = true;
            }
            _wasBlocked = blocked;

            if (blocked) _clearTimer = 0f;
            else _clearTimer += dt;

            // 行き先への道が引けていないときも止まる（進めないのに走っている扱いにしない）
            bool hasPath = _corners.Length > 0 && _cornerIndex < _corners.Length;
            bool wantMove = !blocked && _clearTimer >= spec.resumeAfterClearSec && !waitingAtEntrance && hasPath;

            float target = wantMove ? spec.maxSpeed : 0f;
            float prevSpeed = _speed;
            if (target > _speed) _speed = Mathf.Min(target, _speed + spec.acceleration * dt);
            else _speed = Mathf.Max(target, _speed - spec.deceleration * dt);

            float decel = (prevSpeed - _speed) / dt;
            if (decel > MaxDecelMps2) MaxDecelMps2 = decel;

            if (_speed <= spec.stoppedSpeedEpsilon)
            {
                StoppedS += dt;

                if (waitingAtEntrance)
                {
                    // 譲り合いで入口に待っている分。止まった回数・長さには数えない
                    WaitAisleS += dt;
                    _stoppedTimer = 0f;
                    _lastReplanAtStopped = 0f;
                    if (!_inWait)
                    {
                        _inWait = true;
                        _currentWaitS = 0f;
                        BeginStopRecord(StopCause.AisleQueue,
                            _aisleBlockerName.Length > 0 ? "先に入っている台：" + _aisleBlockerName : "順番待ち", false);
                    }
                    _currentWaitS += dt;
                    _open.yieldS += dt;
                }
                else
                {
                    if (_inWait) { _inWait = false; EndStopRecord(_currentWaitS, StopResolve.AisleWait); }

                    _stoppedTimer += dt;
                    if (!_inStop)
                    {
                        _inStop = true;
                        _currentStopS = 0f;
                        _replannedInStop = false;
                        _lastEscapeAtNoPathS = 0f;   // no_path_s は止まりごとに数え直す（B7）

                        string detail;
                        StopCause cause;
                        // 道をゆずって下がっているあいだは、相手の台が原因（v5）。
                        // 下がり終えると道が引けていない状態になるが、それは「幅が足りない」ではない
                        if (_robotYield)
                        {
                            cause = StopCause.OtherRobot;
                            detail = _robotYieldTo != null
                                ? "道をゆずって下がった：" + _robotYieldTo.name : "道をゆずって下がった";
                        }
                        else if (!hasPath) cause = CauseOfNoPath(out detail);
                        else if (_hasBrakeCause)
                        {
                            cause = _brakeCause;      // ブレーキを踏み始めたときに見たもの
                            detail = _brakeDetail;
                        }
                        else
                        {
                            cause = CauseOf(reading);
                            detail = string.IsNullOrEmpty(reading.nearestName) ? "" : reading.nearestName;
                        }
                        BeginStopRecord(cause, detail, !hasPath);
                        _hasBrakeCause = false;
                    }
                    _currentStopS += dt;

                    // 何で動けないかを秒数で分けて残す（B7 を調べるため）。
                    // 止まる決まりは変えない。数えるだけ
                    if (blocked) _open.blockedS += dt;
                    if (!hasPath) _open.noPathS += dt;
                    if (!blocked && hasPath && _clearTimer < spec.resumeAfterClearSec)
                        _open.clearWaitS += dt;

                    // 止まって10秒ごとに経路を引き直す
                    if (_stoppedTimer - _lastReplanAtStopped >= spec.replanAfterStoppedSec)
                    {
                        _lastReplanAtStopped = _stoppedTimer;
                        _replannedInStop = true;
                        _open.replans++;
                        SetDestination(_destination);
                    }

                    // 途中までの経路に縛られているとき（B7）。
                    // 「道が引けていなかった秒数」がしきい値を超えたら、
                    // 引き直しの間隔（repathRetrySec）を待たずに強く引き直す。
                    // それでも途中までしか引けなければ、いちど通路の入口を目指して出る。
                    if (!hasPath && !_escapeToEntrance &&
                        _open.noPathS - _lastEscapeAtNoPathS >= spec.noPathForceReplanSec)
                    {
                        EscapePartialPath();
                    }

                    // 60秒動けなかったら「動けなくなった」
                    if (_stoppedTimer >= spec.stuckAfterStoppedSec)
                    {
                        EnterStuck();
                        SyncAgent();
                        return;
                    }
                }
            }
            else
            {
                if (_inWait) { _inWait = false; EndStopRecord(_currentWaitS, StopResolve.AisleWait); }
                if (_inStop)
                {
                    _inStop = false;
                    StopCount++;
                    _stopDurations.Add(_currentStopS);
                    EndStopRecord(_currentStopS,
                        _replannedInStop ? StopResolve.Replanned : StopResolve.SelfResume);
                }
                _stoppedTimer = 0f;
                _lastReplanAtStopped = 0f;
            }

            FaceAndMove(dt);
            SyncAgent();
            CheckArrival();
        }

        // ---------------- 台どうしの譲り合い（v5）----------------

        /// <summary>
        /// 2台がふさぎ合ったとき、決まった順で片方が譲る。
        ///
        /// 実際の配膳ロボットは台どうしで連絡を取り合い、片方が道を譲る。
        /// ここでは **番号の小さい台が先**。番号の大きい台が、相手の道からどいて待ち、
        /// 相手が通り過ぎたら進む。
        ///
        /// 下がる先は、いま来た道（道順の1つ前の点）。必ず通れた所なので確実に戻れる。
        /// 無ければ、その場から後ろへ下がる。
        /// 待ちすぎたら（robotYieldMaxSec）あきらめて進む。
        /// </summary>
        void UpdateRobotYield(float dt, FrontSensor.Reading reading)
        {
            if (_robotYield)
            {
                _robotYieldS += dt;

                bool passed = _robotYieldTo == null || Gap(_robotYieldTo) >= spec.robotYieldClearM;
                bool tooLong = spec.robotYieldMaxSec > 0f && _robotYieldS >= spec.robotYieldMaxSec;
                if (passed || tooLong)
                {
                    _robotYield = false;
                    _robotYieldTo = null;
                    _robotYieldS = 0f;
                    _blockedByRobotS = 0f;
                    ResumeLeg(_phase == Phase.ToPass ? _passPoint : _tablePoint);
                }
                return;
            }

            // ふさいでいるのがもう1台か
            ServingRobotController other = reading.blocked && reading.nearestIsRobot
                ? NearestOtherRobot() : null;
            if (other == null) { _blockedByRobotS = 0f; return; }

            _blockedByRobotS += dt;
            if (_blockedByRobotS < spec.robotYieldAfterSec) return;

            // 番号の小さい台が先。自分が小さければ譲らない（相手が下がる）
            if (robotId <= other.robotId) return;

            _robotYield = true;
            _robotYieldS = 0f;
            _blockedByRobotS = 0f;
            _robotYieldTo = other;
            SetDestination(YieldBackPoint(other), true);
        }

        /// <summary>相手の外周と自分の外周のあいだの空き（m）</summary>
        float Gap(ServingRobotController other)
        {
            Vector3 d = other.transform.position - transform.position;
            d.y = 0f;
            return d.magnitude - spec.Radius * 2f;
        }

        /// <summary>いちばん近いもう1台（譲る相手を決めるのに使う）</summary>
        ServingRobotController NearestOtherRobot()
        {
            ServingRobotController best = null;
            float bestD = float.MaxValue;
            for (int i = 0; i < _all.Count; i++)
            {
                ServingRobotController o = _all[i];
                if (o == null || o == this) continue;
                Vector3 d = o.transform.position - transform.position;
                d.y = 0f;
                float m = d.magnitude;
                if (m >= bestD) continue;
                best = o; bestD = m;
            }
            return best;
        }

        /// <summary>
        /// 譲って下がる先。来た道（道順の1つ前の点）を使う。
        /// 無ければ、相手と反対の向きへ robotYieldBackM 下がる。
        /// </summary>
        Vector3 YieldBackPoint(ServingRobotController other)
        {
            NavMeshHit hit;

            if (_legPoints != null && _legIndex > 0 && _legIndex - 1 < _legPoints.Count)
            {
                Vector3 back = _legPoints[_legIndex - 1];
                if (NavMesh.SamplePosition(back, out hit, spec.Radius * 2f, RobotFilter))
                    return hit.position;
            }

            Vector3 away = transform.position - other.transform.position;
            away.y = 0f;
            if (away.sqrMagnitude < 0.0001f) away = -transform.forward;
            away.Normalize();
            Vector3 p = transform.position + away * spec.robotYieldBackM;
            if (NavMesh.SamplePosition(p, out hit, spec.Radius * 2f, RobotFilter)) return hit.position;
            return transform.position;
        }

        /// <summary>
        /// 細い通路に入る前の譲り合い。
        /// 行き先の通路にもう1台がいたら、太い通路側の入口で待つ。
        /// 戻り（ToPass）では譲らない（出ないと詰まるため）。
        /// </summary>
        bool UpdateAisleYielding()
        {
            if (_phase != Phase.ToTable) return false;
            if (!spec.aisleYielding || !_hasAisleZone || _enteredAisle) return false;

            if (ContainsXZ(_aisleZone, transform.position))
            {
                _enteredAisle = true;
                if (_yieldHold)
                {
                    _yieldHold = false;
                    ResumeLeg(_tablePoint);
                }
                return false;
            }

            // 待ちすぎたら譲らずに進む（人の robotYieldMaxSec と同じ考え方。v5）。
            // この区間のあいだは、もう譲らない
            if (_yieldHold)
            {
                _yieldHoldS += Time.deltaTime;
                if (spec.aisleWaitMaxSec > 0f && _yieldHoldS >= spec.aisleWaitMaxSec)
                {
                    _yieldGaveUp = true;
                    _yieldHold = false;
                    _yieldHoldS = 0f;
                    ResumeLeg(_tablePoint);
                    return false;
                }
            }

            if (!_yieldGaveUp && MustWaitForAisle())
            {
                if (!_yieldHold)
                {
                    _yieldHold = true;
                    _yieldHoldS = 0f;
                    // 入口の点そのものに立つと、中の台が出られなくなる。
                    // 通路の外へ下がり、出てくる道をふさがない所で待つ
                    _aisleWaitPoint = AisleWaitPoint();
                    SetDestination(_aisleWaitPoint, true);
                }
            }
            else if (_yieldHold)
            {
                _yieldHold = false;
                _yieldHoldS = 0f;
                ResumeLeg(_tablePoint);
            }

            if (!_yieldHold) return false;

            Vector3 a = transform.position; a.y = 0f;
            Vector3 b = _aisleWaitPoint; b.y = 0f;
            return Vector3.Distance(a, b) <= spec.arriveRadius;
        }

        /// <summary>
        /// 通路の入口で待つ点（v5）。入口の点から通路の外へ下がり、横へずれる。
        /// 中の台が出てくる道をふさがないため。焼いた面に乗らなければ、下がるだけ・入口そのものの順に落とす。
        /// </summary>
        Vector3 AisleWaitPoint()
        {
            Vector3 entrance = _aisleEntrance; entrance.y = 0f;
            if (!_hasAisleZone) return entrance;

            Vector3 center = _aisleZone.center; center.y = 0f;
            Vector3 outward = entrance - center;
            outward.y = 0f;
            if (outward.sqrMagnitude < 0.0001f) return entrance;
            outward.Normalize();
            Vector3 side = new Vector3(-outward.z, 0f, outward.x);

            Vector3 back = entrance + outward * spec.aisleWaitSetbackM;
            Vector3[] tries =
            {
                back + side * spec.aisleWaitSideM,
                back - side * spec.aisleWaitSideM,
                back
            };

            NavMeshHit hit;
            for (int i = 0; i < tries.Length; i++)
                if (NavMesh.SamplePosition(tries[i], out hit, spec.Radius, RobotFilter)) return hit.position;

            return entrance;
        }

        /// <summary>
        /// 途中までの経路に縛られた止まりから出る（B7）。
        ///   1. 引き直しの間隔（repathRetrySec）を待たずに強く引き直す
        ///   2. それでも最後までつながらなければ、いちど通路の入口を目指して出る
        /// どちらも「経路の引き直し」なので、この止まりは resolved が「経路を引き直した」になる。
        /// cause_detail には「途中までの経路」の印を足す。
        /// </summary>
        void EscapePartialPath()
        {
            _lastEscapeAtNoPathS = _open.noPathS;
            _replannedInStop = true;
            _open.replans++;
            MarkPartialPath();

            // 1. 間隔を無視して引き直す
            SetDestination(_destination, true);
            if (_pathValid && _cornerIndex < _corners.Length) return;

            // 2. それでも途中まで。通路の入口へ出る
            if (!spec.escapeToAisleEntranceOnPartialPath) return;

            Vector3 here = transform.position; here.y = 0f;
            Vector3 exit = _aisleEntrance; exit.y = 0f;
            if (Vector3.Distance(here, exit) <= spec.arriveRadius) return;

            _escapeToEntrance = true;
            SetDestination(_aisleEntrance, true);
        }

        /// <summary>通路の入口へ出ている途中。着いたら、もとの行き先をもう一度目指す</summary>
        void UpdateEscape()
        {
            if (!_escapeToEntrance) return;

            Vector3 here = transform.position; here.y = 0f;
            Vector3 exit = _aisleEntrance; exit.y = 0f;
            if (Vector3.Distance(here, exit) > spec.arriveRadius) return;

            _escapeToEntrance = false;
            ResumeLeg(_phase == Phase.ToPass ? _passPoint : _tablePoint);
        }

        /// <summary>この止まりに「途中までの経路」の印をつける（1回だけ）</summary>
        void MarkPartialPath()
        {
            if (!_recordingStop) return;
            string d = _open.causeDetail;
            if (!string.IsNullOrEmpty(d) && d.Contains(PartialPathMark)) return;
            _open.causeDetail = string.IsNullOrEmpty(d) ? PartialPathMark : d + "／" + PartialPathMark;
        }

        bool MustWaitForAisle()
        {
            for (int i = 0; i < _all.Count; i++)
            {
                ServingRobotController o = _all[i];
                if (o == null || o == this) continue;

                // その通路の中にいる台がいれば入らない
                if (ContainsXZ(_aisleZone, o.transform.position)) { _aisleBlockerName = o.name; return true; }

                // 同じ通路を目指していて、まだ入っていない台。番号の小さい方が先に入る
                if (o._phase == Phase.ToTable && !o._enteredAisle && o._hasAisleZone &&
                    SameZone(o._aisleZone, _aisleZone) && o.robotId < robotId)
                {
                    _aisleBlockerName = o.name;
                    return true;
                }
            }
            _aisleBlockerName = "";
            return false;
        }

        static bool ContainsXZ(Bounds b, Vector3 p)
        {
            return p.x >= b.min.x && p.x <= b.max.x && p.z >= b.min.z && p.z <= b.max.z;
        }

        static bool SameZone(Bounds a, Bounds b)
        {
            Vector3 d = a.center - b.center;
            d.y = 0f;
            return d.sqrMagnitude < 0.0025f;   // 5 cm 以内なら同じ通路
        }

        /// <summary>
        /// 動けなくなった。スタッフを呼んで、来るまで待つ（v5 3章）。
        /// Stuck は「この往復で1回でも動けなくなったか」の印なので、1往復に1回だけ立てる。
        /// 呼ぶ方は何度でも起こりうる（動かしてもらった先でまた動けなくなる）ので、
        /// 呼び出しは Stuck の印とは別に毎回出す。
        /// </summary>
        void EnterStuck()
        {
            if (_phase == Phase.StuckWait) return;   // すでに待っている
            Stuck = true;
            if (_inStop) EndStopRecord(_currentStopS, StopResolve.Stuck);
            // 動けなくなった分は「自分で動き出した止まり」には数えない
            _inStop = false;
            _currentStopS = 0f;
            _stuckWaitTimer = 0f;
            _escapeToEntrance = false;
            _lastEscapeAtNoPathS = 0f;
            StuckCount++;
            _phaseBeforeStuck = _phase;
            _phase = Phase.StuckWait;
            if (ops != null) ops.PostRescue(this);
        }

        /// <summary>
        /// スタッフが来て rescue_s 動かし終わった（StaffAgent が呼ぶ。v5 3章）。
        /// 止まっていた所から、同じ道順の続きを走り直す。道順そのものは変えない。
        /// </summary>
        public void Rescued()
        {
            if (_phase != Phase.StuckWait) return;
            if (ops != null) ops.RescueFinished(_stuckWaitTimer);
            _stuckWaitTimer = 0f;
            _stoppedTimer = 0f;
            _lastReplanAtStopped = 0f;
            _clearTimer = 0f;
            bool toPass = _phaseBeforeStuck == Phase.ToPass;
            _phase = toPass ? Phase.ToPass : Phase.ToTable;
            ResumeLeg(toPass ? _passPoint : _tablePoint);
        }

        /// <summary>止まった原因を、前のセンサーが見たものから決める</summary>
        StopCause CauseOf(FrontSensor.Reading r)
        {
            if (r.nearestIsRobot) return StopCause.OtherRobot;
            if (r.nearestIsChair) return StopCause.Chair;
            if (r.nearestIsPerson)
            {
                if (r.nearestPersonStanding) return StopCause.PersonStanding;
                return r.nearestPersonKind == PersonKind.Staff ? StopCause.Staff : StopCause.Guest;
            }
            if (r.sawRobot) return StopCause.OtherRobot;
            if (r.sawChair) return StopCause.Chair;
            if (r.sawPerson) return StopCause.Guest;
            return StopCause.Unknown;
        }

        /// <summary>
        /// 行き先への道が引けないときの原因。
        /// ふさいでいるもの（引かれた椅子・もう1台のロボット）が見つかれば、その原因にする。
        /// 何も見つからないときだけ「通路の幅が足りない」にする。
        /// </summary>
        StopCause CauseOfNoPath(out string detail)
        {
            StopCause cause;
            string name;

            // 行き止まりの点 → 行き先 → 自分のまわり、の順に探す
            if (_hasPathEnd && FindBlocker(_pathEndPoint, out cause, out name))
            {
                detail = "経路なし：" + name;
                return cause;
            }
            if (FindBlocker(_destination, out cause, out name))
            {
                detail = "経路なし：" + name;
                return cause;
            }
            if (FindBlocker(transform.position, out cause, out name))
            {
                detail = "経路なし：" + name;
                return cause;
            }

            detail = "経路なし：ふさいでいるものが見つからない";
            return StopCause.NoPath;
        }

        const int BlockMax = 32;
        readonly Collider[] _blockHits = new Collider[BlockMax];

        /// <summary>
        /// その点のまわりで、道をふさぎうるもの（引かれた椅子・ほかのロボット）のうち
        /// いちばん近いものを探す。見つかれば true。
        /// </summary>
        bool FindBlocker(Vector3 around, out StopCause cause, out string name)
        {
            cause = StopCause.NoPath;
            name = "";

            Vector3 center = new Vector3(around.x, spec.clearanceProbeHeight, around.z);
            int n = Physics.OverlapSphereNonAlloc(center, spec.pathBlockSearchRadius, _blockHits,
                                                  ~0, QueryTriggerInteraction.Ignore);
            if (n > BlockMax) n = BlockMax;

            float best = float.MaxValue;
            for (int i = 0; i < n; i++)
            {
                Collider col = _blockHits[i];
                if (col == null) continue;

                Chair chair = col.GetComponentInParent<Chair>();
                if (chair != null)
                {
                    // 引かれていない椅子は NavMesh を削らないので、道をふさがない
                    if (!chair.IsPulled) continue;
                    float d = Vector3.Distance(center, chair.transform.position);
                    if (d < best)
                    {
                        best = d;
                        cause = StopCause.Chair;
                        name = chair.transform.parent != null
                            ? chair.transform.parent.name + "/" + chair.name : chair.name;
                    }
                    continue;
                }

                ServingRobotController other = col.GetComponentInParent<ServingRobotController>();
                if (other != null && other != this)
                {
                    float d = Vector3.Distance(center, other.transform.position);
                    if (d < best)
                    {
                        best = d;
                        cause = StopCause.OtherRobot;
                        name = other.name;
                    }
                }
            }
            return best < float.MaxValue;
        }

        // ---- 道を引いたときの中身（調べるためだけ。動きは変えない）----
        Vector3 _lastSolveFrom, _lastSolveTo;
        string _lastSolveStatus = "";
        int _lastSolveCorners;
        float _lastOffMeshM = -1f;

        /// <summary>
        /// いま開いている止まりの記録に、最後に道を引いたときの中身を写す。
        /// 止まっているあいだは 10 秒ごとに引き直すので、最後の1回ぶんが残る。
        /// 記録するだけで、止まる・動くの決まりには使わない。
        /// </summary>
        void RecordSolveIntoOpenStop()
        {
            if (!_recordingStop) return;
            _open.solveFrom = _lastSolveFrom;
            _open.solveTo = _lastSolveTo;
            _open.solveStatus = _lastSolveStatus;
            _open.solveCorners = _lastSolveCorners;
            _open.offMeshM = _lastOffMeshM;
        }

        void BeginStopRecord(StopCause cause, string detail, bool pathBlocked)
        {
            _open = new StopEvent();
            _open.startTimeS = Time.time;
            _open.position = transform.position;
            _open.cause = cause;
            _open.causeDetail = detail == null ? "" : detail;
            _open.pathBlocked = pathBlocked;
            float left, right;
            MeasureSideClearance(out left, out right);
            _open.clearanceLeftM = left;
            _open.clearanceRightM = right;
            _recordingStop = true;
            RecordSolveIntoOpenStop();   // 止まり始めの時点の、直前に引いた中身
        }

        void EndStopRecord(float durationS, StopResolve resolve)
        {
            if (!_recordingStop) return;
            _recordingStop = false;
            _open.durationS = durationS;
            _open.resolve = resolve;
            _stopEvents.Add(_open);
        }

        /// <summary>
        /// 止まった位置での、左右の空き（ロボットの外周から壁・席・椅子まで）。
        /// 人とロボットは数えない（動くもののため）。
        /// </summary>
        void MeasureSideClearance(out float left, out float right)
        {
            left = ProbeSide(-transform.right);
            right = ProbeSide(transform.right);
        }

        const int ProbeMax = 16;
        readonly RaycastHit[] _probe = new RaycastHit[ProbeMax];

        float ProbeSide(Vector3 dir)
        {
            float range = spec.clearanceProbeRange;
            Vector3 origin = transform.position + Vector3.up * spec.clearanceProbeHeight;
            int n = Physics.RaycastNonAlloc(origin, dir, _probe, range, ~0, QueryTriggerInteraction.Ignore);
            if (n > ProbeMax) n = ProbeMax;

            float best = range;
            for (int i = 0; i < n; i++)
            {
                Collider col = _probe[i].collider;
                if (col == null) continue;
                if (col.GetComponentInParent<PersonBody>() != null) continue;
                if (col.GetComponentInParent<ServingRobotController>() != null) continue;
                if (_probe[i].distance < best) best = _probe[i].distance;
            }
            return Mathf.Max(0f, best - spec.Radius);
        }

        void CheckArrival()
        {
            if (_yieldHold) return;         // いまの行き先は通路の入口なので、着いても卓ではない
            if (_escapeToEntrance) return;  // 途中までの経路から出ている途中（B7）。行き先は通路の入口

            Vector3 here = transform.position; here.y = 0f;
            Vector3 goal = _hasDestinationOnMesh ? _destinationOnMesh : _destination; goal.y = 0f;

            // v5b: 道順の途中の点は、少し手前でも「着いた」として次の点へ進む。
            // 最後の点（卓の止まる位置・受け渡し口）は今までどおり arriveRadius で見る
            bool midWaypoint = _legPoints != null && _legIndex + 1 < _legPoints.Count;
            float reach = midWaypoint
                ? Mathf.Max(spec.arriveRadius, spec.waypointReachDistance)
                : spec.arriveRadius;
            bool near = Vector3.Distance(here, goal) <= reach;

            // 最後までつながった経路の角を使い切ったら、着いたとみなす
            bool consumed = _pathValid && _corners.Length > 0 && _cornerIndex >= _corners.Length;
            if (!near && !consumed) return;

            if (AdvanceWaypoint()) return;     // まだ区間の途中

            if (_phase == Phase.ToTable)
            {
                _phase = Phase.Dwell;
                _dwellTimer = 0f;
                _speed = 0f;
                StopsCompleted = _stopIndex + 1;   // この卓には届いた
            }
            else if (_phase == Phase.ToPass)
            {
                Finish();
            }
        }

        void Finish()
        {
            _phase = Phase.Done;
            _speed = 0f;
            _legPoints = null;
            // まだ呼んだままのスタッフがいたら、呼び出しを下げる（v5 3章）
            if (ops != null) ops.CancelRescue(this);
            if (_inWait) { _inWait = false; EndStopRecord(_currentWaitS, StopResolve.AisleWait); }
            if (_inStop)
            {
                _inStop = false;
                StopCount++;
                _stopDurations.Add(_currentStopS);
                EndStopRecord(_currentStopS,
                    _replannedInStop ? StopResolve.Replanned : StopResolve.SelfResume);
            }
            if (float.IsInfinity(MinClearanceM)) MinClearanceM = -1f;   // 人がいなかった
            if (TripCompleted != null) TripCompleted(this);
        }

        // ---- サイトの道順（v5b）----
        RouteBook _routes;
        List<Vector3> _legPoints;         // いまの区間の曲がり角の点（最後が行き先そのもの）
        int _legIndex;
        bool _legIsNarrow;                // この区間が 0.8 m の道か（記録用）
        int _snapFallbacks;               // 止まる位置を 0.1 m で面に寄せられず、広げた回数

        /// <summary>いまの区間が 0.8 m の道か（記録用。v5b）</summary>
        public bool UsedNarrowAisle { get { return _legIsNarrow; } }

        /// <summary>
        /// この往復のどこかで 0.8 m の道を使ったか（trips.csv の via_narrow。v5 3章）。
        /// 1往復で何卓も回るので、区間ごとの印（UsedNarrowAisle）とは別に、
        /// 1回でも使ったら立てたままにする。
        /// </summary>
        public bool LegWasNarrow { get; private set; }

        /// <summary>道順の点を 0.1 m で面に寄せられなかった回数（報告用。v5b）</summary>
        public int RouteSnapFallbacks { get { return _snapFallbacks; } }

        /// <summary>
        /// 区間（受け渡し口→卓 / 卓→卓 / 卓→受け渡し口）を始める（v5b）。
        /// サイトの道順があればその点を順にたどり、無ければ行き先まで直接向かう。
        /// いまいる所に近い先頭の点は飛ばす（受け渡し口で始めるときなど）。
        /// </summary>
        void BeginLeg(List<Vector3> points, Vector3 fallbackTarget, bool narrow)
        {
            _legIsNarrow = narrow;
            if (narrow) LegWasNarrow = true;
            _legPoints = null;
            _legIndex = 0;

            if (spec != null && spec.followSiteRoutes && points != null && points.Count >= 2)
            {
                _legPoints = points;
                Vector3 here = transform.position; here.y = 0f;
                // 先頭の点は、いまいる所と同じことが多い（受け渡し口）。近ければ飛ばす
                while (_legIndex < _legPoints.Count - 1)
                {
                    Vector3 p = _legPoints[_legIndex]; p.y = 0f;
                    if (Vector3.Distance(here, p) > spec.waypointReachDistance) break;
                    _legIndex++;
                }
                SetDestination(_legPoints[_legIndex], true);
                return;
            }
            SetDestination(fallbackTarget, true);
        }

        /// <summary>いまの区間の、いま目指している点をもう一度行き先にする（v5b）</summary>
        void ResumeLeg(Vector3 fallbackTarget)
        {
            if (_legPoints != null && _legIndex < _legPoints.Count)
            {
                SetDestination(_legPoints[_legIndex], true);
                return;
            }
            SetDestination(fallbackTarget, true);
        }

        /// <summary>
        /// 道順の途中の点に着いたら、次の点へ進む（v5b）。
        /// 戻り値 true なら、まだ区間の途中（卓にも受け渡し口にも着いていない）。
        /// </summary>
        bool AdvanceWaypoint()
        {
            if (_legPoints == null || _legIndex + 1 >= _legPoints.Count) return false;
            _legIndex++;
            SetDestination(_legPoints[_legIndex], true);
            return true;
        }

        /// <summary>その卓へ行く道順（受け渡し口から / 直前の卓から）</summary>
        List<Vector3> RouteTo(int fromTableId, int toTableId, out bool narrow)
        {
            narrow = false;
            if (_routes == null) return null;
            RouteBook.Route used;
            List<Vector3> pts;
            if (fromTableId <= 0)
            {
                pts = _routes.PointsFromPass(toTableId, out used);
            }
            else
            {
                bool reversed;
                pts = _routes.PointsBetween(fromTableId, toTableId, out used, out reversed);
            }
            if (used != null) narrow = used.IsNarrow;
            return pts;
        }

        /// <summary>卓 → 受け渡し口の道順</summary>
        List<Vector3> RouteToPass(int fromTableId, out bool narrow)
        {
            narrow = false;
            if (_routes == null) return null;
            RouteBook.Route used;
            List<Vector3> pts = _routes.PointsToPass(fromTableId, out used);
            if (used != null) narrow = used.IsNarrow;
            return pts;
        }

        void SetDestination(Vector3 point) { SetDestination(point, false); }

        void SetDestination(Vector3 point, bool force)
        {
            // 引き直しの間隔を空ける。いまの経路は消さない
            if (_repathCooldown > 0f && !force)
            {
                _destination = point;
                return;
            }
            _repathCooldown = spec.repathRetrySec;
            if (_path == null) _path = new NavMeshPath();

            _destination = point;
            _pathValid = false;
            _corners = new Vector3[0];
            _cornerIndex = 0;

            // v5b: 道順の最後の点（止まる位置そのもの）だけは寄せない（0.1 m 以下）。
            // 途中の点・通路の入口・道順を使わないときは、今までどおり広めに寄せる。
            bool lastRoutePoint =
                _legPoints != null && _legIndex == _legPoints.Count - 1 &&
                Vector3.Distance(point, _legPoints[_legIndex]) < 0.001f;
            float snap = lastRoutePoint
                ? Mathf.Min(spec.routePointSnapM, spec.Radius * 4f)
                : spec.Radius * 4f;
            SolvePath(point, RobotFilter, snap);
        }

        /// <summary>
        /// 行き先まで道を引き、_path・_corners に入れる。
        /// snap は、点を焼いた面へ寄せるときに探す半径（m）。
        /// 止まる位置がその半径で面に乗らなければ、広げて引き直し、回数を数える（v5b）。
        /// </summary>
        void SolvePath(Vector3 point, NavMeshQueryFilter filter, float snap)
        {
            if (_path == null) _path = new NavMeshPath();

            NavMeshHit hit;
            Vector3 from = transform.position;
            // いまの位置が焼いた面からどれだけ離れているか（調べるためだけ。動きは変えない）
            _lastOffMeshM = NavMesh.SamplePosition(transform.position, out hit, spec.Radius * 4f, filter)
                ? Vector3.Distance(transform.position, hit.position) : -1f;
            if (_lastOffMeshM >= 0f) from = hit.position;

            Vector3 to = point;
            if (NavMesh.SamplePosition(to, out hit, snap, filter)) to = hit.position;
            else if (snap < spec.Radius * 4f)
            {
                _snapFallbacks++;
                if (NavMesh.SamplePosition(to, out hit, spec.Radius * 4f, filter)) to = hit.position;
            }

            _lastSolveFrom = from;
            _lastSolveTo = to;

            if (!NavMesh.CalculatePath(from, to, filter, _path) || _path.corners.Length == 0)
            {
                _lastSolveStatus = "引けない";
                _lastSolveCorners = _path != null ? _path.corners.Length : 0;
                RecordSolveIntoOpenStop();
                return;
            }

            bool complete = _path.status == NavMeshPathStatus.PathComplete;
            _lastSolveStatus = _path.status.ToString();
            _lastSolveCorners = _path.corners.Length;
            RecordSolveIntoOpenStop();

            _destinationOnMesh = to;
            _hasDestinationOnMesh = true;
            _corners = _path.corners;
            _cornerIndex = 0;
            _pathValid = complete;
            if (!complete && _corners.Length > 0)
            {
                _pathEndPoint = _corners[_corners.Length - 1];
                _hasPathEnd = true;
            }
            else _hasPathEnd = false;

            // 足もとの角は飛ばす
            Vector3 here = transform.position; here.y = 0f;
            while (_cornerIndex < _corners.Length)
            {
                Vector3 c = _corners[_cornerIndex]; c.y = 0f;
                if (Vector3.Distance(here, c) > spec.cornerReachDistance) break;
                _cornerIndex++;
            }
        }

        void FaceAndMove(float dt)
        {
            if (_repathCooldown > 0f) _repathCooldown -= dt;

            if (_cornerIndex >= _corners.Length)
            {
                if (_repathCooldown <= 0f) SetDestination(_destination);
                return;
            }

            Vector3 here = transform.position;
            Vector3 corner = _corners[_cornerIndex];
            Vector3 to = corner - here; to.y = 0f;
            float d = to.magnitude;

            while (d <= spec.cornerReachDistance && _cornerIndex < _corners.Length - 1)
            {
                _cornerIndex++;
                corner = _corners[_cornerIndex];
                to = corner - here; to.y = 0f;
                d = to.magnitude;
            }

            if (d > 0.0001f)
            {
                Vector3 dir = to / d;
                // 向きを変える
                Quaternion want = Quaternion.LookRotation(dir, Vector3.up);
                transform.rotation = Quaternion.RotateTowards(transform.rotation, want, spec.turnSpeedDegPerSec * dt);

                float step = Mathf.Min(_speed * dt, d);
                if (step > 0f)
                {
                    transform.position = here + dir * step;
                    DistanceM += step;
                    LastStepM = step;
                }
            }

            if (d <= spec.cornerReachDistance && _cornerIndex >= _corners.Length - 1) _cornerIndex = _corners.Length;
        }

        void SyncAgent()
        {
            if (_agent == null || !_agent.enabled) return;
            if (!_agent.isOnNavMesh)
            {
                _agent.Warp(transform.position);
                return;
            }
            _agent.nextPosition = transform.position;
        }

        void UpdateClearance()
        {
            float myR = spec.Radius;
            Vector3 me = transform.position; me.y = 0f;
            IReadOnlyList<PersonBody> all = PersonBody.All;
            for (int i = 0; i < all.Count; i++)
            {
                PersonBody p = all[i];
                if (p == null || !p.walksInAisle) continue;
                Vector3 q = p.transform.position; q.y = 0f;
                float gap = Vector3.Distance(me, q) - myR - p.radius;
                if (gap < MinClearanceM) MinClearanceM = gap;
            }
        }

        /// <summary>経路が最後までつながっているか（引き直しに失敗しているときは false）</summary>
        public bool PathComplete { get { return _pathValid; } }

        void OnDrawGizmosSelected()
        {
            if (!_hasAisleZone) return;
            Gizmos.color = _yieldHold ? new Color(1f, 0.8f, 0.1f, 0.6f) : new Color(0.2f, 0.9f, 0.5f, 0.35f);
            Gizmos.DrawWireCube(new Vector3(_aisleZone.center.x, 0.05f, _aisleZone.center.z),
                                new Vector3(_aisleZone.size.x, 0.1f, _aisleZone.size.z));
            Gizmos.DrawWireSphere(_aisleEntrance + Vector3.up * 0.05f, 0.25f);
        }
    }
}
```

### Assets/ServiceSim/Robot/RobotSpec.cs

```csharp
using UnityEngine;

namespace ServiceSim
{
    /// <summary>
    /// 配膳ロボットの数字。ロボットに関する数字はすべてこの .asset に置く。
    /// </summary>
    [CreateAssetMenu(menuName = "ServiceSim/Robot Spec", fileName = "RobotSpec")]
    public class RobotSpec : ScriptableObject
    {
        [Header("大きさ")]
        [Tooltip("直径（m）")]
        public float diameter = 0.5f;

        [Tooltip("高さ（m）")]
        public float height = 1.2f;

        [Header("走り")]
        [Tooltip("最高速度（m/秒）")]
        public float maxSpeed = 0.6f;

        [Tooltip("加速（m/秒^2）")]
        public float acceleration = 1.0f;

        [Tooltip("減速（m/秒^2）")]
        public float deceleration = 1.0f;

        [Tooltip("向きを変える速さ（度/秒）。仮の値には無かったので追加した")]
        public float turnSpeedDegPerSec = 180f;

        [Header("前のセンサー")]
        [Tooltip("進む向きの前、どこまで見るか（m）")]
        public float sensorRange = 0.6f;

        [Tooltip("センサーの幅（m）。ロボットの直径に合わせる")]
        public float sensorWidth = 0.5f;

        [Tooltip("センサーの高さ（m）")]
        public float sensorHeight = 1.2f;

        [Header("止まる・動き出す")]
        [Tooltip("前がこの秒数だけ空いたら動き出す（秒）")]
        public float resumeAfterClearSec = 1.0f;

        [Tooltip("止まってこの秒数たったら経路を引き直す（秒）")]
        public float replanAfterStoppedSec = 10f;

        [Tooltip("この秒数動けなかったら「動けなくなった」と記録する（秒）")]
        public float stuckAfterStoppedSec = 60f;

        [Tooltip("使っていない（v5 3章で、受け渡し口へ移すのをやめた）。" +
                 "動けなくなったらスタッフを呼び、ServiceSpec.rescueSec（サイトの rescue_s）動かしてもらう")]
        public float stuckRecoveryWaitSec = 15f;

        [Tooltip("1往復がこの秒数を超えたら、受け渡し口へ置き直して往復を打ち切る（秒）。無限に止まらないための保険")]
        public float maxTripSec = 600f;

        [Header("通路の譲り合い")]
        [Tooltip("行き先の細い通路にもう1台のロボットがいたら、太い通路側の入口で待つ。場面2の撮影では切る")]
        public bool aisleYielding = true;

        [Header("台どうしの譲り合い（Unity だけの仮の値。サイトには無い）")]
        [Tooltip("入口で順番を待つ上限（秒）。これを過ぎたら譲らずに進む。" +
                 "人がロボットを待つ上限（PeopleSpec.robotYieldMaxSec 20 秒）と同じ考え方")]
        public float aisleWaitMaxSec = 20f;

        [Tooltip("入口で待つとき、入口の点から通路の外へ下がる距離（m）。" +
                 "入口の点そのものに立つと、中の台が出られなくなる")]
        public float aisleWaitSetbackM = 0.9f;

        [Tooltip("入口で待つとき、中の台が出てくる道をふさがないよう横へずれる距離（m）")]
        public float aisleWaitSideM = 0.6f;

        [Tooltip("もう1台にふさがれてから、譲り始めるまでの秒数（秒）。" +
                 "すれ違うだけで譲り合わないよう、少し待ってから決める")]
        public float robotYieldAfterSec = 2f;

        [Tooltip("譲って下がったあと、相手を待つ上限（秒）。これを過ぎたら戻って進む")]
        public float robotYieldMaxSec = 20f;

        [Tooltip("相手が通り過ぎたとみなす、外周どうしの空き（m）")]
        public float robotYieldClearM = 0.6f;

        [Tooltip("下がる先が見つからないときに、その場から後ろへ下がる距離（m）")]
        public float robotYieldBackM = 0.9f;

        [Header("受け渡し口の前の通り方（Unity だけの決まり。サイトには無い）")]
        [Tooltip("戻る台が、受け渡し口の前の点を通らず、その少し下を通って右の待機場所へ抜けるか。" +
                 "線が通れる床に乗らないときは、使わずに今までどおり受け渡し口の前へ戻る")]
        public bool useReturnLine = true;

        [Tooltip("戻りの線を、受け渡し口の前の点より何 m 下（−z）に通すか")]
        public float passReturnOffsetM = 1.0f;

        [Tooltip("戻りの線を、出ていく台の線（受け渡し口の前の点を通る線）から" +
                 "中心どうしで何 m 以上離すか")]
        public float passReturnSeparationM = 1.0f;

        [Tooltip("戻りの線を、ドリンクバーの並ぶ点から何 m 以上離すか")]
        public float passReturnKeepAwayM = 0.6f;

        [Tooltip("戻りの線が通れる床に乗っているかを調べる刻み（m）")]
        public float passReturnCheckStepM = 0.05f;

        [Header("卓での止まり")]
        [Tooltip("卓に着いたら止まる秒数（秒）。客が料理を取る時間。「止まった」には数えない")]
        public float tableDwellSec = 25f;

        [Header("経路をたどる（仮の値には無かったので追加した）")]
        [Tooltip("行き先にこれだけ近づいたら着いたとみなす（m）")]
        public float arriveRadius = 0.25f;

        [Tooltip("経路の角にこれだけ近づいたら次の角へ進む（m）")]
        public float cornerReachDistance = 0.12f;

        [Tooltip("これより速度が小さければ「止まっている」とみなす（m/秒）")]
        public float stoppedSpeedEpsilon = 0.02f;

        [Header("止まったときに測る左右の空き")]
        [Tooltip("左右を見る高さ（m）。椅子（0.45 m）に当たる高さにする")]
        public float clearanceProbeHeight = 0.3f;

        [Tooltip("左右を見る距離（m）。これより遠いものは見ない")]
        public float clearanceProbeRange = 3.0f;

        [Tooltip("道が引けないとき、ふさいでいるものを探す半径（m）")]
        public float pathBlockSearchRadius = 2.0f;

        [Tooltip("NavMeshAgent の譲り合いの優先度。小さいほど譲らない。人より小さくして人がよけるようにする")]
        public int avoidancePriority = 0;

        [Tooltip("経路を引き直しても見つからないとき、次に試すまでの間（秒）")]
        public float repathRetrySec = 1.0f;

        [Header("途中までの経路から出る（B7）")]
        [Tooltip("止まっているあいだの「道が引けていなかった秒数（no_path_s）」がこれを超えたら、" +
                 "repathRetrySec を待たずに強く引き直す（秒）")]
        public float noPathForceReplanSec = 10f;

        [Tooltip("強く引き直してもまだ途中までしか引けないとき、いちど通路の入口を目指して出る")]
        public bool escapeToAisleEntranceOnPartialPath = true;

        public float Radius { get { return diameter * 0.5f; } }
        [Header("道順（v5b・サイトから受け取る）")]
        [Tooltip("サイトの routes（曲がり角の点の並び）をたどるか。" +
                 "外すと、今までどおり行き先まで Unity の道探しで直接行く（比べるとき用）")]
        public bool followSiteRoutes = true;

        [Tooltip("道順の点に着いたとみなす距離（m）。最後の点（止まる位置）だけは arriveRadius を使う")]
        public float waypointReachDistance = 0.25f;

        [Tooltip("道順の最後の点（止まる位置）を、焼いた面へ寄せるときに探す半径（m）。" +
                 "サイトが通れる所に置いているので、寄せない（0.1 m 以下）。" +
                 "この半径で面に乗らなければ広げて引き直し、報告に回数を出す")]
        public float routePointSnapM = 0.1f;

    }
}
```

### Assets/ServiceSim/Robot/RobotSpec.asset

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 0}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 6b50de1a9617a4ad5b687f834c80800b, type: 3}
  m_Name: RobotSpec
  m_EditorClassIdentifier: 
  diameter: 0.5
  height: 1.2
  maxSpeed: 0.6
  acceleration: 1
  deceleration: 1
  turnSpeedDegPerSec: 180
  sensorRange: 0.6
  sensorWidth: 0.5
  sensorHeight: 1.2
  resumeAfterClearSec: 1
  replanAfterStoppedSec: 10
  stuckAfterStoppedSec: 60
  stuckRecoveryWaitSec: 15
  maxTripSec: 600
  aisleYielding: 1
  aisleWaitMaxSec: 20
  aisleWaitSetbackM: 0.9
  aisleWaitSideM: 0.6
  robotYieldAfterSec: 2
  robotYieldMaxSec: 20
  robotYieldClearM: 0.6
  robotYieldBackM: 0.9
  useReturnLine: 1
  passReturnOffsetM: 1
  passReturnSeparationM: 1
  passReturnKeepAwayM: 0.6
  passReturnCheckStepM: 0.05
  tableDwellSec: 25
  arriveRadius: 0.25
  cornerReachDistance: 0.12
  stoppedSpeedEpsilon: 0.02
  clearanceProbeHeight: 0.3
  clearanceProbeRange: 3
  pathBlockSearchRadius: 2
  avoidancePriority: 0
  repathRetrySec: 1
  noPathForceReplanSec: 10
  escapeToAisleEntranceOnPartialPath: 1
```

### Assets/ServiceSim/Robot/ServingRobot.prefab

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1360704252653977340
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 5282123351569066578}
  - component: {fileID: 5583015065987753874}
  - component: {fileID: 8091101685021894972}
  m_Layer: 0
  m_Name: FrontMark
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &5282123351569066578
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 1360704252653977340}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0.96000004, z: 0.225}
  m_LocalScale: {x: 0.3, y: 0.06, z: 0.06}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 987308470914249950}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &5583015065987753874
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 1360704252653977340}
  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &8091101685021894972
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 1360704252653977340}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: d22a8e2ee5fab45f787bf3a919848783, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &3743034970940052220
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 987308470914249950}
  - component: {fileID: 8695685701980495112}
  - component: {fileID: 1234513834946853940}
  - component: {fileID: 6390846182671321981}
  - component: {fileID: 3101112833716435640}
  m_Layer: 0
  m_Name: ServingRobot
  m_TagString: SimRobot
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &987308470914249950
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3743034970940052220}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_ConstrainProportionsScale: 0
  m_Children:
  - {fileID: 6724485139782340083}
  - {fileID: 5282123351569066578}
  m_Father: {fileID: 0}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!136 &8695685701980495112
CapsuleCollider:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3743034970940052220}
  m_Material: {fileID: 0}
  m_IncludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_ExcludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_LayerOverridePriority: 0
  m_IsTrigger: 0
  m_ProvidesContacts: 0
  m_Enabled: 1
  serializedVersion: 2
  m_Radius: 0.25
  m_Height: 1.2
  m_Direction: 1
  m_Center: {x: 0, y: 0.6, z: 0}
--- !u!195 &1234513834946853940
NavMeshAgent:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3743034970940052220}
  m_Enabled: 0
  m_AgentTypeID: 0
  m_Radius: 0.25
  m_Speed: 0.6
  m_Acceleration: 1
  avoidancePriority: 0
  m_AngularSpeed: 180
  m_StoppingDistance: 0
  m_AutoTraverseOffMeshLink: 1
  m_AutoBraking: 1
  m_AutoRepath: 0
  m_Height: 1.2
  m_BaseOffset: 0
  m_WalkableMask: 4294967295
  m_ObstacleAvoidanceType: 0
--- !u!114 &6390846182671321981
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3743034970940052220}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: cc0faf5f8aa674927b88ca51052ab0b0, type: 3}
  m_Name: 
  m_EditorClassIdentifier: 
  spec: {fileID: 11400000, guid: 77c438346470949faa7fc65e82398be1, type: 2}
  sensor: {fileID: 3101112833716435640}
  robotId: 1
  ops: {fileID: 0}
  _phase: 0
  _enteredAisle: 0
  _yieldHold: 0
--- !u!114 &3101112833716435640
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3743034970940052220}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 76ca38d3886794ed2900f20d163b180e, type: 3}
  m_Name: 
  m_EditorClassIdentifier: 
  spec: {fileID: 11400000, guid: 77c438346470949faa7fc65e82398be1, type: 2}
  owner: {fileID: 6390846182671321981}
--- !u!1 &4627981795375652213
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 6724485139782340083}
  - component: {fileID: 6453409056411815849}
  - component: {fileID: 1294214760440962991}
  m_Layer: 0
  m_Name: Body
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &6724485139782340083
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4627981795375652213}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0.6, z: 0}
  m_LocalScale: {x: 0.5, y: 0.6, z: 0.5}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 987308470914249950}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &6453409056411815849
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4627981795375652213}
  m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &1294214760440962991
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4627981795375652213}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: 1e9e203d1ff8c4bdc90248d66bc2c7b2, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
```

### Assets/ServiceSim/Service/ServiceOps.cs

```csharp
using System.Collections.Generic;
using UnityEngine;

namespace ServiceSim
{
    /// <summary>料理1皿</summary>
    public class DishOrder
    {
        public int id;
        public int groupId;
        public int tableIndex;      // StoreBuilder.Tables の番号
        public int tableId;         // 卓の番号（報告用）
        public float readyS = -1f;  // 受け渡し口に出た時刻（店の中, 秒）
        public float arrivedS = -1f;// 卓に届いた時刻

        /// <summary>はじめて誰かが持ち上げた時刻（受け渡し口で待った時間を出すため）</summary>
        public float firstTakenS = -1f;

        /// <summary>最後に持ち上げられた時刻（運んでいた時間を出すため）</summary>
        public float lastTakenS = -1f;
        public bool fragile;        // デザート・ドリンク
        public bool taken;          // 誰かが持っている
        public bool byRobot;        // ロボットが運んだ
        public int requeued;        // 受け渡し口に戻された回数
    }

    /// <summary>スタッフの仕事。優先は試算の staff_job と同じ（1=案内・配膳・呼び出し・会計、2=片付け）</summary>
    /// <summary>
    /// スタッフの仕事の種類。
    /// Rescue（v5 3章）は、動けなくなったロボットのところへ歩いて行って rescue_s 動かす仕事。
    /// サイトの決まりで「ほかの仕事より先」なので、優先度は 0（ほかは 1 と 2）。
    /// </summary>
    public enum StaffJobKind { Guide, Serve, Call, Pay, Clear, Rescue }

    public class StaffJob
    {
        public StaffJobKind kind;
        public int priority;
        public int groupId;
        public int tableIndex;
        public int tableId;
        public DishOrder dish;      // Serve のときだけ
        public ServingRobotController robot;  // Rescue のときだけ（動けなくなった台）
        public bool taken;
        public float postedS;

        /// <summary>スタッフが取った時刻（店の中, 秒）。まだなら -1。入店待ちの内訳に使う</summary>
        public float takenS = -1f;

        /// <summary>
        /// この仕事を何回あきらめたか（v5 3章）。**仕事ごと**に数える。
        /// 人ごとに数えていたときは、仕事が人から人へ回ると誰も上限（staffGiveUpMaxTries）に
        /// 届かず、「3回で移して済ませる」逃がし弁が働かないまま回り続けた。
        /// </summary>
        public int tries;
        /// <summary>仕事が終わったときに呼ばれる（出した側が入れる）</summary>
        public System.Action onDone;
    }

    /// <summary>
    /// あきらめた・移した・卓を空けた、の1回ぶん（give_ups.csv に1行）。
    /// 「移した」「卓を空けた」が多いときは、人が通れない店になっているしるし。
    /// </summary>
    public struct GiveUpRow
    {
        public float tS;         // 店の中の時刻（秒）
        public string who;       // 客 / スタッフ / 組
        public string job;       // 何をしていたか
        public int tableId;      // 関わる卓（無ければ 0）
        public float toX, toZ;   // 向かっていた先
        public float x, z;       // そのときの位置
        public string aisle;     // そのときいた通路
        public float waitedS;    // 着けないまま待った秒数
        public string action;    // あきらめた / 移した / 卓を空けた
    }

    /// <summary>
    /// 人がロボットに近づきすぎた1回ぶん（contacts.csv に1行）。
    /// ロボットの外周から PeopleSpec.robotContactGapM 以内に入ったとき。
    /// </summary>
    public struct ContactRow
    {
        public float tS;         // 店の中の時刻（秒）
        public float x, z;       // そのときの位置
        public string aisle;     // そのときいた通路
        public string place;     // そのときいた場所（レジ・待合・ドリンクバーなど。無ければ空）
        public string who;       // 誰が（種類:名前）
        public bool careless;    // よけ方を守らない人だったか
        public int robotId;      // 相手の台
        public float gapM;       // ロボットの外周からの空き（m。負なら重なった）
    }

    /// <summary>届けられずに受け渡し口へ戻した1回ぶん（dishes.csv に1行）</summary>
    public struct RequeueRow
    {
        public float tS;
        public int dishId;
        public int tableId;
        public int robotId;
        public bool fragile;
        public float readyS;      // 料理ができた時刻
        public int requeuedSoFar; // この皿が戻された回数（この回を含む）
        public string why;        // 動けなくなった / 打ち切り / 取りやめ / 着かなかった
    }

    /// <summary>卓1つの状態</summary>
    public class TableSlot
    {
        public int index;
        public int tableId;
        public Vector3 deliveryPoint;
        public Vector3 aisleEntrance;
        public Bounds aisleZone;
        public Vector3 seatPoint;

        /// <summary>何人かけの卓か（2人席なら2、4人席なら4）</summary>
        public int seatCount = 4;

        public int groupId = -1;    // -1 なら空き
        public bool clearing;       // 片付け中（まだ使えない）
        public bool Free { get { return groupId < 0 && !clearing; } }
    }

    /// <summary>
    /// 店の回し方の中心。卓の空き、受け渡し口の料理の待ち行列、スタッフの仕事板を持ち、
    /// 空いたロボットに料理をまとめて渡す（試算の deliver / _robot_run と同じ決まり）。
    ///
    /// この script は店の運営だけを扱う。人の歩き方はそれぞれの script、
    /// ロボットの止まる決まりは ServingRobotController に任せる。
    /// 数字は ServiceSpec の .asset に置く。
    /// </summary>
    public class ServiceOps : MonoBehaviour
    {
        [Header("設定")]
        public ServiceSpec spec;
        public RobotSpec robotSpec;

        [Tooltip("卓と通路を読む先")]
        public StoreBuilder store;

        [Header("いまの様子（読むだけ）")]
        [SerializeField] int _freeTables;
        [SerializeField] int _dishesWaiting;
        [SerializeField] int _jobsWaiting;

        readonly List<TableSlot> _tables = new List<TableSlot>();
        readonly List<DishOrder> _pass = new List<DishOrder>();
        readonly List<StaffJob> _jobs = new List<StaffJob>();
        readonly List<ServingRobotController> _robots = new List<ServingRobotController>();
        readonly Dictionary<ServingRobotController, List<DishOrder>> _carrying =
            new Dictionary<ServingRobotController, List<DishOrder>>();
        readonly Dictionary<ServingRobotController, List<DishOrder>> _lastBatch =
            new Dictionary<ServingRobotController, List<DishOrder>>();

        int _nextDishId = 1;

        // ---- 記録（TripLogger と ExperimentRunner が読む）----
        public readonly List<float> dishWaitMin = new List<float>();   // 料理ができてから届くまで（分）
        public readonly List<float> seatWaitMin = new List<float>();   // 入店から案内が始まるまで（分）
        public readonly List<float> turnMin = new List<float>();       // 退店から卓が空くまで（分）

        // ---- 入店待ちの内訳（v5 3章・サイトの試算（haizen_sim.py）と同じ分け方）----
        //   seat_wait   … 店に来てから案内が始まるまで（seatWaitMin）
        //   blocked_wait… そのうち、卓は空いたのに片付けが終わらず待った分
        //   full_wait   … seat_wait − blocked_wait（ほんとうに満席で待った分）
        //   guide_wait  … 案内の仕事が板に出てから、スタッフが取るまで
        //   staff_wait  … blocked_wait ＋ guide_wait（店側が追いつかなかった分）
        //   entry_wait  … 店に来てから卓に着くまで（案内の歩きと guide_s を含む）
        /// <summary>entry_wait_mean：店に来てから案内されて卓に着くまで（分）</summary>
        public readonly List<float> entryWaitMin = new List<float>();

        /// <summary>full_wait_mean：席待ち − blocked_wait（分）</summary>
        public readonly List<float> fullWaitMin = new List<float>();

        /// <summary>blocked_wait_mean：卓は空いたが片付けが終わらず待った分（分）</summary>
        public readonly List<float> blockedWaitMin = new List<float>();

        /// <summary>guide_wait_mean：案内の仕事が板に出てから取られるまで（分）</summary>
        public readonly List<float> guideWaitMin = new List<float>();

        /// <summary>staff_wait_mean：blocked_wait ＋ guide_wait（分）</summary>
        public readonly List<float> staffWaitMin = new List<float>();
        public int robotDishes { get; private set; }
        public int staffDishes { get; private set; }
        public int requeuedDishes { get; private set; }

        // ---- あきらめた記録（B1）----
        readonly List<GiveUpRow> _giveUps = new List<GiveUpRow>();
        public IReadOnlyList<GiveUpRow> GiveUps { get { return _giveUps; } }

        // ---- 人がロボットをよけた記録 ----
        readonly List<ContactRow> _contacts = new List<ContactRow>();

        /// <summary>人がロボットに近づきすぎた1回ずつ（contacts.csv）</summary>
        public IReadOnlyList<ContactRow> Contacts { get { return _contacts; } }

        /// <summary>人がロボットを待った回数（入口で待つ＋通路の中で下がる）</summary>
        public int robotYieldWaits { get; private set; }

        /// <summary>人がロボットを待っていた秒数の合計</summary>
        public float robotYieldWaitSeconds { get; private set; }

        /// <summary>人が回り道した回数</summary>
        public int robotYieldDetours { get; private set; }

        // ---- レジの前の混み具合（調べるための記録）----
        /// <summary>レジの前にいた人数のいちばん多いとき</summary>
        public int registerCrowdMax { get; private set; }

        float _registerCrowdSum;
        int _registerCrowdSamples;

        // ---- 会計のときスタッフが店員側（レジの内側）にいたか ----
        /// <summary>会計をした回数</summary>
        public int registerPayCount { get; private set; }

        /// <summary>そのうち、店員側にいなかった回数（0 になるはず）</summary>
        public int registerPayNotAtBackCount { get; private set; }

        /// <summary>立つ点から 0.1 m より離れて会計した回数（0 になるはず）</summary>
        public int registerPayOffSpotCount { get; private set; }

        /// <summary>立つ点と実際に立った位置の距離のいちばん大きいもの（m）</summary>
        public float registerPayMaxOffsetM { get; private set; }

        /// <summary>立つ点からの距離の合計（平均を出すため, m）</summary>
        float _registerPayOffsetSum;

        /// <summary>
        /// いま店員側（レジの内側）で会計しているスタッフがいるか。
        /// 店員側は 0.8 × 1.2 m で1人ぶんなので、会計の仕事は同時に1つだけ取れる。
        /// </summary>
        public bool RegisterBackBusy { get; private set; }

        /// <summary>店員側に、会計でないスタッフがいた秒数（0 になるはず）</summary>
        public float registerBackIntruderSeconds { get; private set; }

        /// <summary>店員側に、会計でないスタッフがいた回数（0 になるはず）</summary>
        public int registerBackIntruderCount { get; private set; }

        /// <summary>会計でないスタッフが店員側にいたことを残す（StaffAgent が毎コマ呼ぶ）</summary>
        public void AddRegisterBackIntruder(float dt, bool firstFrame)
        {
            registerBackIntruderSeconds += dt;
            if (firstFrame) registerBackIntruderCount++;
        }

        /// <summary>立つ点と実際に立った位置の距離の平均（m）</summary>
        public float RegisterPayMeanOffsetM
        {
            get { return registerPayCount > 0 ? _registerPayOffsetSum / registerPayCount : 0f; }
        }

        /// <summary>
        /// 会計1回ぶんを数える。
        /// atBack が false なら店員側にいなかった。offsetM は立つ点からの距離。
        /// どちらも 0 になるはず（ならなければ、スタッフが店員側に入れていない）。
        /// </summary>
        public void AddRegisterPay(bool atBack, float offsetM)
        {
            registerPayCount++;
            if (!atBack) registerPayNotAtBackCount++;

            _registerPayOffsetSum += offsetM;
            if (offsetM > registerPayMaxOffsetM) registerPayMaxOffsetM = offsetM;
            float limit = spec != null ? spec.registerPayOffSpotM : 0.1f;
            if (offsetM > limit) registerPayOffSpotCount++;
        }

        /// <summary>レジの前にいた人数の平均</summary>
        public float RegisterCrowdMean
        {
            get { return _registerCrowdSamples > 0 ? _registerCrowdSum / _registerCrowdSamples : 0f; }
        }

        // ---- スタッフの時間の使い方（仕事ごとの秒数）----
        readonly Dictionary<string, float> _staffTime = new Dictionary<string, float>();

        /// <summary>スタッフが何にどれだけ時間を使ったか（仕事の名前 → 秒）</summary>
        public IDictionary<string, float> StaffTime { get { return _staffTime; } }

        // ---- 料理が届くまでの内訳（運んだのがロボットか人かで分ける）----
        /// <summary>届いた料理1皿ぶんの内訳（秒）</summary>
        public struct DishParts
        {
            public bool byRobot;
            public float passWaitS;   // 受け渡し口で待った（できてから、はじめて持ち上げられるまで）
            public float carryS;      // 運んでいた（最後に持ち上げられてから、卓に届くまで）
            public float requeueS;    // 途中で戻されて失った（残り）
            public int requeued;      // 戻された回数
        }

        readonly List<DishParts> _dishParts = new List<DishParts>();

        /// <summary>届いた料理の、届くまでの内訳（summary.json に出す）</summary>
        public IReadOnlyList<DishParts> DishPartsList { get { return _dishParts; } }

        // ---- 仕事が板で待った秒数（仕事ごと）----
        readonly Dictionary<string, float> _jobWaitSum = new Dictionary<string, float>();
        readonly Dictionary<string, int> _jobWaitCount = new Dictionary<string, int>();

        /// <summary>仕事が板に出てから取られるまでの秒数の合計（仕事の名前 → 秒）</summary>
        public IDictionary<string, float> JobWaitSum { get { return _jobWaitSum; } }

        /// <summary>仕事が取られた回数（仕事の名前 → 回）</summary>
        public IDictionary<string, int> JobWaitCount { get { return _jobWaitCount; } }

        void RecordJobWait(StaffJob j)
        {
            if (j == null) return;
            string k = StaffAgent.JobKindName(j.kind);
            float v; int n;
            _jobWaitSum.TryGetValue(k, out v);
            _jobWaitCount.TryGetValue(k, out n);
            _jobWaitSum[k] = v + Mathf.Max(0f, NowS - j.postedS);
            _jobWaitCount[k] = n + 1;
        }

        /// <summary>スタッフの時間を足す（StaffAgent が毎コマ呼ぶ）</summary>
        public void AddStaffTime(string what, float dt)
        {
            if (string.IsNullOrEmpty(what)) return;
            float v;
            _staffTime.TryGetValue(what, out v);
            _staffTime[what] = v + dt;
        }

        // ---- レジの前に並ぶ点（会計に立つ人が1人ずつ）----
        readonly List<Vector3> _regQueues = new List<Vector3>();
        readonly List<bool> _regQueueUsed = new List<bool>();

        /// <summary>レジの並ぶ点を1つ取る。無ければ -1（会計に立つ人も席で待つ）</summary>
        public int TakeRegisterQueueSpot(out Vector3 spot)
        {
            for (int i = 0; i < _regQueueUsed.Count; i++)
            {
                if (_regQueueUsed[i]) continue;
                _regQueueUsed[i] = true;
                spot = _regQueues[i];
                return i;
            }
            spot = RegisterPointOrPass();
            return -1;
        }

        /// <summary>取ったレジの並ぶ点を空ける</summary>
        public void ReleaseRegisterQueueSpot(int index)
        {
            if (index < 0 || index >= _regQueueUsed.Count) return;
            _regQueueUsed[index] = false;
        }

        Vector3 RegisterPointOrPass()
        {
            return store != null ? store.RegisterPoint : Vector3.zero;
        }
        public int gaveUpCount { get; private set; }      // あきらめた
        public int warpedCount { get; private set; }      // 移した
        public int tableFreedCount { get; private set; }  // 卓を空けた

        // ---- 立ち往生でスタッフを呼んだ回数（v5 3章・meta.metrics の rescues）----
        /// <summary>動けなくなって、スタッフを呼んだ回数</summary>
        public int rescueCalls { get; private set; }

        /// <summary>そのうち、スタッフが着いて動かした回数</summary>
        public int rescueDone { get; private set; }

        /// <summary>スタッフが着くまでロボットが待った秒数の合計</summary>
        public float rescueWaitSeconds { get; private set; }

        // ---- ロボットのふさがっている割合（robot_util）----
        float _robotBusyS, _robotAliveS;

        /// <summary>robot_util：ロボットが空いていなかった時間の割合</summary>
        public float RobotUtil { get { return _robotAliveS > 0.01f ? _robotBusyS / _robotAliveS : 0f; } }

        // ---- スタッフが歩いた距離（walk_km_per_staff）----
        float _staffWalkM;
        int _staffCount;

        /// <summary>スタッフ1人が歩いた距離（km）</summary>
        public float WalkKmPerStaff
        {
            get { return _staffCount > 0 ? _staffWalkM / 1000f / _staffCount : 0f; }
        }

        /// <summary>スタッフの人数を伝える（walk_km_per_staff を出すため）</summary>
        public void SetStaffCount(int n) { _staffCount = n; }

        /// <summary>スタッフが1コマで歩いた距離を足す（StaffAgent が呼ぶ）</summary>
        public void AddStaffWalk(float m)
        {
            if (m > 0f && m < 1f) _staffWalkM += m;   // 1 m を超える跳びは「移した」ぶんなので数えない
        }

        // ---- 戻した皿の記録（B8）----
        readonly List<RequeueRow> _requeues = new List<RequeueRow>();
        public IReadOnlyList<RequeueRow> Requeues { get { return _requeues; } }

        // ---- 椅子を引いた回数（B6）----
        readonly Dictionary<string, int> _chairPullsByReason = new Dictionary<string, int>();
        readonly Dictionary<int, int> _chairPullsByTable = new Dictionary<int, int>();
        public int chairPulls { get; private set; }
        public IDictionary<string, int> ChairPullsByReason { get { return _chairPullsByReason; } }
        public IDictionary<int, int> ChairPullsByTable { get { return _chairPullsByTable; } }

        // ---- ドリンクバーの場所取り（B4）----
        readonly List<Vector3> _dbStands = new List<Vector3>();
        readonly List<Vector3> _dbQueues = new List<Vector3>();
        readonly List<bool> _dbStandUsed = new List<bool>();
        readonly List<bool> _dbQueueUsed = new List<bool>();

        /// <summary>並ぶ点に回された回数</summary>
        public int drinkBarQueued { get; private set; }

        /// <summary>立つ点も並ぶ点も空いていなくて、あきらめた回数</summary>
        public int drinkBarGaveUp { get; private set; }

        /// <summary>並んで待った秒数（分で記録）</summary>
        public readonly List<float> drinkBarWaitMin = new List<float>();

        public IList<ServingRobotController> Robots { get { return _robots; } }
        public IList<TableSlot> Tables { get { return _tables; } }
        public int FreeTableCount { get { return _freeTables; } }
        public int DishesWaiting { get { return _dishesWaiting; } }

        /// <summary>店の中の時刻（秒）。ExperimentRunner が進める</summary>
        public float NowS { get; private set; }

        // ---------------- 用意 ----------------

        public void Setup()
        {
            _tables.Clear();
            _pass.Clear();
            _jobs.Clear();
            _carrying.Clear();
            dishWaitMin.Clear();
            seatWaitMin.Clear();
            turnMin.Clear();
            entryWaitMin.Clear();
            fullWaitMin.Clear();
            blockedWaitMin.Clear();
            guideWaitMin.Clear();
            staffWaitMin.Clear();
            rescueCalls = 0;
            rescueDone = 0;
            rescueWaitSeconds = 0f;
            _robotBusyS = 0f;
            _robotAliveS = 0f;
            _staffWalkM = 0f;
            robotDishes = 0;
            staffDishes = 0;
            requeuedDishes = 0;
            _giveUps.Clear();
            _requeues.Clear();
            _contacts.Clear();
            _staffTime.Clear();
            _dishParts.Clear();
            _jobWaitSum.Clear();
            _jobWaitCount.Clear();
            registerCrowdMax = 0;
            registerPayCount = 0;
            registerPayNotAtBackCount = 0;
            registerPayOffSpotCount = 0;
            registerPayMaxOffsetM = 0f;
            _registerPayOffsetSum = 0f;
            RegisterBackBusy = false;
            registerBackIntruderSeconds = 0f;
            registerBackIntruderCount = 0;
            _registerCrowdSum = 0f;
            _registerCrowdSamples = 0;
            _regQueues.Clear();
            _regQueueUsed.Clear();
            robotYieldWaits = 0;
            robotYieldWaitSeconds = 0f;
            robotYieldDetours = 0;
            _chairPullsByReason.Clear();
            _chairPullsByTable.Clear();
            chairPulls = 0;
            gaveUpCount = 0;
            warpedCount = 0;
            tableFreedCount = 0;
            _nextDishId = 1;
            NowS = 0f;

            drinkBarQueued = 0;
            drinkBarGaveUp = 0;
            drinkBarWaitMin.Clear();
            _dbStands.Clear();
            _dbQueues.Clear();
            _dbStandUsed.Clear();
            _dbQueueUsed.Clear();

            if (store == null) return;
            IList<StoreBuilder.TableInfo> t = store.Tables;
            for (int i = 0; i < t.Count; i++)
            {
                TableSlot s = new TableSlot();
                s.index = i;
                s.tableId = t[i].tableId;
                s.deliveryPoint = t[i].deliveryPoint;
                s.aisleEntrance = t[i].aisleEntrance;
                s.aisleZone = t[i].aisleZone;
                s.seatPoint = t[i].center;
                s.seatCount = t[i].seatCount;
                _tables.Add(s);
            }
            // ドリンクバーの立つ点・並ぶ点を読む（B4）
            SetupDrinkBar(store.PointsOf(PlaceKind.DrinkBarStand),
                          store.PointsOf(PlaceKind.DrinkBarQueue));

            // レジの前に並ぶ点を読む
            IList<Vector3> rq = store.RegisterQueuePoints;
            for (int i = 0; i < rq.Count; i++) { _regQueues.Add(rq[i]); _regQueueUsed.Add(false); }

            Recount();
        }

        // ---------------- ドリンクバーの場所取り（B4）----------------

        void SetupDrinkBar(IList<Vector3> stands, IList<Vector3> queues)
        {
            for (int i = 0; i < stands.Count; i++) { _dbStands.Add(stands[i]); _dbStandUsed.Add(false); }
            for (int i = 0; i < queues.Count; i++) { _dbQueues.Add(queues[i]); _dbQueueUsed.Add(false); }
        }

        /// <summary>
        /// ドリンクバーの場所を1つ取る（B4）。
        ///   ・空いている立つ点があれば、そこへ
        ///   ・埋まっていれば、端の並ぶ点へ
        ///   ・それも埋まっていれば取れない（客はあきらめて席に戻る）
        /// spot は向かう点、queued は並ぶ点だったか。
        /// 返した番号を ReleaseDrinkBarSpot に渡して空ける。
        /// </summary>
        public int TakeDrinkBarSpot(out Vector3 spot, out bool queued)
        {
            for (int i = 0; i < _dbStandUsed.Count; i++)
            {
                if (_dbStandUsed[i]) continue;
                _dbStandUsed[i] = true;
                spot = _dbStands[i];
                queued = false;
                return i;
            }

            for (int i = 0; i < _dbQueueUsed.Count; i++)
            {
                if (_dbQueueUsed[i]) continue;
                _dbQueueUsed[i] = true;
                spot = _dbQueues[i];
                queued = true;
                drinkBarQueued++;
                return 1000 + i;      // 1000 以上は並ぶ点
            }

            spot = _dbStands.Count > 0 ? _dbStands[0] : Vector3.zero;
            queued = false;
            drinkBarGaveUp++;
            return -1;
        }

        /// <summary>取った場所を空ける。waitedS は並んで待った秒数</summary>
        public void ReleaseDrinkBarSpot(int token, float waitedS)
        {
            if (token < 0) return;
            if (token >= 1000)
            {
                int i = token - 1000;
                if (i < _dbQueueUsed.Count) _dbQueueUsed[i] = false;
                drinkBarWaitMin.Add(Mathf.Max(0f, waitedS / 60f));
                return;
            }
            if (token < _dbStandUsed.Count) _dbStandUsed[token] = false;
        }

        /// <summary>ドリンクバーに立つ点があるか（無ければ今までどおり1点へ行く）</summary>
        public bool HasDrinkBarSpots { get { return _dbStands.Count > 0; } }

        public void RegisterRobot(ServingRobotController r)
        {
            if (r == null || _robots.Contains(r)) return;
            _robots.Add(r);
            _carrying[r] = new List<DishOrder>();
            r.ops = this;               // 立ち往生したときスタッフを呼ぶ先（v5 3章）
            // 待機場所を先に教える（1往復めの戻りから、戻りの線を使えるように。v5）
            if (store != null)
            {
                IList<Vector3> spots = store.RobotStandbyPoints;
                if (spots.Count > 0) r.SetStandbyPoint(spots[(_robots.Count - 1) % spots.Count]);
            }
            r.TripCompleted += OnRobotRunDone;
        }

        public void ClearRobots()
        {
            for (int i = 0; i < _robots.Count; i++)
                if (_robots[i] != null) _robots[i].TripCompleted -= OnRobotRunDone;
            _robots.Clear();
            _carrying.Clear();
        }

        /// <summary>店の中の時刻を進める（ExperimentRunner が毎コマ呼ぶ）</summary>
        public void Advance(float dt)
        {
            NowS += dt;
            AssignRobots();
            ParkIdleRobots();
            SampleRegisterCrowd();
            SampleRobotUtil(dt);
            Recount();
        }

        /// <summary>
        /// ロボットがふさがっていた時間を数える（robot_util）。
        /// 待機場所へ下がっているあいだ・受け渡し口で空のまま待っているあいだは Idle / Done なので
        /// 「空いている」。動けなくなって人を待っているあいだ（StuckWait）は「ふさがっている」。
        /// </summary>
        void SampleRobotUtil(float dt)
        {
            for (int i = 0; i < _robots.Count; i++)
            {
                ServingRobotController r = _robots[i];
                if (r == null) continue;
                _robotAliveS += dt;
                ServingRobotController.Phase p = r.CurrentPhase;
                if (p != ServingRobotController.Phase.Idle &&
                    p != ServingRobotController.Phase.Done) _robotBusyS += dt;
            }
        }

        /// <summary>
        /// レジの前にいた人数を数える（調べるための記録）。
        /// 待合に立つ客も、通路を歩く人も、スタッフも数える。
        /// </summary>
        void SampleRegisterCrowd()
        {
            if (store == null || spec == null) return;
            if (!store.HasPoint(PlaceKind.Register)) return;

            Vector3 reg = store.RegisterPoint;
            float r2 = spec.registerCrowdRadiusM * spec.registerCrowdRadiusM;

            int n = 0;
            IReadOnlyList<PersonBody> all = PersonBody.All;
            for (int i = 0; i < all.Count; i++)
            {
                PersonBody b = all[i];
                if (b == null || b.kind == PersonKind.Seated) continue;
                Vector3 d = b.transform.position - reg;
                d.y = 0f;
                if (d.sqrMagnitude <= r2) n++;
            }

            if (n > registerCrowdMax) registerCrowdMax = n;
            _registerCrowdSum += n;
            _registerCrowdSamples++;
        }

        /// <summary>
        /// 仕事のないロボットを待機場所へ下げる（B2）。
        /// 受け渡し口の前の点にはスタッフも料理を取りに来るので、空の台を置かない。
        /// 料理を載せるときは AssignRobots が受け渡し口から走り出させる。
        ///
        /// v5：料理が待っていても下げる。
        /// 前は「料理が待っているなら受け渡し口で待つ」にしていたが、そのせいで
        /// 出発する台と戻ってきた台が受け渡し口の前の1点に重なり、ふさぎ合っていた
        /// （20261023 0913 の回で、受け渡し口の前の止まりが「もう1台のロボット」23 回）。
        /// 待機場所は1台に1つなので、重ならない。
        /// 料理の割り当て（AssignRobots）はこの前に走るので、載せる台はそのまま走り出す。
        /// </summary>
        void ParkIdleRobots()
        {
            if (store == null) return;
            IList<Vector3> spots = store.RobotStandbyPoints;
            if (spots.Count == 0) return;

            for (int i = 0; i < _robots.Count; i++)
            {
                ServingRobotController r = _robots[i];
                if (r == null) continue;
                if (r.CurrentPhase != ServingRobotController.Phase.Idle &&
                    r.CurrentPhase != ServingRobotController.Phase.Done) continue;

                Vector3 spot = spots[i % spots.Count];
                r.SetStandbyPoint(spot);   // 戻りの線の終わりに使う（v5）
                r.GoStandby(spot);
            }
        }

        void Recount()
        {
            int free = 0;
            for (int i = 0; i < _tables.Count; i++) if (_tables[i].Free) free++;
            _freeTables = free;

            int d = 0;
            for (int i = 0; i < _pass.Count; i++) if (!_pass[i].taken) d++;
            _dishesWaiting = d;

            int j = 0;
            for (int i = 0; i < _jobs.Count; i++) if (!_jobs[i].taken) j++;
            _jobsWaiting = j;
        }

        // ---------------- 卓 ----------------

        /// <summary>
        /// その人数が座れる空き卓を1つ取る。無ければ null。
        /// 「入るうちでいちばん小さい卓」を選ぶので、
        ///   ・1〜2人の組は空いている2人席を先に使い、無ければ4人席
        ///   ・3〜4人の組は4人席だけ
        /// になる（2人席に3人以上は座らせない）。
        /// </summary>
        public TableSlot TakeFreeTable(int groupId, int size)
        {
            TableSlot slot = FindFreeTable(size);
            if (slot == null) return null;

            slot.groupId = groupId;
            Recount();
            return slot;
        }

        /// <summary>その人数が入るうちで、いちばん席数の少ない空き卓。無ければ null</summary>
        TableSlot FindFreeTable(int size)
        {
            int want = Mathf.Max(1, size);
            TableSlot best = null;
            int bestSeats = int.MaxValue;

            for (int i = 0; i < _tables.Count; i++)
            {
                if (!_tables[i].Free) continue;
                int seats = Mathf.Max(1, _tables[i].seatCount);
                if (seats < want) continue;
                if (seats >= bestSeats) continue;
                best = _tables[i];
                bestSeats = seats;
                if (bestSeats == want) break;      // ちょうどの大きさが見つかった
            }
            return best;
        }

        /// <summary>その人数が座れる空き卓があるか</summary>
        public bool HasFreeTableFor(int size)
        {
            return FindFreeTable(size) != null;
        }

        /// <summary>慣らしのために、卓を使っている状態で始める</summary>
        public TableSlot TakeTableAt(int index, int groupId)
        {
            if (index < 0 || index >= _tables.Count) return null;
            if (!_tables[index].Free) return null;
            _tables[index].groupId = groupId;
            Recount();
            return _tables[index];
        }

        /// <summary>片付けが終わって卓が空く</summary>
        public void ReleaseTable(TableSlot slot, float leftS)
        {
            if (slot == null) return;
            slot.groupId = -1;
            slot.clearing = false;
            if (leftS >= 0f) turnMin.Add((NowS - leftS) / 60f);
            Recount();
        }

        public void RecordSeatWait(float arriveS)
        {
            seatWaitMin.Add(Mathf.Max(0f, (NowS - arriveS) / 60f));
        }

        /// <summary>
        /// 入店待ちの内訳を1組ぶん残す（v5 3章）。卓に着いた時に GroupManager が呼ぶ。
        /// 分け方はサイトの試算（haizen_sim.py）と同じ。
        ///   entryWaitS   … 店に来てから卓に着くまで（案内に歩いた時間と guide_s を含む）
        ///   seatWaitS    … 店に来てから案内が始まるまで
        ///   blockedWaitS … そのうち、卓は空いたのに片付けが終わらず待った分
        ///   guideWaitS   … 案内の仕事が板に出てから、スタッフが取るまで
        /// full_wait は seat_wait − blocked_wait、staff_wait は blocked_wait ＋ guide_wait。
        /// </summary>
        public void RecordEntryWait(float entryWaitS, float seatWaitS,
                                    float blockedWaitS, float guideWaitS)
        {
            float blocked = Mathf.Clamp(blockedWaitS, 0f, Mathf.Max(0f, seatWaitS));
            float full = Mathf.Max(0f, seatWaitS - blocked);
            float guide = Mathf.Max(0f, guideWaitS);

            entryWaitMin.Add(Mathf.Max(0f, entryWaitS / 60f));
            fullWaitMin.Add(full / 60f);
            blockedWaitMin.Add(blocked / 60f);
            guideWaitMin.Add(guide / 60f);
            staffWaitMin.Add((blocked + guide) / 60f);
        }

        /// <summary>
        /// 片付け待ちの卓の数（v5 3章・サイトの _acc と同じ blocked_wait を数えるのに使う）。
        /// 客が帰ってから、拭き終わって使えるようになるまでの卓
        /// </summary>
        public int ClearingTableCount
        {
            get
            {
                int n = 0;
                for (int i = 0; i < _tables.Count; i++) if (_tables[i].clearing) n++;
                return n;
            }
        }

        // ---------------- 立ち往生でスタッフを呼ぶ（v5 3章）----------------

        /// <summary>
        /// 動けなくなったロボットのところへスタッフを呼ぶ。
        /// サイトの決まりで「ほかの仕事より先」なので、優先度 0 で板の先頭に出す。
        /// 受け渡し口へ移す（warp）のは、もうしない。
        /// </summary>
        public StaffJob PostRescue(ServingRobotController robot)
        {
            if (robot == null) return null;
            StaffJob j = NewJob(StaffJobKind.Rescue, 0, null, null, 0);
            j.robot = robot;
            _jobs.Insert(0, j);
            rescueCalls++;
            Recount();
            return j;
        }

        /// <summary>スタッフが着いて rescue_s 動かし終わった（ロボットが呼ぶ）</summary>
        public void RescueFinished(float waitedS)
        {
            rescueDone++;
            rescueWaitSeconds += Mathf.Max(0f, waitedS);
        }

        /// <summary>
        /// そのロボットに出ている Rescue の仕事を板から外す（往復を打ち切ったときなど）。
        /// まだ誰も取っていないものは板から消す。
        /// もう誰かが向かっている途中のものは消さず、相手の台だけ外す
        /// （歩き出したスタッフはそのまま着いて終える。消すとその人の仕事が宙に浮く）。
        /// </summary>
        public void CancelRescue(ServingRobotController robot)
        {
            for (int i = _jobs.Count - 1; i >= 0; i--)
            {
                StaffJob j = _jobs[i];
                if (j.kind != StaffJobKind.Rescue || j.robot != robot) continue;
                if (j.taken) j.robot = null;
                else _jobs.RemoveAt(i);
            }
            Recount();
        }

        // ---------------- あきらめた記録（B1）----------------

        /// <summary>あきらめた・移した・卓を空けたことを1行残す</summary>
        public void AddGiveUp(string who, string job, int tableId, Vector3 to, Vector3 at,
                              float waitedS, string action)
        {
            GiveUpRow r = new GiveUpRow();
            r.tS = NowS;
            r.who = who;
            r.job = job;
            r.tableId = tableId;
            r.toX = to.x;
            r.toZ = to.z;
            r.x = at.x;
            r.z = at.z;
            r.aisle = AisleNameAt(at);
            r.waitedS = waitedS;
            r.action = action;
            _giveUps.Add(r);

            if (action == "移した") warpedCount++;
            else if (action == "卓を空けた") tableFreedCount++;
            else gaveUpCount++;
        }

        // ---------------- 人がロボットをよけた記録 ----------------

        /// <summary>人がロボットの外周の近くまで来た1回を残す（接触に近い）</summary>
        public void AddRobotContact(Vector3 at, string who, bool careless, int robotId, float gapM)
        {
            ContactRow r = new ContactRow();
            r.tS = NowS;
            r.x = at.x;
            r.z = at.z;
            r.aisle = AisleNameAt(at);
            r.place = store != null ? store.PlaceNameAt(at) : "";
            r.who = who;
            r.careless = careless;
            r.robotId = robotId;
            r.gapM = gapM;
            _contacts.Add(r);
        }

        /// <summary>人がロボットを待ち始めた（入口で待つ・通路の中で下がる）</summary>
        public void AddRobotYieldWait() { robotYieldWaits++; }

        /// <summary>人がロボットを待っていた秒数を足す</summary>
        public void AddRobotYieldWaitSeconds(float dt) { robotYieldWaitSeconds += dt; }

        /// <summary>人が回り道した</summary>
        public void AddRobotYieldDetour() { robotYieldDetours++; }

        // ---------------- 椅子を引いた回数（B6）----------------

        /// <summary>椅子を1脚引いた。きっかけごと・卓ごとに数える</summary>
        public void AddChairPull(string reason, int tableId)
        {
            chairPulls++;

            string key = string.IsNullOrEmpty(reason) ? "その他" : reason;
            int n;
            _chairPullsByReason[key] = _chairPullsByReason.TryGetValue(key, out n) ? n + 1 : 1;
            _chairPullsByTable[tableId] = _chairPullsByTable.TryGetValue(tableId, out n) ? n + 1 : 1;
        }

        /// <summary>その点がどの通路の上かを名前で返す。細い通路を先に見る</summary>
        public string AisleNameAt(Vector3 p)
        {
            if (store == null) return "";
            string wide = "";
            IList<StoreBuilder.AisleInfo> aisles = store.Aisles;
            for (int i = 0; i < aisles.Count; i++)
            {
                Bounds b = aisles[i].zone;
                if (p.x < b.min.x || p.x > b.max.x || p.z < b.min.z || p.z > b.max.z) continue;
                if (aisles[i].narrow) return aisles[i].name;
                if (wide.Length == 0) wide = aisles[i].name;
            }
            return wide;
        }

        // ---------------- 料理 ----------------

        /// <summary>料理が1皿できて、受け渡し口に出る</summary>
        public DishOrder PutDish(int groupId, TableSlot slot, bool fragile)
        {
            DishOrder d = new DishOrder();
            d.id = _nextDishId++;
            d.groupId = groupId;
            d.tableIndex = slot.index;
            d.tableId = slot.tableId;
            d.readyS = NowS;
            d.fragile = fragile;
            _pass.Add(d);

            // スタッフの仕事にも出しておく。ロボットとスタッフの先に空いた方が運ぶ
            // （ロボットが運べない料理は、ロボットの取り分けで外す）
            PostJob(StaffJobKind.Serve, groupId, slot, d, 1);
            Recount();
            return d;
        }

        /// <summary>
        /// 慣らしのために、もう届いている皿として1枚作る（B3）。
        /// 受け渡し口にも仕事板にも出さず、待ち時間の記録にも入れない
        /// （慣らしの皿を 0 分として数えると dish_wait が小さく出てしまう）。
        /// </summary>
        public DishOrder SeedArrivedDish(int groupId, TableSlot slot)
        {
            DishOrder d = new DishOrder();
            d.id = _nextDishId++;
            d.groupId = groupId;
            d.tableIndex = slot != null ? slot.index : -1;
            d.tableId = slot != null ? slot.tableId : 0;
            d.readyS = NowS;
            d.arrivedS = NowS;
            d.fragile = false;
            return d;
        }

        /// <summary>届いた（ロボットでもスタッフでも）</summary>
        /// <summary>料理を持ち上げた。受け渡し口で待った時間・運んでいた時間を出すために時刻を残す</summary>
        void MarkTaken(DishOrder d)
        {
            if (d == null) return;
            d.taken = true;
            if (d.firstTakenS < 0f) d.firstTakenS = NowS;
            d.lastTakenS = NowS;
        }

        public void DishArrived(DishOrder d, bool byRobot)
        {
            if (d == null || d.arrivedS >= 0f) return;
            d.arrivedS = NowS;
            d.byRobot = byRobot;
            dishWaitMin.Add(Mathf.Max(0f, (d.arrivedS - d.readyS) / 60f));
            if (byRobot) robotDishes++; else staffDishes++;
            AddDishParts(d);
            _pass.Remove(d);
            RemoveServeJob(d);
            Recount();
        }

        /// <summary>
        /// 届けられなかった料理を、受け渡し口の待ち行列の先頭に戻す。
        /// 次に空いたロボットかスタッフが運ぶ。
        /// </summary>
        /// <summary>
        /// 届いた1皿の、届くまでの内訳を足す。
        ///   受け渡し口で待った ＋ 運んでいた ＋ 途中で戻されて失った ＝ できてから届くまで
        /// </summary>
        void AddDishParts(DishOrder d)
        {
            if (d == null || d.arrivedS < 0f || d.readyS < 0f) return;

            float total = Mathf.Max(0f, d.arrivedS - d.readyS);
            float passWait = d.firstTakenS >= 0f ? Mathf.Max(0f, d.firstTakenS - d.readyS) : total;
            float carry = d.lastTakenS >= 0f ? Mathf.Max(0f, d.arrivedS - d.lastTakenS) : 0f;

            DishParts p = new DishParts();
            p.byRobot = d.byRobot;
            p.passWaitS = passWait;
            p.carryS = carry;
            p.requeueS = Mathf.Max(0f, total - passWait - carry);
            p.requeued = d.requeued;
            _dishParts.Add(p);
        }

        public void RequeueDish(DishOrder d)
        {
            RequeueDish(d, 0, "");
        }

        /// <summary>戻した理由も残す（B8）。robotId 0 はロボット以外</summary>
        public void RequeueDish(DishOrder d, int robotId, string why)
        {
            if (d == null || d.arrivedS >= 0f) return;
            d.taken = false;
            d.requeued++;
            requeuedDishes++;

            RequeueRow r = new RequeueRow();
            r.tS = NowS;
            r.dishId = d.id;
            r.tableId = d.tableId;
            r.robotId = robotId;
            r.fragile = d.fragile;
            r.readyS = d.readyS;
            r.requeuedSoFar = d.requeued;
            r.why = string.IsNullOrEmpty(why) ? "着かなかった" : why;
            _requeues.Add(r);

            _pass.Remove(d);
            _pass.Insert(0, d);

            TableSlot slot = SlotOf(d.tableIndex);
            RemoveServeJob(d);
            if (slot != null) PostJobFront(StaffJobKind.Serve, d.groupId, slot, d, 1);
            Recount();
        }

        TableSlot SlotOf(int index)
        {
            return index >= 0 && index < _tables.Count ? _tables[index] : null;
        }

        // ---------------- スタッフの仕事板 ----------------

        public StaffJob PostJob(StaffJobKind kind, int groupId, TableSlot slot, DishOrder dish, int priority)
        {
            StaffJob j = NewJob(kind, groupId, slot, dish, priority);
            _jobs.Add(j);
            Recount();
            return j;
        }

        StaffJob PostJobFront(StaffJobKind kind, int groupId, TableSlot slot, DishOrder dish, int priority)
        {
            StaffJob j = NewJob(kind, groupId, slot, dish, priority);
            _jobs.Insert(0, j);
            Recount();
            return j;
        }

        StaffJob NewJob(StaffJobKind kind, int groupId, TableSlot slot, DishOrder dish, int priority)
        {
            StaffJob j = new StaffJob();
            j.kind = kind;
            j.priority = priority;
            j.groupId = groupId;
            j.tableIndex = slot != null ? slot.index : -1;
            j.tableId = slot != null ? slot.tableId : 0;
            j.dish = dish;
            j.postedS = NowS;
            return j;
        }

        /// <summary>
        /// 次にやる仕事を1つ取る。優先度が小さいものが先、同じなら出た順。
        /// 配膳の仕事は、料理がまだ誰も持っていないものだけ。
        /// 立ち往生（Rescue）は優先度 0 なので、ほかの仕事より先に取られる。
        /// </summary>
        public StaffJob TakeNextJob()
        {
            StaffJob best = null;
            for (int i = 0; i < _jobs.Count; i++)
            {
                StaffJob j = _jobs[i];
                if (j.taken) continue;
                if (j.kind == StaffJobKind.Serve && (j.dish == null || j.dish.taken || j.dish.arrivedS >= 0f)) continue;
                // 店員側（レジの内側）は1人ぶんなので、会計はひとつずつ
                if (j.kind == StaffJobKind.Pay && RegisterBackBusy) continue;
                if (best == null || j.priority < best.priority) best = j;
                if (best != null && best.priority <= 0) break;   // 優先0（立ち往生）が見つかれば、それが先
            }
            if (best == null) return null;
            best.taken = true;
            best.takenS = NowS;
            if (best.kind == StaffJobKind.Pay) RegisterBackBusy = true;
            RecordJobWait(best);
            if (best.kind == StaffJobKind.Serve && best.dish != null) MarkTaken(best.dish);
            Recount();
            return best;
        }

        /// <summary>仕事が終わった</summary>
        public void FinishJob(StaffJob job)
        {
            if (job == null) return;
            if (job.kind == StaffJobKind.Pay) RegisterBackBusy = false;   // 店員側を空ける
            _jobs.Remove(job);
            Recount();
            if (job.onDone != null) job.onDone();
        }

        /// <summary>
        /// 仕事を板から外すだけ（終わったときの呼び出しはしない）。
        /// 卓を強引に空けたときなど、出した側がもう待っていないときに使う。
        /// </summary>
        public void FinishJobSilently(StaffJob job)
        {
            if (job == null) return;
            if (job.kind == StaffJobKind.Pay) RegisterBackBusy = false;   // 店員側を空ける
            job.onDone = null;
            _jobs.Remove(job);
            if (job.kind == StaffJobKind.Serve && job.dish != null) job.dish.taken = false;
            Recount();
        }

        /// <summary>仕事を手放す（届けられなかったときなど）</summary>
        public void AbandonJob(StaffJob job)
        {
            if (job == null) return;
            job.taken = false;
            if (job.kind == StaffJobKind.Pay) RegisterBackBusy = false;   // 店員側を空ける
            if (job.kind == StaffJobKind.Serve && job.dish != null) job.dish.taken = false;
            Recount();
        }

        void RemoveServeJob(DishOrder d)
        {
            for (int i = _jobs.Count - 1; i >= 0; i--)
                if (_jobs[i].kind == StaffJobKind.Serve && _jobs[i].dish == d) _jobs.RemoveAt(i);
        }

        // ---------------- ロボットに渡す ----------------

        /// <summary>
        /// 空いているロボットに、受け渡し口の料理を段の数までまとめて渡す。
        /// 近い卓から回る（試算の _robot_run と同じ）。
        /// </summary>
        void AssignRobots()
        {
            if (spec == null || store == null) return;

            for (int i = 0; i < _robots.Count; i++)
            {
                ServingRobotController r = _robots[i];
                if (r == null) continue;
                if (r.CurrentPhase != ServingRobotController.Phase.Idle &&
                    r.CurrentPhase != ServingRobotController.Phase.Done) continue;

                List<DishOrder> batch = PickBatch();
                if (batch.Count == 0) continue;

                List<ServingRobotController.RunStop> stops = new List<ServingRobotController.RunStop>();
                for (int k = 0; k < batch.Count; k++)
                {
                    TableSlot s = SlotOf(batch[k].tableIndex);
                    if (s == null) continue;
                    ServingRobotController.RunStop stop = new ServingRobotController.RunStop();
                    stop.tableId = s.tableId;
                    stop.point = s.deliveryPoint;
                    stop.aisleEntrance = s.aisleEntrance;
                    stop.aisleZone = s.aisleZone;
                    stops.Add(stop);
                }
                if (stops.Count == 0) continue;

                _carrying[r] = batch;
                r.StartRun(stops, store.PassPoint, NowS);
            }
        }

        /// <summary>段の数までまとめる。近い卓から順に並べる</summary>
        List<DishOrder> PickBatch()
        {
            List<DishOrder> batch = new List<DishOrder>();
            Vector3 pass = store.PassPoint;
            int trays = Mathf.Max(1, spec.trays);

            for (int i = 0; i < _pass.Count && batch.Count < trays; i++)
            {
                DishOrder d = _pass[i];
                if (d.taken || d.arrivedS >= 0f) continue;
                if (!spec.fragileByRobot && d.fragile) continue;   // 人だけが運ぶ料理
                batch.Add(d);
            }

            batch.Sort(delegate (DishOrder a, DishOrder b)
            {
                TableSlot sa = SlotOf(a.tableIndex), sb = SlotOf(b.tableIndex);
                float da = sa != null ? Flat(sa.deliveryPoint - pass) : 0f;
                float db = sb != null ? Flat(sb.deliveryPoint - pass) : 0f;
                return da.CompareTo(db);
            });

            for (int i = 0; i < batch.Count; i++)
            {
                MarkTaken(batch[i]);
                RemoveServeJob(batch[i]);
            }
            return batch;
        }

        static float Flat(Vector3 d) { d.y = 0f; return d.magnitude; }

        /// <summary>
        /// ロボットの1走りが終わった。届けた料理を記録し、
        /// 届けられなかった料理は受け渡し口の先頭に戻す。
        /// </summary>
        void OnRobotRunDone(ServingRobotController r)
        {
            List<DishOrder> batch;
            if (!_carrying.TryGetValue(r, out batch) || batch == null) return;

            _lastBatch[r] = batch;      // trips.csv を書くために残す
            _carrying[r] = new List<DishOrder>();

            // なぜ届けられなかったか。ロボットが持っている結果から決める。
            // v5 3章：動けなくなってもスタッフが動かせば走りは続くので、
            // 「動けなくなった」は打ち切り・取りやめより後ろに置く（往復が終わった理由が先）
            string why = r.TimedOut ? "打ち切り"
                       : r.Aborted ? "取りやめ"
                       : r.Stuck ? "動けなくなった"
                       : "着かなかった";

            int done = Mathf.Clamp(r.StopsCompleted, 0, batch.Count);
            for (int i = 0; i < batch.Count; i++)
            {
                if (i < done) DishArrived(batch[i], true);
                else RequeueDish(batch[i], r.robotId, why);
            }
        }

        /// <summary>そのロボットがいま載せている料理</summary>
        public IList<DishOrder> CarriedBy(ServingRobotController r)
        {
            List<DishOrder> batch;
            if (r != null && _carrying.TryGetValue(r, out batch)) return batch;
            return new List<DishOrder>();
        }

        /// <summary>直前の1走りで載せていた料理（trips.csv を書くのに使う）</summary>
        public IList<DishOrder> LastBatchOf(ServingRobotController r)
        {
            List<DishOrder> batch;
            if (r != null && _lastBatch.TryGetValue(r, out batch) && batch != null) return batch;
            return new List<DishOrder>();
        }
    }
}
```

### Assets/ServiceSim/Experiment/ExperimentRunner.cs

```csharp
using System.Collections.Generic;
using System.IO;
using UnityEngine;

namespace ServiceSim
{
    /// <summary>
    /// 条件を回して記録する。1回の Play の中で、条件を順に通せる（段階3の Run All）。
    /// 数字と場所は ExperimentPlan の .asset に置く。回し方だけメニューが決める。
    ///
    /// この script は実験だけを扱う。店の運営は ServiceOps、人は GroupManager に任せる。
    /// </summary>
    public class ExperimentRunner : MonoBehaviour
    {
        /// <summary>時間の進め方</summary>
        public enum TimeMode { RealTime, FastTimeScale, FixedStep }

        /// <summary>回す条件1つ</summary>
        [System.Serializable]
        public class Job
        {
            public int aisleWidthIndex;
            public CrowdLevel crowd;
            public int robots;
            public int seed;
            public string folder;
            public string conditionId;

            /// <summary>
            /// 卓の停止点を通路の中心からずらす距離（m）。メニューが決める（C1）。
            /// applyDeliveryOffset が false のときは、.asset の値をそのまま使う。
            /// true のときも、使うのはこの回だけ。回し終わりに .asset の値へ戻すので、
            /// .asset は書き換わらない（run_info.json の delivery_offset_used_m に実際の値が出る）。
            /// </summary>
            public bool applyDeliveryOffset;
            public float deliveryOffset;

            // ---- サイトの条件で回す（v5 3章）----
            /// <summary>
            /// サイトの条件（unity_conditions）で回すか。
            /// true なら、店の回し方の数字は serving-robot-params.json から読み、
            /// 始め方もサイトと同じ「空の店から peak_min 分だけ来客し、全員が帰るまで」にする。
            /// </summary>
            public bool siteRun;

            /// <summary>unity_conditions の何番めか（siteRun のとき）</summary>
            public int conditionIndex = -1;

            /// <summary>試算の stores の名前（fam_p1 / fam_p5）。報告とフォルダ名に使う</summary>
            public string storeKey = "";
        }

        [Header("参照（Setup が入れる）")]
        public ExperimentPlan plan;
        public ServiceSpec service;

        [Tooltip("サイトの試算の値（v5 3章）。サイトの条件で回すときに読む")]
        public SimParams simParams;

        public StoreBuilder store;
        public NavMeshBaker baker;
        public PeopleSpawner people;
        public ServiceOps ops;
        public GroupManager groups;
        public JamWatcher jams;
        public RobotSpec robotSpec;
        public GameObject robotPrefab;
        public Transform robotsRoot;

        [Header("回し方（メニューが決める）")]
        public bool runOnPlay;

        /// <summary>
        /// 見る用の回か。字幕と描画をこの回だけ出し、時間は1倍速で進める。
        /// 設定ファイル（ExperimentPlan）は書き換えない。計測の比べには使わない。
        /// </summary>
        public bool viewMode;
        public TimeMode timeMode = TimeMode.FixedStep;
        public string runLabel = "v2";
        public float captureDeltaTimeOverride;

        [Header("いまの様子（読むだけ）")]
        [SerializeField] int _jobIndex;
        [SerializeField] int _jobCount;
        [SerializeField] float _simMinutes;
        [SerializeField] float _wallSeconds;
        [SerializeField] int _runsDone;
        [SerializeField] bool _running;

        // Play に入るとき、Unity はいちど script を読み直す（Domain Reload）。
        // そのときに消えないように、回す条件は .unity に書き出して持たせる。
        // メニューが入れた条件が Start() まで残らないと「回す条件がありません」で止まる。
        [SerializeField] List<Job> _queue = new List<Job>();

        readonly TripLogger _logger = new TripLogger();
        readonly List<ServingRobotController> _robots = new List<ServingRobotController>();
        readonly TripLogger.RunInfo _info = new TripLogger.RunInfo();
        readonly List<int> _walkerSamples = new List<int>();

        /// <summary>計測が始まってからこの回数走っても記録が0なら、取りこぼしとみて止める</summary>
        const int TripRecordAlarmRuns = 3;

        Job _job;

        // 停止点は、メニューが決めた値をこの回だけ使う（C1）。
        // .asset を書き換えたままにしないよう、もとの値を覚えて回し終わりに戻す。
        float _savedDeliveryOffset;
        bool _deliveryOffsetSaved;

        // サイトの試算の値も、この回だけ入れて回し終わりに戻す（v5 3章）
        readonly SiteValues _siteValues = new SiteValues();
        SimParams.Condition _condition;

        /// <summary>来客を受け付け終わる時刻（店の中, 秒）。siteRun のときだけ使う</summary>
        float _arrivalsEndS;

        /// <summary>全員が帰るのを待つ上限（店の中, 秒）。これを超えたら打ち切る</summary>
        float _hardEndS;

        /// <summary>全員が帰って終わったか（打ち切りでないか）</summary>
        bool _everyoneLeft;

        float _endS, _measureStartS, _wallStart, _lastLog, _timeOffset;
        int _tripSeq;
        int _runsFinished;        // ロボットが走り終わった回数（慣らしも含む）
        int _runsAfterMeasure;    // 計測が始まってから走り終わった回数
        bool _stoppedEarly;
        bool _jobRunning;

        /// <summary>この条件ぶんを書き出したか（途中で止めたときに二重に書かないため。v5 3章）</summary>
        bool _outputsWritten;

        public bool Running { get { return _running; } }

        /// <summary>回す条件を1つだけ入れる（段階2のやり方）</summary>
        public void SetSingleJob(Job job)
        {
            _queue.Clear();
            _queue.Add(job);
        }

        /// <summary>回す条件をまとめて入れる（段階3の Run All）</summary>
        public void SetQueue(IList<Job> jobs)
        {
            _queue.Clear();
            if (jobs != null) for (int i = 0; i < jobs.Count; i++) _queue.Add(jobs[i]);
        }

        void Start()
        {
            if (!runOnPlay) return;
            if (!Resolve()) return;
            if (_queue.Count == 0) { Debug.LogError("[ServiceSim] 回す条件がありません"); return; }

            Application.runInBackground = true;
            ApplyTimeMode();
            // 見る用の回は、描画を止めない（字幕も ServiceSimLabels が出す）
            if (plan.disableRenderingWhileRunning && !viewMode) DisableCameras();

            _jobIndex = 0;
            _jobCount = _queue.Count;
            _runsDone = 0;
            _wallStart = Time.realtimeSinceStartup;
            _running = true;
            StartJob(_queue[0]);
        }

        bool Resolve()
        {
            if (store == null) store = FindObjectOfType<StoreBuilder>();
            if (baker == null) baker = FindObjectOfType<NavMeshBaker>();
            if (people == null) people = FindObjectOfType<PeopleSpawner>();
            if (ops == null) ops = FindObjectOfType<ServiceOps>();
            if (groups == null) groups = FindObjectOfType<GroupManager>();
            if (jams == null) jams = FindObjectOfType<JamWatcher>();
            if (robotsRoot == null && store != null && store.transform.parent != null)
                robotsRoot = store.transform.parent.Find("Robots");

            if (plan == null || service == null || store == null || baker == null || people == null ||
                ops == null || groups == null || jams == null || robotPrefab == null ||
                robotsRoot == null || store.layout == null)
            {
                Debug.LogError("[ServiceSim] ExperimentRunner の参照が足りません。ServiceSim/Setup を実行してください");
                return false;
            }
            return true;
        }

        void ApplyTimeMode()
        {
            Time.captureDeltaTime = 0f;
            switch (timeMode)
            {
                case TimeMode.RealTime: Time.timeScale = 1f; break;
                case TimeMode.FastTimeScale: Time.timeScale = plan.trialTimeScaleFast; break;
                default:
                    Time.timeScale = 1f;
                    Time.captureDeltaTime = captureDeltaTimeOverride > 0f
                        ? captureDeltaTimeOverride : plan.measureCaptureDeltaTime;
                    break;
            }
        }

        void DisableCameras()
        {
            Camera[] cams = FindObjectsOfType<Camera>();
            for (int i = 0; i < cams.Length; i++) cams[i].enabled = false;
        }

        // ---------------- 1条件ぶん ----------------

        void StartJob(Job job)
        {
            _job = job;
            _logger.Clear();
            _info.frameDeltas.Clear();
            _info.robotSteps.Clear();
            _info.peopleSteps.Clear();
            _info.chairPullsByReason.Clear();
            _info.chairPulls = 0;
            _walkerSamples.Clear();
            _tripSeq = 0;
            _runsFinished = 0;
            _runsAfterMeasure = 0;
            _stoppedEarly = false;
            _everyoneLeft = false;
            _outputsWritten = false;
            _condition = null;

            StoreLayout layout = store.layout;
            layout.aisleWidthIndex = job.aisleWidthIndex;

            // 停止点は条件の1つ（C1）。メニューが決めた値を、組み立てる前に入れる。
            // .asset のもとの値は覚えておき、ぜんぶ終わったら戻す（.asset は書き換えない）。
            if (!_deliveryOffsetSaved)
            {
                _savedDeliveryOffset = layout.deliveryOffsetFromAisleCenter;
                _deliveryOffsetSaved = true;
            }
            layout.deliveryOffsetFromAisleCenter = job.applyDeliveryOffset
                ? job.deliveryOffset : _savedDeliveryOffset;

            job.conditionId = ExperimentPlan.ConditionId(layout.AisleWidth, job.crowd, job.robots);

            // サイトの条件で回すとき（v5 3章）。
            // 建てる前に値を入れる（卓の数・来客のペース・時間の決まりが組み立てと来客に効く）。
            // 1つでも読めない値があれば、回さずに止める（Unity の .asset で埋めない）
            if (job.siteRun && !ApplySiteValues(job))
            {
                AbortRun();
                return;
            }

            store.Build();

            // 建てた卓の数が、試算の stores.tables と違ったら回さない（v5 3章）。
            // 店の形（JSON）が合わないときは Unity で埋めずに止める
            if (job.siteRun && !TablesMatchSite(job))
            {
                AbortRun();
                return;
            }

            baker.Bake();

            // 見る用の回は、床の塗り分けを Build Store と同じに作り直す。
            // 計測の回では作らない（見た目だけのものなので、速さを落とさない）
            if (viewMode) store.PaintFloor(baker, people.spec != null ? people.spec.personRadius : 0.2f);

            ops.spec = service;
            ops.robotSpec = robotSpec;
            ops.store = store;
            ops.Setup();

            people.service = service;
            people.ops = ops;
            people.Spawn(job.seed);

            groups.spec = service;
            groups.people = people.spec;
            groups.ops = ops;
            groups.store = store;
            groups.spawner = people;     // 人の動きに合わせて椅子を引く（B6）
            groups.bodyRoot = transform;

            jams.spec = people.spec;
            jams.ops = ops;
            jams.store = store;
            jams.Setup();

            SpawnRobots(job.robots);

            // 始め方（v5 3章）。
            //   サイトの条件 … 空の店から、peak_min 分だけ来客し、全員が帰るまで回す
            //                  （max_extra_min で打ち切り）。慣らしは無し
            //   それ以外     … これまでどおり、8割埋まった店＋慣らし 15 分
            if (job.siteRun)
            {
                groups.seedWarmupGroups = false;
                _arrivalsEndS = service.peakMinutes * 60f;
                groups.arrivalsEndS = _arrivalsEndS;
                _hardEndS = _arrivalsEndS + service.maxExtraMin * 60f;
                _measureStartS = 0f;
                _endS = _hardEndS;
            }
            else
            {
                groups.seedWarmupGroups = true;
                groups.arrivalsEndS = 0f;
                _arrivalsEndS = 0f;
                _hardEndS = 0f;
                _measureStartS = plan.warmupMinutes * 60f;
                _endS = (plan.warmupMinutes + plan.measureMinutes) * 60f;
            }

            groups.Setup(job.crowd, job.seed, people.Targets);
            ops.SetStaffCount(people.StaffSpawned);

            _timeOffset = Time.time;
            _lastLog = 0f;
            _jobRunning = true;

            Debug.Log("[ServiceSim] 回し始め " + (_jobIndex + 1) + "/" + _jobCount +
                      "：" + job.conditionId + " 種" + job.seed +
                      (job.siteRun
                        ? "（サイトの条件。空の店から来客 " + service.peakMinutes +
                          " 分 ＋ 全員が帰るまで（上限 " + service.maxExtraMin + " 分）" +
                          "・スタッフ " + people.StaffSpawned + " 人・ロボット " + job.robots + " 台）"
                        : "（慣らし " + plan.warmupMinutes + " 分 ＋ 計測 " + plan.measureMinutes + " 分）"));
        }

        /// <summary>
        /// 合わない値があって回せないとき。書き出さずに Play を抜ける（v5 3章）。
        /// .asset に入れた値は、OnDisable と同じようにもとへ戻す
        /// </summary>
        void AbortRun()
        {
            _running = false;
            _jobRunning = false;
            RestoreDeliveryOffset();
            RestoreSiteValues();
            Time.captureDeltaTime = 0f;
            Time.timeScale = 1f;
            Debug.LogError("[ServiceSim] 回しませんでした。Console の上の行を見てください");
#if UNITY_EDITOR
            UnityEditor.EditorApplication.isPlaying = false;
#endif
        }

        /// <summary>
        /// 建てた卓の数が、試算の stores.{店}.tables と合っているか（v5 3章）。
        /// 合わなければ、どちらかが古い。Unity で埋めずに止める
        /// </summary>
        bool TablesMatchSite(Job job)
        {
            JsonStoreLayout js = store.layout as JsonStoreLayout;
            if (js == null || simParams == null) return true;

            // ops.Setup() はこのあとなので、建てた数は店の形（JSON）から数えたものを見る
            int want = Mathf.RoundToInt(simParams.StoreValue(job.storeKey, "tables", -1f));
            int got = js.TableCount;
            if (want < 0 || want == got) return true;

            Debug.LogError("[ServiceSim] 卓の数が合いません（回しません）：試算 stores." + job.storeKey +
                           ".tables = " + want + " / 建てた店 = " + got +
                           "\n  どちらかが古いので、サイトから写し直してください");
            return false;
        }

        /// <summary>
        /// サイトの試算の値を、この回だけ ServiceSpec / PeopleSpec / RobotSpec に入れる（v5 3章）。
        /// 版の番号（店の形の meta.generation ↔ 試算の meta.layout_generation）が合わなければ回さない。
        /// 読めない値が1つでもあれば回さない（Unity の .asset で埋めない）。
        /// </summary>
        bool ApplySiteValues(Job job)
        {
            if (simParams == null)
            {
                Debug.LogError("[ServiceSim] SimParams が入っていません（ServiceSim/Setup を実行してください）");
                return false;
            }

            JsonStoreLayout js = store.layout as JsonStoreLayout;
            if (js == null)
            {
                Debug.LogError("[ServiceSim] サイトの条件で回すには、JSON から建てた店（JsonStoreLayout）が要ります。" +
                               "いまの店: " + store.layout);
                return false;
            }

            string storeKey = string.IsNullOrEmpty(job.storeKey) ? js.ParamsStoreKey : job.storeKey;
            job.storeKey = storeKey;

            if (!simParams.Load(js.ReadGeneration()))
            {
                string why = "";
                for (int i = 0; i < simParams.Problems.Count; i++) why += "\n  - " + simParams.Problems[i];
                Debug.LogError("[ServiceSim] 試算の値を読めません（回しません）" + why);
                return false;
            }

            _condition = job.conditionIndex >= 0 ? simParams.ConditionAt(job.conditionIndex) : null;
            if (_condition == null)
            {
                Debug.LogError("[ServiceSim] 条件 " + job.conditionIndex + " が unity_conditions にありません");
                return false;
            }
            if (_condition.store != storeKey)
            {
                Debug.LogError("[ServiceSim] 条件の店（" + _condition.store + "）と、建てる店（" +
                               storeKey + "）が違います");
                return false;
            }

            if (!_siteValues.Apply(simParams, storeKey, _condition, service, people.spec, robotSpec))
            {
                string why = "";
                for (int i = 0; i < _siteValues.Problems.Count; i++) why += "\n  - " + _siteValues.Problems[i];
                Debug.LogError("[ServiceSim] 試算の値が足りません（回しません）" + why);
                return false;
            }

            job.robots = _condition.robots;
            job.conditionId = _condition.Id;
            Debug.Log("[ServiceSim] " + _siteValues.Report());
            return true;
        }

        void SpawnRobots(int count)
        {
            ops.ClearRobots();
            for (int i = robotsRoot.childCount - 1; i >= 0; i--) Destroy(robotsRoot.GetChild(i).gameObject);
            _robots.Clear();

            // 置き始めは、1台に1つの待機場所へ（v5）。
            // 受け渡し口の前に重ねて置くと、はじめからふさぎ合う
            Vector3 pass = store.PassPoint;
            IList<Vector3> standby = store.RobotStandbyPoints;
            for (int i = 0; i < count; i++)
            {
                GameObject go = Instantiate(robotPrefab, robotsRoot);
                go.name = "ServingRobot" + (i + 1).ToString("00");
                ServingRobotController c = go.GetComponent<ServingRobotController>();
                if (c == null) { Destroy(go); continue; }
                c.robotId = i + 1;
                Vector3 start = standby.Count > 0
                    ? standby[i % standby.Count]
                    : pass + new Vector3(0f, 0f, -0.8f * i);
                c.PlaceAt(start, Quaternion.LookRotation(Vector3.back, Vector3.up));
                c.TripCompleted += OnRunDone;
                _robots.Add(c);
                ops.RegisterRobot(c);
            }
        }

        void Update()
        {
            if (!_running || !_jobRunning) return;

            float dt = Time.deltaTime;
            _wallSeconds = Time.realtimeSinceStartup - _wallStart;
            _info.frameDeltas.Add(dt);

            float step = 0f;
            for (int i = 0; i < _robots.Count; i++)
                if (_robots[i] != null) step = Mathf.Max(step, _robots[i].LastStepM);
            _info.robotSteps.Add(step);

            // 人の1コマの移動量も記録する（B10）。通路を歩く人のうちいちばん大きいもの
            float peopleStep = 0f;
            IReadOnlyList<PersonBody> bodies = PersonBody.All;
            for (int i = 0; i < bodies.Count; i++)
            {
                PersonBody b = bodies[i];
                if (b == null || !b.walksInAisle) continue;
                if (b.LastStepM > peopleStep) peopleStep = b.LastStepM;
            }
            _info.peopleSteps.Add(peopleStep);

            ops.Advance(dt);
            groups.Tick(dt);
            jams.Tick(dt);
            _simMinutes = ops.NowS / 60f;

            if (ops.NowS >= _measureStartS) _walkerSamples.Add(groups.WalkingBodies + people.StaffSpawned);

            if (_wallSeconds - _lastLog >= 60f)
            {
                _lastLog = _wallSeconds;

                // 「走り」はロボットが走り終わった回数、「記録」は trips.csv に書いた行数。
                // 走りがあるのに記録が増えないときは、記録の取りこぼしなのでその場で止める
                Debug.Log("[ServiceSim] とちゅう " + (_jobIndex + 1) + "/" + _jobCount + "：" +
                          _simMinutes.ToString("0.0") + " / " +
                          (_job.siteRun
                            ? "来客 " + (_arrivalsEndS / 60f).ToString("0") + " 分・上限 " +
                              (_hardEndS / 60f).ToString("0") + " 分"
                            : (_endS / 60f).ToString("0") + " 分") + "、" +
                          "組 " + groups.GroupsArrived + "（待ち " + groups.WaitingGroups +
                          "・帰った " + groups.GroupsDone + "）、" +
                          "走り " + _runsFinished + " 回・記録 " + _logger.RowCount + " 行、" +
                          "椅子 " + ops.chairPulls + " 回、" +
                          "あきらめ " + (ops.gaveUpCount + ops.warpedCount + ops.tableFreedCount) + " 回、" +
                          "立ち往生 " + ops.rescueCalls + " 回、" +
                          "実時間 " + (_wallSeconds / 60f).ToString("0.0") + " 分");

                CheckTripsAreRecorded();
            }

            if (ShouldFinish()) FinishJob();
        }

        /// <summary>
        /// 1条件を終える時。
        ///   サイトの条件（v5 3章）… 来客を受け付け終わって、全員が帰ったら終わり。
        ///                            帰らないまま max_extra_min を過ぎたら打ち切る
        ///   それ以外               … これまでどおり、慣らし＋計測の長さで終わり
        /// </summary>
        bool ShouldFinish()
        {
            if (!_job.siteRun) return ops.NowS >= _endS;

            if (ops.NowS >= _arrivalsEndS && !groups.AnyGroupInStore)
            {
                _everyoneLeft = true;
                return true;
            }
            return ops.NowS >= _hardEndS;
        }

        /// <summary>
        /// 走りがあるのに trips.csv の行が増えないときは、記録の取りこぼし。
        /// 気づかないまま何時間も回さないように、その場で止めて知らせる。
        /// 慣らしの間に始まった走りは数えないので、計測が始まってから見る。
        /// </summary>
        void CheckTripsAreRecorded()
        {
            if (ops.NowS < _measureStartS) return;
            if (_runsAfterMeasure <= 0) return;
            if (_logger.RowCount > 0) return;

            // 計測が始まってから走り終わった回数がこれを超えても記録が0なら、おかしい
            if (_runsAfterMeasure < TripRecordAlarmRuns) return;

            Debug.LogError("[ServiceSim] 走りが " + _runsAfterMeasure +
                           " 回あるのに trips.csv の行が 0 です。記録を取りこぼしています。" +
                           "\n  止めました。ExperimentRunner.OnRunDone と " +
                           "ServingRobotController.RunStartS を確かめてください" +
                           "\n  店の中 " + (ops.NowS / 60f).ToString("0.0") + " 分 / 計測の始まり " +
                           (_measureStartS / 60f).ToString("0.0") + " 分");
            StopEarly();
        }

        /// <summary>途中で止める（書き出しはする）</summary>
        void StopEarly()
        {
            _stoppedEarly = true;
            FinishJob();
            AllDone();
        }

        void OnRunDone(ServingRobotController r)
        {
            _runsFinished++;
            if (ops.NowS >= _measureStartS) _runsAfterMeasure++;

            // 走り始めた時刻はロボットが持っている（ServingRobotController.RunStartS）。
            // ここで覚えておくと、走り終わってすぐ次の仕事が入ったとき、
            // 「空いている」状態を一度も見ないまま時刻が古いままになり、全部の走りを取りこぼす。
            float startS = r.RunStartS >= 0f ? r.RunStartS : ops.NowS - r.TotalS;
            if (startS < _measureStartS) return;

            IList<DishOrder> batch = ops.LastBatchOf(r);
            _tripSeq++;

            TripLogger.Row row = new TripLogger.Row();
            row.conditionId = _job.conditionId;
            row.aisleWidthM = store.layout.AisleWidth;
            row.crowd = ExperimentPlan.CrowdName(_job.crowd);
            row.robots = _job.robots;
            row.seed = _job.seed;
            row.robotId = r.robotId;
            row.tripId = _tripSeq;
            row.tableId = r.TableIds.Count > 0 ? r.TableIds[0] : 0;
            row.distanceM = r.DistanceM;
            row.totalS = r.TotalS;
            row.stoppedS = r.StoppedS;
            row.nStops = r.StopCount;
            row.stopDurationsS = ToArray(r.StopDurationsS);
            row.stuck = r.Stuck;
            row.timeout = r.TimedOut;
            row.waitAisleS = r.WaitAisleS;
            row.maxDecelMps2 = r.MaxDecelMps2;
            row.minClearanceM = r.MinClearanceM;
            row.metRobot = r.MetRobot;

            int[] ids = new int[r.TableIds.Count];
            for (int i = 0; i < ids.Length; i++) ids[i] = r.TableIds[i];
            row.tableIds = ids;
            row.dishes = batch.Count;

            float[] ready = new float[batch.Count], arrived = new float[batch.Count];
            int undelivered = 0;
            for (int i = 0; i < batch.Count; i++)
            {
                ready[i] = batch[i].readyS;
                arrived[i] = batch[i].arrivedS;
                if (batch[i].arrivedS < 0f) undelivered++;
            }
            row.dishReadyS = ready;
            row.dishArrivedS = arrived;
            row.undelivered = undelivered;

            // ---- 往復ごとの測り（v5 3章・設計書2章の4つ）----
            // 実際に走れた速さは、止まっていた分を除いた時間で出す（止まり込みの平均は別物）
            float movingS = r.TotalS - r.StoppedS;
            row.speedMps = movingS > 0.01f ? r.DistanceM / movingS : 0f;
            row.stuckCount = r.StuckCount;
            row.stuckWaitS = r.StuckWaitS;
            row.viaNarrow = r.LegWasNarrow;
            SplitStopsByAisle(r, ref row);

            _logger.Add(row);

            AddStopRows(r, _tripSeq);
        }

        void AddStopRows(ServingRobotController robot, int tripId)
        {
            float normal = NormalWidthM();
            IReadOnlyList<ServingRobotController.StopEvent> events = robot.StopEvents;
            for (int i = 0; i < events.Count; i++)
            {
                ServingRobotController.StopEvent e = events[i];
                TripLogger.StopRow s = new TripLogger.StopRow();
                s.conditionId = _job.conditionId;
                s.seed = _job.seed;
                s.robotId = robot.robotId;
                s.tripId = tripId;
                s.tS = e.startTimeS - _timeOffset;
                s.x = e.position.x;
                s.z = e.position.z;
                s.aisle = AisleNameAt(e.position);
                s.inNarrow = InNarrowAisle(e.position, normal);
                s.cause = TripLogger.CauseLabel(e.cause);
                s.causeDetail = e.causeDetail;
                s.pathBlocked = e.pathBlocked;
                s.durationS = e.durationS;
                s.resolved = TripLogger.ResolveLabel(e.resolve);
                s.clearanceLeftCm = e.clearanceLeftM * 100f;
                s.clearanceRightCm = e.clearanceRightM * 100f;
                s.minGapCm = Mathf.Min(s.clearanceLeftCm, s.clearanceRightCm);

                // 何で動けなかったかの内訳（B7）
                s.blockedS = e.blockedS;
                s.noPathS = e.noPathS;
                s.yieldS = e.yieldS;
                s.clearWaitS = e.clearWaitS;
                s.replans = e.replans;

                // 道を引いたときの中身（調べるためだけ）
                s.solveFrom = Xz(e.solveFrom);
                s.solveTo = Xz(e.solveTo);
                s.solveStatus = string.IsNullOrEmpty(e.solveStatus) ? "なし" : e.solveStatus;
                s.solveCorners = e.solveCorners;
                s.offMeshM = e.offMeshM;

                _logger.AddStop(s);
            }
        }

        /// <summary>
        /// 止まりを、狭い通路の中と外に分けて数える（v5 3章。⑦の読み分け）。
        /// 「狭い」はサイトの決まりのまま、幅が meta.settings.normal_width（1.0 m）未満の通路。
        /// ③の通路は 1.2 m なので、ぜんぶ「外」になる。
        /// </summary>
        void SplitStopsByAisle(ServingRobotController robot, ref TripLogger.Row row)
        {
            float normal = NormalWidthM();
            IReadOnlyList<ServingRobotController.StopEvent> events = robot.StopEvents;
            for (int i = 0; i < events.Count; i++)
            {
                if (InNarrowAisle(events[i].position, normal))
                {
                    row.stopsInNarrow++;
                    row.stoppedInNarrowS += events[i].durationS;
                }
                else
                {
                    row.stopsOutNarrow++;
                    row.stoppedOutNarrowS += events[i].durationS;
                }
            }
        }

        /// <summary>サイトの「ふだん走らせる道の幅」（m）。JSON に無ければ 0（＝ぜんぶ「外」）</summary>
        float NormalWidthM()
        {
            JsonStoreLayout js = store != null ? store.layout as JsonStoreLayout : null;
            return js != null ? js.NormalWidth : 0f;
        }

        bool InNarrowAisle(Vector3 p, float normalWidth)
        {
            if (normalWidth <= 0f) return false;
            IList<StoreBuilder.AisleInfo> aisles = store.Aisles;
            for (int i = 0; i < aisles.Count; i++)
            {
                if (aisles[i].width >= normalWidth) continue;
                Bounds b = aisles[i].zone;
                if (p.x < b.min.x || p.x > b.max.x || p.z < b.min.z || p.z > b.max.z) continue;
                return true;
            }
            return false;
        }

        /// <summary>点を "x;z" の1つの欄にする（stops.csv の solve_from / solve_to）</summary>
        static string Xz(Vector3 p)
        {
            return p.x.ToString("0.###", System.Globalization.CultureInfo.InvariantCulture) + ";" +
                   p.z.ToString("0.###", System.Globalization.CultureInfo.InvariantCulture);
        }

        string AisleNameAt(Vector3 p)
        {
            string wide = "";
            IList<StoreBuilder.AisleInfo> aisles = store.Aisles;
            for (int i = 0; i < aisles.Count; i++)
            {
                Bounds b = aisles[i].zone;
                if (p.x < b.min.x || p.x > b.max.x || p.z < b.min.z || p.z > b.max.z) continue;
                if (aisles[i].narrow) return aisles[i].name;
                if (wide.Length == 0) wide = aisles[i].name;
            }
            return wide;
        }

        static float[] ToArray(IReadOnlyList<float> list)
        {
            if (list == null || list.Count == 0) return new float[0];
            float[] a = new float[list.Count];
            for (int i = 0; i < a.Length; i++) a[i] = list[i];
            return a;
        }

        // ---------------- 書き出して次へ ----------------

        void FinishJob()
        {
            _jobRunning = false;
            AddGroupRows();
            WriteOutputs(_job.folder, _stoppedEarly);

            _jobIndex++;
            if (_jobIndex < _queue.Count) { StartJob(_queue[_jobIndex]); return; }
            AllDone();
        }

        /// <summary>
        /// 1条件ぶんの記録を書き出す（v5 3章で切り出した）。
        /// 途中で Play を止めたときも、ここまでの分を同じ形で書き出せるようにするため、
        /// 置き場所と「途中で止めたか」を渡す形にした。
        /// 書き出しの中で、オブジェクトを探したり消したりしないこと
        /// （Play を抜ける最中にも呼ばれるため）。
        /// </summary>
        void WriteOutputs(string dir, bool stoppedEarly)
        {
            _outputsWritten = true;
            try
            {
                Directory.CreateDirectory(dir);

                TripLogger.SimLike sim = new TripLogger.SimLike();
                sim.dishWaitMin.AddRange(ops.dishWaitMin);
                sim.seatWaitMin.AddRange(ops.seatWaitMin);
                sim.turnMin.AddRange(ops.turnMin);
                sim.coldMin = service.coldMin;
                sim.robotDishes = ops.robotDishes;
                sim.staffDishes = ops.staffDishes;
                sim.requeuedDishes = ops.requeuedDishes;
                sim.groups = groups.GroupsDone;
                sim.jamCount = jams.JamCount;
                sim.jamTotalS = jams.TotalJamSeconds;
                sim.robotBlockedJams = jams.RobotBlockedJamCount;   // B9
                sim.chairPulls = ops.chairPulls;                     // B6
                sim.robotContacts = ops.Contacts.Count;              // 人がロボットをよける
                sim.robotYieldWaits = ops.robotYieldWaits;
                sim.robotYieldWaitSeconds = ops.robotYieldWaitSeconds;
                sim.robotYieldDetours = ops.robotYieldDetours;
                sim.registerCrowdMax = ops.registerCrowdMax;         // レジの前の人数
                sim.registerCrowdMean = ops.RegisterCrowdMean;
                sim.registerPayCount = ops.registerPayCount;
                sim.registerPayNotAtBackCount = ops.registerPayNotAtBackCount;
                sim.registerPayOffSpotCount = ops.registerPayOffSpotCount;
                sim.registerPayMeanOffsetM = ops.RegisterPayMeanOffsetM;
                sim.registerPayMaxOffsetM = ops.registerPayMaxOffsetM;
                sim.registerBackIntruderCount = ops.registerBackIntruderCount;
                sim.registerBackIntruderSeconds = ops.registerBackIntruderSeconds;
                sim.staffTime.Clear();
                foreach (KeyValuePair<string, float> kv in ops.StaffTime) sim.staffTime.Add(kv);
                sim.dishParts.Clear();
                sim.dishParts.AddRange(ops.DishPartsList);
                sim.jobWaitMean.Clear();
                foreach (KeyValuePair<string, float> kv in ops.JobWaitSum)
                {
                    int n;
                    ops.JobWaitCount.TryGetValue(kv.Key, out n);
                    sim.jobWaitMean.Add(new KeyValuePair<string, float>(kv.Key, n > 0 ? kv.Value / n : 0f));
                }
                sim.drinkBarQueued = ops.drinkBarQueued;             // B4
                sim.drinkBarGaveUp = ops.drinkBarGaveUp;
                sim.drinkBarWaitMin.Clear();
                sim.drinkBarWaitMin.AddRange(ops.drinkBarWaitMin);
                sim.gaveUp = ops.gaveUpCount;                        // B1
                sim.warped = ops.warpedCount;
                sim.tableFreed = ops.tableFreedCount;
                sim.walkersMean = MeanInt(_walkerSamples);
                sim.measuredMinutes = _job.siteRun ? ops.NowS / 60f : plan.measureMinutes;

                // ---- サイトと同じ名前で出す値（v5 3章・meta.metrics）----
                sim.entryWaitMin.AddRange(ops.entryWaitMin);
                sim.fullWaitMin.AddRange(ops.fullWaitMin);
                sim.blockedWaitMin.AddRange(ops.blockedWaitMin);
                sim.guideWaitMin.AddRange(ops.guideWaitMin);
                sim.staffWaitMin.AddRange(ops.staffWaitMin);
                sim.walkKmPerStaff = ops.WalkKmPerStaff;
                sim.staffUtil = StaffUtil();
                sim.robotUtil = ops.RobotUtil;
                sim.rescues = ops.rescueCalls;
                sim.rescuesDone = ops.rescueDone;
                sim.rescueWaitS = ops.rescueWaitSeconds;
                sim.pauses = _logger.TotalStopCount();
                sim.siteRun = _job.siteRun;
                sim.siteConditionId = _job.conditionId;
                sim.siteResult.Clear();
                if (_condition != null)
                    foreach (KeyValuePair<string, float> kv in _condition.siteResult)
                        sim.siteResult.Add(kv);
                sim.arrivalsMinutes = _job.siteRun ? _arrivalsEndS / 60f : 0f;
                sim.totalMinutes = ops.NowS / 60f;
                sim.everyoneLeft = _everyoneLeft;
                _logger.SetSimLike(sim);

                _logger.WriteTripsCsv(Path.Combine(dir, "trips.csv"));
                _logger.WriteStopsCsv(Path.Combine(dir, "stops.csv"));
                _logger.WriteGroupsCsv(Path.Combine(dir, "groups.csv"));
                TripLogger.WriteJamsCsv(Path.Combine(dir, "people_jams.csv"),
                                        _job.conditionId, _job.seed, jams.Rows);
                TripLogger.WriteGiveUpsCsv(Path.Combine(dir, "give_ups.csv"),
                                        _job.conditionId, _job.seed, ops.GiveUps);
                TripLogger.WriteRequeuesCsv(Path.Combine(dir, "dishes.csv"),
                                        _job.conditionId, _job.seed, ops.Requeues);
                TripLogger.WriteContactsCsv(Path.Combine(dir, "contacts.csv"),
                                        _job.conditionId, _job.seed, ops.Contacts);
                _logger.WriteSummaryJson(Path.Combine(dir, "summary.json"), plan.runName);

                _info.runLabel = runLabel;
                _info.conditionId = _job.conditionId;
                _info.timeMode = timeMode.ToString();
                _info.tripsRequested = 0;
                _info.tripsDone = _logger.RowCount;
                _info.robots = _job.robots;
                _info.seed = _job.seed;
                _info.aisleWidthM = store.layout.AisleWidth;
                _info.deliveryOffsetM = store.layout.deliveryOffsetFromAisleCenter;
                _info.deliveryOffsetUsedM = store.layout.DeliveryOffset();
                _info.crowd = ExperimentPlan.CrowdName(_job.crowd);
                _info.simSeconds = ops.NowS;
                _info.wallSeconds = _wallSeconds;
                _info.timeScale = timeMode == TimeMode.FastTimeScale ? plan.trialTimeScaleFast : 1f;
                _info.captureDeltaTime = Time.captureDeltaTime;

                // 椅子を引いた回数（B6）
                _info.chairPulls = ops.chairPulls;
                _info.chairPullsByReason.Clear();
                foreach (KeyValuePair<string, int> kv in ops.ChairPullsByReason)
                    _info.chairPullsByReason.Add(kv);
                _info.stoppedEarly = stoppedEarly;
                _info.storeKind = store.layout.name;
                TripLogger.WriteRunInfoJson(Path.Combine(dir, "run_info.json"), _info);

                TripLogger.WriteConditionsJson(Path.Combine(dir, "conditions.json"),
                    plan.runName, store.layout, robotSpec, people.spec, plan,
                    plan.BuildConditions(store.layout));

                _runsDone++;
                Debug.Log("[ServiceSim] 書き出し " + (_jobIndex + 1) + "/" + _jobCount + "：" + _job.conditionId +
                          " 種" + _job.seed +
                          "\n  走り " + _runsFinished + " 回 / 記録 " + _logger.RowCount + " 行 / 止まり " +
                          _logger.StopCount + " 回 / 組 " + _logger.GroupRowCount +
                          "\n  椅子を引いた " + ops.chairPulls + " 回 / 人どうしの詰まり " + jams.JamCount +
                          " 回（うちロボットが近くで止まっていた " + jams.RobotBlockedJamCount + " 回）" +
                          "\n  会計 " + ops.registerPayCount + " 回（店員側にいなかった " +
                          ops.registerPayNotAtBackCount + " 回・立つ点から離れた " +
                          ops.registerPayOffSpotCount + " 回・いちばん離れた " +
                          ops.registerPayMaxOffsetM.ToString("0.00") + " m・会計でないのに店員側にいた " +
                          ops.registerBackIntruderCount + " 回）/ レジの前の人数 最大 " +
                          ops.registerCrowdMax + "・平均 " + ops.RegisterCrowdMean.ToString("0.0") +
                          "\n  人がロボットを待った " + ops.robotYieldWaits + " 回・" +
                          ops.robotYieldWaitSeconds.ToString("0") + " 秒 / 回り道 " +
                          ops.robotYieldDetours + " 回 / 近づきすぎ " + ops.Contacts.Count + " 回" +
                          "\n  戻りの線を使えなかった " + ReturnLineFallbacks() + " 回" +
                          "（使えないときは受け渡し口の前へ戻る）" +
                          "\n  立ち往生で呼んだ " + ops.rescueCalls + " 回（動かした " + ops.rescueDone +
                          " 回・待った " + ops.rescueWaitSeconds.ToString("0") + " 秒）" +
                          "\n  入店待ち " + Mean(ops.entryWaitMin).ToString("0.00") + " 分（満席 " +
                          Mean(ops.fullWaitMin).ToString("0.00") + "・片付け待ち " +
                          Mean(ops.blockedWaitMin).ToString("0.00") + "・案内待ち " +
                          Mean(ops.guideWaitMin).ToString("0.00") + "）/ スタッフの歩き " +
                          ops.WalkKmPerStaff.ToString("0.00") + " km・手がふさがり " +
                          (StaffUtil() * 100f).ToString("0") + "%・ロボット " +
                          (ops.RobotUtil * 100f).ToString("0") + "%" +
                          "\n  あきらめた " + ops.gaveUpCount + " / 移した " + ops.warpedCount +
                          " / 卓を空けた " + ops.tableFreedCount +
                          " / 戻した皿 " + ops.requeuedDishes + "（届いた " + ops.robotDishes + "）" +
                          "\n  " + TripLogger.FrameStatsText(_info) +
                          "\n  " + dir);
            }
            catch (System.Exception e)
            {
                Debug.LogError("[ServiceSim] 書き出しに失敗: " + dir + "\n" + e);
            }
        }

        void AddGroupRows()
        {
            IList<GroupManager.Group> gs = groups.Groups;
            for (int i = 0; i < gs.Count; i++)
            {
                GroupManager.Group g = gs[i];
                TripLogger.GroupRow r = new TripLogger.GroupRow();
                r.conditionId = _job.conditionId;
                r.seed = _job.seed;
                r.groupId = g.id;
                r.size = g.size;
                r.tableId = g.table != null ? g.table.tableId : 0;
                r.tableSeats = g.table != null ? g.table.seatCount : 0;   // 2人席／4人席
                r.arriveS = g.arriveS;
                r.guideStartS = g.guideStartS;
                r.seatedS = g.seatedS;
                r.eatEndS = g.eatEndS;
                r.payStartS = g.payStartS;
                r.payS = g.payS;
                r.leftS = g.leftS;
                r.waitedMin = g.seatedS >= 0f && g.arriveS >= 0f ? (g.seatedS - g.arriveS) / 60f : -1f;
                r.warmup = g.warmup;
                r.state = g.state.ToString();
                _logger.AddGroup(r);
            }
        }

        /// <summary>
        /// staff_util：スタッフの手がふさがっていた割合（v5 3章）。
        /// ops.StaffTime が仕事ごとの秒を持っているので、「待機」以外の割合で出す。
        /// </summary>
        float StaffUtil()
        {
            float total = 0f, idle = 0f;
            foreach (KeyValuePair<string, float> kv in ops.StaffTime)
            {
                total += kv.Value;
                if (kv.Key == "待機") idle += kv.Value;
            }
            return total > 0.01f ? (total - idle) / total : 0f;
        }

        /// <summary>
        /// 戻りの線が使えず、今までどおり受け渡し口の前へ戻った回数（v5）。
        /// 0 でなければ、線が通れる床に乗っていないか、出ていく線・ドリンクバーの列に近すぎる
        /// </summary>
        int ReturnLineFallbacks()
        {
            int n = 0;
            for (int i = 0; i < _robots.Count; i++)
                if (_robots[i] != null) n += _robots[i].ReturnLineFallbacks;
            return n;
        }

        static float Mean(List<float> v)
        {
            if (v == null || v.Count == 0) return 0f;
            float s = 0f;
            for (int i = 0; i < v.Count; i++) s += v[i];
            return s / v.Count;
        }

        static float MeanInt(List<int> v)
        {
            if (v == null || v.Count == 0) return 0f;
            long s = 0;
            for (int i = 0; i < v.Count; i++) s += v[i];
            return (float)s / v.Count;
        }

        /// <summary>
        /// メニューが決めた停止点を、.asset のもとの値へ戻す（C1）。
        /// 書き出しが終わったあとに呼ぶ。.asset を書き換えたままにしないため。
        /// </summary>
        void RestoreDeliveryOffset()
        {
            if (!_deliveryOffsetSaved) return;
            _deliveryOffsetSaved = false;
            if (store != null && store.layout != null)
                store.layout.deliveryOffsetFromAisleCenter = _savedDeliveryOffset;
        }

        /// <summary>
        /// サイトの試算から入れた値を、.asset のもとの値へ戻す（v5 3章）。
        /// 停止点（C1）と同じ扱い。.asset を書き換えたままにしないため
        /// </summary>
        void RestoreSiteValues()
        {
            _siteValues.Restore();
        }

        void AllDone()
        {
            _running = false;
            RestoreDeliveryOffset();
            RestoreSiteValues();
            Time.captureDeltaTime = 0f;
            Time.timeScale = 1f;
            Debug.Log("[ServiceSim] ぜんぶ終わりました。" + _runsDone + " / " + _jobCount + " 条件、" +
                      "実時間 " + (_wallSeconds / 60f).ToString("0.0") + " 分");
#if UNITY_EDITOR
            UnityEditor.EditorApplication.isPlaying = false;
#endif
        }

        /// <summary>
        /// 途中で Play を止めたとき、そこまでの記録を書き出す（v5 3章）。
        ///
        /// 回している最中に止めると、これまでは何も残らなかった。
        /// 詰まった回でも give_ups.csv と summary.json を見られるように、同じ形で書き出す。
        ///   ・置き場所は、ふだんのフォルダ名に _stopped を付けたもの
        ///   ・run_info.json の stopped_early が true、summary.json の
        ///     site_run.everyone_left は false のまま
        /// 書き出しに失敗しても Play を抜けられるよう、まるごと try/catch で包む。
        /// Play を抜ける最中なので、ここから新しくオブジェクトを探したり消したりしない。
        /// </summary>
        void WriteOnStop()
        {
            if (!_running || !_jobRunning || _outputsWritten || _job == null) return;

            try
            {
                _stoppedEarly = true;
                _jobRunning = false;
                AddGroupRows();
                WriteOutputs(_job.folder + "_stopped", true);
                Debug.LogWarning("[ServiceSim] 途中で止めました。ここまでの記録を書き出しました" +
                                 "（計測には使えません）\n  店の中 " +
                                 (ops != null ? (ops.NowS / 60f).ToString("0.0") : "?") + " 分\n  " +
                                 _job.folder + "_stopped");
            }
            catch (System.Exception e)
            {
                Debug.LogError("[ServiceSim] 途中で止めたときの書き出しに失敗しました\n" + e);
            }
        }

        void OnApplicationQuit()
        {
            WriteOnStop();
        }

        void OnDisable()
        {
            // 回している最中に止めたときは、ここまでの記録を書き出す（v5 3章）
            WriteOnStop();

            // 途中で Play を抜けたときも、停止点とサイトの値を .asset のもとの値へ戻す
            RestoreDeliveryOffset();
            RestoreSiteValues();
            Time.captureDeltaTime = 0f;
            if (_running) Time.timeScale = 1f;
        }
    }
}
```

### Assets/ServiceSim/Experiment/TripLogger.cs

```csharp
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Text;
using UnityEngine;

namespace ServiceSim
{
    /// <summary>
    /// trips.csv・conditions.json・summary.json を書く。
    /// この script は実験だけを扱う。店・ロボット・人は動かさない。
    /// 1往復ぶんの値は ExperimentRunner が Row に詰めて渡す。
    /// </summary>
    public class TripLogger
    {
        /// <summary>trips.csv の1行</summary>
        public struct Row
        {
            public string conditionId;
            public float aisleWidthM;
            public string crowd;
            public int robots;
            public int seed;
            public int robotId;
            public int tripId;
            public int tableId;
            public float distanceM;
            public float totalS;
            public float stoppedS;
            public int nStops;
            public float[] stopDurationsS;
            public bool stuck;
            public bool timeout;
            public float waitAisleS;
            public float maxDecelMps2;
            public float minClearanceM;
            public bool metRobot;
            // v2：1行＝ロボットの1走り
            public int[] tableIds;          // 回った卓
            public int dishes;              // 載せた料理の数
            public float[] dishReadyS;      // 各料理ができた時刻
            public float[] dishArrivedS;    // 各料理が届いた時刻（-1 は届かなかった）
            public int undelivered;         // 届けられず受け渡し口に戻した数

            // ---- 往復ごとの測り（v5 3章・設計書2章の4つ）----
            /// <summary>その往復で実際に走れた速さ（m/秒）＝ distance_m /（total_s − stopped_s）</summary>
            public float speedMps;

            /// <summary>動けなくなってスタッフを呼んだ回数と、スタッフを待った秒数</summary>
            public int stuckCount;
            public float stuckWaitS;

            /// <summary>その往復でサイトの道順が 0.8 m の道を使ったか（routes の use が narrow）</summary>
            public bool viaNarrow;

            /// <summary>止まりの回数と秒数を、狭い通路の中と外に分けたもの（⑦の読み分け用）</summary>
            public int stopsInNarrow, stopsOutNarrow;
            public float stoppedInNarrowS, stoppedOutNarrowS;
        }

        /// <summary>groups.csv の1行（1組ぶん）</summary>
        public struct GroupRow
        {
            public string conditionId;
            public int seed;
            public int groupId;
            public int size;
            public int tableId;

            /// <summary>座った卓の大きさ（2 なら2人席、4 なら4人席。0 は座れなかった）</summary>
            public int tableSeats;
            public float arriveS, guideStartS, seatedS, eatEndS, payS, leftS;

            /// <summary>会計を始めた時刻（食べ終わって会計待ちに入った時刻, 秒）</summary>
            public float payStartS;
            public float waitedMin;
            public bool warmup;
            public string state;
        }

        /// <summary>stops.csv の1行（止まり1回ぶん）</summary>
        public struct StopRow
        {
            public string conditionId;
            public int seed;
            public int robotId;
            public int tripId;
            public float tS;            // 店の中の時刻
            public float x, z;
            public string aisle;        // 通路の名前

            /// <summary>
            /// サイトの決まりで「狭い通路」（幅が meta.settings.normal_width 未満）の中で
            /// 止まったか（v5 3章。⑦の読み分け。③は 1.2 m なのでいつも 0）
            /// </summary>
            public bool inNarrow;
            public string cause;
            public string causeDetail;
            public bool pathBlocked;    // 行き先への道が引けていなかったか
            public float durationS;
            public string resolved;
            public float clearanceLeftCm;
            public float clearanceRightCm;
            public float minGapCm;

            // 止まっている間、何で動けなかったかの内訳（秒）。B7 を調べるため
            public float blockedS;
            public float noPathS;
            public float yieldS;
            public float clearWaitS;
            public int replans;

            // 道を引いたときの中身（調べるためだけ。動きは変えない）
            /// <summary>寄せたあとの出発点・行き先（"x;z"）</summary>
            public string solveFrom, solveTo;
            /// <summary>CalculatePath の結果と、引けた角の数</summary>
            public string solveStatus;
            public int solveCorners;
            /// <summary>ロボットの位置から、いちばん近い焼いた面までの距離（m）。-1 は見つからない</summary>
            public float offMeshM;
        }

        /// <summary>
        /// 止まった原因の名前。観察シート（serving-robot-observation.html）の
        /// 「止まった原因」の選択肢にそろえる。Unity にしかない原因は足した。
        /// </summary>
        public static string CauseLabel(ServingRobotController.StopCause cause)
        {
            switch (cause)
            {
                case ServingRobotController.StopCause.Guest: return "お客さんとすれ違った";
                case ServingRobotController.StopCause.Staff: return "スタッフとすれ違った";
                case ServingRobotController.StopCause.PersonStanding: return "人が立ち止まっていた";
                case ServingRobotController.StopCause.Chair: return "椅子・荷物・ベビーカー";
                case ServingRobotController.StopCause.NoPath: return "通路の幅が足りない";
                case ServingRobotController.StopCause.OtherRobot: return "もう1台のロボット";
                case ServingRobotController.StopCause.AisleQueue: return "通路の順番待ち";
                default: return "分からない";
            }
        }

        /// <summary>どう動き出したかの名前</summary>
        public static string ResolveLabel(ServingRobotController.StopResolve r)
        {
            switch (r)
            {
                case ServingRobotController.StopResolve.SelfResume: return "自分で動き出した";
                case ServingRobotController.StopResolve.Replanned: return "経路を引き直した";
                case ServingRobotController.StopResolve.Stuck: return "動けなくなった";
                default: return "入口で待った";
            }
        }

        readonly List<Row> _rows = new List<Row>();
        readonly List<StopRow> _stops = new List<StopRow>();

        public int StopCount { get { return _stops.Count; } }

        /// <summary>
        /// 一時停止の回数の合計（pauses）。
        /// 往復ごとの n_stops（自分で動き出した止まり）を足す。
        /// 通路の入口で待った分と、動けなくなった分は入らない
        /// </summary>
        public int TotalStopCount()
        {
            int n = 0;
            for (int i = 0; i < _rows.Count; i++) n += _rows[i].nStops;
            return n;
        }
        public IReadOnlyList<StopRow> Stops { get { return _stops; } }

        public void AddStop(StopRow row) { _stops.Add(row); }

        public int RowCount { get { return _rows.Count; } }
        public IReadOnlyList<Row> Rows { get { return _rows; } }

        public void Add(Row row)
        {
            _rows.Add(row);
        }

        public void Clear()
        {
            _rows.Clear();
            _stops.Clear();
            _groups.Clear();
        }

        // ---------------- trips.csv ----------------

        public const string Header =
            "condition_id,aisle_width_m,crowd,robots,seed,robot_id,trip_id,table_id," +
            "distance_m,total_s,stopped_s,n_stops,stop_durations_s,stuck,timeout,wait_aisle_s," +
            "max_decel_mps2,min_clearance_m,met_robot," +
            "table_ids,dishes,dish_ready_s,dish_arrived_s,undelivered," +
            // v5 3章：往復ごとの測り（設計書2章の4つ）。⑦は狭い通路の中と外を分ける
            "speed_mps,stuck_count,stuck_wait_s,via_narrow," +
            "stops_in_narrow,stops_out_narrow,stopped_in_narrow_s,stopped_out_narrow_s";

        public void WriteTripsCsv(string path)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(Header).Append('\n');
            for (int i = 0; i < _rows.Count; i++) AppendRow(sb, _rows[i]);
            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        static void AppendRow(StringBuilder sb, Row r)
        {
            sb.Append(r.conditionId).Append(',')
              .Append(F(r.aisleWidthM)).Append(',')
              .Append(r.crowd).Append(',')
              .Append(r.robots).Append(',')
              .Append(r.seed).Append(',')
              .Append(r.robotId).Append(',')
              .Append(r.tripId).Append(',')
              .Append(r.tableId).Append(',')
              .Append(F(r.distanceM)).Append(',')
              .Append(F(r.totalS)).Append(',')
              .Append(F(r.stoppedS)).Append(',')
              .Append(r.nStops).Append(',')
              .Append(Join(r.stopDurationsS)).Append(',')
              .Append(r.stuck ? 1 : 0).Append(',')
              .Append(r.timeout ? 1 : 0).Append(',')
              .Append(F(r.waitAisleS)).Append(',')
              .Append(F(r.maxDecelMps2)).Append(',')
              .Append(F(r.minClearanceM)).Append(',')
              .Append(r.metRobot ? 1 : 0).Append(',')
              .Append(JoinInt(r.tableIds)).Append(',')
              .Append(r.dishes).Append(',')
              .Append(Join(r.dishReadyS)).Append(',')
              .Append(Join(r.dishArrivedS)).Append(',')
              .Append(r.undelivered).Append(',')
              .Append(F(r.speedMps)).Append(',')
              .Append(r.stuckCount).Append(',')
              .Append(F(r.stuckWaitS)).Append(',')
              .Append(r.viaNarrow ? 1 : 0).Append(',')
              .Append(r.stopsInNarrow).Append(',')
              .Append(r.stopsOutNarrow).Append(',')
              .Append(F(r.stoppedInNarrowS)).Append(',')
              .Append(F(r.stoppedOutNarrowS))
              .Append('\n');
        }

        static string Join(float[] values)
        {
            if (values == null || values.Length == 0) return "";
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < values.Length; i++)
            {
                if (i > 0) sb.Append(';');
                sb.Append(F(values[i]));
            }
            return sb.ToString();
        }

        static string JoinInt(int[] values)
        {
            if (values == null || values.Length == 0) return "";
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < values.Length; i++)
            {
                if (i > 0) sb.Append(';');
                sb.Append(values[i]);
            }
            return sb.ToString();
        }

        static string F(float v)
        {
            return v.ToString("0.####", CultureInfo.InvariantCulture);
        }

        // ---------------- groups.csv ----------------

        readonly List<GroupRow> _groups = new List<GroupRow>();
        public int GroupRowCount { get { return _groups.Count; } }
        public void AddGroup(GroupRow r) { _groups.Add(r); }

        /// <summary>table_seats は座った卓の大きさ（2＝2人席・4＝4人席・0＝座れなかった）</summary>
        public const string GroupHeader =
            "condition_id,seed,group_id,size,table_id,table_seats,arrive_s,guide_start_s,seated_s," +
            "eat_end_s,pay_start_s,pay_s,left_s,waited_min,warmup,state";

        public void WriteGroupsCsv(string path)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(GroupHeader).Append('\n');
            for (int i = 0; i < _groups.Count; i++)
            {
                GroupRow r = _groups[i];
                sb.Append(r.conditionId).Append(',').Append(r.seed).Append(',')
                  .Append(r.groupId).Append(',').Append(r.size).Append(',').Append(r.tableId).Append(',')
                  .Append(r.tableSeats).Append(',')
                  .Append(F(r.arriveS)).Append(',').Append(F(r.guideStartS)).Append(',')
                  .Append(F(r.seatedS)).Append(',').Append(F(r.eatEndS)).Append(',')
                  .Append(F(r.payStartS)).Append(',')
                  .Append(F(r.payS)).Append(',').Append(F(r.leftS)).Append(',')
                  .Append(F(r.waitedMin)).Append(',').Append(r.warmup ? 1 : 0).Append(',')
                  .Append(r.state).Append('\n');
            }
            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        // ---------------- people_jams.csv ----------------

        public const string JamHeader =
            "condition_id,seed,t_s,x,z,aisle,people,duration_s,resolved,robot_blocked,robot_id";

        public static void WriteJamsCsv(string path, string conditionId, int seed,
                                        IReadOnlyList<JamWatcher.JamRow> rows)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(JamHeader).Append('\n');
            if (rows != null)
            {
                for (int i = 0; i < rows.Count; i++)
                {
                    JamWatcher.JamRow r = rows[i];
                    sb.Append(conditionId).Append(',').Append(seed).Append(',')
                      .Append(F(r.tS)).Append(',').Append(F(r.x)).Append(',').Append(F(r.z)).Append(',')
                      .Append(r.aisle).Append(',').Append(r.people).Append(',')
                      .Append(F(r.durationS)).Append(',').Append(r.resolved).Append(',')
                      .Append(r.robotBlocked ? 1 : 0).Append(',').Append(r.robotId).Append('\n');
                }
            }
            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        // ---------------- give_ups.csv（B1）----------------

        public const string GiveUpHeader =
            "condition_id,seed,t_s,who,job,table_id,to_x,to_z,x,z,aisle,waited_s,action";

        /// <summary>あきらめた・移した・卓を空けたことを1回1行で書く</summary>
        public static void WriteGiveUpsCsv(string path, string conditionId, int seed,
                                           IReadOnlyList<GiveUpRow> rows)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(GiveUpHeader).Append('\n');
            if (rows != null)
            {
                for (int i = 0; i < rows.Count; i++)
                {
                    GiveUpRow r = rows[i];
                    sb.Append(conditionId).Append(',').Append(seed).Append(',')
                      .Append(F(r.tS)).Append(',').Append(r.who).Append(',').Append(r.job).Append(',')
                      .Append(r.tableId).Append(',')
                      .Append(F(r.toX)).Append(',').Append(F(r.toZ)).Append(',')
                      .Append(F(r.x)).Append(',').Append(F(r.z)).Append(',')
                      .Append(r.aisle).Append(',').Append(F(r.waitedS)).Append(',')
                      .Append(r.action).Append('\n');
                }
            }
            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        // ---------------- contacts.csv（人がロボットに近づきすぎた）----------------

        public const string ContactHeader =
            "condition_id,seed,t_s,x,z,aisle,place,who,careless,robot_id,gap_cm";

        /// <summary>人がロボットの外周の近くまで来た1回を1行で書く</summary>
        public static void WriteContactsCsv(string path, string conditionId, int seed,
                                            IReadOnlyList<ContactRow> rows)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(ContactHeader).Append('\n');
            if (rows != null)
            {
                for (int i = 0; i < rows.Count; i++)
                {
                    ContactRow r = rows[i];
                    sb.Append(conditionId).Append(',').Append(seed).Append(',')
                      .Append(F(r.tS)).Append(',').Append(F(r.x)).Append(',').Append(F(r.z)).Append(',')
                      .Append(r.aisle).Append(',').Append(r.place).Append(',')
                      .Append(r.who).Append(',')
                      .Append(r.careless ? 1 : 0).Append(',').Append(r.robotId).Append(',')
                      .Append(F(r.gapM * 100f)).Append('\n');
                }
            }
            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        // ---------------- dishes.csv（B8）----------------

        public const string RequeueHeader =
            "condition_id,seed,t_s,dish_id,table_id,robot_id,fragile,ready_s,waited_s,requeued_so_far,why";

        /// <summary>届けられずに受け渡し口へ戻した1回を1行で書く</summary>
        public static void WriteRequeuesCsv(string path, string conditionId, int seed,
                                            IReadOnlyList<RequeueRow> rows)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(RequeueHeader).Append('\n');
            if (rows != null)
            {
                for (int i = 0; i < rows.Count; i++)
                {
                    RequeueRow r = rows[i];
                    sb.Append(conditionId).Append(',').Append(seed).Append(',')
                      .Append(F(r.tS)).Append(',').Append(r.dishId).Append(',').Append(r.tableId).Append(',')
                      .Append(r.robotId).Append(',').Append(r.fragile ? 1 : 0).Append(',')
                      .Append(F(r.readyS)).Append(',').Append(F(r.tS - r.readyS)).Append(',')
                      .Append(r.requeuedSoFar).Append(',').Append(r.why).Append('\n');
                }
            }
            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        // ---------------- stops.csv ----------------

        public const string StopHeader =
            "condition_id,seed,robot_id,trip_id,t_s,x,z,aisle,in_narrow,cause,cause_detail,path_blocked," +
            "duration_s,resolved,clearance_left_cm,clearance_right_cm,min_gap_cm," +
            "blocked_s,no_path_s,yield_s,clear_wait_s,replans," +
            // 道が引けない原因を追うための列（記録だけ。動きは変えない）
            "solve_from,solve_to,solve_status,solve_corners,off_mesh_m";

        public void WriteStopsCsv(string path)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(StopHeader).Append('\n');
            for (int i = 0; i < _stops.Count; i++)
            {
                StopRow r = _stops[i];
                sb.Append(r.conditionId).Append(',')
                  .Append(r.seed).Append(',')
                  .Append(r.robotId).Append(',')
                  .Append(r.tripId).Append(',')
                  .Append(F(r.tS)).Append(',')
                  .Append(F(r.x)).Append(',')
                  .Append(F(r.z)).Append(',')
                  .Append(r.aisle).Append(',')
                  .Append(r.inNarrow ? 1 : 0).Append(',')
                  .Append(r.cause).Append(',')
                  .Append(r.causeDetail).Append(',')
                  .Append(r.pathBlocked ? 1 : 0).Append(',')
                  .Append(F(r.durationS)).Append(',')
                  .Append(r.resolved).Append(',')
                  .Append(F(r.clearanceLeftCm)).Append(',')
                  .Append(F(r.clearanceRightCm)).Append(',')
                  .Append(F(r.minGapCm)).Append(',')
                  .Append(F(r.blockedS)).Append(',')
                  .Append(F(r.noPathS)).Append(',')
                  .Append(F(r.yieldS)).Append(',')
                  .Append(F(r.clearWaitS)).Append(',')
                  .Append(r.replans).Append(',')
                  .Append(r.solveFrom).Append(',')
                  .Append(r.solveTo).Append(',')
                  .Append(r.solveStatus).Append(',')
                  .Append(r.solveCorners).Append(',')
                  .Append(F(r.offMeshM))
                  .Append('\n');
            }
            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        // ---------------- run_info.json（1回ぶんの回し方とコマの粗さ）----------------

        /// <summary>1回ぶんの回し方と、コマの粗さの記録</summary>
        public class RunInfo
        {
            public string runLabel = "";
            public string conditionId = "";
            public string timeMode = "";
            public string storeKind = "";
            public string crowd = "";
            public int tripsRequested;
            public int tripsDone;
            public int robots;
            public int seed;
            public float aisleWidthM;

            /// <summary>卓の停止点を通路の中心からずらす距離（m）。.asset に入れた値（C1）</summary>
            public float deliveryOffsetM;

            /// <summary>そのうち、実際に使った分（通路が狭いときは NavMesh に乗る範囲に抑える）</summary>
            public float deliveryOffsetUsedM;

            public float simSeconds;
            public float wallSeconds;
            public float timeScale;
            public float captureDeltaTime;
            public bool stoppedEarly;

            /// <summary>1コマの時間（秒）。Time.deltaTime をそのまま</summary>
            public readonly List<float> frameDeltas = new List<float>();

            /// <summary>1コマでロボットが進んだ距離（m）。台のうちいちばん大きいもの</summary>
            public readonly List<float> robotSteps = new List<float>();

            /// <summary>
            /// 1コマで人が進んだ距離（m）。通路を歩く人のうちいちばん大きいもの（B10）。
            /// スタッフは 1.0 m/秒 なので、1コマ 0.05 秒だと 0.05 m でちょうど境目になる。
            /// </summary>
            public readonly List<float> peopleSteps = new List<float>();

            /// <summary>椅子を引いた回数（B6）</summary>
            public int chairPulls;

            /// <summary>椅子を引いたきっかけごとの回数（B6）</summary>
            public readonly List<KeyValuePair<string, int>> chairPullsByReason =
                new List<KeyValuePair<string, int>>();
        }

        /// <summary>コマの粗さを1行にまとめる（Console 用）</summary>
        public static string FrameStatsText(RunInfo info)
        {
            if (info == null || info.frameDeltas.Count == 0) return "コマの記録なし";
            int over = 0;
            for (int i = 0; i < info.robotSteps.Count; i++) if (info.robotSteps[i] > 0.05f) over++;
            return "コマ " + info.frameDeltas.Count +
                   " / 1コマの時間 中央 " + F(Percentile(info.frameDeltas, 0.5f)) +
                   "s・90% " + F(Percentile(info.frameDeltas, 0.9f)) +
                   "s・最大 " + F(Percentile(info.frameDeltas, 1f)) + "s" +
                   " / 1コマで進む距離 最大 " + F(Percentile(info.robotSteps, 1f)) +
                   "m・90% " + F(Percentile(info.robotSteps, 0.9f)) + "m" +
                   " / 0.05 m を超えたコマ ロボット " + over + "（" +
                   (info.robotSteps.Count > 0 ? (100f * over / info.robotSteps.Count).ToString("0.0") : "0") +
                   "%）・人 " + CountOver(info.peopleSteps, 0.05f) + "（" +
                   (info.peopleSteps.Count > 0
                        ? (100f * CountOver(info.peopleSteps, 0.05f) / info.peopleSteps.Count).ToString("0.0")
                        : "0") + "%）";
        }

        public static void WriteRunInfoJson(string path, RunInfo info)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("{\n");
            sb.Append("  \"run_label\": ").Append(Str(info.runLabel)).Append(",\n");
            sb.Append("  \"written_at\": ").Append(Str(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))).Append(",\n");
            sb.Append("  \"condition_id\": ").Append(Str(info.conditionId)).Append(",\n");
            sb.Append("  \"store_kind\": ").Append(Str(info.storeKind)).Append(",\n");
            sb.Append("  \"time_mode\": ").Append(Str(info.timeMode)).Append(",\n");
            sb.Append("  \"time_scale\": ").Append(F(info.timeScale)).Append(",\n");
            sb.Append("  \"capture_delta_time\": ").Append(F(info.captureDeltaTime)).Append(",\n");
            sb.Append("  \"aisle_width_m\": ").Append(F(info.aisleWidthM)).Append(",\n");
            sb.Append("  \"delivery_offset_m\": ").Append(F(info.deliveryOffsetM)).Append(",\n");
            sb.Append("  \"delivery_offset_used_m\": ").Append(F(info.deliveryOffsetUsedM)).Append(",\n");
            sb.Append("  \"crowd\": ").Append(Str(info.crowd)).Append(",\n");
            sb.Append("  \"robots\": ").Append(info.robots).Append(",\n");
            sb.Append("  \"seed\": ").Append(info.seed).Append(",\n");
            sb.Append("  \"trips_requested\": ").Append(info.tripsRequested).Append(",\n");
            sb.Append("  \"trips_done\": ").Append(info.tripsDone).Append(",\n");
            sb.Append("  \"stopped_early\": ").Append(info.stoppedEarly ? "true" : "false").Append(",\n");
            sb.Append("  \"sim_seconds\": ").Append(F(info.simSeconds)).Append(",\n");
            sb.Append("  \"wall_seconds\": ").Append(F(info.wallSeconds)).Append(",\n");
            sb.Append("  \"speedup\": ").Append(F(info.wallSeconds > 0.01f ? info.simSeconds / info.wallSeconds : 0f)).Append(",\n");

            sb.Append("  \"frame_delta_s\": ");
            AppendStats(sb, info.frameDeltas);
            sb.Append(",\n");

            sb.Append("  \"robot_step_m\": ");
            AppendStats(sb, info.robotSteps);
            sb.Append(",\n");

            sb.Append("  \"people_step_m\": ");
            AppendStats(sb, info.peopleSteps);
            sb.Append(",\n");

            // すり抜けの確かめ（検査3）。ロボットと人を分けて出す
            int over = CountOver(info.robotSteps, 0.05f);
            int overPeople = CountOver(info.peopleSteps, 0.05f);
            sb.Append("  \"frames_over_005m\": ").Append(over).Append(",\n");
            sb.Append("  \"frames_over_005m_ratio\": ")
              .Append(F(info.robotSteps.Count > 0 ? (float)over / info.robotSteps.Count : 0f)).Append(",\n");
            sb.Append("  \"people_frames_over_005m\": ").Append(overPeople).Append(",\n");
            sb.Append("  \"people_frames_over_005m_ratio\": ")
              .Append(F(info.peopleSteps.Count > 0 ? (float)overPeople / info.peopleSteps.Count : 0f)).Append(",\n");

            // 椅子を引いた回数（B6）
            sb.Append("  \"chair_pulls\": ").Append(info.chairPulls).Append(",\n");
            sb.Append("  \"chair_pulls_by_reason\": {");
            for (int i = 0; i < info.chairPullsByReason.Count; i++)
            {
                if (i > 0) sb.Append(", ");
                sb.Append(Str(info.chairPullsByReason[i].Key)).Append(": ")
                  .Append(info.chairPullsByReason[i].Value);
            }
            sb.Append("}\n");
            sb.Append("}\n");

            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        /// <summary>しきい値を超えたコマの数</summary>
        static int CountOver(List<float> values, float limit)
        {
            if (values == null) return 0;
            int n = 0;
            for (int i = 0; i < values.Count; i++) if (values[i] > limit) n++;
            return n;
        }

        static void AppendStats(StringBuilder sb, List<float> values)
        {
            if (values == null || values.Count == 0) { sb.Append("null"); return; }
            float sum = 0f;
            for (int i = 0; i < values.Count; i++) sum += values[i];
            sb.Append("{\"count\": ").Append(values.Count);
            sb.Append(", \"mean\": ").Append(F(sum / values.Count));
            sb.Append(", \"min\": ").Append(F(Percentile(values, 0f)));
            sb.Append(", \"p50\": ").Append(F(Percentile(values, 0.5f)));
            sb.Append(", \"p90\": ").Append(F(Percentile(values, 0.9f)));
            sb.Append(", \"p99\": ").Append(F(Percentile(values, 0.99f)));
            sb.Append(", \"max\": ").Append(F(Percentile(values, 1f)));
            sb.Append("}");
        }

        // ---------------- conditions.json ----------------

        /// <summary>
        /// 18条件の中身と、設定ファイル（.asset）の値すべてを書く。
        /// 値は実行したときのものを JsonUtility でそのまま出す。
        /// </summary>
        public static void WriteConditionsJson(string path, string runName,
                                               StoreLayout layout, RobotSpec robotSpec,
                                               PeopleSpec peopleSpec, ExperimentPlan plan,
                                               List<ExperimentPlan.Condition> conditions)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("{\n");
            sb.Append("  \"run_name\": ").Append(Str(runName)).Append(",\n");
            sb.Append("  \"written_at\": ").Append(Str(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))).Append(",\n");
            sb.Append("  \"unity_version\": ").Append(Str(Application.unityVersion)).Append(",\n");
            sb.Append("  \"trips_csv_columns\": ").Append(Str(Header)).Append(",\n");

            sb.Append("  \"settings\": {\n");
            sb.Append("    \"store_layout\": ").Append(Dump(layout)).Append(",\n");
            sb.Append("    \"robot_spec\": ").Append(Dump(robotSpec)).Append(",\n");
            sb.Append("    \"people_spec\": ").Append(Dump(peopleSpec)).Append(",\n");
            sb.Append("    \"experiment_plan\": ").Append(Dump(plan)).Append("\n");
            sb.Append("  },\n");

            // 組み立てた形から出る値（conditions.json だけ見れば店の大きさが分かるように）
            sb.Append("  \"derived\": {\n");
            if (layout != null)
            {
                StorePlan sp = layout.NewPlan();
                sb.Append("    \"store_kind\": ").Append(Str(layout.StoreKindName)).Append(",\n");
                sb.Append("    \"aisle_width_m\": ").Append(F(layout.AisleWidth)).Append(",\n");
                if (sp != null)
                {
                    sb.Append("    \"floor_min_x\": ").Append(F(sp.floor.xMin)).Append(",\n");
                    sb.Append("    \"floor_max_x\": ").Append(F(sp.floor.xMax)).Append(",\n");
                    sb.Append("    \"floor_min_z\": ").Append(F(sp.floor.zMin)).Append(",\n");
                    sb.Append("    \"floor_max_z\": ").Append(F(sp.floor.zMax)).Append(",\n");
                    sb.Append("    \"outer_size_x_m\": ").Append(F(sp.floor.SizeX)).Append(",\n");
                    sb.Append("    \"outer_size_z_m\": ").Append(F(sp.floor.SizeZ)).Append(",\n");
                    sb.Append("    \"table_count\": ").Append(sp.seats.Count).Append(",\n");
                    sb.Append("    \"aisle_count\": ").Append(sp.aisles.Count).Append(",\n");
                    sb.Append("    \"narrow_aisle_count\": ").Append(sp.NarrowAisleCount).Append("\n");
                }
                else
                {
                    sb.Append("    \"plan\": null\n");
                }
            }
            sb.Append("  },\n");

            sb.Append("  \"conditions\": [\n");
            if (conditions != null)
            {
                for (int i = 0; i < conditions.Count; i++)
                {
                    ExperimentPlan.Condition c = conditions[i];
                    sb.Append("    {");
                    sb.Append("\"condition_id\": ").Append(Str(c.id)).Append(", ");
                    sb.Append("\"aisle_width_m\": ").Append(F(c.aisleWidthM)).Append(", ");
                    sb.Append("\"aisle_width_index\": ").Append(c.aisleWidthIndex).Append(", ");
                    sb.Append("\"crowd\": ").Append(Str(ExperimentPlan.CrowdName(c.crowd))).Append(", ");
                    sb.Append("\"walkers\": ").Append(peopleSpec != null ? peopleSpec.WalkerCount(c.crowd) : 0).Append(", ");
                    sb.Append("\"robots\": ").Append(c.robots).Append(", ");
                    sb.Append("\"trips\": ").Append(plan != null ? plan.tripsPerCondition : 0).Append(", ");
                    sb.Append("\"seeds\": ").Append(IntArray(plan != null ? plan.seeds : null)).Append(", ");
                    sb.Append("\"aisle_yielding\": ").Append(robotSpec != null && robotSpec.aisleYielding ? "true" : "false");
                    sb.Append('}');
                    if (i < conditions.Count - 1) sb.Append(',');
                    sb.Append('\n');
                }
            }
            sb.Append("  ]\n");
            sb.Append("}\n");

            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        static string Dump(ScriptableObject asset)
        {
            if (asset == null) return "null";
            return JsonUtility.ToJson(asset, false);
        }

        static string IntArray(int[] values)
        {
            if (values == null || values.Length == 0) return "[]";
            StringBuilder sb = new StringBuilder("[");
            for (int i = 0; i < values.Length; i++)
            {
                if (i > 0) sb.Append(", ");
                sb.Append(values[i]);
            }
            return sb.Append(']').ToString();
        }

        static string Str(string s)
        {
            if (s == null) return "null";
            StringBuilder sb = new StringBuilder("\"");
            for (int i = 0; i < s.Length; i++)
            {
                char c = s[i];
                if (c == '"' || c == '\\') sb.Append('\\').Append(c);
                else if (c == '\n') sb.Append("\\n");
                else if (c == '\r') sb.Append("\\r");
                else if (c == '\t') sb.Append("\\t");
                else sb.Append(c);
            }
            return sb.Append('"').ToString();
        }

        // ---------------- summary.json ----------------

        /// <summary>条件ごとにまとめる</summary>
        /// <summary>試算（haizen_sim.py）と同じ意味の数字。名前も同じにする</summary>
        public class SimLike
        {
            public List<float> dishWaitMin = new List<float>();
            public List<float> seatWaitMin = new List<float>();
            public List<float> turnMin = new List<float>();
            public float coldMin = 3f;
            public int robotDishes, staffDishes, requeuedDishes, groups;

            /// <summary>あきらめた・移した・卓を空けた回数（B1）</summary>
            public int gaveUp, warped, tableFreed;

            /// <summary>人どうしの詰まりのうち、近くでロボットが止まっていたもの（B9）</summary>
            public int robotBlockedJams;

            /// <summary>人がロボットに近づきすぎた回数・待った回数と秒数・回り道した回数</summary>
            public int robotContacts, robotYieldWaits, robotYieldDetours;
            public float robotYieldWaitSeconds;

            /// <summary>レジの前にいた人数（いちばん多いとき・平均）</summary>
            public int registerCrowdMax;
            public float registerCrowdMean;

            /// <summary>会計の回数と、そのうちスタッフが店員側にいなかった回数（0 になるはず）</summary>
            public int registerPayCount, registerPayNotAtBackCount;

            /// <summary>立つ点から離れて会計した回数（0 になるはず）と、その距離</summary>
            public int registerPayOffSpotCount;
            public float registerPayMeanOffsetM, registerPayMaxOffsetM;

            /// <summary>会計でないスタッフが店員側にいた回数と秒数（どちらも 0 になるはず）</summary>
            public int registerBackIntruderCount;
            public float registerBackIntruderSeconds;

            /// <summary>スタッフの時間の使い方（仕事の名前 → 秒）</summary>
            public readonly List<KeyValuePair<string, float>> staffTime =
                new List<KeyValuePair<string, float>>();

            /// <summary>仕事が板に出てから取られるまでの秒数の平均（仕事の名前 → 秒）</summary>
            public readonly List<KeyValuePair<string, float>> jobWaitMean =
                new List<KeyValuePair<string, float>>();

            /// <summary>届いた料理の、届くまでの内訳（ロボット・スタッフ別に分ける）</summary>
            public readonly List<ServiceOps.DishParts> dishParts = new List<ServiceOps.DishParts>();

            /// <summary>椅子を引いた回数（B6）</summary>
            public int chairPulls;

            /// <summary>ドリンクバー：並んだ回数・あきらめた回数・並んで待った分（B4）</summary>
            public int drinkBarQueued, drinkBarGaveUp;
            public readonly List<float> drinkBarWaitMin = new List<float>();
            public int jamCount; public float jamTotalS;
            public float walkersMean;
            public float measuredMinutes;

            // ---- サイトと同じ名前で出す値（v5 3章・meta.metrics）----
            /// <summary>入店待ちの内訳のもと（分）。分け方はサイトの試算と同じ</summary>
            public readonly List<float> entryWaitMin = new List<float>();
            public readonly List<float> fullWaitMin = new List<float>();
            public readonly List<float> blockedWaitMin = new List<float>();
            public readonly List<float> guideWaitMin = new List<float>();
            public readonly List<float> staffWaitMin = new List<float>();

            /// <summary>walk_km_per_staff・staff_util・robot_util</summary>
            public float walkKmPerStaff, staffUtil, robotUtil;

            /// <summary>rescues：立ち往生でスタッフを呼んだ回数（着いて動かした回数も残す）</summary>
            public int rescues, rescuesDone;
            public float rescueWaitS;

            /// <summary>pauses：一時停止の回数（自分で動き出した止まりの合計）</summary>
            public int pauses;

            /// <summary>サイトの条件で回したか（v5 3章）と、その条件の名前</summary>
            public bool siteRun;
            public string siteConditionId = "";

            /// <summary>
            /// サイトの試算の答え（unity_conditions の site_result）。
            /// 同じ summary.json に入れておけば、並べた表をあとから手で写さずに作れる
            /// </summary>
            public readonly List<KeyValuePair<string, float>> siteResult =
                new List<KeyValuePair<string, float>>();

            /// <summary>来客を受け付けた分と、全員が帰るまでの分（打ち切りなら everyoneLeft が false）</summary>
            public float arrivalsMinutes, totalMinutes;
            public bool everyoneLeft;
        }

        SimLike _sim;
        public void SetSimLike(SimLike s) { _sim = s; }

        public void WriteSummaryJson(string path, string runName)
        {
            // 条件ごとに行を分ける（出てきた順を保つ）
            List<string> order = new List<string>();
            Dictionary<string, List<Row>> byCondition = new Dictionary<string, List<Row>>();
            for (int i = 0; i < _rows.Count; i++)
            {
                string id = _rows[i].conditionId;
                if (!byCondition.ContainsKey(id)) { byCondition[id] = new List<Row>(); order.Add(id); }
                byCondition[id].Add(_rows[i]);
            }

            StringBuilder sb = new StringBuilder();
            sb.Append("{\n");
            sb.Append("  \"run_name\": ").Append(Str(runName)).Append(",\n");
            sb.Append("  \"written_at\": ").Append(Str(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))).Append(",\n");
            sb.Append("  \"note\": ").Append(Str(
                "speed_mps = distance_m / (total_s - stopped_s)。" +
                "stopped_s には、動けなくなった60秒と、スタッフを待った秒数（stuck_wait_s）、" +
                "通路の入口で待った秒数も入る。" +
                "pause_s は stop_durations_s（自分で動き出した止まりだけ）の分布。" +
                "site_metrics はサイトの meta.metrics と同じ名前・同じ定義。" +
                "入店待ちの分け方もサイトの試算と同じで、" +
                "blocked_wait は片付け待ちの卓の数だけ待っている列の前から順に足した分、" +
                "full_wait は seat_wait − blocked_wait、" +
                "staff_wait は blocked_wait + guide_wait。" +
                "pauses と rescues は、サイト側が unity_measures の仮の値から出した数なので出どころが違う。"))
              .Append(",\n");
            if (_sim != null)
            {
                sb.Append("  \"sim_like\": {");
                sb.Append("\"dish_wait_mean\": ").Append(F(Mean(_sim.dishWaitMin))).Append(", ");
                sb.Append("\"dish_wait_p90\": ").Append(F(Percentile(_sim.dishWaitMin, 0.9f))).Append(", ");
                sb.Append("\"cold_share\": ").Append(F(Share(_sim.dishWaitMin, _sim.coldMin))).Append(", ");
                sb.Append("\"seat_wait_mean\": ").Append(F(Mean(_sim.seatWaitMin))).Append(", ");
                sb.Append("\"turn_mean\": ").Append(F(Mean(_sim.turnMin))).Append(", ");
                sb.Append("\"robot_share\": ").Append(F(_sim.robotDishes + _sim.staffDishes > 0
                        ? (float)_sim.robotDishes / (_sim.robotDishes + _sim.staffDishes) : 0f)).Append(", ");
                sb.Append("\"robot_dishes\": ").Append(_sim.robotDishes).Append(", ");
                sb.Append("\"staff_dishes\": ").Append(_sim.staffDishes).Append(", ");
                sb.Append("\"requeued_dishes\": ").Append(_sim.requeuedDishes).Append(", ");
                sb.Append("\"groups\": ").Append(_sim.groups).Append(", ");
                sb.Append("\"people_jams\": ").Append(_sim.jamCount).Append(", ");
                sb.Append("\"robot_blocked_jams\": ").Append(_sim.robotBlockedJams).Append(", ");
                sb.Append("\"robot_blocked_jam_share\": ").Append(F(_sim.jamCount > 0
                        ? (float)_sim.robotBlockedJams / _sim.jamCount : 0f)).Append(", ");
                sb.Append("\"chair_pulls\": ").Append(_sim.chairPulls).Append(", ");
                sb.Append("\"robot_contacts\": ").Append(_sim.robotContacts).Append(", ");
                sb.Append("\"robot_yield_waits\": ").Append(_sim.robotYieldWaits).Append(", ");
                sb.Append("\"robot_yield_wait_s\": ").Append(F(_sim.robotYieldWaitSeconds)).Append(", ");
                sb.Append("\"robot_yield_detours\": ").Append(_sim.robotYieldDetours).Append(", ");
                sb.Append("\"register_crowd_max\": ").Append(_sim.registerCrowdMax).Append(", ");
                sb.Append("\"register_crowd_mean\": ").Append(F(_sim.registerCrowdMean)).Append(", ");
                sb.Append("\"register_pay_count\": ").Append(_sim.registerPayCount).Append(", ");
                sb.Append("\"register_pay_not_at_back\": ").Append(_sim.registerPayNotAtBackCount).Append(", ");
                sb.Append("\"register_pay_off_spot\": ").Append(_sim.registerPayOffSpotCount).Append(", ");
                sb.Append("\"register_pay_offset_mean_m\": ").Append(F(_sim.registerPayMeanOffsetM)).Append(", ");
                sb.Append("\"register_pay_offset_max_m\": ").Append(F(_sim.registerPayMaxOffsetM)).Append(", ");
                sb.Append("\"register_back_intruders\": ").Append(_sim.registerBackIntruderCount).Append(", ");
                sb.Append("\"register_back_intruder_s\": ").Append(F(_sim.registerBackIntruderSeconds)).Append(", ");
                sb.Append("\"drink_bar_queued\": ").Append(_sim.drinkBarQueued).Append(", ");
                sb.Append("\"drink_bar_gave_up\": ").Append(_sim.drinkBarGaveUp).Append(", ");
                sb.Append("\"drink_bar_wait_mean\": ").Append(F(Mean(_sim.drinkBarWaitMin))).Append(", ");
                sb.Append("\"drink_bar_wait_p90\": ").Append(F(Percentile(_sim.drinkBarWaitMin, 0.9f))).Append(", ");
                sb.Append("\"gave_up\": ").Append(_sim.gaveUp).Append(", ");
                sb.Append("\"warped\": ").Append(_sim.warped).Append(", ");
                sb.Append("\"table_freed\": ").Append(_sim.tableFreed).Append(", ");
                sb.Append("\"people_jam_total_s\": ").Append(F(_sim.jamTotalS)).Append(", ");
                sb.Append("\"walkers_mean\": ").Append(F(_sim.walkersMean)).Append(", ");
                sb.Append("\"measured_minutes\": ").Append(F(_sim.measuredMinutes));
                sb.Append("},\n");

                AppendSiteMetrics(sb);

                // スタッフの時間の使い方（割合も出す）
                float staffTotal = 0f;
                for (int i = 0; i < _sim.staffTime.Count; i++) staffTotal += _sim.staffTime[i].Value;
                sb.Append("  \"staff_time_s\": {");
                for (int i = 0; i < _sim.staffTime.Count; i++)
                {
                    if (i > 0) sb.Append(", ");
                    sb.Append(Str(_sim.staffTime[i].Key)).Append(": ").Append(F(_sim.staffTime[i].Value));
                }
                sb.Append("},\n");
                // 料理ができてから届くまでの内訳（受け渡し口で待った／運んでいた／戻されて失った）
                sb.Append("  \"dish_wait_parts\": {");
                AppendDishParts(sb, "robot", true);
                sb.Append(", ");
                AppendDishParts(sb, "staff", false);
                sb.Append(", ");
                AppendDishParts(sb, "all", null);
                sb.Append("},\n");

                sb.Append("  \"job_wait_mean_s\": {");
                for (int i = 0; i < _sim.jobWaitMean.Count; i++)
                {
                    if (i > 0) sb.Append(", ");
                    sb.Append(Str(_sim.jobWaitMean[i].Key)).Append(": ").Append(F(_sim.jobWaitMean[i].Value));
                }
                sb.Append("},\n");
                sb.Append("  \"staff_time_share\": {");
                for (int i = 0; i < _sim.staffTime.Count; i++)
                {
                    if (i > 0) sb.Append(", ");
                    sb.Append(Str(_sim.staffTime[i].Key)).Append(": ")
                      .Append(F(staffTotal > 0.01f ? _sim.staffTime[i].Value / staffTotal : 0f));
                }
                sb.Append("},\n");
            }

            // 止まり全体のまとめ（B7 の前後を並べるため）
            sb.Append("  \"stops\": {");
            sb.Append("\"count\": ").Append(_stops.Count).Append(", ");
            sb.Append("\"stuck_count\": ").Append(StuckStopCount()).Append(", ");
            sb.Append("\"partial_path_count\": ").Append(PartialPathStopCount());
            sb.Append("},\n");

            sb.Append("  \"stop_causes\": [\n");
            AppendCauseSummary(sb);
            sb.Append("  ],\n");

            sb.Append("  \"conditions\": [\n");

            for (int i = 0; i < order.Count; i++)
            {
                List<Row> rows = byCondition[order[i]];
                AppendConditionSummary(sb, order[i], rows);
                if (i < order.Count - 1) sb.Append(',');
                sb.Append('\n');
            }

            sb.Append("  ]\n");
            sb.Append("}\n");
            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        /// <summary>
        /// サイトと同じ名前・同じ定義で出す欄（v5 3章・meta.metrics）。
        /// site_result と並べるときは、この欄だけを見れば足りるようにする。
        ///
        /// 入店待ちの分け方は、サイトの試算（haizen_sim.py）と同じ:
        ///   seat_wait    店に来てから案内が始まるまで
        ///   blocked_wait そのうち、卓は空いたのに片付けが終わらず待った分
        ///                （片付け待ちの卓の数だけ、待っている列の前から順に足す。サイトの _acc と同じ）
        ///   full_wait    seat_wait − blocked_wait
        ///   guide_wait   案内の仕事が板に出てから、スタッフが取るまで
        ///   staff_wait   blocked_wait ＋ guide_wait
        ///   entry_wait   店に来てから卓に着くまで（案内の歩きと guide_s を含む）
        /// </summary>
        void AppendSiteMetrics(StringBuilder sb)
        {
            sb.Append("  \"site_metrics\": {");
            sb.Append("\"entry_wait_mean\": ").Append(F(Mean(_sim.entryWaitMin))).Append(", ");
            sb.Append("\"full_wait_mean\": ").Append(F(Mean(_sim.fullWaitMin))).Append(", ");
            sb.Append("\"staff_wait_mean\": ").Append(F(Mean(_sim.staffWaitMin))).Append(", ");
            sb.Append("\"blocked_wait_mean\": ").Append(F(Mean(_sim.blockedWaitMin))).Append(", ");
            sb.Append("\"guide_wait_mean\": ").Append(F(Mean(_sim.guideWaitMin))).Append(", ");
            sb.Append("\"seat_wait_mean\": ").Append(F(Mean(_sim.seatWaitMin))).Append(", ");
            sb.Append("\"dish_wait_mean\": ").Append(F(Mean(_sim.dishWaitMin))).Append(", ");
            sb.Append("\"dish_wait_p90\": ").Append(F(Percentile(_sim.dishWaitMin, 0.9f))).Append(", ");
            sb.Append("\"cold_share\": ").Append(F(Share(_sim.dishWaitMin, _sim.coldMin))).Append(", ");
            sb.Append("\"turn_mean\": ").Append(F(Mean(_sim.turnMin))).Append(", ");
            sb.Append("\"walk_km_per_staff\": ").Append(F(_sim.walkKmPerStaff)).Append(", ");
            sb.Append("\"staff_util\": ").Append(F(_sim.staffUtil)).Append(", ");
            sb.Append("\"robot_util\": ").Append(F(_sim.robotUtil)).Append(", ");
            sb.Append("\"robot_share\": ").Append(F(_sim.robotDishes + _sim.staffDishes > 0
                    ? (float)_sim.robotDishes / (_sim.robotDishes + _sim.staffDishes) : 0f)).Append(", ");
            sb.Append("\"rescues\": ").Append(_sim.rescues).Append(", ");
            sb.Append("\"pauses\": ").Append(_sim.pauses).Append(", ");
            sb.Append("\"groups\": ").Append(_sim.groups);
            sb.Append("},\n");

            sb.Append("  \"site_run\": {");
            sb.Append("\"site_run\": ").Append(_sim.siteRun ? "true" : "false").Append(", ");
            sb.Append("\"condition_id\": ").Append(Str(_sim.siteConditionId)).Append(", ");
            sb.Append("\"arrivals_minutes\": ").Append(F(_sim.arrivalsMinutes)).Append(", ");
            sb.Append("\"total_minutes\": ").Append(F(_sim.totalMinutes)).Append(", ");
            sb.Append("\"everyone_left\": ").Append(_sim.everyoneLeft ? "true" : "false").Append(", ");
            sb.Append("\"rescues_done\": ").Append(_sim.rescuesDone).Append(", ");
            sb.Append("\"rescue_wait_s\": ").Append(F(_sim.rescueWaitS)).Append(", ");
            // 逃がし弁（0 回に近いことを確かめる。仕組みは消さない）
            sb.Append("\"gave_up\": ").Append(_sim.gaveUp).Append(", ");
            sb.Append("\"warped\": ").Append(_sim.warped).Append(", ");
            sb.Append("\"table_freed\": ").Append(_sim.tableFreed);
            sb.Append("},\n");

            // サイトの試算の答え（並べる表のもと）
            sb.Append("  \"site_result\": {");
            for (int i = 0; i < _sim.siteResult.Count; i++)
            {
                if (i > 0) sb.Append(", ");
                sb.Append(Str(_sim.siteResult[i].Key)).Append(": ").Append(F(_sim.siteResult[i].Value));
            }
            sb.Append("},\n");
        }

        /// <summary>
        /// 原因ごとの回数と秒数の合計。
        /// stuck_count は「動けなくなった」で終わった止まり（止まりの上限に達した回数）。
        /// partial_path_count は「途中までの経路」に縛られて引き直して出た止まり（B7）。
        /// この2つを、停止点を変えた2回で並べれば「椅子が原因で上限に達した回数」の差が出る。
        /// </summary>
        void AppendCauseSummary(StringBuilder sb)
        {
            string stuckLabel = ResolveLabel(ServingRobotController.StopResolve.Stuck);

            List<string> order = new List<string>();
            Dictionary<string, int> count = new Dictionary<string, int>();
            Dictionary<string, float> secs = new Dictionary<string, float>();
            Dictionary<string, float> longest = new Dictionary<string, float>();
            Dictionary<string, int> blocked = new Dictionary<string, int>();
            Dictionary<string, int> stuck = new Dictionary<string, int>();
            Dictionary<string, int> partial = new Dictionary<string, int>();
            Dictionary<string, float> noPath = new Dictionary<string, float>();

            for (int i = 0; i < _stops.Count; i++)
            {
                string c = _stops[i].cause;
                if (!count.ContainsKey(c))
                {
                    order.Add(c); count[c] = 0; secs[c] = 0f; longest[c] = 0f; blocked[c] = 0;
                    stuck[c] = 0; partial[c] = 0; noPath[c] = 0f;
                }
                count[c]++;
                secs[c] += _stops[i].durationS;
                if (_stops[i].durationS > longest[c]) longest[c] = _stops[i].durationS;
                if (_stops[i].pathBlocked) blocked[c]++;
                if (_stops[i].resolved == stuckLabel) stuck[c]++;
                if (HasPartialPathMark(_stops[i].causeDetail)) partial[c]++;
                noPath[c] += _stops[i].noPathS;
            }

            for (int i = 0; i < order.Count; i++)
            {
                string c = order[i];
                sb.Append("    {\"cause\": ").Append(Str(c))
                  .Append(", \"count\": ").Append(count[c])
                  .Append(", \"total_s\": ").Append(F(secs[c]))
                  .Append(", \"mean_s\": ").Append(F(count[c] > 0 ? secs[c] / count[c] : 0f))
                  .Append(", \"longest_s\": ").Append(F(longest[c]))
                  .Append(", \"path_blocked_count\": ").Append(blocked[c])
                  .Append(", \"stuck_count\": ").Append(stuck[c])
                  .Append(", \"partial_path_count\": ").Append(partial[c])
                  .Append(", \"no_path_total_s\": ").Append(F(noPath[c]))
                  .Append('}');
                if (i < order.Count - 1) sb.Append(',');
                sb.Append('\n');
            }
        }

        /// <summary>
        /// 届くまでの内訳を1つぶん書く。byRobot が null なら全部。
        /// 秒は「分」に直して出す（dish_wait_mean と同じ単位にそろえる）。
        /// </summary>
        void AppendDishParts(StringBuilder sb, string name, bool? byRobot)
        {
            int n = 0, requeued = 0;
            float pass = 0f, carry = 0f, requeue = 0f;

            if (_sim != null)
            {
                for (int i = 0; i < _sim.dishParts.Count; i++)
                {
                    ServiceOps.DishParts p = _sim.dishParts[i];
                    if (byRobot.HasValue && p.byRobot != byRobot.Value) continue;
                    n++;
                    pass += p.passWaitS;
                    carry += p.carryS;
                    requeue += p.requeueS;
                    requeued += p.requeued;
                }
            }

            float d = n > 0 ? n : 1f;
            sb.Append(Str(name)).Append(": {");
            sb.Append("\"dishes\": ").Append(n).Append(", ");
            sb.Append("\"pass_wait_mean_min\": ").Append(F(pass / d / 60f)).Append(", ");
            sb.Append("\"carry_mean_min\": ").Append(F(carry / d / 60f)).Append(", ");
            sb.Append("\"requeue_lost_mean_min\": ").Append(F(requeue / d / 60f)).Append(", ");
            sb.Append("\"total_mean_min\": ").Append(F((pass + carry + requeue) / d / 60f)).Append(", ");
            sb.Append("\"requeued_per_dish\": ").Append(F(requeued / d)).Append(", ");
            sb.Append("\"requeued_total\": ").Append(requeued);
            sb.Append("}");
        }

        /// <summary>この止まりが「途中までの経路」に縛られたものか（B7）</summary>
        static bool HasPartialPathMark(string causeDetail)
        {
            return !string.IsNullOrEmpty(causeDetail) &&
                   causeDetail.Contains(ServingRobotController.PartialPathMark);
        }

        /// <summary>「動けなくなった」で終わった止まりの数（止まりの上限に達した回数）</summary>
        int StuckStopCount()
        {
            string label = ResolveLabel(ServingRobotController.StopResolve.Stuck);
            int n = 0;
            for (int i = 0; i < _stops.Count; i++) if (_stops[i].resolved == label) n++;
            return n;
        }

        /// <summary>「途中までの経路」から引き直して出た止まりの数（B7）</summary>
        int PartialPathStopCount()
        {
            int n = 0;
            for (int i = 0; i < _stops.Count; i++) if (HasPartialPathMark(_stops[i].causeDetail)) n++;
            return n;
        }

        static void AppendConditionSummary(StringBuilder sb, string id, List<Row> rows)
        {
            List<float> speeds = new List<float>();
            List<float> stopped = new List<float>();
            List<float> pauses = new List<float>();
            List<float> waits = new List<float>();
            int stuckCount = 0, timeoutCount = 0, pausedCount = 0, metRobotCount = 0;
            float aisleWidth = 0f; int robots = 0; string crowd = "";

            for (int i = 0; i < rows.Count; i++)
            {
                Row r = rows[i];
                aisleWidth = r.aisleWidthM; robots = r.robots; crowd = r.crowd;

                float moving = r.totalS - r.stoppedS;
                if (moving > 0.01f) speeds.Add(r.distanceM / moving);
                stopped.Add(r.stoppedS);
                waits.Add(r.waitAisleS);
                if (r.stopDurationsS != null)
                    for (int k = 0; k < r.stopDurationsS.Length; k++) pauses.Add(r.stopDurationsS[k]);
                if (r.stuck) stuckCount++;
                if (r.timeout) timeoutCount++;
                if (r.nStops >= 1) pausedCount++;
                if (r.metRobot) metRobotCount++;
            }

            int n = rows.Count;
            sb.Append("    {");
            sb.Append("\"condition_id\": ").Append(Str(id)).Append(", ");
            sb.Append("\"aisle_width_m\": ").Append(F(aisleWidth)).Append(", ");
            sb.Append("\"crowd\": ").Append(Str(crowd)).Append(", ");
            sb.Append("\"robots\": ").Append(robots).Append(", ");
            sb.Append("\"trips\": ").Append(n).Append(", ");
            sb.Append("\"robot_speed_mps_median\": ").Append(F(Percentile(speeds, 0.5f))).Append(", ");
            sb.Append("\"stopped_s_median\": ").Append(F(Percentile(stopped, 0.5f))).Append(", ");
            sb.Append("\"stopped_s_p90\": ").Append(F(Percentile(stopped, 0.9f))).Append(", ");
            sb.Append("\"pause_s_median\": ").Append(F(Percentile(pauses, 0.5f))).Append(", ");
            sb.Append("\"pause_s_p90\": ").Append(F(Percentile(pauses, 0.9f))).Append(", ");
            sb.Append("\"pause_count\": ").Append(pauses.Count).Append(", ");
            sb.Append("\"wait_aisle_s_median\": ").Append(F(Percentile(waits, 0.5f))).Append(", ");
            sb.Append("\"stuck_rate\": ").Append(F(n > 0 ? stuckCount / (float)n : 0f)).Append(", ");
            sb.Append("\"stuck_count\": ").Append(stuckCount).Append(", ");
            sb.Append("\"timeout_rate\": ").Append(F(n > 0 ? timeoutCount / (float)n : 0f)).Append(", ");
            sb.Append("\"timeout_count\": ").Append(timeoutCount).Append(", ");
            sb.Append("\"pause_rate\": ").Append(F(n > 0 ? pausedCount / (float)n : 0f)).Append(", ");
            sb.Append("\"met_robot_rate\": ").Append(F(n > 0 ? metRobotCount / (float)n : 0f));
            sb.Append('}');
        }

        static float Mean(List<float> v)
        {
            if (v == null || v.Count == 0) return -1f;
            float s = 0f;
            for (int i = 0; i < v.Count; i++) s += v[i];
            return s / v.Count;
        }

        static float Share(List<float> v, float over)
        {
            if (v == null || v.Count == 0) return -1f;
            int n = 0;
            for (int i = 0; i < v.Count; i++) if (v[i] > over) n++;
            return (float)n / v.Count;
        }

        /// <summary>小さい順に並べて p の位置の値を返す（0〜1）。空なら -1</summary>
        public static float Percentile(List<float> values, float p)
        {
            if (values == null || values.Count == 0) return -1f;
            List<float> v = new List<float>(values);
            v.Sort();
            if (v.Count == 1) return v[0];
            float pos = Mathf.Clamp01(p) * (v.Count - 1);
            int lo = Mathf.FloorToInt(pos);
            int hi = Mathf.Min(lo + 1, v.Count - 1);
            float t = pos - lo;
            return Mathf.Lerp(v[lo], v[hi], t);
        }
    }
}
```

### Assets/ServiceSim/Store/JsonStoreLayout.cs

```csharp
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using UnityEngine;

namespace ServiceSim
{
    /// <summary>
    /// サイトが書き出した「店の形の JSON」を読んで店を建てる StoreLayout。
    ///
    /// 2026-10-22 にエイイチと決めた「何について正か」（unity_design_v0.md の 0 章）:
    ///   店の形（卓・壁・部屋・止まる位置）は **サイトが正**。Unity は形を作らない。
    /// なので、このクラスは JSON を StorePlan に写すだけで、足りないものを自分で埋めない。
    /// 合わないものが出たら、埋めずに報告へ書いて **建てずに止める**（Compose が null を返す）。
    ///
    /// 読むもの:
    ///   layoutJson   https://pixelstomotors.com/sim/layouts/unity/{名前}.json を写したもの
    ///   summaryJson  https://pixelstomotors.com/sim/layouts/summary.json を写したもの
    /// 版の番号（meta.generation）が summary.json と違ったら建てない。
    ///
    /// 座標: JSON の x → Unity の X、JSON の y → Unity の Z、高さ → Y。単位は m。
    ///       原点は店の外壁の内側の左下の角。
    /// </summary>
    [CreateAssetMenu(fileName = "StoreLayout_Json", menuName = "ServiceSim/Json Store Layout", order = 12)]
    public class JsonStoreLayout : StoreLayout
    {
        [Header("読む JSON（サイトから写したもの）")]
        [Tooltip("店の形の JSON（unity/{名前}.json）")]
        public TextAsset layoutJson;

        [Tooltip("一覧の JSON（summary.json）。版の番号を突き合わせる")]
        public TextAsset summaryJson;

        [Tooltip("summary.json の file と突き合わせる名前（例 p1_efficient_corner）")]
        public string layoutFileName = "";

        [Header("写した記録（報告に出す）")]
        [Tooltip("サイトから写した日時")]
        public string fetchedAt = "";

        [Tooltip("写し元の URL")]
        public string sourceUrl = "";

        [Header("見た目だけ（当たりも NavMesh も持たない）")]
        [Tooltip("背もたれの板の厚み（m）。机と反対側のふちに立てる。0 で出さない")]
        public float benchBackThickness = 0.08f;

        [Tooltip("座面の見た目を、ベンチのふちから内側へ詰める長さ（m）。0 でふちまで")]
        public float benchSeatInset = 0f;

        // ---- 建てたときの覚え書き（報告に出す。Compose のたびに作り直す）----
        readonly List<string> _problems = new List<string>();
        readonly List<string> _doors = new List<string>();
        string _generation = "";
        string _storeName = "";
        float _jsonNarrowWidth = 0f;
        float _normalWidth = 0f;
        int _tableCount, _seatCount, _narrowAisleCount, _chairCount, _spotCount, _seatPointCount;
        int _roomCount, _placeCount, _wallCount, _dividerCount;
        int _walkableRoomCount, _staffOnlyRoomCount;
        int _routeFromPass, _routeBetween;

        public override string StoreKindName
        {
            get { return "JsonStoreLayout(" + (string.IsNullOrEmpty(layoutFileName) ? "?" : layoutFileName) + ")"; }
        }

        /// <summary>この JSON の版の番号（meta.generation）。建てたあとに読める</summary>
        public string Generation { get { return _generation; } }

        /// <summary>
        /// 版の番号を、建てる前でも読む（試算の値と突き合わせるのに使う）。
        /// 建てたあとは Compose が読んだものを返す。
        /// </summary>
        public string ReadGeneration()
        {
            if (!string.IsNullOrEmpty(_generation)) return _generation;
            if (layoutJson == null) return "";
            string err;
            JsonValue root = JsonValue.Parse(layoutJson.text, out err);
            return root != null && root.IsObject ? root["meta"]["generation"].S("") : "";
        }

        /// <summary>建てた卓の数（JSON の tables の数）</summary>
        public int TableCount { get { return _tableCount; } }

        /// <summary>
        /// サイトの決まりの「ふだん走らせる道の幅」（meta.settings.normal_width, m）。
        /// これ未満の幅の通路が「狭い通路」。0 なら JSON に無い
        /// </summary>
        public float NormalWidth { get { return _normalWidth; } }

        /// <summary>
        /// 試算の値（serving-robot-params.json）の stores の名前（fam_p1 / fam_p5）。
        /// layoutFileName（p1_efficient_corner / p5_crammed）の頭の "p1" "p5" から作る。
        /// 合っているかは SimParams.Store() が null かどうかで分かる。
        /// </summary>
        public string ParamsStoreKey
        {
            get
            {
                if (string.IsNullOrEmpty(layoutFileName)) return "";
                int cut = layoutFileName.IndexOf('_');
                string head = cut > 0 ? layoutFileName.Substring(0, cut) : layoutFileName;
                return "fam_" + head;
            }
        }

        /// <summary>
        /// Build Store が store_report と Console に出す欄。
        /// JSON から建てたときは、版の番号・写した日時・数えたもの・合わなかったものをここに出す。
        /// </summary>
        public override string FrontFitReport()
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("JSON から建てた店（Unity では形を作っていない）");
            sb.AppendLine("  ファイル: " + (layoutJson != null ? layoutJson.name : "（未設定）") +
                          " / 名前: " + _storeName);
            sb.AppendLine("  版の番号 (meta.generation): " + _generation);
            sb.AppendLine("  写した日時: " + (string.IsNullOrEmpty(fetchedAt) ? "（未記入）" : fetchedAt));
            sb.AppendLine("  写し元: " + (string.IsNullOrEmpty(sourceUrl) ? "（未記入）" : sourceUrl));
            sb.AppendLine("  卓 " + _tableCount + " / 席 " + _seatCount +
                          " / 細い通路 " + _narrowAisleCount + " 本（幅 " + F(_jsonNarrowWidth) + " m）");
            sb.AppendLine("  通れない部屋 " + _roomCount +
                          " / 通れる部屋 " + _walkableRoomCount +
                          "（うちスタッフだけ " + _staffOnlyRoomCount + "）");
            sb.AppendLine("  場所の点 " + _placeCount +
                          " / 壁 " + _wallCount + " / 仕切り " + _dividerCount +
                          " / 椅子 " + _chairCount +
                          " / 席に着く点 " + _spotCount + " / 座る位置 " + _seatPointCount);
            sb.AppendLine("  道順 (routes): 受け渡し口から " + _routeFromPass + " 本 / 卓から卓 " +
                          _routeBetween + " 本"
                          + "（狭い道を使うかは routes の use が正。Unity では印を持たない）");
            sb.AppendLine("  doors: " + (_doors.Count == 0
                ? "0（壁の切れ目として、もう空いている）"
                : _doors.Count + " → " + string.Join(" / ", _doors.ToArray())));
            sb.AppendLine("  refuges（よけ場所）: 0（JSON にまだ無い。空のまま）");
            sb.AppendLine("  止まる位置は JSON の stop をそのまま使う"
                          + "（deliveryOffsetFromAisleCenter と aisleEntranceSetback は使わない）");
            if (_problems.Count == 0) sb.AppendLine("  合わないもの: なし");
            else
            {
                sb.AppendLine("  合わないもの: " + _problems.Count + " 件（建てていない）");
                for (int i = 0; i < _problems.Count; i++) sb.AppendLine("    - " + _problems[i]);
            }
            return sb.ToString().TrimEnd();
        }

        protected override StorePlan Compose()
        {
            _problems.Clear();
            _doors.Clear();
            _generation = ""; _storeName = ""; _jsonNarrowWidth = 0f; _normalWidth = 0f;
            _tableCount = _seatCount = _narrowAisleCount = _chairCount = 0;
            _spotCount = _seatPointCount = _roomCount = _placeCount = _wallCount = _dividerCount = 0;
            _walkableRoomCount = _staffOnlyRoomCount = 0;
            _routeFromPass = _routeBetween = 0;

            if (layoutJson == null)
            {
                Fail("店の形の JSON（layoutJson）が入っていません");
                return null;
            }

            string err;
            JsonValue root = JsonValue.Parse(layoutJson.text, out err);
            if (root == null || !root.IsObject)
            {
                Fail("店の形の JSON を読めません: " + err);
                return null;
            }

            JsonValue meta = root["meta"];
            _generation = meta["generation"].S("");
            _storeName = root["name"].S("");

            // サイトの決まりの「ふだん走らせる道の幅」（meta.settings.normal_width）。
            // これ未満の通路が「狭い通路」。往復ごとの測りを中と外で分けるのに使う（v5 3章）
            _normalWidth = meta["settings"]["normal_width"].F(0f);

            if (!CheckGeneration()) return null;

            // ---- 高さ（JSON の meta.heights。Unity 側では決めない）----
            JsonValue heights = meta["heights"];
            float hWall = Req(heights, "wall", "meta.heights.wall");
            float hTable = Req(heights, "table", "meta.heights.table");
            float hBench = Req(heights, "bench", "meta.heights.bench");
            float hBenchSeat = Req(heights, "bench_seat", "meta.heights.bench_seat");
            float hChair = Req(heights, "chair", "meta.heights.chair");
            float hCounter = Req(heights, "counter", "meta.heights.counter");
            float hPartition = heights["partition"].F(1.2f);   // これ以下の walls は仕切り


            StorePlan plan = new StorePlan();

            // ---- 床 ----
            JsonValue floor = root["floor"];
            for (int i = 0; i < floor.Count; i++)
            {
                PlanRect r;
                if (TryRect(floor[i], "floor[" + i + "]", out r)) plan.AddFloor(r);
            }
            if (plan.floorPieces.Count == 0) Fail("floor が空です");

            // ---- 外壁 ----
            JsonValue outerWalls = root["outer_walls"];
            for (int i = 0; i < outerWalls.Count; i++)
            {
                PlanRect r;
                if (!TryRect(outerWalls[i], "outer_walls[" + i + "]", out r)) continue;
                plan.AddBox("OuterWall" + i.ToString("00"), BoxStyle.Wall, r, hWall);
                _wallCount++;
            }

            // ---- 中の壁・仕切り（高さで分ける）----
            JsonValue walls = root["walls"];
            for (int i = 0; i < walls.Count; i++)
            {
                JsonValue w = walls[i];
                PlanRect r;
                if (!TryRect(w["rect"], "walls[" + i + "].rect", out r)) continue;
                float h = w["height"].F(hWall);
                bool divider = h <= hPartition + 0.0005f;
                string label = w["label"].S("Wall" + i.ToString("00"));
                plan.AddBox(Safe(label) + i.ToString("00"),
                            divider ? BoxStyle.Divider : BoxStyle.Wall, r, h);
                if (divider) _dividerCount++; else _wallCount++;
            }

            // ---- 場所の点（先に入れる。PointOf がこちらを先に拾うように）----
            Dictionary<PlaceKind, Vector3> firstPoint = new Dictionary<PlaceKind, Vector3>();
            JsonValue places = root["places"];
            for (int i = 0; i < places.Count; i++)
            {
                JsonValue p = places[i];
                string kindName = p["kind"].S("");
                PlaceKind kind;
                if (!TryParseKind(kindName, out kind))
                {
                    Fail("places[" + i + "]: PlaceKind に無い kind \"" + kindName + "\"");
                    continue;
                }
                Vector3 point;
                if (!TryPoint(p["point"], "places[" + i + "].point", out point)) continue;

                PlanRect rect;
                if (!p.Has("rect") || !TryRect(p["rect"], "places[" + i + "].rect", out rect))
                    rect = new PlanRect(0f, 0f, 0f, 0f);

                // 箱は置かない（通れない箱は rooms が持つ）。ここは点だけ。
                plan.AddPlace(kind, Safe(p["label"].S(kindName)) + i.ToString("00"), rect, 0f, point, false);
                if (!firstPoint.ContainsKey(kind)) firstPoint[kind] = point;
                _placeCount++;
            }

            // ---- 部屋（通れない箱）----
            JsonValue rooms = root["rooms"];
            for (int i = 0; i < rooms.Count; i++)
            {
                JsonValue rm = rooms[i];
                string label = rm["label"].S("");
                PlaceKind kind;
                if (!TryRoomKind(label, out kind))
                {
                    Fail("rooms[" + i + "]: PlaceKind に対応の無いラベル \"" + label + "\"");
                    continue;
                }
                PlanRect r;
                if (!TryRect(rm["rect"], "rooms[" + i + "].rect", out r)) continue;

                bool walkable = rm["walkable"].B(false);
                bool staffOnly = rm["staff_only"].B(false);

                // スタッフだけが入れる区画は、いまの作りでは「レジの内側」だけ
                // （NavMeshBaker.AddRegisterBackArea が PlaceKind.RegisterBack の rect を見て
                //   区画の番号を変え、客の NavMeshAgent がその区画を外して歩く）。
                // ほかの部屋に staff_only が付いたら、こちらで作らずに報告して止める。
                if (staffOnly && kind != PlaceKind.RegisterBack)
                {
                    Fail("rooms[" + i + "] \"" + label + "\": staff_only は今の作りでは" +
                         "レジの内側（RegisterBack）だけです");
                    continue;
                }

                if (walkable)
                {
                    // 通れない箱にしない（人が入る部屋）。場所の点だけ置く。
                    // 同じ種類の点が places にあれば、そちらが区画の広がりも持っているので足さない。
                    if (!firstPoint.ContainsKey(kind))
                    {
                        plan.AddPlace(kind, Safe(label) + "_Room" + i.ToString("00"), r, 0f, r.Center, false);
                        firstPoint[kind] = r.Center;
                    }
                    _walkableRoomCount++;
                    if (staffOnly) _staffOnlyRoomCount++;
                    continue;
                }

                // レジとドリンクバーはカウンターの高さ、それ以外は壁の高さ
                float h = (kind == PlaceKind.Register || kind == PlaceKind.DrinkBar) ? hCounter : hWall;

                // 点は、同じ種類の場所の点（JSON が決めた立ち位置）に合わせる。無ければ真ん中
                Vector3 point;
                if (!firstPoint.TryGetValue(kind, out point)) point = r.Center;

                plan.AddPlace(kind, Safe(label) + "_Room" + i.ToString("00"), r, h, point, true);
                _roomCount++;
            }

            // ---- 細い通路 ----
            Dictionary<string, int> aisleIndexById = new Dictionary<string, int>();
            JsonValue aisles = root["aisles"];
            for (int i = 0; i < aisles.Count; i++)
            {
                JsonValue a = aisles[i];
                PlanRect r;
                if (!TryRect(a["rect"], "aisles[" + i + "].rect", out r)) continue;
                Vector3 entrance;
                if (!TryPoint(a["entrance"], "aisles[" + i + "].entrance", out entrance)) continue;
                string id = a["id"].S("A" + (i + 1).ToString("00"));
                bool narrow = a["narrow"].B(true);
                aisleIndexById[id] = plan.aisles.Count;
                plan.AddAisle(id, r, narrow, entrance);
                float aw = a["width"].F(0f);
                if (narrow)
                {
                    _narrowAisleCount++;
                    if (_jsonNarrowWidth <= 0f) _jsonNarrowWidth = aw;
                    else if (Mathf.Abs(_jsonNarrowWidth - aw) > 0.0005f)
                        Fail("細い通路の幅がそろっていません: " + F(_jsonNarrowWidth) + " と " + F(aw));
                }
            }

            // ---- 卓 ----
            JsonValue tables = root["tables"];
            for (int i = 0; i < tables.Count; i++)
            {
                ComposeTable(plan, tables[i], i, aisleIndexById,
                             hTable, hBench, hBenchSeat, hChair);
            }
            _tableCount = plan.seats.Count;

            // ---- ロボットの道順（v5b。サイトが決めた曲がり角の点）----
            plan.routes = ReadRoutes(root["routes"]);

            // ---- doors（箱は置かない。報告に一覧だけ出す）----
            JsonValue doors = root["doors"];
            for (int i = 0; i < doors.Count; i++)
            {
                JsonValue d = doors[i];
                string label = d["label"].S(d["id"].S("door" + i));
                PlanRect r;
                string where = TryRect(d["rect"], "doors[" + i + "].rect", out r) ? r.ToString() : "（rect なし）";
                _doors.Add(label + " " + where);
            }

            // ---- 細い通路の幅が .asset の値と合っているか ----
            if (_jsonNarrowWidth > 0f && Mathf.Abs(AisleWidth - _jsonNarrowWidth) > 0.0005f)
            {
                Fail("細い通路の幅が .asset と JSON で違います: .asset " + F(AisleWidth) +
                     " m / JSON " + F(_jsonNarrowWidth) + " m" +
                     "（aisleWidthOptions を JSON の幅だけにしてください）");
            }

            if (_problems.Count > 0)
            {
                Debug.LogError("[ServiceSim] " + name + ": JSON と合わないものが " + _problems.Count +
                               " 件あるので建てませんでした。\n" + FrontFitReport());
                return null;
            }

            return plan;
        }

        /// <summary>
        /// routes を読む（v5b）。from_pass["T05"] と between["T05|T12"]。
        /// 点は [x, y] で、JSON の y → Unity の Z。
        /// </summary>
        RouteBook ReadRoutes(JsonValue routes)
        {
            if (!routes.IsObject)
            {
                Fail("routes がありません（v5b の版の JSON を写してください）");
                return null;
            }
            RouteBook book = new RouteBook();

            JsonValue fromPass = routes["from_pass"];
            foreach (string id in fromPass.Keys)
            {
                RouteBook.Route r = ReadRoute(fromPass[id], "routes.from_pass[" + id + "]");
                if (r != null) book.AddFromPass(NumberFromId(id, -1), r);
            }

            JsonValue between = routes["between"];
            foreach (string key in between.Keys)
            {
                int bar = key.IndexOf('|');
                if (bar <= 0)
                {
                    Fail("routes.between のキーが \"T01|T02\" の形ではありません: " + key);
                    continue;
                }
                RouteBook.Route r = ReadRoute(between[key], "routes.between[" + key + "]");
                if (r != null)
                    book.AddBetween(NumberFromId(key.Substring(0, bar), -1),
                                    NumberFromId(key.Substring(bar + 1), -1), r);
            }

            _routeFromPass = book.FromPassCount;
            _routeBetween = book.BetweenCount;
            if (_routeFromPass == 0) Fail("routes.from_pass が空です");
            return book;
        }

        RouteBook.Route ReadRoute(JsonValue v, string where)
        {
            JsonValue pts = v["points"];
            if (pts.Count < 2)
            {
                Fail(where + ": points が 2 点未満です");
                return null;
            }
            RouteBook.Route r = new RouteBook.Route();
            for (int i = 0; i < pts.Count; i++)
            {
                Vector3 p;
                if (!TryPoint(pts[i], where + ".points[" + i + "]", out p)) return null;
                r.points.Add(p);
            }
            r.use = v["use"].S("normal");
            r.width = v["width"].F(0f);
            r.length = v["length"].F(r.PolylineLength);
            if (r.use != "normal" && r.use != "narrow")
            {
                Fail(where + ": use が normal / narrow ではありません（" + r.use + "）");
                return null;
            }
            return r;
        }

        // ---------------- 卓 ----------------

        void ComposeTable(StorePlan plan, JsonValue t, int index,
                          Dictionary<string, int> aisleIndexById,
                          float hTable, float hBench, float hBenchSeat, float hChair)
        {
            string id = t["id"].S("T" + (index + 1).ToString("00"));
            string where = "tables[" + index + "] " + id;

            SeatKind kind;
            string type = t["type"].S("");
            if (!TryTableKind(type, out kind))
            {
                Fail(where + ": SeatKind に対応の無い type \"" + type + "\"");
                return;
            }

            JsonValue parts = t["parts"];
            PlanRect top;
            if (!TryRect(parts["top"], where + ".parts.top", out top)) return;

            Vector3 stop;
            if (!TryPoint(t["stop"], where + ".stop", out stop)) return;

            PlanSeat seat = new PlanSeat();
            seat.tableId = NumberFromId(id, index + 1);
            seat.kind = kind;
            seat.tableRect = top;
            seat.tableHeight = hTable;
            seat.seatCount = t["seats"].I(0);
            seat.deliveryPoint = stop;             // JSON の stop をそのまま（ずらさない）

            // 通る細い通路
            string aisleId = t["aisle"].S(null);
            if (string.IsNullOrEmpty(aisleId)) seat.aisleIndex = -1;
            else
            {
                int ai;
                if (aisleIndexById.TryGetValue(aisleId, out ai)) seat.aisleIndex = ai;
                else { Fail(where + ": aisles に無い通路 \"" + aisleId + "\""); return; }
            }

            // 天板
            plan.AddBox(id + "_Top", BoxStyle.Table, top, hTable);

            // ベンチ。当たりの箱はこれまでと同じ大きさ・位置・高さのまま、見た目を持たない。
            // 見た目は、当たりなしの座面と背もたれで作る（本物に近い形にするため）
            JsonValue benches = parts["benches"];
            for (int b = 0; b < benches.Count; b++)
            {
                PlanRect r;
                if (!TryRect(benches[b], where + ".parts.benches[" + b + "]", out r)) continue;
                plan.AddBox(id + "_Bench" + (b + 1), BoxStyle.BenchBody, r, hBench);
                AddBenchLook(plan, id + "_Bench" + (b + 1), r, top, hBench, hBenchSeat);
            }

            // 椅子
            JsonValue chairs = parts["chairs"];
            for (int c = 0; c < chairs.Count; c++)
            {
                JsonValue ch = chairs[c];
                PlanRect r;
                if (!TryRect(ch["rect"], where + ".parts.chairs[" + c + "].rect", out r)) continue;
                PlanChair chair = new PlanChair();
                chair.rect = r;
                chair.height = hChair;
                chair.pullable = ch["pullable"].B(false);
                JsonValue dir = ch["pull_dir"];
                chair.pullDirection = new Vector3(dir[0].F(0f), 0f, dir[1].F(0f));
                if (chair.pullDirection.sqrMagnitude > 0.000001f)
                    chair.pullDirection = chair.pullDirection.normalized;
                seat.chairs.Add(chair);
                _chairCount++;
            }

            // 座る位置
            JsonValue sp = parts["seat_points"];
            for (int s = 0; s < sp.Count; s++)
            {
                Vector3 p;
                if (!TryPoint(sp[s], where + ".parts.seat_points[" + s + "]", out p)) continue;
                seat.seatPoints.Add(p);
                _seatPointCount++;
            }

            // 席に着くために立つ点
            JsonValue spots = t["spots"];
            for (int s = 0; s < spots.Count; s++)
            {
                Vector3 p;
                if (!TryPoint(spots[s]["point"], where + ".spots[" + s + "].point", out p)) continue;
                seat.spots.Add(new PlanSeatSpot(spots[s]["side"].S("spot" + (s + 1)), p));
                _spotCount++;
            }

            plan.seats.Add(seat);
            _seatCount += seat.seatCount;
        }

        /// <summary>
        /// ベンチの見た目（当たりなし）。座面と背もたれを、ベンチの箱の中に重ならないように置く。
        ///   背もたれ … 机と反対側のふちに、厚さ benchBackThickness・高さ benchHeight（1.1 m）
        ///   座面     … 背もたれの板を除いた残り、高さ seatHeight（0.45 m）
        /// どちらも当たりを持たないので、NavMesh・前のセンサー・左右の空きの測りには効かない。
        /// </summary>
        void AddBenchLook(StorePlan plan, string name, PlanRect bench, PlanRect table,
                          float benchHeight, float seatHeight)
        {
            float back = Mathf.Max(0f, benchBackThickness);
            PlanRect seatRect = bench;

            if (back > 0.0005f)
            {
                // 机から遠い側のふちを選ぶ。長い向きではなく、机との位置関係で決める
                float dx = bench.CenterX - table.CenterX;
                float dz = bench.CenterZ - table.CenterZ;
                bool alongZ = Mathf.Abs(dz) >= Mathf.Abs(dx);   // 机の南北にあるベンチか

                if (alongZ && bench.SizeZ > back + 0.01f)
                {
                    if (dz >= 0f)   // ベンチは机の北 → 背もたれは北のふち
                    {
                        plan.AddBox(name + "_Back", BoxStyle.BenchBack,
                            new PlanRect(bench.xMin, bench.zMax - back, bench.xMax, bench.zMax), benchHeight);
                        seatRect = new PlanRect(bench.xMin, bench.zMin, bench.xMax, bench.zMax - back);
                    }
                    else
                    {
                        plan.AddBox(name + "_Back", BoxStyle.BenchBack,
                            new PlanRect(bench.xMin, bench.zMin, bench.xMax, bench.zMin + back), benchHeight);
                        seatRect = new PlanRect(bench.xMin, bench.zMin + back, bench.xMax, bench.zMax);
                    }
                }
                else if (!alongZ && bench.SizeX > back + 0.01f)
                {
                    if (dx >= 0f)   // ベンチは机の東 → 背もたれは東のふち
                    {
                        plan.AddBox(name + "_Back", BoxStyle.BenchBack,
                            new PlanRect(bench.xMax - back, bench.zMin, bench.xMax, bench.zMax), benchHeight);
                        seatRect = new PlanRect(bench.xMin, bench.zMin, bench.xMax - back, bench.zMax);
                    }
                    else
                    {
                        plan.AddBox(name + "_Back", BoxStyle.BenchBack,
                            new PlanRect(bench.xMin, bench.zMin, bench.xMin + back, bench.zMax), benchHeight);
                        seatRect = new PlanRect(bench.xMin + back, bench.zMin, bench.xMax, bench.zMax);
                    }
                }
            }

            float m = Mathf.Max(0f, benchSeatInset);
            PlanRect r = new PlanRect(seatRect.xMin + m, seatRect.zMin + m,
                                      seatRect.xMax - m, seatRect.zMax - m);
            if (!r.IsEmpty && seatHeight > 0.0005f)
                plan.AddBox(name + "_Seat", BoxStyle.BenchSeat, r, seatHeight);
        }

        // ---------------- 小さな道具 ----------------

        bool CheckGeneration()
        {
            if (string.IsNullOrEmpty(_generation))
            {
                Fail("meta.generation がありません");
                return false;
            }
            if (summaryJson == null)
            {
                Fail("summary.json（summaryJson）が入っていません。版の番号を突き合わせられません");
                return false;
            }
            string err;
            JsonValue sum = JsonValue.Parse(summaryJson.text, out err);
            if (sum == null || !sum.IsArray)
            {
                Fail("summary.json を読めません: " + err);
                return false;
            }
            string key = string.IsNullOrEmpty(layoutFileName)
                ? (layoutJson != null ? layoutJson.name : "")
                : layoutFileName;
            for (int i = 0; i < sum.Count; i++)
            {
                if (sum[i]["file"].S("") != key) continue;
                string g = sum[i]["generation"].S("");
                if (g != _generation)
                {
                    Fail("版の番号が summary.json と違います: この JSON " + _generation +
                         " / summary.json " + g + "（写し直してください）");
                    return false;
                }
                return true;
            }
            Fail("summary.json に \"" + key + "\" がありません（layoutFileName を確かめてください）");
            return false;
        }

        float Req(JsonValue obj, string key, string where)
        {
            JsonValue v = obj[key];
            if (v.kind != JsonValue.Kind.Number)
            {
                Fail(where + " がありません");
                return 0f;
            }
            return v.F(0f);
        }

        bool TryRect(JsonValue v, string where, out PlanRect rect)
        {
            rect = new PlanRect(0f, 0f, 0f, 0f);
            if (v.Count < 4)
            {
                Fail(where + " が [x0, y0, x1, y1] ではありません");
                return false;
            }
            rect = new PlanRect(v[0].F(0f), v[1].F(0f), v[2].F(0f), v[3].F(0f));
            return true;
        }

        bool TryPoint(JsonValue v, string where, out Vector3 p)
        {
            p = Vector3.zero;
            if (v.Count < 2)
            {
                Fail(where + " が [x, y] ではありません");
                return false;
            }
            p = new Vector3(v[0].F(0f), 0f, v[1].F(0f));
            return true;
        }

        static bool TryParseKind(string s, out PlaceKind kind)
        {
            kind = PlaceKind.Kitchen;
            if (string.IsNullOrEmpty(s)) return false;
            try
            {
                kind = (PlaceKind)Enum.Parse(typeof(PlaceKind), s, false);
                return true;
            }
            catch (Exception) { return false; }
        }

        /// <summary>部屋のラベルを PlaceKind に直す（依頼の対応表どおり）</summary>
        static bool TryRoomKind(string label, out PlaceKind kind)
        {
            kind = PlaceKind.Kitchen;
            if (string.IsNullOrEmpty(label)) return false;
            switch (label)
            {
                case "パントリー": kind = PlaceKind.Pantry; return true;
                case "キッチン": kind = PlaceKind.Kitchen; return true;
                case "冷蔵・冷凍・保存": kind = PlaceKind.Kitchen; return true;
                case "洗い場": kind = PlaceKind.Kitchen; return true;
                case "更衣室・社員トイレ": kind = PlaceKind.Office; return true;
                case "トイレ": kind = PlaceKind.Toilet; return true;
                case "待合": kind = PlaceKind.Waiting; return true;
                case "レジ": kind = PlaceKind.Register; return true;
                case "レジ内": kind = PlaceKind.RegisterBack; return true;
                case "ドリンクバー": kind = PlaceKind.DrinkBar; return true;
            }
            return false;
        }

        static bool TryTableKind(string type, out SeatKind kind)
        {
            kind = SeatKind.WallBooth;
            switch (type)
            {
                case "booth": kind = SeatKind.WallBooth; return true;
                case "t2": kind = SeatKind.WallTable; return true;
                case "booth6L": kind = SeatKind.LargeTable; return true;
            }
            return false;
        }

        static int NumberFromId(string id, int fallback)
        {
            if (string.IsNullOrEmpty(id)) return fallback;
            int n = 0; bool any = false;
            for (int i = 0; i < id.Length; i++)
            {
                char c = id[i];
                if (c < '0' || c > '9') continue;
                n = n * 10 + (c - '0');
                any = true;
            }
            return any ? n : fallback;
        }

        /// <summary>GameObject の名前に使える形にする（/ は階層になってしまう）</summary>
        static string Safe(string s)
        {
            if (string.IsNullOrEmpty(s)) return "x";
            return s.Replace('/', '_').Replace('\\', '_');
        }

        void Fail(string message)
        {
            _problems.Add(message);
        }

        static string F(float v)
        {
            return v.ToString("0.##", CultureInfo.InvariantCulture);
        }
    }
}
```

### Assets/ServiceSim/Store/StoreBuilder.cs

```csharp
using System;
using System.Collections.Generic;
using UnityEngine;

namespace ServiceSim
{
    /// <summary>
    /// StoreLayout が作った部品の一覧（StorePlan）を見て、床・壁・卓・椅子・ベンチ・
    /// カウンター・通路の色板を並べる。
    ///
    /// この script は店だけを扱う。ロボットと人は動かさない。
    /// 格子や帯の組み方は知らない（StorePlan だけを見る）。
    /// </summary>
    public class StoreBuilder : MonoBehaviour
    {
        [Serializable]
        public class TableInfo
        {
            public int tableId;
            public SeatKind kind;
            public Transform root;
            public Vector3 center;
            public Vector3 deliveryPoint;   // ロボットが止まる位置（通路の上）
            public Vector3 aisleEntrance;   // その通路に入る前に待つ位置
            public Bounds aisleZone;        // 譲り合いの区画
            public int aisleIndex = -1;

            /// <summary>何人かけの卓か（2人席・4人席）</summary>
            public int seatCount = 4;

            public List<Chair> aisleChairs = new List<Chair>();

            /// <summary>席ごとの「人が立つ点」（席に入れるかの確かめに使う）</summary>
            public List<PlanSeatSpot> spots = new List<PlanSeatSpot>();

            /// <summary>人が実際に座る位置（座っている客の形を出す場所）</summary>
            public List<Vector3> seatPoints = new List<Vector3>();
        }

        [Serializable]
        public class AisleInfo
        {
            public string name;
            public bool narrow;
            public Bounds zone;
            public Vector3 entrance;
            public float width;
        }

        [Header("設定（数字はすべてこの .asset の中）")]
        public StoreLayout layout;

        [Header("部品")]
        public GameObject floorPrefab;
        public GameObject wallPrefab;
        public GameObject benchPrefab;       // ベンチと仕切り（高さ 1.1 m のもの）
        public GameObject benchSeatPrefab;   // ベンチの座面の見た目（当たりなし）
        public GameObject benchBackPrefab;   // ベンチの背もたれの見た目（当たりなし）
        public GameObject benchBodyPrefab;   // ベンチの当たりの箱（見た目なし。NavMesh とセンサーはこれだけを見る）
        public GameObject tablePrefab;
        public GameObject chairPrefab;
        public GameObject kitchenPassPrefab; // カウンター類
        public GameObject aisleMarkPrefab;   // 通路の色板（当たりなし）

        [Header("床の塗り分け（見た目だけ）")]
        [Tooltip("ロボットの体が入れる床の色（水色）")]
        public Material robotFloorMaterial;

        [Tooltip("人だけが入れる床の色（薄い黄色）")]
        public Material peopleFloorMaterial;

        [Header("組み立てた結果（読むだけ）")]
        [SerializeField] List<TableInfo> _tables = new List<TableInfo>();
        [SerializeField] List<AisleInfo> _aisles = new List<AisleInfo>();
        [SerializeField] float _builtAisleWidth;
        [SerializeField] Vector2 _outerSize;

        readonly Dictionary<PlaceKind, Vector3> _points = new Dictionary<PlaceKind, Vector3>();

        /// <summary>
        /// 同じ種類に点がいくつもある場所（ロボットの待機場所・ドリンクバーの立つ点など）。
        /// _points には最初の1つしか入らないので、別に全部を持つ。
        /// </summary>
        readonly Dictionary<PlaceKind, List<Vector3>> _pointLists =
            new Dictionary<PlaceKind, List<Vector3>>();
        readonly List<Transform> _notWalkableRoots = new List<Transform>();
        StorePlan _plan;

        /// <summary>
        /// 上面を歩ける場所にしてはいけないものの親（壁・ベンチ・仕切り・卓・椅子・カウンター）。
        /// NavMeshBaker がここを Not Walkable にして焼く。
        /// </summary>
        public IList<Transform> NotWalkableRoots { get { return _notWalkableRoots; } }

        public IList<TableInfo> Tables { get { return _tables; } }
        public IList<AisleInfo> Aisles { get { return _aisles; } }
        public float BuiltAisleWidth { get { return _builtAisleWidth; } }
        public Vector2 OuterSize { get { return _outerSize; } }
        public StorePlan Plan { get { return _plan; } }

        /// <summary>ロボットの道順（v5b。サイトが決めた曲がり角の点）。無ければ null</summary>
        public RouteBook Routes { get { return _plan != null ? _plan.routes : null; } }

        /// <summary>場所の点。無ければ原点</summary>
        public Vector3 PointOf(PlaceKind kind)
        {
            Vector3 p;
            if (_points.TryGetValue(kind, out p)) return p;
            return Vector3.zero;
        }

        public bool HasPoint(PlaceKind kind) { return _points.ContainsKey(kind); }

        /// <summary>その種類の場所の点をすべて返す（出てきた順）。無ければ空</summary>
        public IList<Vector3> PointsOf(PlaceKind kind)
        {
            List<Vector3> list;
            if (_pointLists.TryGetValue(kind, out list)) return list;
            return new List<Vector3>();
        }

        // ロボットが使う点
        public Vector3 PassPoint { get { return PointOf(PlaceKind.FoodPass); } }
        public Vector3 ReturnPoint { get { return PointOf(PlaceKind.DishReturn); } }
        public Vector3 PantryPoint { get { return PointOf(PlaceKind.Pantry); } }

        /// <summary>ロボットの待機場所（B2）。受け渡し口の前とは別の点</summary>
        public IList<Vector3> RobotStandbyPoints { get { return PointsOf(PlaceKind.RobotStandby); } }

        // 人が使う点
        public Vector3 RegisterPoint { get { return PointOf(PlaceKind.Register); } }
        public Vector3 ToiletPoint { get { return PointOf(PlaceKind.Toilet); } }
        public Vector3 DrinkBarPoint { get { return PointOf(PlaceKind.DrinkBar); } }
        public Vector3 EntrancePoint { get { return PointOf(PlaceKind.Entrance); } }
        public Vector3 WaitingPoint { get { return PointOf(PlaceKind.Waiting); } }

        /// <summary>レジの前に並ぶ点（会計に立つ人が1人ずつ並ぶ）</summary>
        public IList<Vector3> RegisterQueuePoints { get { return PointsOf(PlaceKind.RegisterQueue); } }

        /// <summary>手の空いたスタッフが待つ点（1人に1つ）</summary>
        public IList<Vector3> StaffStandbyPoints { get { return PointsOf(PlaceKind.StaffStandby); } }

        /// <summary>レジの内側（店員側）の広がり。無ければ空</summary>
        public PlanRect RegisterBackRect
        {
            get { return _plan != null ? _plan.RectOf(PlaceKind.RegisterBack) : new PlanRect(0f, 0f, 0f, 0f); }
        }

        /// <summary>レジの内側（スタッフが会計に立つ点）。無ければレジの前の点</summary>
        public Vector3 RegisterBackPoint
        {
            get { return HasPoint(PlaceKind.RegisterBack) ? PointOf(PlaceKind.RegisterBack) : RegisterPoint; }
        }

        /// <summary>待合の広さ（待つ客を散らすのに使う）</summary>
        public Bounds WaitingArea { get; private set; }

        readonly List<Vector3> _refuges = new List<Vector3>();

        /// <summary>人がロボットをよけて下がれる場所（通路の外）。壁ぞいの卓のすき間など</summary>
        public IList<Vector3> Refuges { get { return _refuges; } }

        /// <summary>床の塗り分けを入れる親（当たりなし。NavMesh には焼かれない）</summary>
        public Transform FloorPaintRoot
        {
            get
            {
                Transform t = transform.Find("FloorPaint");
                if (t == null)
                {
                    GameObject go = new GameObject("FloorPaint");
                    go.transform.SetParent(transform, false);
                    t = go.transform;
                }
                return t;
            }
        }

        /// <summary>
        /// 床を塗り分け直す（見た目だけ）。
        /// 水色＝ロボットの体が入れる床、薄い黄色＝人だけが入れる床。
        /// NavMesh も当たりも変えない。
        /// </summary>
        public FloorPaint.Result PaintFloor(NavMeshBaker baker, float personRadius)
        {
            FloorPaint.Result res = new FloorPaint.Result();
            if (layout == null || baker == null || _plan == null) return res;

            Transform root = FloorPaintRoot;
            if (!layout.showFloorPaint) { FloorPaint.Clear(root); return res; }

            UnityEngine.AI.NavMeshTriangulation robotTri =
                UnityEngine.AI.NavMesh.CalculateTriangulation();
            UnityEngine.AI.NavMeshTriangulation peopleTri = baker.TriangulateFor(personRadius);

            return FloorPaint.Rebuild(root, layout, _plan.NavBounds(layout.navBoundsPadding),
                                      robotTri, peopleTri, personRadius, _plan,
                                      robotFloorMaterial, peopleFloorMaterial);
        }

        /// <summary>
        /// その点がある場所の名前（レジ・待合・ドリンクバーなど）。どこでもなければ空。
        /// 記録で「どこで起きたか」を通路の名前だけでなく場所の名前でも言うために使う。
        /// </summary>
        public string PlaceNameAt(Vector3 p)
        {
            if (_plan == null) return "";
            for (int i = 0; i < _plan.places.Count; i++)
            {
                PlanPlace pl = _plan.places[i];
                if (pl.rect.IsEmpty) continue;
                if (pl.rect.Contains(p)) return PlaceName(pl.kind);
            }
            return "";
        }

        /// <summary>場所の種類の名前（記録に出す）</summary>
        public static string PlaceName(PlaceKind kind)
        {
            switch (kind)
            {
                case PlaceKind.Kitchen: return "厨房";
                case PlaceKind.Pantry: return "パントリー";
                case PlaceKind.FoodPass: return "受け渡し口";
                case PlaceKind.DishReturn: return "返却口";
                case PlaceKind.Entrance: return "入口";
                case PlaceKind.Vestibule: return "風除室";
                case PlaceKind.Waiting: return "待合";
                case PlaceKind.Register: return "レジ";
                case PlaceKind.Toilet: return "トイレ";
                case PlaceKind.DrinkBar: return "ドリンクバー";
                case PlaceKind.Office: return "事務所";
                case PlaceKind.RobotStandby: return "ロボット待機";
                case PlaceKind.DrinkBarStand: return "ドリンクバーの前";
                case PlaceKind.DrinkBarQueue: return "ドリンクバーの列";
                case PlaceKind.RegisterQueue: return "レジの列";
                case PlaceKind.StaffStandby: return "スタッフ待機";
                case PlaceKind.RegisterBack: return "レジの内側";
            }
            return "";
        }

        /// <summary>いまの layout.aisleWidthIndex で店を組み立て直す</summary>
        public void Build()
        {
            if (layout == null)
            {
                Debug.LogError("[ServiceSim] StoreBuilder に StoreLayout が入っていません");
                return;
            }

            Clear();

            _plan = layout.NewPlan();
            if (_plan == null || _plan.seats.Count == 0)
            {
                Debug.LogError("[ServiceSim] StoreLayout が部品の一覧を作れませんでした（席が0）");
                return;
            }

            _builtAisleWidth = _plan.aisleWidth;
            _outerSize = new Vector2(_plan.floor.SizeX, _plan.floor.SizeZ);

            BuildFloor(_plan);
            BuildBoxes(_plan);
            BuildPlaces(_plan);
            BuildSeats(_plan);
            BuildAisles(_plan);
            BuildAisleMarks(_plan);
            _refuges.AddRange(_plan.refuges);
        }

        /// <summary>組み立てたものを消す</summary>
        public void Clear()
        {
            _tables.Clear();
            _aisles.Clear();
            _points.Clear();
            _pointLists.Clear();
            _refuges.Clear();
            _notWalkableRoots.Clear();
            _plan = null;
            WaitingArea = new Bounds();
            for (int i = transform.childCount - 1; i >= 0; i--)
                DestroyChild(transform.GetChild(i).gameObject);
        }

        /// <summary>細い通路の幅を選び直して組み立て直す</summary>
        public void SetAisleWidthIndex(int index)
        {
            if (layout == null) return;
            layout.aisleWidthIndex = index;
            Build();
        }

        // ---------------- 床 ----------------

        void BuildFloor(StorePlan plan)
        {
            Transform g = NewGroup("Floor", true);

            if (plan.floorPieces.Count == 0)
            {
                PlaceFloor(g, plan, plan.floor, "Floor");
                return;
            }
            for (int i = 0; i < plan.floorPieces.Count; i++)
                PlaceFloor(g, plan, plan.floorPieces[i], "Floor" + (i + 1).ToString("00"));
        }

        void PlaceFloor(Transform parent, StorePlan plan, PlanRect r, string name)
        {
            GameObject floor = Box(floorPrefab, parent, name, r, plan.floorThickness);
            if (floor != null)
                floor.transform.position = new Vector3(r.CenterX, -plan.floorThickness * 0.5f, r.CenterZ);
        }

        // ---------------- 箱（壁・仕切り・ベンチ）----------------

        void BuildBoxes(StorePlan plan)
        {
            Transform walls = NewGroup("Walls", false);
            Transform seats = NewGroup("SeatStructure", false);

            // 座る場所の見た目は、当たりを持たない prefab でしか置かない。
            // 当たりのある prefab で代わりに置くと NavMesh が変わってしまうため、
            // prefab が無いときは置かずに知らせる（Setup を実行すれば作られる）。
            int skippedSeatLooks = 0;

            for (int i = 0; i < plan.boxes.Count; i++)
            {
                PlanBox b = plan.boxes[i];

                // 見た目だけの箱は、当たりを持たない prefab でしか置かない。
                // 当たりのある prefab で代えると NavMesh が変わってしまう
                bool lookOnly = b.style == BoxStyle.BenchSeat || b.style == BoxStyle.BenchBack;
                if (lookOnly && PrefabFor(b.style) == null) { skippedSeatLooks++; continue; }

                Transform parent = (b.style == BoxStyle.Bench || b.style == BoxStyle.Divider ||
                                    b.style == BoxStyle.BenchBody || lookOnly) ? seats : walls;
                GameObject go = Box(PrefabFor(b.style), parent, b.name, b.rect, b.height);
                if (go == null) continue;
                if (b.baseY != 0f) go.transform.position += Vector3.up * b.baseY;
                SimTags.Apply(go, TagFor(b.style));
            }

            if (skippedSeatLooks > 0)
                Debug.LogWarning("[ServiceSim] ベンチの見た目（座面・背もたれ）" + skippedSeatLooks +
                                 " 個を置きませんでした（BenchSeat.prefab / BenchBack.prefab がありません）。" +
                                 "ServiceSim/Setup を実行してください。" +
                                 "当たりの箱はそのまま置いているので、測る数字は変わりません");
        }

        /// <summary>
        /// 種類の印（Tag）。あとで映像から見分ける学習に使う。いまは付けるだけ（v5）。
        /// Tag は物理にも NavMesh にも効かないので、測る数字は変わらない
        /// </summary>
        static string TagFor(BoxStyle style)
        {
            switch (style)
            {
                case BoxStyle.Bench:
                case BoxStyle.BenchBody:
                case BoxStyle.BenchSeat:
                case BoxStyle.BenchBack: return SimTags.Bench;
                case BoxStyle.Table: return SimTags.Table;
                case BoxStyle.Chair: return SimTags.Chair;
                default: return null;
            }
        }

        // ---------------- 場所 ----------------

        void BuildPlaces(StorePlan plan)
        {
            Transform g = NewGroup("Places", false);

            for (int i = 0; i < plan.places.Count; i++)
            {
                PlanPlace p = plan.places[i];
                if (p.solid && p.height > 0.0005f)
                    Box(PrefabFor(p.kind), g, p.name, p.rect, p.height);

                NewChild(g, p.name + "_Point").position = p.point;
                if (!_points.ContainsKey(p.kind)) _points.Add(p.kind, p.point);

                List<Vector3> list;
                if (!_pointLists.TryGetValue(p.kind, out list))
                {
                    list = new List<Vector3>();
                    _pointLists.Add(p.kind, list);
                }
                list.Add(p.point);

                if (p.kind == PlaceKind.Waiting) WaitingArea = p.rect.ToBounds(0f, 2f);
            }
        }

        // ---------------- 席 ----------------

        void BuildSeats(StorePlan plan)
        {
            Transform g = NewGroup("Seats", false);

            for (int i = 0; i < plan.seats.Count; i++)
            {
                PlanSeat s = plan.seats[i];
                Transform unit = NewChild(g, "Table" + s.tableId.ToString("00"));

                Box(tablePrefab, unit, "TableTop", s.tableRect, s.tableHeight);

                TableInfo info = new TableInfo();
                info.tableId = s.tableId;
                info.kind = s.kind;
                info.root = unit;
                info.center = s.tableRect.Center;
                info.deliveryPoint = s.deliveryPoint;
                info.aisleIndex = s.aisleIndex;
                info.seatCount = s.seatCount;
                info.spots.AddRange(s.spots);
                info.seatPoints.AddRange(s.seatPoints);

                PlanAisle aisle = plan.AisleAt(s.aisleIndex);
                if (aisle != null)
                {
                    info.aisleZone = aisle.Zone(-1f, 2f);
                    info.aisleEntrance = aisle.entrance;
                }
                else
                {
                    info.aisleEntrance = s.deliveryPoint;
                }

                for (int c = 0; c < s.chairs.Count; c++)
                {
                    PlanChair pc = s.chairs[c];
                    GameObject go = Box(chairPrefab, unit, "Chair", pc.rect, pc.height);
                    if (go == null) continue;
                    Chair chair = go.GetComponent<Chair>();
                    if (chair == null) continue;
                    chair.isAisleSide = pc.pullable;
                    chair.pullDirection = pc.pullDirection;
                    chair.MarkParked();
                    if (pc.pullable) info.aisleChairs.Add(chair);
                }

                _tables.Add(info);
            }
        }

        // ---------------- 通路 ----------------

        void BuildAisles(StorePlan plan)
        {
            for (int i = 0; i < plan.aisles.Count; i++)
            {
                PlanAisle a = plan.aisles[i];
                AisleInfo info = new AisleInfo();
                info.name = a.name;
                info.narrow = a.narrow;
                info.zone = a.Zone(-1f, 2f);
                info.entrance = a.entrance;
                info.width = Mathf.Min(a.rect.SizeX, a.rect.SizeZ);
                _aisles.Add(info);
            }
        }

        /// <summary>
        /// 通路の床に色の板を敷く。当たりは持たないので NavMesh には焼かれず、計測には効かない。
        /// </summary>
        void BuildAisleMarks(StorePlan plan)
        {
            if (!layout.showAisleMarks || aisleMarkPrefab == null) return;

            Transform g = NewGroup("AisleMarks", false);
            for (int i = 0; i < plan.aisles.Count; i++)
            {
                PlanAisle a = plan.aisles[i];
                Box(aisleMarkPrefab, g, "Mark_" + a.name, a.rect, layout.aisleMarkThickness);
            }
        }

        // ---------------- 小さな道具 ----------------

        GameObject PrefabFor(BoxStyle style)
        {
            switch (style)
            {
                case BoxStyle.Floor: return floorPrefab;
                case BoxStyle.Table: return tablePrefab;
                case BoxStyle.Chair: return chairPrefab;
                case BoxStyle.Bench: return benchPrefab != null ? benchPrefab : wallPrefab;
                case BoxStyle.Divider: return benchPrefab != null ? benchPrefab : wallPrefab;
                // 当たりの箱（見た目なし）。prefab が無いときは、これまでどおり見える箱で代える
                // （当たりの大きさは同じなので、NavMesh と測る数字は変わらない）
                case BoxStyle.BenchBody:
                    return benchBodyPrefab != null ? benchBodyPrefab
                         : (benchPrefab != null ? benchPrefab : wallPrefab);
                case BoxStyle.BenchSeat: return benchSeatPrefab;   // 無いときは BuildBoxes が置かない
                case BoxStyle.BenchBack: return benchBackPrefab;   // 同じく
                case BoxStyle.Counter: return kitchenPassPrefab;
                case BoxStyle.AisleMark: return aisleMarkPrefab;
                default: return wallPrefab;
            }
        }

        GameObject PrefabFor(PlaceKind kind)
        {
            switch (kind)
            {
                case PlaceKind.Kitchen:
                case PlaceKind.Office:
                    return wallPrefab;
                default:
                    return kitchenPassPrefab;
            }
        }

        /// <summary>
        /// 組み立てたものを入れる親を作る。
        /// walkable が false の親は、NavMesh で Not Walkable として焼く（上面に乗れないように）。
        /// </summary>
        Transform NewGroup(string name, bool walkable)
        {
            Transform t = NewChild(transform, name);
            if (!walkable) _notWalkableRoots.Add(t);
            return t;
        }

        Transform NewChild(Transform parent, string name)
        {
            GameObject go = new GameObject(name);
            go.transform.SetParent(parent, false);
            return go.transform;
        }

        /// <summary>長方形と高さから箱を1つ置く（下の面が y=0、上の面が y=height）</summary>
        GameObject Box(GameObject prefab, Transform parent, string name, PlanRect rect, float height)
        {
            if (rect.IsEmpty || height <= 0.0005f) return null;

            GameObject go;
            if (prefab != null)
            {
                go = Instantiate(prefab, parent);
            }
            else
            {
                go = GameObject.CreatePrimitive(PrimitiveType.Cube);
                go.transform.SetParent(parent, false);
            }
            go.name = name;
            go.transform.localScale = new Vector3(rect.SizeX, height, rect.SizeZ);
            go.transform.position = new Vector3(rect.CenterX, height * 0.5f, rect.CenterZ);
            return go;
        }

        static void DestroyChild(GameObject go)
        {
            if (Application.isPlaying) Destroy(go);
            else DestroyImmediate(go);
        }
    }
}
```

### Assets/ServiceSim/Store/StorePlan.cs

```csharp
using System.Collections.Generic;
using UnityEngine;

namespace ServiceSim
{
    /// <summary>席の種類</summary>
    public enum SeatKind
    {
        WallBooth,    // 壁際ブース（両側ベンチ）
        WallTable,    // 壁沿いの卓（壁側ベンチ＋通路側に椅子）
        IslandTable,  // 島の卓（両側に椅子）
        Counter,      // カウンター席（今回は使わないが置ける）
        LargeTable    // 大人数席（今回は使わないが置ける）
    }

    /// <summary>場所の種類</summary>
    public enum PlaceKind
    {
        Kitchen,      // 厨房（通れない）
        Pantry,       // パントリー（水・おしぼり・カトラリー）
        FoodPass,     // 料理の受け渡し口
        DishReturn,   // 下げ膳の返却口
        Entrance,     // 入口
        Vestibule,    // 風除室
        Waiting,      // 待合
        Register,     // レジ
        Toilet,       // トイレ
        DrinkBar,     // ドリンクバー
        Office,       // 事務所・更衣室
        RobotStandby, // ロボットの待機場所（受け渡し口の前をふさがないため）B2
        DrinkBarStand,// ドリンクバーの前に立つ点（機械1台に1つ）B4
        DrinkBarQueue,// ドリンクバーの並ぶ点 B4
        RegisterQueue,// レジの前に並ぶ点（会計に立つ人が1人ずつ並ぶ）
        StaffStandby, // 手の空いたスタッフが待つ点（1人に1つ。太い通路の通り道をふさがない）
        RegisterBack  // レジの内側（スタッフだけが入れる。太い通路からだけ入れる）
    }

    /// <summary>箱の見た目（StoreBuilder がどの prefab を使うかを決める）</summary>
    public enum BoxStyle
    {
        Floor, Wall, Divider, Table, Bench, Chair, Counter, AisleMark,

        /// <summary>
        /// ベンチの座面の見た目（高さ 0.45 m）。当たりを持たないので
        /// NavMesh にも、前のセンサーにも、左右の空きの測りにも効かない。見た目だけ。
        /// </summary>
        BenchSeat,

        /// <summary>
        /// ベンチの背もたれの見た目（机と反対側のふちに薄く・高さ 1.1 m）。当たりなし。
        /// </summary>
        BenchBack,

        /// <summary>
        /// ベンチの当たりの箱（大きさ・位置・高さはベンチのまま、**見た目を持たない**）。
        /// NavMesh と前のセンサーはこの箱だけを見る。見た目は BenchSeat と BenchBack が受け持つ。
        /// </summary>
        BenchBody
    }

    /// <summary>XZ 平面の長方形（y は持たない）</summary>
    public struct PlanRect
    {
        public float xMin, xMax, zMin, zMax;

        public PlanRect(float xMin, float zMin, float xMax, float zMax)
        {
            this.xMin = Mathf.Min(xMin, xMax);
            this.xMax = Mathf.Max(xMin, xMax);
            this.zMin = Mathf.Min(zMin, zMax);
            this.zMax = Mathf.Max(zMin, zMax);
        }

        public static PlanRect FromSize(float xMin, float zMin, float sizeX, float sizeZ)
        {
            return new PlanRect(xMin, zMin, xMin + sizeX, zMin + sizeZ);
        }

        public static PlanRect FromCenter(Vector3 center, float sizeX, float sizeZ)
        {
            return new PlanRect(center.x - sizeX * 0.5f, center.z - sizeZ * 0.5f,
                                center.x + sizeX * 0.5f, center.z + sizeZ * 0.5f);
        }

        public float SizeX { get { return xMax - xMin; } }
        public float SizeZ { get { return zMax - zMin; } }
        public float CenterX { get { return (xMin + xMax) * 0.5f; } }
        public float CenterZ { get { return (zMin + zMax) * 0.5f; } }
        public Vector3 Center { get { return new Vector3(CenterX, 0f, CenterZ); } }
        public bool IsEmpty { get { return SizeX <= 0.0005f || SizeZ <= 0.0005f; } }

        public bool Contains(Vector3 p)
        {
            return p.x >= xMin && p.x <= xMax && p.z >= zMin && p.z <= zMax;
        }

        public PlanRect Expand(float m)
        {
            return new PlanRect(xMin - m, zMin - m, xMax + m, zMax + m);
        }

        public Bounds ToBounds(float yMin, float yMax)
        {
            Bounds b = new Bounds();
            b.SetMinMax(new Vector3(xMin, yMin, zMin), new Vector3(xMax, yMax, zMax));
            return b;
        }

        public override string ToString()
        {
            return "x " + xMin.ToString("0.##") + ".." + xMax.ToString("0.##") +
                   " / z " + zMin.ToString("0.##") + ".." + zMax.ToString("0.##");
        }
    }

    /// <summary>置く箱1つ</summary>
    public class PlanBox
    {
        public string name;
        public BoxStyle style;
        public PlanRect rect;
        public float height;
        /// <summary>下の面の高さ（m）。ふつうは 0</summary>
        public float baseY;

        public PlanBox(string name, BoxStyle style, PlanRect rect, float height)
        {
            this.name = name;
            this.style = style;
            this.rect = rect;
            this.height = height;
            this.baseY = 0f;
        }
    }

    /// <summary>椅子1脚（引けるものと引けないもの）</summary>
    public class PlanChair
    {
        public PlanRect rect;
        public float height;
        /// <summary>引けるか。ブースのベンチは false</summary>
        public bool pullable;
        /// <summary>引く向き（通路の側へ）。XZ の単位ベクトル</summary>
        public Vector3 pullDirection;
    }

    /// <summary>
    /// 座る場所1つぶんの「人が立つ点」。
    /// 通路からここまで人が歩けるかを Build Store が確かめる（席に入れない卓を見つけるため）。
    /// </summary>
    public struct PlanSeatSpot
    {
        /// <summary>どの席か（報告に出す。例「壁側」「通路側」「南ベンチ」）</summary>
        public string name;
        /// <summary>その席に着くために人が立つ点</summary>
        public Vector3 point;

        public PlanSeatSpot(string name, Vector3 point)
        {
            this.name = name;
            this.point = point;
        }
    }

    /// <summary>卓1つ</summary>
    public class PlanSeat
    {
        public int tableId;
        public SeatKind kind;
        public PlanRect tableRect;
        public float tableHeight;

        /// <summary>何人かけの卓か（2人席・4人席）。組の座らせ方に使う</summary>
        public int seatCount = 4;

        /// <summary>ロボットが料理を置くために止まる点（通路の上）</summary>
        public Vector3 deliveryPoint;
        /// <summary>この卓に行くときに使う細い通路の番号（譲り合いの区画に使う）</summary>
        public int aisleIndex = -1;
        public readonly List<PlanChair> chairs = new List<PlanChair>();

        /// <summary>席ごとの「人が立つ点」（Build Store の席への入りやすさの確かめに使う）</summary>
        public readonly List<PlanSeatSpot> spots = new List<PlanSeatSpot>();

        /// <summary>
        /// 人が実際に座る位置（座面・椅子の真ん中）。seatCount 個ある。
        /// 座っている客の形を出す場所に使う（見た目だけ。当たりも NavMesh も持たない）。
        /// </summary>
        public readonly List<Vector3> seatPoints = new List<Vector3>();
    }

    /// <summary>通路1本（譲り合いの区画と、入る前に待つ点）</summary>
    public class PlanAisle
    {
        public string name;
        public PlanRect rect;
        /// <summary>細い通路か（幅を切り替える対象か）</summary>
        public bool narrow;

        // v5b: 「通りにくい通路」の印（hardToPass）はやめた。
        // 狭い道を使うかどうかは、サイトの routes の use（normal / narrow）が正。
        /// <summary>この通路に入る前に待つ点</summary>
        public Vector3 entrance;

        public Bounds Zone(float yMin, float yMax) { return rect.ToBounds(yMin, yMax); }
    }

    /// <summary>場所1つ（厨房・パントリー・受け渡し口など）</summary>
    public class PlanPlace
    {
        public PlaceKind kind;
        public string name;
        public PlanRect rect;
        public float height;
        /// <summary>人が立つ・ロボットが止まる点</summary>
        public Vector3 point;
        /// <summary>通れない箱として置くか</summary>
        public bool solid;
    }

    /// <summary>
    /// 店の「部品をどこに置くか」の一覧。
    /// StoreLayout（の種類ごとの実装）がこれを作り、StoreBuilder がこれだけを見て並べる。
    /// StoreBuilder は格子や帯の組み方を知らない。
    /// </summary>
    public class StorePlan
    {
        /// <summary>床の全体の広がり（カメラの画角とベイク範囲に使う）</summary>
        public PlanRect floor;

        /// <summary>
        /// 実際に床を敷く長方形。建物の外に床が出ないように分けて持つ。
        /// 空なら floor を1枚だけ敷く。
        /// </summary>
        public readonly List<PlanRect> floorPieces = new List<PlanRect>();

        public float wallHeight = 2.4f;
        public float wallThickness = 0.15f;
        public float floorThickness = 0.2f;

        /// <summary>この plan を作ったときの細い通路の幅（m）</summary>
        public float aisleWidth;

        /// <summary>
        /// 人がロボットをよけるときに下がれる場所（通路の外）。
        /// 壁ぞいの卓と卓のすき間など。店の形が入れる。
        /// </summary>
        public readonly List<Vector3> refuges = new List<Vector3>();

        /// <summary>
        /// ロボットの道順（v5b）。サイトが決めた曲がり角の点の並び。
        /// 無ければ null（そのときは今までどおり Unity の道探しで行き先まで行く）。
        /// </summary>
        public RouteBook routes;

        public readonly List<PlanBox> boxes = new List<PlanBox>();
        public readonly List<PlanSeat> seats = new List<PlanSeat>();
        public readonly List<PlanAisle> aisles = new List<PlanAisle>();
        public readonly List<PlanPlace> places = new List<PlanPlace>();

        // ---- 組み立てを助ける小さな道具 ----

        /// <summary>床を1枚足す。floor の広がりも合わせて広げる</summary>
        public void AddFloor(PlanRect rect)
        {
            if (rect.IsEmpty) return;
            if (floorPieces.Count == 0) floor = rect;
            else
            {
                floor = new PlanRect(
                    Mathf.Min(floor.xMin, rect.xMin), Mathf.Min(floor.zMin, rect.zMin),
                    Mathf.Max(floor.xMax, rect.xMax), Mathf.Max(floor.zMax, rect.zMax));
            }
            floorPieces.Add(rect);
        }

        public PlanBox AddBox(string name, BoxStyle style, PlanRect rect, float height)
        {
            if (rect.IsEmpty || height <= 0.0005f) return null;
            PlanBox b = new PlanBox(name, style, rect, height);
            boxes.Add(b);
            return b;
        }

        public PlanAisle AddAisle(string name, PlanRect rect, bool narrow, Vector3 entrance)
        {
            PlanAisle a = new PlanAisle();
            a.name = name;
            a.rect = rect;
            a.narrow = narrow;
            a.entrance = entrance;
            aisles.Add(a);
            return a;
        }

        public PlanPlace AddPlace(PlaceKind kind, string name, PlanRect rect, float height, Vector3 point, bool solid)
        {
            PlanPlace p = new PlanPlace();
            p.kind = kind;
            p.name = name;
            p.rect = rect;
            p.height = height;
            p.point = point;
            p.solid = solid;
            places.Add(p);
            return p;
        }

        /// <summary>場所の点を引く。無ければ fallback</summary>
        public Vector3 PointOf(PlaceKind kind, Vector3 fallback)
        {
            for (int i = 0; i < places.Count; i++)
                if (places[i].kind == kind) return places[i].point;
            return fallback;
        }

        /// <summary>
        /// 同じ種類の場所の点をすべて集める（出てきた順）。
        /// ロボットの待機場所やドリンクバーの立つ点のように、1種類に点がいくつもあるときに使う。
        /// </summary>
        public List<Vector3> PointsOf(PlaceKind kind)
        {
            List<Vector3> list = new List<Vector3>();
            for (int i = 0; i < places.Count; i++)
                if (places[i].kind == kind) list.Add(places[i].point);
            return list;
        }

        public bool HasPlace(PlaceKind kind)
        {
            for (int i = 0; i < places.Count; i++)
                if (places[i].kind == kind) return true;
            return false;
        }

        public PlanRect RectOf(PlaceKind kind)
        {
            for (int i = 0; i < places.Count; i++)
                if (places[i].kind == kind) return places[i].rect;
            return new PlanRect(0f, 0f, 0f, 0f);
        }

        public PlanAisle AisleAt(int index)
        {
            if (index < 0 || index >= aisles.Count) return null;
            return aisles[index];
        }

        /// <summary>細い通路の数</summary>
        public int NarrowAisleCount
        {
            get
            {
                int n = 0;
                for (int i = 0; i < aisles.Count; i++) if (aisles[i].narrow) n++;
                return n;
            }
        }

        public Bounds NavBounds(float padding)
        {
            PlanRect r = floor.Expand(padding);
            return r.ToBounds(-1f, wallHeight + 1f);
        }
    }
}
```

### Assets/ServiceSim/Store/SimTags.cs

```csharp
using UnityEngine;

namespace ServiceSim
{
    /// <summary>
    /// 種類の印（Tag）。あとで天井の角のカメラの映像から人とロボットを見分ける学習に使う。
    /// いまは付けるだけで、Unity の中では何にも使わない。
    ///
    /// Layer ではなく Tag にしたのは、Layer が物理の問い合わせ（ロボットの前のセンサーなど）に
    /// 効くことがあるのに対し、Tag は何にも効かないため。
    /// 付けても NavMesh・センサー・人がよける処理・店の形の確かめは変わらない。
    ///
    /// Tag そのものは ProjectSettings/TagManager.asset に作られる（ServiceSimSetup が足す）。
    /// まだ無い Tag を付けようとすると Unity は例外を投げるので、
    /// ここで1回だけ試し、だめならそれ以降は何もしない（店が建たなくなるのを防ぐ）。
    /// </summary>
    public static class SimTags
    {
        public const string Robot = "SimRobot";
        public const string Staff = "SimStaff";
        public const string Guest = "SimGuest";
        public const string SeatedGuest = "SimSeatedGuest";
        public const string Bench = "SimBench";
        public const string Table = "SimTable";
        public const string Chair = "SimChair";

        /// <summary>Setup が作る Tag の一覧</summary>
        public static readonly string[] All =
            { Robot, Staff, Guest, SeatedGuest, Bench, Table, Chair };

        static readonly System.Collections.Generic.HashSet<string> _missing =
            new System.Collections.Generic.HashSet<string>();

        /// <summary>
        /// 印を付ける。その Tag がまだ無ければ、黙って何もしない（例外を投げない）。
        /// 子どもには付けない（当たりの箱と見た目を別々に数えたいため）。
        /// </summary>
        public static void Apply(GameObject go, string tag)
        {
            if (go == null || string.IsNullOrEmpty(tag)) return;
            if (_missing.Contains(tag)) return;

            try { go.tag = tag; }
            catch (UnityException)
            {
                _missing.Add(tag);
                Debug.LogWarning("[ServiceSim] Tag \"" + tag + "\" がまだありません。" +
                                 "ServiceSim/Setup を実行すると作られます（印が付かないだけで、" +
                                 "測る数字は変わりません）");
            }
        }
    }
}
```

### Assets/ServiceSim/Store/StoreLayout_p1_efficient_corner.asset

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 0}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 290f4a1a37804297962e9248caa661ce, type: 3}
  m_Name: StoreLayout_p1_efficient_corner
  m_EditorClassIdentifier: 
  aisleWidthOptions:
  - 1.2
  aisleWidthIndex: 0
  deliveryOffsetFromAisleCenter: 0
  aisleEntranceSetback: 0.8
  aisleEntranceSideOffset: 0.45
  wallHeight: 2.7
  wallThickness: 0.15
  floorThickness: 0.2
  showAisleMarks: 1
  aisleMarkThickness: 0.02
  showFloorPaint: 1
  floorPaintCellSize: 0.05
  floorPaintHeight: 0.03
  navAgentRadius: 0.25
  navAgentHeight: 1.2
  navAgentClimb: 0.2
  navAgentSlope: 10
  navVoxelSize: 0.05
  navMinRegionArea: 0.3
  navBoundsPadding: 1
  layoutJson: {fileID: 4900000, guid: 2154377bd0d440b69bac2e9493720fa7, type: 3}
  summaryJson: {fileID: 4900000, guid: 4525eb25b69c4468aadbce9a96430dd9, type: 3}
  layoutFileName: p1_efficient_corner
  fetchedAt: "2026-10-22 20:23:50 JST\uFF08\u7248 9628954a582f\uFF09"
  sourceUrl: https://pixelstomotors.com/sim/layouts/unity/p1_efficient_corner.json
  benchBackThickness: 0.08
  benchSeatInset: 0.03
```

### Assets/ServiceSim/Store/Prefabs/BenchBody.prefab

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4065994176022308155
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 1679362310706397511}
  - component: {fileID: 7560244343268238903}
  m_Layer: 0
  m_Name: BenchBody
  m_TagString: SimBench
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &1679362310706397511
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4065994176022308155}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 0}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!65 &7560244343268238903
BoxCollider:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4065994176022308155}
  m_Material: {fileID: 0}
  m_IncludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_ExcludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_LayerOverridePriority: 0
  m_IsTrigger: 0
  m_ProvidesContacts: 0
  m_Enabled: 1
  serializedVersion: 3
  m_Size: {x: 1, y: 1, z: 1}
  m_Center: {x: 0, y: 0, z: 0}
```

### Assets/ServiceSim/Store/Prefabs/BenchSeat.prefab

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4325218961744234378
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 4890538970695845508}
  - component: {fileID: 5913865391000008738}
  - component: {fileID: 5663976388492468277}
  m_Layer: 0
  m_Name: BenchSeat
  m_TagString: SimBench
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &4890538970695845508
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4325218961744234378}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 0}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &5913865391000008738
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4325218961744234378}
  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &5663976388492468277
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4325218961744234378}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: 1b824132bc4d64ffca33b77e83b5a210, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
```

### Assets/ServiceSim/Store/Prefabs/BenchBack.prefab

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &7550362257018928738
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 3266517807500762629}
  - component: {fileID: 739566609056111341}
  - component: {fileID: 1824733855874062047}
  m_Layer: 0
  m_Name: BenchBack
  m_TagString: SimBench
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &3266517807500762629
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 7550362257018928738}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 0}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &739566609056111341
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 7550362257018928738}
  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &1824733855874062047
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 7550362257018928738}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: b7709c3f2dfd746daa7e02186261cd0d, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
```

### Assets/ServiceSim/Store/Prefabs/Chair.prefab

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3687668175636490921
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 4548599466724596632}
  - component: {fileID: 6126048522903168647}
  - component: {fileID: 7301991014537154378}
  - component: {fileID: 3143632713472946593}
  - component: {fileID: 6653098283516487676}
  - component: {fileID: 873755662498155321}
  m_Layer: 0
  m_Name: Chair
  m_TagString: SimChair
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &4548599466724596632
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3687668175636490921}
  serializedVersion: 2
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_ConstrainProportionsScale: 0
  m_Children: []
  m_Father: {fileID: 0}
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &6126048522903168647
MeshFilter:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3687668175636490921}
  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!65 &7301991014537154378
BoxCollider:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3687668175636490921}
  m_Material: {fileID: 0}
  m_IncludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_ExcludeLayers:
    serializedVersion: 2
    m_Bits: 0
  m_LayerOverridePriority: 0
  m_IsTrigger: 0
  m_ProvidesContacts: 0
  m_Enabled: 1
  serializedVersion: 3
  m_Size: {x: 1, y: 1, z: 1}
  m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &3143632713472946593
MeshRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3687668175636490921}
  m_Enabled: 1
  m_CastShadows: 1
  m_ReceiveShadows: 1
  m_DynamicOccludee: 1
  m_StaticShadowCaster: 0
  m_MotionVectors: 1
  m_LightProbeUsage: 1
  m_ReflectionProbeUsage: 1
  m_RayTracingMode: 2
  m_RayTraceProcedural: 0
  m_RenderingLayerMask: 1
  m_RendererPriority: 0
  m_Materials:
  - {fileID: 2100000, guid: 2598ae2b481d64860a91a1c68d6d482b, type: 2}
  m_StaticBatchInfo:
    firstSubMesh: 0
    subMeshCount: 0
  m_StaticBatchRoot: {fileID: 0}
  m_ProbeAnchor: {fileID: 0}
  m_LightProbeVolumeOverride: {fileID: 0}
  m_ScaleInLightmap: 1
  m_ReceiveGI: 1
  m_PreserveUVs: 1
  m_IgnoreNormalsForChartDetection: 0
  m_ImportantGI: 0
  m_StitchLightmapSeams: 1
  m_SelectedEditorRenderState: 3
  m_MinimumChartSize: 4
  m_AutoUVMaxDistance: 0.5
  m_AutoUVMaxAngle: 89
  m_LightmapParameters: {fileID: 0}
  m_SortingLayerID: 0
  m_SortingLayer: 0
  m_SortingOrder: 0
  m_AdditionalVertexStreams: {fileID: 0}
--- !u!208 &6653098283516487676
NavMeshObstacle:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3687668175636490921}
  m_Enabled: 0
  serializedVersion: 3
  m_Shape: 1
  m_Extents: {x: 0.5, y: 0.5, z: 0.5}
  m_MoveThreshold: 0.1
  m_Carve: 1
  m_CarveOnlyStationary: 0
  m_Center: {x: 0, y: 0, z: 0}
  m_TimeToStationary: 0.5
--- !u!114 &873755662498155321
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3687668175636490921}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: b4e8549ee83324b87b02b9b9e9dd3f76, type: 3}
  m_Name: 
  m_EditorClassIdentifier: 
  isAisleSide: 0
  pullDirection: {x: 0, y: 0, z: 1}
  parkedLocalPosition: {x: 0, y: 0, z: 0}
```

### Assets/ServiceSim/Store/Materials/Mat_BenchSeat.mat

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
  serializedVersion: 8
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_Name: Mat_BenchSeat
  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
  m_Parent: {fileID: 0}
  m_ModifiedSerializedProperties: 0
  m_ValidKeywords: []
  m_InvalidKeywords: []
  m_LightmapFlags: 4
  m_EnableInstancingVariants: 0
  m_DoubleSidedGI: 0
  m_CustomRenderQueue: -1
  stringTagMap: {}
  disabledShaderPasses: []
  m_LockedProperties: 
  m_SavedProperties:
    serializedVersion: 3
    m_TexEnvs:
    - _BumpMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _DetailAlbedoMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _DetailMask:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _DetailNormalMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _EmissionMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _MainTex:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _MetallicGlossMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _OcclusionMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _ParallaxMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    m_Ints: []
    m_Floats:
    - _BumpScale: 1
    - _Cutoff: 0.5
    - _DetailNormalMapScale: 1
    - _DstBlend: 0
    - _GlossMapScale: 1
    - _Glossiness: 0.12
    - _GlossyReflections: 1
    - _Metallic: 0
    - _Mode: 0
    - _OcclusionStrength: 1
    - _Parallax: 0.02
    - _SmoothnessTextureChannel: 0
    - _SpecularHighlights: 1
    - _SrcBlend: 1
    - _UVSec: 0
    - _ZWrite: 1
    m_Colors:
    - _Color: {r: 0.62, g: 0.33, b: 0.29, a: 1}
    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
  m_BuildTextureStacks: []
```

### Assets/ServiceSim/Store/Materials/Mat_BenchBack.mat

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
  serializedVersion: 8
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_Name: Mat_BenchBack
  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
  m_Parent: {fileID: 0}
  m_ModifiedSerializedProperties: 0
  m_ValidKeywords: []
  m_InvalidKeywords: []
  m_LightmapFlags: 4
  m_EnableInstancingVariants: 0
  m_DoubleSidedGI: 0
  m_CustomRenderQueue: -1
  stringTagMap: {}
  disabledShaderPasses: []
  m_LockedProperties: 
  m_SavedProperties:
    serializedVersion: 3
    m_TexEnvs:
    - _BumpMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _DetailAlbedoMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _DetailMask:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _DetailNormalMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _EmissionMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _MainTex:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _MetallicGlossMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _OcclusionMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _ParallaxMap:
        m_Texture: {fileID: 0}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    m_Ints: []
    m_Floats:
    - _BumpScale: 1
    - _Cutoff: 0.5
    - _DetailNormalMapScale: 1
    - _DstBlend: 0
    - _GlossMapScale: 1
    - _Glossiness: 0.12
    - _GlossyReflections: 1
    - _Metallic: 0
    - _Mode: 0
    - _OcclusionStrength: 1
    - _Parallax: 0.02
    - _SmoothnessTextureChannel: 0
    - _SpecularHighlights: 1
    - _SrcBlend: 1
    - _UVSec: 0
    - _ZWrite: 1
    m_Colors:
    - _Color: {r: 0.48, g: 0.25, b: 0.22, a: 1}
    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
  m_BuildTextureStacks: []
```

### Assets/ServiceSim/Editor/ServiceSimSetup.cs

```csharp
using System;
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.SceneManagement;

namespace ServiceSim.EditorTools
{
    /// <summary>
    /// Assets/ServiceSim/ の中の .asset・prefab・シーンを作る。
    /// すでにあるものは作り直さないが、マテリアルのシェーダーだけは毎回確かめて、
    /// いまの描画方式に合わせ直す（合っていないとピンクになるため）。
    /// Assets/ServiceSim/ の外のファイルは一切作らない・変えない。
    /// 新しいシーンはビルド設定に足さない。
    /// </summary>
    public static class ServiceSimSetup
    {
        public const string Root = "Assets/ServiceSim";
        public const string ScenePath = Root + "/Scenes/ServiceSim_Family.unity";
        public const string FamilyLayoutPath = Root + "/Store/StoreLayout_Family.asset";
        public const string GridLayoutPath = Root + "/Store/StoreLayout_Grid.asset";
        public const string RobotSpecPath = Root + "/Robot/RobotSpec.asset";
        public const string PeopleSpecPath = Root + "/People/PeopleSpec.asset";
        public const string ExperimentPlanPath = Root + "/Experiment/ExperimentPlan.asset";
        public const string ServiceSpecPath = Root + "/Service/ServiceSpec.asset";

        /// <summary>サイトの試算の値（v5）。serving-robot-params.json を読む .asset</summary>
        public const string SimParamsPath = Root + "/Experiment/SimParams.asset";

        /// <summary>座っている客の形（見た目だけ）の prefab</summary>
        public const string SeatedBodyPrefabPath = Root + "/People/SeatedGuestBody.prefab";

        /// <summary>客の黄色（立っている客・座っている客で同じ色を使う）</summary>
        static readonly Color GuestColor = new Color(0.98f, 0.80f, 0.13f);

        /// <summary>スタッフの青・待合の客の紫（見た目を作り直すときにも使う）</summary>
        static readonly Color StaffColor = new Color(0.09f, 0.38f, 0.90f);
        static readonly Color WaitingColor = new Color(0.55f, 0.30f, 0.75f);

        const string MatDir = Root + "/Store/Materials";
        const string StorePrefabDir = Root + "/Store/Prefabs";
        const string OldDir = Root + "/Store/old~";

        enum WalkerKind { Staff, Guest, Waiting }

        static Shader _shader;
        static int _materialsFixed;

        [MenuItem("ServiceSim/Check Render Pipeline", false, 1)]
        public static void CheckRenderPipeline()
        {
            string how;
            Shader shader = ServiceSimRender.FindOpaqueShader(out how);
            string body = ServiceSimRender.Describe() + "使うシェーダー: " + how;
            if (shader == null) Debug.LogError("[ServiceSim] 描画方式に合うシェーダーが見つかりません\n" + body);
            else Debug.Log("[ServiceSim] 描画方式のしらべ\n" + body);
        }

        [MenuItem("ServiceSim/Use Store Layout/Family (ファミレス型)", false, 30)]
        public static void UseFamilyLayout() { SwitchLayout(FamilyLayoutPath); }

        [MenuItem("ServiceSim/Use Store Layout/Grid (格子型・比べる用)", false, 31)]
        public static void UseGridLayout() { SwitchLayout(GridLayoutPath); }

        static void SwitchLayout(string path)
        {
            StoreLayout layout = AssetDatabase.LoadAssetAtPath<StoreLayout>(path);
            if (layout == null)
            {
                Debug.LogError("[ServiceSim] " + path + " が読めません。先に ServiceSim/Setup を実行してください");
                return;
            }
            StoreBuilder builder = UnityEngine.Object.FindObjectOfType<StoreBuilder>();
            NavMeshBaker baker = UnityEngine.Object.FindObjectOfType<NavMeshBaker>();
            if (builder == null)
            {
                Debug.LogError("[ServiceSim] シーンに StoreBuilder がありません。ServiceSim_Family シーンを開いてください");
                return;
            }
            builder.layout = layout;
            if (baker != null) baker.layout = layout;
            EditorUtility.SetDirty(builder);
            if (baker != null) EditorUtility.SetDirty(baker);
            EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene());
            Debug.Log("[ServiceSim] 店の形を切り替えました: " + layout.name + "（" + layout.StoreKindName + "）" +
                      "\n  このあと ServiceSim/Build Store を実行してください");
        }

        [MenuItem("ServiceSim/Setup (アセット・prefab・シーンを作る)", false, 10)]
        public static void Setup()
        {
            // まず描画方式を確かめる。合うシェーダーが無ければ何も作らずに止める
            string how;
            _shader = ServiceSimRender.FindOpaqueShader(out how);
            if (_shader == null)
            {
                Debug.LogError("[ServiceSim] この描画方式に合うシェーダーが見つかりません。" +
                               "マテリアルを作らずに止めました。\n" +
                               ServiceSimRender.Describe() + "探した結果: " + how);
                return;
            }
            _materialsFixed = 0;

            if (!EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
            {
                Debug.Log("[ServiceSim] Setup を取りやめました");
                return;
            }

            EnsureFolders();

            // 前の版の StoreLayout_Family.asset（格子型）は種類が変わったので、
            // Unity が見ないフォルダ（old~）へ寄せておく。消さない
            string moved = MoveStaleFamilyLayoutAside();

            Scene scene;
            if (File.Exists(ScenePath))
            {
                scene = EditorSceneManager.OpenScene(ScenePath, OpenSceneMode.Single);
            }
            else
            {
                scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single);
                EditorSceneManager.SaveScene(scene, ScenePath);
                scene = EditorSceneManager.OpenScene(ScenePath, OpenSceneMode.Single);
            }

            // 設定ファイル（数字の置き場所）
            BandStoreLayout family = LoadOrCreate<BandStoreLayout>(FamilyLayoutPath);
            LoadOrCreate<GridStoreLayout>(GridLayoutPath);
            RobotSpec robotSpec = LoadOrCreate<RobotSpec>(RobotSpecPath);
            PeopleSpec peopleSpec = LoadOrCreate<PeopleSpec>(PeopleSpecPath);
            ExperimentPlan plan = LoadOrCreate<ExperimentPlan>(ExperimentPlanPath);
            ServiceSpec serviceSpec = LoadOrCreate<ServiceSpec>(ServiceSpecPath);

            // 見た目。真上から見て、床・通路・卓・椅子・ベンチ・人・ロボットが見分けられる色にする
            Material matFloor = Mat("Mat_Floor", new Color(0.86f, 0.84f, 0.79f));        // 床：明るいクリーム
            Material matAisle = Mat("Mat_Aisle", new Color(0.52f, 0.58f, 0.67f));        // 通路：青灰色
            Material matWall = Mat("Mat_Wall", new Color(0.40f, 0.43f, 0.48f));          // 壁・厨房・事務所
            Material matBench = Mat("Mat_Bench", new Color(0.55f, 0.29f, 0.26f));        // ベンチ・仕切り：暗い赤茶
            Material matTable = Mat("Mat_Table", new Color(0.86f, 0.62f, 0.30f));        // 卓：明るい木の色
            Material matChair = Mat("Mat_Chair", new Color(0.13f, 0.37f, 0.42f));        // 椅子：濃い青緑
            Material matCounter = Mat("Mat_Counter", new Color(0.20f, 0.22f, 0.26f));    // カウンター類：ほぼ黒
            Material matRobot = Mat("Mat_Robot", new Color(0.96f, 0.96f, 0.97f));        // ロボット：白
            Material matRobotFront = Mat("Mat_RobotFront", new Color(1.00f, 0.33f, 0.04f)); // ロボットの前：橙
            Material matStaff = Mat("Mat_Staff", StaffColor);                           // スタッフ：青
            Material matGuest = Mat("Mat_Guest", GuestColor);                           // 歩く客：黄
            Material matWaiting = Mat("Mat_WaitingGuest", WaitingColor);                // 待合の客：紫
            // ベンチの見た目（当たりなし）。色と素材はここ1か所で変えられる
            Material matBenchSeat = Mat("Mat_BenchSeat", new Color(0.62f, 0.33f, 0.29f));  // 座面：赤茶（明るめ）
            Material matBenchBack = Mat("Mat_BenchBack", new Color(0.48f, 0.25f, 0.22f));  // 背もたれ：赤茶（暗め）
            // 床の塗り分け（見た目だけ）。家具の色が透けて見える程度にして、光と影も乗せる
            Material matRobotFloor = TransparentMat("Mat_RobotFloor", new Color(0.45f, 0.78f, 0.95f, 0.35f));
            Material matPeopleFloor = TransparentMat("Mat_PeopleFloor", new Color(1.00f, 0.90f, 0.35f, 0.45f));

            // 部品（prefab）。無ければ作る
            EnsureBoxPrefab(StorePrefabDir + "/Floor.prefab", "Floor", matFloor, true);
            EnsureBoxPrefab(StorePrefabDir + "/Wall.prefab", "Wall", matWall, true);
            EnsureBoxPrefab(StorePrefabDir + "/Bench.prefab", "Bench", matBench, true);
            EnsureBoxPrefab(StorePrefabDir + "/Table_Booth4.prefab", "Table_Booth4", matTable, true);
            EnsureBoxPrefab(StorePrefabDir + "/KitchenPass.prefab", "KitchenPass", matCounter, true);
            // 通路の色板。当たりは付けない（NavMesh に焼かれないようにする）
            EnsureBoxPrefab(StorePrefabDir + "/AisleMark.prefab", "AisleMark", matAisle, false);
            // ベンチの見た目（座面・背もたれ）。当たりは付けない
            // （NavMesh・前のセンサー・左右の空きの測りに効かないようにする）
            EnsureBoxPrefab(StorePrefabDir + "/BenchSeat.prefab", "BenchSeat", matBenchSeat, false);
            EnsureBoxPrefab(StorePrefabDir + "/BenchBack.prefab", "BenchBack", matBenchBack, false);
            // ベンチの当たりの箱。大きさ・位置・高さはベンチのまま、**見た目を持たない**
            EnsureColliderOnlyBoxPrefab(StorePrefabDir + "/BenchBody.prefab", "BenchBody");
            // 色を変えたときに追いつくよう、すでにある prefab のマテリアルも合わせ直す
            SetPrefabMaterial(StorePrefabDir + "/BenchSeat.prefab", matBenchSeat);
            SetPrefabMaterial(StorePrefabDir + "/BenchBack.prefab", matBenchBack);
            EnsureChairPrefab(StorePrefabDir + "/Chair.prefab", matChair);
            EnsureRobotPrefab(Root + "/Robot/ServingRobot.prefab", robotSpec, matRobot, matRobotFront);
            EnsureWalkerPrefab(Root + "/People/Staff.prefab", "Staff", peopleSpec, matStaff, WalkerKind.Staff);
            EnsureWalkerPrefab(Root + "/People/Guest.prefab", "Guest", peopleSpec, matGuest, WalkerKind.Guest);
            EnsureWalkerPrefab(Root + "/People/WaitingGuest.prefab", "WaitingGuest", peopleSpec, matWaiting, WalkerKind.Waiting);
            EnsureSeatedGuestPrefab(Root + "/People/SeatedGuest.prefab", peopleSpec);
            EnsureSeatedBodyPrefab(SeatedBodyPrefabPath, peopleSpec, matGuest);

            // すでにある人の prefab の見た目を、胴＋頭にそろえる（当たり判定などは触らない）
            EnsurePersonLook(peopleSpec);

            // 種類の印（Tag）。あとで映像から見分ける学習に使う。いまは付けるだけ
            int tagsAdded = EnsureTags();
            SetPrefabTag(Root + "/Robot/ServingRobot.prefab", SimTags.Robot);
            SetPrefabTag(Root + "/People/Staff.prefab", SimTags.Staff);
            SetPrefabTag(Root + "/People/Guest.prefab", SimTags.Guest);
            SetPrefabTag(Root + "/People/WaitingGuest.prefab", SimTags.Guest);
            SetPrefabTag(SeatedBodyPrefabPath, SimTags.SeatedGuest);
            SetPrefabTag(StorePrefabDir + "/Chair.prefab", SimTags.Chair);
            SetPrefabTag(StorePrefabDir + "/BenchSeat.prefab", SimTags.Bench);
            SetPrefabTag(StorePrefabDir + "/BenchBack.prefab", SimTags.Bench);
            SetPrefabTag(StorePrefabDir + "/BenchBody.prefab", SimTags.Bench);

            // すでに作ってある prefab も直す。
            //  ・NavMeshAgent は切る（置く前に有効だと「NavMesh に近くないので作れません」の警告が出る）
            //  ・通路の色板の当たりは外す（NavMesh に焼かれないようにする）
            int agentsDisabled = 0;
            agentsDisabled += FixPrefab(Root + "/Robot/ServingRobot.prefab", true, false) ? 1 : 0;
            agentsDisabled += FixPrefab(Root + "/People/Staff.prefab", true, false) ? 1 : 0;
            agentsDisabled += FixPrefab(Root + "/People/Guest.prefab", true, false) ? 1 : 0;
            agentsDisabled += FixPrefab(Root + "/People/WaitingGuest.prefab", true, false) ? 1 : 0;
            int collidersRemoved = FixPrefab(StorePrefabDir + "/AisleMark.prefab", false, true) ? 1 : 0;
            collidersRemoved += FixPrefab(StorePrefabDir + "/BenchSeat.prefab", false, true) ? 1 : 0;
            collidersRemoved += FixPrefab(Root + "/People/SeatedGuestBody.prefab", false, true) ? 1 : 0;

            // 人の種類（止まった原因を分けるのに使う）を、すでにある prefab にも入れ直す
            int kindsFixed = 0;
            kindsFixed += FixPersonKind(Root + "/People/Staff.prefab", PersonKind.Staff) ? 1 : 0;
            kindsFixed += FixPersonKind(Root + "/People/Guest.prefab", PersonKind.Guest) ? 1 : 0;
            kindsFixed += FixPersonKind(Root + "/People/WaitingGuest.prefab", PersonKind.Waiting) ? 1 : 0;
            kindsFixed += FixPersonKind(Root + "/People/SeatedGuest.prefab", PersonKind.Seated) ? 1 : 0;

            // 直したあとに読み直す（保存し直すと、前に取った参照が使えなくなるため）
            AssetDatabase.Refresh();
            GameObject floorPrefab = Load(StorePrefabDir + "/Floor.prefab");
            GameObject wallPrefab = Load(StorePrefabDir + "/Wall.prefab");
            GameObject benchPrefab = Load(StorePrefabDir + "/Bench.prefab");
            GameObject tablePrefab = Load(StorePrefabDir + "/Table_Booth4.prefab");
            GameObject passPrefab = Load(StorePrefabDir + "/KitchenPass.prefab");
            GameObject aisleMarkPrefab = Load(StorePrefabDir + "/AisleMark.prefab");
            GameObject benchSeatPrefab = Load(StorePrefabDir + "/BenchSeat.prefab");
            GameObject chairPrefab = Load(StorePrefabDir + "/Chair.prefab");
            GameObject robotPrefab = Load(Root + "/Robot/ServingRobot.prefab");
            GameObject staffPrefab = Load(Root + "/People/Staff.prefab");
            GameObject guestPrefab = Load(Root + "/People/Guest.prefab");
            GameObject waitingPrefab = Load(Root + "/People/WaitingGuest.prefab");
            GameObject seatedPrefab = Load(Root + "/People/SeatedGuest.prefab");
            GameObject seatedBodyPrefab = Load(SeatedBodyPrefabPath);

            if (floorPrefab == null || wallPrefab == null || benchPrefab == null || tablePrefab == null ||
                passPrefab == null || aisleMarkPrefab == null || benchSeatPrefab == null ||
                chairPrefab == null || robotPrefab == null ||
                staffPrefab == null || guestPrefab == null || waitingPrefab == null || seatedPrefab == null)
            {
                Debug.LogError("[ServiceSim] prefab を用意できませんでした。止めます");
                return;
            }

            // シーンの組み立て（置くだけ。中身は持たない）
            GameObject root = FindOrCreateRoot(scene, "ServiceSim");

            GameObject storeGo = FindOrCreateChild(root.transform, "Store");
            StoreBuilder builder = Ensure<StoreBuilder>(storeGo);
            if (builder.layout == null) builder.layout = family;
            builder.floorPrefab = floorPrefab;
            builder.wallPrefab = wallPrefab;
            builder.benchPrefab = benchPrefab;
            builder.benchSeatPrefab = benchSeatPrefab;
            builder.benchBackPrefab = Load(StorePrefabDir + "/BenchBack.prefab");
            builder.benchBodyPrefab = Load(StorePrefabDir + "/BenchBody.prefab");
            builder.tablePrefab = tablePrefab;
            builder.chairPrefab = chairPrefab;
            builder.kitchenPassPrefab = passPrefab;
            builder.aisleMarkPrefab = aisleMarkPrefab;
            builder.robotFloorMaterial = matRobotFloor;
            builder.peopleFloorMaterial = matPeopleFloor;

            NavMeshBaker baker = Ensure<NavMeshBaker>(storeGo);
            baker.layout = builder.layout;
            baker.bakeRoot = storeGo.transform;
            baker.store = builder;
            baker.peopleRadius = peopleSpec.personRadius;   // 人用の NavMesh を焼く半径
            baker.registerBackArea = peopleSpec.registerBackArea;   // 店員側の区画（客は入れない）

            GameObject peopleGo = FindOrCreateChild(root.transform, "People");
            PeopleSpawner spawner = Ensure<PeopleSpawner>(peopleGo);
            spawner.spec = peopleSpec;
            spawner.store = builder;
            spawner.staffPrefab = staffPrefab;
            spawner.seatedGuestPrefab = seatedPrefab;
            spawner.seatedBodyPrefab = seatedBodyPrefab;
            spawner.service = serviceSpec;

            GameObject robotsGo = FindOrCreateChild(root.transform, "Robots");
            robotsGo.transform.position = Vector3.zero;

            // 店の回し方（卓の空き・料理の待ち行列・仕事板）と、1組ごとの流れ
            GameObject svcGo = FindOrCreateChild(root.transform, "Service");
            ServiceOps opsC = Ensure<ServiceOps>(svcGo);
            opsC.spec = serviceSpec;
            opsC.robotSpec = robotSpec;
            opsC.store = builder;

            GroupManager groupsC = Ensure<GroupManager>(svcGo);
            groupsC.spec = serviceSpec;
            groupsC.people = peopleSpec;
            groupsC.ops = opsC;
            groupsC.store = builder;
            groupsC.guestPrefab = guestPrefab;
            groupsC.waitingGuestPrefab = waitingPrefab;
            groupsC.bodyRoot = svcGo.transform;

            JamWatcher jamsC = Ensure<JamWatcher>(svcGo);
            jamsC.spec = peopleSpec;
            jamsC.ops = opsC;
            jamsC.store = builder;

            spawner.ops = opsC;

            GameObject expGo = FindOrCreateChild(root.transform, "Experiment");
            ExperimentRunner runner = Ensure<ExperimentRunner>(expGo);
            runner.plan = plan;
            runner.service = serviceSpec;
            // サイトの試算の値（v5 3章）。無くてもこれまでの回し方はできる
            runner.simParams = AssetDatabase.LoadAssetAtPath<SimParams>(SimParamsPath);
            runner.ops = opsC;
            runner.groups = groupsC;
            runner.jams = jamsC;
            runner.store = builder;
            runner.baker = baker;
            runner.people = spawner;
            runner.robotSpec = robotSpec;
            runner.robotPrefab = robotPrefab;
            runner.robotsRoot = robotsGo.transform;
            runner.runOnPlay = false;      // メニューから回すときだけ立てる
            EditorUtility.SetDirty(runner);

            EnsureLighting(root.transform);
            EnsureCameras(root.transform);

            EditorUtility.SetDirty(builder);
            EditorUtility.SetDirty(baker);
            EditorUtility.SetDirty(spawner);
            EditorUtility.SetDirty(opsC);
            EditorUtility.SetDirty(groupsC);
            EditorUtility.SetDirty(jamsC);
            EditorSceneManager.MarkSceneDirty(scene);
            EditorSceneManager.SaveScene(scene, ScenePath);

            // .asset に書かれていない項目を、いまの初期値で書きそろえる。
            // すでに書かれている値は、読み込んだときにそのまま入っているので上書きされない。
            string added = FillMissingAssetFields(new ScriptableObject[]
            {
                family, robotSpec, peopleSpec, plan, serviceSpec,
                AssetDatabase.LoadAssetAtPath<StoreLayout>(GridLayoutPath)
            });

            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();

            Debug.Log("[ServiceSim] Setup おわり。" +
                      "\n  .asset に書き足した項目: " + (added.Length > 0 ? added : "なし") +
                      "\n  描画方式: " + (CurrentPipeline() == null ? "Built-in" : CurrentPipeline().GetType().Name) +
                      "\n  使うシェーダー: " + _shader.name + "（" + how + "）" +
                      "\n  シェーダーを直したマテリアル: " + _materialsFixed + " 個" +
                      "\n  NavMeshAgent を切った prefab: " + agentsDisabled + " 個" +
                      "\n  当たりを外した通路板: " + collidersRemoved + " 個" +
                      "\n  人の種類を直した prefab: " + kindsFixed + " 個" +
                      (moved.Length > 0 ? "\n  前の版の店の設定を寄せました: " + moved : "") +
                      "\n  いまの店の形: " + builder.layout.name + "（" + builder.layout.StoreKindName + "）" +
                      "\n  店の設定: " + FamilyLayoutPath + " / " + GridLayoutPath +
                      "\n  シーン: " + ScenePath + "（run_name=" + plan.runName + "）" +
                      "\n  ※ このシーンはビルド設定に足していません" +
                      "\n  種類の印（Tag）: " + SimTags.All.Length + " 種（新しく作った " + tagsAdded + " 種）");
        }

        // ---------------- .asset の項目を書きそろえる ----------------

        /// <summary>
        /// .asset に書かれていない項目を、いまの初期値で書き出す。
        /// Unity は .asset を読むとき、書かれていない項目に C# の初期値を入れる。
        /// そのまま SetDirty して保存すると、読み込んだ値はそのまま・足りない項目だけが増える。
        ///
        /// これをしないと、設計書の「数字はすべて .asset に置く」が守られず、
        /// 実際の値が .cs の初期値になってしまう。
        /// 何を書き足したかを返す（報告に出す）。
        /// </summary>
        static string FillMissingAssetFields(ScriptableObject[] assets)
        {
            List<string> added = new List<string>();

            for (int i = 0; i < assets.Length; i++)
            {
                ScriptableObject a = assets[i];
                if (a == null) continue;

                string path = AssetDatabase.GetAssetPath(a);
                if (string.IsNullOrEmpty(path)) continue;

                HashSet<string> before = TopLevelKeys(path);
                EditorUtility.SetDirty(a);
                AssetDatabase.SaveAssets();

                HashSet<string> after = TopLevelKeys(path);
                foreach (string k in after)
                    if (!before.Contains(k)) added.Add(a.name + "." + k);
            }

            if (added.Count == 0) return "";
            added.Sort();
            return string.Join(", ", added.ToArray());
        }

        /// <summary>.asset（YAML）の、いちばん外側の項目の名前を集める</summary>
        static HashSet<string> TopLevelKeys(string path)
        {
            HashSet<string> keys = new HashSet<string>();
            if (!File.Exists(path)) return keys;

            string[] lines = File.ReadAllLines(path);
            for (int i = 0; i < lines.Length; i++)
            {
                string line = lines[i];
                // MonoBehaviour の中身は半角スペース2つ下げ。さらに下げた行は中の要素なので見ない
                if (!line.StartsWith("  ") || line.StartsWith("   ")) continue;
                int colon = line.IndexOf(':');
                if (colon <= 2) continue;
                string name = line.Substring(2, colon - 2).Trim();
                if (name.Length == 0 || name.StartsWith("-")) continue;
                keys.Add(name);
            }
            return keys;
        }

        static UnityEngine.Rendering.RenderPipelineAsset CurrentPipeline()
        {
            return UnityEngine.Rendering.GraphicsSettings.currentRenderPipeline;
        }

        // ---------------- 前の版の .asset を寄せる ----------------

        /// <summary>
        /// StoreLayout_Family.asset が前の版（格子型）のままなら、Unity が見ないフォルダへ寄せる。
        /// 消さない。寄せたら、そのパスを返す。
        /// </summary>
        static string MoveStaleFamilyLayoutAside()
        {
            if (!File.Exists(FamilyLayoutPath)) return "";
            if (AssetDatabase.LoadAssetAtPath<BandStoreLayout>(FamilyLayoutPath) != null) return "";

            try
            {
                Directory.CreateDirectory(OldDir);
                string dst = OldDir + "/StoreLayout_Family_v0_grid.asset";
                int n = 1;
                while (File.Exists(dst))
                {
                    dst = OldDir + "/StoreLayout_Family_v0_grid_" + n.ToString() + ".asset";
                    n++;
                }
                File.Move(FamilyLayoutPath, dst);
                if (File.Exists(FamilyLayoutPath + ".meta")) File.Move(FamilyLayoutPath + ".meta", dst + ".meta");
                AssetDatabase.Refresh();
                return dst;
            }
            catch (Exception e)
            {
                Debug.LogError("[ServiceSim] 前の版の " + FamilyLayoutPath + " を寄せられませんでした。" +
                               "手で消すか動かしてから、もう一度 Setup を実行してください\n" + e.Message);
                return "";
            }
        }

        // ---------------- フォルダ ----------------

        static void EnsureFolders()
        {
            EnsureFolder("Assets", "ServiceSim");
            EnsureFolder(Root, "Scenes");
            EnsureFolder(Root, "Store");
            EnsureFolder(Root + "/Store", "Prefabs");
            EnsureFolder(Root + "/Store", "Materials");
            EnsureFolder(Root, "Robot");
            EnsureFolder(Root, "People");
            EnsureFolder(Root, "Experiment");
            EnsureFolder(Root, "Service");
            EnsureFolder(Root, "Recording");
        }

        static void EnsureFolder(string parent, string name)
        {
            string path = parent + "/" + name;
            if (!AssetDatabase.IsValidFolder(path)) AssetDatabase.CreateFolder(parent, name);
        }

        // ---------------- 設定ファイル ----------------

        static T LoadOrCreate<T>(string path) where T : ScriptableObject
        {
            T asset = AssetDatabase.LoadAssetAtPath<T>(path);
            if (asset != null) return asset;
            asset = ScriptableObject.CreateInstance<T>();
            AssetDatabase.CreateAsset(asset, path);
            return asset;
        }

        // ---------------- 見た目 ----------------

        /// <summary>
        /// マテリアルを用意する。新しく作るときは色も付ける。
        /// すでにあるときはシェーダーだけ確かめて、合っていなければ直し、
        /// そのときだけ色も付け直す（手で変えた色を毎回消さないため）。
        /// </summary>
        static Material Mat(string name, Color color)
        {
            string path = MatDir + "/" + name + ".mat";
            Material mat = AssetDatabase.LoadAssetAtPath<Material>(path);

            if (mat == null)
            {
                mat = new Material(_shader);
                ServiceSimRender.ApplyLook(mat, color);
                AssetDatabase.CreateAsset(mat, path);
                return mat;
            }

            bool wrong = mat.shader == null
                         || mat.shader != _shader
                         || mat.shader.name == ServiceSimRender.ErrorShaderName
                         || !mat.shader.isSupported;
            if (wrong)
            {
                mat.shader = _shader;
                ServiceSimRender.ApplyLook(mat, color);
                EditorUtility.SetDirty(mat);
                _materialsFixed++;
            }
            return mat;
        }

        // ---------------- 部品 ----------------

        /// <summary>
        /// 透けて光が乗るマテリアルを作る（床の塗り分け用）。
        /// すでにあればシェーダーと色だけ合わせ直す（止まっているときと再生中で同じ見た目にする）。
        /// </summary>
        static Material TransparentMat(string name, Color color)
        {
            string how;
            Shader sh = ServiceSimRender.FindTransparentLitShader(out how);
            string path = MatDir + "/" + name + ".mat";
            Material mat = AssetDatabase.LoadAssetAtPath<Material>(path);

            if (mat == null)
            {
                mat = new Material(sh != null ? sh : _shader);
                AssetDatabase.CreateAsset(mat, path);
            }
            if (sh != null && mat.shader != sh) { mat.shader = sh; _materialsFixed++; }

            mat.color = color;
            if (mat.HasProperty("_BaseColor")) mat.SetColor("_BaseColor", color);

            // Standard しか無いときは、透過の設定も入れる
            if (mat.shader != null && mat.shader.name == "Standard")
            {
                mat.SetFloat("_Mode", 3f);
                mat.SetOverrideTag("RenderType", "Transparent");
                mat.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);
                mat.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
                mat.SetInt("_ZWrite", 0);
                mat.DisableKeyword("_ALPHATEST_ON");
                mat.EnableKeyword("_ALPHABLEND_ON");
                mat.renderQueue = 3000;
            }
            EditorUtility.SetDirty(mat);
            return mat;
        }

        static void EnsureBoxPrefab(string path, string name, Material mat, bool withCollider)
        {
            if (AssetDatabase.LoadAssetAtPath<GameObject>(path) != null) return;

            GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
            go.name = name;
            SetMaterial(go, mat);
            if (!withCollider)
            {
                Collider col = go.GetComponent<Collider>();
                if (col != null) UnityEngine.Object.DestroyImmediate(col);
            }
            PrefabUtility.SaveAsPrefabAsset(go, path);
            UnityEngine.Object.DestroyImmediate(go);
        }

        /// <summary>
        /// 当たりだけの箱（見た目を持たない）。ベンチの当たりの箱に使う。
        /// 大きさ・位置・高さは今までのベンチと同じなので、NavMesh も前のセンサーも変わらない。
        /// </summary>
        static void EnsureColliderOnlyBoxPrefab(string path, string name)
        {
            if (AssetDatabase.LoadAssetAtPath<GameObject>(path) != null) return;

            GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
            go.name = name;
            // 見た目だけ外す（当たりは残す）
            MeshRenderer mr = go.GetComponent<MeshRenderer>();
            if (mr != null) UnityEngine.Object.DestroyImmediate(mr);
            MeshFilter mf = go.GetComponent<MeshFilter>();
            if (mf != null) UnityEngine.Object.DestroyImmediate(mf);

            PrefabUtility.SaveAsPrefabAsset(go, path);
            UnityEngine.Object.DestroyImmediate(go);
        }

        /// <summary>prefab のマテリアルを合わせ直す（色を1か所で変えられるように）</summary>
        static void SetPrefabMaterial(string path, Material mat)
        {
            if (mat == null || !File.Exists(path)) return;

            GameObject contents = PrefabUtility.LoadPrefabContents(path);
            if (contents == null) return;
            try
            {
                bool changed = false;
                MeshRenderer[] rs = contents.GetComponentsInChildren<MeshRenderer>(true);
                for (int i = 0; i < rs.Length; i++)
                {
                    if (rs[i].sharedMaterial == mat) continue;
                    rs[i].sharedMaterial = mat;
                    changed = true;
                }
                if (changed) PrefabUtility.SaveAsPrefabAsset(contents, path);
            }
            finally { PrefabUtility.UnloadPrefabContents(contents); }
        }

        /// <summary>prefab に種類の印（Tag）を付ける</summary>
        static void SetPrefabTag(string path, string tag)
        {
            if (string.IsNullOrEmpty(tag) || !File.Exists(path)) return;

            GameObject contents = PrefabUtility.LoadPrefabContents(path);
            if (contents == null) return;
            try
            {
                if (contents.tag == tag) return;
                contents.tag = tag;
                PrefabUtility.SaveAsPrefabAsset(contents, path);
            }
            catch (UnityException)
            {
                Debug.LogWarning("[ServiceSim] Tag \"" + tag + "\" を付けられませんでした: " + path);
            }
            finally { PrefabUtility.UnloadPrefabContents(contents); }
        }

        /// <summary>
        /// 種類の印（Tag）を ProjectSettings/TagManager.asset に足す。
        /// Tag は物理にも NavMesh にも効かないので、測る数字は変わらない。
        /// **Assets/ServiceSim の外に出るのはここだけ**（LABEL_RULES.md に書いてある）。
        /// </summary>
        static int EnsureTags()
        {
            int added = 0;
            for (int i = 0; i < SimTags.All.Length; i++)
            {
                string tag = SimTags.All[i];
                if (System.Array.IndexOf(UnityEditorInternal.InternalEditorUtility.tags, tag) >= 0) continue;
                UnityEditorInternal.InternalEditorUtility.AddTag(tag);
                added++;
            }
            return added;
        }

        static void EnsureChairPrefab(string path, Material mat)
        {
            if (AssetDatabase.LoadAssetAtPath<GameObject>(path) != null) return;

            GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
            go.name = "Chair";
            SetMaterial(go, mat);

            NavMeshObstacle obstacle = go.AddComponent<NavMeshObstacle>();
            obstacle.shape = NavMeshObstacleShape.Box;
            obstacle.center = Vector3.zero;
            obstacle.size = Vector3.one;
            obstacle.carving = true;
            obstacle.carveOnlyStationary = false;
            obstacle.enabled = false;        // 引かれているあいだだけ有効にする

            go.AddComponent<Chair>();

            PrefabUtility.SaveAsPrefabAsset(go, path);
            UnityEngine.Object.DestroyImmediate(go);
        }

        static void EnsureRobotPrefab(string path, RobotSpec spec, Material body, Material front)
        {
            if (AssetDatabase.LoadAssetAtPath<GameObject>(path) != null) return;

            float r = spec.Radius;
            float h = spec.height;

            GameObject go = new GameObject("ServingRobot");

            GameObject bodyGo = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
            bodyGo.name = "Body";
            bodyGo.transform.SetParent(go.transform, false);
            bodyGo.transform.localPosition = new Vector3(0f, h * 0.5f, 0f);
            bodyGo.transform.localScale = new Vector3(spec.diameter, h * 0.5f, spec.diameter);
            UnityEngine.Object.DestroyImmediate(bodyGo.GetComponent<Collider>());
            SetMaterial(bodyGo, body);

            GameObject frontGo = GameObject.CreatePrimitive(PrimitiveType.Cube);
            frontGo.name = "FrontMark";
            frontGo.transform.SetParent(go.transform, false);
            frontGo.transform.localPosition = new Vector3(0f, h * 0.86f, r * 0.9f);
            frontGo.transform.localScale = new Vector3(spec.diameter * 0.7f, 0.08f, 0.08f);
            UnityEngine.Object.DestroyImmediate(frontGo.GetComponent<Collider>());
            SetMaterial(frontGo, front);

            CapsuleCollider col = go.AddComponent<CapsuleCollider>();
            col.radius = r;
            col.height = h;
            col.center = new Vector3(0f, h * 0.5f, 0f);

            NavMeshAgent agent = go.AddComponent<NavMeshAgent>();
            agent.radius = r;
            agent.height = h;
            agent.speed = spec.maxSpeed;
            agent.acceleration = spec.acceleration;
            agent.angularSpeed = spec.turnSpeedDegPerSec;
            agent.obstacleAvoidanceType = ObstacleAvoidanceType.NoObstacleAvoidance;
            agent.avoidancePriority = spec.avoidancePriority;
            agent.autoRepath = false;
            agent.updatePosition = false;
            agent.updateRotation = false;
            agent.enabled = false;   // 置いたあとに有効にする（警告を出さないため）

            ServingRobotController controller = go.AddComponent<ServingRobotController>();
            FrontSensor sensor = go.AddComponent<FrontSensor>();
            sensor.spec = spec;
            sensor.owner = controller;
            controller.spec = spec;
            controller.sensor = sensor;

            PrefabUtility.SaveAsPrefabAsset(go, path);
            UnityEngine.Object.DestroyImmediate(go);
        }

        /// <summary>
        /// 人の見た目（胴＋頭）を作る。立っている人も座っている客も同じ作りにする。
        /// 当たり判定は付けない（親が持っているものには触れない）。
        ///   bottomY … 足もと（立っている人は 0、座っている客は座面の高さ）
        ///   topY    … 頭の先（立っている人は背の高さ、座っている客は 1.35 m）
        /// すでにある "Body" と "Head" は作り直す。ほかの子どもと親の部品には触れない。
        /// </summary>
        static void BuildPersonLook(GameObject root, float radius, float bottomY, float topY, Material mat)
        {
            if (root == null) return;

            for (int i = root.transform.childCount - 1; i >= 0; i--)
            {
                Transform c = root.transform.GetChild(i);
                if (c.name == "Body" || c.name == "Head")
                    UnityEngine.Object.DestroyImmediate(c.gameObject);
            }

            float span = Mathf.Max(0.2f, topY - bottomY);
            float headR = Mathf.Min(0.11f, span * 0.25f);
            float headCenter = topY - headR;
            float bodyH = Mathf.Max(0.1f, headCenter - bottomY);   // 頭は胴に少し食い込ませる

            GameObject body = GameObject.CreatePrimitive(PrimitiveType.Capsule);
            body.name = "Body";
            body.transform.SetParent(root.transform, false);
            body.transform.localPosition = new Vector3(0f, bottomY + bodyH * 0.5f, 0f);
            body.transform.localScale = new Vector3(radius * 2f, bodyH * 0.5f, radius * 2f);
            UnityEngine.Object.DestroyImmediate(body.GetComponent<Collider>());
            SetMaterial(body, mat);

            GameObject head = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            head.name = "Head";
            head.transform.SetParent(root.transform, false);
            head.transform.localPosition = new Vector3(0f, headCenter, 0f);
            head.transform.localScale = new Vector3(headR * 2f, headR * 2f, headR * 2f);
            UnityEngine.Object.DestroyImmediate(head.GetComponent<Collider>());
            SetMaterial(head, mat);
        }

        /// <summary>
        /// すでにある人の prefab の **見た目だけ** を胴＋頭に取り替える。
        /// 当たり判定・NavMeshAgent・PersonBody・よける処理・Tag には触れない。
        /// もう胴＋頭になっていれば何もしない。
        /// </summary>
        static bool FixWalkerLook(string path, PeopleSpec spec, Material mat)
        {
            if (!File.Exists(path) || spec == null || mat == null) return false;

            GameObject contents = PrefabUtility.LoadPrefabContents(path);
            if (contents == null) return false;
            try
            {
                float r = spec.personRadius;
                float h = spec.personHeight;

                Transform head = contents.transform.Find("Head");
                if (head != null &&
                    Mathf.Abs(head.localPosition.y + head.localScale.y * 0.5f - h) < 0.001f)
                    return false;                       // もう同じ形

                BuildPersonLook(contents, r, 0f, h, mat);
                PrefabUtility.SaveAsPrefabAsset(contents, path);
                return true;
            }
            finally { PrefabUtility.UnloadPrefabContents(contents); }
        }

        static void EnsureWalkerPrefab(string path, string name, PeopleSpec spec, Material mat, WalkerKind kind)
        {
            if (AssetDatabase.LoadAssetAtPath<GameObject>(path) != null) return;

            float r = spec.personRadius;
            float h = spec.personHeight;

            GameObject go = new GameObject(name);

            // 見た目は胴＋頭（座っている客と同じ作り）。当たり判定はこの下で別に付ける
            BuildPersonLook(go, r, 0f, h, mat);

            CapsuleCollider col = go.AddComponent<CapsuleCollider>();
            col.radius = r;
            col.height = h;
            col.center = new Vector3(0f, h * 0.5f, 0f);

            NavMeshAgent agent = go.AddComponent<NavMeshAgent>();
            agent.radius = r;
            agent.height = h;
            agent.speed = kind == WalkerKind.Staff ? spec.staffSpeed : spec.guestSpeed;
            agent.acceleration = spec.acceleration;
            agent.angularSpeed = spec.angularSpeedDegPerSec;
            agent.stoppingDistance = spec.stoppingDistance;
            agent.obstacleAvoidanceType = spec.avoidanceQuality;
            agent.avoidancePriority = spec.avoidancePriority;
            agent.enabled = false;   // 置いたあとに有効にする（警告を出さないため）

            PersonBody personBody = go.AddComponent<PersonBody>();
            personBody.radius = r;
            personBody.walksInAisle = kind != WalkerKind.Waiting;   // 待合に立つ客は通路を歩かない
            personBody.kind = kind == WalkerKind.Staff ? PersonKind.Staff
                            : kind == WalkerKind.Waiting ? PersonKind.Waiting
                            : PersonKind.Guest;

            if (kind == WalkerKind.Staff) { StaffAgent a = go.AddComponent<StaffAgent>(); a.spec = spec; }
            else if (kind == WalkerKind.Guest) { GuestAgent a = go.AddComponent<GuestAgent>(); a.spec = spec; }
            else { WaitingGuest a = go.AddComponent<WaitingGuest>(); a.spec = spec; }

            PrefabUtility.SaveAsPrefabAsset(go, path);
            UnityEngine.Object.DestroyImmediate(go);
        }

        /// <summary>
        /// 座っている客の形（見た目だけ）。立っている客と同じ黄色で、背を低くする。
        /// 当たり判定・PersonBody・NavMeshAgent は付けない
        /// （NavMesh にも、前のセンサーにも、人の数の記録にも効かないようにする）。
        /// </summary>
        /// <summary>
        /// 立っている人（スタッフ・歩く客・待合の客）の見た目を、胴＋頭にそろえる。
        /// Setup を押していなくても Build Store だけで揃うようにするための出口。
        /// 取り替えるのは見た目（Renderer）だけで、
        /// 当たり判定・NavMeshAgent・PersonBody・よける処理・Tag には触れない。
        /// 作り直した prefab の数を返す。
        /// </summary>
        public static int EnsurePersonLook(PeopleSpec spec)
        {
            if (spec == null) return 0;
            if (_shader == null)
            {
                string how;
                _shader = ServiceSimRender.FindOpaqueShader(out how);
                if (_shader == null) return 0;
            }

            int fixedCount = 0;
            fixedCount += FixWalkerLook(Root + "/People/Staff.prefab",
                                        spec, Mat("Mat_Staff", StaffColor)) ? 1 : 0;
            fixedCount += FixWalkerLook(Root + "/People/Guest.prefab",
                                        spec, Mat("Mat_Guest", GuestColor)) ? 1 : 0;
            fixedCount += FixWalkerLook(Root + "/People/WaitingGuest.prefab",
                                        spec, Mat("Mat_WaitingGuest", WaitingColor)) ? 1 : 0;
            if (fixedCount > 0)
                Debug.Log("[ServiceSim] 立っている人の見た目を胴＋頭にそろえました（" + fixedCount +
                          " 体ぶん・背の高さ " + spec.personHeight.ToString("0.##") + " m）。" +
                          "当たり判定・NavMeshAgent・PersonBody は触っていません");
            return fixedCount;
        }

        /// <summary>
        /// ベンチの見た目（座面・背もたれ）と、当たりだけの箱を用意して StoreBuilder に入れる。
        /// Setup を押していなくても Build Store だけで揃うようにするための出口（v5）。
        /// 当たりの箱の大きさ・位置・高さは今までのベンチと同じなので、
        /// NavMesh も前のセンサーも、通れる床も卓までの道のりも変わらない。
        /// </summary>
        public static bool EnsureBenchLook(StoreBuilder builder)
        {
            if (builder == null) return false;
            if (_shader == null)
            {
                string how;
                _shader = ServiceSimRender.FindOpaqueShader(out how);
                if (_shader == null)
                {
                    Debug.LogError("[ServiceSim] 描画方式に合うシェーダーが見つかりません。" +
                                   "ベンチの見た目は作りませんでした（探した結果: " + how + "）");
                    return false;
                }
            }

            EnsureTags();

            Material seatMat = Mat("Mat_BenchSeat", new Color(0.62f, 0.33f, 0.29f));
            Material backMat = Mat("Mat_BenchBack", new Color(0.48f, 0.25f, 0.22f));
            EnsureBoxPrefab(StorePrefabDir + "/BenchSeat.prefab", "BenchSeat", seatMat, false);
            EnsureBoxPrefab(StorePrefabDir + "/BenchBack.prefab", "BenchBack", backMat, false);
            EnsureColliderOnlyBoxPrefab(StorePrefabDir + "/BenchBody.prefab", "BenchBody");
            SetPrefabMaterial(StorePrefabDir + "/BenchSeat.prefab", seatMat);
            SetPrefabMaterial(StorePrefabDir + "/BenchBack.prefab", backMat);
            SetPrefabTag(StorePrefabDir + "/BenchSeat.prefab", SimTags.Bench);
            SetPrefabTag(StorePrefabDir + "/BenchBack.prefab", SimTags.Bench);
            SetPrefabTag(StorePrefabDir + "/BenchBody.prefab", SimTags.Bench);
            SetPrefabTag(StorePrefabDir + "/Chair.prefab", SimTags.Chair);
            SetPrefabTag(Root + "/Robot/ServingRobot.prefab", SimTags.Robot);
            SetPrefabTag(Root + "/People/Staff.prefab", SimTags.Staff);
            SetPrefabTag(Root + "/People/Guest.prefab", SimTags.Guest);
            SetPrefabTag(Root + "/People/WaitingGuest.prefab", SimTags.Guest);
            SetPrefabTag(SeatedBodyPrefabPath, SimTags.SeatedGuest);

            bool changed = false;
            changed |= Assign(ref builder.benchSeatPrefab, StorePrefabDir + "/BenchSeat.prefab");
            changed |= Assign(ref builder.benchBackPrefab, StorePrefabDir + "/BenchBack.prefab");
            changed |= Assign(ref builder.benchBodyPrefab, StorePrefabDir + "/BenchBody.prefab");
            if (changed) EditorUtility.SetDirty(builder);
            return true;
        }

        static bool Assign(ref GameObject field, string path)
        {
            GameObject want = AssetDatabase.LoadAssetAtPath<GameObject>(path);
            if (want == null || field == want) return false;
            field = want;
            return true;
        }

        /// <summary>
        /// 座っている客の形を用意して返す（Build Store からも呼ぶ）。
        /// 10/21 の分では、この prefab を作る前から参照だけしていたので、席に何も出ていなかった。
        /// </summary>
        public static GameObject EnsureSeatedBodyPrefab(PeopleSpec spec)
        {
            if (spec == null) return null;
            if (_shader == null)
            {
                string how;
                _shader = ServiceSimRender.FindOpaqueShader(out how);
                if (_shader == null)
                {
                    Debug.LogError("[ServiceSim] 描画方式に合うシェーダーが見つかりません。" +
                                   "座っている客の形は作りませんでした（探した結果: " + how + "）");
                    return null;
                }
            }
            EnsureSeatedBodyPrefab(SeatedBodyPrefabPath, spec, Mat("Mat_Guest", GuestColor));
            return AssetDatabase.LoadAssetAtPath<GameObject>(SeatedBodyPrefabPath);
        }

        static void EnsureSeatedBodyPrefab(string path, PeopleSpec spec, Material mat)
        {
            float r = spec.personRadius;
            float h = spec.seatedBodyHeight;

            // すでにあっても、高さを変えたら作り直す（PeopleSpec.seatedBodyHeight が正）
            GameObject had = AssetDatabase.LoadAssetAtPath<GameObject>(path);
            if (had != null)
            {
                // 胴と頭の2つになっていて、頭の先が h と合っていれば、そのまま使う
                Transform head0 = had.transform.Find("Head");
                bool sameShape = had.transform.childCount == 2 && head0 != null &&
                                 Mathf.Abs(head0.localPosition.y + head0.localScale.y * 0.5f - h) < 0.001f;
                if (sameShape) return;
                AssetDatabase.DeleteAsset(path);
            }

            // 座面の高さから立ち上がる胴と、その上の頭。h は床から頭の先までの高さ
            float seat = Mathf.Clamp(spec.seatedSeatHeight, 0f, h - 0.3f);

            GameObject go = new GameObject("SeatedGuestBody");
            BuildPersonLook(go, r, seat, h, mat);

            PrefabUtility.SaveAsPrefabAsset(go, path);
            UnityEngine.Object.DestroyImmediate(go);
        }

        static void EnsureSeatedGuestPrefab(string path, PeopleSpec spec)
        {
            if (AssetDatabase.LoadAssetAtPath<GameObject>(path) != null) return;

            // 座っている客は、椅子を引く仕掛けだけ。見た目は持たない（計測に効かないため）
            GameObject go = new GameObject("SeatedGuest");

            PersonBody body = go.AddComponent<PersonBody>();
            body.radius = spec.personRadius;
            body.walksInAisle = false;
            body.kind = PersonKind.Seated;

            SeatedGuest seated = go.AddComponent<SeatedGuest>();
            seated.spec = spec;

            PrefabUtility.SaveAsPrefabAsset(go, path);
            UnityEngine.Object.DestroyImmediate(go);
        }

        /// <summary>
        /// すでにある prefab を直す（NavMeshAgent を切る／当たりを外す）。直したら true。
        /// 中身を開いて保存し直す公式の手順を使う。
        /// </summary>
        static bool FixPrefab(string path, bool disableAgent, bool removeCollider)
        {
            if (!File.Exists(path)) return false;

            GameObject contents = PrefabUtility.LoadPrefabContents(path);
            if (contents == null) return false;

            bool changed = false;
            try
            {
                if (disableAgent)
                {
                    NavMeshAgent agent = contents.GetComponent<NavMeshAgent>();
                    if (agent != null && agent.enabled) { agent.enabled = false; changed = true; }
                }
                if (removeCollider)
                {
                    Collider[] cols = contents.GetComponentsInChildren<Collider>(true);
                    for (int i = 0; i < cols.Length; i++)
                    {
                        UnityEngine.Object.DestroyImmediate(cols[i]);
                        changed = true;
                    }
                }
                if (changed) PrefabUtility.SaveAsPrefabAsset(contents, path);
            }
            finally
            {
                PrefabUtility.UnloadPrefabContents(contents);
            }
            return changed;
        }

        /// <summary>すでにある人の prefab に、人の種類を入れ直す。直したら true</summary>
        static bool FixPersonKind(string path, PersonKind kind)
        {
            if (!File.Exists(path)) return false;

            GameObject contents = PrefabUtility.LoadPrefabContents(path);
            if (contents == null) return false;

            bool changed = false;
            try
            {
                PersonBody body = contents.GetComponent<PersonBody>();
                if (body != null && body.kind != kind)
                {
                    body.kind = kind;
                    changed = true;
                }
                if (changed) PrefabUtility.SaveAsPrefabAsset(contents, path);
            }
            finally
            {
                PrefabUtility.UnloadPrefabContents(contents);
            }
            return changed;
        }

        static GameObject Load(string path)
        {
            return AssetDatabase.LoadAssetAtPath<GameObject>(path);
        }

        static void SetMaterial(GameObject go, Material mat)
        {
            if (mat == null) return;
            Renderer rend = go.GetComponent<Renderer>();
            if (rend != null) rend.sharedMaterial = mat;
        }

        // ---------------- シーンの骨 ----------------

        static GameObject FindOrCreateRoot(Scene scene, string name)
        {
            GameObject[] roots = scene.GetRootGameObjects();
            for (int i = 0; i < roots.Length; i++)
                if (roots[i].name == name) return roots[i];
            GameObject go = new GameObject(name);
            SceneManager.MoveGameObjectToScene(go, scene);
            return go;
        }

        static GameObject FindOrCreateChild(Transform parent, string name)
        {
            Transform t = parent.Find(name);
            if (t != null) return t.gameObject;
            GameObject go = new GameObject(name);
            go.transform.SetParent(parent, false);
            return go;
        }

        static T Ensure<T>(GameObject go) where T : Component
        {
            T c = go.GetComponent<T>();
            if (c == null) c = go.AddComponent<T>();
            return c;
        }

        static void EnsureLighting(Transform root)
        {
            GameObject lightsGo = FindOrCreateChild(root, "Lighting");

            GameObject sunGo = FindOrCreateChild(lightsGo.transform, "Sun");
            Light sun = Ensure<Light>(sunGo);
            sun.type = LightType.Directional;
            sun.intensity = 1.1f;
            sun.shadows = LightShadows.Soft;
            sun.color = new Color(1f, 0.98f, 0.94f);
            sunGo.transform.rotation = Quaternion.Euler(52f, -34f, 0f);

            GameObject fillGo = FindOrCreateChild(lightsGo.transform, "Fill");
            Light fill = Ensure<Light>(fillGo);
            fill.type = LightType.Directional;
            fill.intensity = 0.35f;
            fill.shadows = LightShadows.None;
            fill.color = new Color(0.85f, 0.9f, 1f);
            fillGo.transform.rotation = Quaternion.Euler(28f, 160f, 0f);

            RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Flat;
            RenderSettings.ambientLight = new Color(0.46f, 0.47f, 0.50f);
            RenderSettings.fog = false;
        }

        static void EnsureCameras(Transform root)
        {
            GameObject camsGo = FindOrCreateChild(root, "Cameras");

            GameObject mainGo = FindOrCreateChild(camsGo.transform, "Main Camera");
            Camera main = Ensure<Camera>(mainGo);
            main.clearFlags = CameraClearFlags.SolidColor;
            main.backgroundColor = new Color(0.13f, 0.14f, 0.17f);
            mainGo.tag = "MainCamera";

            GameObject topGo = FindOrCreateChild(camsGo.transform, "Cam_Top");
            Camera top = Ensure<Camera>(topGo);
            top.enabled = false;
            top.clearFlags = CameraClearFlags.SolidColor;
            top.backgroundColor = new Color(0.13f, 0.14f, 0.17f);

            GameObject obliqueGo = FindOrCreateChild(camsGo.transform, "Cam_Oblique");
            Camera oblique = Ensure<Camera>(obliqueGo);
            oblique.enabled = false;
            oblique.clearFlags = CameraClearFlags.SolidColor;
            oblique.backgroundColor = new Color(0.13f, 0.14f, 0.17f);

            // SRP が有効なときに必要な付属データを先に付けておく
            EnsureSrpCameraData(mainGo);
            EnsureSrpCameraData(topGo);
            EnsureSrpCameraData(obliqueGo);
        }

        /// <summary>
        /// URP / HDRP のカメラ付属データを、型名で探して付ける。
        /// URP が入っていなくてもコンパイルできるように、直接の参照は持たない。
        /// </summary>
        static void EnsureSrpCameraData(GameObject camGo)
        {
            if (UnityEngine.Rendering.GraphicsSettings.currentRenderPipeline == null) return;

            string[] typeNames =
            {
                "UnityEngine.Rendering.Universal.UniversalAdditionalCameraData, Unity.RenderPipelines.Universal.Runtime",
                "UnityEngine.Rendering.HighDefinition.HDAdditionalCameraData, Unity.RenderPipelines.HighDefinition.Runtime"
            };
            for (int i = 0; i < typeNames.Length; i++)
            {
                Type t = Type.GetType(typeNames[i]);
                if (t == null) continue;
                if (camGo.GetComponent(t) == null) camGo.AddComponent(t);
                return;
            }
        }
    }
}
```

### Assets/ServiceSim/Editor/ServiceSimMenu.cs

```csharp
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Text;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.SceneManagement;

namespace ServiceSim.EditorTools
{
    /// <summary>
    /// エディタのメニュー ServiceSim/… 。1クリックで動くようにする。
    /// 書き出すのは ExperimentPlan に書いた場所だけ。Assets/ServiceSim/ の外のアセットは変えない。
    /// </summary>
    public static class ServiceSimMenu
    {
        /// <summary>1つの店の形で測った結果</summary>
        class LayoutResult
        {
            public string assetName;
            public string kindName;
            public float[] widths;
            public Vector2[] outerSizes;
            public List<int> tableIds = new List<int>();
            public Dictionary<int, SeatKind> kinds = new Dictionary<int, SeatKind>();
            public Dictionary<int, Vector3> centers = new Dictionary<int, Vector3>();
            public Dictionary<int, Vector3> deliveries = new Dictionary<int, Vector3>();
            public Dictionary<int, string> aisleNames = new Dictionary<int, string>();
            public Dictionary<int, float[]> lengths = new Dictionary<int, float[]>();
            public Dictionary<int, string[]> statuses = new Dictionary<int, string[]>();
        }

        /// <summary>
        /// 店を組み立てて NavMesh を焼き、35卓の道のり・外寸・行き止まりの有無・
        /// スクリーンショットを書き出す。格子型の店とも比べる。
        /// 組み立てたものはシーンに保存しない（1クリックで作り直せるため）。
        /// </summary>
        [MenuItem("ServiceSim/Build Store", false, 20)]
        public static void BuildStore()
        {
            StoreBuilder builder;
            NavMeshBaker baker;
            PeopleSpawner spawner;
            Transform robotsRoot;
            if (!OpenSceneAndFind(out builder, out baker, out spawner, out robotsRoot)) return;

            StoreLayout mainLayout = builder.layout;
            ExperimentPlan plan = AssetDatabase.LoadAssetAtPath<ExperimentPlan>(ServiceSimSetup.ExperimentPlanPath);
            RobotSpec robotSpec = AssetDatabase.LoadAssetAtPath<RobotSpec>(ServiceSimSetup.RobotSpecPath);
            PeopleSpec peopleSpec = AssetDatabase.LoadAssetAtPath<PeopleSpec>(ServiceSimSetup.PeopleSpecPath);
            if (mainLayout == null || plan == null || robotSpec == null || peopleSpec == null)
            {
                Debug.LogError("[ServiceSim] 設定ファイルが見つかりません。先に ServiceSim/Setup を実行してください");
                return;
            }

            string shaderHow;
            Shader shader = ServiceSimRender.FindOpaqueShader(out shaderHow);
            if (shader == null)
            {
                Debug.LogError("[ServiceSim] この描画方式に合うシェーダーが見つかりません。撮らずに止めました。\n" +
                               ServiceSimRender.Describe() + "探した結果: " + shaderHow);
                return;
            }

            string outDir = plan.screenshotDir;
            try { Directory.CreateDirectory(outDir); }
            catch (Exception e)
            {
                Debug.LogError("[ServiceSim] 書き出し先を作れません: " + outDir + "\n" + e.Message);
                return;
            }

            // ベンチの見た目（座面・背もたれ）と、当たりだけの箱を、建てる前に用意して入れる。
            // 当たりの箱の大きさ・位置・高さは今までと同じなので、測る数字は変わらない
            ServiceSimSetup.EnsureBenchLook(builder);

            string prefix = DateTime.Now.ToString("yyyyMMdd") + "_" + plan.runName;
            int shotW = plan.screenshotWidth;
            int shotH = plan.screenshotHeight;
            Camera camTop = FindCamera(builder, "Cam_Top");
            Camera camOblique = FindCamera(builder, "Cam_Oblique");

            spawner.Clear();
            ClearChildren(robotsRoot);

            // ---- いまの店を、幅ごとに測る ----
            LayoutResult main = Measure(builder, baker, mainLayout, camTop, shotW, shotH, outDir, prefix, true);

            // ---- 行き止まり・席に入れるかの確かめ（いまの幅で）----
            builder.Build();
            baker.Bake();

            NavMeshQueryFilter robotFilter = baker.FilterFor(baker.RobotAgentTypeId);
            NavMeshQueryFilter peopleFilter = baker.FilterFor(baker.PeopleAgentTypeId);

            string seatAccess = CheckSeatAccess(builder);
            string regBack = CheckRegisterBack(builder, baker);
            string robotPaths = CheckRobotPathsOnRobotMesh(builder, baker);
            string aisleWidths =
                CheckAisleWidths(builder, robotFilter, mainLayout.navAgentRadius, "ロボット用") + "\n" +
                CheckAisleWidths(builder, peopleFilter, baker.PeopleRadius, "人用");
            string deadEnd =
                CheckNoDeadEnd(builder, baker, robotFilter, "ロボット用（半径 " +
                               F(mainLayout.navAgentRadius) + " m）") + "\n" +
                CheckNoDeadEnd(builder, baker, peopleFilter, "人用（半径 " +
                               F(baker.PeopleRadius) + " m）");

            // ---- 格子型の店とも比べる ----
            LayoutResult grid = null;
            StoreLayout gridLayout = AssetDatabase.LoadAssetAtPath<StoreLayout>(ServiceSimSetup.GridLayoutPath);
            if (gridLayout != null && gridLayout != mainLayout)
            {
                grid = Measure(builder, baker, gridLayout, null, shotW, shotH, outDir, prefix, false);
                builder.layout = mainLayout;
                baker.layout = mainLayout;
            }

            // ---- もとに戻して、人とロボットを置く ----
            builder.Build();
            baker.Bake();
            // 見た目の部品（当たりを持たないもの）。毎回かならず用意して入れ直す。
            // 10/21 の分では prefab を作る前から参照だけしていて、席に何も出ていなかった
            ServiceSimSeatedBody.Ensure(spawner, peopleSpec);
            ServiceSimSetup.EnsurePersonLook(peopleSpec);

            spawner.Spawn(0);
            // 座っている客の形を、慣らしと同じ埋まり方で出す（絵のため。当たりは持たない）
            int seatedShown = spawner.ShowSeatedPreview(peopleSpec.warmupOccupancy);
            int robots = SpawnPreviewRobots(robotsRoot, builder, 2);

            string nowLabel = "w" + Mm(mainLayout.AisleWidth);
            FloorPaint.Result paint = builder.PaintFloor(baker, PersonRadius());
            if (camTop != null && builder.Plan != null)
            {
                ServiceSimCameras.FrameTop(camTop, builder.Plan.floor, (float)shotW / shotH);
                ServiceSimLegend.Build(builder.FloorPaintRoot, camTop, (float)shotW / shotH,
                                       builder.robotFloorMaterial, builder.peopleFloorMaterial);
                Capture(camTop, shotW, shotH, Path.Combine(outDir, prefix + "_top_" + nowLabel + "_people.png"));
            }
            if (camOblique != null && builder.Plan != null)
            {
                ServiceSimCameras.FrameOblique(camOblique, builder.Plan.floor);
                Capture(camOblique, shotW, shotH, Path.Combine(outDir, prefix + "_oblique_" + nowLabel + "_people.png"));
            }

            string overhead = CheckOverhead(builder);

            // つながっていない面は、通行者の種類ごとに焼いた面を読んで調べる
            NavMeshTriangulation robotTri = baker.TriangulateFor(mainLayout.navAgentRadius);
            NavMeshTriangulation peopleTri = baker.TriangulateFor(baker.PeopleRadius);
            string navSurface =
                CheckNavMeshSurface(builder, robotTri, "ロボット用（半径 " +
                                    F(mainLayout.navAgentRadius) + " m）", robotFilter) + "\n" +
                CheckNavMeshSurface(builder, peopleTri, "人用（半径 " +
                                    F(baker.PeopleRadius) + " m）", peopleFilter);
            string noGo = CheckNoGoRooms(builder, robotTri);

            // ---- 書き出し ----
            WriteTableCsv(Path.Combine(outDir, prefix + "_table_path_lengths_family.csv"), main);
            if (grid != null)
                WriteTableCsv(Path.Combine(outDir, prefix + "_table_path_lengths_grid.csv"), grid);

            WriteStoreReport(Path.Combine(outDir, prefix + "_" + mainLayout.name + "_store_report.txt"),
                             mainLayout, robotSpec, plan, builder, spawner, robots,
                             main, grid, shaderHow, overhead, deadEnd, navSurface, seatAccess,
                             PaintText(mainLayout, paint), aisleWidths, noGo, regBack, robotPaths,
                             PlaceNamesReport(builder));

            TripLogger.WriteConditionsJson(
                Path.Combine(outDir, prefix + "_conditions.json"),
                plan.runName, mainLayout, robotSpec, peopleSpec, plan, plan.BuildConditions(mainLayout));

            EditorUtility.SetDirty(mainLayout);
            AssetDatabase.SaveAssets();

            Debug.Log("[ServiceSim] Build Store おわり。" +
                      "\n  店の形: " + mainLayout.name + "（" + mainLayout.StoreKindName + "）" +
                      "\n  卓: " + builder.Tables.Count + " / 細い通路: " + F(mainLayout.AisleWidth) + " m" +
                      " / 細い通路の数: " + NarrowCount(builder) +
                      "\n  外寸: " + F(builder.OuterSize.x) + " × " + F(builder.OuterSize.y) + " m" +
                      "\n  人: スタッフ " + spawner.StaffSpawned +
                      " / 座っている客の仕掛け " + spawner.SeatedSpawned +
                      "（席に出した形 " + seatedShown + " 体・高さ " +
                      F(peopleSpec.seatedBodyHeight) + " m・見た目だけ）" +
                      "\n  ロボット: " + robots +
                      "\n  シェーダー: " + shader.name +
                      "\n  入口まわり（ドリンクバー・待合・レジ）: " +
                      mainLayout.FrontFitReport().Replace("\n", "\n    ") +
                      "\n  ロボットの待機場所（B2）: " +
                      mainLayout.RobotStandbyReport().Replace("\n", "\n    ") +
                      "\n  床の塗り分け（見た目だけ）: " + PaintText(mainLayout, paint).Replace("\n", "\n    ") +
                      "\n  場所の名前: " + PlaceNamesReport(builder).Replace("\n", "\n    ") +
                      "\n  ロボットの経路: " + robotPaths.Replace("\n", "\n    ") +
                      "\n  レジの内側に入れるか: " + regBack.Replace("\n", "\n    ") +
                      "\n  細い通路の歩ける幅: " + aisleWidths.Replace("\n", "\n    ") +
                      "\n  通れない場所の NavMesh: " + noGo.Replace("\n", "\n    ") +
                      "\n  席に入れるかの確かめ: " + seatAccess.Replace("\n", "\n    ") +
                      "\n  行き止まりの確かめ: " + deadEnd.Replace("\n", "\n    ") +
                      "\n  真上からの見通し: " + overhead.Replace("\n", "\n    ") +
                      "\n  焼いた NavMesh: " + navSurface.Replace("\n", "\n    ") +
                      "\n  書き出し先: " + outDir +
                      "\n  ※ 組み立てたものはシーンに保存していません（Build Store で作り直せます）");
        }

        [MenuItem("ServiceSim/Clear Built Store", false, 21)]
        public static void ClearBuiltStore()
        {
            StoreBuilder builder;
            NavMeshBaker baker;
            PeopleSpawner spawner;
            Transform robotsRoot;
            if (!OpenSceneAndFind(out builder, out baker, out spawner, out robotsRoot)) return;

            spawner.Clear();
            ClearChildren(robotsRoot);
            baker.Remove();
            builder.Clear();
            Debug.Log("[ServiceSim] 組み立てたものを消しました");
        }

        // ---------------- 測る ----------------

        static LayoutResult Measure(StoreBuilder builder, NavMeshBaker baker, StoreLayout layout,
                                    Camera camTop, int shotW, int shotH,
                                    string outDir, string prefix, bool shoot)
        {
            builder.layout = layout;
            baker.layout = layout;

            LayoutResult res = new LayoutResult();
            res.assetName = layout.name;
            res.kindName = layout.StoreKindName;

            int n = Mathf.Max(1, layout.AisleWidthCount);
            res.widths = new float[n];
            res.outerSizes = new Vector2[n];

            int original = layout.aisleWidthIndex;
            float sampleRadius = layout.navAgentRadius * 4f;

            for (int wi = 0; wi < n; wi++)
            {
                layout.aisleWidthIndex = wi;
                res.widths[wi] = layout.AisleWidth;

                builder.Build();
                baker.Bake();
                res.outerSizes[wi] = builder.OuterSize;

                Vector3 from = builder.PassPoint;
                IList<StoreBuilder.TableInfo> tables = builder.Tables;
                for (int i = 0; i < tables.Count; i++)
                {
                    StoreBuilder.TableInfo t = tables[i];
                    if (!res.lengths.ContainsKey(t.tableId))
                    {
                        res.tableIds.Add(t.tableId);
                        res.lengths[t.tableId] = new float[n];
                        res.statuses[t.tableId] = new string[n];
                    }
                    res.kinds[t.tableId] = t.kind;
                    res.centers[t.tableId] = t.center;
                    res.deliveries[t.tableId] = t.deliveryPoint;
                    res.aisleNames[t.tableId] = AisleNameOf(builder, t.aisleIndex);

                    string status;
                    res.lengths[t.tableId][wi] = NavMeshBaker.PathLength(from, t.deliveryPoint, sampleRadius, out status);
                    res.statuses[t.tableId][wi] = status;
                }

                if (shoot && camTop != null && builder.Plan != null)
                {
                    // 床の塗り分けは幅ごとに作り直す（見た目だけ。NavMesh は変えない）
                    builder.PaintFloor(baker, PersonRadius());
                    ServiceSimCameras.FrameTop(camTop, builder.Plan.floor, (float)shotW / shotH);
                    ServiceSimLegend.Build(builder.FloorPaintRoot, camTop, (float)shotW / shotH,
                                           builder.robotFloorMaterial, builder.peopleFloorMaterial);
                    Capture(camTop, shotW, shotH,
                        Path.Combine(outDir, prefix + "_top_w" + Mm(res.widths[wi]) + ".png"));
                }
            }

            layout.aisleWidthIndex = original;
            res.tableIds.Sort();
            return res;
        }

        static string AisleNameOf(StoreBuilder builder, int index)
        {
            if (index < 0 || index >= builder.Aisles.Count) return "";
            return builder.Aisles[index].name;
        }

        static int NarrowCount(StoreBuilder builder)
        {
            int n = 0;
            for (int i = 0; i < builder.Aisles.Count; i++) if (builder.Aisles[i].narrow) n++;
            return n;
        }

        // ---------------- 行き止まりの確かめ ----------------

        /// <summary>
        /// 細い通路を1本ずつ、まん中でふさいでから焼き直し、
        /// 「ふさいだ場所にある卓」以外のすべての卓に届くかを確かめる。
        /// </summary>
        static string CheckNoDeadEnd(StoreBuilder builder, NavMeshBaker baker,
                                     NavMeshQueryFilter filter, string label)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(label).Append('\n');
            float sampleRadius = builder.layout.navAgentRadius * 4f;
            Vector3 from = builder.PassPoint;

            int baseFail = CountUnreachable(builder, from, sampleRadius, null, filter);
            sb.Append("ふさがないとき: 届かない卓 ").Append(baseFail).Append(" / ").Append(builder.Tables.Count);
            if (baseFail > 0) sb.Append("  ← 直す必要あり");
            sb.Append('\n');

            int tested = 0, bad = 0;
            float blockLen = builder.layout.navAgentRadius * 4f;   // ふさぐ長さ（m）

            for (int i = 0; i < builder.Aisles.Count; i++)
            {
                StoreBuilder.AisleInfo a = builder.Aisles[i];
                if (!a.narrow) continue;

                Bounds z = a.zone;
                bool northSouth = z.size.z >= z.size.x;
                Vector3 center = new Vector3(z.center.x, builder.layout.wallHeight * 0.5f, z.center.z);
                Vector3 size = northSouth
                    ? new Vector3(z.size.x + 0.2f, builder.layout.wallHeight, blockLen)
                    : new Vector3(blockLen, builder.layout.wallHeight, z.size.z + 0.2f);

                GameObject blocker = GameObject.CreatePrimitive(PrimitiveType.Cube);
                blocker.name = "DeadEndTestBlocker";
                blocker.transform.SetParent(
                    builder.NotWalkableRoots.Count > 0 ? builder.NotWalkableRoots[0] : builder.transform, true);
                blocker.transform.position = center;
                blocker.transform.localScale = size;

                // ふさいだ箱の「侵食の影」も、ふさいだ場所として数えない
                Bounds blockBounds = new Bounds(center, size);
                float shadow = (builder.layout.navAgentRadius + 0.05f) * 2f;
                blockBounds.size = new Vector3(blockBounds.size.x + shadow,
                                               blockBounds.size.y,
                                               blockBounds.size.z + shadow);
                baker.Bake();

                int unreachable = CountUnreachable(builder, from, sampleRadius, blockBounds, filter);
                tested++;
                if (unreachable > 0)
                {
                    bad++;
                    sb.Append("  ").Append(a.name).Append(" をふさぐと、ふさいだ場所の外の卓 ")
                      .Append(unreachable).Append(" 個に届かない\n");
                }

                UnityEngine.Object.DestroyImmediate(blocker);
            }

            baker.Bake();   // もとに戻す

            sb.Append("細い通路 ").Append(tested).Append(" 本を1か所ずつふさいで確かめた → ");
            sb.Append(bad == 0
                ? "どれをふさいでも、ほかの全卓に届く（行き止まりなし）"
                : bad.ToString() + " 本で届かない卓が出た");
            return sb.ToString();
        }

        // ---------------- ロボットの経路が、ロボット用の面だけを通っているか ----------------

        /// <summary>
        /// 受け渡し口から全卓への経路を引き、その経路の点が
        /// ぜんぶロボット用の面の上にあるかを確かめる。
        /// NavMesh が2枚になったので、取りちがえていれば人用の面を通ってしまう。
        /// </summary>
        static string CheckRobotPathsOnRobotMesh(StoreBuilder builder, NavMeshBaker baker)
        {
            NavMeshQueryFilter robot = baker.FilterFor(baker.RobotAgentTypeId);
            float snap = Mathf.Max(0.05f, builder.layout.navVoxelSize);

            int paths = 0, corners = 0, off = 0, noPath = 0;
            List<string> worst = new List<string>();
            Vector3 from = builder.PassPoint;

            NavMeshHit h;
            if (NavMesh.SamplePosition(from, out h, builder.layout.navAgentRadius * 4f, robot))
                from = h.position;

            IList<StoreBuilder.TableInfo> tables = builder.Tables;
            NavMeshPath path = new NavMeshPath();
            for (int i = 0; i < tables.Count; i++)
            {
                Vector3 to = tables[i].deliveryPoint;
                NavMeshHit ht;
                if (NavMesh.SamplePosition(to, out ht, builder.layout.navAgentRadius * 4f, robot))
                    to = ht.position;

                if (!NavMesh.CalculatePath(from, to, robot, path) ||
                    path.status != NavMeshPathStatus.PathComplete)
                {
                    noPath++;
                    continue;
                }
                paths++;

                Vector3[] c = path.corners;
                for (int k = 0; k < c.Length; k++)
                {
                    corners++;
                    NavMeshHit hit;
                    bool on = NavMesh.SamplePosition(c[k], out hit, snap, robot) &&
                              (new Vector2(hit.position.x - c[k].x, hit.position.z - c[k].z)).magnitude
                                  <= snap * 0.8f;
                    if (on) continue;
                    off++;
                    if (worst.Count < 8)
                        worst.Add("T" + tables[i].tableId.ToString("00") + "(" +
                                  F(c[k].x) + "," + F(c[k].z) + ")");
                }
            }

            StringBuilder sb = new StringBuilder();
            sb.Append("経路 ").Append(paths).Append(" 本 / 経路の点 ").Append(corners)
              .Append(" 個を、ロボット用の面（半径 ").Append(F(builder.layout.navAgentRadius))
              .Append(" m）で確かめた\n");
            if (noPath > 0) sb.Append("  経路が引けなかった卓: ").Append(noPath).Append("\n");
            sb.Append("  ロボット用の面に乗っていない点: ").Append(off).Append(" 個");
            if (off == 0) sb.Append(" → ロボットはロボット用の面だけを通っている");
            else
            {
                sb.Append("  ← 直す必要あり\n  例: ");
                for (int i = 0; i < worst.Count; i++) sb.Append(worst[i]).Append(' ');
            }
            return sb.ToString();
        }

        // ---------------- レジの内側（店員側）に入れるか ----------------

        /// <summary>
        /// 会計のスタッフが立つ点が、ほんとうに歩ける面の上にあるかを測る。
        ///   ・NavMesh.SamplePosition で別の場所に寄せられていないか（寄せられた距離を出す）
        ///   ・寄せられた先が店員側の中かどうか
        ///   ・店の奥（太い通路）から、その点まで歩いて行けるか
        ///   ・店員側と、その入口の歩ける幅（焼いた面で測る）
        /// 人用（半径 0.2 m）とロボット用（0.25 m）の両方で出す。
        /// </summary>
        static string CheckRegisterBack(StoreBuilder builder, NavMeshBaker baker)
        {
            PlanRect back = builder.RegisterBackRect;
            if (back.IsEmpty) return "レジの内側がありません（registerBackDepthZ を見る）";

            Vector3 want = builder.RegisterBackPoint;
            StringBuilder sb = new StringBuilder();
            sb.Append("店員側: ").Append(back.ToString())
              .Append("（").Append(F(back.SizeX)).Append(" × ").Append(F(back.SizeZ)).Append(" m）\n");
            sb.Append("  スタッフが立つ点: (").Append(F(want.x)).Append(", ").Append(F(want.z)).Append(")\n");

            sb.Append(BackFor(builder, baker.FilterFor(baker.PeopleAgentTypeId),
                              baker.PeopleRadius, "人用", back, want));
            sb.Append(BackFor(builder, baker.FilterFor(baker.RobotAgentTypeId),
                              builder.layout.navAgentRadius, "ロボット用", back, want));
            return sb.ToString();
        }

        static string BackFor(StoreBuilder builder, NavMeshQueryFilter filter, float radius,
                              string label, PlanRect back, Vector3 want)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("  ").Append(label).Append("（半径 ").Append(F(radius)).Append(" m）: ");

            // 1. 立つ点が歩ける面の上にあるか。寄せられたら、その距離を出す
            NavMeshHit hit;
            if (!NavMesh.SamplePosition(want, out hit, 2.0f, filter))
            {
                sb.Append("立つ点のまわり 2 m に歩ける面が無い  ← 入れない\n");
                return sb.ToString();
            }
            Vector2 d = new Vector2(hit.position.x - want.x, hit.position.z - want.z);
            bool inside = back.Contains(hit.position);
            sb.Append("寄せられた先 (").Append(F(hit.position.x)).Append(", ").Append(F(hit.position.z))
              .Append(") / 元からの距離 ").Append(F(d.magnitude)).Append(" m / ")
              .Append(inside ? "店員側の中" : "店員側の外  ← 入れない");

            // 2. 店の奥（太い通路）から歩いて行けるか
            string status;
            Vector3 from = builder.PassPoint;
            float len = NavMeshBaker.PathLength(from, want, radius * 4f, filter, out status);
            sb.Append(" / 受け渡し口から ").Append(len >= 0f ? F(len) + " m で行ける"
                                                          : "行けない（" + status + "）  ← 入れない");
            sb.Append('\n');

            // 3. 店員側と入口の歩ける幅
            float look = builder.layout != null ? builder.layout.navVoxelSize : 0.05f;
            float widthX = WalkRun(back, true, back.CenterZ, filter, look);
            float widthZ = WalkRun(back, false, back.CenterX, filter, look);
            float openZ = WalkRun(back, false, back.xMin + 0.03f, filter, look);   // 西の入口のところ
            sb.Append("    歩ける幅: 東西 ").Append(F(widthX)).Append(" m / 南北 ").Append(F(widthZ))
              .Append(" m / 入口（西のふち）").Append(F(openZ)).Append(" m");
            if (openZ < 0.7f - 0.0005f) sb.Append("  ← 入口が 0.7 m 未満。registerBackDepthZ を広げる");
            sb.Append('\n');
            return sb.ToString();
        }

        /// <summary>
        /// その線の上で、続けて歩けるいちばん長い区間（m）。
        /// alongX が true なら東西に、false なら南北に走る。
        /// </summary>
        static float WalkRun(PlanRect r, bool alongX, float fixedValue, NavMeshQueryFilter filter,
                             float sampleRadius)
        {
            const float Step = 0.02f;
            // 焼いた面は床より少し上に出る（この店では y=0.03 m）。探す半径が刻みと同じ 0.02 m
            // だと届かず、どこを打っても「乗っていない」になって歩ける幅が 0 m と出ていた。
            // 横のずれは下の Step*0.8 で見るので、探す半径だけ navVoxelSize 以上にする。
            float look = Mathf.Max(Step, sampleRadius);
            float from = alongX ? r.xMin : r.zMin;
            float to = alongX ? r.xMax : r.zMax;

            float run = 0f, best = 0f;
            for (float u = from; u <= to; u += Step)
            {
                Vector3 p = alongX ? new Vector3(u, 0f, fixedValue) : new Vector3(fixedValue, 0f, u);
                NavMeshHit hit;
                bool on = NavMesh.SamplePosition(p, out hit, look, filter) &&
                          (new Vector2(hit.position.x - p.x, hit.position.z - p.z)).magnitude <= Step * 0.8f;
                if (on) { run += Step; if (run > best) best = run; }
                else run = 0f;
            }
            return best;
        }

        // ---------------- 細い通路の、焼いた歩ける幅 ----------------

        /// <summary>
        /// 細い通路1本ずつ、実際に焼いた NavMesh の歩ける幅（いちばん狭いところ）を測る。
        /// 計算上の値（通路の幅 − 通行半径×2）と並べて出す。
        /// 足りない通路では、その場所で左右に当たったものの名前も出す
        /// （どの当たりが大きいのかを突き止めるため）。
        /// </summary>
        static string CheckAisleWidths(StoreBuilder builder, NavMeshQueryFilter filter,
                                       float agentRadius, string label)
        {
            const float Across = 0.02f;   // 幅の刻み
            const float Along = 0.10f;    // 長手方向の刻み
            // 焼いた面は床より少し上に出るので、探す半径は navVoxelSize 以上にする
            // （0.02 m のままだと届かず、歩ける幅が 0 m と誤報になっていた）
            float look = Mathf.Max(Across, builder.layout != null ? builder.layout.navVoxelSize : 0.05f);

            StringBuilder sb = new StringBuilder();
            sb.Append(label).Append("（通行半径 ").Append(F(agentRadius)).Append(" m）: ")
              .Append("計算上は「通路の幅 − ").Append(F(agentRadius * 2f)).Append(" m」\n");

            int bad = 0, tested = 0;
            IList<StoreBuilder.AisleInfo> aisles = builder.Aisles;
            for (int i = 0; i < aisles.Count; i++)
            {
                StoreBuilder.AisleInfo a = aisles[i];
                if (!a.narrow) continue;
                tested++;

                Bounds z = a.zone;
                bool northSouth = z.size.z >= z.size.x;
                float width = northSouth ? z.size.x : z.size.z;
                float want = Mathf.Max(0f, width - agentRadius * 2f);

                float minRun = float.MaxValue;
                Vector3 worstAt = z.center;

                float alongMin = northSouth ? z.min.z : z.min.x;
                float alongMax = northSouth ? z.max.z : z.max.x;
                for (float t = alongMin + Along * 0.5f; t <= alongMax; t += Along)
                {
                    float run = 0f, best = 0f;
                    float acrossMin = northSouth ? z.min.x : z.min.z;
                    float acrossMax = northSouth ? z.max.x : z.max.z;
                    for (float u = acrossMin; u <= acrossMax; u += Across)
                    {
                        Vector3 p = northSouth ? new Vector3(u, 0f, t) : new Vector3(t, 0f, u);
                        NavMeshHit hit;
                        bool on = NavMesh.SamplePosition(p, out hit, look, filter) &&
                                  (new Vector2(hit.position.x - p.x, hit.position.z - p.z)).magnitude
                                      <= Across * 0.8f;
                        if (on) { run += Across; if (run > best) best = run; }
                        else run = 0f;
                    }
                    if (best < minRun)
                    {
                        minRun = best;
                        worstAt = northSouth ? new Vector3(z.center.x, 0f, t) : new Vector3(t, 0f, z.center.z);
                    }
                }
                if (minRun == float.MaxValue) minRun = 0f;

                bool ng = minRun < want - 0.05f;
                if (ng) bad++;
                sb.Append("  ").Append(a.name).Append(": 通路 ").Append(F(width))
                  .Append(" m / 計算上 ").Append(F(want))
                  .Append(" m / 焼いた面のいちばん狭いところ ").Append(F(minRun)).Append(" m");
                if (ng)
                {
                    sb.Append("  ← ").Append(F(want - minRun)).Append(" m 足りない。")
                      .Append(SideHits(worstAt, northSouth));
                }
                sb.Append('\n');
            }

            sb.Append("  細い通路 ").Append(tested).Append(" 本 → ")
              .Append(bad == 0 ? "どれも計算上の幅どおり"
                               : bad.ToString() + " 本が計算上より狭い ← 直す必要あり");
            return sb.ToString();
        }

        /// <summary>いちばん狭かった場所で、左右に当たったものの名前と距離</summary>
        static string SideHits(Vector3 at, bool northSouth)
        {
            Vector3 dir = northSouth ? Vector3.right : Vector3.forward;
            string left = Probe(at, -dir), right = Probe(at, dir);
            return "左右にあるもの: " + left + " / " + right;
        }

        static string Probe(Vector3 at, Vector3 dir)
        {
            float[] heights = { 0.1f, 0.3f, 0.6f, 1.0f };
            string best = "何もない";
            float bestD = float.MaxValue;
            for (int i = 0; i < heights.Length; i++)
            {
                RaycastHit hit;
                Vector3 o = new Vector3(at.x, heights[i], at.z);
                if (!Physics.Raycast(o, dir, out hit, 3f, ~0, QueryTriggerInteraction.Ignore)) continue;
                if (hit.distance >= bestD) continue;
                bestD = hit.distance;
                best = hit.collider.transform.name + " " + F(hit.distance) + "m(y=" + F(heights[i]) + ")";
            }
            return best;
        }

        // ---------------- 入らない部屋に NavMesh が入っていないか ----------------

        /// <summary>
        /// 厨房・事務所のように「通れない」はずの場所に、焼いた NavMesh の面が
        /// 入り込んでいないかを測る（面積で出す）。
        /// 入り込んでいれば、その場所を囲む箱の当たりが足りていない。
        /// </summary>
        static string CheckNoGoRooms(StoreBuilder builder, NavMeshTriangulation tri)
        {
            StorePlan plan = builder.Plan;
            if (plan == null) return "店が組み立てられていません";

            int triCount = tri.indices.Length / 3;

            StringBuilder sb = new StringBuilder();
            int bad = 0;
            for (int i = 0; i < plan.places.Count; i++)
            {
                PlanPlace p = plan.places[i];
                if (!p.solid || p.rect.IsEmpty) continue;

                float area = 0f;
                for (int t = 0; t < triCount; t++)
                {
                    Vector3 a = tri.vertices[tri.indices[t * 3]];
                    Vector3 b = tri.vertices[tri.indices[t * 3 + 1]];
                    Vector3 c = tri.vertices[tri.indices[t * 3 + 2]];
                    Vector3 mid = (a + b + c) / 3f;
                    if (!p.rect.Contains(mid)) continue;
                    area += Vector3.Cross(b - a, c - a).magnitude * 0.5f;
                }

                string nm = StoreBuilder.PlaceName(p.kind);
                sb.Append("  ").Append(nm.Length > 0 ? nm : p.name)
                  .Append("（").Append(p.rect.ToString()).Append("）: 歩ける面 ")
                  .Append(F(area)).Append(" m2");
                if (area > 0.05f) { sb.Append("  ← 入らないはずの場所に NavMesh がある。直す必要あり"); bad++; }
                sb.Append('\n');
            }

            sb.Append("通れない場所 ").Append(bad > 0 ? bad.ToString() + " か所に NavMesh が入り込んでいる"
                                                     : "すべてに NavMesh は入っていない");
            return sb.ToString();
        }

        // ---------------- 席に入れるかの確かめ ----------------

        /// <summary>
        /// 席ごとの「人が立つ点」まで、通路から歩いて行けるかを確かめる。
        /// 卓と卓のあいだのすき間が狭いと、壁側の席に人が入れない（仕切りと同じことになる）。
        ///
        /// 焼いてある NavMesh は通行半径 navAgentRadius（ロボットに合わせた 0.25 m）で
        /// 削ってあり、人（半径 0.2 m）より厳しい。ここを通れれば人も通れる。
        /// 点を NavMesh に寄せる距離も navAgentRadius までにして、
        /// 離れた通路へ飛び移って「通れる」ことにならないようにする。
        /// </summary>
        static string CheckSeatAccess(StoreBuilder builder)
        {
            float sampleRadius = builder.layout.navAgentRadius;
            Vector3 from = builder.PassPoint;
            NavMeshQueryFilter filter = PeopleNav.Filter;   // 席に着くのは人

            int spots = 0, bad = 0;
            List<string> badNames = new List<string>();
            IList<StoreBuilder.TableInfo> tables = builder.Tables;

            for (int i = 0; i < tables.Count; i++)
            {
                StoreBuilder.TableInfo t = tables[i];
                for (int s = 0; s < t.spots.Count; s++)
                {
                    PlanSeatSpot spot = t.spots[s];
                    spots++;
                    string status;
                    float len = NavMeshBaker.PathLength(from, spot.point, sampleRadius, filter, out status);
                    if (len >= 0f) continue;

                    bad++;
                    if (badNames.Count < 24)
                        badNames.Add("T" + t.tableId.ToString("00") + "/" + spot.name +
                                     "(" + F(spot.point.x) + "," + F(spot.point.z) + " " + status + ")");
                }
            }

            StringBuilder sb = new StringBuilder();
            sb.Append("人が立つ点 ").Append(spots).Append(" 個（").Append(tables.Count)
              .Append(" 卓ぶん）を、通行半径 ").Append(F(sampleRadius)).Append(" m で確かめた\n");
            if (bad == 0)
            {
                sb.Append("  すべての席に、通路から入れる");
                return sb.ToString();
            }
            sb.Append("  入れない席 ").Append(bad).Append(" 個 ← 直す必要あり\n  ");
            for (int i = 0; i < badNames.Count; i++) sb.Append(badNames[i]).Append(' ');
            if (bad > badNames.Count) sb.Append("…ほか ").Append(bad - badNames.Count).Append(" 個");
            return sb.ToString();
        }

        /// <summary>
        /// 受け渡し口から届かない卓の数。
        /// skip の中に停止点がある卓は、ふさいだ場所そのものなので数えない。
        /// </summary>
        static int CountUnreachable(StoreBuilder builder, Vector3 from, float sampleRadius, Bounds? skip,
                                    NavMeshQueryFilter filter)
        {
            int bad = 0;
            IList<StoreBuilder.TableInfo> tables = builder.Tables;
            for (int i = 0; i < tables.Count; i++)
            {
                Vector3 p = tables[i].deliveryPoint;
                if (skip.HasValue)
                {
                    Bounds b = skip.Value;
                    if (p.x >= b.min.x && p.x <= b.max.x && p.z >= b.min.z && p.z <= b.max.z) continue;
                }
                string status;
                if (NavMeshBaker.PathLength(from, p, sampleRadius, filter, out status) < 0f) bad++;
            }
            return bad;
        }

        // ---------------- 焼いた NavMesh を調べる ----------------

        /// <summary>
        /// 実際に焼けた NavMesh（NavMesh.CalculateTriangulation）を調べて、
        /// 受け渡し口からつながっていない歩ける面が無いかを確かめる。
        /// ベンチや卓の上面が歩ける場所になっていれば、ここに出る。
        /// </summary>
        static string CheckNavMeshSurface(StoreBuilder builder, NavMeshTriangulation tri, string label,
                                          NavMeshQueryFilter filter)
        {
            int triCount = tri.indices.Length / 3;
            if (triCount == 0) return "NavMesh の三角形が 0 です（焼けていません）";

            // 同じ位置の頂点をまとめる（1 mm 刻み）
            Dictionary<long, int> vmap = new Dictionary<long, int>();
            int[] vid = new int[tri.vertices.Length];
            for (int i = 0; i < tri.vertices.Length; i++)
            {
                long key = QuantKey(tri.vertices[i]);
                int id;
                if (!vmap.TryGetValue(key, out id)) { id = vmap.Count; vmap.Add(key, id); }
                vid[i] = id;
            }

            float[] triArea = new float[triCount];
            Vector3[] triMid = new Vector3[triCount];
            Dictionary<long, List<int>> edgeMap = new Dictionary<long, List<int>>();
            float total = 0f, maxY = float.MinValue;

            for (int t = 0; t < triCount; t++)
            {
                int a = tri.indices[t * 3], b = tri.indices[t * 3 + 1], c = tri.indices[t * 3 + 2];
                Vector3 pa = tri.vertices[a], pb = tri.vertices[b], pc = tri.vertices[c];
                triArea[t] = Vector3.Cross(pb - pa, pc - pa).magnitude * 0.5f;
                triMid[t] = (pa + pb + pc) / 3f;
                total += triArea[t];
                maxY = Mathf.Max(maxY, Mathf.Max(pa.y, Mathf.Max(pb.y, pc.y)));
                AddEdge(edgeMap, vid[a], vid[b], t);
                AddEdge(edgeMap, vid[b], vid[c], t);
                AddEdge(edgeMap, vid[c], vid[a], t);
            }

            // 受け渡し口にいちばん近い三角形から広げる
            Vector3 from = builder.PassPoint;
            NavMeshHit hit;
            if (NavMesh.SamplePosition(from, out hit, builder.layout.navAgentRadius * 4f, filter))
                from = hit.position;

            int start = -1;
            float best = float.MaxValue;
            for (int t = 0; t < triCount; t++)
            {
                float d = (triMid[t] - from).sqrMagnitude;
                if (d < best) { best = d; start = t; }
            }

            bool[] seen = new bool[triCount];
            Queue<int> q = new Queue<int>();
            seen[start] = true; q.Enqueue(start);
            float connected = triArea[start];
            while (q.Count > 0)
            {
                int t = q.Dequeue();
                int a = tri.indices[t * 3], b = tri.indices[t * 3 + 1], c = tri.indices[t * 3 + 2];
                Walk(edgeMap, vid[a], vid[b], seen, q, triArea, ref connected);
                Walk(edgeMap, vid[b], vid[c], seen, q, triArea, ref connected);
                Walk(edgeMap, vid[c], vid[a], seen, q, triArea, ref connected);
            }

            // つながっていない面の内訳
            float orphan = 0f;
            float orphanMaxY = float.MinValue;
            Dictionary<int, float> byArea = new Dictionary<int, float>();
            List<string> worst = new List<string>();
            for (int t = 0; t < triCount; t++)
            {
                int area = t < tri.areas.Length ? tri.areas[t] : 0;
                if (!byArea.ContainsKey(area)) byArea[area] = 0f;
                byArea[area] += triArea[t];
                if (seen[t]) continue;
                orphan += triArea[t];
                orphanMaxY = Mathf.Max(orphanMaxY, triMid[t].y);
                if (worst.Count < 6 && triArea[t] > 0.02f)
                    worst.Add("(" + F(triMid[t].x) + "," + F(triMid[t].y) + "," + F(triMid[t].z) + ") " + F(triArea[t]) + "m2");
            }

            StringBuilder sb = new StringBuilder();
            sb.Append(label).Append("：三角形 ").Append(triCount)
              .Append(" / 歩ける面 ").Append(F(total)).Append(" m2\n");
            sb.Append("  受け渡し口からつながる面: ").Append(F(connected)).Append(" m2\n");
            sb.Append("  つながっていない面: ").Append(F(orphan)).Append(" m2");
            if (orphan > 0.01f) sb.Append("  ← いちばん高いところ y=").Append(F(orphanMaxY)).Append(" m");
            sb.Append('\n');
            sb.Append("  いちばん高い歩ける面: y=").Append(F(maxY)).Append(" m\n");
            sb.Append("  area の内訳: ");
            foreach (KeyValuePair<int, float> kv in byArea)
                sb.Append("area").Append(kv.Key).Append("=").Append(F(kv.Value)).Append("m2 ");
            if (worst.Count > 0)
            {
                sb.Append("\n  つながっていない面の例: ");
                for (int i = 0; i < worst.Count; i++) sb.Append(worst[i]).Append(' ');
            }
            return sb.ToString();
        }

        static long QuantKey(Vector3 p)
        {
            long x = (long)Mathf.RoundToInt(p.x * 1000f) + 1048576;
            long y = (long)Mathf.RoundToInt(p.y * 1000f) + 1048576;
            long z = (long)Mathf.RoundToInt(p.z * 1000f) + 1048576;
            return (x << 42) ^ (y << 21) ^ z;
        }

        static long EdgeKey(int a, int b)
        {
            int lo = a < b ? a : b, hi = a < b ? b : a;
            return ((long)lo << 32) | (uint)hi;
        }

        static void AddEdge(Dictionary<long, List<int>> map, int a, int b, int tri)
        {
            long k = EdgeKey(a, b);
            List<int> list;
            if (!map.TryGetValue(k, out list)) { list = new List<int>(2); map.Add(k, list); }
            list.Add(tri);
        }

        static void Walk(Dictionary<long, List<int>> map, int a, int b,
                         bool[] seen, Queue<int> q, float[] area, ref float sum)
        {
            List<int> list;
            if (!map.TryGetValue(EdgeKey(a, b), out list)) return;
            for (int i = 0; i < list.Count; i++)
            {
                int t = list[i];
                if (seen[t]) continue;
                seen[t] = true;
                sum += area[t];
                q.Enqueue(t);
            }
        }

        // ---------------- 真上からの見通し ----------------

        static string CheckOverhead(StoreBuilder builder)
        {
            Physics.SyncTransforms();

            List<Vector3> points = new List<Vector3>();
            points.Add(builder.PassPoint);
            IList<StoreBuilder.TableInfo> tables = builder.Tables;
            for (int i = 0; i < tables.Count; i++) points.Add(tables[i].deliveryPoint);

            float startY = builder.layout.wallHeight + 5f;
            Dictionary<string, int> firstHit = new Dictionary<string, int>();
            List<string> covered = new List<string>();
            int missed = 0;

            for (int i = 0; i < points.Count; i++)
            {
                Vector3 from = new Vector3(points[i].x, startY, points[i].z);
                RaycastHit hit;
                if (!Physics.Raycast(from, Vector3.down, out hit, startY + 5f, ~0, QueryTriggerInteraction.Ignore))
                {
                    missed++;
                    continue;
                }
                string name = hit.collider.transform.name;
                if (!firstHit.ContainsKey(name)) firstHit[name] = 0;
                firstHit[name]++;
                if (hit.point.y > 0.3f) covered.Add(name + " (y=" + F(hit.point.y) + ")");
            }

            StringBuilder sb = new StringBuilder();
            sb.Append("調べた点 ").Append(points.Count).Append("（受け渡し口＋全卓の停止点）\n");
            foreach (KeyValuePair<string, int> kv in firstHit)
                sb.Append("  最初に当たったもの: ").Append(kv.Key).Append(" × ").Append(kv.Value).Append('\n');
            if (missed > 0) sb.Append("  何にも当たらなかった点: ").Append(missed).Append('\n');
            if (covered.Count == 0) sb.Append("  上を覆うもの: なし（天井・屋根はありません）");
            else
            {
                sb.Append("  上を覆うもの: ").Append(covered.Count).Append(" 点 → ");
                for (int i = 0; i < covered.Count && i < 8; i++) sb.Append(covered[i]).Append(' ');
            }
            return sb.ToString();
        }

        // ---------------- 道具 ----------------

        static bool OpenSceneAndFind(out StoreBuilder builder, out NavMeshBaker baker,
                                     out PeopleSpawner spawner, out Transform robotsRoot)
        {
            builder = null; baker = null; spawner = null; robotsRoot = null;

            Scene active = SceneManager.GetActiveScene();
            if (active.path != ServiceSimSetup.ScenePath)
            {
                if (!File.Exists(ServiceSimSetup.ScenePath))
                {
                    Debug.LogError("[ServiceSim] シーンがありません。先に ServiceSim/Setup を実行してください");
                    return false;
                }
                if (!EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
                {
                    Debug.Log("[ServiceSim] 取りやめました");
                    return false;
                }
                EditorSceneManager.OpenScene(ServiceSimSetup.ScenePath, OpenSceneMode.Single);
            }

            builder = UnityEngine.Object.FindObjectOfType<StoreBuilder>();
            baker = UnityEngine.Object.FindObjectOfType<NavMeshBaker>();
            spawner = UnityEngine.Object.FindObjectOfType<PeopleSpawner>();

            if (builder == null || baker == null || spawner == null)
            {
                Debug.LogError("[ServiceSim] シーンに StoreBuilder / NavMeshBaker / PeopleSpawner が見つかりません。ServiceSim/Setup を実行してください");
                return false;
            }

            Transform root = builder.transform.parent;
            if (root != null)
            {
                Transform t = root.Find("Robots");
                if (t == null)
                {
                    GameObject go = new GameObject("Robots");
                    go.transform.SetParent(root, false);
                    t = go.transform;
                }
                robotsRoot = t;
            }
            else robotsRoot = builder.transform;

            return true;
        }

        static Camera FindCamera(StoreBuilder builder, string name)
        {
            Transform root = builder.transform.parent;
            if (root == null) return null;
            Transform cams = root.Find("Cameras");
            if (cams == null) return null;
            Transform t = cams.Find(name);
            return t != null ? t.GetComponent<Camera>() : null;
        }

        static void ClearChildren(Transform parent)
        {
            if (parent == null) return;
            for (int i = parent.childCount - 1; i >= 0; i--)
                UnityEngine.Object.DestroyImmediate(parent.GetChild(i).gameObject);
        }

        static int SpawnPreviewRobots(Transform robotsRoot, StoreBuilder builder, int count)
        {
            GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(ServiceSimSetup.Root + "/Robot/ServingRobot.prefab");
            if (prefab == null || robotsRoot == null) return 0;

            int n = 0;
            for (int i = 0; i < count; i++)
            {
                GameObject go = PrefabUtility.InstantiatePrefab(prefab, robotsRoot) as GameObject;
                if (go == null) continue;
                go.name = "ServingRobot" + (i + 1).ToString("00");
                go.transform.position = builder.PassPoint + new Vector3(0f, 0f, -0.7f * i);
                go.transform.rotation = Quaternion.LookRotation(Vector3.back, Vector3.up);
                ServingRobotController c = go.GetComponent<ServingRobotController>();
                if (c != null) c.robotId = i + 1;
                n++;
            }
            return n;
        }

        /// <summary>人の半径（PeopleSpec の値。読めなければ 0.2 m）</summary>
        static float PersonRadius()
        {
            PeopleSpec p = AssetDatabase.LoadAssetAtPath<PeopleSpec>(ServiceSimSetup.PeopleSpecPath);
            return p != null ? p.personRadius : 0.2f;
        }

        /// <summary>床の塗り分けの報告</summary>
        static string PaintText(StoreLayout layout, FloorPaint.Result r)
        {
            if (layout != null && !layout.showFloorPaint) return "出していません（showFloorPaint が OFF）";
            if (!r.ok) return "作れませんでした: " + (string.IsNullOrEmpty(r.note) ? "-" : r.note);

            float pr = PersonRadius();
            return "ロボットの体が入れる床（水色）: " + F(r.robotAreaM2) + " m2（" + r.robotQuads + " 枚）\n" +
                   "人だけが入れる床（薄い黄色）: " + F(r.peopleAreaM2) + " m2（" + r.peopleQuads + " 枚）\n" +
                   "作り方: ロボット用 NavMesh（半径 " + F(layout.navAgentRadius) + " m）を " +
                   F(layout.navAgentRadius) + " m 外へ広げた範囲／" +
                   "人用 NavMesh（半径 " + F(pr) + " m）を " + F(pr) + " m 広げた範囲から前者を引いた範囲。" +
                   "マス " + F(r.cellSize) + " m\n" +
                   "すき間が " + F(layout.navAgentRadius * 2f) + " m より狭いところは、" +
                   "ロボット用 NavMesh が無いので水色にならない";
        }

        /// <summary>
        /// 場所の名前と、それを置く位置（その場所の床の真ん中）の一覧。
        /// 表示は Scene ビューの吹き出しと同じ作り（画面に正対・ズームで大きさが変わらない）。
        /// </summary>
        static string PlaceNamesReport(StoreBuilder builder)
        {
            List<string> names = new List<string>();
            List<Vector3> at = new List<Vector3>();
            ServiceSimLabels.CollectPlaceNames(builder, names, at);

            StringBuilder sb = new StringBuilder();
            sb.Append(names.Count).Append(" 個（Scene ビューに、吹き出しと同じ作りで出す。")
              .Append("小さい字・薄い背景・枠つき。置く位置はその場所の床の真ん中）");
            for (int i = 0; i < names.Count; i++)
                sb.Append("\n  ").Append(names[i]).Append(": (")
                  .Append(F(at[i].x)).Append(", ").Append(F(at[i].z)).Append(")");
            return sb.ToString();
        }

        static string Mm(float meters) { return Mathf.RoundToInt(meters * 100f).ToString("000"); }
        static string F(float v) { return v.ToString("0.##", CultureInfo.InvariantCulture); }

        static string KindName(SeatKind k)
        {
            switch (k)
            {
                case SeatKind.WallBooth: return "booth";
                case SeatKind.WallTable: return "wall";
                case SeatKind.IslandTable: return "island";
                case SeatKind.Counter: return "counter";
                default: return "large";
            }
        }

        // ---------------- 書き出し ----------------

        static void WriteTableCsv(string path, LayoutResult r)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("table_id,seat_kind,aisle,table_x,table_z,delivery_x,delivery_z");
            for (int i = 0; i < r.widths.Length; i++) sb.Append(",path_m_w").Append(Mm(r.widths[i]));
            for (int i = 0; i < r.widths.Length; i++) sb.Append(",status_w").Append(Mm(r.widths[i]));
            sb.Append('\n');

            for (int i = 0; i < r.tableIds.Count; i++)
            {
                int id = r.tableIds[i];
                sb.Append(id).Append(',')
                  .Append(KindName(r.kinds[id])).Append(',')
                  .Append(r.aisleNames.ContainsKey(id) ? r.aisleNames[id] : "").Append(',')
                  .Append(F(r.centers[id].x)).Append(',').Append(F(r.centers[id].z)).Append(',')
                  .Append(F(r.deliveries[id].x)).Append(',').Append(F(r.deliveries[id].z));
                for (int w = 0; w < r.widths.Length; w++) sb.Append(',').Append(F(r.lengths[id][w]));
                for (int w = 0; w < r.widths.Length; w++) sb.Append(',').Append(r.statuses[id][w]);
                sb.Append('\n');
            }
            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        static void WriteStoreReport(string path, StoreLayout layout, RobotSpec robotSpec,
                                     ExperimentPlan plan, StoreBuilder builder, PeopleSpawner spawner, int robots,
                                     LayoutResult main, LayoutResult grid,
                                     string shaderHow, string overhead, string deadEnd, string navSurface,
                                     string seatAccess, string paintText,
                                     string aisleWidths, string noGo, string regBack, string robotPaths,
                                     string placeNameText)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("ServiceSim 店の報告（v1 ファミレス型）\n");
            sb.Append("作った日時: ").Append(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")).Append('\n');
            sb.Append("Unity: ").Append(Application.unityVersion).Append('\n');
            sb.Append("run_name: ").Append(plan.runName).Append("\n\n");

            sb.Append("描画方式\n").Append(ServiceSimRender.Describe());
            sb.Append("使うシェーダー: ").Append(shaderHow).Append("\n\n");

            sb.Append("いまの設定\n");
            sb.Append("  店の形: ").Append(layout.name).Append("（").Append(layout.StoreKindName).Append("）\n");
            sb.Append("  細い通路の幅: ").Append(F(layout.AisleWidth)).Append(" m\n");
            sb.Append("  通路の譲り合い: ").Append(robotSpec.aisleYielding ? "あり" : "なし").Append('\n');
            sb.Append("  1往復の打ち切り: ").Append(F(robotSpec.maxTripSec)).Append(" 秒\n\n");

            sb.Append("店の中身\n");
            sb.Append("  卓: ").Append(builder.Tables.Count).Append('\n');
            int booth = 0, wall = 0, island = 0;
            for (int i = 0; i < builder.Tables.Count; i++)
            {
                SeatKind k = builder.Tables[i].kind;
                if (k == SeatKind.WallBooth) booth++;
                else if (k == SeatKind.WallTable) wall++;
                else if (k == SeatKind.IslandTable) island++;
            }
            sb.Append("    壁際ブース ").Append(booth).Append(" / 壁沿いの卓 ").Append(wall)
              .Append(" / 島の卓 ").Append(island).Append('\n');

            int t2 = 0, t4 = 0, seats = 0;
            for (int i = 0; i < builder.Tables.Count; i++)
            {
                int n = builder.Tables[i].seatCount;
                seats += n;
                if (n <= 2) t2++; else t4++;
            }
            sb.Append("    2人席 ").Append(t2).Append(" / 4人席 ").Append(t4)
              .Append(" → 席の合計 ").Append(seats).Append('\n');
            sb.Append("  通路: ").Append(builder.Aisles.Count)
              .Append("（うち細い通路 ").Append(NarrowCount(builder)).Append("）\n");
            for (int i = 0; i < builder.Aisles.Count; i++)
            {
                StoreBuilder.AisleInfo a = builder.Aisles[i];
                sb.Append("    [").Append(i).Append("] ").Append(a.name)
                  .Append(" 幅 ").Append(F(a.width)).Append(" m")
                  .Append(a.narrow ? "（細い）" : "（太い・横通路）").Append('\n');
            }
            sb.Append("  場所の点: ");
            AppendPoint(sb, builder, PlaceKind.FoodPass, "受け渡し口");
            AppendPoint(sb, builder, PlaceKind.DishReturn, "返却口");
            AppendPoint(sb, builder, PlaceKind.Pantry, "パントリー");
            AppendPoint(sb, builder, PlaceKind.Register, "レジ");
            AppendPoint(sb, builder, PlaceKind.Toilet, "トイレ");
            AppendPoint(sb, builder, PlaceKind.DrinkBar, "ドリンクバー");
            AppendPoint(sb, builder, PlaceKind.Entrance, "入口");
            AppendPoint(sb, builder, PlaceKind.Waiting, "待合");
            sb.Append("\n\n");

            sb.Append("人（普通の混み具合）\n");
            sb.Append("  スタッフ ").Append(spawner.StaffSpawned)
              .Append(" / 座っている客（椅子を引く仕掛け） ").Append(spawner.SeatedSpawned).Append('\n');
            sb.Append("  ロボット（見た目の確認用） ").Append(robots).Append("\n\n");

            string frontFit = layout.FrontFitReport();
            if (frontFit.Length > 0)
                sb.Append("入口まわり（ドリンクバー・待合・レジ・入口）\n  ")
                  .Append(frontFit.Replace("\n", "\n  ")).Append("\n\n");

            string standby = layout.RobotStandbyReport();
            if (standby.Length > 0)
                sb.Append("ロボットの待機場所（B2）\n  ")
                  .Append(standby.Replace("\n", "\n  ")).Append("\n\n");

            sb.Append("床の塗り分け（見た目だけ。NavMesh は変えない）\n  ")
              .Append(paintText.Replace("\n", "\n  ")).Append("\n\n");

            sb.Append("場所の名前（真上の画面に出す文字）\n  ").Append(placeNameText).Append("\n\n");

            sb.Append("ロボットの経路が、ロボット用の面だけを通っているか\n  ")
              .Append(robotPaths.Replace("\n", "\n  ")).Append("\n\n");

            sb.Append("レジの内側（店員側）に入れるか\n  ")
              .Append(regBack.Replace("\n", "\n  ")).Append("\n\n");

            sb.Append("細い通路の、焼いた NavMesh の歩ける幅\n  ")
              .Append(aisleWidths.Replace("\n", "\n  ")).Append("\n\n");

            sb.Append("通れない場所に NavMesh が入っていないか\n  ")
              .Append(noGo.Replace("\n", "\n  ")).Append("\n\n");

            sb.Append("席に入れるかの確かめ（通路 → 席の前）\n  ")
              .Append(seatAccess.Replace("\n", "\n  ")).Append("\n\n");

            sb.Append("行き止まりの確かめ\n  ").Append(deadEnd.Replace("\n", "\n  ")).Append("\n\n");
            sb.Append("真上からの見通し（天井・屋根がないかの確認）\n  ").Append(overhead.Replace("\n", "\n  ")).Append("\n\n");
            sb.Append("焼いた NavMesh のしらべ（NavMesh.CalculateTriangulation）\n  ")
              .Append(navSurface.Replace("\n", "\n  ")).Append("\n\n");

            AppendLayoutSummary(sb, main);
            if (grid != null) AppendLayoutSummary(sb, grid);

            File.WriteAllText(path, sb.ToString(), new UTF8Encoding(false));
        }

        static void AppendPoint(StringBuilder sb, StoreBuilder builder, PlaceKind kind, string name)
        {
            if (!builder.HasPoint(kind)) return;
            Vector3 p = builder.PointOf(kind);
            sb.Append(name).Append("(").Append(F(p.x)).Append(",").Append(F(p.z)).Append(") ");
        }

        static void AppendLayoutSummary(StringBuilder sb, LayoutResult r)
        {
            sb.Append("=== ").Append(r.assetName).Append("（").Append(r.kindName).Append("）===\n");
            for (int w = 0; w < r.widths.Length; w++)
            {
                float min = float.MaxValue, max = float.MinValue, sum = 0f;
                int ok = 0, ng = 0, inBand = 0;
                for (int i = 0; i < r.tableIds.Count; i++)
                {
                    float v = r.lengths[r.tableIds[i]][w];
                    if (v < 0f) { ng++; continue; }
                    ok++; sum += v;
                    if (v < min) min = v;
                    if (v > max) max = v;
                    if (v >= 6f && v <= 22f) inBand++;
                }
                sb.Append("細い通路 ").Append(F(r.widths[w])).Append(" m\n");
                sb.Append("  外寸: ").Append(F(r.outerSizes[w].x)).Append(" × ")
                  .Append(F(r.outerSizes[w].y)).Append(" m（風除室を含む）\n");
                if (ok > 0)
                {
                    sb.Append("  道のり（受け渡し口 → 卓）: いちばん短い ").Append(F(min))
                      .Append(" m / いちばん長い ").Append(F(max))
                      .Append(" m / 平均 ").Append(F(sum / ok)).Append(" m\n");
                    sb.Append("  LOG351 の 6〜22 m に入る卓: ").Append(inBand).Append(" / ").Append(ok).Append('\n');
                }
                sb.Append("  測れた卓 ").Append(ok).Append(" / 測れなかった卓 ").Append(ng).Append('\n');
                if (ng > 0)
                {
                    sb.Append("  測れなかった卓: ");
                    for (int i = 0; i < r.tableIds.Count; i++)
                    {
                        int id = r.tableIds[i];
                        if (r.lengths[id][w] >= 0f) continue;
                        sb.Append("T").Append(id).Append("(").Append(r.statuses[id][w]).Append(") ");
                    }
                    sb.Append('\n');
                }
            }
            sb.Append('\n');
        }

        // ---------------- スクリーンショット ----------------

        static void Capture(Camera cam, int width, int height, string path)
        {
            if (cam == null) return;

            RenderTexture rt = new RenderTexture(width, height, 24, RenderTextureFormat.ARGB32);
            rt.antiAliasing = 4;

            RenderTexture prevTarget = cam.targetTexture;
            bool prevEnabled = cam.enabled;
            RenderTexture prevActive = RenderTexture.active;

            Texture2D tex = new Texture2D(width, height, TextureFormat.RGB24, false);
            try
            {
                cam.enabled = true;
                cam.targetTexture = rt;
                cam.Render();

                RenderTexture.active = rt;
                tex.ReadPixels(new Rect(0f, 0f, width, height), 0, 0);
                tex.Apply(false);

                File.WriteAllBytes(path, tex.EncodeToPNG());

                // 撮れているかを調べる。
                //  ・ピンク（1, 0, 1）が大半 → シェーダーが描画方式に合っていない
                //  ・真っ暗・真っ白 → そもそも描けていない
                Color32[] px = tex.GetPixels32();
                long sum = 0;
                int step = Mathf.Max(1, px.Length / 8192);
                int n = 0, magenta = 0;
                for (int i = 0; i < px.Length; i += step)
                {
                    Color32 c = px[i];
                    sum += c.r + c.g + c.b;
                    if (c.r > 180 && c.b > 180 && c.g < 80) magenta++;
                    n++;
                }
                float mean = n > 0 ? sum / (float)(n * 3) : 0f;
                float magentaRatio = n > 0 ? magenta / (float)n : 0f;

                if (magentaRatio >= 0.25f)
                    Debug.LogError("[ServiceSim] 撮った絵の " + (magentaRatio * 100f).ToString("0") +
                                   "% がピンク（1,0,1）です。シェーダーが描画方式に合っていません: " + path);
                else if (mean < 4f || mean > 251f)
                    Debug.LogError("[ServiceSim] 撮った絵がほぼ一色です（平均 " + mean.ToString("0.0") +
                                   "）。描けていない可能性があります: " + path);
            }
            catch (Exception e)
            {
                Debug.LogError("[ServiceSim] スクリーンショットに失敗: " + path + "\n" + e);
            }
            finally
            {
                RenderTexture.active = prevActive;
                cam.targetTexture = prevTarget;
                cam.enabled = prevEnabled;
                UnityEngine.Object.DestroyImmediate(tex);
                rt.Release();
                UnityEngine.Object.DestroyImmediate(rt);
            }
        }
    }
}
```

### Assets/ServiceSim/Editor/ServiceSimSeatedBody.cs

```csharp
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
using UnityEngine.SceneManagement;

namespace ServiceSim.EditorTools
{
    /// <summary>
    /// 座っている客の形（見た目だけ）を用意して、PeopleSpawner に入れる。
    ///
    /// 10/21 に頼まれた「客が座っていることが画面で分かるように」が入っていなかったのは、
    /// 出す・消す仕掛けはあったのに、その形の prefab
    /// （People/SeatedGuestBody.prefab）が一度も作られていなかったため。
    /// 参照が空のとき SeatedGuest.ShowSeated が黙って戻るので、だれも気づけなかった。
    ///
    /// 同じことが起きないように、
    ///   ・Build Store は毎回ここを通って用意し直す
    ///   ・この1つだけを押せるメニューも置く（押した結果を Console に必ず出す）
    ///   ・用意できなかったときは、SeatedGuest 側も警告を出す
    ///
    /// 形は当たり判定（Collider）・PersonBody・NavMeshAgent を持たない。
    /// NavMesh（コライダーの形で焼く）・ロボットの前のセンサー（コライダーを見る）・
    /// 人がよける処理（PersonBody を見る）のどれにも入らない。
    /// </summary>
    public static class ServiceSimSeatedBody
    {
        [MenuItem("ServiceSim/座っている客の形を用意する", false, 22)]
        public static void EnsureFromMenu()
        {
            PeopleSpec spec = AssetDatabase.LoadAssetAtPath<PeopleSpec>(ServiceSimSetup.PeopleSpecPath);
            if (spec == null)
            {
                Debug.LogError("[ServiceSim] PeopleSpec が見つかりません: " + ServiceSimSetup.PeopleSpecPath);
                return;
            }

            PeopleSpawner spawner = UnityEngine.Object.FindObjectOfType<PeopleSpawner>();
            if (spawner == null)
            {
                Debug.LogError("[ServiceSim] シーンに PeopleSpawner がありません。" +
                               "ServiceSim_Family シーンを開いてください");
                return;
            }

            if (!Ensure(spawner, spec)) return;

            Debug.Log("[ServiceSim] 座っている客の形を用意しました" +
                      "\n  prefab: " + ServiceSimSetup.SeatedBodyPrefabPath +
                      "\n  高さ " + spec.seatedBodyHeight.ToString("0.##") + " m（ベンチの箱 1.1 m・" +
                      "仕切り 1.2 m より高く、立っている客 1.7 m より低い）" +
                      "\n  色: 立っている客と同じ黄色（Mat_Guest）" +
                      "\n  当たり判定・PersonBody・NavMeshAgent は持たない（見た目だけ）" +
                      "\n  このあと ServiceSim/Build Store を押すと、8 割の卓に座った客が出ます");
        }

        /// <summary>
        /// 形の prefab を用意して PeopleSpawner に入れる。入れ替えたら true。
        /// すでに同じものが入っていても true（用意できている、という意味）。
        /// </summary>
        public static bool Ensure(PeopleSpawner spawner, PeopleSpec spec)
        {
            if (spawner == null || spec == null) return false;

            GameObject prefab = ServiceSimSetup.EnsureSeatedBodyPrefab(spec);
            if (prefab == null)
            {
                Debug.LogError("[ServiceSim] 座っている客の形（prefab）を作れませんでした: " +
                               ServiceSimSetup.SeatedBodyPrefabPath);
                return false;
            }

            if (spawner.seatedBodyPrefab == prefab) return true;

            spawner.seatedBodyPrefab = prefab;
            EditorUtility.SetDirty(spawner);
            EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene());
            Debug.Log("[ServiceSim] PeopleSpawner に座っている客の形を入れました" +
                      "（シーンを保存すると、回すときもこの形が出ます）");
            return true;
        }
    }
}
```

### Assets/ServiceSim/LABEL_RULES.md

```markdown
# ServiceSim 表示のルール

## 対象
Scene ビューに出す文字、store_report、Console。
CSV に書く値の言葉は対象外（過去の記録と比べられなくなるため。変えるときは対応表を作ってから別に行う）。

## 場所の名前
- 動かないものにだけ付ける：入口・風除室・待合・レジ・レジの内側・厨房・受け渡し口・返却口・パントリー・ドリンクバー・トイレ
- 待機の点には付けない（待機は吹き出しで表す）
- その場所の床の真ん中に固定する
- 文は場所の名前だけ。人数や状態は書かない
- 薄い白の背景（不透明度55%）＋1点の枠、10点、濃い灰の字、中央そろえ

## 吹き出し
- 動くもの（スタッフ・ロボット・客）にだけ付ける。椅子など動かないものには付けない
- 実際にいる位置に付いて動く
- 文は「誰×数 状態」。1つでも ×1 を付ける
  例：スタッフ×1 会計、ロボット×2 待機、客×3組 席待ち
- 数え方：スタッフとロボットは数、客は組
- 状態は1つだけ。いま何をしているかを書く。秒数・番号・行き先の卓は書かない
- 同じ場所で同じ状態のものは1つにまとめ、数で表す
- 濃い半透明の帯＋左端の色の帯、13点、白い字。左端の色は本体の色に合わせる

## 言葉（表に無い言い方は使わない）
| 意味 | 使う言葉 | 使わない言葉 |
|---|---|---|
| 店で働く人 | スタッフ | 店員 |
| 仕事がなく止まっている | 待機 | 待ち、パントリーで待つ |
| ロボットをよけて止まっている | ロボット待ち | 待つ |
| 席が空くのを待っている客 | 席待ち | 待合（状態には使わない。場所の名前だけ）、外で待つ |
| 店の外で席が空くのを待っている客 | 店外で席待ち | 外で待つ |
| 帰ってしまった客 | あきらめた | あきらめ |
| 料理を運ぶ仕事 | 配膳 | 料理、料理を運ぶ |
| ロボットが止まり、自分で動き出す | 一時停止 | 停止 |
| ロボットが動けず、人の助けが要る | 立ち往生 | 動けない |
| 客席の机 | 卓 | テーブル |
| レジの両側 | 客側／スタッフ側 | お客さん側、店員側 |

## 形と色で表す状態

見た目は、あとで天井の角のカメラの映像から人とロボットを見分ける学習に使う。
本物に近い形にするが、**測る数字は変えない**。見た目を足すときは、当たり判定（Collider）を
持たせない。NavMesh はコライダーの形で焼き、ロボットの前のセンサーもコライダーを見るので、
当たり判定さえ持たなければ、通れる床も卓までの道のりも変わらない。

### ベンチ
- **当たり判定の箱はそのまま**：大きさ・位置・高さ 1.1 m を変えない。NavMesh と
  前のセンサーはこの箱だけを見る。**見た目（Renderer）だけを消す**
- そのうえに、当たり判定を持たない見た目を2つ置く。どちらもベンチの箱の中に収め、
  **互いに重ねない**
    - **座面**：高さ 0.45 m（JSON の meta.heights.bench_seat）。背もたれの板を除いた部分
    - **背もたれ**：**机と反対側**のふちに薄く（0.08 m）、高さ 1.1 m
- 色と素材は、差し替えられるよう1か所にまとめる
    - 座面 Mat_BenchSeat ／ 背もたれ Mat_BenchBack
- 仕切り（Divider）は今までどおり、箱をそのまま見せる

### 立っている人（スタッフ・歩く客・待合の客）
- **形**：座っている客と同じ作りの「胴＋頭」にする
    - 胴：床から立ち上がるカプセル。半径は今までどおり 0.2 m
    - 頭：胴の上の球（半径 0.11 m）。頭の先が背の高さになる
- **背の高さは変えない**（PeopleSpec.personHeight 1.7 m）
- **色も変えない**：スタッフ 青（Mat_Staff）／歩く客 黄（Mat_Guest）／待合の客 紫（Mat_WaitingGuest）
- **取り替えるのは見た目（Renderer）だけ**。当たり判定（CapsuleCollider の半径・高さ・中心）、
  NavMeshAgent の半径と高さ、PersonBody、人がロボットをよける処理には触れない
- Tag も変えない（スタッフ SimStaff ／ 歩く客・待合の客 SimGuest）

### 座っている客
- **出す・消す**：客が席に着いたら、その席に「座っている客」の形を出す。立ち上がったら消す。
  ドリンクバー・トイレ・会計で立つときも消し、戻って座ったらまた出す。
  席にいる人数は「組の人数 − 立って歩いている人 − 会計に立っている人」
- **色**：立っている客と同じ黄色（Mat_Guest）
- **形**：座面（0.45 m）に腰かけて見えるように、胴と頭を分ける
    - 胴：座面の高さ 0.45 m から立ち上がる。半径は立っている客と同じ 0.2 m
    - 頭：胴の上に小さい球（半径 0.11 m）。**頭の先が背もたれ（1.1 m）より少し上に出る**
- **高さ 1.35 m**（頭の先。床から）：背もたれ 1.1 m より 0.25 m 高く、
  仕切り（1.2 m）よりも高いので、真上から見ても隠れない。
  立っている客（1.7 m）より低いので、座っていることが分かる。
  店の形の JSON（meta.heights）の高さを変えたら、この値も見直す
- **見た目だけ**：当たり判定（Collider）・PersonBody・NavMeshAgent を持たない。
  次のどれにも入れない（入れると止まる回数が変わり、計測が前と比べられなくなる）
    - NavMesh（コライダーの形で焼く。焼くのは店の下だけで、人は別の親の下に置く）
    - ロボットの前のセンサー（コライダーを見る）
    - 人がロボットをよける処理・人どうしの詰まりの記録・歩く人の数

### 種類の印（Layer / Tag）
- あとで映像から見分けるために、**Tag** を付ける。いまは付けるだけで、何にも使わない
    | もの | Tag |
    |---|---|
    | ロボット | SimRobot |
    | スタッフ | SimStaff |
    | 立っている客（歩く客・待合の客） | SimGuest |
    | 座っている客 | SimSeatedGuest |
    | ベンチ（当たりの箱・座面・背もたれ） | SimBench |
    | 机（卓の天板） | SimTable |
    | 椅子 | SimChair |
- Layer は使わない。Layer は物理の問い合わせに効くことがあるが、Tag は何にも効かないため
- Tag は ProjectSettings/TagManager.asset に増える（Assets/ServiceSim の外に出る唯一のもの）

## 共通
- 描き方は1つ：Scene ビューの GUI（Handles.BeginGUI 内）。画面に正対し、ズームしても大きさが変わらない
- 床に寝かせた文字、画面の決まった位置に出す文字、凡例は使わない
- 重なり避けは全部で共用する。先に場所の名前、その上に吹き出し
- 計測の回では何も出さない。見る用の回と Build Store のあとは出す
- 新しい表示を足すときは、先にこのファイルを直してから作る
```

### ProjectSettings/TagManager.asset

```yaml
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!78 &1
TagManager:
  serializedVersion: 2
  tags:
  - robot
  - SimRobot
  - SimStaff
  - SimGuest
  - SimSeatedGuest
  - SimBench
  - SimTable
  - SimChair
  layers:
  - Default
  - TransparentFX
  - Ignore Raycast
  - 
  - Water
  - UI
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  - 
  m_SortingLayers:
  - name: Default
    uniqueID: 0
    locked: 0
```
