locomotion op• データ種: points × points × scalar → points
• 呼び出し: import fullseye as fs; fs.ledger.lipm_capture_point(com, com_vel, com_height, gravity: 'float' = 9.81) (実装を直接呼ぶなら import locomotion; locomotion.lipm_capture_point(com, com_vel, com_height, gravity: 'float' = 9.81)、台帳から引くなら opsdrive.get("lipm_capture_point"))
• GPU: なし(CPU 参照実装のみ)
Instantaneous capture point of the linear inverted pendulum, xi = c + c_dot / omega.
線形倒立振子(LIPM)の捕捉点 ξ = c + ċ/ω、ω = √(g / z_c)(Kajita ほか 2001、Pratt ほか 2006、Koolen ほか 2012)。足圧中心 p を ξ に置けば重心は p の真上で止まり、p が ξ から離れていると ξ は ξ̇ = ω (ξ - p) で指数的に離れていく。
• com / com_vel: 重心の位置と速度。(3,) か (T, 3) の世界座標 [m]、[m/s] (x, y が地面、z が上)。(2,) / (T, 2) の地面の点でもよい。形は 2 つで揃える。
• com_height: LIPM の一定の重心高さ z_c [m] (地面から)。正の有限値。既定値は置かない(ロボットごとに違い、間違うと ω が √ で狂う)。
• gravity: 重力加速度 [m/s²]。
• 返り値: com と同じ形。x, y が捕捉点、3 列のときの z は com_z - com_height (振子の支点 = 地面の高さ)。
照合: 解析解 x(t) = x0 cosh ωt + (v0/ω) sinh ωt から ξ(t) = (x0 + v0/ω) e^{ωt} (tests/test_locomotion_ops_2026_11_06.py)。空の入力(com が 0 要素)は ValueError で拒否する。
English: xi = c + c_dot / omega with omega = sqrt(g / z_c); same shape as com; for 3-column input the z of the result is the pendulum pivot height com_z - com_height. The source of the law is onocollo scripts/evis_video/capture_point_train.py (Apache-2.0, same author); this is a fresh numpy implementation.
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• walking_ops_tour — py -3.11 examples/walking_ops_tour.py
points を入力に取れる)course_contains · ray_plane_range · ray_box_ranges · course_distance · mesh_signed_volume · fit_parabola · flight_fit · fit_aero
locomotion)contact_points · com_from_silhouette · support_polygon · com_support_margin · gait_phase · support_line_margin · capture_margin · gait_step_events
*Provenance: locomotion.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.