Capitolo 1 La metodologia Platform-Based Design
1.1 Vincoli del flusso di progettazione nell’industria
automobilistica
7
1.2 I principi alla base della metodologia Platform-
Based Design
7
1.3 Progettazione per composizione al livello delle
operazioni
15
1.4 Strategie di controllo e modello astratto di
implementazione
17
6
1. LA METODOLOGIA PLATFORM-BASED DESIGN
1.1 Vincoli del flusso di progettazione nell’industria automobilistica
La progettazione di algoritmi di controllo nel settore automobilistico sta diventando
molto complessa poiché sta crescendo il livello di prestazioni richieste. Una metodologia di
progetto che rispetta le specifiche riducendo il tempo di progettazione ed i costi deve limitare lo
spazio di esplorazione delle possibili soluzioni del problema. Questo tipo di approccio è valido
sia per la parte software che per la parte hardware del progetto.
I costi sono classificabili in 2 categorie:
¾ costi di produzione: i costi di produzione dipendono primariamente dall’hardware
utilizzato; le prestazioni dell’hardware crescono con il costo dello stesso; utilizzare
hardware meno costoso (a parità di prestazioni del dispositivo da progettare) è la scelta
migliore per ridurre questo tipo di costo. E’ quindi importante capire come suddividere le
prestazioni tra i vari componenti in modo da ridurre i costi rispettando le prestazioni del
prodotto progettato;
¾ costi di progettazione: i costi di progettazione principali sono: formalizzazione requisiti
cliente, modellistica, sintesi del controllore, validazione funzionale del controllore,
prototipizzazione, realizzazione sw, progettazione hw, validazione per emulazione, test
hardware-in-the-loop, prove sperimentali, calibrazione prodotto.
1.2 I principi alla base della metodologia Platform-Based Design
I principi che stanno alla base della metodologia Platform-Based design sono:
¾ applicare un approccio meeting in the middle
¾ utilizzo di piattaforme
Il flusso di progettazione è diviso in livelli di astrazione, ogni livello è descritto attraverso
una piattaforma.
Le piattaforme sono definite come livelli di astrazione che facilitano un numero di possibili
raffinamenti in un successivo livello di astrazione (piattaforma) nel flusso di progettazione. I
livelli di astrazione isolano la progettazione dai dettagli di più basso livello, ma ne fanno
trasparire gli effetti. Ogni piattaforma può essere parametrizzata; scegliendo una piattaforma ed
un valore per ogni parametro viene definita un’istanza di piattaforma.
Nella pratica corrente la progettazione avviene attraverso un approccio botton-up: fissata
l’architettura dell’hardware viene costruito il software che rispetta le richieste del cliente. Con
questo approccio viene creato un software strettamente dipendente dalla struttura hardware
scelta. Il limite di questa metodologia di progettazione è la non certezza di soddisfare le
specifiche utilizzando le soluzioni progettate ai livelli sottostanti. La metodologia opposta è la
top-down: il sistema di controllo viene progettato attraverso astrazione e poi trasformato fino ad
ottenere un codice adatto ad un micro-controllore. L’ultimo passo è scegliere la struttura
hardware adatta al software creato. Questa metodologia permette di creare un software
indipendente dalla piattaforma hardware che poi verrà utilizzata (durante la progettazione viene
supposto di avere a disposizione tutto quello che serve nei livelli inferiori). Il limite di questa
soluzione è l’impossibilità di riutilizzare soluzioni progettate precedentemente e il non controllo
dei costi durante il flusso di progetto.
La progettazione platform-based si basa sul concetto di meeting-in-the-middle, cioè
successivi raffinamenti di specifiche (informazioni di alto livello) si incontrano con modelli
astratti di possibili implementazioni (informazioni di basso livello).
7
Figura 1.2.1 - Stack di piattaforma
Il processo di progettazione è stato quindi ridefinito in accordo ai seguenti principi:
¾ le specifiche sono stabilite ad un alto livello di astrazione e sono indipendenti dalle
decisioni di implementazione;
¾ gli algoritmi di controllo sono progettati verificandone le caratteristiche di correttezza ed
ottimalità attraverso strumenti matematici;
¾ la rappresentazione astratta della progettazione è mappata in un’architettura utilizzando
tecniche di stima che guidano il processo di selezione;
¾ la scelta dell’architettura più adatta al prodotto è fatta ottimizzando i costi, la
realizzabilità e la velocità di realizzazione.
Il riutilizzo di algoritmi, software e dispositivi progettati precedentemente e la capacità di
prendere decisioni nei primi istanti di progetto sono i punti chiave di questa metodologia.
I livelli di astrazione individuati sono 5:
¾ livello di sistema: il sistema “autovettura” (o “motoveicolo”) è visto come un sistema che
converte i comandi del guidatore nel moto del veicolo ed altre uscite di interesse
(emissioni inquinanti e consumi).
¾ livello di funzione: per diminuire la complessità del problema, viene effettuata una
decomposizione del sistema in sottosistemi chiamati funzioni.
¾ livello di operazione: effettuato il processo di decomposizione funzionale, ogni
sottoproblema deve essere risolto rispettando i suoi vincoli ed obiettivi. Ogni soluzione
del sottoproblema è espressa in termini di algoritmi elementari (e loro composizione)
chiamati operazioni.
¾ livello di architettura: le operazioni sono definite in maniera astratta e non collegate
direttamente al dispositivo fisico. Al livello di architettura sono determinate le
interconnessioni di componenti hardware e software che implementano una o più
operazioni.
¾ livello di componente: questo livello include la realizzazione delle componenti specificate
al livello superiore, secondo le metodologie canoniche dei diversi domini applicativi.
8
I livelli di operazione ed architettura sono fortemente interagenti: l’algoritmo di controllo
ha ovvie ripercussioni sull’architettura hardware scelta e viceversa.
Il processo di progettazione (mostrato in figura 1.2.1) consiste quindi in un insieme di
successivi raffinamenti dove le specifiche di progetto e la soluzione proposta incontrano i
dettagli dei livelli inferiori (mascherati utilizzando le piattaforme).
Nei seguenti paragrafi vengono forniti maggiori dettagli sui 4 livelli più alti (il livello
componente non è stato trattato poiché ingloba metodologie canoniche dei diversi domini
applicativi).
1.2.1 Livello di sistema
A questo livello le specifiche sono catturate ed analizzate. Il sistema “autovettura” (o
“motoveicolo”) è visto come un sistema che converte i comandi del guidatore nel moto del
veicolo ed altre uscite di interesse (emissioni inquinanti e consumi). A queste uscite sono
assegnati vincoli e sono definite funzioni obiettivo per determinare la qualità del prodotto finale.
Lo scopo è quello di progettare un controllore che rispetti i vincoli forniti (a questo livello) dal
cliente.
Una possibile metodologia di cattura di specifiche si basa sull’utilizzo di un modello
ibrido (figura 1.2.1.1).
Figura 1.2.1.1 - Modello ibrido per la cattura delle specifiche
Gli stati di più alto livello della macchina a stati finiti (FSM) corrispondono ai differenti stati del
motore. Le transizioni sono determinate dalle azioni del guidatore o dalle condizioni del motore.
Ogni regione di lavoro è caratterizzata da un insieme di vincoli rappresentanti i requisiti di
prestazione (come comfort, sicurezza, emissioni inquinanti e acustiche, funzionali di costo che
descrivono il comportamento del sistema controllato). Il sistema controllato è rappresentato da
9
un modello che include equazioni differenziali ordinarie e componenti discreti. Il controllore
deve far evolvere il sistema in accordo con le specifiche descritte nella FSM.
Segue una breve descrizione della FSM di figura 1.2.1.1. Questa macchina a stati finiti è
stata elaborata per applicazioni automobilistiche e quindi più complesse (a causa dei vincoli più
stringenti richiesti dal cliente e dalla maggiore complessità dell’impianto da controllare). Per il
settore moto è sufficiente rimuovere (o semplificare) gli stati ed i vincoli non necessari.
Lo stato iniziale è quello di STOP che corrisponde al motore spento. Da questo stato, il guidatore
causa la transizione allo stato di STARTUP attraverso il comando di avviamento (segnale
etichettato come KEY). Dallo stato di STARTUP la FSM evolve verso lo stato di IDLE se il
segnale GAS PEDAL vale 0 (il pedale del gas non è premuto), altrimenti entra nello stato RPM
TRACKING. Un possibile comportamento del sistema controllato nello stato di IDLE è il
seguente: la risultante delle forze agenti sul veicolo deve essere pari a 0 e la velocità di rotazione
dell’albero motore deve essere pari a 500 RPM con un’escursione massima di ±20 RPM. Deve
essere inoltre minimizzato il consumo di carburante. La risposta ad un carico aggiuntivo di 25
Nm deve avere un tempo di assestamento di 2 sec ed un’escursione massima di 40 RPM. Il
rapporto aria benzina deve avere una variazione massima del ±1‰ rispetto al valore
stechiometrico.
Nello stato RPM TRACKING, il numero di giri evolve in accordo con il segnale GAS PEDAL.
Quando la trasmissione è innestata la FSM passa nello stato di FORCE TRACKING. In questo
stato il motore deve fornire un profilo di coppia fissato e dipendente dal pedale del gas, la marcia
inserita ed il numero di giri. Devono inoltre essere rispettati vincoli sul consumo di benzina e sul
comfort. La FSM evolve nello stato FAST NEGATIVE FORCE TRANSIENT se il pedale del gas
è bruscamente rilasciato. In questo stato il riferimento è un comando a gradino e la legge di
evoluzione deve essere differente e privilegiare il comfort di marcia (attraverso un funzionale
molto rigoroso). Se non è presente il fly-by-wire (acceleratore elettronico) il funzionale deve
imporre un vincolo meno forte e diventa una funzione di costo. Quando il guidatore preme
nuovamente il pedale del gas il sistema evolve nuovamente nello stato di FORCE TRACKING.
Se il pedale del gas è completamente rilasciato ed il numero di RPM minimo è attuato, la FSM
evolve nello stato di IDLE WITH TRANSMISSION ON. In questo stato il veicolo evolve con un
numero di giri costante fino a che il pedale del gas (o il numero di giri) non comandino una
transizione nello stato FORCE TRACKING. Se il pedale del gas è premuto velocemente la
transizione avviene verso lo stato FAST POSITIVE FORCE TRACKING (questo stato è lo
speculare del FAST NEGATIVE FORCE TRANSIENT). Il profilo di coppia da seguire è un
gradino positivo e la legge di controllo deve tener conto dei vincoli di comfort e consumo. Se è
disponibile il cruise control è presente uno stato di SPEED TRACKING. Lo stato di STOP è
raggiunto se il guidatore spenge il motore utilizzando la chiave.
La FSM proposta descrive molto chiaramente il comportamento desiderato e su come
suddividere il problema in sottoproblemi. Questa metodologia di specifica del problema riduce la
complessità e la ridondanza del codice da produrre. La FSM è da considerarsi il modello di
riferimento per il sistema controllato. Oltretutto, la struttura della FSM è indipendente dal cliente
e dal modello di prodotto (devono essere modificati solamente i parametri di costo e di vincolo).
10
1.2.2 Livello di funzione
Per diminuire la complessità del problema, viene effettuata una decomposizione del
sistema in sottosistemi denominati funzioni. La scomposizione è utile se porta ad un processo di
progettazione indipendente per ogni componente. I vincoli e gli obiettivi globali devono essere
suddivisi in obiettivi e vincoli per ogni funzione. La determinazione di obiettivi e vincoli locali è
il risultato di un attento trade-off tra il rispettare le specifiche al livello di sistema e la facilità di
progettazione dei singoli componenti. La scomposizione è basata sul processo fisico di interesse.
Per il controllo motore, le variabili da controllare sono la quantità di comburente e combustibile
e l’istante di accensione mentre gli obiettivi ed i vincoli sono stabiliti in termini di gas combusti
prodotti dalla combustione e coppia motore. Il comportamento del veicolo è il risultato
dell’applicazione di una coppia motore alle ruote. Il motore, utilizzando un processo di
combustione, produce la coppia. Le emissioni allo scarico sono causate da un processo chimico
nel catalizzatore che opera sui gas prodotti dalla combustione. Il processo di combustione è
regolato dalla quantità di aria e benzina e dall’istante di accensione. Il rapporto tra aria e benzina
è il risultato di due processi ognuno dei quali determina la quantità di aria (e benzina) da
miscelare. Da questa semplice considerazione è facile dedurre che la generazione del moto e
delle emissioni è il risultato di una cascata di processi termodinamici-chimici-elettrici-meccanici
che possono essere controllati indipendentemente rispettando vincoli e obiettivi locali.
Concordati i vincoli e gli obiettivi a livello di sistema, è definita la struttura (a livello di
funzione) del sistema. La suddivisone è stata effettuata associando una funzione ad un
particolare processo fisico. Le funzioni individuate sono:
¾ comunicazione;
¾ generazione del moto;
¾ trattamento dei gas di scarico;
¾ combustione;
¾ accensione;
¾ formazione della miscela;
¾ gestione del carburante;
¾ gestione dell’aria;
¾ comunicazione;
¾ diagnosi;
¾ sicurezza.
Figura 1.2.2.1 - Funzioni e loro connessioni
11
Le interazioni tra le funzioni sono descritte dal grafo aciclico di figura 1.2.2.1. Gli archi
corrispondono alle variabili fisiche interne al sistema. I nodi di origine sono la generazione del
moto ed il trattamento dei gas di scarico; questi nodi sono responsabili delle interazioni del
sistema con l’ambiente e della guidabilità e sono soggetti a vincoli ed obiettivi. I nodi di
destinazione sono correlati con gli ingressi dell’impianto. Il grafico inverso rappresenta
l’interazione attuale dei processi fisici. Individuate le funzioni sono determinati i vincoli e gli
obiettivi locali. La scelta dei vincoli e degli obiettivi è molto delicata in quanto deve garantire la
possibilità di risolvere correttamente ed indipendentemente i problemi.
12