pegfail op• データ種: table × signal × signal × signal × signal × signal → table
• 呼び出し: import fullseye as fs; fs.ledger.wrist_load_from_deflection(kp, q_slide, q_hinge, q_hinge_rest, tip_xyz, axis, lg: 'float | None' = None, peg_mass: 'float' = 0.04, com_from_tip: 'float | None' = None, gravity: 'float' = 9.81) -> 'dict' (実装を直接呼ぶなら import pegfail; pegfail.wrist_load_from_deflection(kp, q_slide, q_hinge, q_hinge_rest, tip_xyz, axis, lg: 'float | None' = None, peg_mass: 'float' = 0.04, com_from_tip: 'float | None' = None, gravity: 'float' = 9.81) -> 'dict'、台帳から引くなら opsdrive.get("wrist_load_from_deflection"))
手首ばねのたわみから、支持(+ 重力)がペグに加える荷重を先端まわりで(numpy だけ): F⃗ = −k_t q_slide − m g ẑ、
M⃗_tip = −k_r (q_hinge − rest) + (p_hinge − p_tip) × F⃗_spring + (p_com − p_tip) × F⃗_g。
`q_slide = (wx, wy, wz) [m] (搬送台に対する手首の並進、搬送台は回らないので世界軸)、q_hinge` = (wrx, wry, wrz) [rad]、
`q_hinge_rest = ばねの静止角(把持の傾き)、lg = 先端からヒンジまで(None → ペグ長)、com_from_tip` = 重心の先端からの
距離(None → 既定のペグ 0.03 kg @ L/2 + 頭 0.01 kg @ L + 3 mm の重心)。ヒンジ 3 軸のトルクはヒンジの軸が世界軸に揃う
小角(手首の回りは 5° 以下)の近似で世界ベクトルとして足す。返り: `F(3,)、M_tip(3,)、F_spring、M_hinge`。
Raises `ValueError`: 形が違う、軸がゼロ。
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• poc_peg_failure_recovery — py -3.11 examples/poc_peg_failure_recovery.py
table を入力に取れる)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
pegfail)insertion_failure_table · insertion_failure_validate · insertion_signature · insertion_failure_classify · insertion_recovery_primitive · jamming_parallelogram_planar · jamming_force_check · wedging_risk
*Provenance: pegfail.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.