==================================================================== 依頼104:台帳の2つを直し、⑧の待機場所のそばでロボット同士が止まり合う詰まりを調べる(直さない) 2026-11-07 08:05〜08:25 作業場所 cs:87(変えていない) ==================================================================== 結論 ・止める線には当たらなかった(案B 入の 10 回すべて completed・瞬間移動 0・1コマの跳び 0) ・台帳の直し:依頼101 の3行(cs:85)は除く一覧に入れた。 rec101b の失敗の行と撮り直した回は「同じ run の名前」なので、決めたことどおりにはできなかった。この項目は止めた(決めてほしいこと 1) ・調べ(⑧5台・すぐ押す・種0〜9):待機場所のそばの、ロボット同士の 30 秒以上の詰まりは 369 件・54,008 秒(うち 31,320 秒は種7 の行ったり来たり1件) いちばん多い型は「C1 待機点にいる台のそばで、戻る台が入れない」103 件・6,735 秒 ・見つけた形 1) 待機点どうしの間が 0.8 m しかなく、前のセンサーの届く所(台の半径 0.25 m+0.6 m)が隣の待機点の台にかかる。 戻る台が斜めに自分の待機点へ寄ると、隣の台に近づいたところで止まる(C1) 2) 道を探すと 87〜98% は「引けた」になる(止まっている台を道の上の障害として見ていないとみられる・推測)のに、走ると前のセンサーで止まる。 解けたのは「スタッフが動かした」が 246/369 件 3) 往復を終えた台のうち、待機点4・5 の台は、待機点の中心から 0.3 m より外(手前・下側に 0.4〜0.7 m)で止まっている時間が 57%・75%。 はみ出した台が並びの前の道をせばめる(C2) 4) 右の卓(T55〜T62 の側)へ行く台・右から戻る台が、待機点の並びの中(y 10.9 より奥)を通る(H・A・G) 5) 種7 の行ったり来たり(D)は、ロボット2 が待機点2 から受け渡し口へ出ようとして、待機点1 のロボット1 の下を抜けられず、 「10秒で0.5m 進めない」の見張りで 2,051 回止められては放された(中央値 15.3 秒ごと)。止まりが毎回 5 秒・30 秒に届かないので、 近くのスタッフも 30 秒の呼び出しも一度も来なかった。この止まりは stops.csv に入らない(往復が終わらないと書かれないとみられる) ・案B 入にしても、待機場所のそばの止まりはほとんど変わらなかった(30 秒以上:369 件 → 349 件、行ったり来たりを除く秒 22,688 → 23,117)。 型ごとでは B・F・C2 が減り、A・C1・G・E が増えた。往復数・料理の待ち・入店待ちは悪くなった ・直す候補を3つ書いた(どれも作っていない) -------------------------------------------------------------------- 0. 始める前の確かめ(08:05〜08:06) -------------------------------------------------------------------- 1. 作業場所 cs:87(cm status:保留なし)。Builds/headless は build_id cs87_20261107_0533・unity_cs ServiceSim/cs:87・pending_changes 空 Unity(エディタ・実行ファイル)・night_runner・rec_runner は動いていなかった(動いていたのは Unity Hub だけ) KIOXIA マウント済み/unity_ledger_v1.lock なし 2. 退避:archive/unity_ledger_v1_pre_104_20261107/ unity_ledger_v1.csv 3,443 行・md5 8081fb2b969709951db80fd654af4cb1(依頼101b の終わりと同じ) unity_ledger_v1_excluded_runs.csv 21 行(見出し+20 回)・md5 c4667f28408389ec5697d3f8033652a4 -------------------------------------------------------------------- 1. 台帳の直し -------------------------------------------------------------------- 決めたこと 2(依頼101 の3行):除く一覧に3行を足した(理由「止めた依頼101 が check-in 済みの cs:85 … の実行ファイルで回した。 依頼101b の決めてほしいこと 2 でエイイチが除くと決めた」・決めた日 2026-11-07) 20261107_det101_cs85_large_p6_r2_s7_passon_sbret_ek_post_rescue 20261107_chk101a_cs85_large_p6_r5_s0_passon_sbret_ek_post_rescue_smove 20261107_chk101b_cs85_large_p6_r5_s0_passon_sbret_ek_post_rescue_smove 除く一覧:21 行 → 24 行・md5 d754edc5add03259ab8050e43d200322(先頭 21 行の md5 は c4667f28… のまま) tools/ledger.py の read_rows(drop_excluded=True) で読むと、台帳 3,442 回 → 3,419 回(除く 23 回。この3回が外れることを確かめた) 決めたこと 1(rec101b):止めた。何も足していない・除いていない わけ:失敗の行と、撮り直して completed になった回が、同じ run の名前 20261107_rec101b_cs87_large_p6_r5_s7_passon_sbret_ek_post_rescue_smove になっている(撮り直した回の出力はこの名前のフォルダ。撮りかけは _dup_stopped・_stopped に別名で残っている)。 ・除く一覧は run の名前で外す作り(ledger.py・judge_night.py とも)。名前を除く一覧に入れると、あとで足す completed の行も一緒に外れる ・台帳は「同じ run_folder の行は2度書かない」決まり(ledger.append_row も C# の ServiceSimLedger も足さない)。 手で同じ名前の行を足すと、この決まりを破ることになり、読むとき(read_rows)は後の行が勝つ → どちらを曲げるかは決まりの変更に当たるので、推測で決めずに止めた(決めてほしいこと 1 に案を書いた) 台帳の終わりの形:3,443 行 → 3,453 行(2 章の案B 入 10 回を night_runner が足しただけ。先頭 3,443 行の md5 は 8081fb2b… のまま) 終わったあとの md5 7825123e526a26c31b917d76a6d66ca1。鍵ファイルは残っていない -------------------------------------------------------------------- 2. 調べ(⑧5台・すぐ押す・人の先よけ 切) -------------------------------------------------------------------- 2-0. 材料と数え方 材料:依頼101b の sm101p6on の ⑧5台 種0〜9(10 回)と、撮った回(20261107_rec101b_…_smove・種7・録画 rec_sm101_20261107/on_now)。 40 回のうち 2〜4台は使っていない(依頼の「⑧・5台」に合わせた)。回し直しは案B 入の 10 回だけ(2-4) 場所:店の形(p6_large_center.json)の RobotStandby は待機点1〜6 が x 19.1〜23.1(0.8 m おき)・y 11.35 に横1列。 受け渡し口の前は (17.0, 11.25)。台は ServiceOps で決まった待機点を持つ(1号機→待機点1 … 5号機→待機点5。待機点6 は空き)。 範囲は依頼の目安のまま x 18〜24.5・y 10〜12.6(待機点の並びとその前・右の端がおさまる) 1つの詰まり:stops.csv の止まりを、同じ台で 3 秒以内に続いたものを1つにまとめた(始め=最初の止まりの始め、終わり=最後の止まりの終わり)。 始めの位置が範囲の中で、止まりの秒の半分以上が「もう1台のロボット」のもの。30 秒以上を数えた 付けたこと(1件ごと。episodes_on_sm101p6on_r5.csv の列) 台の位置(x, y)・段(robot_track の phase)・向かう先(止まりの solve_to が受け渡し口/待機点n/卓n のどれか)・ 何をしていたか(待機場所から出る(受け渡し口へ)/待機場所へ戻る(待機点から 1 m より遠い)/待機点へ入る(1 m 以内)/受け渡し口から卓へ)・ 相手の台(cause_detail の ServingRobot0x のうち秒がいちばん長い台)と、そのときの相手の位置・段・何をしていたか (相手が往復おわり・待機で、待機点の中心から 0.3 m 以内=待機点にいる、0.3 m より外で 30 秒のあいだ 0.1 m も動かない=待機点の手前で止まっている)・ 待機点の埋まり方(待機点1〜5 の中心から 0.35 m 以内にいた台の番号。例 "12-4-")・道を探した結果(solve_status ごとの回数)・引き直し回数・ どう解けたか(スタッフが動かした=その間に staff_moves/rescues の「動かした」がこの台か相手にあった/よけた/回り込んだ/自分で(相手が動いた)/ 動けなくなった(60 秒)/解けない(上限まで)) 台の位置の記録(robot_track)は 5 秒ごとなので、段は最大 5 秒遅れる。向かう先は止まりの記録の方を先に使った 種7 の行ったり来たりは stops.csv に入っていないので、robot_track から「往復おわり以外の段で、1.5 m 四方の中に 300 秒以上いつづけて回の終わりまで」を拾い、 summary.json の progress_watch.halts_list(見張りで止まった時刻)を足した 2-1. 型の表(⑧5台・すぐ押す・種0〜9 の 10 回の和。30 秒以上) 型 件 秒 中央値(秒) 最長(秒) 主な解け方 A 待機場所から出る台と入る台が向かい合う(並びの中 y≧10.75・x≧18.7) 35 2,173 48.9 153 スタッフ 24・よけた 9 B 受け渡し口へ向かう台と待機場所へ戻る台がぶつかる(並びの前) 35 2,004 48.2 117 スタッフ 28・よけた 6 C1 待機点にいる台のそばで、戻る台が入れない 103 6,735 60.0 290 スタッフ 66・よけた 28・動けなくなった 6 C2 待機点の手前にはみ出して止まった台で、戻る台が入れない 25 2,463 62.9 588 スタッフ 13・よけた 7・動けなくなった 5 D 1台が行ったり来たりして抜けられない(種7) 1 31,320 — 31,320 解けない(上限まで) E 待機点にいる台・はみ出した台で、出る台が出られない 8 499 55.8 98 スタッフ 4・回り込んだ 2・よけた 2 F 出る台どうし(受け渡し口へ向かう列) 30 1,490 41.2 128 スタッフ 20・よけた 7 G 戻る台どうし 41 2,349 54.2 129 スタッフ 32・よけた 7 H 受け渡し口から卓へ向かう台がからむ(右の卓へ行く台が並びを横切る) 79 4,304 50.0 117 スタッフ 52・動けなくなった 10・回り込んだ 8 Z そのほか(相手が卓で止まる・立ち往生など) 12 671 51.2 99 スタッフ 7・よけた 4 合わせて 369 54,008(D を除く 368 件・22,688 秒) (参考:長さを問わない全件 2,888 件・71,685 秒。多い順に H 1,079 件・10,173 秒/C1 461 件・9,696 秒/E 309 件・1,689 秒) 依頼の例の型との対応:「出る台と入る台が向かい合う」=A、「受け渡し口へ向かう台と戻る台」=B、「待機点が埋まっていて入れない」=C1・C2、 「1台が行ったり来たり」=D。見つかって足した型が E・F・G・H 2-2. 型ごとの中身(type_detail_out.txt) C1(いちばん多い) ・戻る台 69 件・入る台 34 件。相手は全件「待機点にいる」台。待機点にいた台の数は中央値 2 ・止まった所:並びの前で自分の待機点より左 28・並びの中の右の端(待機点6 のそば)27・並びの中で自分の待機点の前 26 → 左下から斜めに寄る台が、自分より受け渡し口側の待機点の台に近づいて止まる形と、右の端から並びに入り、並びに沿って左へ進もうとして 途中の待機点の台にふさがれる形の2つが多い ・相手の組は (3→2) 12・(4→5) 11・(5→4) 11・(2→3) 11・(2→1) 10 と、隣どうしがほとんど ・道を探した結果は 87% が「引けた」。引けるのに進めない ・最長は種2 のロボット5(290 秒):待機点5 へ左下から戻り、待機点4 のロボット4 に前のセンサーが届いて止まる(fig_C1_examples.png 左) C2 ・往復を終えた台が待機点に入りきらずに手前に止まっていて、それに戻る台がつかえる。最長 588 秒 ・往復おわりの台が待機点の中心から 0.3 m より外にいた時間の割合(10 回):待機点1 28%・2 51%・3 36%・4 57%・5 75%。 待機点からの y のずれの中央値は 1〜5 で −0.11・−0.23・−0.24・−0.44・−0.69 m(手前=下へはみ出す) (戻りの往復は待機点から 0.25 m で着いたことになり、そのあとの寄せは止まりの決まりの外で動く。なぜ手前で止まるかは、この依頼では確かめていない) D(種7) ・ロボット2 が店の時刻 11,880 秒に待機点2 から受け渡し口(卓2 の料理)へ出る。ロボット1 は待機点1 の中心より左に 0.17 m・下に 0.11 m ずれて止まっていた (18.93, 11.24)。ロボット3 は待機点3、ロボット4・5 は待機点4・5 の手前にはみ出していた(待機点の埋まり方 "123--") ・ロボット2 は x 19.22〜20.03・y 10.72〜11.27 を行き来した。左へ 0.5 m 弱進む → 見張りで止まる → 前が空いて少し下がる、をくり返した ・見張りで止まった回数 2,051 回(原因はすべて「もう1台のロボット」)・間隔の中央値 15.3 秒。止まりは毎回短く、近くのスタッフ(5 秒)にも 30 秒の呼び出しにも届かず、staff_moves・rescues にこの台の行は 0。回の終わり(43,200 秒)まで 31,320 秒続いた ・この間、ロボット4・5 には「止まっている台が人の道をふさいでいた」の 30 秒の呼び出しが何度も来ていた(ロボット2 には来ない) A・B・F・G:出る台と戻る台・戻る台どうし・出る台どうしが、待機点の並びの中とその前(幅およそ 1 m)ですれ違えない。 A は並びの中、B は並びの前。F は待機点2〜5 から出る台が受け渡し口へ向かう列で、手前の待機点の台の前を通る所でつかえる H:受け渡し口で料理を積んで右の卓へ行く台が、待機点の並びの中(y 10.9 より奥)を横切る件が 78 件中 50 件。相手は待機点にいる台 25・出る台 21・戻る台 15 E:出る台が手前の待機点の台にふさがれる。D と同じ形で、短く解けたもの 2-3. 図とコマ 置き場所:KIOXIA night/20261107_standby104/figs/(同じものを claude_code_reports/20261107_standby104_files/ にも置いた) fig_C1_examples.png いちばん多い型 C1 の上から見た図2つ(左=種2 ロボット5・290 秒、右=撮った回の種7 ロボット3)。 待機点・受け渡し口・台の位置(色=何をしていたか)・向かう先の矢印・止まった台の前のセンサーの届く所(点線)・通った跡 fig_D_seed7.png 種7 の行ったり来たり:上から見た図(ロボット2 の通った跡・向かう先の矢印)と、ロボット2 の x の動き(はじめの 600 秒)、 見張りで止められた間隔の分布 fig_where_by_type.png 30 秒以上の詰まりの始めの位置を型ごとに色分け(円の大きさ=秒) frames_C1_rec_seed7_t9229.png 撮った回の録画(wide_l30)のコマ4枚(店の時刻 9,230・9,260・9,290・9,310 秒)。 C1 の場面:ロボット3(赤丸)が待機点3 へ戻ろうとして、待機点2 のロボット2・待機点1 のロボット1 の前で止まっている。 丸は 5 秒ごとの記録の位置を画素に直したもの(止まっている台は合う。動いている台は 1 秒ほどの差で少しずれる) 種7 の行ったり来たり(D)は撮った回では起きていない(撮った回は全員が帰った)ので、録画のコマはない 2-4. 案B 入との比べ(参考・作りは変えていない) 回したもの:⑧ large_p6_s6_r5_a70 × 種0〜9・案B 入(make_queue --rule-b on。中身は params の unity_rules のまま)・すぐ押す 入・人の先よけ 切。 ほかの切り替えは sm101p6on と同じ(並びを比べ、違うのは rule_b だけ)。label sb104b・cs:87・同時4本・やり直しなし・上限 90 分 08:07〜08:20。10 回とも completed・瞬間移動 0・1コマの跳び 0(watch_log.txt)。実時間 2.7〜5.1 分 型ごと(10 回の和・30 秒以上) 型 案B 切(すぐ押す)件 秒 案B 入 件 秒 A 35 2,173 43 2,847 B 35 2,004 25 1,390 C1 103 6,735 122 8,497 C2 25 2,463 17 1,624 D 1 31,320 0 0 E 8 499 10 777 F 30 1,490 13 728 G 41 2,349 43 2,897 H 79 4,304 71 3,927 Z 12 671 5 430 合わせて 369 54,008 349 23,117(D を除くと 22,688 → 23,117) ・待機場所のそばのロボット同士の止まり(1 回あたり・10 種の中央値):3,566 秒 → 3,532 秒 ・店全体の止まりの合計(中央値):8,068 → 7,975 秒。往復数 252.5 → 214.5。料理ができてから届くまで 1.69 → 2.29 分。入店待ち 11.32 → 17.53 分。 全員が帰った回 9 → 10 ・読み取り:受け渡し口を1台ずつにすると、受け渡し口へ向かう列(F)と受け渡し口の前のぶつかり(B)は減るが、待機点へ出入りする所(A・C1・G・E)は むしろ増え、待機場所のそばの止まりはほぼ同じ。案B は待機場所のそばの詰まりの直し方にはならないとみられる。 種7 で D が出なかったのは1回だけの違いで、案B で D が無くなるとは言えない 2-5. 直すなら何を変えればよさそうか(候補。どれも作っていない) 候補1 待機点の並べ方を変える(→ C1・C2・E・D・A) ・待機点どうしの間を、前のセンサーで隣の台を見ない幅にする(中心の間 0.8 m → 1.2 m 以上が目安=台の幅 0.5+前のセンサー 0.6 を超える)。 ⑧ の並びの長さ(x 18.7〜23.5・4.8 m)では5台は入らないので、2列(前後にずらす)や、受け渡し口の左側にも分けて置く、などが要る ・待機点に「入る点」(待機点の真正面・下に 1 m ほど)を足し、そこから真上へ入る2段の入り方にする(斜めに寄って隣の台に近づくのを避ける) ・はみ出し(C2)は、着いたとみなす所(0.25 m)のあとの寄せ方を見直す 候補2 出入りの道を分ける(→ A・B・F・G・H) ・出る道(並びの左の端から受け渡し口へ)と、戻る道(並びの前の 1 本下の帯から各待機点の真下へ)を分ける一方通行にする ・右の卓へ行く台・右から戻る台は、待機点の並び(y 10.9 より奥)を通らない(並びの帯を地図の上で走らない所にする、など) 候補3 入る順の決まりを変える(→ D・E・F・C1・G) ・待機点を台ごとに決めず、受け渡し口に近い待機点から順に埋める列にする(出るのはいつも先頭=待機点1 の台、戻る台は空いているいちばん右の待機点へ)。 出る台が奥の待機点から手前の台の前を通る形(D・E・F)がなくなる ・あわせて、見張りで止まった回数が続いたら(例:同じ所で n 回)近くのスタッフ・30 秒の呼び出しの数に入れる。D は止まりが毎回短いため、 今の決まりではスタッフが一度も来ない どの候補も数値(間の幅・入る点の位置・n 回など)と、店の形(p2m-site 側)を変えるかを決める必要がある -------------------------------------------------------------------- 3. 記録の置き場所 -------------------------------------------------------------------- KIOXIA night/20261107_standby104/: q_sb104b.json・run104.sh・watch104.py(watch101b.py の写し・md5 同じ)・runner_sb104b.txt・watch_log.txt・nohup_run104.txt common104.py(店の形・地図の読み込みと図の下地)・ep104.py(詰まりの取り出しと型分け)・fig104.py(図)・frames104.py(録画のコマ) episodes_on_sm101p6on_r5.csv(すぐ押す・1件ずつ 2,888 件)・episodes_ruleb_sb104b_r5.csv(案B 入・3,384 件)・compare_out.txt・type_detail_out.txt・figs/ (置いた字のファイルに 0 の入ったものは無い。写した前後で md5 が同じことを確かめた) night/20261107_sb104b/(実行係の記録)・回のフォルダ 20261107_sb104b_cs87_large_p6_r5_s{0..9}_passon_ruleb_sbret_ek_post_rescue_smove -------------------------------------------------------------------- 変えたファイル -------------------------------------------------------------------- KIOXIA:unity_ledger_v1_excluded_runs.csv(3行追記)・unity_ledger_v1.csv(案B 入 10 回を night_runner が追記)・archive/unity_ledger_v1_pre_104_20261107/・ night/20261107_standby104/・night/20261107_sb104b/・回のフォルダ 10 個 このファイル:claude_code_reports/20261107_standby104.txt・claude_code_reports/20261107_standby104_files/(図とコマ 4 枚) 変えていない:Unity の作り(cs:87 のまま・check-in なし・Builds/headless も作り直していない)・tools/・店の形・params・サイト・ rec101b の台帳の行と回のフォルダ・依頼101 の回のフォルダ -------------------------------------------------------------------- 決めてほしいこと -------------------------------------------------------------------- 1. rec101b の台帳の直し方(止めた項目)。失敗の行と撮り直した回が同じ run の名前のため、決めたことどおりにはできない。案: a. 撮り直した回のフォルダ(と録画の rec_sm101_20261107/on_now が指す名前)を …_smove_try2 に名前を変え、その名前で completed の行を足す。 失敗の行(…_smove)を除く一覧に入れる(台帳の決まりは曲げない。night_runner のやり直しの名前の付け方と同じ) b. 除く一覧を「run の名前+status」で外せるようにして(tools/ledger.py・judge_night.py を直す)、failed の行だけ外し、同じ名前の completed の行を足す (「同じ run_folder の行は2度書かない」の決まりを、この1回だけ曲げる) c. このままにする(台帳には failed の行だけ。撮った回は基準データに使わない) 2. 待機場所のそばの詰まりの直し方:2-5 の候補1〜3 のどれを(どの組み合わせで)作るか。数値(待機点の間の幅・入る点の位置・見張りで何回止まったら 助けを呼ぶか)と、店の形(RobotStandby の並び。p2m-site 側)を変えてよいか 判定:止めた(決めてほしいことあり)