Tommaso Patriti
Ricerca F1TENTHGuida autonoma
Articolo Tommaso Patriti · Studio sperimentale · 3 novembre 2026

Programmazione diretta dei pesi con GPT-6 Astra per la guida in F1TENTH

Abstract

In una sessione guidata da sei richieste documentate, GPT-6 Astra ha modificato i pesi di un controllore di guida già addestrato e ha costruito un secondo controllore a partire dalle equazioni del veicolo. In entrambi i casi ha scritto codice per assegnare i coefficienti e ha verificato le proprie ipotesi in simulazione, senza addestramento aggiuntivo. Su 210 partenze appaiate, la modifica dello sterzo ha portato i giri completati da 167 a 179. La rete costruita da zero ha completato 95 giri su 105 in un test separato. Il caso documenta due interventi verificabili sui pesi a partire da istruzioni ad alto livello. La loro efficacia è stata misurata su nuove partenze di circuiti già noti.

Disegno sperimentale

Il weight-space programming proposto da Takehi e colleghi consiste nel programmare un comportamento intervenendo direttamente sui coefficienti di una rete. Questo studio ne esamina la variante con accesso a strumenti e feedback. L’autore ha specificato gli obiettivi di guida e il vincolo di intervenire sui pesi. Astra aveva accesso ai tensori, al codice del simulatore e alle traiettorie. Poteva esaminare le attivazioni, formulare una modifica e valutarne gli effetti prima di scegliere il candidato da sottoporre al test. Takehi et al., Sparks of Weight-Space Programming · Prompt, strumenti e protocollo

Il banco di prova utilizza F1TENTH Gym. A ogni passo il controllore riceve 1.080 distanze LiDAR e restituisce due comandi, sterzo e velocità. Prima di ciascun confronto finale sono stati fissati i pesi. I controllori sono partiti dalle stesse pose, con gli stessi semi per il rumore LiDAR, su 21 circuiti. Il completamento richiedeva di percorrere almeno il 99% dei waypoint in ordine e attraversare la linea di partenza entro 200 secondi, senza una collisione segnalata. I tempi sono confrontati solo sulle partenze completate da tutti i controllori indicati. O’Kelly et al., piattaforma F1TENTH · Relazione sul controllore di partenza, Andruccioli, Patriti e Totaro (PDF)

Correzione dello sterzo in una rete addestrata

Nella rete addestrata con proximal policy optimization (PPO), due neuroni del primo strato contribuivano a un comando di sterzo fortemente orientato a sinistra. La stessa attivazione compariva sia prima di alcuni urti contro la parete sinistra sia in tornanti completati. La distanza dalla parete permetteva di distinguere le due situazioni nei campioni di sviluppo.

Astra ha riutilizzato due neuroni quasi costanti e ne ha compensato il precedente contributo nei bias degli strati successivi. Il primo calcola un segnale centrato su 40 cm di distanza media, misurata da 40 raggi LiDAR rivolti a sinistra. Il secondo combina quel segnale con le attivazioni associate alla svolta. La correzione attenua lo sterzo quando la rete richiede una svolta stretta verso una parete vicina. A Budapest, applicando le due reti alla stessa scansione registrata a 6,10 s, il comando normalizzato passa da +1,000 a +0,445. Generatore dei pesi

Budapest, seed 1101. Traiettorie della PPO originale e corretta e confronto fra i comandi di sterzo sulla stessa sequenza di scansioni.
Figura 1. Risposta della rete a ingresso fissato. Budapest, prova di sviluppo 1101. Le curve di sterzo sono calcolate sulle stesse scansioni LiDAR. Le traiettorie provengono da due episodi distinti, ciascuno guidato dalla rispettiva rete.
Video 1. Budapest, dettaglio della curva. L’originale (rosso) urta la parete a 6,50 s. La variante con il solo intervento sullo sterzo (verde) completa il giro in 47,13 s. Riproduzione a metà velocità.

La sola correzione porta i completamenti da 167 a 179 su 210, a tempo medio appaiato pressoché invariato. Una seconda variante incrementa di 0,2 m/s il comando di velocità modificando un bias. Rispetto alla PPO originale, questa variante cambia 1.276 coefficienti, completa 180 giri e riduce le collisioni da 43 a 30. È più veloce in tutti i 164 giri completati da entrambe le reti, con una riduzione media del tempo del 2,01%. Il confronto comprende la correzione dello sterzo da sola e lascia aperto l’effetto che avrebbe avuto il solo aumento di velocità sulla PPO originale. Risultati e varianti di controllo

Su 210 partenze appaiate la PPO modificata recupera 16 giri e ne perde tre. I completamenti passano da 167 a 180.
Figura 2. Esito appaiato delle 210 partenze. La variante con sterzo e velocità modificati recupera 16 giri e ne perde tre rispetto alla PPO originale. Otto recuperi avvengono a Budapest e cinque a Oschersleben.

Sintesi di un controllore dalla geometria del veicolo

Nel secondo esperimento Astra ha scritto un compilatore che traduce l’ingombro della vettura, le equazioni del moto e i limiti di velocità scelti in sviluppo in 28.427 coefficienti. Durante la guida, la rete confronta la scansione LiDAR con lo spazio richiesto per percorrere archi di 17 curvature diverse. La prima costruzione trascurava l’angolo tra la direzione del moto e l’asse longitudinale della vettura. L’introduzione di una stima della deriva in curva ha portato da zero a tre i completamenti sulle stesse tre prove di sviluppo. Le successive revisioni hanno interessato il passo in curva e il margine richiesto alla partenza. Architettura e compilazione dei pesi

Test conclusivo con quattro controller. La rete geometrica finale completa 95 giri puliti su 105, con zero collisioni segnalate e dieci timeout.
Figura 3. Confronto finale su 105 partenze per controllore. La rete geometrica finale completa 95 giri, con zero collisioni segnalate e dieci timeout. La PPO di riferimento, già modificata (early_smooth), completa 88 giri e registra 17 collisioni. Le due varianti geometriche intermedie ne completano 93 ciascuna.

Sulle 86 partenze completate dalla PPO modificata, dalla prima rete geometrica e dalla versione finale, quest’ultima riduce il tempo medio appaiato dell’1,73% rispetto alla PPO e del 9,91% rispetto alla prima rete geometrica. Nei suoi 95 giri completati, un controllo della carrozzeria ogni 0,01 s rileva un margine minimo di 0,85 cm rispetto alle celle occupate della mappa. Nove dei dieci timeout iniziano invece con la carrozzeria già sovrapposta alla parete. Tutti e dieci sono inclusi nel denominatore. Confronto finale e verifica delle pose iniziali

Video 2. Sochi, partenza 73101. Le tre traiettorie condividono posa iniziale e seme del rumore. In rosso la PPO originale, in verde la PPO modificata e in blu la rete geometrica finale. Dopo la collisione viene mantenuta l’ultima posa registrata.

Discussione

L’evidenza più diretta riguarda la modifica della PPO. A ingresso identico si può misurare l’effetto della correzione sullo sterzo. Lasciando poi guidare la rete con il solo intervento sullo sterzo, si osservano dodici completamenti aggiuntivi. La distribuzione per pista circoscrive il risultato della variante veloce. Budapest e Oschersleben, entrambe usate in sviluppo, spiegano l’intero guadagno netto. Sugli altri 19 circuiti entrambe le reti completano 163 giri su 190. La rete geometrica pone una questione distinta: parte della sua prestazione può dipendere dalla conoscenza della dinamica incorporata nel compilatore. Per quantificare il contributo della rappresentazione nei pesi servirebbe un confronto con un controllore geometrico convenzionale a parità di sensori e di prove di sviluppo.

I sei prompt descrivono la supervisione fornita dall’autore. La procedura comprende anche le simulazioni tra un prompt e il successivo, i candidati scartati e la selezione finale. I risultati documentano la fattibilità della programmazione diretta in questa sessione. Per stimare con quale frequenza Astra riesca a riparare una rete occorrerebbe ripetere il processo su controllori addestrati indipendentemente, con un numero prefissato di simulazioni e circuiti riservati alla valutazione. Dati, codice e modelli · Figure e video supplementari