[LAB   ] 2026-11-01 20:01:54  GPU=NVIDIA A40  episode=run_0001_20261019_194818  log=/Volumes/KIOXIA/r2r2r-data/lab/Log18  
[MODEL ] --model corr: 3999 から trim2_corr_v3 で続きを学習した 1499 (依頼 49)
         PixelstoMotors/pi05-mecharm-trim-corr-lora-v1 → /workspace/ckpt/corr_v1_1499  設定 pi05_mecharm_trim_corr_lora  assets local/mecharm_redblock_box_teach_v1_trim2_corr_v3

=== 1. Pod を作る
[POD   ] Log18 の Pod (id v7w5nerpf0hh1y) につなぎ直します (状態 RUNNING  GPU=NVIDIA A40  1時間 0.59 ドル  作った時刻 2026-11-01 18:58:29)
[POD   ] 記録の最後のモデル: corr  今回: --model corr
    (2 秒)

=== 2. Pod が立ち上がるまで待つ
[POD   ] SSH の IP とポートを API から取り直した (<POD_IP>:<SSH_PORT>)
[POD   ] 入れた: 7fe17fd7a61d
NVIDIA A40, 46068 MiB
    (8 秒)

=== 3. Pod の中を確かめる (つなぎ直し)
[POD   ] serve_policy.py のプロセス: ある  8000 番の LISTEN: ある
[POD   ] モデル (/workspace/ckpt/corr_v1_1499): ある  openpi (215abfb): ある  .venv: ある
[POD   ] 動いているサーバーのモデル: --policy.dir=/workspace/ckpt/corr_v1_1499 (--model corr と同じ)
[POD   ] サーバーは 8000 番で待っています. 3b〜4 を飛ばします
INFO:websockets.server:server listening on 0.0.0.0:8000
    (11 秒)

=== 3a. スクリプトを送る
    (64 秒)

=== 3b〜4. 準備とサーバーの起動 → 飛ばす (サーバーが 8000 番で待っている)

=== 5. Mac の 8000 番へのトンネル
[TUNNEL] localhost:8000 → Pod の 8000 番 (pid 25503. このスクリプトが終わると閉じる)
    (4 秒)

=== 6. デーモンの状態
--- process
511 /usr/bin/python3 -u /home/ubuntu/mecharm_daemon.py
--- 5555
LISTEN   0         1                   0.0.0.0:5555             0.0.0.0:*       
--- systemd
enabled: enabled
active:  active
    (2 秒)

=== 7. HOME → 爪を開く → 位置合わせ (1 回目)
[INIT] daemon 接続中...
  [WARN] fresh_mode切替不可: daemon error: set_fresh_mode is not available in this pymycobot environment
[INIT] fresh_mode=1
[PRE]  現在姿勢: [0.00, 1.31, 1.23, -0.26, 54.49, -29.70]
[SEND] HOME へ移動指令
[WAIT] t=2.0s  max_err=54.49°
[WAIT] t=2.6s  max_err=54.49°
[WAIT] t=3.1s  max_err=54.49°
[WAIT] t=3.6s  max_err=54.49°
[WAIT] t=4.2s  max_err=54.49°
[WAIT] t=4.7s  max_err=54.49°
[WAIT] t=5.2s  max_err=54.49°
[WAIT] t=5.7s  max_err=54.49°
[WAIT] t=6.3s  max_err=54.49°
[WAIT] t=6.8s  max_err=54.49°
[WAIT] t=7.3s  max_err=54.49°
[WAIT] t=7.8s  max_err=54.49°
[WAIT] t=8.4s  max_err=54.49°
^C[INTERRUPT] Ctrl+C 検出
[POST] 最終姿勢: [0.00, 1.31, 1.23, -0.26, 54.49, -29.70]
  [WARN] fresh_mode切替不可: daemon error: set_fresh_mode is not available in this pymycobot environment
[EXIT] fresh_mode=0, socket close
  [Pi] GRIPPER: OPEN result= -1
[REF   ] 基準画像: /Volumes/KIOXIA/r2r2r-data/datasets/mecharm_redblock_box_teach_v1_trim2/raw_episodes/run_0001_20261019_194818/frames/000000.jpg
[REF   ] お手本 run_0001_20261019_194818 (つかんだ瞬間の j0 = +13.2°)
[REF   ] 重なった画像のブロックに実物のブロックを合わせると, お手本と同じ位置に置ける
[ALIGN ] |dy| <= 20 なら OK. アームは HOME に置いた状態で合わせる. q または Esc で終了 (ファイルには何も書かない)
[ALIGN ] dy= -20.8  dx=  -0.4  response=0.081  → 測れない (相関が弱く dx/dy が当てにならない (response=0.081 < 0.20))
[DONE  ] 終了 (何も書いていません)
    (19 秒)

=== 8. 実機推論 (1 回目)
[WAIT  ] 送ったあと 0.0s / 爪のあと 0.8s (開くときの daemon 0.0s) / 止まるのを待つ目安 0.8s
[SAFE  ] 安全範囲 (学習 19 本 ±10°): j0[-72,+55]  j1[-9,+88]  j2[-46,+41]  j3[-18,+27]  j4[-90,+10]  j5[-51,-14]
[SAFE  ] 肩 j1 の上限は J1_SAFE_MAX=88° で切った (これを超える指令はアームが黙って捨てる / LOG352)  元データ: /Volumes/KIOXIA/r2r2r-data/datasets/mecharm_redblock_box_teach_v1_trim2/raw_episodes
[MODE  ] EXECUTE  steps/chunk=10  max_move=20.0°  log=/Volumes/KIOXIA/r2r2r-data/runs/pi05_policy/pi05_20261101_200345
[MODEL ] corr (PixelstoMotors/pi05-mecharm-trim-corr-lora-v1)
[CAMERA] 写り方 dy=-43.4 dx=+9.5 response=0.041 → 測れない (相関が弱く dx/dy が当てにならない (response=0.041 < 0.20))
[CAMERA] 基準: /Volumes/KIOXIA/r2r2r-data/datasets/mecharm_redblock_box_teach_v1_trim2/raw_episodes/run_0001_20261019_183454/frames/000000.jpg
[WARN  ] 写り方が『測れない』だが --ignore-framing が指定されたので続けます
[POLICY] 接続 ws://localhost:8000  metadata={}
[RECORD] 上カメラと実測角を 1 秒 10 コマで記録します → /Volumes/KIOXIA/r2r2r-data/runs/pi05_policy/pi05_20261101_200345/recording
[WARN  ] HOME から離れています (max|Δ|=54.5°). 学習データは HOME から始まっています
         現在角: j0=+0.0 j1=+1.3 j2=+1.2 j3=-0.3 j4=+54.5 j5=-29.7
[GRIP  ] 開始時のグリッパー開放は, 最初の目標が検査を通ってから行います (爪が閉じていたら手で開けておく)
[STATE ] 実測を渡す (直前に送った目標がない)
[000] 推論 1535ms  10ステップ先  Δ= -1.9 +13.7  +5.2  -1.0 -44.1  +0.4
       [LIMIT] j4 安全範囲でクランプ +37.3→+10.4
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       [LIMIT] step 2: j4 安全範囲でクランプ +52.1→+10.4
       [LIMIT] step 2: j4 移動量 -44.1° を ±20° に制限
       [LIMIT] step 5: j4 安全範囲でクランプ +46.1→+10.4
       [LIMIT] step 5: j4 移動量 -24.1° を ±20° に制限
       [LIMIT] step 8: j4 安全範囲でクランプ +39.2→+10.4
       [LIMIT] step 9: j4 安全範囲でクランプ +37.3→+10.4
       [ABORT] step 2: j4 +34.49° が安全範囲 [-90.00, +10.43] の外 (j4 の範囲は 学習データ ∩ J4_SAFE [-90, +60])
       [ABORT] step 5: j4 +14.49° が安全範囲 [-90.00, +10.43] の外 (j4 の範囲は 学習データ ∩ J4_SAFE [-90, +60])
[STOP  ] 安全でない目標のため, 送らずに停止します (現在角が安全範囲の外にあると, 移動量の制限で範囲の外に戻る)
       h=HOMEに戻して終了 / 他=そのまま終了 > 
[RECORD] 記録終了 コマ 29 (9.019 fps) 実測角 32 回 (9.95 Hz)  → /Volumes/KIOXIA/r2r2r-data/runs/pi05_policy/pi05_20261101_200345/recording
[DONE  ] 記録: /Volumes/KIOXIA/r2r2r-data/runs/pi05_policy/pi05_20261101_200345
[DONE  ] 終了コード 1 (安全停止 / 途中のエラー)
[CLIENT] run_policy_client.py が終わった (終了コード 1. モデル corr (PixelstoMotors/pi05-mecharm-trim-corr-lora-v1))
    (7 秒)
もう1回やりますか? y=やる / 他=終わる > 

=== かかった時間 (Log18 の Pod (id v7w5nerpf0hh1y) につなぎ直し)  モデル corr (PixelstoMotors/pi05-mecharm-trim-corr-lora-v1)
  1. Pod につなぎ直す             2 秒
  2. Pod が立ち上がるまで待つ      8 秒
  3. Pod の中を確かめる (つなぎ直し)     11 秒
  3a. スクリプトを送る         64 秒
  3b〜4. 準備とサーバーの起動 (飛ばした)      0 秒
  5. Mac の 8000 番へのトンネル      4 秒
  6. デーモンの状態              2 秒
  7. HOME → 爪を開く → 位置合わせ (1 回目)     19 秒
  8. 実機推論 (1 回目)            7 秒

[LAB   ] Pod は残しています (id v7w5nerpf0hh1y). 片付けは ./lab_stop.sh --log Log18
[TUNNEL] 8000 番のトンネルを閉じました
