==================================================================== 依頼84:④の入口近くとトイレ前の、解けずに残る詰まりを直し、180回で確かめる 2026-11-03 15:43〜17:30 作業場所 cs:70 → cs:73 build_id cs73_20261103_1601(画面なし・保留 0) ==================================================================== -------------------------------------------------------------------- 0. 始める前の確かめ(どれも依頼どおり) -------------------------------------------------------------------- Unity エディタ・night_runner・rec_runner:動いていない(Unity Hub だけ)/KIOXIA:マウント済み/ unity_ledger_v1.lock:無し/保留 0/作業場所 cs:70 - head/Builds/headless は cs70_20261103_1359 台帳を archive/unity_ledger_v1_pre_base71_20261103/ に退避(1918 行・md5 326414af3938f358b53d074b3ae167e2。依頼83 の終わりと同じ) -------------------------------------------------------------------- 1. 原因(直す前に確かめたこと。依頼83 の記録とコードから) -------------------------------------------------------------------- a. ④ fam_p2・2台・種0・4・7(入口側から来た横の通路と、左の壁ぞいの卓 T01〜T05 の細い通路の口 x 1.6〜3.8・z 2.2〜3.0) ・種0:ロボット1号機(受け渡し口へ戻る・空)と2号機(T01 へ料理)が横の通路で向かい合い(900 秒)、 助けで1号機を 1.39 m 押した先が、左下の行き止まりのへこみ (1.64, 2.19)。そこは2号機の行き先(T01 の止まる点)の すぐ手前で、2号機の前のセンサー(0.6 m)の中だった。2台とも動けなくなり(1467 秒に両方とも 1往復の打ち切り)、 スタッフ2人も2号機の東側で、2号機を抜けられないまま止まった((3.2, 2.65)・(2.2, 3.0)) ・助けで解けなかった理由は2つ (1) 動かす先の決め方が「相手の道の線から 2 台の半径+0.1 m」だけで、相手の前のセンサーの外まで離さない。 2回目からの助けは毎回 2.5 cm しか動かさず、同じ2台の助けが同じ所で 514 回(種7 は 699 回)続いた (2) 動かす台(1号機)がへこみの奥にいて、助けのスタッフは手前の2号機にふさがれて着けない(47 回交代・3871 秒)。 交代しても動かす台は変わらないので、だれも着けないままだった ・スタッフの案内・料理は、通れないまま 3 回ずつあきらめて別のスタッフに渡すのをくり返し、そのたびに詰まりの行が 1 件ずつ増えた(種0 の 34 件の大半)。スタッフはその場から動けていなかった ・種4 は、ロボットと止まっているスタッフの助けが同じ所で毎回 1〜2 cm しか動かしていなかった((1) と同じ形。相手が人) b. 客のトイレ前(⑤ (14,9)・② (9,6)) ・トイレ自体ではなく、客がトイレから席へ戻る途中で止まっていた。戻り道には「あきらめて席へ戻る」が無く (行きだけ)、60 秒ごとに行き直すだけ。回り込みの道も毎回見つからなかった(行き直し 546〜1107 回) ・ふさいでいたのは、止まっているだけで自分からは動かない相手だった ⑤:往復を終えて待機場所 (14.8, 8.8) に止まっているロボット。パントリーの壁とのすき間 0.33 m を人の道が通り、 客とスタッフが台をはさんで向かい合ったまま。ロボットは「止まっている」だけで動けなくなってはいないので、助けを呼ばない ②(ロボット 0 台):持ち場 (9.5, 5.5) に立つ手の空いたスタッフが、パントリーの壁の角を回る人の道をふさいでいた ・人どうしの詰まりの決まり(JamWatcher:体を横に向ける → 3 秒で下がる)は、止まっている相手(立っているだけの人・ 待機の台)を相手にしないので、どちらも届いていなかった c. スタッフの「料理」の詰まりが 1 件だけ残る(全員帰った 15 回・19 件) ・どれも本当に止まっていたのではなく、記録の閉じ忘れだった(料理は 19 件ともすべて届いていた) C(10 件):3回あきらめて交代した料理を、そのあとロボットが積んだ。仕事を板から外すとき(RemoveServeJob)に詰まりを閉じていなかった A(7 件):料理を卓に届けたあと、受け渡し口へ戻る途中で 60 秒着けず、済んだ仕事を「交代」に回して新しく詰まりを始めていた。 済んだ仕事なのでだれも取らず、閉じなかった A'(2 件):交代のあと別のスタッフが届けたが、戻り道でまた交代になり、閉じなかった 結論(先に) ・a・b・c の原因を確かめて直した(cs:71・72・73。実行ファイル cs73_20261103_1601) ・同じ種の2回(⑦種7)は記録が1行も違わない ・180回(cs:73):瞬間移動 0・1コマの跳び 0。解けずに残った詰まり 92 件・21 回 → 2 件・2 回、全員帰らなかった回 6 → 1、 1往復あたりの助け 0.290 → 0.193。止める線(瞬間移動・中央値2倍)には当たらなかった ・ただし新しく ⑦2台 種9 の1回が全員帰らなかった(下の 4 (4))。合格の線 (3) にはまだ届かない ・向きは 12 本中 10 本が試算と同じ(依頼83 の逆2本は直り、別の2本が逆になった。どちらも ⑦⑤ の入店待ち 1→2台) ・途中で KIOXIA が一度外れ、180回は3回に分けて回した(中身は同じ並び・同じ版。下の 5) -------------------------------------------------------------------- 2. 直したこと -------------------------------------------------------------------- a(cs:71・73) ・同じ2台(または同じ台と同じ人)の助けが、前にもこの台の 2 m 以内であったら、動かす先を 止まっている台と同じ決め方(相手の体の半径+相手の前のセンサー 0.6 m+自分の半径+0.1 m。人なら人の半径+自分のセンサー+自分の半径+0.1 m) で、床をたどって届く所に探す。見つからなければ今までの決め方。1.2 m の決め方そのものは変えていない(使う場面を広げただけ) ・助けのスタッフが 60 秒着けずに交代したら、相手がロボットで動かせる台なら、手前の相手の台の方を動かすことにする(どちらかが下がる) ・助けのスタッフが、もう動かす台から 0.8 m(立つ点の距離)以内にいれば着いたとみる(cs:73。2台のあいだに挟まれた人が、 もう1台の側にある立つ点へ届かず、交代を 95〜107 回くり返していた。試しの ④2台 種4・7 で見つけた) b(cs:72) ・歩きたいのに 30 秒(30 秒の線)0.3 m も進めない人のすぐ前(体どうしの間 0.6 m 以内)に、止まっているだけの相手がいたら相手をどかす  往復を終えて止まっている台 → 立ち往生の助けを呼び、スタッフが押して人の道の外へ動かす(今の助けの決まりをそのまま使う)  手の空いて立っているスタッフ → 人の道から 0.7 m 以上離れた、歩いて行ける空いた床へ歩いてどき、次の仕事までそこで待つ ・どちらも瞬間移動なし。助けが切の回は何もしない c(cs:71) ・料理の仕事を板から外すとき(料理が届いた・ロボットに渡した・戻された)に、交代で始めた詰まりを閉じる ・料理を卓に届けたあと、受け渡し口へ戻る途中で 60 秒着けないときは、交代にせず仕事を終えて次の仕事を取る (前は give_ups.csv に「あきらめた/交代した」の行が出ていた所。今は出ない) 記録に足したもの(台帳の列は変えていない) ・rescues.csv の終わりに wide_clear・swaps ・summary.json の stuck_rescue に blocked_robot_calls・blocked_staff_steps 変えていないもの:ロボットの速さ・物理の設定・譲る順番・人とロボットの数字・rescue_s 15 秒・30 秒の線・同じ種で同じ結果にする作り・ 止まっている台を 1.2 m 離す決め方・瞬間移動をなくした作り・店の形・台帳の列と今までの行 -------------------------------------------------------------------- 3. 変えたファイル・版 -------------------------------------------------------------------- cs:71 Service/ServiceOps.cs・Robot/ServingRobotController.cs・People/StaffAgent.cs・Experiment/TripLogger.cs(a の広く離す・入れ替え、c) cs:72 Service/ServiceOps.cs・People/StaffAgent.cs・Experiment/TripLogger.cs・Experiment/ExperimentRunner.cs(b) cs:73 People/StaffAgent.cs(a の「0.8 m 以内なら着いた」) 実行ファイル:Builds/headless build_id cs73_20261103_1601・unity_cs ServiceSim/cs:73・pending_changes 空・error CS 0 (どの check-in の前も /tmp/req84/try1〜3 に試しのビルドを作り error CS 0 を確かめた) -------------------------------------------------------------------- 4. 確かめ -------------------------------------------------------------------- (1) 同じ種の2回(⑦ fam_p5・2台・種7。det84a・det84b、cs:73) conditions・contacts・dishes・give_ups・groups・nowarp_jams・passes・people_jams・requeues・rescues・robot_track・ stops・summary・timeline・yields、どれも 1 行も違わない。trips.csv は最後の列 plan_ms_max だけ違う、 run_info.json は run_label・wall_seconds・speedup・plan_ms_max_per_trip だけ違う(どれも名札か計算にかかった実時間。前と同じ扱い) (2) 直しの途中の試し(どれも completed・瞬間移動 0) t84a(cs:71)④2台 種0・4・7:3回とも全員帰った・残り 0(依頼83 は 3回とも全員帰らず) t84b(cs:72)上の3回+⑤1台 種0・⑤2台 種3・②0台 種8・③2台 種2:7回とも全員帰った・残り 0 ただし ④ 種4・7 で 5000 秒を超える詰まりが1件ずつ(解けはした)→ cs:73 の直しにつながった t84c(cs:73)④2台 種0〜9+⑤1台 種0・⑤2台 種3・②0台 種8・③2台 種2 の 14回:全員帰った・残り 0・助けが終わる前に回が終わった 0 ④2台(種10個の中央値):入店待ち 17.96 分(依頼83 18.96)・料理の待ち 1.73 分(依頼83 2.18)・1往復あたりの助け 0.570(依頼83 2.129) 依頼83 で解けなかった4回:⑤1台 種0 入店 1.66・⑤2台 種3 1.96・②0台 種8 1.64(どれも全員帰った) 残った長い詰まり:④2台 種4 の 5166 秒(左の壁ぞいの細い通路 x 2.1 に2台が入り、奥の台の助けのスタッフが手前の台にふさがれて 69 回交代。 相手が客なので、台どうしの入れ替えが働かない。回の中で解けた) (3) 180回(label base71・同時4本・cs:73。並びは依頼83 と同じ 6店 × 0・1・2台 × 種0〜9) 180 回とも completed。実時間 中央値 1.2 分・最長 4.1 分(⑦2台 種9。依頼83 の最長は 6.0 分) 依頼83 と並べる(全体) 項目 依頼83(cs:70) 今回(cs:73) 瞬間移動(teleports の内訳の和) 0 0 1コマの跳びの見張り 0 0 解けずに残った詰まり(件・回) 92 件・21 回 2 件・2 回 全員帰らなかった回 6 1(⑦2台 種9) 助けが終わる前に回が終わった 2 3(⑤2台 種0・6・7。どれも全員が帰ったあと) 助け(回/往復/1往復あたり) 3274/11284/0.290 2244/11650/0.193 詰まり(回・秒・1回の最長) 2422・2,858,996・41779 2170・177,753・31402 店・台数ごと(種10個の中央値。入店待ち・料理の待ちは分、助けは1往復あたり) 店・台数 入店待ち 83→今回 料理の待ち 83→今回 助け 83→今回 詰まり秒 83→今回 ③1台 3.31 → 3.19 2.38 → 2.40 0.158 → 0.155 7294 → 5507 ③2台 2.81 → 2.50 1.60 → 1.48 0.201 → 0.167 48139 → 15096 ⑦1台 3.23 → 3.04 2.45 → 2.40 0.197 → 0.160 15933 → 7144 ⑦2台 4.63 → 2.82 1.54 → 1.48 0.168 → 0.145 31337 → 43412(種9 の 31402 秒が大半) ④1台 12.62 → 10.76 2.05 → 1.89 0.332 → 0.253 12969 → 4995 ④2台 18.96 → 17.96 2.18 → 1.73 2.129 → 0.570 2430502 → 50936 ⑤1台 6.44 → 6.17 2.66 → 2.68 0.100 → 0.219 58089 → 11439 ⑤2台 5.63 → 7.62 1.74 → 1.68 0.130 → 0.238 163882 → 24302 ⑥1台 5.39 → 5.38 1.98 → 1.98 0.052 → 0.049 2714 → 3270 ⑥2台 5.52 → 4.83 1.24 → 1.11 0.085 → 0.084 31953 → 7537 ②0台 1.90 → 1.86 0.89 → 0.88 ― 32897 → 55 ②1台 1.58 → 1.60 0.98 → 1.02 0.096 → 0.090 3522 → 2345 ②2台 1.50 → 1.59 0.57 → 0.58 0.171 → 0.148 19716 → 1666 (0台の ③⑦④⑤⑥ は依頼83 と同じ値。2倍を超えた店・台数は無い。いちばん増えたのは ⑤2台の入店待ち 1.35 倍。 ⑤ の助けが増えたのは、待機場所の台が人の道をふさいだときに助けを呼ぶようにした(b)ためとみられるが、確かめていない) 向きの12本(+は増える・-は減る) 店 入店待ち Unity 0→1→2台 向き 試算 0→1→2台 向き 合う? ③ 3.90 → 3.19 → 2.50 -- 4.09 → 1.68 → 1.13 -- 合う ⑦ 4.40 → 3.04 → 2.82 -- 3.08 → 1.58 → 1.60 -+ 逆(1→2台。Unity -0.22・試算 +0.02) ④ 12.64 → 10.76 → 17.96 -+ 10.91 → 4.81 → 5.57 -+ 合う ⑤ 8.13 → 6.17 → 7.62 -+ 7.51 → 3.16 → 2.37 -- 逆(1→2台。Unity +1.45・試算 -0.79) ⑥ 9.45 → 5.38 → 4.83 -- 7.91 → 3.68 → 2.11 -- 合う(依頼83 は逆) ② 1.86 → 1.60 → 1.59 -- 2.61 → 1.79 → 1.30 -- 合う 店 料理の待ち Unity 0→1→2台 向き 試算 0→1→2台 向き 合う? ③ 0.95 → 2.40 → 1.48 +- 0.63 → 1.97 → 0.96 +- 合う ⑦ 1.01 → 2.40 → 1.48 +- 0.63 → 2.01 → 1.01 +- 合う ④ 1.25 → 1.89 → 1.73 +- 0.99 → 1.29 → 0.47 +- 合う(依頼83 は逆) ⑤ 1.09 → 2.68 → 1.68 +- 0.77 → 2.28 → 1.27 +- 合う ⑥ 1.09 → 1.98 → 1.11 +- 0.84 → 2.01 → 0.82 +- 合う ② 0.88 → 1.02 → 0.58 +- 0.61 → 0.91 → 0.40 +- 合う 12 本中 10 本が合う。逆の2本のうち ⑦ は試算の差が 0.02 分でほとんど横ばい。⑤ は Unity の差 1.45 分で小さくない 詰まりの場所の上位(店・1 m のマス・回数・合計秒) 依頼83:④(2,3) 1,068,651 秒・④(2,4) 901,900・④(3,3) 124,612・⑤(14,9) 111,912 … 今回 :⑦(17,6) 1 回 31,402 秒(種9)・④(2,3) 24 回 11,392・④(2,4) 10 回 8,558・④(2,5) 10 回 6,938・④(5,3) 18 回 4,221・ ⑤(16,9) 12 回 3,797・⑤(14,9) 23 回 3,622・⑤(20,3) 54 回 3,157 だれ・仕事:ロボット 1往復の打ち切り 33 回 58,084 秒・客ドリンクバー 1601 回 52,825・スタッフ片付け 105 回 35,697・ スタッフ料理 31 回 10,638(依頼83 は 87 回 814,526)・スタッフ案内 32 回 5,884(依頼83 は 73 回 1,511,301)・客トイレ 90 回 3,054(依頼83 は 135,474) (4) 残った詰まりの中身と場所 ・⑦2台 種9(全員帰らなかった。11798 秒〜回の終わり 31402 秒):1号機が卓42 へ向かう途中の (16.85, 5.77) で、 1.4 cm の幅を約 50 秒ごとに行ったり来たりし続けた。卓の前の (17.94, 5.98) には往復を終えた2号機が止まっていた。 1号機は少しずつ動いているので「止まった」と数えられず、30 秒の線に届かないため、助けを一度も呼んでいない(種9 の助け 30 回はどれもこの前) ・⑤2台 種0:1号機の 1往復の打ち切り (16.37, 8.52)、1218 秒。全員が帰ったあとで、待機場所の近くの台どうしの助けが終わる前に回が終わった (⑤2台 種6・7 も同じ所 (14〜15, 8.7〜8.8) で、助けが終わる前に回が終わった。客は全員帰っている) -------------------------------------------------------------------- 5. 途中で止めたこと・KIOXIA が外れたこと -------------------------------------------------------------------- ・16:42 に私の見張りが「② の入店待ちの中央値が 0・1・2台とも依頼83 の2倍を超えた」と出し、止める線どおり 180回を止めた (走っていた4回は「手で止めた」で、出力フォルダは _stopped。台帳には completed の行だけが入るので、この4回の行は無い)。 調べると、見張りが「今回の種0〜4 の中央値」を「依頼83 の種0〜9 の中央値」と比べていた誤りだった。 ② は種によって入店待ちが 1 分台と 8 分台に分かれる店で、同じ種どうしではどの回も依頼83 とほぼ同じ (例:0台 種0〜4 の中央値 依頼83 8.06 → 今回 8.24)。見張りを同じ種どうしの比べ方に直し、同じ並びの続きから回した ・16:57:30 に KIOXIA が外れ、夜の実行係は新しい回を始めずに書き込みの失敗で落ちた(148 回 completed の時点)。 走っていた実行ファイル3本は、KIOXIA の無いまま Mac の中へ書かせないよう私が止めた。 17:0x に KIOXIA がつながり直したので、鍵ファイルが無いこと・前の行が変わっていないことを確かめてから、残り 32 回を続きとして回した ・180 回の出力は 3 回に分けて回したが、版(cs:73)・並び・設定は同じ。記録:night/20261103_base71/ (runner_log・runs.csv・judge.md。judge は 回の失敗 5(止めた4回+⑦2台種9)・基準なし 179)、/tmp/req84/(並び・見張り・集計の手順と出力 agg71.txt) -------------------------------------------------------------------- 6. 台帳 -------------------------------------------------------------------- 1918 行 → 2124 行(追記 206 行だけ。どれも 59 列。先頭 1918 行の md5 は 326414af… で始める前と同じ) 終わったあとの md5 a8e0a251e3f0de7ba1fe9436bb7d53ca。鍵ファイルは残っていない 追記:t84a 3・t84b 7・t84c 14(直しの途中の試し。夜の実行係は check-in していない版では回さないので、どれも check-in した cs:71〜73)・ det84a 1・det84b 1・base71 180 -------------------------------------------------------------------- 決めてほしいこと -------------------------------------------------------------------- 1. ⑦2台 種9 の形(ロボットが少しずつ行ったり来たりして「止まった」と数えられず、助けを呼ばない)を直すかどうか。 直すなら「30 秒のあいだに 0.3 m も進めていなければ止まりと同じに扱って助けを呼ぶ」のように、止まりの数え方(30 秒の線の測り方)に 手が入る。今回は「30 秒の線は変えない」ので手を入れていない 2. 全員が帰ったあとに残るロボットどうしの助け(⑤2台 種0・6・7)は、回の終わりに残った詰まりに数えるか、記録だけにするか 3. 向きが逆の2本(⑦入店待ち 1→2台:試算の差 0.02 分・⑤入店待ち 1→2台:Unity の差 1.45 分)を記録だけにするか。 ⑤ は b の直し(待機場所の台が人の道をふさいだら助けを呼ぶ)で 2台の入店待ちが 5.63 → 7.62 分に増えたためとみられるが、確かめていない 4. ④2台 種4 のように、奥の台の相手が客で、助けのスタッフが手前の別の台にふさがれる形は、回の中で解けるが 1 時間を超えることがある(5166 秒)。 このままにするか 判定:失敗