==================================================================== 依頼101b:近くのスタッフが着いたらすぐ押す形にし、⑧で確かめる 2026-11-07 05:30〜07:20 作業場所 cs:85(依頼101 の残り)→ cs:86(取り消し)→ cs:87 ==================================================================== 結論 ・止める線には当たらなかった。確かめ(2 章)は3つとも通った(切は sm100off と全ファイル一致・入の2回は一致・瞬間移動 0) ・3 章の 40 回はどれも completed。瞬間移動 0・1コマの跳び 0。ただし ⑧5台 種7 だけ、1組が帰らず店の時刻 720 分の上限まで回った(3 章) ・すぐ押すと、15秒待って押すより、どの台数でもロボットの止まりの合計がさらに減った(10 種の中央値) 止まりの合計秒 今のまま → 15秒待って押す → すぐ押す 2台 2,526 → 2,396 → 1,810/3台 6,054 → 4,594 → 3,959/4台 9,248 → 7,279 → 5,903/5台 12,896 → 9,704 → 8,068 30秒の呼び出し 5台 153.5 → 149.5 → 112.0 ・2分待って人が運んだ皿 5台 41.0 → 31.5 → 24.0 ・着いてから押し始めるまでは 0.0 秒になった(15秒待って押すは 14.9 秒) ・着く前の取り消しは増えた(5台 172 → 303 回。行くと決めた回数も 329.5 → 457.5 回に増えた) ・動画を1本作った(rec_sm101_20261107/slow_off_now/slow_off_now_panel.mp4・61.5 秒) ・撮影で私のミスが1つあった(撮影が二重に始まり、台帳に failed の1行が入った。4 章) -------------------------------------------------------------------- 0. 始める前の確かめ(05:30〜05:33) -------------------------------------------------------------------- 0. 依頼101 の残り ・依頼101 の night_runner と run101.sh、画面なしの Unity 4本(sm101p6on の cs85 の回)が動いていたので止めた(05:31)。 ほかの Unity・rec_runner は動いていなかった ・依頼101 は止められる前に cs:85 を check-in し、Builds/headless も cs:85 で作っていた(保留ではなく、check-in 済みの変更)。 中身は 4 ファイル(serving-robot-params.json・TripLogger.cs・StaffAgent.cs・ServiceOps.cs)で、着いたらすぐ押す変更と params の写し直し。 「101 で作りかけた変更は取り消してから始める」に従い、4 ファイルを cs:84 の中身に戻して cs:86 で check-in した (4 ファイルとも md5 が cs:84 と同じことを確かめた。cs:84 と cs:86 の中身は同じ)。cs:85 の履歴は消していない ※ 依頼101 の cs:85 には、着いたコマで押し始めても、次のコマから rescue_s(15 秒)待ちの所で止まってしまう作りが残っていた(見ただけ・回していない) ・依頼101 が残した回のフォルダ(消さずにそのまま): 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 20261107_sm101p6on_cs85_large_p6_r{2,3,4,5}_s0_passon_sbret_ek_post_rescue_smove_stopped(4つ・止めたもの) night/20261107_sm101・20261107_det101・20261107_chk101a・20261107_chk101b・20261107_sm101p6on(runs.csv に依頼101 の中断 4 行が残っている) ・依頼101 は台帳に 3 行(det101・chk101a・chk101b、どれも completed・cs:85)を足していた。消していない 1. 作業場所 cs:86(中身は cs:84 と同じ)・保留 0。Builds/headless は cs:85 だったので、下の 1 章で cs:87 に作り直した(cs:85 の実行ファイルで回した回はない)。 KIOXIA マウント済み/unity_ledger_v1.lock なし 台帳を archive/unity_ledger_v1_pre_101b_20261107/ に退避:3,399 行・md5 09dfbbbef2f7e64aa126d61d416541a0 (依頼100 の終わり 3,396 行・11564dd2b471e9226714d42bbdaadf1f に、依頼101 の 3 行が足されたもの。先頭 3,396 行の md5 は 11564dd2… のまま) 2. params:p2m-site 548c134 の public/sim/serving-robot-params.json を gh api で取った。main(今は 3159f86)の分・公開版と md5 が同じ(80f8ab26c99f2e87d21b8ebab590f53b)。 前の写し(cs:84・143aaf2・a0731b20…)と JSON を中まで比べ、違いは unity_rules.staff_moves_robot.note の文だけ (value 切・stopped_s 5・reach_m 7 は同じ) -------------------------------------------------------------------- 1. 作り(着いたらすぐ押す) -------------------------------------------------------------------- People/StaffAgent.cs ・IsStaffMoveJob(新しい読み取り):今の仕事が「近くのスタッフが動かす」(RescueRecord.staffMove)の助けか ・着いたところ(dwellSec のある段に着いた所):StuckRescueArrived のすぐあと、近くのスタッフの分だけ UpdateRescuePush を呼ぶ=着いたコマで押し始める ・待っているところ(_dwelling の中):「dwellSec(rescue_s)たつまで戻る」を、近くのスタッフの分だけ飛ばす。 30 秒の呼び出し(stuck_rescue)で来た人は今までどおり rescue_s 待ってから押す ・押し始める〜押し終えて次へ、の中身を UpdateRescuePush に切り出した(中身は今までと同じ。30 秒の呼び出しも同じ関数を通る) Service/ServiceOps.cs ・RescueRecord に moveStartS(着いたあと動かし始めた時刻)を足し、FinishStuckRescue の始めで入れる Experiment/TripLogger.cs ・staff_moves.csv に arrive_to_push_s の列を足した(work_s の後ろ)。= moveStartS − arriveS。着く前に終わった回(取り消し・着けなかった)は空 Experiment/serving-robot-params.json:サイト 548c134 から写し直し(note だけ違う) 押し方・動かす先(案a・wideClear)・取り消し・60 秒・行かない人などは変えていない。瞬間移動はしない check-in:cs:87(上の 4 ファイルを cm ci で1つずつ指定)。保留 0 実行ファイル:Builds/headless build_id cs87_20261107_0533・unity_cs ServiceSim/cs:87・pending_changes 空・Build Finished, Result: Success (記録 night/20261107_sm101b/build.log)。録画用は Builds/rec25_sm101b(Builds/headless の写し・実行ファイルの md5 9b9fa5452a05e8455d60477b34aeb1f6) -------------------------------------------------------------------- 2. 確かめ(cs:87。05:34〜05:38。比べ方は依頼100 の cmp100.py と同じ中身の cmp101b.py) -------------------------------------------------------------------- ・切:⑧2台 serve 種7・人の先よけ 切(det101b)と sm100off の同じ回(20261107_sm100off_cs84_large_p6_r2_s7_passon_sbret_ek_post_rescue) → 一致(conditions.json・contacts・dishes・give_ups・groups・nowarp_jams・passes・people_jams・requeues・rescues・robot_track・run_info・stops・ summary・timeline・trips・yields の 17 ファイルすべて。cmp_det101b_vs_sm100off.txt) ・入:⑧5台 serve 種0 を2回(chk101ba・chk101bb)→ 一致(staff_moves.csv をふくむ 18 ファイル。cmp_chk101b.txt) ・瞬間移動:3回とも 0・1コマの跳び 0 ・中身の確かめ(chk101ba):staff_moves.csv の arrive_to_push_s は、動かした 105 行すべて 0。 30 秒の呼び出し(rescues.csv)の work_s は 32 回で最小 14.94 秒・中央値 15.09 秒(今までどおり 15 秒待ってから押している) → 通ったので 3 を回した -------------------------------------------------------------------- 3. 回したこと(画面なし・同時4本・人の先よけ 切・やり直しなし・1回の上限 90 分) -------------------------------------------------------------------- ⑧ 条件 large_p6_s6_r2〜r5_a70 × 種0〜9 を入(すぐ押す)だけ = 40 回(label sm101p6on)。並びは依頼101 が作った q_sm101p6on.json の写し (⑧ の4条件・種0〜9・すれ違い入・案B切・待機場所へ戻る入・入口番入・持ち場入・一方通行切・1本道切・立ち往生の助け入・近くのスタッフ入で、依頼100 の sm100on と同じ) 回し方:night/20261107_sm101b/run101b.sh(60 秒ごとに瞬間移動・1コマの跳びを見る。watch_log.txt) 05:38〜06:18。40 回とも completed。見張りは最後まで「瞬間移動 0・1コマの跳び 0」。1回の実時間は 3〜7 分(上限には当たらない) ・⑧5台 種7 は、1組(組 133・卓2)が帰らず、上限の店の時刻 720 分まで回った。ロボット2 が店の時刻 11,880 秒から卓2へ行こうとして、 待機場所に並んだほかの4台のそば(店の座標 19.5〜20.0, 10.8〜11.1)で最後まで行ったり来たりしていた(その皿が届かないまま)。 依頼100 の切の ⑧5台 種0 と似た、待機場所のそばで1台が抜けられない詰まり。直していない。判定の材料には入れたまま(入店待ちは帰った組まで) -------------------------------------------------------------------- 4. 撮った回と動画 -------------------------------------------------------------------- 撮り方:依頼100 と同じ(rec_runner.py は依頼100 の写しで md5 ccc702841f7e952d97bea39e3959c6d1・同じ中身。--oblique --hide-paths --max-wall-min 120 --parallel 2 --no-retry --limit-min 150)。実行ファイルは Builds/rec25_sm101b(cs:87)。人の先よけ 切 ⑧5台 serve 種7 入(すぐ押す):06:19〜07:13・completed・全員が帰った・瞬間移動 0・1コマの跳び 0(実時間 54.1 分) 置き場所:rec_sm101_20261107/on_now/(録画 mp4 2本・frames.csv・camera.json・timeline.csv・summary.json・stops.csv・robot_track.csv・contacts.csv・rescues.csv・staff_moves.csv) 撮った回と撮らない回(同じ ⑧5台 種7 入):入店待ち 撮った 11.58 分/撮らない 10.71 分。止まりの合計 撮った 8,350 秒/撮らない 8,014 秒 (撮らない方は1組が帰らなかった回。撮った回は全員が帰った。今までと同じく、撮った回と撮らない回で数が違う) 私のミス(撮影が二重に始まった) ・撮影の台本(rec101b.sh)は本番が終わるのを待ってから始める形にしていた。待ちが終わらないように見えたので台本を止めて手で始め直したが、 ちょうど同じとき(06:18:50)に元の台本の待ちが終わって撮影が始まっていた。そのため同じ回が2つ同時に始まり、あとの1つが 5 秒で failed になった ・その failed が台帳に1行入った(20261107_rec101b_cs87_large_p6_r5_s7_passon_sbret_ek_post_rescue_smove・failed)。 また post101b.py が撮りかけのファイルを on_now に写していた ・両方止めて、撮りかけのものを別名にして残し(消していない)、1本だけで撮り直した: 20261107_rec101b_cs87_large_p6_r5_s7_passon_sbret_ek_post_rescue_smove_dup_stopped(回のフォルダ) rec_sm101_20261107/_dup_stopped_on_now/(撮りかけの写し)・night/20261107_rec101b_dup_stopped/(実行係の記録) ・撮り直した回は completed だが、台帳は同じ回の名前の行がもうあると足さない作りなので、台帳には failed の行だけが残り、completed の行は入っていない(下の「決めてほしいこと」) 動画:rec_sm101_20261107/slow_off_now/slow_off_now_panel.mp4 61.5 秒・3840×1280・30fps(ffprobe)・5,586,699 バイト 題「⑧ ロボット5台:今のまま と 近くのスタッフがすぐ動かす」。左=今のまま(依頼100 の rec_sm100_20261107/off)、右=すぐ押す(on_now) 作り:依頼100 と同じ(店全体の引きの1コマ 1.5 秒 → パントリーのそばに寄った絵を店の時刻の5倍で 60 秒。左右にパネル) ・5分:依頼100 と同じ 1時間10分00秒〜1時間15分00秒(店の時刻 4,200〜4,500 秒)。寄った所も同じ(パントリーのそば・切り方 crop=1360:1080:1264:553) ・この5分の止まり:今のまま 1,253 秒(366 回)/すぐ押す 359 秒(104 回)。片付けを待つ卓 7.6/8.6・入口で待つ組 6.4/6.4 ・道具:night/20261107_sm101b/ の slow101b.py(slow100.py の写しで、使う mpv の名前だけ変えた)・mpv101b.py(mpv100.py と同じ中身)・plan101b.json (plan100.json の写しで、題・右の名前・右の素材・出力先・右の数だけ変えた) 題がパネルで切れないか:寄りの真ん中のコマ(slow_off_now_panel_check_s1_slow_mid.png)を目で見た。上の帯の題・説明・時刻、下の段の寄った所・左右の名前、 左右のパネルの題「⑧ 今のまま」「⑧ 近くのスタッフがすぐ動かす」・ロボット5台の枠・入口で待つ組とグラフまで切れずに出ている 記録:slow_off_now_panel_log.txt・確かめ用のコマ4枚(同じフォルダ) -------------------------------------------------------------------- 5. 表(night/20261107_sm101b/agg101b_out.txt。10 種の中央値・回数と秒は1回あたり) -------------------------------------------------------------------- 5-1. 台数ごと(左から 今のまま=sm100off/15秒待って押す=sm100on/すぐ押す=sm101p6on) 項目 2台 3台 4台 5台 ロボットの止まりの合計秒 2526 2396 1810 6054 4594 3959 9248 7279 5903 12896 9704 8068 うちロボット同士(秒) 926 620 610 3162 2134 1679 5048 4215 3282 9060 6227 5226 60秒動けなくなった(回) 7.0 2.0 3.0 21.0 6.0 5.5 36.0 9.5 9.0 51.5 19.0 13.5 30秒の呼び出し(回) 66.0 73.0 42.5 130.5 82.0 64.5 146.0 89.5 59.0 153.5 149.5 112.0 スタッフが動かした(回) - 34.0 35.5 - 69.0 82.5 - 107.0 115.5 - 131.0 151.0 着く前に取り消し(回) - 7.5 10.0 - 27.5 56.0 - 107.0 111.5 - 172.0 303.0 (参考)行くと決めた(回) - 45.5 48.5 - 101.5 134.0 - 224.0 281.0 - 329.5 457.5 着いてから押し始めるまで(秒) - 14.9 0.0 - 14.9 0.0 - 14.9 0.0 - 14.9 0.0 料理ができてから届くまで(分) 2.37 2.33 2.27 2.25 1.94 1.91 2.16 1.89 1.72 2.26 1.95 1.69 料理が受け渡し口でロボットを待った(秒/皿) 60.7 59.2 59.0 48.7 41.6 39.6 38.0 35.0 32.0 37.0 30.1 27.2 2分待って人が運んだ皿 83.0 80.5 78.5 56.5 45.5 40.5 44.0 35.5 30.5 41.0 31.5 24.0 人がロボットで詰まった(回) 413.5 398.5 288.0 909.0 535.5 397.0 1342.0 674.5 622.5 1372.5 859.0 671.0 往復数 137.5 137.0 142.0 185.0 197.5 203.0 210.0 223.0 231.0 230.0 248.0 252.5 スタッフ1人の歩いた距離(km) 4.46 4.51 4.32 4.43 4.32 4.35 4.45 4.33 4.29 4.47 4.31 4.46 入店待ち(分・参考) 11.65 10.55 10.94 12.64 11.36 10.71 16.11 11.43 11.76 17.56 14.12 11.32 数え方は依頼100 と同じ(止まり=stops.csv の duration_s の和・60秒=stops.stuck_count・30秒の呼び出し=stuck_rescue.calls・動かした/取り消し/行くと決めた= staff_moves の moves/cancelled/calls・料理=dish_wait_mean・人が運んだ皿=late_staff_dishes・詰まり=people_jams.csv の robot_blocked=1・往復=trips.trips)。 足したもの:着いてから押し始めるまで=動かした行(動かした・連れて戻した・その場で引き直した)の中央値。すぐ押すは arrive_to_push_s、 15秒待って押すはこの列が無いので work_s − push_s で出した。歩いた距離=site_metrics.walk_km_per_staff 今のまま・15秒待って押すの数は依頼100 の表と同じになることを確かめた 読み取り ・すぐ押すと、止まりの合計は 15秒待って押すより 2〜5台で 14〜24% 減った(2台 −24%・3台 −14%・4台 −19%・5台 −17%)。今のままと比べると 2〜5台で 28〜37% 減 ・30秒の呼び出しは 2〜5台で 21〜42% 減った。5台でも 149.5 → 112.0 回(15秒待って押すでは5台はほとんど減っていなかった) ・料理の待ち・受け渡し口で待つ秒・人が運んだ皿も 3〜5台で少しずつ良くなった。人がロボットで詰まった回数も減った ・60秒動けなくなった回数は 15秒待って押すとほぼ同じ(2台 2 → 3・5台 19 → 13.5) ・着く前の取り消しは増えた(3台 27.5 → 56・5台 172 → 303)。行くと決めた回数も増えている。 すぐ動かすので止まりが早く解け、その分、次の5秒の止まりが別の所で数えられ、行ったが自分で動き出していた、が増えたとみられる(推測) ・スタッフ1人の歩いた距離はほぼ同じ(4.29〜4.46 km) ・入店待ちは5台で 14.12 → 11.32 分。2〜4台はほぼ同じ 5-2. 5台・すぐ押すで残る止まりの多い場所の上位5つ(stops.csv の止まりを、店の形の places と卓の止まる点のうち 2 m 以内の一番近い所に割り当て、10 種の和を 10 で割った秒) (参考:今のまま 6,825 → 15秒待って押す 5,212 → すぐ押す 4,214 秒が「ロボットの待機場所のそば」) 1. ロボットの待機場所のそば 4,214 秒 わけ:もう1台のロボット 3,362・分からない 419・スタッフとすれ違った 271・人が立ち止まっていた 123・お客さんとすれ違った 34 → ほとんどがロボット同士。待機場所に戻って並ぶ台と、そこから出ていく台が押し合う形(相手の台の名前が ServingRobot01〜05 のどれにも散っている)。 「進めていない(10秒で0.5m)」も多い。待機場所での待ちは、走っている途中の止まりではないので近くのスタッフは行かない場面がふくまれる(推測) 2. パントリーのそば 450 秒 わけ:もう1台のロボット 299・スタッフとすれ違った 75・人が立ち止まっていた 43・分からない 23 → 受け渡し口の近くで、よける場所で待つ(「よける場所で待った:ServingRobot0x」)ものが多い 3. スタッフの持ち場のそば 349 秒 わけ:もう1台のロボット 219・スタッフとすれ違った 70・人が立ち止まっていた 26 4. ドリンクバーの前に立つ点のそば 232 秒 わけ:もう1台のロボット 94・スタッフとすれ違った 52・人が立ち止まっていた 52・お客さんとすれ違った 29 → ほかの所より人(お客さん・スタッフ)による止まりの割合が大きい 5. スタッフが待つ点のそば 209 秒 わけ:もう1台のロボット 117・スタッフとすれ違った 54・お客さんとすれ違った 16・人が立ち止まっていた 15 (細かいわけ=cause_detail ごとの秒は agg101b_out.txt の 5-3。2〜4台・3つの形の上位5つは 5-2、回ごとの数は 5-4) -------------------------------------------------------------------- 6. 台帳 -------------------------------------------------------------------- 3,399 行(始める前)→ 3,443 行(追記 44 行だけ:確かめ 3(det101b・chk101ba・chk101bb)・sm101p6on 40・rec101b の failed 1) 先頭 3,399 行の md5 は 09dfbbbef2f7e64aa126d61d416541a0(始める前と同じ)。終わったあとの md5 8081fb2b969709951db80fd654af4cb1。鍵ファイルは残っていない 撮り直して completed になった rec101b の行は入っていない(4 章) KIOXIA の night/20261107_sm101b/ に置いた字のファイル(.py・.sh・.json・.txt)に 0 の入ったものは無かった -------------------------------------------------------------------- 7. 記録の置き場所 -------------------------------------------------------------------- night/20261107_sm101b/:build.log・q_det101b/chk101ba/chk101bb/sm101p6on/rec101b.json・run_chk101b.sh・run101b.sh・rec101b.sh・watch101b.py・cmp101b.py・ cmp_det101b_vs_sm100off.txt・cmp_chk101b.txt・agg101b.py・agg101b_out.txt・rec_runner.py・post101b.py・slow101b.py・mpv101b.py・plan101b.json・ runner_*.txt・watch_log.txt・rec_log.txt・slow101b_log_run.txt(slow101b_log_run_noffmpeg.txt は ffmpeg の場所を通し忘れた1回目の失敗の記録) night/20261107_det101b・20261107_chk101ba・20261107_chk101bb・20261107_sm101p6on(依頼101 の中断 4 行と同じフォルダ)・20261107_rec101b 回のフォルダ:20261107_{det101b|chk101ba|chk101bb|sm101p6on|rec101b}_cs87_large_p6_… -------------------------------------------------------------------- 変えたファイル -------------------------------------------------------------------- Unity:cs:86(依頼101 の cs:85 を取り消し。serving-robot-params.json・TripLogger.cs・StaffAgent.cs・ServiceOps.cs を cs:84 の中身に戻した) cs:87(Assets/ServiceSim/People/StaffAgent.cs・Service/ServiceOps.cs・Experiment/TripLogger.cs・Experiment/serving-robot-params.json) Builds/headless(cs:87 に作り直し)・Builds/rec25_sm101b(新しく足した写し) KIOXIA:上の 7 章のもの・rec_sm101_20261107/・archive/unity_ledger_v1_pre_101b_20261107/・台帳への追記 44 行 このファイル:claude_code_reports/20261107_sm101b.txt 変えていない:tools/ の中・店の形・試算の数・PeopleSpec/RobotSpec/ServiceSpec の値・stuck_rescue(30 秒)・依頼100 の録画と動画・サイト(何も上げていない)・ 依頼101 の回のフォルダと台帳の行 -------------------------------------------------------------------- 決めてほしいこと -------------------------------------------------------------------- 1. 台帳の rec101b:撮影が二重に始まった私のミスで、20261107_rec101b_cs87_…_smove の行が failed のまま入り、撮り直して completed になった回の行は入っていない (同じ回の名前の行があると足さない作りのため)。台帳は追記だけにして、行を書き換えていない。 この failed の行を除く一覧(unity_ledger_v1_excluded_runs.csv)に入れて completed の行を足すか、このままにするか 2. 依頼101 が台帳に足した 3 行(det101・chk101a・chk101b、cs:85)と、依頼101 の回のフォルダは残してある。除く一覧に入れるか、このままにするか 3. ⑧5台 種7(すぐ押す)で、ロボット1台が待機場所に並んだほかの台のそばで行ったり来たりして抜けられず、1組が帰らないまま 720 分まで回った。 依頼100 の今のまま ⑧5台 種0 と似た詰まり。別の依頼で調べて直すか 4. すぐ押すと、着く前の取り消しが増えた(5台 172 → 303 回。行くと決めた回数の 66%)。staff_moves_robot を標準の入にするかとあわせて、このままでよいか 判定:止めた(決めてほしいことあり)