corsi, il corso di Controllo di Robot Industriali. Introduzione -- 4. Cristian Secchi.
Controllo di Sistemi Robotici. Programma del Corso. • Introduzione ai sistemi.
Controllo di Robot Industriali
CONTROLLO DI ROBOT INDUSTRIALI Laurea Magistrale in Ingegneria Meccatronica
CONTROLLO DI ROBOT INDUSTRIALI INTRODUZIONE
Ing. Cristian Secchi Tel. 0522 522235 e-mail:
[email protected] http://www.dismi.unimo.it/Members/csecchi
Controllo di Robot industriali
•
•
Testi consigliati:
•
Rinaldi S., Teoria dei Sistemi, CLUP 1977
•
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
•
Spong M., Hutchinson S., Vidyasagar M., Robot Modeling and Control, Wiley 2006
Utili nozioni e concetti dei corsi di:
• • • •
Analisi matematica e geometria Fisica generale Controlli Automatici Modellazione Cinematica e Dinamica delle Macchine
Cristian Secchi
Cristian Secchi
Introduzione -- 2
Pag. 1
Controllo di Robot Industriali
Controllo di Robot industriali
•
Orario:
Lunedì: 11-13 Aula 0.6 Mercoledì : 10-13 Aula 0.4 Giovedì: 11-13 Aula 0.6
•
Ricevimento: Mercoledì dalle 8.30 alle 10.00 durante il periodo delle lezioni, altrimenti su appuntamento da fissare via mail (PREFERITO)
•
Esami: Orale.
•
Esercitazioni: Esercitazioni su Robot Industriale e Robotica Mobile in Laboratorio
•
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 di Robot Industriali. Introduzione -- 3
Cristian Secchi
Programma del Corso • Introduzione ai sistemi
• •
• •
Sistemi lineari e robot cartesiani Robot antropomorfi
Sistemi lineari La stabilità secondo Lyapunov
• •
Teoria generale Caso dei sistemi lineari
•
Controllabilità e di Raggiungibilità
•
Osservabilità
• • •
Problema del controllo Osservatori dello stato Filtro di Kalman
• •
Sintesi del controllore mediante retroazione dell’uscita Robotica Mobile
•
Controllo di Robot Industriali
•
Robotica avanzata
• • •
Cinematica e Pianificazione SLAM e Navigazion Regolazione e tracking di robot antropomorfi
Cristian Secchi
Cristian Secchi
Controllo di Sistemi Robotici
Introduzione -- 4
Pag. 2
Controllo di Robot Industriali
Robotica
•
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 Per costruire e controllare un robot occorrono competenze in vari campi della scienza
Cristian Secchi
Introduzione -- 5
Applicazioni 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 Applicazioni Spaziali Intrattenimento Applicazioni militari …
Cristian Secchi
Cristian Secchi
R. Goertz, dell Argonne National Laboratory, dove è stato sviluppato anche il primo reattore nucleare (1948)
Introduzione -- 6
Pag. 3
Controllo di Robot Industriali
Robot nell’industria
http://www.abb.com
http://www.reisrobotics.de
Problematiche: Controllo traiettoria, velocità di esecuzione Cristian Secchi
Introduzione -- 7
Robot nell’industria
Cristian Secchi
Cristian Secchi
Introduzione -- 8
Pag. 4
Controllo di Robot Industriali
Robot nella medicina
http://www.intuitivesurgical.com Problematiche: Elevata precisione, interazione con l’uomo Cristian Secchi
Introduzione -- 9
Robot nella medicina
Cristian Secchi
Cristian Secchi
Introduzione -- 10
Pag. 5
Controllo di Robot Industriali
Robot nello spazio Grossi bracci robotici per svolgere attività extraveicolari sia in autonomia che in collaborazione con gli astronauti Problematiche: Precisione di posizionamento, assenza di gravità
Canadarm 2
http://www.space.gc.ca/ Introduzione -- 11
Cristian Secchi
Robot nello spazio e Rover NASA JPL Sojourner (1998) http://mpfwww.jpl.nasa.gov/default.html
Problematiche: navigazione, SLAM (Simultaneous Localization and Map Building ) NASA JPL Opportunity (2004)
http://marsrovers.jpl.nasa.gov/home/
Cristian Secchi
Cristian Secchi
Introduzione -- 12
Pag. 6
Controllo di Robot Industriali
Robot nello spazio e Rover
Cristian Secchi
Introduzione -- 13
Haptics e Telemanipolazione
Problematiche: Ritorno di forza (telepresenza), stabilità, precisione di posizionamento
Cristian Secchi
Cristian Secchi
Introduzione -- 14
Pag. 7
Controllo di Robot Industriali
Haptics e Telemanipolazione Justin (DLR, www.dlr.de)
Manutenzione remota di satelliti
Cristian Secchi
Introduzione -- 15
Manipolazione DLR Hand
UB-Hand III
Problematiche: Grasping, controllo di forza, manipolazione dell’oggetto. Cristian Secchi
Cristian Secchi
Introduzione -- 16
Pag. 8
Controllo di Robot Industriali
Robot con gambe
Problematiche: Controllo dell’equilibrio, interazione con l’ambiente e con l’uomo. Cristian Secchi
Introduzione -- 17
Robot con gambe
Cristian Secchi
Cristian Secchi
Introduzione -- 18
Pag. 9
Controllo di Robot Industriali
Robot Mobili
Cristian Secchi
Introduzione -- 19
Robotica a Reggio Emilia Automation, Robotics and Systems Control lab http://www.arscontrol.unimore.it/
• Controllo di robot antropomorfi • Robotica Mobile • Teleoperazione Bilaterale • Robotica chirurgica Cristian Secchi
Cristian Secchi
Introduzione -- 20
Pag. 10
Controllo di Robot Industriali
Visual Servoing per mosaici GOAL: Costruire un isola robotica dotata di un robot antropomorfo per la composizione automatica di un mosaico
Filmato Introduzione -- 21
Presa di oggetti in ambienti non strutturati
•
Per un essere umano identificare un oggetto e la sua forma, prenderlo e spostarlo sono compiti molto semplici
•
Per un robot le cose sono molto più lente e complesse
STAIR Lab, Stanford Cristian Secchi
Cristian Secchi
Introduzione -- 22
Pag. 11
Controllo di Robot Industriali
Controllo di presa efficiente GOAL: Identificare la forma di un oggetto sconosciuto, pianificare i punti di presa e controllare la forza di presa in un ambiente industriale.
Schunk, 3 finger hand
APPLICAZIONI 1) Sgombro aree di lavoro 2) Manipolazione di oggetti complessi 3) Assemblaggi di componenti complesse
Filmato
Introduzione -- 23
Cristian Secchi
Controllo del Traffico di AGVs
Cristian Secchi
Cristian Secchi
•
AGV gestiscono lo stoccaggio e la consegna della merce
•
Più di un AGV deve essere usato per soddisfare le esigenze di consegna
•
AGV e muletti guidati dall uome spesso coesistono
Introduzione -- 24
Pag. 12
Controllo di Robot Industriali
Controllo del Traffico di AGVs
gli AGV devono raggiungere la loro destinazione nel minor tempo possibile, in modo sicuro e senza mai bloccarsi.
Regole di traffico impostate manualmente: 1) Ingegneri sul sito per l installazione (€€€) 2) Possibilità di blocco del sistema causato da eventi imprevisti Introduzione -- 25
Cristian Secchi
Coordination Diagrams s2
AGV2 Goal
AGV1
γ1
a1
b2 a2
b1 γ2
AGV2
LGV2 Goal
AGV1 Goal
b2 a2 a1
b1
LGV1 Goal
s1
1) Prestazioni comparabili in modo automatico 2) Riconfigurazione del traffico a fronte di eventi imprevisti Introduzione -- 26
Cristian Secchi
Pag. 13
Controllo di Robot Industriali
Coordination Diagrams
Cristian Secchi
Introduzione -- 27
Multi-Robot systems e Swarms
Gruppi di creature semplici e con limitate capacità possono ottenere compiti complessi riunendosi in sciami
Utilizzare robot low cost (con limitate capacità) per costruire un gruppo che consenta di implementare una data serie di comporamenti complessi
Introduzione -- 28
Cristian Secchi
Pag. 14
Controllo di Robot Industriali
Applicazioni • Copertura sensoriale: • Esplorazione di ambienti sconosciuti • Condivisione di informazioni • Logistica: • 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 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)
•
Introduzione -- 29
Controllo di formazione GOAL: 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.
Cristian Secchi
Cristian Secchi
Introduzione -- 30
Pag. 15
Controllo di Robot Industriali
Controllo di Formazione e Cooperazione
Cristian Secchi
Introduzione -- 31
SLAM e Navigazione
Quale strategia uso per tagliare l erba di tutto il giardino? PRO: Bastano gli encoder sulle ruote à bassa complessità, robustezza CONTRO: sovradimensionamento del motore à alto costo!
GOAL: Utilizzare sensori low cost e strategie di navigazione avanzate per ottimizzare il percorso di copertura del prato. Questo consentirà di mantenere la stessa vita del prodotto utilizzando motori più economici. Cristian Secchi
Cristian Secchi
Introduzione -- 32
Pag. 16
Controllo di Robot Industriali
SLAM e Navigazione
Cristian Secchi
Introduzione -- 33
SLAM e Navigazione
GOAL: Utilizzare gli scanner laser montati sul robot per mappare l ambiente circostante e pianificarvi il proprio movimento. Questo eliminerà una parte di lavoro in fase di installazione (definizione della roadmap) e renderà i robot più flessibili. Cristian Secchi
Cristian Secchi
Introduzione -- 34
Pag. 17
Controllo di Robot Industriali
Ricerca automatica di un oggetto
• •
Ricerca Autonoma di un pallett per rendere più robusto il sistema
Filmato
Cristian Secchi
Introduzione -- 35
Telemanipolazione Bilaterale
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 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 Introduzione -- 36
Cristian Secchi
Pag. 18
Controllo di Robot Industriali
Multi-Slave Teleoperation
Immaginate di essere lì… da soli e senza provviste! Un solo uomo o anche un solo robot potrebbero essere non sufficienti per trovarvi in tempo… Cristian Secchi
Introduzione -- 37
Multi-Slave Teleoperation GOAL: Teleoperare una flotta di elicotteri autonomi che possono costruire una mappa dell ambiente esplorato, coordinarsi al fine di non passare più volte per la stessa zona, evitare ostacoli…
Altre applicazioni: sorveglianza in ambienti urbani, ispezione di ambienti pericolosi (es.: dopo disastri naturali),… Cristian Secchi
Cristian Secchi
Introduzione -- 38
Pag. 19
Controllo di Robot Industriali
Multi-Slave Teleoperation
Introduzione -- 39
Cristian Secchi
Robotica Chirurgica ISUR (Intelligent Surgery)
•
GOAL: Rendere automatiche alcune procedure chirurgiche per consentire al chirurgo di concentrarsi sulla parte principale dell’operazione
• • • • •
•
Come Come Come Come Come
Si svilupperà un sistema robotico ad hoc e UNIMORE si occuperà della parte di controllo.
Cristian Secchi
Cristian Secchi
rappresentare la procedura in un modo comprensibile per il robot? gestire le complicazioni? far gestire il feedback “sporco” dato da US? controllare l’interazione con i tessuti? gestire l’interazione con il chirurgo?
Introduzione -- 40
Pag. 20
Controllo di Robot Industriali
!"#!$%&'!()*+$),&*!)-./)0!-123
Cryoablation
Cryoablation: performs cycles of freeze and defreeze to kill biological tissue. !"#!$%&'!()*+$),&*!)-./)0!-123
Cryoprobe
Puncturing use case Tumor in Kidney
Robotica Chirurgica ISUR (Intelligent Surgery)
•
± Spherical shape, Ø 1,5 - 2 cm ± Central and Cortico-medullar location ± Posterior side, inferior pole of kidney
Forbidden regions
50%in ± 50%out
± Ribs XI ± XII ± intercostal nerves, iliohypogastric and ilioinguinal nerves
Iceball: the distribution of Rib the temperature insideRibthe Rib XII XII ice ball is not uniform but is XI described by set of isotherms:
Planning the position
of cryoprobes: Puncturing à Crioablazione
Cryoprobe
Æ Total coverage of tumor, 100% Æ Minimize damage, extend coverage on !"#!$%&'!()*+$),&*!)-./)0!-123 health tissue of 5 - 10 mm !"#!$%&'!()*+$),&*!)-./)0!-123
3. Simplified anastomosis
Cutting ± task
4.5&.!!$&.5)67-$!.!((89
!"#$%"&&"'('$!)*'#+*&*)$,#-+*+.+'/$,0!1%$2''+*#3$4$5*("#/$6.#'$78/$79::$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Left side Right side
4.5&.!!$&.5)67-$!.!((89
!"#$%"&&"'('$!)*'#+*&*)$,#-+*+.+'/$,0!1%$2''+*#3$4$5*("#/$6.#'$78/$79::$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Continuous suturing of two hollow bodies
•
The surgical action of cutting refers to an incision produced by cutting Dexterity requirements: with a sharp instrument Bodies handling Suturing path planning The surgical procedure of LAPAROTOMY requires the execution of a Suture halves management safe and controlled cutting action Cutting ± use case
Suturing à Anastomosi
!"#!$%&'!()*+$),&*!)-./)0!-123
Extra: Hemostasis check (depending on the availability of the phantom) !"#$%"&&"'('$!)*'#+*&*)$,#-+*+.+'/$,0!1%$2''+*#3$4$5*("#/$6.#'$78/$79::$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
•
Cut the abdominal wall layers to reach the organs in abdomen
4.5&.!!$&.5)67-$!.!((89
Cutting à Laparotomia
Skin Subcutaneous Fat Muscular layers ± rectus and linea alba Pre-peritoneal fat Peritoneum
!"#$%"&&"'('$!)*'#+*&*)$,#-+*+.+'/$,0!1%$2''+*#3$4$5*("#/$6.#'$78/$79::$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
4.5&.!!$&.5)67-$!.!((89
Midline Incision Introduzione -- 41 Vertical cut along the linea alba
Cristian Secchi
!"#$%"&&"'('$!)*'#+*&*)$,#-+*+.+'/$,0!1%$2''+*#3$4$5*("#/$6.#'$78/$79::$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
4.5&.!!$&.5)67-$!.!((89
Associazioni http://www.ifr.org/ http://www.robotics.org
http://www.jara.jp/e/index.html
http://www.robosiri.it/ http://www.cs.uow.edu.au/isase/ara/ http://www.bara.org.uk/ http://www.euron.org/ http://www.robotics-in-europe.org/
International Federation of Robotics USA Giappone Italia: SIRI – ASS. IT. DI ROBOTICA Australia Inghilterra: Robotica & Automazione Robotica in Europa (ricerca) Robotica in Europa (tutti)
http://www.robocup.org/ http://www.fira.net/
Cristian Secchi
Cristian Secchi
Introduzione -- 42
Pag. 21
Controllo di Robot Industriali
Struttura e componenti di un robot Un robot è un sistema costituito da: Un sistema per la sua programmazione e controllo
Una parte meccanica, detta manipolatore.
Teach-pendant
Cristian Secchi
Introduzione -- 43
Il 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 • Immagazzinamento dati • Pianificazione dei movimenti del manipolatore • Controllo in tempo reale del moto dei giunti • Interazione con altri dispositivi • Monitoraggio dei sensori Cristian Secchi
Cristian Secchi
Introduzione -- 44
Pag. 22
Controllo di Robot Industriali
Il 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
End-effector
Polso
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 tipi di end-effector: pinze, saldatori, mani,… L’end-effector è collegato al manipolatore tramite uno snodo, il polso, che che consente di orientarlo arbitrariamente.
Base Introduzione -- 45
Cristian Secchi
Strutture meccaniche per i robot Per la costruzione di robot, vengono adottate diverse strutture meccaniche. Tra le più comuni si hanno:
Configurazione Cartesiana
Configurazione Cilindrica
Configurazione SCARA
Configurazione Antropomorfa
Cristian Secchi
Cristian Secchi
Introduzione -- 46
Pag. 23
Controllo di Robot Industriali
Strutture meccaniche per i robot
Configurazione Cartesiana
Configurazione Cilindrica
Configurazione SCARA
Configurazione Antropomorfa
Cristian Secchi
Introduzione -- 47
Strutture 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 destrezza, cioè può raggiungere punti anche molto distanti dalla base.
Cristian Secchi
Cristian Secchi
Introduzione -- 48
Pag. 24
Controllo di Robot Industriali
Spazio 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.
Cristian Secchi
Introduzione -- 49
Tipi 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
Giunti più complessi (sferici, elicoidali, …) possono essere ottenuti mediante opportune combinazioni di giunti rotoidali e giunti prismatici. Cristian Secchi
Cristian Secchi
Introduzione -- 50
Pag. 25
Controllo di Robot Industriali
Tipi di giunto TTT
RRT Cristian Secchi
RT
RRR Introduzione -- 51
Gradi 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 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’endeffector 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. Cristian Secchi
Cristian Secchi
Introduzione -- 52
Pag. 26
Controllo di Robot Industriali
Spazio 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-1-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
Cristian Secchi
Introduzione -- 53
Spazio 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.
Determinare la configurazione dell’end-effector a partire dalla configurazione dei giunti e viceversa è un problema cinematico.
Cristian Secchi
Cristian Secchi
Introduzione -- 54
Pag. 27
Controllo di Robot Industriali
Problematiche in robotica
•
Problemi cinematici
• • •
Cinematica diretta Cinematica inversa Cinematica differenziale
•
Problemi dinamici
•
Controllo di un robot
• • •
Modellazione cinematica e dinamica delle macchine
Modellistica dinamica di un robot
Controllo Robot Industriali
Controllo di posizione Controllo di Forza
Cristian Secchi
Introduzione -- 55
Controllo 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. Esistono svariati modelli dinamici per i robot (Eulero-Lagrange, NewtonEulero,…) ciascuno con i suoi pregi e i suoi difetti. Il più generale e utilizzato nel controllo di robot è il modello di Eulero-Lagrange.
Cristian Secchi
Cristian Secchi
Introduzione -- 56
Pag. 28
Controllo di Robot Industriali
Esempi di robot cartesiani a antropomorfi
Cristian Secchi
Introduzione -- 57
Modelli dei robot
Cristian Secchi
Cristian Secchi
Introduzione -- 58
Pag. 29
Controllo di Robot Industriali
Possiamo usare le tecniche di Controlli Automatici? Nel corso di Controlli Automatici modellavamo il plant mediante una funzione di trasferimento
G(s) =
Y ( s) U ( s)
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:
C ( s) =
U (s) E ( s) Introduzione -- 59
Cristian Secchi
Possiamo usare le tecniche di Controlli Automatici?
R(s) + E(s) -
Cristian Secchi
Cristian Secchi
C(s)
U(s)
G(s)
Y(s)
Introduzione -- 60
Pag. 30
Controllo di Robot Industriali
Possiamo usare le tecniche di Controlli Automatici? Funzioni di Trasferimento
Robot Antropomorfi
Robot Cartesiani
Vicoli su ingressi e uscite
Un solo ingresso e una sola uscita
Più ingressi (le coppie ai giunti) e più uscite (es.: posizioni e/o velocità ai giunti)
Più ingressi (le coppie 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’equazione differenziale lineare
Controllori
Legano due grandezze scalari
Legano due grandezze vettoriali
Legano due grandezze vettoriali
Non è possibile utilizzare i concetti di controlli automatici né per modellare né per controllare un sistema robotico.
Introduzione -- 61
Cristian Secchi
Concetto 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.
Cristian Secchi
Cristian Secchi
u
S
y
ingresso
Sistema
uscita
Introduzione -- 62
Pag. 31
Controllo di Robot Industriali
Concetto 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. U u(t)
T
t
Y y(t)
Cristian Secchi
Introduzione -- 63
Concetto 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).
Cristian Secchi
Cristian Secchi
Introduzione -- 64
Pag. 32
Controllo di Robot Industriali
Concetto di Sistema Si consideri il seguente circuito I
R
u
Cristian Secchi
C
y
R=1 Ω C=1 F
Introduzione -- 65
Concetto di Sistema Condensatore Scarico (Ep=1/2Cq2=0 J)
Cristian Secchi
Cristian Secchi
Condensatore Carico (Ep=1/2Cq2=1 J)
Introduzione -- 66
Pag. 33
Controllo di Robot Industriali
Concetto 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
L’uscita dipende dal segnale in ingresso E dalla carica sul condensatore Cristian Secchi
Introduzione -- 67
Concetto 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é 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 t2 ¸ t1.
Cristian Secchi
Cristian Secchi
Introduzione -- 68
Pag. 34
Controllo di Robot Industriali
Concetto 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 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.
Cristian Secchi
Introduzione -- 69
Scelta delle variabili di stato Quali variabili devono essere scelte come variabili di stato? Nei sistemi fisici la condizione del sistema è determinata da accumuli di energia, 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) 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. Cristian Secchi
Cristian Secchi
Introduzione -- 70
Pag. 35
Controllo di Robot Industriali
Esempi di Sistemi – Semplice Circuito Elettrico R1
A
E R2
u
y x
C F
B
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.
Introduzione -- 71
Cristian Secchi
Esempi di Sistemi – Sistema Meccanico
x1
x2 m
k
u
b y 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. Cristian Secchi
Cristian Secchi
Introduzione -- 72
Pag. 36
Controllo di Robot Industriali
Esempi di Sistemi – Robot antropomorfo a 2 gdl
Il sistema ha 2 ingressi, le coppie τ1 e τ2 applicate ai giunti. L’uscita y è la posizione 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)
Cristian Secchi
Introduzione -- 73
Definizione 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 funzioni di ingresso ammissibili del tipo u(·)∈ Ω | u(·): T à U • Un insieme di valori di stato X • Un insieme di valori di uscita Y • Un insieme Γ di funzioni di uscita ammissibili del tipo y(·) ∈ Γ | y(·):T à Y E dalle seguenti funzioni: Cristian Secchi
Cristian Secchi
Introduzione -- 74
Pag. 37
Controllo di Robot Industriali
Definizione di sistema • Funzione di transizione dello stato:
Dove
x(t)=φ(t,t0,x(t0),u(·))
• Funzione di uscita:
Dove
1) t0 ∈ T è l’istante iniziale 2) t ∈ T è l’istante attuale 3) x(t0) ∈ X è lo stato iniziale 4) x(t) ∈ X è lo stato attuale 5) u(·) ∈ Ω è la funzione che definisce la sequenza dei valori di ingresso nell’intervallo [t0,t]
y(t)=η(t,x(t),u(t)) 1) t ∈ T è l’istante attuale 2) x(t) ∈ X è lo stato attuale 3) u(t) ∈ U è l’ingresso attuale
Cristian Secchi
Introduzione -- 75
Definizione 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.
Durante il corso verranno introdotti i risultati nel caso a tempo continuo e poi si illustrerà la loro estensione al tempo discreto
Cristian Secchi
Cristian Secchi
Introduzione -- 76
Pag. 38
Controllo di Robot Industriali
Proprietà di scomposizione E’ possibile scomporre in sistema in due parti distinte:
Parte dinamica u(¢)
x(t)
Parte algebrica y(t)
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 certo istante t • Parte algebrica del sistema: La funzione di uscita esprime l’uscita utilizzando le grandezza note all’istante t
Cristian Secchi
Introduzione -- 77
Movimento, traiettoria ed equilibrio • Definiamo evento la coppia tempo-stato:
• Definiamo movimento (o moto), considerato nell’intervallo t 2 [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 nell’intervallo t 2 [t0,t1], cioè
La traiettoria è, quindi, definita in X Cristian Secchi
Cristian Secchi
Introduzione -- 78
Pag. 39
Controllo di Robot Industriali
Movimento, traiettoria ed equilibrio
Traiettoria x0
x1
x2
(t0,x0) (t1,x1) T
Movimento
X
(t2,x2) (t3,x2) (t4,x2)
Cristian Secchi
Introduzione -- 79
Movimento, 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 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 :
Cristian Secchi
Cristian Secchi
Introduzione -- 80
Pag. 40
Controllo di Robot Industriali
Sistemi 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 • La funzione di uscita è continua nei suoi argomenti
Cristian Secchi
Introduzione -- 81
Rappresentazione di Sistemi regolari Il movimento x(t)=φ(t,t0,x(t0),u(·)) è la soluzione di un’equazione differenziale vettoriale del tipo
Consideriamo il caso di un sistema regolare con n variabili di stato, m ingressi e p uscite. Esso è rappresentabile dalle seguenti equazioni:
Cristian Secchi
Cristian Secchi
Introduzione -- 82
Pag. 41
Controllo di Robot Industriali
Rappresentazione di Sistemi Regolari
Cristian Secchi
Introduzione -- 83
Rappresentazione di Sistemi Regolari I vettori
sono, rispettivamente, i vettori di • Stato: x(t) ∈ X, X=Rn • Ingresso: u(t) ∈ U, U=Rm • Uscita: y(t) ∈ Y, Y=Rp all’ istante t ∈ T=R
Cristian Secchi
Cristian Secchi
Introduzione -- 84
Pag. 42
Controllo di Robot Industriali
Rappresentazione 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
Il sistema descritto da queste equazioni è detto di dimensione n con m ingressi e p uscite.
Cristian Secchi
Introduzione -- 85
Sistemi tempo-invarianti (o stazionari) Un sistema si dice tempo-invariante (o stazionario) se l’evoluzione del sistema non dipende dal particolare istante iniziale.
In generale, le equazioni che rappresentano un sistema dinamico tempo-invariante sono:
Il tempo non appare esplicitamente né nella funzione di stato né nella funzione di uscita.
Cristian Secchi
Cristian Secchi
Introduzione -- 86
Pag. 43
Controllo di Robot Industriali
Sistemi a tempo discreto
• • •
La teoria presentata per i sistemi tempo continui, vale anche per i sistemi tempo discreti Nel caso tempo discreto, il concetto di derivata dello stato è sostituito dal concetto di stato all istante successivo Un sistema regolare, tempo invariante a tempo discreto può sempre essere rappresentato come:
⎧ x(k + 1) = f ( x(k ), u (k )) ⎨ ⎩ y (k ) = g ( x(k ), u (k )) •
dove k ∈ Z, rappresenta il tempo discreto. Nel caso di sistemi a dati campionati, con k si può sottointender kT, dove T è il periodo di campionamento
Cristian Secchi
Introduzione -- 87
Esempio: Manipolatore a n gradi di libertà
Le variabili di stato sono le posizioni e le velocità di giunto. Se
sono i vettori delle variabili di giunto e delle coppie, la dinamica del manipolatore è data da:
Cristian Secchi
Cristian Secchi
Introduzione -- 88
Pag. 44
Controllo di Robot Industriali
Esempio: Manipolatore a n gradi di libertà Ponendo
le equazioni dinamiche del sistema possono essere riscritte come
Cristian Secchi
Introduzione -- 89
Tipologie di sistemi 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 • SISO (Single Input Single Output): sistema con un solo ingresso (m=1) e una sola uscita (p=1)
Cristian Secchi
Cristian Secchi
Introduzione -- 90
Pag. 45
Controllo di Robot Industriali
Tipologie di sistemi regolari I sistemi dinamici possono essere classificati in base alla struttura delle equazioni che li rappresentano. Sistemi lineari: Le equazioni differenziali sono lineari nell’ingresso e nello stato
Robot Cartesiani, sistemi elettrici, sistemi idraulici, ecc.
Sistemi non lineari: Le equazioni differenziali non sono lineari
Altri tipi di robot (es.: antropomorfo), sistemi molto complessi, ecc.
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. Introduzione -- 91
Cristian Secchi
CONTROLLO DI ROBOT INDUSTRIALI Laurea Magistrale in Ingegneria Meccatronica
CONTROLLO DI ROBOT INDUSTRIALI INTRODUZIONE
Ing. Cristian Secchi Tel. 0522 522235 e-mail:
[email protected] http://www.dismi.unimo.it/Members/csecchi
Cristian Secchi
Pag. 46