La sicurezza prima di tutto: è tutto sotto controllo

mobility
safety
control
10 Dicembre 2024
La sicurezza è un criterio cruciale nell'automazione, ma come possiamo definirla? Come possiamo verificare se siamo sicuri? I membri dell'NCCR Jared Miller e Niklas Schmid investigano questa questione più attentamente.
A pile of hard hats and a hi-vis safety vest.
Partecipanti

Ogni giorno ci affidiamo a innumerevoli sistemi complessi senza pensare al loro funzionamento. Da azioni minime come premere un interruttore della luce a decisioni più importanti come fare ordini a rivenditori online o persino prendere un volo, di solito consideriamo ciò di cui abbiamo bisogno, ma non ciò che potrebbe andare storto. Ci aspettiamo semplicemente che gli aerei su cui saliamo non si schiantino, che le luci funzionino e che gli articoli contrassegnati per la consegna il giorno successivo arrivino davvero il giorno dopo. Tuttavia, se questi eventi non si verificano, i risultati possono andare da un lieve inconveniente (pacco in ritardo) a un vero e proprio disastro (incidente aereo). 

Queste aspettative possono essere descritte come il nostro concetto di sicurezza. Se le aspettative sono soddisfatte, siamo al sicuro; in caso contrario il sistema è diventato insicuro. La sicurezza, in questo senso, è una misura del comfort e della fiducia nella capacità di un dispositivo o di un sistema di fare ciò che vogliamo; può riguardare anche la sicurezza psicologica o ambientale, non solo quella fisica. Analizziamo come gli ingegneri e le ingegnere definiscono (e garantiscono) la sicurezza e come bilanciano i diversi tipi di vincoli. In un secondo post del blog approfondiremo i dettagli tecnici del controllo della sicurezza.  

Che cos'è la sicurezza?

Per coloro che si occupano della progettazione e dell’operatività dei vari sistemi, la sicurezza deve essere considerata a tutti i livelli, dall'ideazione all'implementazione e oltre, compresi il rilevamento dei guasti e la loro risoluzione (e le risposte di emergenza). È un problema di gestione, non solo di ingegneria, ma gli ingegneri e le ingegnere dell’automazione sono fondamentali per creare sistemi di sicurezza in ogni fase.  

Ci sono molti aspetti da considerare. Nel contesto dei viaggi in aereo, il velivolo deve atterrare a destinazione, arrivare in orario, scaricare tutti i passeggeri e i bagagli, mantenersi a una distanza accettabile da altri oggetti mentre è in volo (il suolo, le torri e gli altri aerei), conservare l'integrità strutturale, mantenere un livello di carburante accettabile, far sì che i passeggeri si trovino a proprio agio per tutta la durata del volo (per quanto riguarda la temperatura, la pressione e i livelli di ossigeno), far sì che il software sia affidabile e prevedibile e che sia in buone condizioni operative per il volo successivo.

Alcuni di questi requisiti sono chiaramente più importanti di altri. Se la temperatura all'interno dell'aereo si abbassa un po' troppo, i passeggeri possono sentirsi a disagio ma non subiranno danni; lo stesso non si può dire per una rottura totale della pressione o un incidente aereo. Allo stesso modo, l'obiettivo è arrivare a destinazione, ma in una situazione di emergenza (come un motore danneggiato), l'aereo deve atterrare in sicurezza il prima possibile, ovunque sia possibile, per consentire le riparazioni. 

Esiste quindi una gerarchia di specifiche di sicurezza, soprattutto in caso di guasti inevitabili. Se l'aereo è destinato a schiantarsi, deve farlo in modo da ridurre al minimo le vittime e i danni, ad esempio precipitando sull'acqua piuttosto che su una città densamente popolata. A seconda dell'applicazione, le priorità possono essere stabilite da molti soggetti diversi: enti normativi, agenzie (inter)governative, aziende, ricercatori e ricercatrici, ingegnere e ingegneri e utenti (compresi voi).

Inoltre, le specifiche di sicurezza devono essere bilanciate con la stabilità: la tendenza del sistema a tornare a un punto, a un modello o a una regione. Sicurezza e stabilità sono principi complementari e si influenzano a vicenda. Per un aeroplano, ad esempio, la stabilità potrebbe comportare il ritorno alla traiettoria di volo nominale dopo un disturbo, mentre la sicurezza comprenderebbe l'assenza di incidenti o di stallo.

Cos'è uno spazio sicuro?

Per giudicare se un sistema è sicuro, iniziamo con il definire le regioni sicure, anche se, come vedremo, ciò significa molto di più della semplice geografia. 

Facciamo un nuovo esempio: consideriamo il traffico stradale. Per un'auto che percorre una strada, la regione sicura (nel senso di posizione) è quella parte della strada che non è occupata da altri utenti (compresi pedoni e ciclisti, oltre ai veicoli) mentre l'auto osserva il codice della strada (diritto di precedenza, segnali stradali, e così via). Tutto il resto è la zona non sicura. Questo include situazioni in cui l'auto si sovrapporrebbe ad altre auto (collisione), o magari a un edificio (incidente!). Ma è chiaro che, ai fini della sicurezza, la posizione da sola non è sufficiente. Dobbiamo considerare anche la velocità e altri stati. 

An imagined AI software interface is overlaid on the interior of a car.
Quando si guida un'auto, le considerazioni sulla sicurezza non riguardano solo le strade e il traffico, ma anche fattori come il mantenimento di una carica sufficiente, le condizioni atmosferiche e altro ancora.

Immaginate un'auto in rotta di collisione con un muro. Se si considera solo la posizione, si potrebbe dire che le persone a bordo dell'auto si trovano in una zona sicura: dopo tutto, non si sono ancora schiantati contro l'edificio. Ma se l'auto si sta muovendo a una velocità tale che una frenata aggressiva non impedirebbe una collisione, allora è già pericolosa. Pertanto, nella progettazione dei sistemi di controllo per i veicoli autonomi, la zona non sicura deve essere definita in modo da includere la posizione e la velocità iniziali dell'auto, nonché l'efficacia dei suoi freni. Inoltre, le specifiche di sicurezza spesso dipendono dal tempo e dall'ordine dei compiti. Un'auto elettrica deve essere caricata a sufficienza, scollegata dalla stazione di ricarica e poi guidata: tenere l'auto collegata mentre si inizia a guidare generalmente causa la rottura del cavo o dell'apparato di ricarica. 

In altre parole, non è sufficiente dire all'auto “non andare a sbattere”. L'ingegneria dell’automazione deve tradurre questa specifica di alto livello (evitare la zona non sicura!) in compiti attuabili con priorità correttamente ordinate. I conducenti umani operano in base a una serie di istruzioni non dette ma universalmente comprese: “Raggiungi la tua destinazione a una velocità sicura, mantenendo livelli sicuri di carburante o di carica, rispettando tutte le regole di circolazione ed evitando gli altri utenti della strada, anche quando essi stessi non rispettano le leggi del traffico”. Probabilmente seguono anche una comprensione secondaria, meno frequentemente necessaria: “Se non puoi stare al sicuro, scegli di infliggere il minor danno possibile a te stesso, ai tuoi passeggeri e agli altri utenti della strada. Scegli prima di tutto di evitare gli utenti della strada più vulnerabili”. Gli ingegneri e le ingegnere devono in qualche modo tradurre tutto questo in codice... e la definizione delle parti più confuse di questa guida, come la vulnerabilità, può andare oltre la portata della sola ingegneria.  

Il nucleo della programmazione dell'auto può essere espresso come un compito di evitamento: (NON SEMPRE nell'insieme non sicuro) E (EVENTUALMENTE nell'insieme di destinazione). I compiti di evitamento hanno applicazioni nella pianificazione del percorso: ad esempio, un robot di magazzino deve arrivare e consegnare il suo pacco nella zona di carico evitando di scontrarsi con scaffali e altri agenti. La navigazione dei veicoli è solo un sottoinsieme di questo tipo di pianificazione del percorso.

La dipendenza dal tempo e dal compito può essere espressa sotto forma di logica temporale, composta da operazioni logiche standard (NOT, AND, OR) e da operazioni temporali (ALWAYS, UNTIL, EVENTUALLY). La logica temporale può essere utilizzata per costruire le specifiche dei sistemi, compresi quelli che comprendono più agenti, come uno sciame di droni in uno spettacolo di luci. Ma, come si può immaginare, diventa sempre più difficile verificare e rispettare le specifiche della logica temporale con l'aumentare delle dimensioni e della complessità dei sistemi. E gli altri fattori coinvolti nella sicurezza - dalla velocità alle risposte alle emergenze - richiedono logiche sempre più complesse.

Esistono metodi formali che possono essere utilizzati per verificare il rispetto delle specifiche di sicurezza. Nell'analisi di raggiungibilità, ad esempio, vengono esplorati (o approssimati) tutti i possibili stati accessibili per garantire che l'insieme non sicuro non venga mai raggiunto. I software di controllo di automobili e aerei (tra le altre applicazioni) sono rigorosamente controllati per garantire che in ogni possibile scenario il programma venga eseguito secondo le specifiche logiche. Le leggi di controllo includono anche istruzioni su come bilanciare le specifiche di sicurezza in situazioni inevitabili, poiché non tutte le violazioni delle specifiche di sicurezza sono uguali. (Vale la pena notare che, ovviamente, un certificato di sicurezza per il solo software non garantisce la sicurezza dell'intero sistema. Un algoritmo di controllo certificato come corretto per un aeroplano può comunque causare l'incidente dell'aereo se mancano alcune viti o elementi di fissaggio).

È una violazione della sicurezza, ma è fatale?

Torniamo all'esempio dell'aereo e consideriamo due possibili eventi: schiantarsi contro una montagna o arrivare a destinazione con mezz'ora di ritardo. Entrambi sono violazioni delle specifiche di sicurezza, ma la loro gravità non è paragonabile. 

Le violazioni della sicurezza possono essere suddivise in due categorie fondamentali: fatali e non fatali. Per “fatalità” si intende l'interruzione del sistema, non necessariamente la vita umana, ma l'arresto immediato dell'evoluzione del sistema. Le violazioni fatali della sicurezza devono essere evitate a tutti i costi, mentre quelle non fatali sono accettabili ma non preferibili. Nel caso dell'aereo, l'incidente è una violazione fatale della sicurezza, mentre l'arrivo in ritardo è non fatale. 

Altri esempi di violazioni fatali della sicurezza sono l'investimento di un pedone da parte di un'auto o il blackout della rete elettrica. Queste violazioni comportano gravi sanzioni (perdita della salute umana, ingenti danni finanziari o altre conseguenze) e devono essere evitate a tutti i costi.

Le violazioni della sicurezza non fatali possono essere costose, ma non impediscono al sistema di continuare a funzionare. La strategia di controllo può consentire violazioni dei vincoli, come ad esempio permettere che la temperatura dell'aria superi i limiti di comfort definiti (magari per risparmiare sui costi energetici).

Side-by-side illustrations show a car swerving off the road to crash into a wall, or with no wall, going briefly off-road but able to return to the road safely.
Se l'auto raffigurata a sinistra esce di strada, si schianta contro un muro e termina la sua attività di guida, formando una violazione fatale della sicurezza. Nell'immagine di destra, se l'auto esce dalla strada, finisce sull'erba e può quindi tornare sulla strada continuando il suo viaggio: una violazione non fatale.

Le cose si complicano. I vincoli attuali della rete elettrica danno luogo a violazioni di sicurezza fatali e non fatali. Un motore a turbina (ad esempio, un generatore a gas) potrebbe erogare una corrente 5-10 volte superiore a quella nominale in condizioni di sicurezza, rimanendo al sicuro; ma sostenere questa sovracorrente per un periodo di tempo più lungo potrebbe causare la rottura del motore o l'abbassamento di una linea elettrica e la possibile fusione. Questi componenti hanno specifiche di sicurezza fatali in termini di calore e stress fisico. Questi vincoli possono essere considerati come violazioni di sicurezza non fatali in termini di corrente, incentivando un sistema di controllo a tornare nella regione di sicurezza e a scaricare il calore/ridurre lo stress. 

Con il passaggio alle fonti di energia rinnovabili, entrano in gioco violazioni di sicurezza più fatali. L'energia solare è tipicamente generata in corrente continua e deve essere convertita in corrente alternata da un dispositivo elettronico di potenza chiamato inverter. Gli inverter hanno un vincolo di sicurezza fatale rispetto al loro limite di corrente: una sovracorrente potrebbe fondere i componenti del circuito. Gli ingegneri e le ingegnere che si occupano di sistemi di alimentazione e di elettronica di potenza stanno studiando metodi per mantenere la rete elettrica sicura e stabile, in presenza dei rigidi limiti di corrente richiesti dagli inverter.

Quanto siamo sicuri?

Un risultato sicuro potrebbe non essere di per sé sufficiente. Se due aerei che volano in direzioni opposte si incrociano senza schiantarsi, è importante che si manchino di 30 km o di 10 cm? I passeggeri e il personale a bordo si sentirebbero molto diversi in queste due situazioni! 

Ecco perché si parla di quantificazione della sicurezza. I possibili quantificatori potrebbero includere la distanza di avvicinamento più vicina, il disturbo minimo che potrebbe causare un incidente, la probabilità di incidente nel caso peggiore, la corruzione minima dei dati che potrebbe causare l'incidente di un modello del sistema coerente con i dati, o la media/quantile/rischio di questa distanza (o di un'altra quantità) in condizioni di incertezza. 
I quantificatori per applicazioni specifiche potrebbero includere la velocità massima di un aereo, l'altezza di un drone, la concentrazione di una sostanza tossica nell'acqua o il numero di persone infette durante una pandemia. In qualsiasi contesto, a volte si può desiderare di abbassare il valore massimo, piuttosto che assicurarsi che non venga superato. In altre parole, non è sufficiente mancare l'altro aereo nel cielo. È necessario un margine di sicurezza sufficientemente ampio.

Tutto questo dovrebbe avervi dato una buona comprensione del significato di sicurezza nel controllo e di come gli ingegneri devono formulare la logica per fornire vincoli vitali a un sistema automatizzato. Se siete interessati al modo in cui i diversi tipi di sistemi di controllo implementano questi vincoli e, in particolare, a come gestiscono l'incertezza, approfondiremo l'argomento in un secondo post del blog, più tecnico.