Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

Verifica la direzione di sterzata su entrambi i lati

Esegui Dritto · offset di 1 m e salva A. Recupero da destra usa un offset laterale negativo e inverte la direzione iniziale di sterzata. Il controllo dell'offset iniziale posiziona l'assale posteriore. Cambiare la rotta modifica anche lo spostamento laterale dell'assale anteriore; ispeziona Rotta iniziale 30° per vedere la differenza.

Stanley valuta lo spostamento all'assale anteriore. Il segmento dell'assale va da posteriore ad anteriore, la linea tratteggiata collega il punto anteriore alla sua proiezione più vicina sul percorso, e il verde segna la tangente del percorso in quel punto. Oltre un endpoint, lo spostamento include anche l'eccesso longitudinale; il CTE con segno usa solo la componente normale. Le cronologie di errore mostrano il riferimento anteriore in verde e quello posteriore in blu (A usa un tratteggio arancione).

La richiesta di sterzata è la somma di due correzioni

Sterzata positiva gira a sinistra; CTE positivo è a sinistra del percorso diretto. Data la posizione posteriore (x,y), imbardata ψ e passo (wheelbase) L, la posizione anteriore è (x+L cosψ, y+L sinψ). Proiettala sul segmento più vicino della polilinea aperta. Sia ψp la sua tangente e ef lo spostamento normale sinistro con segno.

La richiesta è δ = wrap(ψp−ψ) − atan(k ef / (v+vs)). Il guadagno k ha unità 1/s, la velocità attuale v e la velocità di attenuazione vs hanno unità m/s. Quando si è a sinistra del percorso con rotta allineata, ef>0 dà sterzata a destra. Con l'assale anteriore sul percorso ma il corpo rivolto a sinistra, anche il termine di rotta sterza a destra.

La velocità di attenuazione positiva è un'estensione didattica esplicita dell'equazione base del paper; evita la divisione per zero ed è qui vincolata ad almeno 0,1 m/s. Una velocità maggiore indebolisce la correzione per lo stesso errore laterale. Un guadagno alto la rafforza, ma il controllo campionato e i limiti di slew della sterzata fanno sì che un guadagno più alto non debba necessariamente migliorare l'inseguimento.

Riproduci, metti in pausa e avanza passo-passo per leggere rotta + correzione di cross-track = richiesta → sterzata applicata. La somma richiesta è separata dai vincoli dell'attuatore. Limite di sterzata stretto dimostra una sterzata insufficiente su una curva stretta; le esecuzioni incomplete restano risultati visibili.

Veicolo condiviso e metriche di confronto

L'impianto è lo stesso modello cinematico a bicicletta con assale posteriore, solo in avanti, usato da PP/APP/RPP. Gli intervalli sono 0,05 s per al massimo 30 s. I limiti sono 8 m/s, ±2 m/s² e 0,8 rad/s di slew della sterzata, con ampiezza di sterzata predefinita ±0,6 rad. Velocità desiderata costante usa a=2(desiderata−effettiva), limitata dall'impianto. Ogni intervallo mantiene la sterzata e integra il moto curvo. Non sono modellati slittamento delle gomme, rumore del sensore, ostacoli o compensazione del ritardo.

La tabella numerica condivisa di CTE, errore di rotta e RMS usa l'assale posteriore. Distinguile dalle grandezze dell'assale anteriore usate da Stanley. I grafici dell'errore di rotta mostrano l'imbardata del corpo meno la tangente del percorso; la correzione di rotta ha il segno opposto. L'RMS usa l'integrazione temporale trapezoidale dei campioni al quadrato divisa per il tempo trascorso.

Il passaggio dell'endpoint richiede che la lunghezza d'arco residua e la distanza dell'endpoint dell'assale posteriore siano entrambe ≤0,25 m, più un errore di rotta finale-tangente ≤0,15 rad. Questo non è un arresto o un parcheggio. Una distanza di percorso superiore a 10 m termina come fuori percorso; 30 s termina come limite di tempo. Sulle curve l'assale posteriore può tagliare all'interno anche quando l'anteriore insegue, quindi la regola condivisa dell'endpoint dell'assale posteriore potrebbe restare non soddisfatta. Il tempo di passaggio incompleto è "—". Non classificare durate diverse o stati di completamento solo per RMS.

Sequenza suggerita

  1. Confronta offset iniziali sinistro e destro e ispeziona i segni della sterzata.
  2. Cambia la rotta iniziale e distingui l'errore laterale anteriore da quello posteriore.
  3. Cambia guadagno e velocità separatamente e confronta ampiezza e cronologia della sterzata.
  4. Usa la curva stretta e la sterzata limitata per leggere separatamente inseguimento anteriore, metriche posteriori e completamento.

L'esecuzione avviene nel browser, con riproduzione, A/B, reset, condivisione e download JSON. Il tempo di calcolo descrive questa implementazione nel browser, non la tempistica di controllo di un veicolo reale. Il ritardo di sterzata completo del veicolo Stanley, la velocità di imbardata e la compensazione delle gomme sono fuori da questo esercizio.

Riferimenti e Lab correlati

Related reading

Isola la regolazione della velocitàLab Regulated Pure Pursuit — velocità nelle curve e vicino all'obiettivoExplore another aspect of this fieldLab di confronto tra inseguitori di percorso — esegui PP, APP, RPP, Stanley e MPC nelle stesse condizioni