==================================================================== 立ち往生をスタッフが解く作りを入れた。⑦の確かめで変な動きが出たので、基準データの 180 回は回していない 依頼:20261103_76_直した版で基準データを取り直す.md(依頼75 の後・夜) 2026-11-03 10:56〜11:25 check-in:cs:63 build_id 画面なし cs63_20261103_1114(保留 0) ==================================================================== 結論 ・依頼の 0(立ち往生の助け)を切り替えで入れ、既定を入にした(cs:63・画面なしの実行ファイルを作り直した) ・⑦(fam_p5・種7・2台)で確かめた。前に約9分止まっていた (20.4, 5.0) 付近の向かい合いは、 助け2回・約105秒で解けた(1回目は 30 秒+スタッフが着くまで約6秒+15 秒=51.3 秒) ・ただし、依頼が「180 回は回さずに止める」とした変な動きが2つとも出た (1) 同じ所で何度も助けが要る:往復を終えて止まっている2号機に1号機が阻まれ、同じ所で助けが続いた (待機場所の手前 (16.5, 5.9) で 9515〜9892 秒に 8 回、受け渡し口の近く (15.7, 5.0) で 10653〜11087 秒に 8 回) (2) 助けに行ったスタッフが詰まる:4028 秒の助け(通路 A01)で、スタッフが 2 回あきらめ、3 回目に「移した」 ・なので、基準データの 180 回(③⑦ 60 回・④⑤⑥② 120 回)は回していない。表は作れていない ==================================================================== 1. 始める前の確かめ(10:56〜11:00) ==================================================================== 1. 0 が入り、⑦の確かめで解けている … 下の 3・4 のとおり。解けた向かい合いはあるが、変な動きが出たので「解けている」とは言えない(不合格) 2. 依頼74:「済み」にあり、結果の報告がある(4 回とも completed)。合格とみた 依頼75:見張り係が止まったため「失敗」に回っている(10:52)。終わってはいる 3. Unity エディタ:起動していない(Unity Hub だけ)。night_runner・rec_runner・実行ファイル:動いていない /Volumes/KIOXIA:マウントされている。unity_ledger_v1.lock:なし 台帳を archive/unity_ledger_v1_pre_tpfix_base_20261103/unity_ledger_v1.csv に退避:1658 行・md5 7896338a6483643ca5f88f1950795d27 4. ServiceSim の保留:0(cs:62 head) ==================================================================== 2. 0 の作り(切り替えの名前・変えたファイル) ==================================================================== 切り替え ・実行ファイルの引数 -ssStuckRescue on|off。付けないときは入(HeadlessRun.StuckRescueDefault) ・queue の各回の stuck_rescue(on / off)。make_queue.py --stuck-rescue・night_runner.py --stuck-rescue params の unity_rules に項目が無いので、無いときは入(STUCK_RESCUE_DEFAULT。params は変えていない) ・入の回だけ、出力フォルダ名の末尾に _rescue(_lane の後ろ・店の指定の前)。C# と Python で同じ字 ・run_info.json の stuck_rescue.enabled。judge_night.py は入切を条件に足した(基準 v5 は切なので「基準なし」になる) ・切の回は今までどおり(60 秒で動けなくなったら呼び、その場から走りを続ける)。切の回の動きは1行も変えていない 入の回の動き ・ロボットが続けて 30 秒動けなかったら助けを呼ぶ(ServiceOps.RescueCallAfterStoppedSec。judge の立ち往生の線と同じ)。 1 回の止まりに 1 度。向かい合う2台のどちらかにまだ終わっていない助けがあれば重ねない(1 つの向かい合いに 1 人) ・助けは優先 0。手が空いている人のうち、人用の面の道の長さで近い人が取る。手が空いている人がいなければ、 今の仕事を終えて取りに来た人が取る(近い人が 2 秒取らなければ、だれが取ってもよい) ・スタッフは歩いて行き(動かす台の手前 0.8 m。今までと同じ立つ点)、着いてから rescue_s(15 秒)で片方を動かす ・ロボットどうしなら空の方(料理を載せていない方)。同じなら行き先までの残りの道が長い方。人とならロボット。 相手の台が卓で受け渡し中・往復を終えて待っているときは、相手は動かさず呼んだ台を動かす ・動かす先は、相手の道(相手のロボットの先 4 m・人なら歩いている道)から 2 台の半径+0.1 m 以上離れた、 地図で入れるマスのうち、いちばん近くでほかの台・人と重ならない所(2.5 m で無ければ 5 m まで広げる)。 見つからなければその場で道を引き直す。動かした台はそこで道を引き直して仕事を続け、呼んだ台も引き直す ・スタッフが着く前に、呼んだ台か動かす台が 2 秒続けて動けたら取り消す(スタッフは仕事に戻る) ・60 秒で「動けなくなった」の数え方は変えていない(入の回も 60 秒で数える。そのときに助けが無ければ呼ぶ) ・助けに行くスタッフは、動かす台と向かい合っている相手の台もよけない 記録 ・rescues.csv(回のフォルダ):呼んだ時刻・位置・通路・呼んだ台・動かした台・相手・原因・呼んだときに止まっていた秒・ 行ったスタッフ・手が空くまで待った秒・歩いた m と秒・動かした秒・解けるまでの秒(止まり始めから)・動かした m・どうなったか ・summary.json:rescues(スタッフが着いて動かした回数)・rescue_staff_s(staff_time_s の「立ち往生」=助けに使った秒の合計)・ stuck_rescue(呼んだ回数・取り消した回数も)。入の回は site_metrics.rescues と台帳の rescues 列も同じ回数 ・stops.csv:スタッフが動かして終わった止まりの解け方は「スタッフが動かした」 ・モニター:スタッフの仕事に「助けに行く」、下の段に「助けに行く:動かした n 回・自分で動き出して取り消し n 回」 変えたファイル(cs:63 で check-in) Assets/ServiceSim/Service/ServiceOps.cs(助けの記録・呼び方・取り消し・終わり・近い人の決め方) Assets/ServiceSim/Robot/ServingRobotController.cs(30 秒で呼ぶ・相手を見つける・動かす先・道の引き直し) Assets/ServiceSim/People/StaffAgent.cs・PersonRobotYield.cs(近い人が取る・相手の台をよけない・歩いた m) Assets/ServiceSim/Experiment/ExperimentRunner.cs・HeadlessRun.cs・TripLogger.cs(切り替え・フォルダ名・記録) Assets/ServiceSim/Store/KitchenMonitor.cs(「助けに行く」) tools/make_queue.py・night_runner.py・judge_night.py(切り替え・フォルダ名・判定の条件) check-in 前に試しのビルド 2 回(/tmp/ss76_compiletest・/tmp/ss76_compiletest2)で error CS 0 を確かめた 画面なしの実行ファイル:Builds/headless build_id cs63_20261103_1114・unity_cs ServiceSim/cs:63・pending_changes 空 録画用の実行ファイルは作っていない(Builds/rec12_tpfix62 は助けの無い cs:62 のまま) ==================================================================== 3. ⑦の確かめ(fam_p5_s4_r2_a42・種7・今の標準・助け 入) ==================================================================== ラベル rescuecheck・同時 4 本(1 回だけ)・やり直しなし。記録 night/20261103_rescuecheck/(runner 終了コード 0) 出力 20261103_rescuecheck_cs63_fam_p5_r2_s7_passon_sbret_ek_post_rescue(completed・全員帰った・実時間 2.7 分) 助けの数 呼んだ 41 回 … 動かした 33・その場で引き直した 2(動かす先が無い)・自分で動き出して取り消し 4・往復が終わって取り消し 2 rescues 35・rescue_staff_s 943.7 秒・往復 127 相手:ロボット 24・客 8・スタッフ 5・分からない 3・人が立ち止まっていた 1 解けるまでの秒(止まり始めから。35 回):中央値 51.0・最短 45.1・最長 238.4 どの行も 30 秒+手が空くまで待った秒+歩いた秒+15 秒 と一致(ずれ 0 行) 手が空くまで待った秒:中央値 0.05・最長 53.1 歩いた秒:中央値 3.2・最長 179.8 解けた向かい合い(前に約 9 分止まっていた所) 1472.7 秒 (20.56, 3.96):1号機が 2号機と向かい合って 30 秒 → Staff02 が 0.05 秒で取り、5.9 秒歩いて着き、15 秒で 1号機を 1.16 m 動かした(止まり 51.3 秒・stops.csv の解け方「スタッフが動かした」) 1号機は引き直した道でまた2号機に向かい、1533.95 秒から 44.5 秒止まって 2 回目の助け(0.98 m 動かした) 1578 秒に2台とも動き出し、1590 秒には別の卓へ。前の回(cs:59)は 1472〜2022 秒の約 550 秒止まっていた 出た変な動き(依頼の「180 回は回さずに止める」に当たる) (1) 同じ所で何度も助けが要る 場所は受け渡し口の右の待機場所。1号機の待機場所は (16.7, 5.9)、2号機の待機場所は (17.5, 6.0) (中心どうし約 0.76 m・体どうしの間は約 0.26 m) 2号機が往復を終えて自分の待機場所に止まっていると、戻ってきた1号機が自分の待機場所の 0.2〜0.4 m 手前 (16.5, 5.9) で前のセンサーに2号機を見て止まり続ける 2号機は止まっていて道が無いので、「相手の道から外れた一番近い所」は1号機のいる所そのものになり、 動かした距離は 0.025 m ほど。引き直しても同じ所で止まり、約 47 秒ごとに助けが入った 9515〜9892 秒に 8 回(最後の 1 回は1号機の往復が終わって取り消し) 同じ形がもう 1 か所:2号機が受け渡し口の点 (15.3, 5.95) で往復を終えて止まり、料理を載せて卓へ向かう1号機が (15.7, 5.0) で阻まれた。10653〜11087 秒に 8 回(最後の 1 回は取り消し) 動かした距離が 0.05 m 未満の助けは 35 回中 25 回。待機場所のあたり(x 15.5〜17.3・z 4.8〜6.4)の呼び出しは 41 回中 25 回 この止まりは助けを入れる前からある:助けの無い cs:62 の同じ回(20261103_rec_focus2_cs62_fam_p5_r2_s7・録画の回)でも、 同じあたりで 30 秒以上の止まりが 12 回あった(今回は 17 回) (2) 助けに行ったスタッフが詰まる 4028.4 秒、通路 A01 (1.77, 9.09) で1号機がスタッフと向かい合って 30 秒 → 助けに行ったスタッフが 60 秒着けずに 2 回あきらめ(4102・4162 秒)、3 回目の 4222 秒に「移した」(瞬間移動に数える)。解けるまで 238.4 秒 ほかに 2374.9 秒にも 1 回あきらめた(通路 A01) 参考:同じ回の前の版(助け無し)との比べ(1 回ずつなので、ばらつきとの区別はできない) | 回 | 往復 | 30秒以上の止まり | 動けなくなった(60秒) | あきらめた | 瞬間移動 | 入店待ち | 料理の待ち | 会計待ち | 店の時刻(分) | |---|---|---|---|---|---|---|---|---|---| | 今回 cs:63・助け入(画面なし) | 127 | 44 | 10 | 56 | 30 | 3.52 | 1.66 | 9.27 | 196.9 | | cs:62・助け無し(録画の回) | 112 | 40 | 32 | 89 | 32 | 3.96 | 2.03 | 10.12 | 206.0 | ==================================================================== 4. 基準データの 180 回 ==================================================================== 回していない(0 回)。completed・失敗・止まった回・最長の実時間は無し 店ごと・台数ごとの表(瞬間移動・入店待ち・料理の待ち・会計待ち・30 秒以上の止まり・動けなくなった・rescues・rescue_staff_s)も作れていない 比べる相手は次のものにするつもりだった(回すときに使える) ③⑦:v5(20261102_night_cs34_*) ④ fam_p2:20261031_p2(cs:33。0台は _passon、1・2台は _passon_sbret) ⑤ fam_p3:20261103_night・⑥ fam_p4:20261104_night・② fam_p0:20261105_night 試算の stuck_rate 0.01 との並べも、180 回の後に出す ==================================================================== 5. 台帳 ==================================================================== unity_ledger_v1.csv:1658 行 → 1659 行(追記 1 行だけ。⑦の確かめの 1 回・completed・unity_cs ServiceSim/cs:63) 始める前の md5:7896338a6483643ca5f88f1950795d27(退避と同じ) 終わったあとの md5:69510edef7fe2a792ba5e27a62421310 終わったあとの先頭 1658 行の md5:7896338a6483643ca5f88f1950795d27(始める前と同じ=前の行は変わっていない) 列は今までどおり(59 列)。鍵ファイルは残っていない ==================================================================== 6. 変えたもの・残したもの ==================================================================== check-in(cs:63):上の 2 の 11 ファイル 作り直した:Builds/headless(cs:63・助けの既定は入) 新しく置いた:night/20261103_rescuecheck/・night/20261103_rescuecheck_dry/・確かめの回の出力フォルダ・ archive/unity_ledger_v1_pre_tpfix_base_20261103/ /tmp に残したもの:/tmp/req76/(並び)・/tmp/ss76_compiletest・/tmp/ss76_compiletest2(試しのビルド)・/tmp/ss76_*.log 変えていない:params(serving-robot-params.json)・店の形・切の回の動き・60 秒の線・rescue_s(15 秒)・同時に回す本数・ 台帳の列と今までの行・Builds/rec12_tpfix62 注意:Builds/headless の既定が「助け 入」になったので、次の依頼77(同じ種で2回)は助け入の版で回る(依頼77 の前提どおり) ==================================================================== 決めてほしいこと ==================================================================== 1. 相手が止まっている台(往復を終えて待機場所・受け渡し口の点にいる台)のときの決まり。今の決まりだと、止まっている台には道が無いので、 呼んだ台がその場から動かず、同じ所で何度も助けが入る。案: a. 相手が往復を終えて待っている台なら、その台を動かす(呼んだ台の道から外れた一番近い空いた所へ) b. 相手に道が無いときは、相手の体から離れた所(呼んだ台の道の外)へ呼んだ台を動かす c. 待機場所どうしの間(いま中心どうし約 0.76 m)を店の形の側で広げる(サイトの店の形の直し) 2. 助けに行くスタッフが着けないとき(細い通路で人が前にいる)の扱い。今は 60 秒であきらめ、3 回目で「移した」(瞬間移動)になる。 このままにするか、助けのときは別の決まりにするか 3. 1・2 を決めたあと、⑦の確かめをやり直して 180 回を回すか(並べ方と比べる相手は上の 4 のとおり用意できる) 4. Builds/headless の既定を「助け 入」のままにしておくか(依頼77 は入の前提。切に戻すなら -ssStuckRescue off で回せる)