notes
Robotics

IK の検証順序 (安全側から)

IK の実機検証は unit → sim → 手で動かして FK 突合 → 通電低速の 4 段。ハンドムーブで検証できるのは FK と URDF geometry の contract のみで、IK 自体ではない

要点: IK の実機検証はいきなり通電で試さない。unit test → sim → 実機ハンドムーブで FK 突合 → 通電低速の順で進める。ハンドムーブで実機の joint feedback を bag 収録するのは FK と URDF geometry の contract を確かめる操作であって、IK 自体を検証しているわけではない。IK は FK の逆関数なので、FK が実機と合えば IK も数値精度の範囲で合う。

4 段#

段内容実機動かす何を潰すか
1. unit testランダム q → FK → IK → q' の round-trip。境界と特異点周りもしない解算アルゴリズムのバグ
2. simpose target を kinematic mode で流し、joint_target と TCP を確認。Isaac で真値と比較しない (物理 sim も stop)統合バグ (座標系・remap・namespace)
3. ハンドムーブモーター OFF、基準ポーズでアームを手保持、joint_states を bag、物理 TCP を測って FK 予測と突合手で (通電なし)URDF geometry (リンク長・軸方向・origin)
4. 通電低速teleop joint jog → cartesian jog、無負荷から。1 軸数度・1cm 単位通電実行系 (追従性・遅延・スリップ)

段 3 のやり方 (要注意点)#

  • モーター種類によっては disable しても back-drive できない (減速比大 / セルフロック)。まず 1 軸ずつ確認
  • disable 中は重力で落ちるので、必ず支える。落下側の軸から順に確認
  • 基準ポーズは 4-5 個。各 3 秒以上保持して joint_states を平均化する
  • TCP の実測は基準面 (ワーク台) 座標で xyz を測る。定規や光学マーカ、写真+スケール、Isaac 真値と同じ点、のいずれか
  • 判定: FK 予測と実測の差
    • < 3mm → URDF OK
    • > 10mm → リンク長 or origin ずれ。差が特定軸に偏っていれば疑うべきプロパティが絞れる (例: shoulder 起点で +Z が余分に伸びていれば wrist_drop や hand_drop_ext)

手で動かして bag は「FK 検証」の意味#

「実機を壊さず IK を確かめたい」という動機で joint feedback bag を取るのは正しいが、取れる情報は FK 側。IK 解算のロジック自体は sim (段 2) までで潰しておく。段 3 でハンドムーブが必要な理由は、URDF が実機と幾何的にずれていると sim ではどんなに精度が出ても実機では届かないから。

関連#

最終更新:

On this page