Real-time Linux nell Automazione e nella Robotica L esperienza del L.A.R.



Documenti analoghi
Approccio stratificato

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Sommario. Introduzione 1

Controllo di azionamenti elettrici con Real-Time Linux: dalla simulazione all implementazione

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

Creare una Rete Locale Lezione n. 1

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

PR novembre 2009 Software, controllo basato su PC Pagina 1 di 5

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE

Architettura di un sistema operativo

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Dispensa di Informatica I.1

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Automazione Industriale 4- Ingegneria del Software

Generazione Automatica di Asserzioni da Modelli di Specifica

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

FONDAMENTI di INFORMATICA L. Mezzalira

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Hardware delle reti LAN

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Introduzione alle misure con moduli multifunzione (DAQ)

Simulazione di macchina: analisi virtuale del comportamento cinematico. Elio Bergamaschi

Calcolatori Elettronici A a.a. 2008/2009

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Automazione Industriale (scheduling+mms) scheduling+mms.

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Architettura hardware

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Introduzione alla Virtualizzazione

fit-up), cioè ai problemi che si verificano all atto dell assemblaggio quando non si riescono a montare i diversi componenti del prodotto o quando il

La Gestione delle risorse Renato Agati

Elettronica dei Sistemi Programmabili

Sistemi operativi e reti A.A Lezione 2

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Architettura di un calcolatore

PREMESSA AUTOMAZIONE E FLESSIBILITA'

Progettazione e realizzazione di un manipolatore elettromeccanico

Sistemi operativi. Esempi di sistemi operativi

OCS Open Control System

Architetture Applicative

Corso di Informatica

Architetture Informatiche. Dal Mainframe al Personal Computer

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali

Luigi Piroddi

SOLUZIONI PER IL CONTROLLO DELLA QUALITA DELL ARIA NEGLI AMBIENTI CHIUSI

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010

Sistemi di Automazione Industriale

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Sistemi Operativi. Conclusioni e nuove frontiere

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET.

Informatica. Scopo della lezione

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

PowerSchedo. Un sistema di supporto alla decisione nel settore dell'oil&gas. For further information:

Il Sistema Operativo (1)

Architetture Informatiche. Dal Mainframe al Personal Computer

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative

Real Time Linux in Automazione e Robotica

Il sistema operativo TinyOS

Linux nel calcolo distribuito

CENTRALE UNICA DI SOCCORSO

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Introduzione all acquisizione Dati

Informatica e Telecomunicazioni

3. Introduzione all'internetworking

Per informazioni rivolgersi allo Studio:

MODULO 02. Iniziamo a usare il computer

B.P.S. Business Process Server ALLEGATO C10

Automazione Industriale

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Specifiche tecniche e funzionali del Sistema Orchestra

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

Sistemi Informativi e Sistemi ERP

UN ARCHITETTURA PER L INTERNET CALIBRATION Nuove opportunità di taratura e di diagnostica a distanza della strumentazione

introduzione I MICROCONTROLLORI

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

STRUTTURE DEI SISTEMI DI CALCOLO

esales Forza Ordini per Abbigliamento

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

uadro Soluzione software e hardware Per le rilevazione presenze Gestione Aziendale Fa quadrato attorno alla tua azienda

Laureando: Damiano Vittor. Relatore: Dott. Ing. Massimiliano Nolich

Corso di Sistemi di Elaborazione delle informazioni

Wi-Fi, la libertà di navigare in rete senza fili. Introduzione.

1. Introduzione. 2. Il Progetto

SOFTWARE PER LA RILEVAZIONE PRESENZE SUL WEB

Application note. CalBatt NomoStor per i sistemi di accumulo di energia

Liceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati

L a p i p at a taf a or o ma a p e p r e ga g r a an a t n ire e l ef e fici c en e za za e n e e n r e ge g t e ica Powered By

Business Consumer Solution. Il compagno ideale

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Transcript:

Real-time Linux nell Automazione e nella Robotica L esperienza del L.A.R. Alessandro Macchelli amacchelli@deis.unibo.it CASY (Center for Complex Automated Systems) LAR (Laboratorio di Automazione e Robotica) Dipartimento di Elettronica, Informatica e Sistemistica (DEIS), Università di Bologna viale Risorgimento 2, 40136 Bologna, Italia Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 1

Sommario introduzione sistemi operativi real-time (RTOS) RTOS & Open Source RTAI Linux, un po di storia e descrizione generale software e progetti OS per l automazione real time Linux al LAR personale coinvolto controllo di manipolatori (ViDet e Comau Smart 3-S) applicazioni di prototipazione rapida e controllo assi I/O e controllo assi avanzato il progetto OASYS conclusioni Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 2

Sistemi operativi real-time soft real time (SRT): un sistema SRT è caratterizzato dalla capacità di eseguire un task secondo uno scheduling desiderato in media hard real time (HRT): un sistema HTR è caratterizzato dalla capacità di eseguire un task secondo tempistiche prefissate, senza perdere deadlines e con latenze limitate, il cui livello dipende dalla particolare applicazione da gestire un esempio tipico di sistema HRT consiste in un sistema di controllo (computer) ed un sistema da controllare (plant) lo stato del plant misurato dal controllore deve essere consistente con lo stato attuale e l azione di controllo deve essere attuata in accordo con i tempi di campionamento secondo cui il l algoritmo di controllo è stato sviluppato un sistema HRT non può permettersi di utilizzare le performances medie per compensare i risultati nel caso peggiore Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 3

Sistemi operativi real-time generalmente prestazione HRT possono essere ottenute utilizzando CPU dedicate, come DSP e DSP-like microcontrollori latenza garantita dell ordine di pochi cicli di esecuzione le CPU general purposes (GPCPU) non sono (in principio) particolarmente adatte ad applicazioni HRT virtual memory memory management unit multi-level caches bus arbitration dovuto a sistemi di I/O intelligenti pipeline molto profonde bisogna rivedere la definizione di HRT da un punto di vista operativo e capire perchè e come le GPCPU possano essere utilizzate per questa classe di applicazioni (high performances MIMO controllers) caratterizzate da frequenze operative dell ordine dei 10kHz Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 4

Sistemi operativi real-time GPCPU: double precision FPU giga FLOPS (nelle CPU più recenti) frequenze operative superiori al GHz SMP in linea di principio possiedono la capacità di calcolo per poter implementare schemi di controllo molto complessi se l algoritmo di controllo fosse stabilmente caricato in memoria, ad una frequenza operativa di 10kHz presenterebbe una latenza di pochi microseondi il sistema di controllo deve anche: interagire con un operatore ricevere dati e/o comandi dall esterno visualizzare ed immagazzinare dati Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 5

Sistemi operativi real-time supponiamo che l algoritmo di controllo venga eseguito in cooperazione con un sistema multitasking preemptable jitter (nel caso peggiore) di 30 microsecondi (30% del periodo di campionamento) questo sistema non è HRT!!!...però, se tenessimo in conto delle caratteristiche del sistema da controllare, ci renderemmo conto che nel mondo reale la nostra applicazione funzionerebbe correttamente, così come quella in cui il controllore fosse eseguito da un processore dedicato le specifiche real-time devono essere messe in relazione con la larghezza di banda del sistema e solo indirettamente alla frequenza di campionamento Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 6

Sistemi operativi real-time la distinzione tra SRT ed HRT non è chiara se la classificazione di una applicazione è legata alla larghezza di banda del sistema, il passaggio da soft ad hard real time è legato alla frequenza di taglio non si ha un passaggio continuo da soft ad hard real-time, ma solo da larghezze di banda più o meno ampie dire che nelle applicazioni SRT le dealines debbano essere rispettate mediamente significa che la media è semplicemente un filtro passa basso accettabile per la banda a disposizione molti sistemi operativi real-time (RTOS) girano su GPCPU RTOS vengono generalmente pubblicizzati in base a tempistiche di switching e simili in reltà le loro performances sono una conseguenza delle CPU sulle quali funzionano e quindi non dipendono dai tempi di task switching, tempi di esecuzione delle istruzioni e latenza a parità di GPCPU, ciascun RTOS serio fornisce prestazioni soddisfacenti RTOS tutti uguali???? Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 7

RTOS & Open Source come scegliere un RTOS??? sicurezza e stabilità disponibilità e facilità d uso degli strumenti di sviluppo e dei programmi supporto costo in questo caso il software Open Source (OS) è una valida alternativa...inoltre: disponibilità del codice sorgente buone performance anche su GPCPU datate, come i Pentium, ma ancora utilizzate nelle applicazioni industriali Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 8

RTOS & Open Source è possibile ottenere HRT performance all interno dei sistemi operativi OS esistenti? BSD Linux... nessuno di questi ha caratteristiche RT! Linux: basso supporto API POSIX per le estensioni RT sistema operativo UNIX non preentable ottime prestazioni come server/desktop...in breve: nessun supporto RT!!...ma allo stesso tempo è un ottimo punto di partenza!! la disponibilità del codice sorgente e le potenzialità degli strumenti di sviluppo consentono di aggiungere agevolmente la possibilità di eseguire codice in HRT Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 9

RTOS & Open Source obbiettivo: aggiungere la possibilità di eseguire codice HRT in modo facile e a basso costo idea: modificare il kernel ufficiale di Linux in modo da evitare una interazione stretta tra processi HRT e non HRT permettendo allo stesso tempo la possibilità di comunicazione tra queste due linee di esecuzione separate questa struttura consente uno sviluppo facile, chiaro e robusto di applicazioni di controllo complesse la separazione dei mondi HRT e non HRT non è un vincolo, ma deve essere vista come una metodologia di sviluppo di software real-time RTAI Linux Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 10

RTAI Linux RTAI Linux è una delle varianti HRT di Linux più diffuse ed implementa una netta separazione tra applicativi HRT e non HRT fornendo allo stesso tempo un insieme completo di strumenti di comunicazione e sincronizzazione tra questi due mondi RTAI = Real Time Application Interface RTAI Linux nasce al Dipartimento di Ingegneria Aerospaziale del Politecnico di Milano nel 1996/97 per creare un sistema che fosse di supporto per una serie di attività di ricerca nell ambito del controllo di sistemi robotici flessibili, strutture spaziali e sistemi acustici il sistema doveva funzionare su standard PC a 32 bit e con schede di acquisizione standard attraverso un linguaggio di progammazione standard ad alto livello tutti dovevano essere in grado di utilizzarlo!! nel 1996/97 il software HRT girava sotto DOS oppure su schede DSP dedicate Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 11

RTAI Linux RTAI è integrato all interno di Linux tramite una patch al kernel e ad una serie di programmi aggiuntivi che forniscono a Linux capacità HRT architetture: INTEL x86, PowerPC, MIPS, StrongARM, Motorola Coldfire... RTAI modifica il kernel Linux installando un generico Real Time Hardware Abstraction Layer (RTHAL) che racchiude tutti i dati e funzioni time-critical in un unica struttura consentendo di catturare tutte le funzionalità che sono importanti per le applicazioni HRT modifica le funzioni, strutture dati e macro Linux in modo da utilizzarle per inizializzare RTHAL per le operazioni normali forza Linux ad utilizzare RTHAL il tutto con poche centinaia di linee di codice!! le funzionalità HRT vengono aggiunte attraverso una serie di moduli che vengono caricati nel kernel run-time; questi moduli si impossessano di tutti gli oggetti RTHAL e li emulano via software lasciando le funzionalità di Linux intatte sostituzione dell hardware interrupt flag con una variabile tutti gli interrupt di Linux, chiamate di sistema, interrrupt programmabili e contatori vengono intercettati solo i task HRT accedono all hardware ed hanno priorità maggiore di Linux Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 12

RTAI Linux data-flow in una applicazione RTAI-Linux User Process RT-SHMem RT-FIFO X-Window System Linux Kernel RT-Process Display Disk Network Periferal Device Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 13

Software OS per l Automazione OROCOS: progetto UE per lo sviluppo di software di controllo HRT e non HRT OS per la robotica e l automazione industriale in genere OROCOS = Open Robot Control Software applicazioni robotiche: LAAS Open Software for Autonomous Systems Robotics Toolbox RoboML (Robotic Markup Language) Carmen Modular Controller Architecture controllo RT ed acquisizione dati: RT-Linux/GPL, RTAI, Ecos, Ethernut, RTEMS Comedi MatPLC Real Time Lab Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 14

Software OS per l Automazione motion control and planning: LinuxCNC OSACA, Open System Architecture for Controls within Automation Systems (progetto UE) Open Modular Architecture Controls (OMAC) Motion Strategy Library strumenti di calcolo: Octave Scilab/Siconos Maxima altri strumenti: CORBA Blender Gnuplot notevoli possibilità per sviluppare del controllo con strumenti OS! Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 15

Personale LAR @RTAI-Linux professori ordinari: Claudio Melchiorri post-doc: Luigi Biagiotti Alessandro Macchelli studenti di Dottorato di Ricerca: Raffaella Carloni Nicola Diolaiti Gianluca Palli tesisti: 2 3 (in media) su progetti diversi Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 16

Attività @LAR...un po di storia presso il LAR-DEIS dell Università di Bologna sono in corso da diverso tempo ricerche per la definizione di ambienti sw per il controllo in tempo reale di sistemi robotici e più in generale di macchine automatiche queste attività hanno portato nel passato alla definizione di sistemi real-time basati su RTAI-Linux e allo sviluppo di ambienti per la prototipazione rapida di sistemi di controllo...negli ultimi anni: 2000: prima applicazione di RTAI-Linux alla robotica (ViDet) 2001: controllo del Comau SMART 3-S 2002: sviluppo di applicazioni client/server task robotici complessi (visione e grasping) e sviluppo della prima applicazione di motion control 2003: driver real time per sensore di forza e schede di I/O, sistema di telemanipolazione con ritorno di forza 2004: integrazione sistemi di calcolo ed RTAI-Linux e sviluppo di applicazioni di motion control (applicazione a problemi di grasping con UBHand III) Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 17

Attività @LAR ViDet progetto in collaborazione con Dip. di Matematica ed il Dip. di Meccanica sistema distribuito PC 1: controllo del dispositivo, interazione con l operatore, logging dei dati PC 2: riconoscimento/ricostruzione 3D della scena versione di RTAI utilizzata: 0.5!!! Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 18

Attività @LAR ViDet struttura del software: modulo di controllo: Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 19

Attività @LAR Considerazioni la struttura del software mette in evidenza una netta separazione tra gestione delle attività di controllo gestione degli eventi asincroni gli algoritmi di controllo sono moduli che vengono linkati al kernel run-time la comunicazione tra applicazioni in kernel space e user space avviene attraverso una serie di canali di comunicazione real-time FIFO aree di memoria condivisa (shared memory) la struttura è altamente generale e si presta a diverse generalizzazioni, sia per quanto riguarda la robotica che il controllo in generale Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 20

Attività @LAR Considerazioni struttura proposta da OROCOS: Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 21

Attività @LAR Comau SMART 3-S obiettivo...: sviluppo di un sistema aperto per il controllo di robot, modulare e a basso costo...e risultato: robot industriale Comau SMART 3-S su piattaforma RTAI-Linux cosa è possibile fare: tutto, ovvero... totale libertà nella scelta dell algoritmo di controllo interfacciamento del robot con dispositivi esterni (anche remoti) sistemi di visione, gripper intelligenti, teledidattica (in sviluppo) realizzazione di sistemi robotici per il completamento di task complessi inseguimento oggetti, grasping in presa ottima di oggetti qualunque, telemanipolazione con force-feedback Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 22

Attività @LAR Comau SMART 3-S descrizione del sistema: Comau SMART 3-S sistema di visione A.S.I. gripper quando è necessario la massima potenza di calcolo, ogni sistema è gestito da un diverso PC e lo scambio delle informazioni avviene via TCP/IP Comau SMART 3-S: manipolatore industriale a 6 g.d.l, con giunti rotoidali la posizione angolare dei giunti è misurata da resolver C3G-9000: controllore (ovvero: controllo del robot ed interfaccia uomo-macchina) ed unità di potenza per i motori Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 23

Attività @LAR Comau SMART 3-S per connettere il bus VME del C3G-9000 ed il bus ISA del PC vengono utilizzate una coppia di schede Bit3 ed un collegamento ad alta velocità è presente un area di memoria condivisa sulla scheda RBC che è accessibile da qualunque dispositivo collegato al bus VME un segnale di interrupt generato dal C3G-9000 è utilizzato per sincronizzare i sistemi Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 24

Attività @LAR Comau SMART 3-S open mode: il controllore viene utilizzato solo come interfaccia tra PC e robot tutti i test di sicurezza eseguiti dal C3G-9000 sono disabilitati Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 25

Attività @LAR Comau SMART 3-S comunicazione tra C3G-9000 e PC: Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 26

Attività @LAR Comau SMART 3-S struttura del software: Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 27

Attività @LAR Comau SMART 3-S modulo di comunicazione: è l unico modulo che ha accesso all area di memoria condivisa all interno della scheda RBC nel controllore C3G-9000 sull area di memoria condivisa: lettura delle sei posizioni di giunto scrittura dei set-point di corrente per i motori implementa la funzione di DRIVE ON/OFF in corrispondenza dell inerrupt di sincronizzazione, salva lo stato della FPU Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 28

Attività @LAR Comau SMART 3-S modulo di sicurezza: implementa i fine corsa software assoluti relativi alla configurazione attuale (utili nel momento in cui si testano nuovi algoritmi di controllo) limita le velocità di giunto controlla che nessun giunto sia bloccato controlla i valori dei set-point di corrente saturando, eventualmente, al valore massimo ammesso Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 29

Attività @LAR Comau SMART 3-S modulo di controllo: pianificazione della traiettoria nello spazio di giunto nello spazio operativo, tramite la cinematica inversa (si noti che il manipolatore non ha un polso sferico) controllo del manipolatore questo modulo cambia in funzione dell algoritmo di controllo che si desidera utilizzare schemi decentralizzati schemi centralizzati multi-variabile... Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 30

Attività @LAR Comau SMART 3-S applicazioni in user-space comunicano con il kernel-space tramite FIFO applicazioni user2robot: aiutano l utente a gestire il robot teach-pendant virtuale interfaccia joystick interfaccia mouse applicazioni di monitoraggio: monitorizzano e memorizzano lo stato del sistema e verificano il comportamento del controllore RT-Mon applicazioni application2robot: consentono ad applicativi esterni di comunicare con il robot e di sfruttarne le capacità in attività complesse applicazione client/server espansione delle potenzialità enorme!!! Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 31

Attività @LAR Comau SMART 3-S Comau+telecamera+gripper: Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 32

Attività @LAR Comau SMART 3-S controllo distribuito: interconnessione via Internet di due manipolatori robotici: master: Phantom slave: Comau SMART 3-S risultato atteso: sviluppo di un sistema di telemanipolazione con ritorno di forza con caratteristiche di trasparenza in 3D approcci possibili: applicazione client/server basata su CORBA (architettura Object Oriented ad alto livello per sistemi distribuiti) comunicazione via RTnet (protocollo di rete RT, utilizzabile con RTAI-Linux anche a livello kernel) Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 33

Attività @LAR Prototipazione rapida e controllo assi il problema iniziale...: verificare algoritmi di controllo complessi tramite routines di simulazione numerica esigenza di sviluppare concetti e strumenti CAD appositi...e la sua evoluzione: il processo di sviluppo richiede la codifica dell algoritmo e la sua verifica in condizioni reali di funzionamento sviluppo di schede elettroniche ad hoc e di veri e propri sistemi per la prototipazione rapida hardware proprietari molto costosi, sistemi abbastanza chiusi soluzione home-made: FastProt, sistema di prototipazione rapida sviluppato presso il LAR scheda DSP software per la gestione del real time e delle periferiche interfacce verso ambienti di simulazione e CACSD quali Matlab/Simulink. Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 34

Attività @LAR Prototipazione rapida e controllo assi obbiettivo: verificare sperimentalmente come l utilizzo di un opportuna piattaforma Hw/Sw possa accelerare il processo di sviluppo di un applicazione di controllo assi aspetto metodologico e pratico risultati pratici ottenuti: gestione di un sistema di 3 motori in moto coordinato (camme elettriche) su piattaforma RTLinux...ma non è il risultato più importante!! risultati metodologici: come passare da Simulink ad una applicazione autonoma con il minimo sforzo nello sviluppo del codice piattaforma PC con real time Linux + Matlab scheda di I/O (MultiQ-PCI) RTW e Glade per la generazione automatica del codice nuovo approccio per la prototipazione rapida Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 35

Attività @LAR Prototipazione rapida e controllo assi idea: mostrare come sia possibile passare da Matlab/Simulink, in cui gli schemi di controllo vengono simulati sul modello matematico del plant e successivamente testati sul sistema reale, ad una applicazione real-time stand-alone utilizzo combinato di: hardware: scheda di I/O senza DSP software: sistema operativo real-time e generatore automatico di codice in questo caso RTW vantaggio: il computer che viene utilizzato nella fase di studio e simulazione può divenire agevolmente anche il sistema che implementerà nella versione definitiva, o almeno nella fase di prototipo, l applicazione sviluppata descrizione del sistema: servomotore MiniMotor BLD 5606 (x3) motore brushless MiniMotor 2444 (x3) scheda I/O Quanser MultiQ-PCI (x1), con 16 ingressi analogici, 4 uscite analogiche, 6 ingressi per encoder e 48 canali digitali di I/O Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 36

Attività @LAR Prototipazione rapida e controllo assi il lavoro svolto può essere suddiviso in due fasi fondamentali: definizione e verifica sperimentale dell algoritmo di controllo realizzazione di una semplice applicazione a se stante per la gestione del setup...con il minimo sforzo in termini di scrittura del codice!! STEP 1: direttamente da Matlab/Simulink si è identificato il modello del motore simulato il controllore testato il controllore sul sistema reale il pacchetto Quanser mette a disposizione dei blocchi per interagire con la scheda di I/O RTW può essere configurato per generare codice HRT da esequire con real-time Linux si velocizza sviluppo ed ottimizzazione del controllore (per esempio: scelta della frequenza di campionamento ottimale) 500Hz 5kHz per anello di posizione e velocità Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 37

Attività @LAR Prototipazione rapida e controllo assi STEP 2: il controllore progettato nella fase precedente viene inserito in un sistema di gestione assi sufficientemente ampio da consentire controllo dell azionamento generazione traiettorie tracing dei dati il modulo di controllo è generato automaticamente da RTW a partire dallo schema Simulink l interfaccia grafica è generata in automatico attraverso Glade la comunicazione tra modulo di controllo ed interfaccia grafica è possibile una volta aperti una serie di canali IN_FIFO: riceve i comandi dal modulo di gestione OUT_FIFO: il modulo real-time invia il proprio stato al modulo utente TRACE-SAVE_SHM e TRACE-RT_SHMTRACE-SAVE_SHM: scambio di dati per il tracing real-time o la memorizzazione MOTION_SHM: traiettoria da percorrere Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 38

Attività @LAR Prototipazione rapida e controllo assi struttura del software: MOTION_SHM gen. traiettorie IN_FIFO placements mod. controllo OUT_FIFO save data TRACE-SAVE_SHM trace RT TRACE-RT_SHM mod. utente Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 39

Attività @LAR I/O e controllo assi avanzato lo sviluppo dell applicazione di controllo assi ha mostrato che la combinazione real-time Linux + scheda I/O + ambiente simulativo + generatore automatico di codice è sufficientemente flessibile e velocizza lo sviluppo di applicazioni di controllo passo successivo: sviluppo si un sistema di acquisizione dati ed elaborazione basato su piattaforma OS inserimento della scheda MultiQ-PCI (Sensoray 626) in un sistema più complesso e strutturato COMEDI (Linux Control and Measurement Device Interface) Comedi: insieme di driver per un schede di I/O implementati in modo da fornire funzionalità comuni Comedilib: insieme di librerie user-space che consentono di gesitire in modo unificato i diversi dispositivi di I/O Kcomedilib: come Comedilib, ma in kernel space e quindi adatti per lo sviluppo di codice HRT Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 40

Attività @LAR I/O e controllo assi avanzato il framework COMEDI consente di gestire in modo unificato un insieme di device di I/O, sia in user-space che in kernel-space esistono i blocchi funzionali per gestire le schede di I/O direttamente da Matlab/Simulink ed i template RTW per generare codice real-time in automatico esiste la possibilità di utilizzare Scilab/Sciconos/Syndex in combinazione con RTAI-Linux alternativa OS a Matlab & C.!! possiblità di integrazione anche con LabView!! scopo dell attività: creare un sistema di acquisizione ed elaborazione basato su strumenti OS generazione degli algoritmi di controllo per la UB-Hand III sistemi di controllo assi avanzati e sistemi di controlli distribuiti (RTAI-Lab) Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 41

Attività @LAR I/O e controllo assi avanzato UB-Hand III design ispirato alla mano umana, con abbandono della classica struttura ad esoscheletro per adottarne una nuova ad endoscheletro sviluppo di struttura articolata interna, skeleton insieme di elementi di trasmissione copertura esterna (soft tissues) che racchiude l apparato sensoristico e gioca un ruolo cruciale nell interazione con gli oggetti sistema a diversi gradi di libertà, attuato da motori in CC è necessario controllare e coordinare numerosi motori per effettuare operazioni di presa e manipolazione complesse attualmente il sistema è gestito sotto RTAI-Linux in completamento la gestione del sistema direttamente da Matlab tramite interfaccia COMEDI Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 42

Progetto OASYS titolo del progetto: keywords: Open source software for industrial Automation and distributed SYstemS Controllo in Tempo Reale, RTAI-Linux, Sistemi Distribuiti, Prototipazione Rapida settori scientifico/disciplinari interessati: ING-INF/04 Automatica ING-INF/05 Sistemi di elaborazione delle informazioni unità operative: Università di Bologna (coordinatore) Politecnico di Milano Università di Pavia Università di Modena e Reggio Emilia Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 43

Progetto OASYS problema: sviluppo di ambienti software open source per il controllo in tempo reale di impianti o macchine per l automazione industriale, che prevedano l interconnessione di elementi intelligenti da cui acquisire informazioni o applicare opportune azioni di controllo notevole interesse culturale e scientifico importanti applicazioni in comparti dell industria e della produzione di beni esempi: OROCOS, http://www.orocos.org/ SEC (Software Enabled-Control), agenzia americana DARPA non solo informatica: queste ricerche sviluppano in modo principale gli inquadramenti metodologici necessari per potere trattare in modo astratto e sistemistico del controllo in tempo reale di sistemi dinamici complessi distribuiti, nei quali possono convivere sistemi di natura diversa (tempo-continui, tempo-discreto, descritti con tecniche e metodologie diverse, logici, dinamici, ecc.) progetto UE GeoPlex Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 44

Progetto OASYS risultati previsti realizzazione sperimentale di strutture distribuite, nelle quali le risorse di elaborazione, calcolo, monitoraggio siano non localizzate in un singolo punto, con esigenze di controllo, cooperazione e supervisione pure distribuite sviluppo di ambienti hw/sw di controllo in tempo reale per applicazioni distribuite, basati su piattaforme hardware low-cost (PC) e software OS realizzazione di una struttura di collegamento dei laboratori attraverso rete informatica, che consenta l accesso (virtuale) ai laboratori di automazione disponibili presso le varie sedi interessamento di aziende che si occupano di automazione ai risultati della ricerca, con il coinvolgimento di tecnici in fasi di identificazione di case study significativi e di verifica sperimentale di soluzioni due convegni di programma da tenersi con cadenza annuale con pubblicazione degli atti ed organizzazione di sessioni ad invito e/o tutorial a conferenze internazionali del settore disseminazione dei risultati attraverso seminari, workshop e giornate tematiche organizzate in collaborazione con le industrie Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 45

Progetto OASYS WP 1 (Sviluppo di metodologie di progetto per sistemi di controllo di sistemi distribuiti e controllori logici): sviluppo di metodologie di progetto e sistemi software per il controllo in tempo reale di sistemi dinamici, con particolare riferimento ai sistemi distribuiti controllo logico (PLC) WP 2 (Sviluppo di sistemi per la prototipazione rapida di tipo open source e Real Time): sviluppo di sistemi per la prototipazione rapida di sistemi di controllo di tipo distribuito, open source e real time dispositivi disponibili come prodotti commerciali WP 3 (Simulazione): simulazione dei sistemi e del controllo nel contesto delle attività del progetto, quali i sistemi distribuiti con vincoli di Real Time per verificare la validità delle metodologie sviluppate sviluppo di nuovi pacchetti applicativi (se necessario) WP 4 (Dimostrazione): dimostrazione delle tecniche sviluppate e simulate su sistemi di laboratorio e su sistemi industriali (di prova) WP 5 (Disseminazione dei risultati) Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 46

Conclusioni breve discussione su: sistemi operativi real-time (RTOS) RTOS & Open Source RTAI Linux, un po di storia e descrizione generale software e progetti OS per l automazione applicazioni di controllo in ambinente real-time Linux tività al LAR controllo di manipolatori (ViDet e Comau Smart 3-S) applicazioni di prototipazione rapida e controllo assi I/O e controllo assi avanzato il progetto OASYS Linux e le sue applicazioni industriali nei sistemi embedded e real time, Bologna 16 Novembre 2004 p. 47