TeleLaboratorio: Virtual Lab
Dipartimento Sistemi Elettrici &
Automazione
Università di Pisa
Motivazioni per il TeleLaboratorio (I)
Il TeleLaboratorio rappresenta un ambiente reale al quale si può accedere in modo virtuale
tramite connessione Internet.
Vantaggi:
 Non ci sono problemi logistici quali quelli di far entrare un alto numero di studenti
all’interno di un laboratorio di dimensioni limitate
 Possibilità di condividere un’unica risorsa disponibile tra un elevato numero di studenti
 Possibilità di coinvolgere un pubblico che vada al di là di una semplice classe universitaria
 Possibilità di uno studente di migliorare le proprie conoscenze in un determinato settore
senza la necessità di avere un docente accanto
Motivazioni per il TeleLaboratorio (II)
Il TeleLaboratorio è stato sviluppato nel contesto del progetto “TIGER”, Telepresence Instant
Groupware for higher Education in Robotics, un progetto a livello nazionale inteso a favorire la
diffusione di un TeleLaboratorio distribuito per lo studio di materie inerenti il campo della
robotica.
Pertanto alcune caratteristiche del TeleLaboratorio rispondono a delle specifiche di progetto
esterne:
• Sistema di autenticazione per l’accesso al TeleLaboratorio
• Necessità di prenotare un esperimento prima di poterlo usare
• Presenza di materiale didattico a supporto di un esperimento in modo che tutta la
documentazione per poter effettuare una determinata esperienza sia disponibile on-line
Accesso al TeleLaboratorio
Il TeleLaboratorio è accessibile dal sito del dipartimento DSEA, www.dsea.unipi.it,
cliccando sul logo del dipartimento e scegliendo Link Utili -> Telelab
L’accesso è riservato solo tramite login e password. Nuovi utenti devono prima registrarsi e poi
attendere che i login e password scelte vengano abilitate dal docente.
Esperimenti disponibili nel TeleLaboratorio(II)
L’accesso agli esperimenti avviene tramite prenotazione del particolare esperimento al quale si è
interessati. E’ possibile visualizzare l’elenco delle ore disponibili, l’elenco delle proprie
prenotazione, o effettuare una nuova prenotazione o cancellarne una.
Virtual Lab: un ambiente interattivo per il controllo di
sistemi dinamici
E’ necessario prenotare il Virtual Lab, e all’interno dell’orario di prenotazione, è sufficiente
cliccare sul nome dell’esperimento per lanciare il programma
Virtual Lab (II)
Ingressi disponibili
Impianti disponibili
Controllori disponibili
Virtual Lab (III)
Uscita del sistema in blu mentre in rosso si vede
il riferimento.
E’ possibile fare una pausa, salvare i dati, scalare
il grafico… e cambiare in tempo reale i parametri
del controllore!!
Progetto VirtualLab

realizzazione di un'interfaccia web per il controllo on-line di un
impianto simulato

impianto e controllore vengono realizzati con Scicos e compilati come
processi real-time

Un server su piattaforma RTAI gestisce l'avvio delle simulazioni ed il
cambiamento dei parametri sul controllore dell'impianto

Un'interfaccia java applet permette all'utente finale di controllare
l'andamento del sistema complessivo e modificarne i parametri in linea
Architettura

Componenti del VirtualLab
Applet Java
VirtualLabGUI
LAN
Telelaboratorio
Internet
VirtualLab Server
Utente Finale
Linux RTAI
I sistemi operativi Real-Time

Definizione di Sistema Operativo Real-Time:
 E' un sistema operativo in cui per valutare la correttezza delle
operazioni si considera anche la variabile tempo
RTOS: definizioni

Due tipologie di correttezza devono essere garantite:

Correttezza logica: i risultati/risposte forniti devono essere
quelli previsti (normalmente richiesta a qualunque sistema di
elaborazione)

Correttezza temporale: i risultati devono essere prodotti entro
certi limiti temporali fissati (deadlines) (specifica dei sistemi real
time)
RTOS: definizioni
Tipologie di Sistemi realtime:


Sistemi Hard realtime:


Il non rispetto delle deadlines temporali NON e’ ammesso porterebbe al
danneggiamento del sistema (applicazioni safety critical)
Sistemi Soft realtime:



il non rispetto occasionale delle deadlines e’ ammissibile
le specifiche temporali indicano solo in modo sommario i tempi da
rispettare
degrado delle performance accettabile
Cenni sull'architettura

I sistemi operativi real time
fornisco alle applicazioni
un'astrazione dell'hardware
(Hardware Abstraction Layer,
HAL).

L'Hardware Abstraction Layer
mette a disposizione delle
applicazioni una serie di servizi
(primitive realtime).
Applicazioni dei RTOS

2 tipologie principali

Simulazione
 un processo hard realtime può simulare un processo del
quale vogliamo realizzare il controllo (ad esempio una sfunction)

Controllo
 un processo hard realtime può contenere le funzioni che
andremo poi a trasferire su un controllore commerciale
(PLC, reti di sensori)
RTOS: soluzioni

Alcuni dei sistemi operativi realtime “general purpose”:
 Soluzioni proprietarie:



Soluzioni opensource:



VxWorks
QNX
RTLinuxFree (solo per kernel 2.4)
RTAI
RTLinux e RTAI sono soluzioni basate sul kernel di Linux e
possono sfruttarne tutte le applicazioni e l'ambiente.
Introduzione a RTAI


Progetto originale del Politecnico di Milano
 http://www.aero.polimi.it/~rtai/
 http://www.rtai.org/
L'ambiente realtime è realizzato tramite moduli del kernel:
 ogni modulo gestisce un particolare servizio;
 disponibilità di diversi scheduler;
 possibilità di attivare e disattivare il supporto alle applicazioni
realtime;
 modifica trasparente alle applicazioni non realtime.
Caratteristiche di RTAI (I)

Infrastruttura hard realtime sia in kernel space che in user
space:
 programmazione in user space più semplice e sicura;

Funzionalità real time avanzate:
 supporto al C++ (anche in kernel space per kernel 2.4);
 supporto al calcolo in virgola mobile in kernel space
 possibilità di backtrace delle applicazioni realtime;
 disponibilità di una interfaccia grafica;
Caratteristiche di RTAI (II)




Opensource
Basato sul nanokernel ADEOS (Adaptive DomainEnvironment
for Operating Systems)
Disponibile per diverse architetture hardware
 i386, PPC, ARM, MIPS
Tempi di latenza nell'ordine di alcuni microsecondi
 latenza tipica su architettura i386: 2~6 μs
 adatto quindi anche per sistemi di controllo con frequenza di
campionamento nell'ordine del KHz
Caratteristiche di RTAI (III)


Si possono sfruttare tutti gli editor e gli ambienti di sviluppo
normalmente disponibili per Linux
 come compilatore viene utilizzato solitamente il gcc (GNU
Compiler Collection)
Disponibilità di ambienti di sviluppo dedicati per
 CACSD (Computer Aided Control Systems Design)
 ambiente MatLab/Simulink/RealTime Workshop
(piattaforma proprietaria)
 ambiente Scilab/Scicos (piattaforma opensource)
VirtualLabServer


è un programma RTAI multithreaded che compie le seguenti
azioni
 pubblica una lista di esperimenti disponibili alle interfacce web
 attende la comunicazione dell'avvenuta selezione di una tripletta
ingresso-controllore-impianto
 crea un thread con priorità hard realtime che invia il segnale
colloquia con l'applet java tramite il protocollo XML-RPC
 elevata affidabilità
 elevata compatibilità con diversi linguaggi di programmazione
Sistemi di controllo digitale

Presenza di un calcolatore nel loop di controllo


Elaborazione tempo-discreta della legge di controllo
Occorrono dispositivi di interfaccia


tra il dominio tempo-continuo dell’impianto
e quello tempo-discreto del calcolatore
Introduzione a Scilab



progetto francese open-source alternativo a Matlab
 http://www.scilab.org/
come Matlab, permette
 calcolo matriciale
 realizzazione di grafici (luogo delle radici)
 espandibilità con un linguaggio di programmazione di alto
livello interno
 espandibilità tramite l'implementazione di toolbox (Scicos)
più di Matlab
 permette (gratuitamente) alcune funzioni di calcolo simbolico
CACSD con Scilab/Scicos (I)

Si progetta il sistema di controllo in maniera grafica sulla base dei
blocchi funzionali
CACSD con Scilab/Scicos (II)

Progetto del sistema di controllo
VirtualLabGUI

Implementa il paradigma Subject-Observer



ogni modulo dell'interfaccia può registrarsi in una lista di
osservatori del segnale
ogni qual volta un campione viene prelevato tutti gli
appartenenti alla lista ricevono una notifica e possono compiere
delle operazioni sul segnale
Prevede componenti riutilizzabili da inserire in interfacce ad-hoc
 prevede la creazione di pannelli contenenti più grafici ed
operazioni da eseguire sul segnale (toolbox)
VirtualLab / Matlab (I)

consideriamo il seguente modello
VirtualLab / Matlab (II)

Confronto tra i grafici ottenuti su VirtualLab / Matlab
Espandibilità

E' possibile implementare 3 tipi di entità



Esperienze (livello Java)
 controllo a ciclo aperto
 controllo a ciclo chiuso
 controllo ottimo
 identificazione
Modelli (SISO-MIMO livello Scicos)
 controllori
 impianti
Toolbox
 ovvero wizard per l'immissione di parametri su modelli equivalenti
Conclusioni

VirtualLab permette:

l'interazione in linea con un processo senza la necessità di
strumenti proprietari e/o piattaforme di difficile installazione

l'espandibilità tramite un linguaggio di programmazione di alto
livello (Java) ed uno strumento open-source (Scicos)

lo studio di simulazioni complesse anche su hardware non
particolarmente efficienti, in quanto l'elaborazione è effettuata
completamente lato server
Materiali utili

www.rtai.org

www.scilab.org alternativamente www.octave.org

www.ni.com/realtime/
 National Instruments (LabVIEW)

Dispense di introduzione a Scilab
 Disponibili per diffusione diretta
www.r-project.org7
 Programma di statistica R (free)

Scarica

Materiale TeleLaboratorio - Dipartimento di Sistemi Elettrici e