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.
Confronta la regolazione con il solo lookahead adattivo
Esegui Curva stretta · regolata e salva il risultato come A. Poi esegui Solo lookahead adattivo. Percorso, posa iniziale, veicolo e velocità desiderata restano gli stessi mentre la regolazione di curvatura e il rallentamento in avvicinamento sono disabilitati. Leggi la velocità effettiva e il tempo di passaggio dell'endpoint insieme all'errore di cross-track: un'esecuzione più lenta non deve essere classificata solo per errore.
Lookahead e regolazione della velocità hanno gruppi di controllo separati. Lookahead fisso + regolazione disabilita solo l'adattamento. Nessuna regolazione di curvatura e Nessun rallentamento in avvicinamento isolano ciascuna regola di velocità. Soglia minima di regolazione più alta dimostra come una soglia minima possa alzare un candidato ridotto. I preset ripristinano tutte le condizioni, quindi controlla le differenze di parametri A/B.
Il lookahead sceglie la sterzata; la regolazione sceglie la velocità
Con l'adattamento attivo, Ld=clamp(vT,Lmin,Lmax), usando la velocità attuale del modello v. Con l'adattamento disattivato, Ld è fisso. Viene riutilizzata la geometria del target di PP/APP: κ=2yb/(xb²+yb²) per il target (xb,yb) nel sistema di riferimento del veicolo; sterzata δ=atan(Lκ). Se non esiste intersezione con il cerchio, fai avanzare Ld lungo il percorso proiettato e limita al punto finale, usando sempre la distanza reale del target. I target dietro o coincidenti prima del completamento terminano l'esecuzione con un motivo.
La velocità è calcolata in quest'ordine:
- La regolazione di curvatura moltiplica la velocità desiderata per min(1,R/Rmin), dove R=1/|κ|. Curvatura zero lascia invariata la velocità desiderata.
- Alza quel candidato alla soglia minima di regolazione della velocità. Questa soglia può indebolire la riduzione; non è un limite di sicurezza.
- Una volta che la lunghezza di percorso residua è strettamente inferiore alla distanza di avvicinamento D, scala per distanza euclidea dal punto finale/D. Applica la soglia minima di avvicinamento, ma non alzare mai la velocità sopra il suo valore precedente all'avvicinamento.
- Limita a [0, velocità desiderata]. Il servo comune a=2(richiesta−velocità effettiva) e i limiti di accelerazione dell'impianto determinano la velocità effettiva.
Per desiderata=4 m/s, κ=0,25 /m e Rmin=8 m, il candidato di curvatura è 2 m/s. Una soglia minima di regolazione di 0,25 m/s lo lascia invariato. Con lunghezza residua=1,5 m, distanza dal punto finale=1,5 m e D=3 m, l'avvicinamento dà 1 m/s sopra una soglia minima di avvicinamento di 0,1 m/s. A lunghezza residua esattamente 3 m, la scalatura in avvicinamento non è ancora iniziata.
Ispeziona gli stadi della velocità durante la riproduzione
Riproduci, metti in pausa, avanza passo-passo o scorri. La visualizzazione al tempo selezionato separa desiderata → candidato di curvatura → soglia minima → richiesta finale dalla velocità effettiva. Nel grafico della velocità, il puntinato grigio è la velocità desiderata, il verde è la richiesta regolata e il blu/arancione è la velocità effettiva; A è tratteggiato e B continuo. Percorso, posa del veicolo, cerchio di lookahead e target accompagnano i grafici di errore, sterzata e lookahead. La tabella numerica e il JSON sono generati dai dati della simulazione.
Le tre metriche di durata attiva sommano il dt dell'intervallo in modo indipendente e possono sovrapporsi. Il tempo in cui il candidato di curvatura è sotto la velocità desiderata include periodi in cui la soglia minima prevale su quel candidato; non è la durata del rallentamento effettivo del veicolo.
Versione di riferimento e differenze del modello
Le regole scalari di velocità seguono il commit fissato di Nav2 Jazzy f4108e5b1c2bce804a1aa0c7be6673a8eb4a1501. La loro aritmetica/ordine è verificata rispetto al riferimento C++, ma questo non è un risultato di esecuzione Nav2. Duskcoil usa un modello ad assale posteriore condiviso e proiezione globale sul percorso più vicino: la lunghezza residua è la lunghezza del percorso meno la lunghezza d'arco proiettata. Nav2 riceve un percorso locale trasformato/potato, quindi i suoi input possono differire. La regolazione usa la curvatura di inseguimento richiesta prima dei limiti dell'attuatore.
Il modello comune usa intervalli di 0,05 s per al massimo 30 s. I limiti sono 8 m/s di velocità, ±2 m/s² di accelerazione, ±0,6 rad di sterzata e 0,8 rad/s di variazione della sterzata. Il moto è integrato su ciascun arco a curvatura mantenuta. La velocità effettiva non raggiunge istantaneamente la richiesta. Non ci sono inerzia, slittamento delle gomme, modello di ostacoli/costmap, previsione delle collisioni, retromarcia, rotazione verso la rotta o lookahead di curvatura separato. Questa non è una valutazione delle prestazioni hardware o della sicurezza.
Il completamento è un passaggio campionato dell'endpoint: lunghezza d'arco residua e distanza dal punto finale entrambe ≤0,25 m, rotta entro 0,15 rad rispetto alla tangente finale. Non garantisce l'arresto; una velocità positiva della soglia minima di avvicinamento non significa parcheggio. Una distanza di percorso superiore a 10 m termina l'esecuzione come fuori percorso; 30 s è il limite di tempo. Il tempo di passaggio incompleto è "—". CTE e RMS della rotta usano l'integrazione trapezoidale dei campioni al quadrato sul tempo trascorso. Evita di classificare esecuzioni parziali o durate diverse solo per errore.
I nomi dei parametri dipendono dalla release
| Significato nel browser | Jazzy | Rolling, verificato il 2026-09-21 |
|---|---|---|
| Velocità desiderata | desired_linear_vel | max_linear_vel |
| Lookahead scalato in velocità | use_velocity_scaled_lookahead_dist | uguale |
| Tempo di lookahead | lookahead_time | uguale |
| Regolazione di curvatura | use_regulated_linear_velocity_scaling | uguale |
| Soglia del raggio di curva | regulated_linear_scaling_min_radius | uguale |
| Soglia minima di regolazione | regulated_linear_scaling_min_speed | uguale |
| Distanza / soglia minima di avvicinamento | approach_velocity_scaling_dist / min_approach_linear_velocity | uguale |
L'interruttore di attivazione/disattivazione dell'avvicinamento è un'ablazione didattica, non un parametro ROS di Jazzy. Le funzionalità a finestra dinamica di Rolling non sono implementate qui. I valori predefiniti del Lab sono valori didattici, non una configurazione Nav2 raccomandata.
Esempi generati dallo stesso codice
I risultati nativi Python sottostanti usano la curva predefinita di raggio 5 m, velocità iniziale e desiderata 4 m/s, offset laterale 1 m e passo (wheelbase) 2,5 m.
| Impostazione | Stato | Trascorso [s] | CTE RMS [m] |
|---|---|---|---|
| regulated | completed | 4,10 | 0,37348 |
| adaptive only | completed | 1,80 | 0,52087 |
| no approach | completed | 3,00 | 0,43649 |
Riferimenti e Lab correlati
- Funzioni di velocità Jazzy fissate
- Ordine di controllore e vincoli Jazzy
- Guida ai parametri Jazzy
- Guida ai parametri Rolling
- Lab APP / Lab PP
L'esecuzione nel browser non richiede alcuna installazione locale di Python. Il download del sorgente è facoltativo. Sorgente e note sul modello.
Commenti
Accedi per continuare.
Nessun dato disponibile.