catch_success_rate — DRIVE kendama op

• Data kinds: table → table

• Call: import fullseye as fs; fs.ledger.catch_success_rate(kp: 'dict', *, n: 'int' = 20, seed: 'int' = 0, noise_pos: 'float' = 0.0, noise_vel: 'float' = 0.0, jitter_pos: 'float' = 0.01, jitter_vel: 'float' = 0.05, lift: 'float' = None, T_lift: 'float' = 0.15, kind: 'str' = 'bang', t_end: 'float' = 1.5, dt: 'float' = 0.001, v_max: 'float' = 2.0, a_max: 'float' = 20.0, v_rel_max: 'float' = 1.0, v_target: 'float' = 0.5, origin=(0.0, 0.0, 0.0), perceiver_factory=None, dodge=(0.0, -0.1, 0.0), clearance: 'bool' = True, keep_runs: 'bool' = False, planner: 'str' = 'staged', contact=None, absorb: 'bool' = True) -> 'dict' (implementation को सीधे call करना हो तो import kendama; kendama.catch_success_rate(kp: 'dict', *, n: 'int' = 20, seed: 'int' = 0, noise_pos: 'float' = 0.0, noise_vel: 'float' = 0.0, jitter_pos: 'float' = 0.01, jitter_vel: 'float' = 0.05, lift: 'float' = None, T_lift: 'float' = 0.15, kind: 'str' = 'bang', t_end: 'float' = 1.5, dt: 'float' = 0.001, v_max: 'float' = 2.0, a_max: 'float' = 20.0, v_rel_max: 'float' = 1.0, v_target: 'float' = 0.5, origin=(0.0, 0.0, 0.0), perceiver_factory=None, dodge=(0.0, -0.1, 0.0), clearance: 'bool' = True, keep_runs: 'bool' = False, planner: 'str' = 'staged', contact=None, absorb: 'bool' = True) -> 'dict', registry से लेना हो तो opsdrive.get("catch_success_rate"))

उपयोग

बड़े cup की सफलता दर: प्रारंभिक state को n बार बिखेरता है (गेंद pivot (cross-piece का डोरी वाला छेद) से L नीचे लटकी, बगल में σ = jitter_pos और velocity पर σ = jitter_vel (tangential component) के Gaussian perturbations के साथ), swing_up_plan (हाथ का शुरुआती बिंदु origin) से ऊपर झुलाता है, और catch_plan_ballistic से cup ले जाता है।

योजना: planner="staged" (डिफ़ॉल्ट, catch_plan_staged: hold → carry → absorb; absorb=False पर उतरते समय नीचे नहीं किया जाता) या "plane" (catch_plan_ballistic, clearance सहित)। lift डिफ़ॉल्ट None = swing_up_lift (प्रति तकनीक शीर्ष कप के h_c + 0.9 r_b ऊपर)। contact(hand, p) → 隙間 देने पर केंडामा को छूने वाला प्रयास "hit_ken" के साथ विफल होता है।

अनुभूति: डिफ़ॉल्ट noisy_perceiver है (noise_pos [m], noise_vel [m/s]; 0 हो तो वास्तविक मान)। perceiver_factory(i) → perceive देने पर वही उपयोग होता है (प्रत्येक प्रयास i के लिए नई अनुभूति: kendamaworld.camera_perceiver से केवल छवियों से भविष्यवाणी करने वाला बंद लूप)। प्रारंभिक अवस्था का विचलन अनुभूति से स्वतंत्र, seed से तय होता है (समान seed पर वास्तविक-मान और छवि वाले प्रयास जोड़ी बनाते हैं)। रिटर्न मान {"rate", "n", "caught_list", "mean_lateral", "catch_times", "end_reasons", "laterals", "starts"} (mean_lateral = पकड़े गए प्रयासों में पकड़ के समय पार्श्व विचलन का औसत, न हो तो nan। starts = प्रत्येक प्रयास का (p0, v0))। dodge / clearance swing_up_plan / catch_plan_ballistic को दिए जाते हैं (डिफ़ॉल्ट = हाथ को धागा-छिद्र की ओर (−y) 10 cm हटाना, और गेंद के बड़े कप के किनारे से ऊपर निकलने के बाद कप वापस लाना: ऐसी मुद्रा जिसमें गेंद केंडामा को भेदकर पार न करे। न हटाने पर (0, 0, 0) / False से सभी 20 प्रयासों में गेंद कप-बॉडी को भेदकर निकल गई — मापकर अस्वीकार किया। +y की ओर हटाने पर कैमरा 2 से देखने पर ken गेंद के सामने आकर उसे छिपा देता है, और छवि-आधारित भविष्यवाणी का पार्श्व विचलन 0.14 → 2.8 mm बढ़ गया)। keep_runs=True पर प्रत्येक प्रयास के kendama_simulate के रिटर्न मान और अनुभूति "runs" / "perceivers" में रखे जाते हैं। n ≤ 0 पर ValueError।

खाली इनपुट (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 करते हैं)

• poc_kendama — py -3.11 examples/poc_kendama.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.