(base) shimazueiichi@shimadzueiichinoMacBook-Pro ~ % ssh -i ~/.ssh/id_rsa_pi ubuntu@192.168.2.1 "setsid nohup python3 /home/ubuntu/mecharm_daemon.py >/home/ubuntu/daemon.log 2>&1 &"; sleep 8; ssh -i ~/.ssh/id_rsa_pi ubuntu@192.168.2.1 'tail -3 ~/daemon.log; ss -ltn | grep 5555' [DAEMON 14:36:57] ✓ MyCobot 初期化完了 [DAEMON 14:36:57] startup_warmup angles=[1.14, 94.04, 9.05, -0.7, -104.5, -29.53] [DAEMON 14:36:57] ポート 5555 で待ち受け中... LISTEN0 1 0.0.0.0:5555 0.0.0.0:* (base) shimazueiichi@shimadzueiichinoMacBook-Pro ~ % cd ~/r2r2r-scripts/dynamic_tracking_limits/drag_teaching python3 record_teach_demo.py measure --log 359 [RTD ] 到達許容差は本線 run_pick_place.py の stage 値を使います(区間ごと。一律 8.0° は 2026-10-19 にやめた): [RTD ] HOME 2.5° ← rpp.TOL_HOME(stage1_to_home / HOME 復帰) [RTD ] APPROACH_PICK 2.0° ← rpp.TOL_APPROACH(approach 系) [RTD ] PICK 3.0° ← rpp.TOL_PICK_PLACE(stage4_pick) [RTD ] APPROACH_PICK (lift) 3.0° ← rpp.TOL_LIFT_BACK(lift の残差 2.19° を吸収) [RTD ] APPROACH_PLACE 3.0° ← rpp.TOL_APPROACH_PLACE(stage7) [RTD ] PLACE 3.0° ← rpp.TOL_PICK_PLACE(stage8_place) [RTD ] APPROACH_PLACE (retreat) 3.0° ← rpp.TOL_LIFT_BACK(stage10_lift_back) [RTD ] 到達を待つ最大時間 = clamp(2.0 + max|Δ|/20*3.0, 8.0, 30.0) 秒(本線と同じ wr._compute_arrival_timeout) [RTD ] measure: 上カメラで検出します(repeat=5 interval=0.3s) [CAM] 接続中カメラ一覧: index=0 name=FaceTime HDカメラ index=1 name=Iriun Camera index=2 name=‎iPhone14 Pro MAXのカメラ [CAM] 上カメラ(iPhone) index=2 [CAM] 横カメラ(Iriun) index=1 [DETECT] resolved top index: 2 [Mac] マット四隅検出中... (10フレーム) [Mac] ✓ マット四隅検出: 10/10 フレーム成功 [Mac] ✓ 動的homography計算完了 [Mac] ✓ マット範囲: X=[270, 1717] Y=[0, 949] [06f] TEMPLATES_DIR overridden to: /Users/shimazueiichi/r2r2r-scripts/dynamic_tracking_limits/place/templates [06f] ROTATION_ANGLES_DEG overridden to: [0, 15, 30, 45, 60, 75] [06f] SCALES overridden to: [0.85, 1.0, 1.15] [テンプレ] loading white box templates from: /Users/shimazueiichi/r2r2r-scripts/dynamic_tracking_limits/place/templates [テンプレ] glob '/Users/shimazueiichi/r2r2r-scripts/dynamic_tracking_limits/place/templates/*.png' → 8 file(s) [テンプレ] - white_box_20260520_163829_004.png [テンプレ] - white_box_20260520_163838_005.png [テンプレ] - white_box_20260520_163846_006.png [テンプレ] - white_box_20260520_163905_009.png [テンプレ] - white_box_20260520_163912_010.png [テンプレ] - white_box_20260520_163918_011.png [テンプレ] - white_box_20260520_163923_012.png [テンプレ] - white_box_20260520_163929_013.png [テンプレ] 計 8 枚 (day165=8, auto=0) [06f] WARN: 輪郭中心とテンプレ中心の距離が閾値超 |Δ|=101.2px > 60px → 輪郭捨てて fallback [06f] DETECT: center=(1488,558) source=template_fallback score=0.654 angle=0° scale=1.15 size=(226x211) template=white_box_20260520_163838_005.png (eval 6.62s) [DETECT][1/5] box Unity=(-0.214,+0.178) score=0.6539450883865356 赤ブロック pixel=(698, 640) → Unity=(0.1276, 0.2168) [DETECT][1/5] block Unity=(+0.128,+0.217) score=null [06f] WARN: 輪郭中心とテンプレ中心の距離が閾値超 |Δ|=101.2px > 60px → 輪郭捨てて fallback [06f] DETECT: center=(1488,558) source=template_fallback score=0.654 angle=0° scale=1.15 size=(226x211) template=white_box_20260520_163838_005.png (eval 6.65s) [DETECT][2/5] box Unity=(-0.214,+0.178) score=0.6543152928352356 赤ブロック pixel=(698, 640) → Unity=(0.1276, 0.2168) [DETECT][2/5] block Unity=(+0.128,+0.217) score=null [06f] WARN: 輪郭中心とテンプレ中心の距離が閾値超 |Δ|=103.6px > 60px → 輪郭捨てて fallback [06f] DETECT: center=(1489,556) source=template_fallback score=0.654 angle=0° scale=0.85 size=(158x158) template=white_box_20260520_163923_012.png (eval 6.66s) [DETECT][3/5] box Unity=(-0.214,+0.177) score=0.6544483304023743 赤ブロック pixel=(697, 640) → Unity=(0.1281, 0.2168) [DETECT][3/5] block Unity=(+0.128,+0.217) score=null [06f] WARN: 輪郭中心とテンプレ中心の距離が閾値超 |Δ|=101.2px > 60px → 輪郭捨てて fallback [06f] DETECT: center=(1488,558) source=template_fallback score=0.654 angle=0° scale=1.15 size=(226x211) template=white_box_20260520_163838_005.png (eval 6.67s) [DETECT][4/5] box Unity=(-0.214,+0.178) score=0.6536625623703003 赤ブロック pixel=(698, 640) → Unity=(0.1276, 0.2168) [DETECT][4/5] block Unity=(+0.128,+0.217) score=null [06f] WARN: 輪郭中心とテンプレ中心の距離が閾値超 |Δ|=104.3px > 60px → 輪郭捨てて fallback [06f] DETECT: center=(1489,555) source=template_fallback score=0.654 angle=0° scale=0.85 size=(158x158) template=white_box_20260520_163923_012.png (eval 6.91s) [DETECT][5/5] box Unity=(-0.214,+0.177) score=0.6535261869430542 赤ブロック pixel=(698, 640) → Unity=(0.1276, 0.2168) [DETECT][5/5] block Unity=(+0.128,+0.217) score=null [RTD ] measure: block = (+127.6, +216.8) mm [RTD ] measure: box = (-213.6, +178.2) mm score=0.6539450883865356 [RTD ] 確認画像: /Volumes/KIOXIA/r2r2r-data/mecharm_calibration/teach_poses_LOG359/measure_20261022_164406.jpg [RTD ] homography のもとになった四隅と、測り直した四隅の差: 最大 1.0px(上限 15.0px・やり直し 1 回) [RTD ] ブロックのばらつき: 0.0px = 0.00mm(5 枚・上限 4.0mm) [RTD ] 元の検出と測り直しの差: 0.00mm(上限 3.0mm) [RTD ] 保存しました: /Volumes/KIOXIA/r2r2r-data/mecharm_calibration/teach_poses_LOG359/measure_20261022_164406.json [RTD ] 次は Pi で教示 → daemon 起動 → recorder.py --top --no-side 常駐 → run --teach --execute