Verso la guida autonoma tra promesse, speranze e cronaca

Il mondo della guida autonoma si arricchisce così di molti e inquietanti risvolti legali, se possibile ancora più complicati e preoccupanti di quelli tecnici

4
Tesla autopilot guida autonoma futuro

È cronaca recente che per la prima volta da quando è stata introdotta la funzione Autopilot sulla Tesla model S si è verificato un incidente mortale (dopo che qualche tempo fa c’era stato un caso di tamponamento), mentre sabato scorso un altro incidente ha visto coinvolta una seconda Tesla ModelS in Montana, senza per fortuna conseguenze per gli occupanti.

Le circostanze dell’incidente mortale parrebbero oggettivamente sfortunate e relativamente poco probabili: in una giornata con piena luce, un camion di colore chiaro con rimorchio alto da terra attraversa perpendicolarmente una strada a carreggiate separate di fronte a una Tesla in arrivo; il sistema di visione non individua l’ostacolo, forse ostacolato dallo scarso contrasto o dal fatto che il rimorchio è alto da terra, perciò l’auto continua senza frenare, finendo con l’infilarsi sotto il rimorchio. Qui sotto potete vedere la ricostruzione dell’accaduto.

La dinamica dell’incidente mortale in cui è stata coinvolta la Tesla Model S con Autopilot attivo.

Nel doveroso e atteso comunicato stampa, Tesla ha fatto notare non solo tali circostanze, ma ha anche ricordato che questo è il primo incidente dopo oltre 130 milioni di miglia percorse con Autopilot attivo dall’insieme delle Model S, contro una media USA di un incidente mortale ogni 94 milioni di miglia, e una media mondiale di uno ogni 60 milioni di miglia.

Come dire che, già nella versione beta attuale, Autopilot ha migliorato la sicurezza dell’auto. Il costruttore sottolinea che Autopilot impara con l’esperienza e col tempo non farà che migliorare.

Tesla ha anche fatto notare che il sistema, come già detto ancora in beta release, richiede innanzitutto che il guidatore ne prenda atto prima di attivarlo, e poi avvisa in tutti i modi che il guidatore deve comunque mantenere le mani sul volante e tenersi pronto a riprendere lui il controllo in qualsiasi momento.

Tutto bene dunque? Non necessariamente.

Cosa aspettarsi dal futuro della guida autonoma

Se proiettiamo questo tipo di accadimenti in un contesto futuro di guida autenticamente e totalmente autonoma, e non semplicemente assistita, la faccenda cambia.

I sistemi di guida autonoma sono basati su software complesso. Nella realtà il software contiene sempre errori, e quello complesso ne contiene proporzionalmente di più, perché è più difficile progettarlo e testarlo.

Chiunque possieda uno smartphone avrà fatto una o più volte esperienza di bug, rallentamenti, blocchi, malfunzionamenti nelle applicazioni o nel sistema operativo, financo riavvii spontanei.

Poco male: per fortuna esistono delle contromisure accettabili. Si aspetta qualche secondo per vedere se si sblocca da solo, o si riprova l’operazione, o si spegne e riaccende il telefono, al limite si disinstalla e reinstalla l’applicazione; in casi estremi si fa il ripristino.

Ora immaginiamo all’opera un software di guida autonoma – molto più complesso del software di uno smartphone – che sta controllando un veicolo in città. A 50 km/h l’auto percorre 13.8 metri al secondo. Ci avviciniamo a un incrocio senza semaforo o a un attraversamento pedonale davanti a una scuola.

Possiamo considerare accettabile che il software si incanti anche solo per un secondo, anche solo, diciamo, una volta al giorno? Possiamo considerare accettabile che dal problema si possa uscire riavviando il sistema operativo dell’auto… mentre questa è in movimento? Gli standard non possono essere evidentemente essere quelli di uno smartphone o di un PC. Un sistema di guida autonoma deve rispondere in tempo reale alle situazioni. Sempre, non solo a volte. Non si può interrompere improvvisamente il movimento del veicolo quando fa comodo al sistema.

In realtà sarebbe da considerarsi inaccettabile anche un singolo incantamento di 1 secondo in 10 anni di possesso del veicolo e 500mila km percorsi. Purtroppo nell’industria del software si è ancora ben lontani dal poter assicurare un simile tasso di disponibilità e affidabilità, e come vedremo, esiste anche un limite superiore, matematicamente dimostrato e non superabile, a qualsivoglia livello di qualità si pretenda di poter garantire in un sistema software.

In autostrada a 130 km/h le cose vanno anche peggio che a 50 km/h, visto che in un secondo si percorrono non 13 ma 36 metri e che l’energia cinetica del veicolo (quella che dovrà essere dissipata in un eventuale incidente contro barriera fissa o urto equivalente) è 6.7 volte maggiore che a 50 km/h, e oltre 4 volte maggiore che a 64 km/h, velocità alla quale si effettuano i test EuroNCAP frontali contro barriera fissa.

La scocca è progettata per assorbire l’urto del crash test EuroNCAP nel modo più progressivo possibile, quindi deformandosi nel modo più completo e “dolce” possibile per sfruttare tutto il potenziale di protezione in rapporto all’energia cinetica da dissipare a 64 km/h; questo però significa anche che tutta l’eventuale energia in eccesso, se l’urto avviene a velocità superiore, non avrà più spazio per essere dissipata. Il muso ha già dato tutto quello che aveva da dare e il cosiddetto “abitacolo indeformabile”, concetto tanto amato dai pubblicitari, diventa un lontano e patetico ricordo.

Il software a prova di errori non esiste

Ora, chiaramente sarebbe desiderabile che il software venisse testato in modo scrupoloso fino a raggiungere l’assoluta certezza che funzioni in modo impeccabile, senza mai sbagliare, incantarsi o peggio. Vana speranza. Come abbiamo già avuto modo di ricordare, nel 1936 è stato definitivamente dimostrato (Turing) che già solo il problema di stabilire se l’esecuzione di un programma prima o poi termina è indecidibile.

Figuriamoci dimostrare che un programma è corretto, nel senso di “esattamente aderente alla specifica” – senza contare che spesso la specifica stessa è lacunosa, incompleta, imprecisa, equivoca, o proprio semplicemente sbagliata; per cui anche se si potesse dimostrare che un programma è perfettamente rispettoso della specifica, bisognerebbe poi anche dimostrare che la specifica è talmente ben pensata, ed espressa in modo talmente inequivoco, che a condizione di seguirla rigorosamente si otterrà sicuramente il risultato atteso.

Il caso dello sterzo elettrico della Infiniti Q50

In un modello di recente introduzione, la Infiniti Q50, è stato lanciato lo “steer by wire“: un sistema con il quale il volante viene meccanicamente scollegato dalle ruote. Il volante diventa così un comando puramente logico, che un sistema di controllo provvederà a trasmettere a un attuatore sulla cremagliera dello sterzo.

La Infiniti Q50 introduce lo sterzo elettrico, ma per sicurezza usa 3 centraline e prevede la possibilità di ripristinare sul piantone il collegamento meccanico tradizionale tra volante e scatola guida.

Dal punto di vista della sicurezza questo sistema ha una missione relativamente semplice: deve assicurare che l’angolo di sterzata delle ruote segua l’angolo di rotazione del volante secondo una legge ben precisa. Da un lato le ruote non devono sognarsi di sterzare da sole, dall’altro quando il volante viene girato le ruote devono sterzare esattamente della misura voluta.

Ebbene, per un sistema pur concettualmente semplice come questo, il costruttore giapponese ha previsto non una centralina (potrebbe guastarsi, e allora..), nemmeno 2 (se una si guastasse non si sarebbe in grado di capire quale delle due ha ragione e quale no) ma ben TRE centraline di controllo, in modo tale che il sistema riesca a sopravvivere al guasto singolo essendo in grado di decidere quale centralina va esclusa e quale altra può prendere il controllo dello sterzo al suo posto. E al limite si può sempre ripristinare, grazie a una sorta di frizione, il collegamento meccanico tradizionale lungo il piantone dello sterzo.

È chiaro insomma che i costruttori prendono molto sul serio il rischio connesso con l’introduzione di questi sistemi: nel caso dello sterzo elettrico Infiniti, tripla ridondanza più backup meccanico! E si noti che qui stiamo solo parlando di tolleranza ai guasti, senza entrare nel merito di eventuali bug software che tutte e tre le centraline avrebbero, se usano lo stesso software in tre copie identiche.

Ma il problema dei malfunzionamenti elettrici o, peggio, software è solo una parte della questione.

Guida autonoma, oltre i malfunzionamenti elettrici

C’è tutto un mondo di “nuove” complicazioni e dilemmi che resterebbe aperto anche qualora tutto funzionasse impeccabilmente, senza difetti, senza guasti e senza errori di programmazione.

Qualche esempio?

Proviamo a chiederci come dovrebbe comportarsi il sistema di guida autonoma in alcuni casi:

  • l’auto viene a trovarsi in una situazione in cui se continua dritto investirà certamente tre pedoni con esito fatale; in alternativa può sterzare violentemente per evitarli, ma finirà fuori strada cadendo in un burrone e mettendo a rischio chi sta a bordo. A bordo c’è una sola persona, mentre i pedoni tre. Quale decisione si prende? Ridurre il rischio di vittime totali a costo di sacrificare il proprietario oppure proteggere il proprietario anche a costo di fare una strage?
  • l’auto si trova in una situazione in cui non può evitare totalmente lo scontro con dei pedoni. Ha solo il tempo di scartare parzialmente l’ostacolo andando o a sinistra o a destra, di fatto “scegliendo” chi investire. Per esempio: sterzando a sinistra l’auto investe un bambino, sterzando a destra un anziano. Chi sceglie di lasciar vivere? Oppure: in un caso investe un disabile, nell’altro un normodotato. Chi sceglie di lasciar vivere? Oppure: in un caso investe un uomo, nell’altro una donna in evidente stato di gravidanza. Chi sceglie di lasciar vivere? Oppure: a sinistra un individuo elegantemente vestito, a destra un clochard. Chi sceglie di lasciar vivere? Oppure: a sinistra un individuo di fenotipo europoide, a destra uno di fenotipo negroide. Chi sceglie di lasciar vivere?

Si tratta proprio di vere e proprie scelte, perchè a differenza di un guidatore umano che potrebbe sempre sostenere, nella circostanza, di avere perso la testa e non aver avuto tempo di ragionare, e avere sterzato a caso uccidendo per fatalità l’uno o l’altro passante, un software agisce sempre in modo deterministico, sulla base di regole e criteri non casuali ma fissati direttamente o indirettamente da un programmatore.

È vero che i sistemi software che fanno uso di tecniche di intelligenza artificiale hanno un loro percorso di apprendimento, attraverso l’esperienza, che li fa quasi assomigliare a degli individui con delle specificità ben precise e che possono differire dal sistema appena attivato in fabbrica con zero esperienza; tuttavia i meta-criteri con i quali il sistema raccoglie, filtra e sceglie l’esperienza e progressivamente fissa i criteri del proprio futuro comportamento sono stati, quelli sì, fissati a tavolino da chi ha concepito e realizzato il programma, o da chi ne ha configurato le opzioni (alcune delle quali potrebbero essere regolabili anche dall’utente).

Chi è il responsabile in caso di incidenti di auto a guida autonoma?

È quindi da considerarsi responsabile chi ha sviluppato quel software? L’assicurazione della vittima, o la magistratura inquirente, riterranno responsabile il guidatore perché non è intervenuto? O il proprietario dell’auto perché comunque si assume che risponda sempre lui di quello che l’auto fa, anche se a bordo (non si può nemmeno più dire “alla guida” visto che a guidare è l’auto) c’è qualcun altro? O il produttore del sistema di guida autonoma perché ha programmato, direttamente o indirettamente, criteri di scelta che hanno portato alla morte di una determinata persona, sacrificandola per salvarne un’altra in base a tali criteri?

Oppure: supponiamo che il software di guida autonoma sia “configurabile”, per esempio su come comportarsi nel primo caso: “salvo gli occupanti o salvo i pedoni”. Può essere incriminato un passeggero di auto a guida autonoma che prima di partire per un viaggio sceglie consapevolmente l’opzione “salvare a ogni costo gli occupanti del veicolo” causando così una strage di pedoni nel caso di un investimento multiplo, che si sarebbe potuto evitare facendo una manovra che avrebbe messo a rischio la vita dei passeggeri?

Ho a bordo dei passeggeri non appartenenti alla mia famiglia: per esempio un amico e suo figlio piccolo. Ho regolato l’auto per salvare i passanti anche a costo di mettere a repentaglio gli occupanti. Si presenta all’improvviso un possibile incidente contro pedoni e l’auto si porta fuori strada per salvarli. In effetti li salva, ma l’auto cappotta e dei tre occupanti ha la peggio il figlio del mio amico. Quest’ultimo mi farà causa perchè ho impostato dei parametri di guida che hanno sì salvato dei terzi, ma al costo della vita di suo figlio che stava a bordo? La mia assicurazione gli pagherà un risarcimento per una mia scelta consapevole e lucida di quella opzione di configurazione (e non per un mio errore umano accaduto nei pochi istanti di marasma dell’imminenza dell’incidente)?

Come si comporteranno le assicurazioni con i veicoli a guida autonoma

C’è molta differenza tra una assicurazione per un rischio di danni provocati per errore involontario e una per danni provocati per una deliberata scelta che, al momento in cui la si è fatta, si sapeva avrebbe potuto provocare delle conseguenze prevedibili e molto rilevanti. Tant’è vero che nel mondo attuale con guidatori umani e assicurazione RCA classica, in caso di sinistro provocato da guidatore che non si è attenuto al codice della strada o che guidava un’auto non in regola con le leggi e regolamenti (revisione non fatta, gomme lisce, modifiche non omologate, patente non valida..) o che guidava ubriaco e/o drogato, l’assicurazione intanto paga il danneggiato, ma poi può rivalersi in tutto o in parte sull’assicurato perchè responsabile di dolo o colpa.

Se quindi l’aver impostato nel sistema di guida autonoma dei parametri di configurazione “poco protettivi” nei confronti di terzi (trasportati o a terra), e si verifica effettivamente un sinistro con danni subiti da parte di questi terzi, l’assicurazione li dovrà pagare, ma è immaginabile che poi potrà eccepire che il guidatore ha di fatto causato tali danni in forza delle scelte di configurazione da lui freddamente e consapevolmente fatte.

D’ora in poi prima di partire per un viaggio sulla mia auto con passeggeri a bordo li dovrò informare di quali politiche di guida ho impostato sul mio sistema di guida autonoma, e dovrò fargli firmare una liberatoria in cui affermano di conoscerli e di accettarne le conseguenze, e rinunciare a ogni rivalsa, in caso di incidente? E se salgo su un taxi a guida autonoma, prima di partire ho diritto di chiedere come è impostato il sistema per decidere se mi sta bene oppure no?

Dovendo assicurare un’auto a guida autonoma preferirò una polizza in cui l’impresa rinuncia alla rivalsa qualunque sia l’impostazione da me data ai parametri regolabili, in quanto si ritiene che a condizione di rimanere entro i limiti di progetto, seppur personalizzando il comportamento con i parametri, l’utilizzatore sia affrancato da qualunque responsabilità che quindi andrà casomai addossata ai programmatori? Allora il criterio di scelta nell’acquisto dell’auto sarà di preferire quei costruttori che rinunciano alla rivalsa contro il proprietario dell’auto in caso di contenzioso assicurativo per un incidente che si suppone essere stato causato in tutto o in parte dalle sue scelte di configurazione del sistema a guida autonoma?

Faccio un viaggio internazionale con un’auto a guida autonoma. Come faccio a conoscere esattamente il diverso orientamento legislativo e giudiziario del Paese che sto attraversando rispetto a questioni di questo tipo? Al passaggio di confine dovrò riconfigurare i criteri di guida imposti al sistema di guida autonoma per adeguarli alla legge del territorio in cui sto entrando?

Il mondo della guida autonoma si arricchisce così di molti e inquietanti risvolti legali, se possibile ancora più complicati e preoccupanti di quelli tecnici.

Noi meditiamo, voi meditate. E intanto, mettete un like alla pagina facebook di GreenStart e buona guida autonoma a tutti!


Questa mailing list usa Mailchimp. Iscrivendoti ad una o più liste, contestualmente dichiari di aderire ai suoi principi di privacy e ai termini d'uso.

In ottemperanza al Gdpr, Regolamento UE 2016/675 sui dati personali, ti garantiamo che i tuoi dati saranno usati esclusivamente per l’invio di newsletter e inviti alle nostre attività e non verranno condivisi con terze parti.

4 COMMENTI

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here