pure_pursuit_circle_offset — DRIVE lateral op

• Data kinds: कोई नहीं → table (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)

• Call: import fullseye as fs; fs.ledger.pure_pursuit_circle_offset(radius: 'float', lookahead: 'float', wheelbase: 'float', *, understeer: 'float' = 0.0, speed: 'float' = 0.0, params: 'Optional[dict]' = None) -> 'Dict[str, float]' (implementation को सीधे call करना हो तो import drivelateral; drivelateral.pure_pursuit_circle_offset(radius: 'float', lookahead: 'float', wheelbase: 'float', *, understeer: 'float' = 0.0, speed: 'float' = 0.0, params: 'Optional[dict]' = None) -> 'Dict[str, float]', registry से लेना हो तो opsdrive.get("pure_pursuit_circle_offset"))

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

स्थिर वृत्त (त्रिज्या R) को pure pursuit (पिछले axle के केंद्र के सापेक्ष) से follow करने पर steady-state वृत्त की त्रिज्या ρ और lateral offset ρ − R (बाहर की ओर धनात्मक)।

किनेमैटिक्स + अंडरस्टीयर(पैराम्स = कोई नहीं): कमांड किए गए स्टीयरिंग कोण δ = L κ_cmd के लिए, वास्तविक वक्रता κ_cmd / (1 + K v²/L) है फिर, एक संकेंद्रित स्थिर अवस्था में, ρ = √(R² + (K v²/L) L_d²) (इस संस्करण में प्राप्त बंद रूप)। यदि K = 0, तो ρ = R (पार्श्व स्लिप 0)।

रैखिक दो-पहिया समतुल्य मॉडल (पैरामीटर दिया गया है। δ = atan(L κ_cmd)): स्थिर अवस्था में, वाहन बॉडी की दिशा रियर एक्सल की गति (सर्कल के स्पर्शरेखा) से कम है। चूँकि पीछे की धुरी साइडस्लिप कोण α_r = m l_f a_y / (C_r L) द्वारा अंदर की ओर इंगित करती है, टकटकी बिंदु का दृश्य कोण α_r से कम हो जाता है। स्थिर संबंध (δ = L/R_c + K u²/R_c, β, घूर्णन का केंद्र) गुरुत्वाकर्षण के केंद्र के घुमाव R_c की त्रिज्या के साथ एक-चर समीकरण में बनाया गया है और द्विभाजन विधि (अर्ध-बंद रूप) का उपयोग करके हल किया गया है। किनेमेटिक्स समीकरण इस प्रभाव को कम कर देता है, इसलिए पार्श्व स्लिप छोटा होने का अनुमान है (PoC में लगभग आधा)।

उठाता है ValueError: R, L_d, L ≤ 0, निर्धारण बिंदु सर्कल तक नहीं पहुंचता है, 1 + K v²/L ≤ 0, v <0.5 पैरामीटर्स में।

संदर्भ (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.