kendama_catch_check — DRIVE kendama op

• Data kinds: table → table

• Call: import fullseye as fs; fs.ledger.kendama_catch_check(kp: 'dict', p_ball, v_ball, cup_center, cup_axis=(0.0, 0.0, 1.0), v_cup=(0.0, 0.0, 0.0), v_rel_max: 'float' = 1.0, window: 'float' = None) -> 'dict' (implementation को सीधे call करना हो तो import kendama; kendama.kendama_catch_check(kp: 'dict', p_ball, v_ball, cup_center, cup_axis=(0.0, 0.0, 1.0), v_cup=(0.0, 0.0, 0.0), v_rel_max: 'float' = 1.0, window: 'float' = None) -> 'dict', registry से लेना हो तो opsdrive.get("kendama_catch_check"))

उपयोग

गेंद (त्रिज्या r_b) cup (किनारे की त्रिज्या r_c < r_b, किनारे का केंद्र cup_center, axis cup_axis, velocity v_cup) पर टिकती है या नहीं, इसकी geometric जाँच।

किनारे पर टिकी गेंद का केंद्र किनारे के तल से h_c = √(r_b² − r_c²) ऊपर होता है; स्थैतिक स्थिरता की शर्त पार्श्व विचलन ≤ r_c है। ballistics.cup_catch_check (कप > गेंद मानकर) को प्रभावी कप (त्रिज्या r_c + r_b, केंद्र अक्ष की दिशा में h_c ऊपर) के साथ बुलाया जाता है → पार्श्व विचलन ≤ r_c, किनारे के तल से ऊँचाई h_c ≤ h ≤ h_c + 1.5 r_b, कप के सापेक्ष गति ≤ v_rel_max। इसके अतिरिक्त नीचे से ऊपर आती गेंद (सापेक्ष वेग का अक्षीय घटक > 0) नहीं पकड़ी जाती (कप केवल ऊपर से पकड़ सकता है; आवश्यक है क्योंकि धुरी = कप-केंद्र के सरलीकरण में ऊपर उठती गेंद कप की स्थिति से होकर गुज़र जाती है)। window देने पर ऊँचाई-खिड़की को "किनारे को पहली बार छूने की ऊँचाई" + window या कम तक संकुचित किया जाता है (अवतरण-निर्णय: kendama_simulate kp["catch_window"] का उपयोग करता है)। पार्श्व विचलन δ वाली गेंद √(r_b² − (r_c − δ)²) (δ = 0 पर h_c) पर किनारे को छूती है —— केंद्र से हटी गेंद पहले किनारे के एक ओर को छूती है और कप में लुढ़क जाती है (पार्श्व विचलन ≤ r_c हो तो पकड़ी गई मानी जाती है)। किनारे की त्रिज्या kp["cup_radius"] है (पकड़ने वाला कप, न हो तो बड़ा कप)। वापसी मान {"caught", "lateral", "height" (縁の面から), "speed" (相対), "descending"}।

खाली इनपुट (kp एक खाली dict) पर ValueError उठता है।

संदर्भ (sample data, साहित्य)

• 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 में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• gallery_drive_kendama_racket — py -3.11 examples/gallery_drive_kendama_racket.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

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

इसी category के (kendama)

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


*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.