==================================================================== 依頼80:待機場所で止まっている台を、相手の前のセンサーにかからない所まで動かす 2026-11-03 12:58〜13:25 check-in:cs:68 build_id cs68_20261103_1303(保留 0) ==================================================================== 結論 ・ねらいの詰まりは解けた。⑦種7 で依頼79c に残った「待機場所の手前で 2 回ずつ 2 組」(8869〜9219 秒)は、 8869 秒の 1 回の助けで解けた(2号機を 0.63 m 動かし、止まり始めから 72.4 秒)。そのあとの呼び出しは無い ・同じ種の 2 回は、8つの記録が 1 行も違わない ・ただし ⑦種7 で「1往復の打ち切りの置き直し」(瞬間移動)が 2 → 4 回に増えた。 増えた 2 回は助けではなく、すれ違いで下がる状態が解けずに残ったもの(下の 4)。依頼どおりここで止めた -------------------------------------------------------------------- 0. 始める前の確かめ -------------------------------------------------------------------- Unity エディタ・night_runner・rec_runner:動いていない(Unity Hub だけ)/KIOXIA:マウント済み/ unity_ledger_v1.lock:無し/保留 0/作業場所 cs:67 - head。どれも依頼どおり 台帳を archive/unity_ledger_v1_pre_standby_rescue_20261103/ に退避(1716 行・md5 04d9e503b10b16b11cc5ac885b0f10da) -------------------------------------------------------------------- 1. 動かす先の決め方(Robot/ServingRobotController.cs の RescueMove) -------------------------------------------------------------------- ・往復を終えて止まっている台(道を持たない台)を、立ち往生した台の前から動かすときだけ使う ・相手(立ち往生した台)の道の先(いまの位置から 4 m)から、 相手の体の半径 0.25 + 相手の前のセンサーの長さ 0.6 + 自分の体の半径 0.25 + 今までの離れ 0.1 = 1.2 m 以上離れた所。前の決め方は 2 台の半径+0.1 = 0.6 m ・探すのは、いまのマスから床をたどって届く所だけ(障害物から自分の半径以上あるマスを通る。ほかの台の体の上は通らない)。 近くの 2.5 m で無ければ 5 m まで広げる。そのうち、まっすぐの距離でいちばん近い所を選ぶ (同じ距離ならマスの番号の小さい方。乱数は使わない) ・置く所は、自分が入れるマス(free_class 1 以上)で、ほかの台・人と重ならず、椅子(引かれた椅子も)とも重ならない所 ・見つからなければ今までの決め方に戻す。rescues.csv の最後に parked_fallback の列を足した(戻した回は 1、ほかは 0) ・ロボットの速さ・物理・譲る順番・人とロボットの数字・rescue_s 15 秒・30 秒の線・同じ種で同じ結果にする作りは変えていない ・メモ:依頼の「0.6 m と相手の半径」に、自分の体がかからないように自分の半径を足し、今までの離れ 0.1 m も残した (依頼79c の案 a「今までの範囲に 0.6 m も足す」と同じ 1.2 m になる) -------------------------------------------------------------------- 2. 基準データに使わない回の一覧 -------------------------------------------------------------------- ・KIOXIA の service_sim/unity/unity_ledger_v1_excluded_runs.csv(列:run_folder・理由・決めた日) 20 行(見出しを除く)。20261103_t1a〜t5b_cs65_… の 20 回(t4c・t4d を含む。台帳の unity_cs は ServiceSim/cs:65) ・judge_night.py:一覧の回を、振り分ける回からも基準データからも外す(出力フォルダが残っていても拾わない) 確かめ:--runs '20261103_t*_cs65_*' は「振り分ける回が見つからない」、det1a の 6 回はそのまま拾う ・ledger.py:excluded_folders() を足し、read_rows(..., drop_excluded=True) で外せるようにした(読み 1715 → 1695 行)。 同じ run_folder を 2 度書かない確かめ(has_row・all_folders・completed_folders)は、外さずに今までどおり見る ・台帳そのものは書き換えていない -------------------------------------------------------------------- 3. 変えたファイルと版 -------------------------------------------------------------------- cs:68 Assets/ServiceSim/Robot/ServingRobotController.cs・Service/ServiceOps.cs・Experiment/TripLogger.cs・ tools/ledger.py・tools/judge_night.py 実行ファイル:Builds/headless と Builds/rec15_standby68(どちらも build_id cs68_20261103_1303・unity_cs cs:68・保留 0) KIOXIA:unity_ledger_v1_excluded_runs.csv を新しく作った -------------------------------------------------------------------- 4. 確かめ(画面なし・night_runner・同時 1 本・--no-retry。8 回とも completed・終了コード 0・1 回 1.2〜1.4 分) -------------------------------------------------------------------- (1) ⑦ fam_p5・種7・ロボット2台(sb80a) ・ねらいの詰まり(依頼79c で 8869・8941・9169・9218 秒の 4 回、9156 秒から 104 秒の止まり) → 8869 秒の 1 回だけ。2号機を (17.49, 5.99) → (18.11, 5.99) へ 0.63 m 動かし、止まり始めから 72.4 秒で解けた (呼ぶまで 30.0 秒+スタッフが歩いた 20.1 秒+動かす 15 秒ほか)。1号機は 8915 秒に往復を終えた → 待機場所のあたりで 30 秒以上の止まり:依頼79c は 5 回(うち 104 秒 1 回)→ 今回 3 回。 9104 秒・9705 秒にも止まりはあるが 14 秒ほどで自分で動き出した ・同じ所で何度も助け(1 m 以内・200 秒以内に 2 回以上):0 組(依頼79c は 2 組) ・新しい決め方で動かしたのは 1 回、今までの決め方に戻したのは 0 回 ・残ったもの:1163 秒と 2578 秒の待機場所の助けは、まだ 0.02 m しか動いていない(依頼79c と同じ数字)。 呼んだときは2号機が止まっていたが、スタッフが動かし終える前に2号機が次の往復に出たため(1240 秒に「卓へ」)、 動かすときには「止まっている台」でなくなり、新しい決め方の外になっている。 どちらも2号機が自分で出て行って解けた(止まり始めから 118.8 秒・60.6 秒) ・助けに行ったスタッフの瞬間移動 0 回。着けずに交代 1 回(1163 秒。依頼79c と同じ) (2) 同じ回をもう 1 回(sb80b) trips 121 行・stops 654 行・people_jams 516 行・yields 994 行・contacts 183 行・rescues 13 行・give_ups 63 行・ summary 309 項目、8つとも 1 行も違わない(外したのは plan_ms_max・written_at だけ。参考の 6 つも全部同じ) (3) ③ fam_p1・⑦ fam_p5 × ロボット2台 × 種 0・3・7(sb80six。かっこ内は依頼79c の cs:67 の同じ回) 立ち往生=60 秒で動けなくなった回数、瞬間移動=summary.json の teleports の合計、 入店待ち=groups.csv の waited_min の中央値(分)、料理の待ち=dishes.csv の 届いた−できた の中央値(分) 回 立ち往生 30秒以上 瞬間移動 助け(呼んだ/動かした) 同じ所の続き 入店待ち 料理の待ち ③種0 1 (1) 12 (12) 19 (19) 10/5 (10/5) 0 (0) 1.23 (1.23) 0.94 (0.94) ③種3 3 (3) 20 (21) 31 (33) 20/14 (22/17) 4 (2) 1.36 (1.36) 1.47 (1.13) ③種7 7 (10) 28 (35) 36 (37) 26/18 (32/24) 2 (6) 1.33 (1.33) 1.44 (1.45) ⑦種0 1 (1) 20 (18) 24 (20) 20/13 (18/11) 6 (6) 1.26 (1.26) 0.86 (0.83) ⑦種3 0 (1) 7 (12) 23 (26) 7/7 (44/44) 0 (35) 1.36 (1.36) 1.34 (1.42) ⑦種7 3 (3) 13 (16) 22 (19) 13/11 (17/14) 0 (2) 1.41 (1.41) 1.43 (1.40) 6回の合計 15 (19) 100 (114) 155 (154) 96/68 (143/106) 12 (51) ・今までの決め方に戻した回:6 回とも 0。助けに行ったスタッフの瞬間移動:6 回とも 0 ・⑦種3:依頼79c では (15, 6) で、止まっている2号機を 0.025 m ずつ動かす助けが 37 回続いていた(依頼79c の報告に無かった形)。 今回は 0 回。呼び出しは 44 → 7 回 ・③種3・⑦種0 の「同じ所の続き」は、どれも人とロボットの助け(呼んだ台を動かす形)で、今回の直しの外。 依頼79c の回にも同じ形がある ・③種3 の交代 0 → 1(5120 秒・止まり始めから 131 秒で解けた)。ほかの回では交代は同じか減った ・瞬間移動の増えた回 ⑦種0 20 → 24:客の逃がし弁 19 → 23(ドリンクバーなど)。助け・ロボットの瞬間移動は増えていない ⑦種7 19 → 22:客の逃がし弁 15 → 16、1往復の打ち切りの置き直し 2 → 4 ★ ⑦種7 で増えた打ち切り 2 回(1号機の往復 117・121、どちらも卓34 行き、9063〜10261 秒) 1号機が (20.95, 6.25) で「すれ違いで下がる」状態(robot_track の backing_off=1)のまま約 500 秒止まり、 600 秒で打ち切られて置き直された。置き直したあとの往復 121 も同じ所で同じ形になった。 このとき2号機は遠く((8.7, 6.6) や待機場所)にいて、下がる相手がいない。 stops.csv にはこの止まりが入っていない(30 秒以上の止まりにも数えられていない)。 8869 秒の助けのあと、動きの流れが前の版と変わって初めて出た形で、助けの処理の中ではなく、すれ違いの処理の中で起きている。 cs:67 の ⑦種7 の 5 回(det1a・det1b・det4a・det4b・rescue79)にはこの形は無い -------------------------------------------------------------------- 5. 台帳 -------------------------------------------------------------------- 1716 行 → 1724 行(追記だけ。列は 59 のまま。先頭 1716 行の md5 は 04d9e503… で、始める前と同じ) 終わったあとの md5 3dafb380b4b46527037f948cfe494059。鍵ファイルは残っていない 追記 8 行:sb80a・sb80b 各 1、sb80six 6(どれも cs:68・completed) 記録:night/20261103_standby80_sb80a・_sb80b・_sb80six。調べに使った手順は /tmp/req80/(six.py)と /tmp/req79/(cmp.py・rescue_check.py) -------------------------------------------------------------------- 決めてほしいこと -------------------------------------------------------------------- 1. ⑦種7 の、相手がいないのに「すれ違いで下がる」状態が解けず、1往復の打ち切りになる形(瞬間移動 +2)をどうするか。 助けの直しの中ではなく、すれ違いの処理の中で起きている。案: a. 次の依頼で、すれ違いで下がる状態に「相手がいなくなった・離れたら終える」決まりを足す(直す範囲が今回の外のため、今回は触っていない) b. 今回の cs:68 はこのまま使い、この形は記録だけしておく 2. スタッフが着く前に、止まっていた台が次の往復に出た回(⑦種7 の 1163・2578 秒)は、今の決め方(0.02 m)のまま。 このときも 1.2 m 離す決め方を使うか(今はどちらも、出て行った台が自分で離れて解けている) 3. 動かす先の離れに、今までの 0.1 m も足して 1.2 m にした。1.1 m(0.1 m を足さない)にするか 判定:止めた(決めてほしいことあり)