www.giuseppelazzara.it
Introduzione
Il mercato delle automobili è stato uno dei primi a risentire della concorrenza
mondiale dovuta alla globalizzazione. Per mantenere le vendite o per aumentare i
profitti è stato necessario che ogni casa produttrice fornisse come accessori di base
una parte di elettronica più o meno avanzata.
Nell’era in cui l’hi-tech traina lo sviluppo, l’utilizzo dell’elettronica in ambito
automotive, oltre a rendere il “prodotto” più appetibile al cliente, serve ad aumentare le
prestazioni contenendo i costi con particolare attenzione alla sicurezza stradale e alle
emissioni inquinanti in pieno rispetto delle norme vigenti.
Negli ultimi anni si è passati da un controllo meccanico dell’automobile a un
controllo e supporto computerizzato. Basti pensare a sistemi complessi come la
lettura digitale dei segnali stradali, sistemi di Park Assist, Cruise Control oppure a
sistemi più comuni come i controlli al volante, ESP (controllo elettronico della
stabilità), ABS (Sistema Antibloccaggio) ecc.
Il computer di bordo, più comunemente conosciuto come “centralina”, è la
parte “intelligente” del veicolo che si occupa di interrogare i vari sensori distribuiti su
un bus, noto come CAN-bus (Controller Area Network), e di agire su dispositivi
attuatori dopo aver letto i valori dei parametri di funzionamento restituiti. Per le sue
caratteristiche strategiche questa diventa anche il riferimento principale per la
diagnostica che avviene attraverso l’interfaccia standard OBD-II (On-Board Diagnostics
II).
I dati prelevati dalla centralina attraverso l’interfaccia OBD-II possono essere
utilizzati per molteplici applicazioni tra cui:
Manutenzione preventiva del veicolo;
Applicazioni ITS (Intelligent Transportation Systems).
DACARTS: Data Acquisitions from CAN-bus and Opportunistic Transfer
www.giuseppelazzara.it
10
Infatti, se si pensa alle dotazioni del parco veicoli delle forze militari e
paramilitari, nonché delle aziende di trasporto pubblico, risulta alquanto difficile
effettuare della manutenzione preventiva e tempestiva sui singoli mezzi anche perché
ciò significa un fermo forzato in officina di eventuali veicoli in ottimo stato di
funzionamento. Nella maggior parte dei casi, quindi, ci si limita a riparare i guasti con
le relative conseguenze sui costi.
Di maggiore importanza è il fatto che la Commissione Europea definisce ruolo
centrale e decisivo per l’innovazione la garanzia di una mobilità sostenibile, efficiente
e competitiva. In particolar modo sono evidenziati contesti critici quali la
congestione del traffico sulle strade, con una spesa annua di circa l’1,5% del PIL
dell’UE, le emissioni inquinanti dovute ai trasporti nel loro complesso, gli incidenti
dovuti alla circolazione stradale. Queste criticità destano sempre maggiori
preoccupazioni in quanto, secondo le previsioni, fino al 2020 il trasporto di merci su
gomma dovrebbe crescere del 50% e quello passeggeri del 35%. È quindi necessario
mettere in campo interventi diretti a rendere il trasporto di merci e persone: (i) più
ecologico, (ii) più efficiente, dove "efficiente" implica anche l'esigenza di un minor
consumo d'energia, (iii) più sicuro.
E’ comunque chiaro che un approccio di tipo convenzionale come lo sviluppo
di nuove infrastrutture, non produrrà i risultati necessari a breve termine. Vi è la
chiara necessità di soluzioni autenticamente innovative, tali da realizzare i rapidi
progressi imposti dall’urgenza dei problemi che siamo chiamati a risolvere.
Con il seguente elaborato si è presa in considerazione la possibilità di realizzare
una piattaforma ai fini di trasferire virtualmente la manutenzione preventiva
dall’officina meccanica agli uffici tecnici, presentando i dati diagnostici in real-time,
tramite un’applicazione web, a un’opportuna equipe con profonda conoscenza
meccanica ed elettronica che valuterà lo “stato di salute” dell’automobile e deciderà
sugli interventi da intraprendere. Inoltre, s’intende contribuire ad accelerare la
realizzazione di sistemi di trasporto intelligente, ad esempio trasferendo i dati sui
veicoli acquisiti dalla centralina a centri ITS remoti ai fini dell’implementazione di
opportuni algoritmi di instradamento del traffico, di pianificazione semaforica e per il
calcolo di statistiche sul trasporto su gomma..
Per realizzare entrambi gli obiettivi risultano cruciali le seguenti operazioni: (i)
l’efficiente acquisizione dei dati forniti dalla rete CAN-bus a bordo veicolo (ii) e la
loro successiva trasmissione in remoto. Per quest’ultima operazione si è deciso di puntare
sulla popolarità e l’affidabilità degli smartphone, servendosi di una delle interfacce di
rete messe a disposizione dal dispositivo. In particolare, la scelta dell’interfaccia
utilizzata avviene mediante un algoritmo implementato ad-hoc che preferirà quella
Introduzione
www.giuseppelazzara.it
11
più opportuna, minimizzando i costi di connessione, ma soddisfacendo al tempo
stesso eventuali requisiti sui dati, che possono esibire priorità diverse.
Dopo una prima fase di studio teorico e di fattibilità si è realizzato un
prototipo, denominato DACARTS – Data Acquisition from CAn-bus and oppoRtunistic
TranSfer, che supporta le seguenti funzionalità principali:
Interfaccia per la lettura dati dal veicolo;
Comunicazione tra interfaccia veicolo e smartphone;
Trasferimento dati opportunistico dallo smartphone alla centrale
operativa;
Disponibilità dei dati su server per indagini statistiche;
Inizialmente, per meglio comprendere il lavoro effettuato, verranno fornite
delle nozioni basilari sulla rete CAN-bus ed i protocolli utilizzati in ambito automotive
con i quali è implementata la comunicazione tra i sensori intra-veicolo.
In seguito, verranno descritte le piattaforme hardware e software utilizzate.
Come si vedrà, l’interesse si è focalizzato su prodotti Open-Source con particolare
attenzione all’affidabilità degli stessi e al trend di utilizzo. Per questo, la scelta è
ricaduta sulla piattaforma hardware Arduino e sul sistema operativo Android. Il
connubio tra i due è particolarmente rafforzato dalla conferenza di maggio 2011
tenuta da Google Inc. in cui sono state presentate le Android Open Accessory
Development Kit (ADK), cioè un kit di sviluppo basato su Arduino e dedicato alla
produzione di accessori per Android.
Dopo la descrizione delle motivazioni che hanno portato alla concretizzazione
dell’elaborato e delle relative scelte intraprese, sarà presentato il prototipo hardware
realizzato nelle diverse fasi di sviluppo e saranno descritte le funzionalità delle
applicazioni implementate e verificate nei test-bed condotti.
www.giuseppelazzara.it
1.
Standard per comunicazioni intraveicolo: Il
protocollo CAN-bus
Nel seguente capitolo, dopo una breve introduzione al protocollo CAN-bus, saranno trattate le
caratteristiche che hanno permesso la sua rapida diffusione a tal punto da divenire standard
internazionale (ISO 11898) con diverse evoluzioni. Sarà illustrato lo stack protocollare e le
specifiche del protocollo CAN 2.0 fornendo una panoramica sulle tipologie di pacchetto utilizzate,
con particolare attenzione all’ambito automobilistico per cui è nato. Infine sarà descritto lo standard
OBD-II utilizzato per le comunicazioni tra il CAN-bus e dispositivi esterni.
1.1. Introduzione al protocollo CAN-bus
Il Controller Area Network (CAN) [1] è un protocollo di comunicazione
seriale in grado di gestire con elevata efficienza e affidabilità sistemi di controllo
distribuiti di tipo real-time.
Esso è stato introdotto dalla BOSCH [2] nei primi anni ’80 per consentire la
comunicazione fra le Unità di Controllo Elettronico (Engine Control Unit, ECU)
montate su un autoveicolo, ad esempio Antilock Braking System (ABS), Electronic
Stability Programby (ESP), Traction Control, ecc. Inoltre, ha guadagnato ampio consenso
anche per applicazioni robotiche medicali, domotiche e nel campo dell’automazione
industriale, dove la forte presenza di interferenze elettromagnetiche e i cablaggi su
lunghe distanze non rendono semplice la comunicazione tra dispositivi elettronici
intelligenti.
Come è possibile osservare in Figura 1.1.1 negli ultimi venti anni, in ambito
automobilistico, si è investito molto sulla sicurezza attiva Figura 1.1.2 (b) a scapito di
DACARTS: Data Acquisitions from CAN-bus and Opportunistic Transfer
www.giuseppelazzara.it
14
quella passiva Figura 1.1.2 (a), per scongiurare il pericolo di incidenti, e sul comfort
del conducente.
Per far ciò si è ricorso a sistemi elettronici avanzati che supportano
conducente durante la guida. Ad esempio, nei passati sistemi di guida meccanici, in
condizioni di instabilità il conducente doveva intervenire in modo appropriato, in
base alla propria esperienza di guida, per controllare il mezzo. Oggi, invece, i
dispositivi elettronici permettono di affrontare la perdita di controllo senza che il
guidatore avverta la necessità di intervenire.
Figura 1.1.1 – Sistemi di sicurezza attiva e passiva nel passato nel futuro.
1. Standard per comunicazioni intraveicolo: Il protocollo CAN-bus
www.giuseppelazzara.it
15
(a) (b)
Figura 1.1.2 – (a) Test di sicurezza passiva. (b) Test, su strada, di sicurezza Attiva.
Questo ha portato a un aumento esponenziale dell’elettronica di bordo che oggi
rappresenta oltre il 25% del costo totale dell’autovettura. Inoltre, l’aggiunta dei
collegamenti, in gran parte punto-punto, ha originato un elevato ingombro e un
aumento sostanziale del peso del veicolo con conseguente incremento dei consumi.
Basti pensare come dal 1995 al 2002 si sia passati da circa 45 metri a più di 4
chilometri di cavi.
Con l’introduzione del protocollo CAN-BUS, la comunicazione punto-punto è
sostituita da un bus seriale realizzando una “Fieldbus Network”.
Figura 1.1.3 – Schematizzazione di una rete CAN-BUS impiegata in campo automotive.
DACARTS: Data Acquisitions from CAN-bus and Opportunistic Transfer
www.giuseppelazzara.it
16
Si ha, quindi, un’unica linea (bus) che percorre tutto il veicolo su cui sono
collegate tutte le interfacce e le centraline di comando.
In Figura 1.1.3 è possibile notare come la parte dell’elettronica che non ha
stringenti esigenze real-time, come il sistema di condizionamento, la chiusura
centralizzata, la regolazione elettrica dei sedili, è gestita dal bus sfruttando lo standard
ISO11519 [3] per velocità basse, mentre per il collegamento dei dispositivi con
stringenti vincoli temporali, quali i dispositivi di sicurezza, si fa uso del protocollo ad
alta velocità ISO11898 [4].
Con l’utilizzo del CAN-BUS, oltre a diminuire notevolmente il peso del veicolo
risparmiando oltre due chilometri di cavi, si riduce la complessità del cablaggio
iniziale e di eventuali espansioni come si evince dal confronto della Figura 1.1.4 con
la Figura 1.1.5.
Dal 2008 la Society of Automotive Engineers (SAE) [5] richiede che tutti gli
autoveicoli venduti negli Stati Uniti impieghino tale protocollo. Allo stesso modo in
Europa risulta il più utilizzato e tra qualche anno sarà l’unico.