(base) shimazueiichi@shimadzueiichinoMacBook-Pro r2r2r-scripts % cd ~/r2r2r-scripts
git add tools/gamepad_teleop.py tools/daemon_fast_read.sh
git commit -m "daemon の読み直しを速くするスクリプト・止めるときの読み取りは1回 だけ"
tools/daemon_fast_read.sh
git add tools/pi/mecharm_daemon.py
git commit -m "daemon の読み直しを0.02秒にした版を tools/pi に置く"
python3 tools/gamepad_teleop.py --execute
[main 617c3bd] daemon の読み直しを速くするスクリプト・止めるときの読み取りは1回だけ
 2 files changed, 111 insertions(+), 1 deletion(-)
 create mode 100755 tools/daemon_fast_read.sh
今の daemon の写し: /Volumes/KIOXIA/r2r2r-data/archive/mecharm_daemon_premerge_fastread_20261105_170254/mecharm_daemon.py
読み取りを速くしました
--- 差分
21c21
< GET_ANGLES_INTERVAL_SEC = 0.2
---
> GET_ANGLES_INTERVAL_SEC = 0.02   # 2026-11-05: 0.2 → 0.02 (動いている間は空で返ることが多く, 1 回の読み取りに最長 2.6 秒かかっていた)
54a55,64
> 
> 
> def read_angles_once_for_log():
>     """送ったあとの記録用に 1 回だけ読む (2026-11-05). 読めなくても待たない.
>     以前は読み直しつきで, 読めないと送る命令の返事が最長 2.6 秒遅れていた."""
>     try:
>         a = _mc.get_angles()
>     except Exception:
>         return None
>     return a if isinstance(a, (list, tuple)) and len(a) == 6 else None
81c91
<             current_angles = read_angles_with_retry("send_angles_after", log_fail=False)
---
>             current_angles = read_angles_once_for_log()
107c117
<             current_angles = read_angles_with_retry("send_angle_after", log_fail=False)
---
>             current_angles = read_angles_once_for_log()
ping → {'ok': True, 'daemon': 'mecharm_daemon', 'fresh_mode': 0}
get_angles → {'ok': True, 'angles': [5.09, 1.31, 2.81, -0.96, -13.62, -26.98]}
できました。記録: /Volumes/KIOXIA/r2r2r-data/archive/mecharm_daemon_premerge_fastread_20261105_170254
[main c7992ca] daemon の読み直しを0.02秒にした版を tools/pi に置く
 1 file changed, 13 insertions(+), 3 deletions(-)
[記録] /Volumes/KIOXIA/r2r2r-data/runs/experiments/gamepad_teleop/teleop_20261105_170313
[実機] daemon に送ります。起動したときの姿勢: +5.09 +1.31 +2.81 -0.96 -13.62 -26.98
コントローラーを待っています（つないでいなければ、今つないでください）
[接続] PS4 Controller  GUID=03008fe54c050000cc09000000016800  軸=6  ボタン=16
[送信] j0 -1.0° → +4.09 +1.31 +2.81 -0.96 -13.62 -26.98  届いた（ずれ 0.05°）  届いた角度 +4.04 +1.31 +2.81 -0.96 -13.62 -26.98
[長押し] j0 を +4.30° → -66.97° まで（目標を 7 回送信。止めます）
[関節] 上下で動かす関節を j2 にしました
[送信] j2 -1.0° → -74.53 +1.31 +1.81 -0.96 -13.62 -26.98  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 2.46°）  届いた角度 -76.99 +1.49 +3.86 -0.08 -12.12 -26.71
[長押し] j2 を +3.86° → -49.65° まで（目標を 8 回送信。止めます）
[送信] j2 +1.0° → -74.53 +1.31 -61.75 -0.96 -13.62 -26.98  届いた（ずれ 2.37°）  届いた角度 -76.90 +0.52 -61.96 -0.43 -13.18 -26.71
[長押し] j2 を -61.17° → -4.83° まで（目標を 7 回送信。止めます）
[送信] j0 +1.0° → -73.53 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.11°）  届いた角度 -73.21 +1.58 -0.70 -0.35 -11.51 -26.71
[受付なし] 前の操作が終わっていません（ためません）
[送信] j0 +1.0° → -72.53 +1.31 -2.63 -0.96 -13.62 -26.98  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 2.11°）  届いた角度 -73.38 +1.58 -0.70 -0.70 -11.51 -26.71
[受付なし] 前の操作が終わっていません（ためません）
[送信] j0 +1.0° → -71.53 +1.31 -2.63 -0.96 -13.62 -26.98  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 1.93°）  届いた角度 -73.38 +1.58 -0.70 -0.70 -12.39 -26.71
[送信] j0 -1.0° → -72.53 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 1.93°）  届いた角度 -72.77 +1.58 -0.70 -0.70 -12.39 -26.71
[送信] j0 +1.0° → -71.53 +1.31 -2.63 -0.96 -13.62 -26.98  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 1.93°）  届いた角度 -72.33 +1.58 -0.70 -0.70 -13.53 -26.71
[送信] j0 +1.0° → -70.53 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.02°）  届いた角度 -70.40 +1.58 -0.61 -0.35 -13.53 -26.71
[送信] j0 +2.0° → -68.53 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.02°）  届いた角度 -68.20 +1.49 -0.61 -0.61 -13.53 -26.71
[送信] j0 +2.0° → -66.53 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.02°）  届いた角度 -66.79 +1.49 -0.61 -0.70 -13.53 -26.71
[長押し] j0 を -66.44° → -66.44° まで（目標を 1 回送信。止めます）
[送信] j0 +1.0° → -57.97 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.02°）  届いた角度 -57.65 +1.49 -0.61 -1.05 -13.62 -26.80
[送信] j0 +1.0° → -56.97 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.02°）  届いた角度 -56.77 +1.49 -0.61 -1.23 -13.62 -26.80
[送信] j0 +1.0° → -55.97 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.02°）  届いた角度 -55.54 +1.49 -0.61 -1.23 -13.62 -26.80
[送信] j0 -1.0° → -56.97 +1.31 -2.63 -0.96 -13.62 -26.98  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 2.02°）  届いた角度 -56.07 +1.49 -0.61 -1.14 -13.62 -26.80
[送信] j0 -1.0° → -57.97 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.02°）  届いた角度 -58.35 +1.49 -0.61 -0.96 -13.62 -26.80
[送信] j0 -1.0° → -58.97 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.02°）  届いた角度 -59.06 +1.49 -0.61 -0.96 -13.62 -26.80
[送信] j0 -1.0° → -59.97 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.02°）  届いた角度 -59.50 +1.49 -0.61 -0.96 -13.62 -26.80
[送信] j0 -1.0° → -60.97 +1.31 -2.63 -0.96 -13.62 -26.98  届いた（ずれ 2.02°）  届いた角度 -61.17 +1.49 -0.61 -0.96 -13.62 -26.80
[関節] 上下で動かす関節を j3 にしました
[送信] j3 -1.0° → -60.97 +1.31 -2.63 -1.96 -13.62 -26.98  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 2.02°）  届いた角度 -61.17 +1.49 -0.61 -0.96 -13.62 -26.80
[長押し] j3 を -0.96° → -8.61° まで（目標を 1 回送信。止めます）
[送信] j3 +1.0° → -60.97 +1.31 -2.63 -13.15 -13.62 -26.98  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 3.06°）  届いた角度 -60.90 +1.49 +0.43 -13.88 -12.21 -26.89
[送信] j3 +1.0° → -60.97 +1.31 -2.63 -12.15 -13.62 -26.98  手前で止まった（次の押しは この目標の先から）（ずれ 3.06°）  届いた角度 -60.90 +1.49 +0.43 -12.74 -12.21 -26.89
[長押し] j3 を -12.74° → +63.98° まで（目標を 10 回送信。止めます）
[送信] j3 -1.0° → -60.97 +1.31 -2.63 +63.16 -13.62 -26.98  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 4.03°）  届いた角度 -61.08 +2.46 +1.40 +64.16 -13.53 -26.89
[送信] j3 -1.0° → -60.97 +1.31 -2.63 +62.16 -13.62 -26.98  手前で止まった（次の押しは この目標の先から）（ずれ 2.8°）  届いた角度 -60.99 +1.58 +0.17 +63.36 -13.27 -26.89
[長押し] j3 を +63.36° → -0.26° まで（目標を 7 回送信。止めます）
[受付なし] 前の操作が終わっていません（ためません）
[受付なし] 前の操作が終わっていません（ためません）
[送信] j3 +1.0° → -60.97 +1.31 -2.63 -7.52 -13.62 -26.98  手前で止まった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 2.8°）  届いた角度 -60.90 +1.49 +0.17 -8.17 -11.60 -26.89
[送信] j3 +1.0° → -60.97 +1.31 -2.63 -6.52 -13.62 -26.98  手前で止まった（次の押しは この目標の先から）（ずれ 2.8°）  届いた角度 -60.99 +1.49 +0.17 -7.03 -11.77 -26.89
[止める] stop（released_while_sending）  止まった角度 -61.08 +1.49 +0.17 -3.69 -12.21 -26.89
[送信] j3 +1.0° → -60.97 +1.31 -2.63 -2.69 -13.62 -26.98  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 2.8°）  届いた角度 -61.08 +1.49 +0.17 -3.69 -12.74 -26.89
[関節] 上下で動かす関節を j4 にしました
[送信] j4 -1.0° → -60.97 +1.31 -2.63 -2.69 -14.62 -26.98  届いた（ずれ 2.8°）  届いた角度 -61.08 +1.49 +0.17 -2.98 -14.15 -26.89
[範囲] j4 を -99.99° → -90.00° に切った（J4_SAFE -90.00°）
[範囲] j4 -103.76° は送らない：範囲の端にいて、押した向きに進めない（範囲 [-90.00, -90.00]・J4_SAFE）
[送らない] j4 -15.0°（長押し 30）
[長押し] j4 を -14.23° → -84.99° まで（目標を 10 回送信。止めます）
[止める] stop（hold_not_sent）  止まった角度 -61.08 +2.10 +0.52 -2.90 -89.12 -26.89
[送信] j4 +1.0° → -60.97 +1.31 -2.63 -2.69 -88.12 -26.98  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 2.37°）  届いた角度 -61.17 +1.14 -0.26 -3.16 -88.76 -26.89
[長押し] j4 を -88.76° → -45.35° まで（目標を 4 回送信。止めます）
[関節] 上下で動かす関節を j5 にしました
[送信] j5 -1.0° → -60.97 +1.31 -2.63 -2.69 -37.08 -27.98  手前で止まった（次の押しは この目標の先から）（ずれ 2.89°）  届いた角度 -61.08 +1.58 +0.26 -3.16 -38.05 -27.24
[長押し] j5 を -27.24° → -49.92° まで（目標を 3 回送信。止めます）
[受付なし] 前の操作が終わっていません（ためません）
  [WARN] daemon_get_angles failed: daemon error: get_angles returned empty/invalid after 12 retries
  [WARN] daemon_get_angles failed: daemon error: get_angles returned empty/invalid after 12 retries
[受付なし] 前の操作が終わっていません（ためません）
[受付なし] 前の操作が終わっていません（ためません）
  [WARN] daemon_get_angles failed: daemon error: get_angles returned empty/invalid after 12 retries
  [WARN] daemon_get_angles failed: daemon error: get_angles returned empty/invalid after 12 retries
[受付なし] 前の操作が終わっていません（ためません）
[送信] j5 +1.0° → -60.97 +1.31 -2.63 -2.69 -37.08 -63.59  手前で止まった（次の押しは この目標の先から）（ずれ 2.63°）  届いた角度 -60.90 +1.49 +0.00 -3.16 -37.52 -64.24
[長押し] j5 を -64.24° → -40.16° まで（目標を 3 回送信。止めます）
[受付なし] 前の操作が終わっていません（ためません）
[送信] j5 -1.0° → -60.97 +1.31 -2.63 -2.69 -37.08 -26.92  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 2.63°）  届いた角度 -60.90 +1.49 +0.00 -3.16 -38.23 -25.75
[関節] 上下で動かす関節を j1 にしました
[関節] 上下で動かす関節を j2 にしました
[送信] j2 -1.0° → -60.97 +1.31 -3.63 -2.69 -37.08 -26.92  手前で止まった（次の押しは この目標の先から）（ずれ 2.99°）  届いた角度 -61.08 +1.49 -2.02 -2.98 -40.07 -25.75
[長押し] j2 を -2.02° → -44.03° まで（目標を 4 回送信。止めます）
[送信] j2 +1.0° → -60.97 +1.31 -54.54 -2.69 -37.08 -26.92  届いた（ずれ 3.34°）  届いた角度 -61.17 +0.61 -54.93 -2.81 -40.42 -26.10
[長押し] j2 を -54.14° → -2.37° まで（目標を 5 回送信。止めます）
[関節] 上下で動かす関節を j3 にしました
[関節] 上下で動かす関節を j4 にしました
[関節] 上下で動かす関節を j5 にしました
[関節] 上下で動かす関節を j1 にしました
[送信] j1 -1.0° → -60.97 +0.31 +5.00 -2.69 -37.08 -26.92  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 1.35°）  届いた角度 -61.17 +1.66 +5.00 -2.90 -37.79 -26.36
[長押し] j1 を +1.66° → -26.89° まで（目標を 3 回送信。止めます）
[送信] j1 +1.0° → -60.97 -30.81 +5.00 -2.69 -37.08 -26.92  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 3.26°）  届いた角度 -60.99 -31.37 +5.00 -2.98 -40.34 -26.45
[長押し] j1 を -31.37° → -25.40° まで（目標を 1 回送信。止めます）
[受付なし] 前の操作が終わっていません（ためません）
[送信] j1 +1.0° → -60.97 -3.92 +5.00 -2.69 -37.08 -26.92  届いた（ずれ 2.73°）  届いた角度 -61.08 -4.04 +5.00 -3.07 -39.81 -26.54
[長押し] j1 を -3.16° → +20.56° まで（目標を 3 回送信。止めます）
[送信] j0 -1.0° → -61.97 +24.43 +5.00 -2.69 -37.08 -26.92  届いた（ずれ 0.97°）  届いた角度 -61.61 +24.43 +5.88 -3.16 -38.05 -26.63
[長押し] j0 を -62.31° → -91.49° まで（目標を 3 回送信。止めます）
[送信] j0 +1.0° → -100.51 +24.43 +5.00 -2.69 -37.08 -26.92  届いた（ずれ 1.85°）  届いた角度 -100.54 +25.57 +6.85 -3.16 -36.47 -26.89
[長押し] j0 を -100.63° → +51.76° まで（目標を 13 回送信。止めます）
[送信] j0 -1.0° → +54.89 +24.43 +5.00 -2.69 -37.08 -26.92  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 0.56°）  届いた角度 +55.45 +24.25 +5.53 -3.16 -37.00 -26.89
[送信] j0 -1.0° → +53.89 +24.43 +5.00 -2.69 -37.08 -26.92  届いた（ずれ 0.56°）  届いた角度 +53.61 +24.25 +5.53 -3.25 -37.00 -26.89
[長押し] j0 を +54.05° → -36.12° まで（目標を 9 回送信。止めます）
[送信] j1 -1.0° → -35.41 +23.43 +5.00 -2.69 -37.08 -26.92  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 1.97°）  届いた角度 -35.77 +25.40 +5.62 -2.46 -37.00 -26.98
[長押し] j1 を +25.40° → -12.48° まで（目標を 5 回送信。止めます）
[送信] j1 +1.0° → -35.41 -19.30 +5.00 -2.69 -37.08 -26.92  届いた（ずれ 0.88°）  届いた角度 -35.68 -18.80 +5.09 -2.63 -37.96 -26.98
[長押し] j1 を -18.80° → +38.67° まで（目標を 6 回送信。止めます）
[送信] j0 +1.0° → -34.41 +48.07 +5.00 -2.69 -37.08 -26.92  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 1.53°）  届いた角度 -35.94 +48.25 +5.80 -2.46 -36.38 -26.98
[送信] j0 +1.0° → -33.41 +48.07 +5.00 -2.69 -37.08 -26.92  届いた（ずれ 0.71°）  届いた角度 -33.22 +48.25 +5.71 -2.10 -37.44 -26.98
[長押し] j0 を -33.75° → +14.94° まで（目標を 6 回送信。止めます）
[送信] j1 -1.0° → +19.86 +47.07 +5.00 -2.69 -37.08 -26.92  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 2.32°）  届いた角度 +18.98 +49.39 +6.32 -2.19 -36.65 -27.07
[関節] 上下で動かす関節を j2 にしました
[関節] 上下で動かす関節を j3 にしました
[関節] 上下で動かす関節を j4 にしました
[送信] j4 -1.0° → +19.86 +47.07 +5.00 -2.69 -38.08 -26.92  動かなかった（次の押しは この目標の先から）・無視されたので 2 回送り直した（ずれ 2.81°）  届いた角度 +22.67 +49.39 +5.27 -2.81 -36.91 -27.07
[長押し] j4 を -36.91° → -36.91° まで（目標を 1 回送信。止めます）
[受付なし] 前の操作が終わっていません（ためません）
[送信] j4 -1.0° → +19.86 +47.07 +5.00 -2.69 -38.88 -26.92  手前で止まった（次の押しは この目標の先から）（ずれ 2.81°）  届いた角度 +22.67 +49.30 +5.18 -2.81 -38.14 -27.07
[長押し] j4 を -38.14° → -50.71° まで（目標を 2 回送信。止めます）
[送信] j0 +1.0° → +20.86 +47.07 +5.00 -2.69 -61.61 -26.92  届いた（ずれ 2.23°）  届いた角度 +20.74 +49.30 +5.27 -3.16 -63.54 -27.07
[長押し] j0 を +20.91° → +37.00° まで（目標を 2 回送信。止めます）
[送信] j0 -1.0° → +47.25 +47.07 +5.00 -2.69 -61.61 -26.92  届いた（ずれ 2.23°）  届いた角度 +47.37 +49.30 +5.27 -2.98 -63.54 -27.07
[長押し] j0 を +47.19° → +7.55° まで（目標を 4 回送信。止めます）
