S1005403_RisCC/doc/user_guide/04_eseguire_simulazione.md
2025-11-24 08:24:07 +01:00

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.
![Pannello di Simulazione in Esecuzione](<percorso/relativo/a/pannello_simulazione.png>)
*(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.