62 lines
4.6 KiB
Markdown
62 lines
4.6 KiB
Markdown
# Capitolo 4: Eseguire una Simulazione
|
|
|
|
Una volta che hai configurato la connessione e preparato il tuo scenario, sei pronto per avviare il test.
|
|
|
|
## 4.1. Guida Passo-Passo
|
|
|
|
Il processo per eseguire una simulazione è semplice e si svolge principalmente nella scheda **"Simulation"**.
|
|
|
|
1. **Connettiti al Radar:**
|
|
* Assicurati che il sistema radar sia acceso e pronto a ricevere dati.
|
|
* Nella finestra principale, clicca sul pulsante `Connect` nel Pannello di Connessione.
|
|
* L'indicatore "Target" nella barra di stato in basso dovrebbe diventare **verde**. Se rimane rosso, controlla le impostazioni di connessione (vedi Capitolo 2) e i log.
|
|
|
|
2. **Carica lo Scenario:**
|
|
* Se non è già caricato, seleziona lo scenario che vuoi eseguire dal menu a tendina nel "Pannello di Controllo Scenari".
|
|
|
|
3. **Vai alla Scheda "Simulation":**
|
|
* Clicca sulla scheda `Simulation` nel pannello di lavoro a destra.
|
|
|
|
4. **Avvia la Simulazione:**
|
|
* Clicca sul pulsante `Start Live`.
|
|
* L'applicazione eseguirà automaticamente un reset del radar per garantire una partenza pulita, invierà le posizioni iniziali dei target e poi avvierà la simulazione. Il reset viene inviato tramite il comando JSON atomico quando possibile, con fallback a comandi legacy per compatibilità.
|
|
* Prima di avviare una sessione di prova, è consigliabile eseguire lo `Sync Tool` (menu `Debug -> Sync Tool`) per misurare la latenza di rete e verificare che i tempi riscontrati siano compatibili con il tuo scenario di test.
|
|
* Il pulsante `Start Live` diventerà grigio e il pulsante `Stop Live` diventerà attivo. Il messaggio nella barra di stato cambierà in "Simulation running".
|
|
|
|
Nota sui Profili Target: prima dell'invio lo `SimulationController` espande i profili associati ai singoli target e integra i valori (es. `rcs`, `amplitude`) nei payload `tgtinit`/`tgtset` inviati al server. Eventuali sovrascritture definite a livello target o waypoint vengono applicate al momento della generazione del payload.
|
|
|
|
5. **Termina la Simulazione:**
|
|
* La simulazione si fermerà da sola quando tutti i target avranno completato la loro traiettoria.
|
|
* Per fermarla manualmente in qualsiasi momento, clicca sul pulsante `Stop Live`.
|
|
|
|
## 4.2. Monitorare la Simulazione in Tempo Reale
|
|
|
|
Mentre la simulazione è in corso, hai diversi strumenti per monitorarne l'andamento.
|
|
|
|

|
|
*(Nota: Usa lo stesso screenshot `pannello_simulazione.png` definito nel manuale tecnico)*
|
|
|
|
* **PPI Display:** È il tuo strumento di monitoraggio principale.
|
|
* Osserva i **target simulati (verdi)** muoversi lungo i loro percorsi.
|
|
* Verifica che appaiano i **target reali (rossi)**, che rappresentano ciò che il tuo sistema radar sta effettivamente tracciando. Idealmente, i punti rossi dovrebbero sovrapporsi o seguire da vicino quelli verdi.
|
|
* Se hai attivato l'opzione, vedrai la linea dell'**antenna (gialla o grigia)** spazzare all'interno del suo settore di scansione.
|
|
|
|
* **Slider di Progresso:** La barra di scorrimento sotto i controlli principali mostra a che punto è la simulazione. I tempi `elapsed / total` sono indicati a destra.
|
|
|
|
* **Pannello "Ownship State":** Mostra i dati di volo in tempo reale del tuo aereo (posizione, heading, velocità) come ricevuti dal sistema esterno.
|
|
|
|
* **Tabella "Active Targets":** Mostra i dati calcolati per i target simulati, convertiti in coordinate geografiche (Latitudine/Longitudine).
|
|
|
|
* **Barra di Stato:** Tieni d'occhio:
|
|
* **Rate (pkt/s, ev/s):** Indica quanti dati stai ricevendo dal radar. Se questo valore è a zero, significa che il radar non sta inviando dati di traccia.
|
|
* **Latency (ms):** Stima il ritardo di comunicazione tra il radar e il simulatore. Per misure più accurate, usare lo `Sync Tool` e/o l'`External Profiler` (vedi `Debug -> External Profiler`).
|
|
|
|
**Output di archivio:** Al termine della simulazione, i file di tracing vengono prodotti nella cartella temporanea (`Temp/`) e poi spostati in `archive_simulations/` con i seguenti suffissi:
|
|
|
|
- `<timestamp>_<scenario>.trail.csv` — trail delle posizioni.
|
|
- `<timestamp>_<scenario>.latency.csv` — campioni di latenza raccolti.
|
|
- `<timestamp>_<scenario>.perf.csv` — dati di performance (presente solo se `enable_performance_profiling` era attivo).
|
|
|
|
Queste impostazioni possono essere controllate da `settings.json` (chiavi di debug `enable_io_trace`, `enable_performance_profiling`, `temp_folder_name`).
|
|
|
|
* **Pannello dei Log:** Controlla quest'area per eventuali messaggi di errore (in rosso) che potrebbero indicare problemi durante la simulazione. |