Controllo dei Sistemi Robotici
Cristian Secchi Pag. 1
CONTROLLO DI SISTEMI ROBOTICILaurea Specialistica in Ingegneria Meccatronica
CONTROLLO DI SISTEMI ROBOTICICONTROLLO DI SISTEMI ROBOTICIINTRODUZIONEINTRODUZIONE
Ing. Cristian SecchiTel. 0522 522235
e-mail: [email protected]://www.dismi.unimo.it/Members/csecchi
Controllo di Sistemi RoboticiControllo di Sistemi Robotici
• Testi consigliati:
• Rinaldi S., Teoria dei Sistemi, CLUP 1977
• M G T i d i Si t i d l C t ll Z i h lli 1989• Marro G., Teoria dei Sistemi e del Controllo, Zanichelli 1989
• Sciavicco L., Siciliano B., Robotica Industriale – Modellistica e Controllo dei manipolatori, Mac Graw-Hill Libri Italia, 2000
• “Utili” nozioni e concetti dei corsi di:• A li i t ti t i
Introduzione -- 2Cristian Secchi Controllo di Sistemi Robotici
• Analisi matematica e geometria • Fisica generale • Controlli Automatici• Modellazione Cinematica e Dinamica delle Macchine
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 2
Controllo di Sistemi RoboticiControllo di Sistemi Robotici
• Orario:
Martedì: 11-13 Aula 0.4Mercoledì : 11-13 Aula 0.4Gi dì 14 17 A l 0 4Giovedì: 14-17 Aula 0.4
• Ricevimento: Mercoledì dalle 9 alle 11 durante il periodo delle lezioni, altrimenti su appuntamento da fissare via mail (PREFERITO!)
• Esami: Orale.
Introduzione -- 3Cristian Secchi Controllo di Sistemi Robotici
• Lucidi: I lucidi proiettati a lezione possono essere scaricati dal sito http://www.automazione.ingre.unimore.it/ selezionando, alla voce corsi, il corso di Controllo dei Sistemi Robotici.
Programma del CorsoProgramma del Corso
• Introduzione ai sistemi• Sistemi lineari e robot cartesiani• Robot antropomorfi
• Analisi dei sistemi lineari• L t bilità d L• La stabilità secondo Lyapunov
• Teoria generale• Caso dei sistemi lineari
• Proprietà di Controllabilità e di Raggiungibilità• Problema del controllo
• Proprietà di osservabilità• Osservatori dello stato
• Sintesi del controllore mediante retroazione dell’uscita
Introduzione -- 4Cristian Secchi Controllo di Sistemi Robotici
• Sintesi del controllore mediante retroazione dell uscita• Controllo di Robot Industriali
• Regolazione e tracking di robot antropomorfi• Robotica avanzata
• Robotica Mobile, Interfacce haptics, sistemi di telemanipolazione, algoritmi di presa per mani robotiche.
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 3
RoboticaRobotica
• Un robot è un sistema complesso costituito da• Un sistema meccanico per l’interazione con l’ambiente• Un sistema di attuazione per l’esecuzione di compiti• Un sistema sensoriale per l’acquisizione delle informazioni• Un sistema di governo per il controllo e la programmazione
Un robot è un sistema meccatronico
Introduzione -- 5Cristian Secchi Controllo di Sistemi Robotici
Per costruire e controllare un robot occorrono competenze in vari campi della scienza
Applicazioni della RoboticaApplicazioni della Robotica
• Primi dispositivi robotici negli anni ’50 per la manipolazione di materiali radioattivi ( Telemanipolazione)
• Robot “moderni” a partire dagli anni ’70
• Inizialmente diffusi solo in ambito industriale (saldatura, assemblaggio,…)
• Oggi diffusi in vari campi• Medicina• Training
Introduzione -- 6Cristian Secchi Controllo di Sistemi Robotici
g• Applicazioni Spaziali• Intrattenimento• Applicazioni militari• …
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 4
Robot nell’industriaRobot nell’industria
http://www.abb.com
Introduzione -- 7Cristian Secchi Controllo di Sistemi Robotici
Problematiche: Controllo traiettoria, velocità di esecuzione
http://www.reisrobotics.de
Robot nell’industriaRobot nell’industria
Introduzione -- 8Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 5
Robot nella medicinaRobot nella medicina
Introduzione -- 9Cristian Secchi Controllo di Sistemi Robotici
Problematiche: Elevata precisione, interazione con l’uomo
http://www.intuitivesurgical.com
Robot nella medicinaRobot nella medicina
Introduzione -- 10Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 6
Robot nello spazioRobot nello spazio
Grossi bracci robotici per svolgere attività extra-veicolari sia in autonomia che in collaborazione con gli astronautigli astronauti
Problematiche: Precisione di posizionamento, assenza di gravità
Introduzione -- 11Cristian Secchi Controllo di Sistemi Robotici
Canadarm 2
http://www.space.gc.ca/
Robot nello spazio e RoverRobot nello spazio e Rover
NASA JPL Sojourner (1998)http://mpfwww.jpl.nasa.gov/default.html
NASA JPL Opportunity (2004)http://marsrovers.jpl.nasa.gov/home/
Problematiche: navigazione, SLAM (Simultaneous Localization and Map Building )
Introduzione -- 12Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 7
Robot nello spazio e RoverRobot nello spazio e Rover
Introduzione -- 13Cristian Secchi Controllo di Sistemi Robotici
Haptics e TelemanipolazioneHaptics e Telemanipolazione
Introduzione -- 14Cristian Secchi Controllo di Sistemi Robotici
Problematiche: Ritorno di forza (telepresenza), stabilità, precisione di posizionamento
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 8
Haptics e TelemanipolazioneHaptics e Telemanipolazione
Introduzione -- 15Cristian Secchi Controllo di Sistemi Robotici
ManipolazioneManipolazione
DLR Hand UB-Hand III
Introduzione -- 16Cristian Secchi Controllo di Sistemi Robotici
Problematiche: Grasping, controllo di forza, manipolazione dell’oggetto.
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 9
Robot con gambeRobot con gambe
Introduzione -- 17Cristian Secchi Controllo di Sistemi Robotici
Problematiche: Controllo dell’equilibrio, interazione con l’ambiente e con l’uomo.
Robot con gambeRobot con gambe
Asimo HDTV videos
Introduzione -- 18Cristian Secchi Controllo di Sistemi Robotici
Sony QRIO Movies
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 10
Robotica a Reggio Emilia Robotica a Reggio Emilia –– HapticsHaptics per per AutomotiveAutomotive
Maggior numero di servizi e funzionalità
Necessità di inserire dati o prestare attenzione anche durante la guida
Minore attenzione alla strada
Introduzione -- 19Cristian Secchi Controllo di Sistemi Robotici
IDEA: Utilizzare un dispositivo haptics che faciliti l’inserimento di dati utilizzando delle virtual fixtures, diminuendo l’attenzione visiva richiesta al driver.
Robotica a Reggio Emilia Robotica a Reggio Emilia –– HapticsHaptics per per AutomotiveAutomotive
E’ stata costruita un'interfaccia virtuale (es.: per l'inserimento di località in un navigatore satellitare) con la quale interagire con il robot Phantom OMNI. L'interfaccia è dotata di un sistema di guide virtuali che aiutano il driver a inserire i dati (compito secondario) mentre sta guidando (compito primario) minimizzando in tal modo la distrazione.
Introduzione -- 20Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 11
Robotica a Reggio Emilia Robotica a Reggio Emilia –– HapticsHaptics per per AutomotiveAutomotive
Introduzione -- 21Cristian Secchi Controllo di Sistemi Robotici
Robotica a Reggio Emilia: Robotica a Reggio Emilia: VisualVisual ServoingServoing per mosaiciper mosaici
GOAL: Costruire un isola robotica dotata di un robot antropomorfo per la composizione automatica di un mosaico
Introduzione -- 22
Filmato
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 12
Robotica a Reggio Emilia: Programmazione Robot IndustrialiRobotica a Reggio Emilia: Programmazione Robot Industriali
Introduzione -- 23Cristian Secchi Controllo di Sistemi Robotici
RoboticaRobotica a Reggio Emilia: Multia Reggio Emilia: Multi--Robot Robot systems e systems e SwarmsSwarms
Gruppi di creature
Utilizzare robot low cost (con limitate capacità)
Introduzione -- 24
Gruppi di creature semplici e con limitate capacità possono ottenere compiti complessi riunendosi in sciami
per costruire un gruppo che consenta di implementare una data serie di comporamenti complessi
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 13
ApplicazioniApplicazioni
• Copertura sensoriale: • Esplorazione di ambienti sconosciuti• Condivisione di informazioni
• Logistica: • Gruppi di Robot mobili per la movimentazione di merci in magazzini• Gruppi di Robot mobili per la movimentazione di merci in magazzini
automatici• Gruppi di Robot per il caricamento automatico dei camion
• Rendez-vous• Portare in modo ottimale tutti i robot in un punto• Coordinare il movimento del gruppo
• Flocking e Swarming• Portare e muovere il gruppo in una data formazione e far mantenere la
Introduzione -- 25
Portare e muovere il gruppo in una data formazione e far mantenere la formazione anche in caso di disurbi e/o ostacoli che il gruppo deve aggirare
• Esplorazione e manutenzione di ambienti angusti e/o troppo piccoli• Nanorobotica e applicazioni mediche (drug delivery)• Applicazioni low cost distribuite (irrigazione, applicazioni agricole)
Coordinazione di AGVCoordinazione di AGV
La ricerca su questi sistemi è in collaborazione con Elettric80 s.p.a., leader nella produzione e gestione di veicoli AGV
Introduzione -- 26Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 14
CoordinazioneCoordinazione didi AGVAGV
C di iCoordinazione ottimale del gruppo di robot mobili per evitare contri e deadlock
Introduzione -- 27Cristian Secchi Controllo di Sistemi Robotici
ControlloControllo didi formazioneformazione
Sviluppo e test di algoritmi per il formation control quando i robot scambiano dati tramite canali con ritardo e perdita di pacchetti. La formazione deve evitare ostacoli statici e dinamici durante il percorso.
Introduzione -- 28Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 15
SLAMSLAM
• Differential DrivePRO
Stiamo costruendo un robot mobile in collaborazione con l’Università di Ferrara.
• PRO:Easier to design and manufactureSteering and linear motion decoupled
• CON:Not suitable for
Introduzione -- 29
Not suitable for rough terrainsCastor wheels may cause instabilities
Control system architectureControl system architecture
• Low-level control: • In-house developed motion control card, with two H-
bridge drivers (3 A each) and encoder-based closed-loopRS 232 Eth t d CAN i ti li k• RS-232, Ethernet and CAN communication links
• High-level control:• Any kind of embedded PC (PC/104, XTX, PDA, etc.)
supporting Linux or other RTOS• Enabled for inertial navigation, vision based SLAM, etc.
Introduzione -- 30
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 16
Communication linksCommunication links
RS-232
MicrochipdsPIC30F6015
MAX203ELevel shifter
MCP2551transceiver
CAN
Introduzione -- 31
3,3 – 5 VLevel shifter
XPORTSerial-to-Ethernet
ETHERNET
TTL levels3,3 V supply
SLAMSLAM
SLAM: Simultaneous Localization and Mapping
Il robot mobile deve localizzarsi rispetto all’ambiente in cui si trova (e che non conosce o conosce solo parzialmente) e, contemporaneamente, deve costruire una mappa dell’ambiente in cui si muove tramite il/I sensori di cui è dotato (sonar, laser, etc.).
Introduzione -- 32Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 17
Robotica a Reggio Emilia: Robotica a Reggio Emilia: TelemanipolazioneTelemanipolazione BilateraleBilaterale
Un sistema di telemanipolazione è costituito da due (o più) robot interconnessi tramite un canale di comunicazione caratterizzato da un certo ritardo. L’utente, tramite un dispositivo robotico locale (master), controlla i
Introduzione -- 33
movimenti di un robot remoto (slave) che, a sua volta, deve trasmettere al dispositivo locale la forza derivante dall’interazione con l’ambiente remoto che verrà riprodotta sul master in modo da dare all’operatore la sensazione di interagire con l’ambiente remoto. Sono stati sviluppati algoritmi che hanno ottenuto riconoscimenti a livello internazionale. Prossimamente si implementerà un setup sperimentale su cui testare tali algoritmi
AssociazioniAssociazioni
http://www.ifr.org/ International Federation of Roboticshttp://www.robotics.org USAhttp://www.jara.jp/e/index.html Giapponehttp://www.robosiri.it/ Italia: SIRI – ASS. IT. DI ROBOTICAhttp://www.cs.uow.edu.au/isase/ara/ Australiahttp://www.cs.uow.edu.au/isase/ara/ Australiahttp://www.bara.org.uk/ Inghilterra: Robotica & Automazionehttp://www.euron.org/ Robotica in Europa (ricerca)http://www.robotics-in-europe.org/ Robotica in Europa (tutti)
http://www.robocup.org/http://www.fira.net/
Introduzione -- 34Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 18
Struttura e componenti di un robotStruttura e componenti di un robot
Un robot è un sistema costituito da:
Una parte meccanica, detta manipolatore
Un sistema per la sua programmazione e controllo
detta manipolatore.
Teach-pendant
Introduzione -- 35Cristian Secchi Controllo di Sistemi Robotici
Il sistema di controlloIl sistema di controllo
Il sistema di controllo di un robot è il “cervello” del sistema. Esso decide quali movimenti deve compiere il manipolatore in base alle informazioni che gli arrivano dai sensori e agli algoritmi di controllo che implementa.
E’ un sistema molto complesso, in generale multiprocessore, collegato in rete con altri dispositivi di controllo, monitoraggio e immagazzinamento dati.
Le funzioni base che esso deve implementare sono:
• Interazione con l’operatore
Introduzione -- 36Cristian Secchi Controllo di Sistemi Robotici
• Interazione con l operatore• Immagazzinamento dati• Pianificazione dei movimenti del manipolatore• Controllo in tempo reale del moto dei giunti• Interazione con altri dispositivi• Monitoraggio dei sensori
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 19
Il sistema di movimentazioneIl sistema di movimentazione
E’ la parte che interagisce con il mondo esterno. Il manipolatore è costituito da:
• una serie di corpi rigidi, detti link• una serie di snodi attuati detti giunti
PolsoEnd-effector
• una serie di snodi attuati, detti giunti
Il manipolatore ha una base che può essere fissata nell’ambiente di lavoro oppure posta su una piattaforma mobile.
All’estremità del manipolatore è posto l’end-effector, cioè l’attrezzo con cui è eseguito il lavoro. Esistono vari
Introduzione -- 37Cristian Secchi Controllo di Sistemi Robotici
Base
tipi di end-effector: pinze, saldatori, mani,…
L’end-effector è collegato al manipolatore tramite uno snodo, il polso, che che consente di orientarlo arbitrariamente.
Strutture meccaniche per i robotStrutture meccaniche per i robot
Per la costruzione di robot, vengono adottate diverse strutture meccaniche. Tra le più comuni si hanno:
Configurazione Cartesiana Configurazione Cilindrica
Introduzione -- 38Cristian Secchi Controllo di Sistemi Robotici
Configurazione SCARA Configurazione Antropomorfa
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 20
Strutture meccaniche per i robotStrutture meccaniche per i robot
Configurazione Cartesiana Configurazione Cilindrica
Introduzione -- 39Cristian Secchi Controllo di Sistemi Robotici
Configurazione SCARA Configurazione Antropomorfa
Strutture meccaniche per i robotStrutture meccaniche per i robot
Le strutture più diffuse sono la struttura cartesiana e quella antropomorfa.
• La struttura cartesiana è molto robusta. E’ molto adatta per compiti in cui ci siano pesi molto elevati da trasportare ed ha buone caratteristiche di ripetibilità (cioè capacità di riportarsi in posizioni predefinite). Lo svantaggio di questa configurazione è l’ingombro e la scarsa destrezza.
• La struttura antropomorfa è poco robusta e può sollevare solo pesi non molto elevati Tuttavia essa è di poco ingombro ed ha un’elevata
Introduzione -- 40Cristian Secchi Controllo di Sistemi Robotici
non molto elevati. Tuttavia essa è di poco ingombro ed ha un elevata destrezza, cioè può raggiungere punti anche molto distanti dalla base.
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 21
Spazio di lavoro di un robotSpazio di lavoro di un robot
Lo spazio di lavoro di un robot è l’insieme dei punti raggiungibili dall’end-effector del robot. Esso dipenda dalle dimensioni dei link, dal tipo di giunti e dal loro limite di movimento.
Introduzione -- 41Cristian Secchi Controllo di Sistemi Robotici
Tipi di giuntoTipi di giunto
Ci sono due tipi fondamentali di giunto:• giunto prismatico, il cui moto è una traslazione (giunto T)• giunto rotoidale, il cui moto è una rotazione (giunto R)
Giunti prismatici
Giunti rotoidali
Introduzione -- 42Cristian Secchi Controllo di Sistemi Robotici
Giunti più complessi (sferici, elicoidali, …) possono essere ottenuti mediante opportune combinazioni di giunti rotoidali e giunti prismatici.
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 22
Tipi di giuntoTipi di giunto
TTT RT
Introduzione -- 43Cristian Secchi Controllo di Sistemi Robotici
RRT RRR
Gradi di libertà (GDL o DOF) di un manipolatoreGradi di libertà (GDL o DOF) di un manipolatore
I gradi di libertà di un manipolatore sono il numero dei suoi giunti. Se un manipolatore ha n giunti allora ha n gradi di libertà. Intuitivamente i gradi di libertà di un manipolatore rappresentano la dimensione dello spazio in cui si può muovere l’end-effector.
• Per un manipolatore il numero di gradi di libertà n può essere• Per un manipolatore, il numero di gradi di libertà n può essere qualsiasi. La dimensione dello spazio di lavoro al massimo è m=6.
• Un caso molto comune è m=n, cioè il manipolatore ha tanti gradi di libertà quanto la dimensione dello spazio di lavoro. In tal modo l’end-effector può essere portato in qualsiasi punto dello spazio di lavoro.
• Se nm, allora si parla di manipolatori ridondanti, cioè tali per cui l’end-effector può essere portato in ogni punto dello spazio di lavoro in più modi.
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 23
Spazio di giunto e spazio di lavoroSpazio di giunto e spazio di lavoro
• Solitamente ogni giunto è motorizzato ed è, quindi, possibile controllare la posizione di ogni giunto.
• Ad ogni giunto è associata una variabile di giunto qi che rappresenta la posizione relativa del link i-esimo rispetto a quello i-pp p p q1-esimo
Tutte le possibili configurazioni che può assumere un robot costituiscono lo spazio di giunto
Un robot può avere in general n giunti e, quindi, lo spazio in cui vivono le variabili di giunto è in generale Rn
Introduzione -- 45Cristian Secchi Controllo di Sistemi Robotici
variabili di giunto è in generale Rn
Spazio di giunto e spazio di lavoroSpazio di giunto e spazio di lavoro
La parte del robot che interessa controllare (cioè quella che compie lavoro) è l’end-effector.
Posizione e orientamento dell’end-effector sono funzioni in generale NON LINEARI delle variabili di giunto.
Introduzione -- 46Cristian Secchi Controllo di Sistemi Robotici
Determinare la configurazione dell’end-effector a partire dalla configurazione dei giunti e viceversa è un problema cinematico.
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 24
Problematiche in roboticaProblematiche in robotica
• Problemi cinematici• Cinematica diretta
Modellazione cinematica e• Cinematica inversa• Cinematica differenziale
• Problemi dinamici• Modellistica dinamica di un robot
• Controllo di un robot• Controllo di posizione• Controllo di Forza
Modellazione cinematica e dinamica delle macchine
Controllo di sistemi robotici
Introduzione -- 47Cristian Secchi Controllo di Sistemi Robotici
Controllo di sistemi roboticiControllo di sistemi robotici
Controllare un robot significa fare in modo che evolva verso un comportamento o una configurazione desiderata.
Per controllare un robot è prima necessario modellare il suo comportamento in assenza di controllo.
Un robot è un particolare sistema dinamico e il suo comportamento può essere descritto da un sistema di equazioni differenziali, in generale non lineari.
Introduzione -- 48Cristian Secchi Controllo di Sistemi Robotici
Esistono svariati modelli dinamici per i robot (Eulero-Lagrange, Newton-Eulero,…) ciascuno con i suoi pregi e i suoi difetti. Il più generale e utilizzato nel controllo di robot è il modello di Eulero-Lagrange.
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 25
Esempi di robot cartesiani a antropomorfiEsempi di robot cartesiani a antropomorfi
Controllo di Sistemi Robotici
Introduzione -- 49Cristian Secchi
Modelli dei robotModelli dei robot
Introduzione -- 50Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 26
Possiamo usare le tecniche di Controlli Automatici?Possiamo usare le tecniche di Controlli Automatici?
)(sY
Nel corso di Controlli Automatici modellavamo il plant mediante una funzione di trasferimento
)()()(
sUsYsG =
Il controllore era dato da un’altra funzione di trasferimento che legava l’ingresso di controllo all’errore di regolazione E(s)=R(s)-Y(s). Avevamo che:
Introduzione -- 51Cristian Secchi Controllo di Sistemi Robotici
)()()(
sEsUsC =
Possiamo usare le tecniche di Controlli Automatici?Possiamo usare le tecniche di Controlli Automatici?
R(s)C(s) G(s)
Y(s)E(s) U(s)
-
+
Introduzione -- 52Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 27
Possiamo usare le tecniche di Controlli Automatici?Possiamo usare le tecniche di Controlli Automatici?
Funzioni di Trasferimento
Robot Antropomorfi Robot Cartesiani
Vicoli su ingressi e Un solo ingresso ePiù ingressi (le coppie ai giunti) e più uscite
Più ingressi (le coppie ai giunti) e più usciteVicoli su ingressi e
usciteUn solo ingresso e una sola uscita
ai giunti) e più uscite (es.: posizioni e/o velocità ai giunti)
ai giunti) e più uscite (es.: posizioni e/o velocità ai giunti)
Vincoli su modello ingresso uscita del sistema
Descritto da un’equazione differenziale lineare
Descritto da un’equazione differenziale non lineare
Descritto da un’equazionedifferenziale lineare
Controllori Legano duegrandezze scalariLegano duegrandezze vettoriali
Legano duegrandezze vettoriali
Introduzione -- 53Cristian Secchi Controllo di Sistemi Robotici
Non è possibile utilizzare i concetti di controlli automatici né per modellare né per controllare un sistema robotico.
Concetto di SistemaConcetto di Sistema
Cos’è un sistema?
Nell’ambito della modellistica e del controllo, un sistema è un ente la cui ècaratteristica principale è quella di evolvere nel tempo. Per questa loro
caratteristica i sistemi vengono detti anche sistemi dinamici.
Nel caso più generale, si rappresenta un sistema come un ente sul quale agisce un ingresso u, la causa, e dal quale, come reazione a tale causa, viene fornita una certa uscita y, l’effetto.
Introduzione -- 54Cristian Secchi Controllo di Sistemi Robotici
u y
ingresso uscita
SSistema
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 28
Concetto di SistemaConcetto di Sistema
Ad ogni sistema è associato un insieme ordinato T, detto insieme dei tempi, tale che per ogni t ∈ T sono definiti un ingresso u(t) e un’uscita y(t) entrambi appartenenti al rispettivo insieme di ingresso U e di uscita Y.
T
u(t)U
Y
t
Introduzione -- 55Cristian Secchi Controllo di Sistemi Robotici
Yy(t)
Concetto di SistemaConcetto di Sistema
In generale, il modo di evolvere nel tempo delle funzioni u e y non è del tutto libero e, quindi, anche le funzioni di ingresso e di uscita sono costrette ad appartenere a due prefissati insiemi di funzioni, rispettivamente indicati con Ω e Γ
Notazione: Con u(·) indicheremo la funzione di ingresso mentre con u(t) intenderemo il valore che tale funzione assume all’istante t. La stessa cosa vale per y(·) e y(t).
Introduzione -- 56Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 29
Concetto di SistemaConcetto di Sistema
Si consideri il seguente circuito
RI
Cu y
R=1 ΩC=1 F
Introduzione -- 57Cristian Secchi Controllo di Sistemi Robotici
Concetto di SistemaConcetto di Sistema
Condensatore Scarico (Ep=1/2Cq2=0 J) Condensatore Carico (Ep=1/2Cq2=1 J)
Introduzione -- 58Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 30
Concetto di SistemaConcetto di Sistema
Nonostante forniamo al sistema lo stesso ingresso le uscite nei due casi sono diverse. Perché?
Sia q la carica sul condensatore:
Legge di Kirchhoff sulla maglia
Legge costitutiva del condensatore
Introduzione -- 59Cristian Secchi Controllo di Sistemi Robotici
L’uscita dipende dal segnale in ingresso E dalla carica sul condensatore
Concetto di SistemaConcetto di Sistema
In generale, l’uscita all’istante t NON può essere determinata dal valore assunto dall’ingresso allo stesso istante. L’uscita è frutto dell’intera storia subita dal sistema e non è, quindi, semplicemente legata all’ingresso.
Esiste una grandezza, detta stato, che racchiude sinteticamente in séEsiste una grandezza, detta stato, che racchiude sinteticamente in sé l’informazione sul passato e sul presente del sistema. Il valore x(t) assunto dallo stato all’istante t deve essere sufficiente, eventualmente assieme all’ingresso u(t), alla determinazione dell’uscita all’istante t. Inoltre, l’informazione contenuta in x(t) deve essere sufficiente per determinare l’andamento futuro sia della stessa variabile di stato che dell’uscita per istanti successivi a quello considerato. Pertanto, noto x(t1) e u(·) nell’intervallo [t1,t2], deve essere possibile calcolare x(t2) e y(t2) per ogni t ≥ t
Introduzione -- 60Cristian Secchi Controllo di Sistemi Robotici
t2 ≥ t1.
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 31
Concetto di sistemaConcetto di sistema
Lo stato di un sistema è l’informazione che occorre in ogni istante per poter predire l’effetto della storia passata del sistema sul suo comportamento futuro.
Lo stato può possedere varie componenti, dette variabili di stato. Ogni i bil di i d ll i d l i L’i i di li
Introduzione -- 61Cristian Secchi Controllo di Sistemi Robotici
variabile di stato riassume parte della storia del sistema. L’insieme di tali variabili racchiude tutte le informazioni necessarie per poter determinare il comportamento del sistema e forma lo stato.
Scelta delle variabili di statoScelta delle variabili di stato
Quali variabili devono essere scelte come variabili di stato?
Nei sistemi fisici la condizione del sistema è determinata da accumuli di i tità di t i di ò tenergia, quantità di moto o massa e, quindi, può essere opportuno
scegliere come variabili di stato quelle variabili da cui questi accumuli dipendono. Ad esempio:
• Tensioni ai capi del condensatore (Ec=0.5CV2)• Correnti negli induttori (EL=0.5Li2)• Velocità di una massa (Ek=0.5mv2)• Posizione di una massa (Ep=mgx)
Introduzione -- 62Cristian Secchi Controllo di Sistemi Robotici
Posizione di una massa (Ep mgx)
Tuttavia esistono infiniti modi di scegliere le variabili di stato. Altre scelte, rispetto a quelle suggerite,potrebbero essere migliori. Il problema va affrontato caso per caso. Spesso la scelta suggerita è un buon punto di partenza per la modellazione di sistemi fisici.
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 32
Esempi di Sistemi Esempi di Sistemi –– Semplice Circuito ElettricoSemplice Circuito Elettrico
R1
R2
A E
C
u y
x
B F
Introduzione -- 63Cristian Secchi Controllo di Sistemi Robotici
L’ingresso è la tensione tra i morsetti A e B e l’uscita è la tensione tra i morsetti C e D. Lo stato x è la tensione ai capi del condensatore C. Si noti che x è associato al fenomeno di accumulo di energia potenziale nel condensatore.
Esempi di Sistemi Esempi di Sistemi –– Sistema MeccanicoSistema Meccanico
x1 x2
km
x2u
y
b
Introduzione -- 64Cristian Secchi Controllo di Sistemi Robotici
L’ingresso u è la forza applicata alla massa e l’uscita y è la posizione della massa. Ci sono due variabili di stato: x1 è la sovraelongazione della molla (associata all’immagazzinamento di energia potenziale meccanica) e x2 è la velocità della massa (associata all’immagazzinamento di energia cinetica. E’ presente, inoltre, l’attrito tra la massa e il terreno.
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 33
Esempi di Sistemi Esempi di Sistemi –– Robot antropomorfo a 2 gdlRobot antropomorfo a 2 gdl
Il sistema ha 2 ingressi, le coppie τ1 e τ2 applicate ai giunti. L’uscita y è la
Introduzione -- 65Cristian Secchi Controllo di Sistemi Robotici
1 2posizione dell’end-effector. Ci sono 4 variabili di stato: x1 e x2 rappresentano la configurazione dei link (associate all’immagazzinamento di energia potenziale gravitazionale) mentre x3 e x4 rappresentano la velocità dei link (associate all’immagazzinamento di energia cinetica)
Definizione di sistemaDefinizione di sistema
Un sistema dinamico è definito dai seguenti oggetti:
• Un insieme ordinato dei tempi T
• Un insieme di valori di ingresso U• Un insieme di valori di ingresso U
• Un insieme Ω di funzioni di ingresso ammissibili del tipo u(·)∈ Ω | u(·): T → U
• Un insieme di valori di stato X
• Un insieme di valori di uscita Y
Introduzione -- 66Cristian Secchi Controllo di Sistemi Robotici
• Un insieme Γ di funzioni di uscita ammissibili del tipoY(·) ∈ Γ | y(·):T → Y
E dalle seguenti funzioni:
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 34
Definizione di sistemaDefinizione di sistema
• Funzione di transizione dello stato:
x(t)=φ(t,t0,x(t0),u(·))Dove
1) t0 ∈ T è l’istante iniziale1) t0 ∈ T è l istante iniziale2) t ∈ T è l’istante attuale3) x(t0) ∈ X è lo stato iniziale4) x(t) ∈ X è lo stato attuale 5) u(·) ∈ Ω è la funzione che definisce la sequenza dei valori di ingresso nell’intervallo [t0,t]
• Funzione di uscita:
Introduzione -- 67Cristian Secchi Controllo di Sistemi Robotici
y(t)=η(t,x(t),u(t))Dove
1) t ∈ T è l’istante attuale 2) x(t) ∈ X è lo stato attuale3) u(t) ∈ U è l’ingresso attuale
Definizione di sistemaDefinizione di sistema
Se la funzione di uscita non dipende dall’ingresso u(t), cioè se
il sistema viene detto strettamente proprio (o puramente dinamico)
Se T=R il sistema è a tempo continuo,menre se T=Z il sistema è a tempo discreto.
Introduzione -- 68Cristian Secchi Controllo di Sistemi Robotici
Durante il corso verranno studiati i sistemi a tempo continuo
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 35
Proprietà di scomposizioneProprietà di scomposizione
E’ possibile scomporre in sistema in due parti distinte:
u(·) x(t) y(t)
Parte dinamica Parte algebrica
u(t)
• Parte dinamica del sistema: la funzione di transizione permette di riassumere la storia passata del sistema nelle sue variabili di stato ad un
Introduzione -- 69Cristian Secchi Controllo di Sistemi Robotici
riassumere la storia passata del sistema nelle sue variabili di stato ad un certo istante t
• Parte algebrica del sistema: La funzione di uscita esprime l’uscitautilizzando le grandezza note all’istante t
Movimento, traiettoria ed equilibrioMovimento, traiettoria ed equilibrio
• Definiamo evento la coppia tempo-stato:
• Definiamo movimento (o moto) considerato nell’intervallo t ∈ [t t ]• Definiamo movimento (o moto), considerato nell intervallo t ∈ [t0,t1], l’insieme degli eventi definiti dalla funzione di transizione, cioè:
Il movimento è, quindi, definito in T × X
• Definiamo traiettoria l’immagine in X della funzione di transizione
Introduzione -- 70Cristian Secchi Controllo di Sistemi Robotici
gnell’intervallo t ∈ [t0,t1], cioè
La traiettoria è, quindi, definita in X
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 36
Movimento, traiettoria ed equilibrioMovimento, traiettoria ed equilibrio
x0
(t0,x0)(t1,x1)
x1 x2
(t2,x2)
X
T
Traiettoria
Movimento
Introduzione -- 71Cristian Secchi Controllo di Sistemi Robotici
(t3,x2)
(t4,x2)
Movimento
Movimento, traiettoria ed equilibrioMovimento, traiettoria ed equilibrio
Tra i vari movimenti sono di interesse quelli costanti, caratterizzati, quindi, da un unico stato x detto stato di equilibrio. Uno stato x è di equilibrio quando si ha la possibilità di agire sul sistema mediante un ingresso in modo che partendo dallo stato iniziale x(t0)=x si possa rimaneremodo che partendo dallo stato iniziale x(t0) x si possa rimanere indefinitamente in x. Formalmente, è possibile dare la seguente definizione:
Uno stato x ∈ X si dice di equilibrio se per ogni t0 ∈ T esiste una funzione u(·) ∈ Ω tale che :
Introduzione -- 72Cristian Secchi Controllo di Sistemi Robotici
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 37
Sistemi regolariSistemi regolari
Un sistema si dice a dimensioni finite se U, X, e Y sono spazi vettoriali a dimensioni finite.
Un sistema si dice regolare se:
• Gli insiemi U, Ω, X, Y e Γ sono spazi vettoriali
• La funzione di transizione φ è continua in tutti i suoi argomenti e la sua derivata rispetto al tempo esiste ed è continua rispetto a t
Introduzione -- 73Cristian Secchi Controllo di Sistemi Robotici
• La funzione di uscita è continua nei suoi argomenti
Rappresentazione di Sistemi regolariRappresentazione di Sistemi regolari
Il movimento x(t)=φ(t,t0,x(t0),u(·)) è la soluzione di un’equazione differenziale vettoriale del tipo
C id i il di i t l i bili di t t
Introduzione -- 74Cristian Secchi Controllo di Sistemi Robotici
Consideriamo il caso di un sistema regolare con n variabili di stato, m ingressi e p uscite. Esso è rappresentabile dalle seguenti equazioni:
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 38
Rappresentazione di Sistemi RegolariRappresentazione di Sistemi Regolari
Introduzione -- 75Cristian Secchi Controllo di Sistemi Robotici
Rappresentazione di Sistemi RegolariRappresentazione di Sistemi Regolari
I vettori
sono, rispettivamente, i vettori di
• Stato: x(t) ∈ X, X=Rn
• Ingresso: u(t) ∈ U, U=Rm
Introduzione -- 76Cristian Secchi Controllo di Sistemi Robotici
g esso u(t) ∈ U, U
• Uscita: y(t) ∈ Y, Y=Rp
all’ istante t ∈ T=R
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 39
Rappresentazione di Sistemi RegolariRappresentazione di Sistemi Regolari
Compattando la notazione, scriveremo le equazioni che rappresentano un sistema regolare come:
dove x(t), u(t) e y(t) sono vettori e f e g sono vettori di funzioni. f è detta funzione di stato mentre g è detta funzione di uscita
Introduzione -- 77Cristian Secchi Controllo di Sistemi Robotici
Il sistema descritto da queste equazioni è detto di dimensione n con m ingressi e p uscite.
Esempio: Manipolatore a n gradi di libertàEsempio: Manipolatore a n gradi di libertà
Le variabili di stato sono le posizioni e le velocità di giunto. Se
Introduzione -- 78Cristian Secchi Controllo di Sistemi Robotici
sono i vettori delle variabili di giunto e delle coppie, la dinamica del manipolatore è data da:
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 40
Esempio: Manipolatore a n gradi di libertàEsempio: Manipolatore a n gradi di libertà
Ponendo
le equazioni dinamiche del sistema possono essere riscritte come
Introduzione -- 79Cristian Secchi Controllo di Sistemi Robotici
Tipologie di sistemi regolariTipologie di sistemi regolari
Si possono distinguere, in base al numero di ingressi e di uscite, i seguenti tipi di sistema:
• MIMO (Multiple Input Multiple Output): sistema con m (>1) ingressi e p (>1) uscite
• MISO (Multiple Input Single Output): sistema con m (>1) ingressi e un’uscita sola (p=1)
• SIMO (Single Input Multiple Output): sistema con un solo ingresso (m=1) e p (>1) uscite
Introduzione -- 80Cristian Secchi Controllo di Sistemi Robotici
(m=1) e p (>1) uscite
• SISO (Single Input Single Output): sistema con un solo ingresso (m=1) e una sola uscita (p=1)
Controllo dei Sistemi Robotici
Cristian Secchi Pag. 41
Tipologie di sistemi regolariTipologie di sistemi regolari
I sistemi dinamici possono essere classificati in base alla struttura delle equazioni che li rappresentano.
Sistemi lineari: Le equazioni Robot Cartesiani, qdifferenziali sono lineari nell’ingresso e nello stato
Sistemi non lineari: Le equazioni differenziali non sono lineari
,sistemi elettrici, sistemi idraulici, ecc.
Altri tipi di robot (es.: antropomorfo), sistemi molto complessi, ecc.
Introduzione -- 81Cristian Secchi Controllo di Sistemi Robotici
Il problema del controllo è in buona parte risolto per sistemi lineari mentre è ancora aperto per sistemi non lineari generici. Esistono tuttavia algoritmi di controllo per i robot, particolari sistemi non lineari.
CONTROLLO DI SISTEMI ROBOTICILaurea Specialistica in Ingegneria Meccatronica
CONTROLLO DI SISTEMI ROBOTICICONTROLLO DI SISTEMI ROBOTICIINTRODUZIONEINTRODUZIONE
Ing. Cristian SecchiTel. 0522 522235
e-mail: [email protected]://www.dismi.unimo.it/Members/csecchi