Ambiente integrato per lo sviluppo di strutture fuzzy : realizzazione di uno strumento CAD per la generazione automatica di codice per sistemi microprogrammati.

Slides:



Advertisements
Presentazioni simili
D. Talia - UNICAL 1. 1 Sistemi Operativi Domenico Talia Facoltà di Ingegneria Università della Calabria.
Advertisements

Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Tesi di Laurea in Ingegneria Elettronica Progetto, caratterizzazione e realizzazione di un sintetizzatore di frequenza basato su un approssimatore in logica.
1 Filtraggio di immagini digitali attraverso combinazione adattativa di filtri di Wiener e Rule Based Filter Facoltà di ingegneria Tesi di laurea in ingegneria.
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
Università degli studi di Roma “Tor Vergata” Progettazione e realizzazione di un sistema di test per memorie Flash in ambiente radiativo CANDIDATO Marco.
Elaborazione in tempo reale di immagini digitali attraverso tecniche fuzzy FACOLTA’ DI INGEGNERIA Tesi di Laurea in Ingegneria Elettronica Relatore Prof.
Tor Vergata Tor Vergata Liana Placitelli Implementazione Hardware e Software di un sistema di controllo PWM comandabile da remoto Relatore Prof. Bertazzoni.
13 gennaio Sistema di rilevazione delle temperature all’interno di Personal Computer Industriali Dipartimento di Ingegneria Elettronica SISTEMA.
“Progettazione ed implementazione di un sistema digitale di elaborazione vettoriale per trattamento dati di radar ottici a doppia modulazione di ampiezza”
VO-Neural Project e GRID Giovanni d’Angelo Dipartimento di Scienze Fisiche Università degli Studi di Napoli Federico II Martina Franca 12 – 23 Novembre.
Ing. Filomeno Viscido Formazione:
Viki: Smart Home Natural Language Interface Realizzazione di un’interfaccia in linguaggio naturale, senza grammatiche fisse, per l’automazione casalinga.
Piattaforma per la gestione di forniture basata su servizi web
Ingegnere elettronico
Ing. Christian Barberio
Analisi e miglioramento del processo di manutenzione elicotteri
Protocollo di trasmissione tramite tecnologia Barryvox
Filtri di vario genere: dove ?
Piattaforma per industrie stampaggio
IMPLEMENTAZIONE E CONVALIDA DI UN SOFTWARE PER LA GESTIONE DI PROCESSI E DOCUMENTI DI QUALITÀ IN AMBITO FARMACEUTICO Studente/i Relatore Correlatore Committente.
Linee guida Sci Club per realizzazione mini poster personalizzati
Uso di Unity per la Creazione di Giochi Educativi
Real-time 3D skeletal animation and mesh skinning
<Nome del gruppo di lavoro>
di Basi di Dati: Overview
EasyGraph Dynamic web-based dashboard
Dal problema al processo risolutivo
Uso di Unity per la Creazione di Giochi Educativi
Programmazione per la Musica | Adriano Baratè
Pic16f84 Assembly I/O.
Sistema di acquisizione audio tramite MEMS e riconoscimento vocale
Microcontrollori e microprocessori
Raccolta ed Analisi dei Requisiti nella Progettazione
Algoritmi e soluzioni di problemi
DIRIGERE L’INNOVAZIONE
Dal problema al processo risolutivo
Paradigma MVC Ing. Buttolo Marco.
UNIVERSITA’ DEGLI STUDI DI PALERMO SCUOLA POLITECNICA Dipartimento di Ingegneria Civile, Ambientale, Aerospaziale, dei Materiali (DICAM) Corso di Laurea.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Condivisione Documentazione Tecnica
Uso di Unity per la Creazione di Giochi Educativi
Metodi della progettazione industriale
Introduzione I microcontrollori.
Gestione Informatica dei Dati Aziendali Sistemi Informativi Gestionali
Corso di Ingegneria del Web A A Domenico Rosaci 1
Corso propedeutico base di informatica
Classe III A A.s – 2012 Programma di Informatica
Informatica - Prof. Gregorio Cosentino
Programmare.
Posta Elettronica Certificata
“Titolo della tesi” “Autore” “Relatore ed eventuale correlatore”
Progetto di ,34 € finanziato per ,49 € Risultati
Mille modi per immettere i periodici elettronici in ACNP
Corso di Laurea Specialistica/Magistrale in Farmacia
© 2007 SEI-Società Editrice Internazionale, Apogeo
Definizione di linguaggio di programmazione
Nome e numero del corso Docente Nomi dei membri del gruppo
TITOLO DEL BUSINESS PLAN
Inserire il Nome ed il Cognome
Programmazione e Laboratorio di Programmazione
Studente/i Relatore Correlatore Committente Carlo Blumer
Programmazione e Laboratorio di Programmazione
Corso di laurea in Infermieristica
Il nuovo scratch desktop
Corso di Laurea in Farmacia Dipartimento di Scienze del Farmaco
Algoritmi.
Progettazione di una base di dati
Candidato: Lidia Icardi
Corso di laurea in Ingegneria Elettronica
Transcript della presentazione:

Ambiente integrato per lo sviluppo di strutture fuzzy : realizzazione di uno strumento CAD per la generazione automatica di codice per sistemi microprogrammati. Relatore Correlatore Correlatore Prof. Gian Carlo Cardarilli Ing. M. Salmeri Ing. M.Re FACOLTÀ DI INGEGNERIA Tesi di Laurea in Ingegneria Elettronica Laureando Marco Sottilaro

Realizzazione di un GENERATORE di CODICE per microcontrollori all’interno del tool di sintesi di sistemi fuzzy Realizzazione di un GENERATORE di CODICE per microcontrollori all’interno del tool di sintesi di sistemi fuzzy OBIETTIVO : FSDT ( Fuzzy System Development Tool )

Svolgimento della tesi:  Microcontrollori in commercio (Hitachi, Microchip, Motorola, Atmel,…..)  Problemi legati alla generazione del codice  Esame dei tool di sviluppo per fuzzy logic in commercio  Realizzazione del “Fuzzy Code Generator” per FSDT  Analisi dei moduli di FSDT già realizzati

Descrizione sistema fuzzy Descrizione sistema fuzzy OTTIMIZZATORE SIMULATORE HDL CODE GENERATOR VHDL Verilog FSDT : Fuzzy System Development Tool

Descrizione sistema fuzzy Descrizione sistema fuzzy OTTIMIZZATORE SIMULATORE HDL CODE GENERATOR FSDT : Fuzzy System Development Tool AssemblerC / C++ FUZZY CODE GENERATOR

Microcontrollori:Microcontrollori:Flessibilità Risorse limitate  VHDL Verilog ASICs, FPGA: Ottime prestazioni Costosi, No Flessibili    Complesso   Istruction set specifico   Programmazione facilitata   Portabilità del codice   Controllo h/w complesso   Overhead in compilazione   Controllo diretto dell’hw   Ottimizzazione del codice  C / C++ Assembler FUZZY CODE GENERATOR HDL

Dove si usano i  C programmati in logica fuzzy ?   Controllo funzioni per macchine fotografiche, telecamere, auto, …   Auto-programmazione di elettrodomestici (lavatrici, lavastoviglie, …)   Reti neurali (Neuro-Fuzzy).   Controllo processi industriali (alternativi ai tradizionali PID).   Diagnosi mediche.   Trattamento immagini.   Sistemi di condizionamento dell’aria.   Nel campo finanziario Se il sistema deve compiere analisi “vicine” al pensiero umano al pensiero umano Se il sistema deve compiere analisi “vicine” al pensiero umano al pensiero umano Se il processo da controllare non è non è facilmente modellizzabile Se il processo da controllare non è non è facilmente modellizzabile

Perché generare codice in modo automatico ?  Progettazione estesa a non esperti di programmazione  Tempi più brevi per sviluppo s/w (basso time-to-market)  Costi più bassi per la fase di progettazione  Certezza di ottenere un programma “corretto”  Certezza di avere: (1) un codice molto compatto (pochi kbytes di memoria) (2) risposta “real-time” del processo fuzzy

[ System] Inference=MINIMUM Defuzzification=SUGENO1 OutputMethod=COG Datatype=float Vars=3 Inputs=2 Outputs=1 Rules=15 [VarsIn] #Temperatura Molto_Bassa=(5,1),(10,0) Bassa=(5,0),(15,1),(25,0) Media=(15,0),(20,1),(30,1),(35,0) …………………… [Inputs] T=Temperatura U=Umidità [Outputs] AC=Aria_Condizionatore [Rules] IF (T=Molto_Bassa) (U=Bassa) THEN (AC=Molto_calda) …………………………………... “Fuzzy-description” file. Informazioni generali Algoritmi “fuzzy” Grandezze “fuzzy” Configurazione i/o Regole “fuzzy”

Fuzzy Graphic Editor Fuzzy Text Editor * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" * ****************************** ****************************** ******** Project: file: Fuzzification.c ****************************** ****************************** ********* #include "System.h" Descrizione sistema fuzzy Descrizione sistema fuzzy Generazione del codice per FSDT: Fuzzy Code Generator Altri moduli di FSDT (ottimizzatore, simulatore, HDL generator) FuzzyCodeFuzzyCode Microcontroller Support Tools Microcontroller Support Tools

Pacchetti “fuzzy” esistenti : (1) Generalmente l’utente non può agire direttamente sul formato del codice da generare (2) Ci sono edizioni dedicate a target specifici o con generazione di codice troppo generico Lo scopo di questa tesi non è stato quello di fornire semplicemente un nuovo software! Si sono volute introdurre NUOVE METODOLOGIE nel campo della sintesi per i sistemi in logica fuzzy su microcontrollori

Novità introdotte dal “Fuzzy Code Generator” :  Gli aggiornamenti della libreria non devono comportare la ricompilazione dell’intero tool  Realizzare una libreria per generare codice per diverse architetture dei microcontrollori in commercio  Flessibilità della struttura : possibilità di indicare il formato di codifica dei dati fuzzy in modo che l’utente possa “personalizzare” la libreria Il cambio di microcontrollore non deve comportare l’acquisto di un nuovo CAD

Novità introdotte dal “Fuzzy Code Generator” :  Gli aggiornamenti della libreria non devono comportare la ricompilazione dell’intero tool  Realizzare una libreria per generare codice per diverse architetture dei microcontrollori in commercio  Flessibilità della struttura : possibilità di indicare il formato di codifica dei dati fuzzy in modo che l’utente possa “personalizzare” la libreria L’utente può modificare le routine esistenti

Libreria codice fuzzy ESTERNA al modulo di generazione! Libreria codice fuzzy ESTERNA al modulo di generazione! Aggiornamenti della “Fuzzy-Library”: FuzzyLibraryFuzzyCodeGenerator NEW RICOMPILAZIONE dell’intero TOOL NEW

FUZZY CODE GENERATOR Motore di generazione FuzzyMain1.c Inference.c Fuzzification.c Aggiornamenti della “Fuzzy-Library”:  ANSI H8_3644 H8S_2144 NEW    (1) Inserire le nuove routine nella Fuzzy- Library F u z z y - L i b r a r y Riconoscimento automatico del nuovo elemento della libreria ! Riconoscimento automatico del nuovo elemento della libreria ! (2) Il modulo del motore di generazione rimane invariato I FILE ALL’INTERNO delle“FOLDERs-LIBRARY” delle“FOLDERs-LIBRARY” è è Implementano i processi fuzzy è è Comandano le interfacce i/o hardware è è Indicano le modalità di codifica dei dati fuzzy

Implementazione dei dati fuzzy: OBIETTIVO : consentire di scegliere nuove modalità di “traduzione” dei dati fuzzy nel codice OBIETTIVO : consentire di scegliere nuove modalità di “traduzione” dei dati fuzzy nel codice Negli altri pacchetti l’utente può intervenire in modo limitato su questa operazione SCOPO : Personalizzazione delle routine Introduzione di un linguaggio descrittivo per poter indicare al “Fuzzy Code Generator” il tipo di implementazione che l’utente predilige

Fuzzy Code Generator Generator

Variables Membership functions Membership functions Fuzzy Graphic Editor

Input / Output Ruleseditor Fuzzy Graphic Editor

Fuzzy FuzzyTextEditor TextEditor

Sviluppi futuri :  Estensione della Fuzzy Library  Spinta verso una maggiore flessibilità  Introduzione in FSDT di moduli per il debugging in sintonia con i tool di sviluppo dei  controllori Conclusioni :  Semplificazione delle operazioni da effettuare  Introduzione di nuove metodologie di sintesi