kendama op• Data kinds: table → any
• Call: 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)) (implementation को सीधे call करना हो तो 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)), registry से लेना हो तो opsdrive.get("swing_up_plan"))
हाथ (cross-piece का केंद्र; डोरी का pivot और बड़ा cup उससे kp के offset जितने हटे हुए हैं और साथ चलते हैं) की open-loop trajectory: origin से ठीक ऊपर lift जितना T_lift seconds में उठाता है, फिर स्थिर। return value t → (3,) function है (t ≤ 0 पर origin, t ≥ T_lift पर origin + lift·ẑ पर स्थिर)।
kind="bang": T/2 तक त्वरण a = 4·lift/T², T/2 तक मंदन −a (वेग त्रिभुज)। 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 उठता है।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• poc_kendama — py -3.11 examples/poc_kendama.py
any को input के रूप में लेते हैं)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 operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.