39
C.A.A. C.A.A. (Computer Aided (Computer Aided Assembly) Assembly) Lab.I.C. (Laboratorio di Ingegneria della Conoscenza) Università di Milano - Bicocca In collaborazione con: I.T.I.A. - C.N.R. Zanussi

C.A.A. (Computer Aided Assembly)

  • Upload
    ayasha

  • View
    50

  • Download
    5

Embed Size (px)

DESCRIPTION

C.A.A. (Computer Aided Assembly). Lab.I.C. (Laboratorio di Ingegneria della Conoscenza) Università di Milano - Bicocca In collaborazione con: I.T.I.A. - C.N.R. Zanussi. Obiettivi di C.A.A. - PowerPoint PPT Presentation

Citation preview

Page 1: C.A.A.  (Computer Aided Assembly)

C.A.A. C.A.A. (Computer Aided Assembly)(Computer Aided Assembly)

Lab.I.C. (Laboratorio di Ingegneria della Conoscenza)

Università di Milano - Bicocca

In collaborazione con:– I.T.I.A. - C.N.R.– Zanussi

Page 2: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Obiettivi di C.A.A.Obiettivi di C.A.A.

Realizzazione di uno strumento di supporto alla selezione degli organi da presa esistenti o alla eventuale prima fase di progettazione di nuovi organi da presa.

Forma prototipale. Dominio circoscritto.

C.A.A.C.A.A.

Page 3: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Descrizione del progettoDescrizione del progetto

Committente: Zanussi. Ambito: assemblaggio di gruppi di

componenti del basamento lavabiancheria e del termostato frigorifero.

I casi applicativi scelti si posizionano nella famiglia dei pezzi medio-piccoli.

La linea di assemblaggio deve avere un altissimo indice di riconfigurabilità.

C.A.A.C.A.A.

Page 4: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Dominio di applicazioneDominio di applicazione

Assemblaggio automatico.Linea di assemblaggio.Cella di assemblaggio:

– robot;– componente da assemblare;– ambiente (processo).

C.A.A.C.A.A.

Page 5: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Architettura del SistemaArchitettura del Sistema

Sistema Basato sulla Conoscenza (realizzato a regole):– Rappresentazione della conoscenza:

regole di produzione;– Database;– Interfaccia utente;– Interfaccia di integrazione.

C.A.A.C.A.A.

Page 6: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Scelte tecnologicheScelte tecnologiche

Base della conoscenza:– Jess

Database:– Object Store

Interfaccia utente:– Java

Interfaccia di integrazione:– Web-based

C.A.A.C.A.A.

Page 7: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Team/RisorseTeam/Risorse

Componenti del team– Coordinatore: Stefania Bandini– Capo-progetto: Giuseppe Frisoni

– Sviluppatori: – Paolo Mereghetti– Alessandro Saporiti– Augusto Vezzaro

– Consulenza su architettura ed integrazione: Flavio De Paoli

Risorse– PC Pentium, Windows NT– PC Silicon Graphic presso ITIA

C.A.A.C.A.A.

Page 8: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Ciclo di vitaCiclo di vita

Studio di plausibilità:– analisi del dominio;– state of the art;– identificazione delle specifiche.

Acquisizione della conoscenza. Sviluppo del Dimostratore. Affinamento della conoscenza. Sviluppo del Prototipo. Installazione del Prototipo.

C.A.A.C.A.A.

Page 9: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

TempisticaTempistica

28 gennaio: consegna Dimostratore.28 febbraio: consegna Prototipo e installazione.

C.A.A.C.A.A.

Page 10: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Stato attualeStato attuale

Stato di avanzamento dei lavori al 14/01/2000:– come previsto: KB e Interfaccia;– avanti: DB. Siamo pronti a sviluppare.

C.A.A.C.A.A.

Page 11: C.A.A.  (Computer Aided Assembly)

Base della conoscenzaBase della conoscenza

Page 12: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Sistema espertoSistema esperto

FattiRegoleMotore inferenziale

Page 13: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Sistema esperto: motore inferenzialeSistema esperto: motore inferenziale

Tool – CLIPS (C Language Integrated Production System)– JESS (Java Expert System Shell)

JESS– Java

http://herzberg.ca.sandia.gov/jess

Jess 5.0 ver. b3

Page 14: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Architettura della base della Architettura della base della conoscenzaconoscenza

Regole – Suddivisione delle regole in sezioni

Fatti– Strutturazione ad oggetti

Page 15: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Suddivisione delle regoleSuddivisione delle regole

Determinazione della forma del polpastrello Determinazione della morfologia dell’organo Calcolo della forza di serraggio Verifica della resistenza di superficie di presa Scelta della tipologia di attuazione

Page 16: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

FattiFatti

morfologia

parametri

diti

attuazione

Organo da presa

Page 17: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Sviluppi futuri del sistemaSviluppi futuri del sistema

Java– compatibilità

Fatti : Modello ad oggetti – espandibilità

Page 18: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

OODBMS e Object StoreOODBMS e Object Store

Page 19: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Basi di dati a oggetti o classiche Basi di dati a oggetti o classiche relazionali?relazionali? I modelli di basi di dati tradizionali sono

adeguati per applicazioni di tipo gestionale ed amministrativo.

Difficoltà nel gestire dati tipici di applicazioni più complesse (es. CAD o dati multimediali), le basi di dati orientate agli oggetti sono nate per soddisfare le esigenze di tali applicazioni.

Page 20: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

L’approccio ad oggetti infatti offre la flessibilità necessaria non essendo limitato ai tipi di dato (il sistema dei tipi di dati e estendibile) e ai sistemi di query language tradizionali.

Gli OODBMS (Object Oriented Data Base Management System) in particolare permettono di gestire tipi di dati non strutturati (es. bitmap di immagini, lunghe stringhe di testo, disegni CAD) che saranno gestiti dall’applicazione ma la cui struttura non è nota al DBMS.

Basi di dati a oggetti o classiche Basi di dati a oggetti o classiche relazionali?relazionali?

Page 21: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Caratteristiche OODBMSCaratteristiche OODBMSnuovi concettinuovi concetti

Scompare il concetto di tabella e compare il concetto di collection.

Scompare il concetto di riga e compare quello di oggetto.

Si passa da una visione passiva a una visione attiva dei dati memorizzati.

La conoscenza diventa ‘viva’ e può cambiare il proprio stato rispondendo a ‘messaggi’ esterni. I primi ad usare questo approccio sono stati proprio gli sviluppatori di linguaggi per la rappresentazione della conoscenza.

Page 22: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

I sistemi di BDD tradizionali usano appositi comandi per l’inserimento persistente dei dati con le basi di dati a oggetti si usano due approcci:– persistenza automatica tramite il comado

new di calssi con proprietà estensionale.– persistenza esplicita attraverso un

apposito metodo che inserisce l’oggetto nella collection.

Caratteristiche OODBMSCaratteristiche OODBMSpersistenzapersistenza

Page 23: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Caratteristiche OODBMSCaratteristiche OODBMScancellazionecancellazione

Anche la cancellazione può essere:– esplicita tramite comado (problema per

l’integrità referenziale).– tramite garbage collector (assicura

l’integrità referenziale).

Page 24: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Object StoreObject Storecos’è?cos’è?

nato per lo sviluppo di OODBMS in C++ fornisce un’estensione del linguaggio che permette di gestire la persistenza dei dati.

attualmente è possibile sviluppare applicazioni anche in linguaggio Java.

permette di gestire non solo collection di oggetti ma anche associazioni unarie e binarie tra le collection garantendo quella stutturazione rigorosa e formale che è il punto di forza dei BDD relazionali.

Page 25: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

la persistenza non è una caratteristica automatica ma per creare collection persistenti devo creare una root di tipo persistente nella quale inserire gli oggetti.

L’integrità referenziale è garantita sulle associazioni permettendo anche propagazione delle cancellazioni.

OS fornisce un query language SQL-like per interrogare le collection di oggetti e aggiunge funzionalità tipiche per gli oggetti.

Object StoreObject Storecaratteristichecaratteristiche

Page 26: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Perchè Object StorePerchè Object Store

La nostra applicazione potrà trovarsi a dover gestire dati non strutturati come disegni CAD o VRML che possono essere gestiti in modo veramente efficente solo con un OODBMS.

Il sistema su cui dovrà operare il prodotto è distribuito e browser-based quindi la possibilità che Object Store da di poter utilizzare un linguaggio come Java ci permette di gestire in modo ottimale questa situazione.

Page 27: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

La possibilità di usare Java permette anche una coerenza degli strumenti di sviluppo dell’intera applicazione che facilità l’integrazione degli stessi e permette all’applicazione di avere una struttura più omogenea.

Perchè Object StorePerchè Object Store

Page 28: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Aspetti tecnici e formali Aspetti tecnici e formali sulla struttura dellasulla struttura della

base di datibase di dati

Page 29: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Componentenome - stringa

peso - float

zonePresaCilindriche -set (0,n) di oggetti ZonaCilindrica

zonePresaPiane - set (0,n)di oggetti ZonaPianazonePresaIrregolari - set (0,n) di oggetti ZonaIrregolare

ZonaPresacodice zona - stringa

delicatezza - enum. [++, +, -, --]

cRiduzione - float

distBaricentro - integer

distRettaApp - integer

cAttrito - float

forzaMaxRottura - float

forzaSerrAssemblaggio - float

forzaSerrTrasporto - float

forzaScelta - Float

distanzaSuperfici - Integer

areaAfferrata - float

ZonaCilindricaaltezza - integer

raggio - integer

angolo - integer

ZonaPianaaltezza - integer

larghezza - integer

singola - enum. [si, no]

ferromagnetica - enum. [si, no]

porosa - enum. [si, no]

ZonaIrregolareareaContatto - integer

PARTE COMPONENTE E ZONA DI PRESA

IS A IS A IS A

Page 30: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

OrganoPresa

attuazione - oggetto di tipo Attuazione

morfologia - oggetto di tipo Morfologia

diti - oggetto di tipo diti

forzaSerraggio - integer

corsa - integer

regolazioneForza - integer

cambioRapido - enumerazione [si, no]

Attuazione

nome - enum.

[elettrico, pneumatico, idraulico, elettropeumatico]

costo - enum. [++, +, -, --]

ingombro - enum. [++, +, -, --]

esplosivo - enum. [++, +, -, --]

peso - enum. [++, +, -, --]

pulito - enum. [++, +, -, --]

forza - enum. [++, +, -, --]

Morfologia

nome - enum. [tre_dita_autocentranti, tre_dita_indipendenti, due_dita_parallele, due_dita_angolari, magnete, ventose]

costo - enum. [++, +, -, --]

semplice - enum. [++, +, -, --]

posizionano - enum. [si, no]

peso - enum. [++, +, -, --]

Diti

nome - enum. [piatti, intaglio_a_V, intaglio_cilindrico, non_standard]

delicati - enum. [++, +, -, --]

duraturi - enum. [++, +, -, --]

preciso - enum. [++, +, -, --]

semplice - enum. [++, +, -, --]

TIPOLOGIA ORGANO PRESA

PART OF

PART OF

PART OF

Page 31: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Processo

accRobot - float

forzaInserimento - float

puliziaAmbiente - enum. [++, +, -, --]

sicurezzaAmbiente - enum. [++, +, -, --]

nome_componente - stringa

nome_organo_presa - stringa

PROCESSO

Page 32: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

SCHEMA ENTITA’ RELAZIONI

ZONA PRESACILINDRICA

POSSIEDE COMPONENTE

POSSIEDE

ZONA PRESAIRREGOLARE

ZONA PRESAPIANA

POSSIEDE

0

n

n

0

0

n

CONTESTUALE A PROCESSO

TIPOLOGIAORGANO PRESA

CONTESTUALE A

1

11

1

Page 33: C.A.A.  (Computer Aided Assembly)

Interfaccia di IntegrazioneInterfaccia di Integrazione

Page 34: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

ObbiettivoObbiettivo

Organizzazione e gestione della cooperazione di moduli Software.

Modulo Software

Modulo Software

Modulo Software

Modulo Software

Interfacciadi

Integrazione

Page 35: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Fase di Analisi e Fase DecisionaleFase di Analisi e Fase Decisionale Analisi dei moduli software:

– Funzione.– Tecnologie coinvolte.

Analisi dei vincoli imposti dall’End User:– Caratteristiche hardware.– Disponibilità hardware per fasi di implementazione e test.– Tempi di sviluppo.

Scelta dell’architettura.

Scelta del linguaggio di programmazione (fortemente dipendente dall’architettura).

Page 36: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Moduli SoftwareModuli Software Shell per lo sviluppo di Sistemi Basati sulla Conoscenza (Jess)

– Rule Based.– Interamente scritto in Java.– Esistono vesrioni per i principali Sistemi Operativi.

Database (Object Store)– Sviluppato su piattaforma Windows.– Basato su Classi di Oggetti (Java o C++).– (Non) Richiede applicazioni server per la sua gestione.

Interfaccia Utente– Permette la gestione dell’intero sistema.– Scritta in un linguaggio di programmazione di Alto Livello.– User Friendly.

Page 37: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Vincoli posti dall’End UserVincoli posti dall’End User

Database su piattaforma Windows e accesso dell’Utente da piattaforma Unix (Silicon).

Risorse temporali limitate per implementazione e testing del sistema su piattaforma Unix.

Vicinanza della Deadline del Progetto.

Page 38: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

Architettura propostaArchitettura proposta

Sistema basato su Tecnologie Web.

Database

Sistema Basatosulla

Conoscenza

Interfaccia Utente

ClientWeb Browser

Web ServerWith Java Servlet

Jess

Object StoreInterfacciadi

Integrazione

Page 39: C.A.A.  (Computer Aided Assembly)

14 Gennaio 2000

C.A.A.C.A.A.

La scelta di JavaLa scelta di Java

Facile integrazione fra i moduli.

Ampliamento delle funzionalità del Web Server con Servlets.

Creazione di interfacce utente User Friendly compatibili con i più comuni Web Browser (Netscape e Internet Explorer).