swing_up_plan — DRIVE kendama op

• 데이터 종류: table → any

• 호출: import fullseye as fs; fs.ledger.swing_up_plan(kp: 'dict', *, lift: 'float' = 0.265, T_lift: 'float' = 0.15, kind: 'str' = 'bang', origin=(0.0, 0.0, 0.0), dodge=(0.0, 0.0, 0.0))(구현을 직접 호출하려면 import kendama; kendama.swing_up_plan(kp: 'dict', *, lift: 'float' = 0.265, T_lift: 'float' = 0.15, kind: 'str' = 'bang', origin=(0.0, 0.0, 0.0), dodge=(0.0, 0.0, 0.0)), 원장에서 가져오려면 opsdrive.get("swing_up_plan"))

사용법

손잡이(사라도의 중심. 끈의 지점과 큰 접시는 거기서 kp의 offset만큼 떨어져 함께 움직임)의 개루프 궤적: origin에서 바로 위로 lift만큼 T_lift초 동안 들어 올리고, 이후 정지합니다. 반환값은 t → (3,)의 함수입니다(t ≤ 0에서 origin, t ≥ T_lift에서 origin + lift·ẑ에 정지).

kind="bang": 가속 a = 4·lift/T² 를 T/2, 감속 −a 를 T/2(속도 삼각형). kind="trap": 가속/등속/감속을 각각 T/3 (속도 사다리꼴, a = 9·lift/(2T²)). 공이 올라가려면 감속의 가속도가 g 를 넘어야 한다(swing_up_apex 가 닫힌 형식으로 답한다). 기본값 lift = 0.265 m, T = 0.15 s(a = 47 m/s² ≈ 4.8 g, 손의 최고 속도 3.5 m/s)에서 공의 정점은 큰 접시 가장자리의 4.9 cm 위(줄의 유효 길이 0.42 m, 큰 접시 가장자리는 손의 35 mm 위: swing_up_apex).

dodge (3,)(수평): 감속에 들어가 공이 떨어진 뒤(bang: T/2 → T, trap: 2T/3 → T) 손을 옆으로 dodge 만큼 피한다(S 자의 bang-bang). 공은 접시 몸통의 줄 구멍 바로 아래에서 곧장 올라가므로, 피하지 않으면 접시 몸통/작은 접시를 뚫고 지나간다(물리는 공과 켄다마의 충돌을풀지 않는다 —— kendamaworld.kendama_clearance 로 센다). 피한 만큼은 catch_plan_ballistic 의 clearance 가공이 큰 접시 가장자리보다 위로 나온 뒤에 되돌린다.

빈 입력(kp 이(가) 빈 dict)은 ValueError 를 발생시킨다.

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

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

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

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

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

• poc_kendama — py -3.11 examples/poc_kendama.py

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

course_crank · course_s_curve · course_turnaround · course_slope · course_intersection · course_parallel_parking · course_crossing · course_road

같은 카테고리(kendama)

kendama_params · elliptic_k_agm · pendulum_period_exact · pendulum_launch_speed · pendulum_rod_simulate · tether_tension_fixed · tether_slack_angle · swing_up_apex


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

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