lipm_capture_point — DRIVE 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 참조 구현만)

사용법

선형 역진자의 순간 포착점, 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.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.