Visual Servo — Session Analysis
Fix 01
Z-TRACK フリーズを壊す
Fix 02
FK lookup 制約を撤廃
Discovery
LOOP_TIME 3.2s の真因

Z_TRACK_NO_PROGRESS_SEC=15 のタイムアウトを追加。15秒間 diff_z が2mm以上改善しなければ Z-TRACK の角度送信を止める。さらに z_track_give_up フラグで、X単独+stable で DESCEND へ進む分岐を追加した。

[Z-TRACK-SKIP] 15秒改善なし(best=9.4mm)→ DESCEND 待ち [STABLE+CONVERGED] Z-TRACK give-up後 X単独でDESCENDへ移行 (diff_x=+2.1mm diff_z=-13.0mm 2D=13.1mm)

diff_z が13mm 残ったままDESCENDに入ることを許容する。「Z はアームを下ろしながら詰める」という設計の先送りを前提にした。これが後に根本問題として返ってくる。

設計の転換
旧設計 — 順番に解決する
APPROACH → DESCEND → REFINE
① 上カメラで XZ 収束
↓DESCEND フェーズ
② j4 で Y(高さ)を詰める
↓REFINE フェーズ
③ 微調整 → GRIP
❌ j4 を動かすと XZ も動く
相互干渉ループが発生
新設計 — 同時に収束させる
3軸同時追従 → GRIP
上カメラ:XZ を常時監視
横カメラ:Y を常時監視
3軸すべてが閾値以内
↓同時成立
→ 即 GRIPPER CLOSE
✓ DESCEND / REFINE を廃止
「合いながら閉じる」
今日の作業ログ
解決
Z-TRACK no-progress タイムアウト(15s)+ z_track_give_up で DESCEND に安定進入
解決
FK lookup の j2/j3/j4/j5 TOL 制約を撤廃。ee_y のみでフィルタ。initial_j0 の安全ガード(±90°)を追加
解決
DESCEND 開始時の固定姿勢リセットを削除。APPROACH 後の現在角度から降下を開始
解決
DESCEND_MAX_DELTA_J0 を 5.0 → 0.3° に縮小。Z補正(j1+j2)を無効化
未解決
LOOP_TIME 3.2s:Pi の pymycobot に set_fresh_mode がなく send_angles がブロッキング。次セッションで対策
次セッション
DESCEND 廃止。上カメラ(XZ)+横カメラ(Y)の3軸同時収束 → GRIPPER CLOSE 設計に変更