CONTROLLO DI ROBOT INDUSTRIALI INTRODUZIONE

4 downloads 281 Views 18MB Size Report
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