(base) shimazueiichi@shimadzueiichinoMacBook-Pro r2r2r-scripts % cd ~/r2r2r-scripts git add tools/gamepad_teleop.py tools/test_gamepad_teleop.py docs/review_request_20261103_gamepad_hold.md docs/review_result_20261103_gamepad_hold.md git commit -m "gamepad_teleop: 範囲を物理可動域に (j1 90.87・J4_SAFE は残す), 十字キーの長押しで送り続ける (0.4 秒から 0.2 秒おき・指令と読んだ角度の差 3° 超は 待つ・3 秒追いつかなければ止める・離したら未送信の刻みを取り消す・毎コマ ボタン の状態も見る). テスト 69 件 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LevEXRnwfWWxYdvM8WRMgs" python3 tools/gamepad_teleop.py --execute [main 36def3c] gamepad_teleop: 範囲を物理可動域に (j1 90.87・J4_SAFE は残す), 十字キーの長押しで送り続ける (0.4 秒から 0.2 秒おき・指令と読んだ角度の差 3° 超は待つ・3 秒追いつかなければ止める・離したら未送信の刻みを取り消す・毎コマ ボタンの状態も見る). テスト 69 件 4 files changed, 1144 insertions(+), 61 deletions(-) create mode 100644 docs/review_request_20261103_gamepad_hold.md create mode 100644 docs/review_result_20261103_gamepad_hold.md /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 objc[7735]: Class SDLApplication is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x1020812c8) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8890). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDLAppDelegate is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081318) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db88e0). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDLTranslatorResponder is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081390) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8958). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDLMessageBoxPresenter is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x1020813b8) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8980). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDL_cocoametalview is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081408) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db89d0). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDLOpenGLContext is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081458) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8a20). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDL_ShapeData is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x1020814d0) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8a98). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDL_CocoaClosure is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081520) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8ae8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDL_VideoData is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081570) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8b38). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDL_WindowData is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x1020815c0) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8b88). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDLWindow is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x1020815e8) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8bb0). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class Cocoa_WindowListener is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081610) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8bd8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDLView is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081688) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8c50). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class METAL_RenderData is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081700) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8cc8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class METAL_TextureData is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081750) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8d18). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDL_RumbleMotor is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x102081778) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8d40). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. objc[7735]: Class SDL_RumbleContext is implemented in both /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/pygame/.dylibs/libSDL2-2.0.0.dylib (0x1020817c8) and /opt/homebrew/Caskroom/miniforge/base/lib/python3.12/site-packages/cv2/.dylibs/libSDL2-2.0.0.dylib (0x112db8d90). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed. [記録] /Volumes/KIOXIA/r2r2r-data/runs/experiments/gamepad_teleop/teleop_20261103_074936 [実機] daemon に送ります。起動したときの姿勢: -0.43 +1.23 +1.31 -0.26 -0.17 -29.70 コントローラーを待っています(つないでいなければ、今つないでください) [接続] PS4 Controller GUID=03008fe54c050000cc09000000016800 軸=6 ボタン=16 [送信] j0 -0.5° → -0.93 +1.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.79°) 届いた角度 -0.43 +2.02 +2.02 -0.26 -0.17 -29.70 [送信] j1 -0.5° → -0.93 +0.73 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.29°) 届いた角度 -0.43 +2.02 +2.02 -0.17 -0.17 -29.70 [受付なし] 前の操作が終わっていません(ためません) [送信] j1 +0.5° → -0.93 +1.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.79°) 届いた角度 -0.43 +2.02 +2.02 -0.17 -0.17 -29.70 [送信] j0 +0.5° → -0.43 +1.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.79°) 届いた角度 -0.43 +2.02 +2.10 -0.17 -0.17 -29.70 [送信] j0 +0.5°(長押し 1) → +0.07 +1.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.79°) 届いた角度 -0.43 +2.02 +2.10 -0.17 -0.17 -29.70 [送信] j0 -0.5° → -0.43 +1.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.79°) 届いた角度 -0.43 +2.02 +2.10 -0.17 -0.17 -29.70 [関節] 上下で動かす関節を j2 にしました [関節] 上下で動かす関節を j3 にしました [関節] 上下で動かす関節を j4 にしました [関節] 上下で動かす関節を j5 にしました [Pi] GRIPPER: OPEN result= -1 [関節] 上下で動かす関節を j1 にしました [爪] 爪を開く(待ち 0.8 秒のあと受付) [受付なし] 前の操作が終わっていません(ためません) [送信] j1 -0.5° → -0.43 +0.73 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.29°) 届いた角度 -0.43 +2.02 +2.10 -0.17 -0.17 -29.70 [受付なし] 前の操作が終わっていません(ためません) [送信] j1 +2.0° → -0.43 +2.73 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.96°) 届いた角度 -0.43 +3.69 +2.10 -0.17 -0.17 -29.70 [受付なし] 前の操作が終わっていません(ためません) [送信] j1 +2.0° → -0.43 +4.73 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.8°) 届いた角度 -0.43 +5.53 +2.10 -0.17 -0.17 -29.70 [送信] j0 -0.5° → -0.93 +4.73 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.8°) 届いた角度 -0.43 +5.53 +2.10 -0.17 -0.17 -29.70 [送信] j0 +0.5° → -0.43 +4.73 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.8°) 届いた角度 -0.43 +5.53 +2.10 -0.17 -0.17 -29.70 [送信] j0 +0.5° → +0.07 +4.73 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.8°) 届いた角度 -0.43 +5.53 +2.10 -0.17 -0.17 -29.70 [送信] j1 +0.5° → +0.07 +5.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.83°) 届いた角度 -0.43 +6.06 +2.10 -0.17 -0.17 -29.79 [送信] j1 +0.5°(長押し 1) → +0.07 +5.73 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.86°) 届いた角度 -0.43 +6.59 +2.10 -0.17 -0.17 -29.79 [送信] j1 +0.5°(長押し 2) → +0.07 +6.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.8°) 届いた角度 -0.43 +7.03 +2.10 -0.17 -0.17 -29.79 [送信] j1 +0.5°(長押し 3) → +0.07 +6.73 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.82°) 届いた角度 -0.43 +7.55 +2.10 -0.17 -0.17 -29.79 [送信] j1 +0.5°(長押し 4) → +0.07 +7.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.94°) 届いた角度 -0.43 +8.17 +2.10 -0.17 -0.17 -29.79 [送信] j1 +0.5°(長押し 5) → +0.07 +7.73 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.79°) 届いた角度 -0.43 +8.52 +2.10 -0.17 -0.17 -29.79 [送信] j1 +0.5°(長押し 6) → +0.07 +8.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.82°) 届いた角度 -0.43 +9.05 +2.10 -0.17 -0.17 -29.79 [送信] j1 +2.0°(長押し 7) → +0.07 +10.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.02°) 届いた角度 -0.43 +11.25 +2.10 -0.17 -0.17 -29.79 [送信] j1 +2.0°(長押し 8) → +0.07 +12.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.04°) 届いた角度 -0.43 +13.27 +2.10 -0.08 -0.17 -29.79 [送信] j1 +2.0°(長押し 9) → +0.07 +14.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.97°) 届いた角度 -0.43 +15.20 +2.10 -0.08 -0.08 -29.79 [送信] j1 +2.0°(長押し 10) → +0.07 +16.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 0.99°) 届いた角度 -0.43 +17.22 +2.10 +0.00 -0.08 -29.79 [受付なし] 前の操作が終わっていません(ためません) [送信] j1 +2.0°(長押し 11) → +0.07 +18.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.1°) 届いた角度 -0.43 +19.33 +2.10 +0.00 -0.08 -29.79 [送信] j0 +0.5° → +0.57 +18.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.1°) 届いた角度 +0.43 +19.33 +2.10 +0.00 -0.08 -29.79 [送信] j0 +2.0°(長押し 1) → +2.57 +18.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.1°) 届いた角度 +2.63 +19.33 +2.10 +0.08 -0.08 -29.79 [送信] j0 +2.0°(長押し 2) → +4.57 +18.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.1°) 届いた角度 +4.74 +19.33 +2.10 +0.08 -0.08 -29.79 [送信] j0 +2.0°(長押し 3) → +6.57 +18.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.1°) 届いた角度 +6.67 +19.33 +2.10 +0.08 -0.08 -29.79 [送信] j0 +2.0°(長押し 4) → +8.57 +18.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.1°) 届いた角度 +8.52 +19.33 +2.10 +0.17 -0.08 -29.79 [送信] j0 +2.0°(長押し 5) → +10.57 +18.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.1°) 届いた角度 +10.63 +19.33 +2.10 +0.17 -0.08 -29.79 [送信] j0 +2.0°(長押し 6) → +12.57 +18.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.1°) 届いた角度 +12.83 +19.33 +2.10 +0.08 -0.08 -29.79 [送信] j0 +2.0°(長押し 7) → +14.57 +18.23 +1.31 -0.26 -0.17 -29.70 届いた(ずれ 1.1°) 届いた角度 +14.85 +19.33 +2.10 +0.08 -0.08 -29.88 [送信] HOME → +0.00 +0.00 +0.00 +0.00 +0.00 -30.00 届いた(ずれ 2.02°) 届いた角度 +0.00 +1.31 +2.02 +0.08 -0.08 -29.88 ^C [終了] Ctrl+C [終了] アームは動かしていません。記録: /Volumes/KIOXIA/r2r2r-data/runs/experiments/gamepad_teleop/teleop_20261103_074936