[接続] PS4 Controller  GUID=03008fe54c050000cc09000000016800  軸=6  ボタン=16
[長押し] j1 を +55.45° → +29.35° まで（目標を 3 回送信。止めます）
[PAD   ] 補正 2 を終えました (16.0 秒, 送った目標 3 回). この姿勢から推論に戻ります
[STATE ] 実測を渡す (直前に送った目標がない)
[008] 推論 825ms  10ステップ先  Δ=+11.6 +10.3  -2.7  +2.8  -4.1  -1.9
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > h
[SEND] pi05_home: send_angles (single) [  +0.00,   +0.00,   +0.00,   +0.00,   +0.00,  -30.00]  speed=20 wait=0.0s  (pre max|Δ|=63.89°, post-send timeout 11.6s)
[SEND] arrival OK: max|Δ|=2.46° (tol 2.5°)
[RECORD] 記録終了 コマ 572 (7.99 fps) 実測角 627 回 (8.76 Hz)  → /Volumes/KIOXIA/r2r2r-data/runs/pi05_policy/pi05_20261106_185050/recording
       結果: y=成功 / n=失敗 / Enter=記録しない > y n
[DONE  ] 記録: /Volumes/KIOXIA/r2r2r-data/runs/pi05_policy/pi05_20261106_185050
[CLIENT] run_policy_client.py が終わった (終了コード 0. モデル corr2 (PixelstoMotors/pi05-mecharm-trim-corr-lora-v2))
    (79 秒)
もう1回やりますか? y=やる / 他=終わる > y

=== 7. HOME → 爪を開く → 位置合わせ (7 回目)
[INIT] daemon 接続中...
  [Pi] fresh_mode=1
[INIT] fresh_mode=1
[PRE]  現在姿勢: [-0.26, 1.58, 1.75, -0.26, -0.43, -29.70]
[SEND] HOME へ移動指令
[WAIT] t=0.7s  max_err=1.75°
[DONE] HOME 到達 max_err=1.75°
[POST] 最終姿勢: [-0.26, 1.58, 1.75, -0.26, -0.43, -29.70]
  [Pi] fresh_mode=0
[EXIT] fresh_mode=0, socket close
  [Pi] GRIPPER: OPEN result= None
[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=  +2.3  dx=  -0.5  response=0.923  → OK (|dy|<=20 / |dx|<=20 / response>=0.20)
[DONE  ] 終了 (何も書いていません)
    (13 秒)

=== 8. 実機推論 (7 回目)

[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_20261106_185225
[MODEL ] corr2 (PixelstoMotors/pi05-mecharm-trim-corr-lora-v2)
[CAMERA] 写り方 dy=-3.9 dx=+6.2 response=0.546 → OK (|dy|<=20 / |dx|<=20 / response>=0.20)
[CAMERA] 基準: /Volumes/KIOXIA/r2r2r-data/datasets/mecharm_redblock_box_teach_v1_trim2/raw_episodes/run_0001_20261019_183454/frames/000000.jpg
[POLICY] 接続 ws://localhost:8000  metadata={}
[RECORD] 上カメラと実測角を 1 秒 10 コマで記録します → /Volumes/KIOXIA/r2r2r-data/runs/pi05_policy/pi05_20261106_185225/recording
[GRIP  ] 開始時のグリッパー開放は, 最初の目標が検査を通ってから行います (爪が閉じていたら手で開けておく)
[STATE ] 実測を渡す (直前に送った目標がない)
[000] 推論 551ms  10ステップ先  Δ= +4.1 +18.3 +12.7  -1.8 -24.3  +2.2
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > 
[GRIP  ] 開始時にグリッパーを開く
  [Pi] GRIPPER: OPEN result= None
[SEND] pi05_chunk000_via02: send_angles (single) [  +0.84,   +6.95,   +5.66,   -0.22,   -7.41,  -29.37]  speed=20 wait=0.0s  (pre max|Δ|=7.15°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=2.14° (tol 3.0°)
       [VIA   ] step  2  Δ= +1.1  +5.4  +3.9  +0.0  -7.1  +0.3  着いた
[SEND] pi05_chunk000_via05: send_angles (single) [  +1.92,  +12.99,   +9.74,   -0.78,  -15.41,  -28.68]  speed=20 wait=0.0s  (pre max|Δ|=9.97°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.97° (tol 3.0°)
       [VIA   ] step  5  Δ= +1.1  +5.1  +3.1  -0.6 -10.0  +1.0  着いた
[SEND] pi05_chunk000_via08: send_angles (single) [  +3.26,  +18.00,  +13.24,   -1.75,  -22.34,  -27.81]  speed=20 wait=0.0s  (pre max|Δ|=8.90°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.60° (tol 3.0°)
       [VIA   ] step  8  Δ= +1.6  +4.0  +2.6  -1.5  -8.9  +1.9  着いた
[SEND] pi05_chunk000_via09: send_angles (single) [  +3.81,  +19.84,  +14.40,   -2.07,  -24.59,  -27.51]  speed=20 wait=0.0s  (pre max|Δ|=3.85°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.28° (tol 3.0°)
       [VIA   ] step  9  Δ= +0.9  +0.9  +0.3  -1.6  -3.9  +1.5  着いた
[STATE ] 目標を渡す  目標と実測の最大差 1.22°（関節 j4）
[001] 推論 785ms  10ステップ先  Δ= +4.0 +14.8  +9.0  -1.6 -25.1  +1.9
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > 
[SEND] pi05_chunk001_via02: send_angles (single) [  +5.15,  +24.55,  +17.40,   -2.65,  -31.62,  -27.03]  speed=20 wait=0.0s  (pre max|Δ|=8.16°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.04° (tol 3.0°)
       [VIA   ] step  2  Δ= +1.4  +3.8  +2.3  -1.3  -8.2  +1.3  着いた
[SEND] pi05_chunk001_via05: send_angles (single) [  +6.57,  +29.17,  +20.41,   -2.88,  -38.97,  -26.84]  speed=20 wait=0.0s  (pre max|Δ|=8.39°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.27° (tol 3.0°)
       [VIA   ] step  5  Δ= +1.4  +3.6  +2.3  -0.7  -8.4  +0.8  着いた
[SEND] pi05_chunk001_via08: send_angles (single) [  +7.76,  +33.82,  +23.28,   -2.85,  -46.12,  -26.73]  speed=20 wait=0.0s  (pre max|Δ|=8.42°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.30° (tol 3.0°)
       [VIA   ] step  8  Δ= +0.9  +3.8  +2.5  -0.2  -8.4  +0.8  着いた
[SEND] pi05_chunk001_via09: send_angles (single) [  +8.13,  +35.49,  +24.15,   -2.87,  -48.45,  -26.69]  speed=20 wait=0.0s  (pre max|Δ|=3.63°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=0.89° (tol 3.0°)
       [VIA   ] step  9  Δ= +0.3  +0.7  +0.4  -0.3  -3.6  +0.6  着いた
[STATE ] 目標を渡す  目標と実測の最大差 0.89°（関節 j1）
[002] 推論 1538ms  10ステップ先  Δ= +2.5  +9.7  +4.7  -0.6 -14.7  +0.6
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > 
[SEND] pi05_chunk002_via02: send_angles (single) [  +9.17,  +40.37,  +26.86,   -2.73,  -55.44,  -26.68]  speed=20 wait=0.0s  (pre max|Δ|=7.72°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=0.86° (tol 3.0°)
       [VIA   ] step  2  Δ= +1.5  +4.0  +2.3  -0.5  -7.7  +0.4  着いた
[SEND] pi05_chunk002_via05: send_angles (single) [  +9.94,  +44.60,  +29.11,   -2.73,  -60.63,  -26.64]  speed=20 wait=0.0s  (pre max|Δ|=6.05°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=0.92° (tol 3.0°)
       [VIA   ] step  5  Δ= +0.9  +3.4  +1.9  -0.5  -6.1  +0.4  着いた
[SEND] pi05_chunk002_via08: send_angles (single) [ +10.12,  +46.17,  +29.49,   -2.71,  -62.48,  -26.62]  speed=20 wait=0.0s  (pre max|Δ|=2.37°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=2.37° (tol 3.0°)
       [VIA   ] step  8  Δ= +0.0  +0.7  +0.2  -0.4  -2.4  +0.3  着いた
[SEND] pi05_chunk002_via09: send_angles (single) [ +10.19,  +46.03,  +29.17,   -2.81,  -62.44,  -26.61]  speed=20 wait=0.0s  (pre max|Δ|=0.81°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.07° (tol 3.0°)
       [VIA   ] step  9  Δ= +0.2  -0.2  -0.1  -0.6  -1.3  +0.3  着いた
[STATE ] 目標を渡す  目標と実測の最大差 1.07°（関節 j1）
[003] 推論 717ms  10ステップ先  Δ= +2.4  +4.6  -1.1  -1.0  -2.1  +0.4
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > p
objc[53507]: Class SDLApplication is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588890) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed052c8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDLAppDelegate is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d5888e0) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05318). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDLTranslatorResponder is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588958) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05390). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDLMessageBoxPresenter is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588980) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed053b8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDL_cocoametalview is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d5889d0) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05408). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDLOpenGLContext is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588a20) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05458). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDL_ShapeData is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588a98) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed054d0). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDL_CocoaClosure is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588ae8) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05520). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDL_VideoData is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588b38) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05570). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDL_WindowData is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588b88) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed055c0). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDLWindow is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588bb0) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed055e8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class Cocoa_WindowListener is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588bd8) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05610). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDLView is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588c50) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05688). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class METAL_RenderData is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588cc8) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05700). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class METAL_TextureData is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588d18) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05750). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDL_RumbleMotor is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588d40) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed05778). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
objc[53507]: Class SDL_RumbleContext is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x10d588d90) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x12ed057c8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
/opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/pkgdata.py:25: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
  from pkg_resources import resource_stream, resource_exists
[PAD   ] 補正 1 (推論 3 のあと). ゲームパッドで直して, □ で推論に戻ります
コントローラーを待っています（つないでいなければ、今つないでください）。□ で推論に戻ります
[接続] PS4 Controller  GUID=03008fe54c050000cc09000000016800  軸=6  ボタン=16
[送信] j0 +1.0° → +11.01 +47.10 +29.26 -2.28 -61.96 -26.89  届いた（ずれ 0.38°）  届いた角度 +10.63 +47.10 +29.26 -2.37 -61.96 -26.80
[送信] j0 +1.0° → +12.01 +47.10 +29.26 -2.28 -61.96 -26.89  届いた（ずれ 0.44°）  届いた角度 +11.77 +47.10 +29.26 -2.72 -61.96 -26.80
[PAD   ] 補正 1 を終えました (8.9 秒, 送った目標 2 回). この姿勢から推論に戻ります
[STATE ] 実測を渡す (直前に送った目標がない)
[004] 推論 607ms  10ステップ先  Δ= +1.5 +14.2  -9.1  +0.0  -0.3  -0.2
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > 
[SEND] pi05_chunk004_via02: send_angles (single) [ +12.18,  +53.36,  +26.72,   -2.87,  -63.20,  -26.72]  speed=20 wait=0.0s  (pre max|Δ|=6.26°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.31° (tol 3.0°)
       [VIA   ] step  2  Δ= +0.1  +6.3  -2.5  +0.0  -1.2  +0.1  着いた
[SEND] pi05_chunk004_via05: send_angles (single) [ +13.07,  +58.17,  +23.15,   -2.84,  -63.04,  -26.77]  speed=20 wait=0.0s  (pre max|Δ|=4.71°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.91° (tol 3.0°)
       [VIA   ] step  5  Δ= +1.0  +3.9  -4.8  +0.1  +0.9  +0.0  着いた
[SEND] pi05_chunk004_via08: send_angles (single) [ +13.54,  +60.84,  +20.80,   -2.87,  -62.48,  -26.95]  speed=20 wait=0.0s  (pre max|Δ|=3.10°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=2.99° (tol 3.0°)
       [VIA   ] step  8  Δ= +0.7  +2.0  -3.1  -0.2  +2.5  -0.1  着いた
[SEND] pi05_chunk004_via09: send_angles (single) [ +13.56,  +61.26,  +20.16,   -2.89,  -62.26,  -27.04]  speed=20 wait=0.0s  (pre max|Δ|=3.21°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=2.95° (tol 3.0°)
       [VIA   ] step  9  Δ= +0.4  -0.2  -1.1  -0.5  +3.2  +0.0  着いた
[STATE ] 目標を渡す  目標と実測の最大差 2.95°（関節 j4）
[005] 推論 787ms  6ステップ先  Δ= +0.3  -0.4  -1.1  -0.1  +1.6  +0.7  グリッパー→閉
       [VIA   ] 中継点 2 点: step 2, 5
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > 
[SEND] pi05_chunk005_via02: send_angles (single) [ +13.46,  +61.37,  +20.16,   -2.55,  -63.16,  -26.86]  speed=20 wait=0.0s  (pre max|Δ|=1.17°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.17° (tol 3.0°)
       [VIA   ] step  2  Δ= +0.3  -0.4  -0.5  -0.0  +1.2  +0.6  着いた
[SEND] pi05_chunk005_via05: send_angles (single) [ +13.47,  +61.43,  +20.13,   -2.51,  -63.58,  -26.75]  speed=20 wait=0.0s  (pre max|Δ|=0.75°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=0.75° (tol 3.0°)
       [VIA   ] step  5  Δ= +0.3  -0.4  -0.5  +0.0  +0.8  +0.7  着いた
  [Pi] GRIPPER: VALUE=20 speed=100 result= None
[STATE ] 目標を渡す  目標と実測の最大差 0.75°（関節 j4）
[006] 推論 1500ms  10ステップ先  Δ= +0.6  -7.2  +5.8  -0.8  +1.4  +1.2
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > 
[SEND] pi05_chunk006_via02: send_angles (single) [ +13.53,  +58.14,  +23.15,   -2.88,  -62.40,  -26.28]  speed=20 wait=0.0s  (pre max|Δ|=3.55°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.27° (tol 3.0°)
       [VIA   ] step  2  Δ= +0.4  -3.5  +3.1  -0.3  +1.9  +1.1  着いた
[SEND] pi05_chunk006_via05: send_angles (single) [ +13.60,  +55.19,  +25.69,   -3.15,  -62.18,  -26.04]  speed=20 wait=0.0s  (pre max|Δ|=3.96°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.06° (tol 3.0°)
       [VIA   ] step  5  Δ= +0.4  -4.0  +3.8  -0.3  +0.7  +0.4  着いた
[SEND] pi05_chunk006_via08: send_angles (single) [ +13.79,  +54.25,  +26.45,   -3.24,  -62.90,  -26.00]  speed=20 wait=0.0s  (pre max|Δ|=2.00°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.29° (tol 3.0°)
       [VIA   ] step  8  Δ= +0.6  -2.0  +1.8  +0.0  -1.1  +0.0  着いた
[SEND] pi05_chunk006_via09: send_angles (single) [ +13.74,  +54.54,  +25.92,   -3.23,  -62.94,  -26.09]  speed=20 wait=0.0s  (pre max|Δ|=1.33°, post-send timeout 8.0s)
[SEND] arrival OK: max|Δ|=1.33° (tol 3.0°)
       [VIA   ] step  9  Δ= +0.6  -0.9  +0.4  +0.2  -1.3  -0.6  着いた
[STATE ] 目標を渡す  目標と実測の最大差 1.33°（関節 j4）
[007] 推論 813ms  10ステップ先  Δ= +0.5  -0.5  -6.5  +0.3  -2.1  -0.7
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > p
[PAD   ] 補正 2 (推論 7 のあと). ゲームパッドで直して, □ で推論に戻ります
コントローラーを待っています（つないでいなければ、今つないでください）。□ で推論に戻ります
[接続] PS4 Controller  GUID=03008fe54c050000cc09000000016800  軸=6  ボタン=16
[長押し] j1 を +55.45° → +48.25° まで（目標を 1 回送信。止めます）
[長押し] j1 を +40.51° → +47.02° まで（目標を 1 回送信。止めます）
[送信] j1 +1.0° → +13.18 +54.61 +25.48 -3.42 -61.78 -25.48  届いた（ずれ 0.97°）  届いた角度 +13.35 +55.01 +26.27 -3.51 -62.75 -25.66
[PAD   ] 補正 2 を終えました (12.1 秒, 送った目標 4 回). この姿勢から推論に戻ります
[STATE ] 実測を渡す (直前に送った目標がない)
[008] 推論 1524ms  10ステップ先  Δ= +0.1  +0.3  -3.3  +0.3  -0.5  -0.1
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > r
       爪を締め直します (開かずに閉じる指令をもう一度)
  [Pi] GRIPPER: VALUE=20 speed=100 result= None
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 > p
[PAD   ] 補正 3 (推論 8 のあと). ゲームパッドで直して, □ で推論に戻ります
コントローラーを待っています（つないでいなければ、今つないでください）。□ で推論に戻ります
