curvature_speed_plan — DRIVE lateral op

• Data kinds: any → table

• Call: import fullseye as fs; fs.ledger.curvature_speed_plan(s, kappa, *, v_max, a_lat_max: 'float', a_accel: 'float', a_decel: 'float', a_total: 'Optional[float]' = None, v_start: 'Optional[float]' = None, v_end: 'Optional[float]' = None) -> 'Dict[str, np.ndarray]' (implementation को सीधे call करना हो तो import drivelateral; drivelateral.curvature_speed_plan(s, kappa, *, v_max, a_lat_max: 'float', a_accel: 'float', a_decel: 'float', a_total: 'Optional[float]' = None, v_start: 'Optional[float]' = None, v_end: 'Optional[float]' = None) -> 'Dict[str, np.ndarray]', registry से लेना हो तो opsdrive.get("curvature_speed_plan"))

उपयोग

curvature के क्रम से गति की ऊपरी सीमा बनाकर, आगे और पीछे के 2 passes से acceleration/deceleration सीमाओं का पालन करने वाली speed planning (classical तरीका)।

s: चाप-लंबाई (बढ़ती हुई, (N,))। kappa: प्रत्येक बिंदु की वक्रता (चिह्न से फ़र्क़ नहीं)। v_max: गति की ऊपरी सीमा (स्केलर या (N,); वैधानिक गति, धीमी गति वाले खंड आदि)। ऊपरी सीमा v_lim = min(v_max, √(a_lat_max/|κ|))। चरणों के बीच v² s में रैखिक है (स्थिर त्वरण/मंदन)। a_total (घर्षण-वृत्त की त्रिज्या, उदा. μg) देने पर अनुदैर्ध्य त्वरण/मंदन को √(a_total² − (v²κ_m)²) से भी सीमित किया जाता है (κ_m = चरण के दोनों सिरों के |κ| में बड़ा; द्विघात समीकरण से हल होता है, इसलिए चरण के भीतर कहीं भी √(a_x² + a_y²) ≤ a_total)। a_lat_max ≤ a_total आवश्यक है। रिटर्न मान: v, v_limit, ax (प्रति चरण अनुदैर्ध्य त्वरण, (N−1,)), ay_max (चरण के भीतर पार्श्व त्वरण का अधिकतम), time (आगमन-समय; v² रैखिक का सटीक समय)।

Raises ValueError: आकार की त्रुटि, s बढ़ता हुआ नहीं, ऊपरी सीमा धनात्मक नहीं, a_lat_max > a_total, v_start/v_end ऊपरी सीमा से अधिक।

संदर्भ (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_driving_lateral — py -3.11 examples/poc_driving_lateral.py

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

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

इसी category के (lateral)

friction_circle_usage · curve_speed_limit · design_min_radius · understeer_gradient · steady_cornering · bicycle_model_step · ackermann_steer_angles · offtracking_circle


*Provenance: drivelateral.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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