diabolo_spheroid — DRIVE diabolo op

• 데이터 종류: signal × signal × scalar → table

• 호출: import fullseye as fs; fs.ledger.diabolo_spheroid(p_left, p_right, string_length: 'float') -> 'dict'(구현을 직접 호출하려면 import diabolo; diabolo.diabolo_spheroid(p_left, p_right, string_length: 'float') -> 'dict', 원장에서 가져오려면 opsdrive.get("diabolo_spheroid"))

사용법

스틱 끝 2점(초점)과 끈 길이 → 보조 회전 타원체: a = l/2, c = |x_L − x_R|/2, b = √(a² − c²)(식 1의 올바른 형태).

★원문의 (1b) 는 b = √(a² − |x_L − x_R|/2) 로, 길이와 길이 제곱의 차이므로 차원이 맞지 않는다. 논문의 실기 치수(실 1.45 m, 막대 간격 1.10 m)를 넣으면 근호 안이 음수가 된다(NaN). 타원 항등식 a² = b² + c² 의 형태로 고쳤다(공개 구현도 제곱으로 쓴다). 원문의 값은 b_paper_literal 에 남긴다. 원문의 서문은 "반장축 b 와 반단축 a" 로 이름이 반대(a = l/2 가 반장축)이며, 식 쪽을 따른다.

반환 {"center", "axis"(x_L − x_R の単位ベクトル), "a", "b", "c", "b_paper_literal"}. Raises ValueError: 간격 ≥ 실, 막대가 겹침, 유한하지 않은 입력.

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

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

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

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

• poc_diabolo_model_and_vision — py -3.11 examples/poc_diabolo_model_and_vision.py

타입이 이어지는 다음 연산자(table 를 입력으로 받는 것)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

같은 카테고리(diabolo)

diabolo_params · spheroid_closest · diabolo_dynamics_step · diabolo_simulate · diabolo_state_sequence · diabolo_throw_catch_truth · string_tension_static · string_tension_from_sag


*Provenance: diabolo.py — DRIVE 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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