Comments
Description
Transcript
Controllo di forza
Introduzione Cedevolezza passiva Cedevolezza attiva Controllo di forza per robot Claudio Melchiorri Dipartimento di Elettronica, Informatica e Sistemistica (DEIS) Università di Bologna email: [email protected] Claudio Melchiorri Controllo di forza per robot 1 Introduzione Cedevolezza passiva Cedevolezza attiva Sommario 1 Introduzione Controllo dell’interazione con l’ambiente 2 Cedevolezza passiva Remote Center of Compliance 3 Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Claudio Melchiorri Controllo di forza per robot 2 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Controllo dell’interazione con l’ambiente I manipolatori interagiscono con l’ambiente: modificandone lo stato (pick-and-place, saldatura, verniciatura...); applicando forze (assiemaggio, rifinitura, ...). Diverse modalità di operazione: Controllo del MOVIMENTO Controllo dell’INTERAZIONE Applicazione e controllo di forze =⇒ cedevolezza (compliance) del sistema robot-ambiente. Claudio Melchiorri Controllo di forza per robot 3 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Controllo dell’interazione con l’ambiente Cedevolezza PASSIVA: dispositivi meccanici appositi installati al polso del robot che reagiscono in modo opportuno a forze esterne (RCC: Remote Center of Compliance). Pregi: semplicità, basso costo; Difetti: scarsa versatilità, utilizzo limitato. Cedevolezza ATTIVA: ottenuta tramite opportune leggi di controllo: il robot reagisce in modo programmato a forze esterne applicate all’end-effector (sensore di forza). Pregi: flessibilità operativa; Difetti: complessità computazionale, modello dell’ambiente. Claudio Melchiorri Controllo di forza per robot 4 Introduzione Cedevolezza passiva Cedevolezza attiva Remote Center of Compliance RCC applicazione di forze/coppie traslazione e rotazione Claudio Melchiorri solo traslazione o solo rotazione Controllo di forza per robot 5 Introduzione Cedevolezza passiva Cedevolezza attiva Remote Center of Compliance RCC Dispositivo RCC - Remote Center of Compliance Center of Compliance: punto dello spazio in cui - le forze di contatto causano solo traslazioni (no rotazioni) - le coppie causano solo rotazioni (no traslazioni). Claudio Melchiorri Controllo di forza per robot 6 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo dell’interazione con l’ambiente Applicazioni più evolute: controllo dei movimenti del robot MENTRE si applicano forze controllate all’ambiente. Lavorazioni industriali (assiemaggio, lucidatura, rifinitura, ...) Claudio Melchiorri Controllo di forza per robot 7 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo di forza Manipolazione tra robot cooperanti: sistemi multi-robot mani articolate Claudio Melchiorri Controllo di forza per robot 8 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo di forza Interazione uomo-robot: cooperazione in ambito industriale assistenza servizio Claudio Melchiorri Controllo di forza per robot 9 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo di forza Telemanipolazione; Esplorazione di oggetti/ambienti non noti. Claudio Melchiorri Controllo di forza per robot 10 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo di forza Sistemi ”haptic”; Simulazione e resa di sensazioni ”fisiche” di ambienti di realtá virtuale. Claudio Melchiorri Controllo di forza per robot 11 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo di forza Richieste di movimenti controllati con l’applicazione di forze desiderate: =⇒ specifiche IBRIDE Le forze al contatto sono: CONTROLLATE indirettamente, tramite schemi di controllo di posizione e sulla base di un modello della cedevolezza del sistema robot/ambiente; direttamente, tramite la loro misura con opportuni sensori. MANTENUTE LIMITATE Claudio Melchiorri Controllo di forza per robot 12 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo di forza Diverse tecniche adottabili: CONTROLLO DI “PURA FORZA” (pure force control) utilizzato in operazioni quasi statiche; CONTROLLO ATTIVO DI RIGIDEZZA (active stiffness control) controllo della forza tramite il controllo di posizione utilizzando un modello elastico; CONTROLLO DI IMPEDENZA (impedence control) comportamento dinamico desiderato dell’end-effector; CONTROLLO IBRIDO DI POSIZIONE/FORZA (hybrid position/force control) si scompongono le direzioni nello spazio operativo in direzioni controllate in posizione e direzioni controllate in forza (sia utilizzando modelli cinematici del compito che modelli dinamici del robot) Claudio Melchiorri Controllo di forza per robot 13 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo della rigidezza (stiffness control) Molle in parallelo e molle in serie Date due molle di rigidezza ka e kb poste in parallelo, si ha f = k ∆x = fa + fb = ka ∆x + kb ∆x = (ka + kb )∆x quindi la rigidezza delle due molle si somma e k = ka + kb Date due molle di rigidezza ka e kb poste in serie, si ha 1 ka + kb f 1 f + + ∆x = ∆xa +∆xb = = f = f ka kb ka kb ka kb da cui ka kb ∆x ka + kb in questo caso la cedevolezza delle due molle si somma e kb k = kka+k f = k ∆x = a b Claudio Melchiorri Controllo di forza per robot 14 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo della rigidezza (stiffness control) Idea base: forza sull’ambiente: dinamica del sistema: Claudio Melchiorri fe = ke (x − xe ) mẍ + ke (x − xe ) = f Controllo di forza per robot 15 Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Introduzione Cedevolezza passiva Cedevolezza attiva Controllo della rigidezza (stiffness control) mẍ + ke (x − xe ) = f = kp (xd − x) − kv ẋ mẍ + kv ẋ + (kp + ke )x = kp xd + ke xe A regime x= kp xd + ke xe kp + ke ma allora fe kp xd + ke xe − xe kp + ke = ke = ke kp (xd − xe ) kp + ke Molle in serie! “molla” robot + “molla” ambiente se ke >> kp allora fe ≈ kp (xd − xe ) (robot cedevole) se kp >> ke allora fe ≈ ke (xd − xe ) (ambiente cedevole) Claudio Melchiorri Controllo di forza per robot 16 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo della rigidezza (stiffness control) Si può dimostrare che l’ingresso f = kp (xd − x) − kv ẋ con kp > 0, kv > 0 stabilizza il sistema e che a regime fe = kp ke (xd − xe ) kp + ke e se ke >> kp allora fe ≈ kp (xd − xe ) =⇒ Controllo di forza ottenuto mediante un controllo di posizione. La rigidezza del sistema è definita dal guadagno kp . Claudio Melchiorri Controllo di forza per robot 17 Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Introduzione Cedevolezza passiva Cedevolezza attiva Controllo della rigidezza (stiffness control) Per un manipolatore ad n gradi di libertà. Ambiente elastico: w= f n = Kf 0 0 Kn dp ωdt =K dp ωdt Utilizzando coordinate di spazio operativo (RPY, ...) w = KTA (x)dx = KTA (x)(xe − x) Utilizzando lo Jacobiano analitico si ha (da J = TA JA e JT w = JTA wA ): wA = TTA (x)KTA (x)dx = KA (x)(xe − x) KA è la matrice di rigidezza, è semi-definita positiva (l’ambiente può non resistere a forze lungo tutte le direzioni), K−1 A (se esiste) è la matrice di cedevolezza. Il R(KA ) individua le direzioni lungo le quali si possono applicare forze. Claudio Melchiorri Controllo di forza per robot 18 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo della rigidezza (stiffness control) Modello dinamico robot: Controllo M(q)q̈ + C(q, q̇)q̇ + Dq̇ + g(q) = u + JT (q)w u = g(q) + JTA (q)KP x̃ − JTA KD JA (q)q̇ PD + g(q): a regime: JTA (q)KP x̃ = −JT (q)w e se lo Jacobiano è invertibile T −1 x̃ = −K−1 P TA (x)w = −KP wA cedevolezza definita da K−1 P . Se diagonale, lineare per le forze e indipendente dalla configurazione, NON vero per le coppie (TA )! Si ha x̃ = −K−1 P KA (x)(xe − x) e a regime x∞ = −1 (I + K−1 (xd + K−1 P KA (x)) P KA xe ) wA,∞ = −1 (I + K−1 KA (xe − xd ) P KA (x)) Claudio Melchiorri Controllo di forza per robot 19 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo della rigidezza (stiffness control) Si è ottenuto: x∞ = −1 (I + K−1 (xd + K−1 P KA (x)) P KA xe ) wA,∞ = −1 (I + K−1 KA (xe − xd ) P KA (x)) I valori di equilibrio dipendono dai valori di riposo xe e dai valori specificati xd . Interazione tra robot ed ambiente specificata dalle matrici di cedevolezza KA , KP : si può rendere rigido il manipolatore lungo direzioni a controllo di posizione (alti valori di KP,ii ); rendere “cedevole” il manipolatore lungo le direzioni a controllo di forza (bassi valori di KP,ii ). Claudio Melchiorri Controllo di forza per robot 20 Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Introduzione Cedevolezza passiva Cedevolezza attiva Esempio KA = Si ottiene a regime p∞ = kPx xd +kx xe kPx +kx yd kx 0 0 0 Claudio Melchiorri pd = f∞ = xd yd kPx kx kPx +kx KP = (xe − xd ) 0 Controllo di forza per robot kPx 0 0 kPy 21 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Esempio =⇒ La direzione y non è vincolata (a regime y = yd ); =⇒ La direzione x ha una rigidezza pari alla composizione in parallelo dei coefficienti di rigidezza del manipolatore e dell’ambiente: se kPx ≫ kx allora x∞ ≈ xd fx,∞ ≈ kx (xe − xd ) l’ambiente è più “elastico” del manipolatore, e cede fino quasi a xd generando la forza elastica (cedevolezza passiva); se kPx ≪ kx allora x∞ ≈ xe fx,∞ ≈ kPx (xe − xd ) il manipolatore è più “elastico” dell’ambiente, e caratterizza la forza generata (cedevolezza attiva). Claudio Melchiorri Controllo di forza per robot 22 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo della cedevolezza nello spazio dei giunti Modello dinamico del manipolatore nello spazio dei giunti: M(q)q̈ + C(q, q̇)q̇ + Dq̇ + g(q) = u + JT (q)w u = g(q) + KP q̃ − KD q̇ a regime: KP q̃ = −JT (q)w da cui T q̃ = −K−1 P J (q)w per piccole variazioni si può assumere x̃ = JA (q)q̃ e quindi T x̃ = −JA (q)K−1 P JA (q)wA Si ha una cedevolezza attiva nello spazio dei giunti. La matrice di cedevolezza ora T dipende dalla configurazione del manipolatore (JA (q)K−1 P JA (q)) −1 T w Prima era x̃ = −K−1 w = −K T A A P P Claudio Melchiorri Controllo di forza per robot 23 Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Introduzione Cedevolezza passiva Cedevolezza attiva Controllo d’impedenza Non si cerca di inseguire traiettorie di movimento o di forza, ma si definisce una relazione (dinamica) tra le velocità e le forze. Si definisce una dinamica desiderata nello spazio operativo. Analogo meccanico: forza =⇒ tensione velocità =⇒ corrente Si ha quindi w(s) = Z (s) ẋ(s) ovvero w(s) = sZ (s) x(s) Si pone sZ (s) = −(Md s 2 + Dd s + Kd ) e si ottiene il sistema Md ẍ + Dd ẋ + Kd x = −w che rappresenta il comportamento desiderato del manipolatore. Claudio Melchiorri Controllo di forza per robot 24 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo d’impedenza Il controllo viene progettato in due passi: 1) Linearizzazione nello spazio operativo. Il modello dinamico è M̂(x)ẍ + Ĉ(x, ẋ)ẋ + ĝ(x) = F + Fa dove M̂ = (JM−1 JT )−1 = J−T MJ−1 Ĉ = M̂(JM−1 CJ−1 − J̇J−1 ) = J−T CJ−1 − M̂J̇J−1 ĝ = M̂JM−1 g = J−T g ponendo F = [M̂(x)y + Ĉ(x, ẋ)ẋ + ĝ(x) − Fa ] si ottiene il modello lineare ẍ = y Claudio Melchiorri Controllo di forza per robot 25 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo d’impedenza 2) Imposizione del modello desiderato d’impedenza: y = ẍd + M−1 d [Dd (ẋd − ẋ) + Kd (xd − x) − Fa ] da cui Md (ẍd − ẍ) + Dd (ẋd − ẋ) + Kd (xd − x) = Fa dove: Md è la matrice d’inerzia apparente; Kd è la matrice di rigidezza desiderata; Dd è la matrice di smorzamento; Claudio Melchiorri Controllo di forza per robot 26 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo d’impedenza Scelta dell’impedenza: evitare elevate forze d’impatto dovute ad incertezze sul posizionamento e forma dell’ambiente; adattarsi alle caratteristiche di rigidezza dell’ambiente; comportamento “umano”: veloce e rigido durante i movimenti liberi; lento e cedevole durante l’avvicinamento e contatto. Allora: alti valori di Md,i e piccoli valori di Kd,i lungo direzioni nello spazio operativo dove si prevedono contatti; alti valori di Kd,j e piccoli valori di Md,j nelle direzioni libere dello spazio operativo; se l’ambiente è rigido, bassi valori di Kd,i ; i valori Dd,k sono utilizzati per modificare i transitori. Claudio Melchiorri Controllo di forza per robot 27 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo ibrido di posizione e forza Idea base: durante l’esecuzione di compiti che prevedono contemporaneamente movimenti ed applicazione di forze, spesso le direzioni di applicazione di forze sono diverse da quelle di movimento. Divisione delle sei “direzioni” in: Direzioni controllate in posizione; Direzioni controllate in forza. Claudio Melchiorri Controllo di forza per robot 28 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo ibrido di posizione e forza VINCOLI NATURALI, VINCOLI ARTIFICIALI Si possono definire, in un opportuno sistema di riferimento, i: VINCOLI NATURALI, direzioni in cui il compito impone dei vincoli di posizione (velocità) o di forza; VINCOLI ARTIFICIALI, direzioni lungo le quali si possono imporre dei vincoli tramite il sistema di controllo. Questi vincoli sono complementari ed insieme definiscono i 12 gradi di libertà di un compito (6 di posizione e 6 di forza). Claudio Melchiorri Controllo di forza per robot 29 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo ibrido di posizione e forza ESEMPIO: “peg in hole”. Rispetto ad un sdr centrato nel piolo V.N. vx vy ωx ωy fz nz V.A. fx fy nx ny vz ωz Claudio Melchiorri Controllo di forza per robot 30 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo ibrido di posizione e forza I vincoli artificiali definiscono delle direzioni lungo le quali è possibile imporre dei valori arbitrari di una certa grandezza (posizione/forza). È quindi facile arrivare a definire una struttura di controllo “ibrida” che impone valori opportuni in questi spazi vettoriali. Si consideri per primo il caso delle velocità v. Dati i vincoli naturali ed artificiali, si può scomporre v in due componenti v = va + vn in cui i moti “liberi” (velocità) va sono complementari ai moti vn , cioè vaT vn = 0 È possibile definire per un dato compito una matrice base Av che descrive tutte le velocità libere: tale che va = Av y Av ∈ IR6×na ed una matrice base Nv che descrive le rimanenti componenti Nv ∈ IR6×6−na tale che vn = Nv z con AT v Nv = 0 Data la matrice Av , l’obiettivo è quello di controllare posizioni in R(Av ). Claudio Melchiorri Controllo di forza per robot 31 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo ibrido di posizione e forza Si ha dunque che si vogliono controllare solo le componenti di un generico vettore v che verificano ATv v = ATv Av y + ATv Nv z da cui va = Av y = Av (ATv Av )−1 ATv v = Σv v La matrice Σv prende il nome di matrice di selezione, ed è, nel sdr di contatto, in generale di forma diagonale, con elementi “1” e “0” sulla diagonale. NB: la matrice Σv è un proiettore da IR6 in R(Av ). Claudio Melchiorri Controllo di forza per robot 32 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo ibrido di posizione e forza ESEMPIO: Nel caso del “peg in hole” si ha 0 0 0 0 0 0 0 1 0 Σv = Av = 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Con ragionamenti analoghi, nel dominio delle forze si arriva a definire una matrice base dei vincoli artificiali Af tale per cui tutte le componenti di forza che si possono controllare sono descritte da −1 T Af Σf = Af (AT f Af ) Nel caso “peg in 1 0 0 Af = 0 0 0 hole” si ha 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 Claudio Melchiorri Σf = 1 0 0 0 0 0 0 1 0 0 0 0 Controllo di forza per robot 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 33 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo ibrido di posizione e forza NB: in questo esempio risulta ATv Af = 0, dim(Av ) + dim(Af ) = 6, Σv = I − Σf , ma ciò non è sufficiente a dire che i due spazi descritti da Av e Af sono ortogonali, in quanto non è definito il prodotto scalare tra gli spazi di forza e velocità. La relazione, dimensionalmente corretta, wT u̇ = 0 implica semplicemente che il lavoro svolto è nullo, e non esprime l’ortogonalità tra w e u̇, ma la loro reciprocità. Claudio Melchiorri Controllo di forza per robot 34 Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Introduzione Cedevolezza passiva Cedevolezza attiva Controllo ibrido di posizione e forza In generale, non esiste prodotto scalare in senso Euclideo negli spazi vettoriali IR6 di forze e velocità, in quanto T T ẋ u̇T u̇ = ẋ ωT ω i m h T T = ẋ ẋ + ω ω = sec + rad sec =?? Inoltre, tali prodotti scalari risultano non invarianti rispetto a traslazioni del sdr e/o cambiamenti delle unità di misura (m, cm, in, Kg, ...). In teoria, si devono introdurre metriche particolari in questi spazi. ESEMPIO: Energia Cinetica M = diag {mI3 , Im } u̇T Mu̇ = = ẋ mI3 0 ω 0 Im h i h i T T Kg m mẋ ẋ + ω Im ω = + Kg m sec sec ẋT ωT T Claudio Melchiorri Controllo di forza per robot 35 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo ibrido di posizione e forza Una volta ottenute le matrici di selezione Σv , Σf , si possono definire i seguenti schemi concettuale di controllo: 1. Controllo nello spazio di giunto: Trasf. Coord. ẋd - ? l Σv - Trasf. Coord. - C. P. τv ? l - Robot 6 wd - l - Σf - Trasf. Coord. - C. F. τf q̇ f - 6 Trasf. Coord. Claudio Melchiorri Controllo di forza per robot 36 Introduzione Cedevolezza passiva Cedevolezza attiva Controllo dell’interazione con l’ambiente Stiffness Control Impedance Control Hybrid Position/Force Control Controllo ibrido di posizione e forza 2. Controllo nello spazio operativo: ẋd - m ? Σf Trasf. Coord. C. P. ? m- Trasf. Coord. 6 q̇ - Robot f C. F. wd - 6 m Σf - Claudio Melchiorri - Trasf. Coord. Controllo di forza per robot 37