kendama op• Data kinds: table → any
• Call: import fullseye as fs; fs.ledger.catch_plan_staged(kp: 'dict', *, v_max: 'float' = 2.0, a_max: 'float' = 20.0, g: 'float' = None, margin: 'float' = 0.005, absorb_time: 'float' = None, absorb_depth: 'float' = 0.02) (implementation को सीधे call करना हो तो import kendama; kendama.catch_plan_staged(kp: 'dict', *, v_max: 'float' = 2.0, a_max: 'float' = 20.0, g: 'float' = None, margin: 'float' = 0.005, absorb_time: 'float' = None, absorb_depth: 'float' = 0.02), registry से लेना हो तो opsdrive.get("catch_plan_staged"))
स्पष्ट stages वाला catch control (बड़े cup, छोटे cup, मध्य cup और candle के लिए वही plan: cup की दिशा kp की trick pose से)। return value plan(t, p, v, cup_state) → dict (kendama_simulate का catch_plan)।
> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।
段階(人のコツ「膝で真上に引き上げ、糸が弛んでから皿を玉の真下へ水平に運び、着地で下げて衝撃を吸う(すくいに行かず待つ)」を写す):
0. lift / wait(kendama_simulate 側): 振り上げの間と、弛む前は計画を呼ばない = 弛んでから動かす。
1. hold: 玉の下端がけん玉のいちばん高い所(手元 + kp["top_offset"]、+ margin)より上に出るまで皿を動かさない(けんは玉を押せないので、昇ってくる玉にけんを寄せない。玉がそこまで昇らない軌道なら hold のまま = 捕らない)。
2. carry: 皿を今の高さのまま水平に、玉が縁に乗る点の真下へ運ぶ: 玉の中心が「皿の中心 + h_c·軸」に下りてくる時刻 τ (z(τ) = 皿の高さ + h_c·a_z の遅い根 = 頂点を過ぎて下降中)の玉の xy から h_c·(a_x, a_y) を引いた点。
3. absorb: 着地の absorb_time(既定 √(absorb_depth / a_max) = bang-bang で下げる動きの折り返しの時間)前から、目標を absorb_depth 下げる: 着地の瞬間に皿が下向きに最高速 √(a_max·absorb_depth)(20 m/s²・2 cm で 0.63 m/s)で動いている = 相対速さを減らす。absorb_time を長く取ると皿は着地の前に下がり切って止まり、玉はその分深く落ちて速くなる(0.06 s で 4 技とも縁で弾かれた —— 測って退けた)。
返り値 {"target" (皿の中心の目標), "stage", "landing" (玉が縁に乗る点の真下の皿の中心), "t_land", "wait" (hold の残り), "feasible", "apex", "travel"}。頂点が縁に乗る高さに届かない軌道は feasible=False で hold。制限(正直に): 皿の姿勢は技ごとに固定(手首を回して玉を迎えない)、抗力は予測に入れない(毎回知覚からやり直す)。
• 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_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.