==================================================================== 依頼93:② の配膳だけ・配膳+下げ膳を撮り直し、LP の Unity の動画5本の素材を撮る 2026-11-05 15:32〜18:40 作業場所 cs:78(Unity の作りは変えていない。check-in なし) ==================================================================== 結論 ・撮る5回(A 2回・B1 1回・B2 2回)は、どれも最後まで回り、全員帰った。瞬間移動 0・1コマの跳び 0。止める線には当たっていない ・A:② の2本は 75.9 分・75.8 分で終わった(上限 120 分)。パネル付きの動画2本(9 倍)を作った ・B1:カメラは実行ファイルの引数(-ssRecCam)だけで足せたので、Unity は変えていない(cs は上げていない)。 4つのカメラで撮った回の記録は、同じ cs:78・同じ種で依頼91 に2つのカメラで撮った回と1行も違わなかった ・B2:今の版では、直す前の店でも丸テーブルのまわりで長く止まらなかった(いちばん長い止まり 3.6 秒・30 秒以上 0 回)。 依頼どおり、そのまま撮って動画2本を作った ・直す前の店は、依頼26 のやり方そのままでは今の版で回らない(試算の版の突き合わせ)。店の形のデータだけを写して回した(決めてほしいこと 1) -------------------------------------------------------------------- 0. 始める前の確かめ(15:32 ごろ。どれも依頼どおり) -------------------------------------------------------------------- 作業場所 cs:78 - head・保留 0(cm status --machinereadable は STATUS 行だけ) Builds/headless・Builds/rec20_bus91:どちらも build_id cs78_20261104_1011・unity_cs ServiceSim/cs:78・pending_changes 空 Unity エディタ・night_runner・rec_runner:動いていない(Unity Hub と、依頼箱の inbox_runner.py だけ) KIOXIA マウント済み/unity_ledger_v1.lock なし 台帳を archive/unity_ledger_v1_pre_rec93_20261105/ に退避(service_sim/unity/archive の下。依頼92 の退避と同じ所) 2944 行・md5 53aa41f760e040b96ec904838d3e2fb3(退避の前と後で同じ) ※ 最初にまちがえて /Volumes/KIOXIA/r2r2r-data/archive/ に写したので、正しい所に写し直したあと、自分が作ったその写しだけを消した 重い処理(録画の前に見た。止めていない) 15:33:duetexpertd 68%・WindowServer 42%・corespotlightd 41%(自分が探し物に使った mdfind のためとみている)・Chrome の描画 9% 15:37(A を始める直前):xprotectd 22%・Chrome Helper 17%・Creative Cloud 11%・負荷 4.0〜4.4 依頼92 で見た Chrome 193% のような重い処理はなかった -------------------------------------------------------------------- 1. 回ごと -------------------------------------------------------------------- (入店待ち・料理の待ち・turn は分、歩いた距離=スタッフ1人・km) 回 最後まで 全員帰った 実時間 瞬間移動 動画(長さ・速さ) A ② fam_p0 種8 serve ○ ○ 10137秒 75.9分 0 whole_wide_l30_panel.mp4 76.1秒・9倍 A ② fam_p0 種8 bus ○ ○ 10056秒 75.8分 0 whole_wide_l30_panel.mp4 75.6秒・9倍 B1 ③ fam_p1 種7 serve(4つのカメラ) ○ ○ 11880秒 91.7分 0 four_views_panel.mp4 76.2秒・10.5倍/top_busy_loop.mp4 12.0秒/oblique_loop.mp4 12.0秒 B2 ② fam_p0 種0 serve 直す前 ○ ○ 9628秒 6.7分 0 round_before_panel.mp4 20.0秒・1倍(録画のまま。店の 15 倍) B2 ② fam_p0 種0 serve 直した後 ○ ○ 9628秒 7.4分 0 round_after_panel.mp4 20.0秒・1倍(同じ) ・5回とも 1コマの跳び 0・解けずに残った詰まり 0 ・同時2本・1回の上限 120 分(-ssMaxWallMin 120)。night_runner の外側の上限は 150 分にした (rec_runner は外側の上限が --max-wall-min 以下だと始めない作り。依頼92 は 120/80 だった) ・並び:A の2回(15:37〜16:53)→ 空いた所に B1(16:54〜18:25)・B2 直す前(16:55〜17:02)・B2 直した後(17:02〜17:09) ・止まった回はなく、回し直した回もない ・A の runner_log.txt の頭に、始める前に打った「から回し」(--dry-run)の行が残っている(回は起こしていない) -------------------------------------------------------------------- 2. A:② の撮り直し(依頼92 と同じ撮り方) -------------------------------------------------------------------- 回し方:night/20261105_rec93a/rec_runner.py(依頼92 の rec_runner.py の写し。中身は変えていない)で --oblique --hide-paths --max-wall-min 120 --parallel 2 --no-retry --limit-min 150 --build Builds/rec20_bus91 並び:night/20261105_rec93a/queue.json(依頼92 の queue.json から ② の2回だけを残し、label を rec93a にしたもの) 依頼92 の止まった回のファイル:rec_compare_20261105/fam_p0/ はまだ無かったので、寄せるものはなかった (依頼92 の回のフォルダ 20261105_rec92_…fam_p0… は名前が違うので触っていない) 置き場所:rec_compare_20261105/fam_p0/{serve|bus}/(録画 mp4・frames.csv・camera.json・timeline.csv・summary.json、bus は bus_summary.json・bus_runs.csv も) 店 使い方 最後まで 全員帰った 実時間 瞬間移動 上限で戻った 入店待ち 料理の待ち turn 歩いた距離 下げ膳を運んだ割合 動画(長さ・速さ) ② fam_p0 種8 serve ○ ○ 10137秒 75.9分 0 - 1.46 0.62 2.60 1.60 - 76.1秒・9倍 ② fam_p0 種8 bus ○ ○ 10056秒 75.8分 0 0 1.40 1.19 2.47 1.13 0.750(27/36) 75.6秒・9倍 ・数字は night/20261105_rec93b/agg93.py(依頼92 の agg92.py と同じ読み方) ・judge.md:回の失敗 0・基準なし 2 パネル付きの動画:night/20261105_rec92/post92.py と pick_speed.py をそのまま使った(変えていない) 速さ:pick_speed.py で 9 倍(録画 serve 685.2 秒・bus 680.3 秒)。2本とも同じ速さ make_panel_video.py は md5 45a541e860222bb0426ea30c5bd976d8(依頼92 と同じ。変えていない) 出力:rec_compare_20261105/fam_p0/{serve|bus}/panel/whole_wide_l30_panel.mp4・whole_wide_l30_panel_mid.png・panel_log.txt 1920x1080・30fps(スクリプトが確かめた)。題「② ロボット2台・配膳だけ」「② ロボット2台・配膳+下げ膳」。bus の真ん中のコマで題が切れていないこと・「下げ膳」の表示が出ることを目で見た -------------------------------------------------------------------- 3. B1:③ fam_p1・2台・種7・serve(条件2)を4つのカメラで -------------------------------------------------------------------- 足したカメラと cs 実行ファイル(cs:78)の録画の引数 -ssRecCam(名前,方位,見下ろす角度,注視点x,注視点y,距離,画角,w,h)は、どの向きのカメラでも置けるので、 Unity には何も足していない。cs は 78 のまま。回し方だけ night/20261105_rec93b/rec_runner93.py(依頼92 の rec_runner.py の写し)に --lp4(4つのカメラ)と --close(B2 の寄り)の2つの引数を足した LOG371 の4視点の向き(four-views.mp4 は Unity エディタの4分割の画面。画面の向きの印から読んだ) 真上:画面の上が店の手前(入口の側)・画面の右が店の左 / 正面:奥(キッチンの側)から入口の方を水平に見る / 横:右の壁の側から左を水平に見る / 斜め:右奥の角の側から見下ろす 撮ったカメラ(どれも 3840×2160・画角 40°・注視点は店の中央 (12, 8)。0.5 秒ごと・回の最初から全員が帰るまで・frames.csv・camera.json) wide_l30:方位 +30°・見下ろす角度 60°・距離 39.4 m(依頼87 と同じ) top :方位 180°・見下ろす角度 90°・距離 26.3 m。カメラは (12, 8) の真上・高さ 26.3 m。LOG371 の真上と同じ向き front :方位 180°・見下ろす角度 45°・距離 27.4 m。カメラは (12, 27.37)・高さ 19.37 m(店の奥の外)。LOG371 の正面と同じ方位 side :方位 −90°・見下ろす角度 45°・距離 33.4 m。カメラは (35.62, 8)・高さ 23.62 m(店の右の外)。LOG371 の横と同じ方位 距離は night/20261105_rec93b/camdist93.py(依頼87 の camdist.py と同じ決め方:床の角と四方の壁の上が画面の 97% に入るいちばん近い所。 同じ計算で wide_l30 が 39.4 m になることを確かめた)。撮ったあと camera.json の行列で、どのカメラにも店全体が入っていることを確かめた 正面・横を水平(0°)にしなかったわけ:録画の道具の斜めのカメラは注視点が床の高さなので、0° だと床の高さから撮ることになり、卓に遮られる。 LOG371 の正面・横は正投影の水平の画面で、今の録画の道具では同じものは撮れない(決めてほしいこと 2)。正面ではキッチンの箱の手前(入口側)が一部隠れる 同じ種の2回の一致(カメラを足したことの確かめ) この回(20261105_rec93lp_…)と、同じ cs:78・同じ条件・同じ種で依頼91 に wide_l30・wide_r30 の2つで撮った回(20261104_rec91_…)を比べた contacts・dishes・give_ups・groups・nowarp_jams・passes・people_jams・requeues・rescues・robot_track・stops・timeline・yields・frames.csv は1字も違わない。 trips.csv は plan_ms_max だけ、summary.json は written_at だけ違う(依頼92 の比べ方と同じく一致とみる) Unity を変えていないので、cs を上げたうえでの2回の確かめは要らないと判断した 作ったもの(rec_lp_20261105/p1_s7/。作り方 night/20261105_rec93b/lp93_b1.py・記録 b1_log.txt) 1. four_views_panel.mp4(+ four_views_panel.png):1920x1080・30fps・2286 コマ・76.2 秒・10.5 倍。題「③ ロボット2台・4つの視点」 4本を 960×540 に縮めて 2×2 に並べた four_views_2x2.mp4(1920×1080・各映像の左上に「真上」「斜め」「正面」「横」)と、 four_views_2x2_frames.csv(4本の frames.csv が同じことを確かめて写した)を make_panel_video.py に渡した。 make_panel_video.py は変えていない。2×2 は 16:9 で、ふつうに渡すと左右が切れるので、もとからある --fit(切らずに縮めて上下に余白)を使った 速さは依頼91・92 と同じ決め方(0.5 刻みで 60〜90 秒に入るうち 75 秒にいちばん近いもの) 2. top_busy_loop.mp4(+ png):1200×800(3:2)・12.0 秒・360 コマ・音なし 切り出した店の時刻:6360〜6540 秒(開店から 1時間46分〜1時間49分)。録画のコマ 12720〜13079 選び方:timeline.csv の行ごとに「席にいる組+手すきでないスタッフ+動いているロボット」を数え、続く4行(180 秒)の平均がいちばん大きい所 (46.5。4行は 47・46・46・47)。真上の録画を横 3240 に切って(店は 373〜3467 px に入る)縮めた 3. oblique_loop.mp4(+ png):1000×876・12.0 秒・音なし。wide_l30 の同じ時刻(6360〜6540 秒) 8:7 にすると縦が 875 で奇数になり、ふつうの mp4(yuv420p)にできないので 876 にした(比 1.1416。8:7 は 1.1429)(決めてほしいこと 3) 店の四隅と壁の上は 751〜3122 px に入るので、横 2466 に切っても店全体が入る 再生の速さ:ループの2本は録画のまま(1コマ=店の 0.5 秒・店の 15 倍)。最初と最後はつながっていない(切り出しただけ) 目で見たこと:4視点の真ん中のコマで4つとも店全体が映り、名前の札が読め、題が切れていない。真上は入口が上に来る(LOG371 と同じ) -------------------------------------------------------------------- 4. B2:② の丸テーブル T05・T06 の直す前・直した後(fam_p0_s2_r2_a19・種0・serve) -------------------------------------------------------------------- 直す前の店の建て方 ・依頼26 は site_copy_dffc100b269c の14ファイル(試算の値 serving-robot-params.json・summary.json・6店の店の形と地図)を写した。 今は試算の値が v2.9 で、実行ファイルは v2.9 でないと回さない(SimParams.asset の expectModel)。dffc100b269c の試算の値は v2.8 なので、 14ファイルを写すと回らない ・そこで、店の形のデータだけを写した:Store/Layouts/p0_memory.json・p0_memory_map.json・summary.json を site_copy_dffc100b269c から写し(cmp で同じと確かめた)、 試算の値は今の v2.9 のまま、版の札 meta.layout_generation の1行だけを 9b8dae7ebf8c → dffc100b269c にした (店の形の版と突き合わせて違えば回さない作りなので)(決めてほしいこと 1) ・この状態で RecordBuild.Build により Builds/rec21_before93 を作った(build_id cs78_20261105_1543・pending_changes「保留あり 4 件」) ・作ってすぐ cm undo で4件を戻した(データは実行ファイルに入っているので、撮る前に戻してよいと判断した)。 戻したあと、4ファイルとも作る前の控え(night/20261105_rec93b/before_build/now_cs78/)と cmp で同じ・保留 0 を確かめた。撮り終えたあとも保留 0 ・night_runner は保留つきの実行ファイルを受け付けないので、直す前の回は依頼26 と同じく実行ファイルを直接起こした(night/20261105_rec93b/run93b.sh)。 引数は rec_runner が作るものと同じ(-ssLabel rec93before) ・台帳の layout_generation:直す前の回は dffc100b269c、直した後は 9b8dae7ebf8c(どちらも unity_cs は ServiceSim/cs:78) 直す前の店と今の店の違い(dffc100b269c と 9b8dae7ebf8c の ② の JSON を比べた) T06 の位置(x 5.85〜6.95 → 6.85〜7.95)のほか、T01・T04・T05 の止まる位置、道順(routes)、場所の点(places)が違う。 直す前の店には StaffPost が無いので、今の決まり(持ち場 入)で回しても持ち場は 0 か所になる(ログ「持ち場: 入(StaffPost 0 か所)」) カメラ:依頼28 の映像A と同じ置き方(真上・正投影・x 3.0〜10.0・y 10.5〜15.0・1680×1080・光の角度 75°)。 コマの間隔は 0.5 秒(make_panel_video.py が1コマ=店の 0.5 秒の作りのため。依頼28 は 0.2 秒)。回の最初から終わりまで。道の線は描かない(依頼87 と同じ) 出力:{回}/recordings/…_A_close.mp4・…_A_close_frames.csv、{回}/timeline.csv 丸テーブルの間で止まったか(stops.csv。x 3.6〜8.0・y 11.0〜14.2 で始まった止まり) 直す前:44 回・合わせて 44.9 秒・30 秒以上 0 回・60 秒以上 0 回。いちばん長いのはロボット1 往復31 の t=4227.25 秒から 3.6 秒(スタッフとすれ違った) 直した後:21 回・合わせて 35.2 秒・30 秒以上 0 回・60 秒以上 0 回。いちばん長いのはロボット1 往復65 の t=7139.75 秒から 5.35 秒 → 今の版では、直す前の店でも丸テーブルの間で止まらなかった(依頼26 のような 60 秒の動けなくなりは出ない)。数秒の止まりは直す前の方が多い 選んだ範囲:店の時刻 4080〜4380 秒(68分〜73分・300 秒)。2本とも同じ範囲・同じ速さ(1 倍) 理由:直す前のいちばん長い止まり(4227.25 秒から 3.6 秒)の真ん中を中心に、依頼の上限の 300 秒をとった。 この間、直す前はロボット1 が丸テーブルの間でスタッフとすれ違うたびに 8 回止まる(4184〜4235 秒・4372 秒)。 直した後は同じ頃に 4 回(4213〜4226 秒) 作ったもの(rec_lp_20261105/p0_round/{before|after}/。作り方 night/20261105_rec93b/lp93_b2.py・記録 p0_round/b2_log.txt) round_before_panel.mp4(+ png):1920x1080・30fps・600 コマ・20.0 秒・題「② 丸テーブルの間・直す前」 round_after_panel.mp4(+ png):同じ・題「② 丸テーブルの間・T06 を右へ1.0m」 make_panel_video.py の --from 4080 --to 4380 --speed 1 --fit(映像A は横 1680 で、ふつうに渡すと左右が切れるので切らずに縮めた) 目で見たこと:10 秒目のコマで、直した後は T06 が右へずれていること、題が切れていないこと -------------------------------------------------------------------- 5. 台帳 -------------------------------------------------------------------- 2944 行 → 2949 行(追記 5 行だけ。どれも completed・ServiceSim/cs:78) 20261105_rec93a_…fam_p0_r2_s8…(9b8dae7ebf8c)・…_bus(9b8dae7ebf8c)・20261105_rec93before_…fam_p0_r2_s0…(dffc100b269c)・ 20261105_rec93after_…(9b8dae7ebf8c)・20261105_rec93lp_…fam_p1_r2_s7…(9b8dae7ebf8c) 先頭 2944 行の md5 は 53aa41f760e040b96ec904838d3e2fb3(退避と同じ)。終わったあとの md5 068dae4ef80e1e5730a145f238298061。鍵ファイルは残っていない ※ 直す前の行の unity_cs は cs:78 だが、中身は cs:78 に保留として ② の店の形を入れた実行ファイル。見分けは layout_generation(dffc100b269c)でつく(依頼26 と同じ) -------------------------------------------------------------------- 6. 記録の置き場所 -------------------------------------------------------------------- night/20261105_rec93a/(A の queue.json・rec_runner.py・runner_log・runs.csv・judge・panel_fam_p0_*_log.txt) night/20261105_rec93b/(rec_runner93.py・camdist93.py・q_b1.json・q_b2after.json・run93b.sh・run93b_log.txt・agg93.py・lp93_b1.py・lp93_b2.py・ before_build/(直す前の実行ファイルの build.log と、戻したことを確かめた控え)・logs/(直す前の回のログ)) night/20261105_rec93lp/・night/20261105_rec93after/(B1・B2 直した後の実行係の記録) Builds/rec21_before93(直す前の実行ファイル。Builds/ は VCS の外) 前の分(rec_compare_20261105 のほかの店・依頼92 の ② の回など)は消していない・上書きしていない -------------------------------------------------------------------- 決めてほしいこと -------------------------------------------------------------------- 1. B2 の直す前の店の作り方と、LP での使い方。 ・依頼26 と同じに14ファイル(試算の値 v2.8 ごと)を写すと今の版では回らないので、② の店の形・地図・summary.json だけを写し、 試算の値は v2.9 のまま版の札(layout_generation)だけを合わせた。このやり方でよいか ・直す前の店(dffc100b269c)は T06 のほかに、止まる位置・道順・スタッフの持ち場(0 か所)も今の店と違う。 題「T06 を右へ1.0m」だけの違いとは言い切れない ・今の版では直す前でも丸テーブルの間で長く止まらない(最長 3.6 秒)。LP の「直す前は止まる・直した後は止まらない」という見せ方には、 今回の2本はそのままは合わない。2本を使うか、前の録画(依頼28・cs:43)を残すか 2. B1 の正面・横の見下ろす角度を 45° にした(LOG371 は水平の正投影)。録画の道具では水平の正投影は撮れない。 このままでよいか、録画の道具に水平の正投影のカメラを足す(Unity を変えるので cs を上げ、2回の確かめが要る)か 3. oblique_loop.mp4 を 1000×876 にした(8:7 の 1000×875 は縦が奇数で、ふつうの mp4 にできない)。このままでよいか 判定:止めた(決めてほしいことあり)