CONTROL DE ROBOTSmaria/control1.pdf · Control de Robots (I) Objetivo: Que la trayectoria seguida...

Post on 12-Sep-2018

224 views 0 download

Transcript of CONTROL DE ROBOTSmaria/control1.pdf · Control de Robots (I) Objetivo: Que la trayectoria seguida...

CONTROL DE ROBOTS

Índice

¿Qué es el control de robots?Reductores:

Control monoarticular:

Control PIDControl PID con compensación de la gravedadControl PID con compensación por adelantoPlanificación de ganancias

Control multiarticularControl por modelo inversoControl multivariable desacoplado: control por par calculado

Aspectos prácticos de la implementación del controlador.

Sistema de control

qd eGenerador de

trayecto-rias

Controlador Actuador Robot

u τ q

Sensor

-+

Actuador: motor de corriente continuaq: posición de la articulaciónqd: posición deseada de la articulación (generador de trayectorias)e: error = qd - q

Control de Robots (I)

Objetivo: Que la trayectoria seguida por el robot [q(t)] sea lo más parecida a la propuesta por la planificación de trayectorias [qd(t)]

Solución inicial: Utilizar los modelos dinámicos del robot (Lagrange-Euler, Newton-Euler...)

Inconveniente de los modelos dinámicos:No-linealesMultivariablesAcopladosParámetros variantes en el tiempo

El control basado en los modelos dinámicos es complejo: mucho coste computacional.

Control de Robots (II)

Solución práctica: Trabajar con un modelo para cada articulación por separado (aprovechando el factor de reducción para desacoplar las articulaciones) => Control monoarticular.

Reductores: si la articulación presenta reductores (o engranajes) se reduce la velocidad del movimiento y se disminuye el acoplamiento entre ejes.

Con reductores, la posición de las articulaciones [q(t)] está relacionada con la posición del actuador: [qa(t)]:

qa = K q

y K es una matriz diagonal con los factores de reducción kii >>1

Reductores (I)

Consecuentemente se cumple que:

El modelo dinámico del robot (Langrange-Euler) en presencia de reductores:

Si se separa en D1 los términos constantes de D en la diagonal y en D2 el resto de los términos:

Con τp es el par perturbador (el generado por el movimiento del resto de las articulaciones).

qKqa && = qKqa &&&& = τ=τ −1Ka

( ) ( ) ( )qcqq,hqqD ++= &&&τ

cKhKqKDK 11a

11a

−−−− ++= &&τ

44444 344444 21&&&&

p

cKhKqKDKqKDK 11a

12

1a

11

1a

τ

−−−−−− +++=τ

Reductores (II)

Si los factores de reducción son suficientemente grandes: τp << τa, con lo que puede considerarse el movimiento de cada articulación desacoplado del movimiento del resto de las articulaciones

Reductores (III)

¿ Cuándo puede plantearse el control separado de las articulaciones?:

Sólo para robots de accionamiento indirecto con reductores (o engranajes de elevada relación).

Inconvenientes de los engranajes: Introducción de holguras en latransmisión, Aumento del rozamiento

Ventajas: desacoplan al sistema, reducen la velocidad de las articulaciones, simplifican el modelo dinámico del robot.

Ejemplo:K11 = k22 = 100m1=10, m2=1L1=0.1g=10

Reductores (IV)

Actuador

Diseño del controlador: utilizando el modelo dinámico del actuador: motor eléctrico de corriente continua

Modelo simplificado del actuador: el accionamiento eléctrico se supone suficientemente rápido como para aproximarlo por una ganancia constante: τ = Ku.

Control PID (I)

Se realimenta la diferencia entre la posición de la coordenada generalizada deseada y la real

Control más frecuente: PID

)t(d)t(dekdt)t(ek)t(ek)t(u dip ++= ∫

)s(eskskkk)s(e)s(Rku d

ip ⎟

⎞⎜⎝

⎛ ++== −− 11

Control PID (I)

τ = (J s + B)s q + τpτ = k k-1 R(s) e

Si no hay cambio en la referencia: qd = 0

Si no hay perturbaciones: τ p= 0

El controlador PID tiene que actuar en ambos casos para hacer el error = 0

s)BJs()s(Rsq)BJs(

)s(e dp++

++τ=

0≠++

τ=

s)BJs()s(R)s(e p

0≠++

+=

s)BJs()s(Rsq)BJs()s(e d

Control PID con compensación de la gravedad (I)

De los términos que generan el par perturbador el más importante suele ser el de la gravedad (el único en el estacionario)Con el modelo dinámico puede eliminarse su efecto: G(q)

u = K-1 [R(s) e(s) + G(q)]

Control PID con compensación de la gravedad (II)

τ = K u = R(s) e(s) + G(q)τ = (Js + B) s q + τp

Si no hay cambio en la referencia: qd = 0

Si no hay perturbaciones: τ p= 0

s)BJs()s(R)q(Gsq)BJs(

)s(e pd++

−τ++=

0=++

−τ=

s)BJs()s(R)q(G

)s(e p )q(C)q(G p =τ=

0B)s(JsR(s)G(q)B)sq(Jse(s) d ≠

++−+

=

Control PID con compensación por adelanto (I)

Si el modelo de la articulación fuera perfecto se podría diseñar por inversión del modelo un “compensador ideal”, con error de seguimiento nulo:

Sin embargo:el modelo nunca es perfectoes necesario compensar el par perturbador

Solución: se añade al modelo inverso una realimentación por PID:

qd τ q

s)BJs( +s)BJs(

1+

Control PID con compensación por adelanto (II)

u = k-1 [R(s) e + (Js+B) s qd]τ = k u = [R(s) e + (Js+B) s qd]τ = (Js + B) s q + τp

q(t) = qd (t) => para toda la trayectoriae(s) solo depende de las perturbaciones

s)BJs()s(R)s(e p

++

τ=

Planificación de ganancias (I)

Problema: los parámetros del modelo y la magnitud de los pares perturbadores a compensar cambian con el punto de trabajo del robot.

Soluciones:Ajustar un único controlador para que funcione adecuadamente en todas las circunstancias (robusto)Cambiar los parámetros del controlador (de forma suave) al cambiar el punto de trabajo => planificación de ganancias.

Planificación de ganancias: tabla precalculada de valores de ganancias con los parámetros:

Coordenadas generalizadasCarga del robot

Planificación de ganancias (II)

Problema: gran numero de combinaciones posiblesSolución: no utilizar como parámetros aquellas articulaciones que influyen poco en otras:

La muñecaLa cintura si es perpendicular al resto

Control multiarticular (múltiples articulaciones)

Desacoplamiento por Inversión de Modelo

Si se considera el modelo de Lagrange-Euler:

Para desacoplar el modelo se utiliza un controlador:

τ = k u =[D(q) + N(q, )]τ = D(q) + N(q, )

( ) ( ) )q,q(Nq)q(Dqcqqhq)q(D &&&&&& +=++=τ ,

τ̂ q&q&& q&

dqˆ &&=τ

dq&&

Control multiarticular (múltiples articulaciones)

Control PID con prealimentación y desacoplado

En presencia de variaciones en el modelo y pares exteriores el desacoplamiento no es perfecto.

( ) ( ) ee )q,q(Nq)q(Dqcqqhq)q(D τ++=τ+++=τ &&&&&& ,

)qN(q,τ̂D(q)τ &+=

e1τDqτ̂ −−= &&

e1

d τDqq −−= &&&&

Control multiarticular (múltiples articulaciones)

Para compensar la diferencia entre y se realimenta su diferencia en cada lazo con cualquier técnica de control monoarticular.Ej: Inversión de modelo + PID + compensación por adelanto

q&& dq&&

)qN(q,KR(s)e(s)]IqD(q)[sKu 1d

2-1 &−++=Control por cal calculado:

Control multiarticular (múltiples articulaciones)

R(s)e(s)Iqsτ̂ d2 +=1.-

2.-

El modelo dinámico del robot es:

Igualando ambas expresiones:

En ausencia de perturbaciones (τe=0), e(s)=0 => q=qd

)qN(q,τ̂D(q)τ &+=)qN(q,R(s)e(s)]Iqs)[(τ d

2 &++= qD

e2 )qN(q,Iqs)(τ τ++= &qD

e-12 R(s))]Is)(([e τ+= qD

Aspectos prácticos de la implementación (I)

Controladores discretos: Si bien el diseño suele plantearse en continuo, la implementación del sistema de control se realiza en un microprocesador, con lo que el diseño continuo hay que convertirlo a discreto (con posible presencia de ZOH).

Flexión y oscilaciones estructurales: se coloca un filtro notch a la salida del regulador que elimine de la señal de control las frecuencias cercanas a la de resonancia del sistema

Aspectos prácticos de la implementación (II)

Cálculo de los parámetros del PID (kp, ki, kd): si sólo se tiene un PD, la ecuación característica del sistema es:

La estructura del robot no es rígida => tiene una frecuencia de resonancia wr que se debe evitar =>

El sistema tiene que ser críticamente amortiguado, porque si tiene oscilaciones puede chocar => ξ =1 =>

Jk

sJkBsp(s) pd2 +

++= 0wξs2wsp(s) 2

nn2 =++=

Jk

w pn = Jk2

kBξp

d+=

1Jk2kB

p

d =+

rp wJk

2 <2ww r

n <

Aspectos prácticos de la implementación (III)

Saturación de los actuadores: windup. Los dispositivos electrónicos destinados a suministrar las potencia a los actuadores del robot tienen un margen de actuación limitado.

La presencia de errores mantenidos junto con la acción integral, puede hacer saturarse al controlador =>la señal de control es constante independientemente del error. => acción wind-up genera oscilaciones y se tarda más tiempo en estabilizarse.

Entrada

u

Salida

mínimo

máximo

k

τ

Aspectos prácticos de la implementación (IV)

Soluciones:Cuando se llegue a la saturación de los actuadores, anular la acción integral hasta que el error e= qd-q no entre dentro de los límites establecidos.Regulador PI con anti-windup:

Otras formas de colocar el PID: I-PD, etc.

Resumen

¿Qué es un sistema de control?. Saber dibujar un lazo de control y que elementos que lo constituyen¿Qué es el control de robots?¿Qué son los reductores y para que sirven?Tipos de controladores:

Monoarticulares. PID, PID con compensación de la gravedad, PID con compensación por adelanto, planificación de ganancias.Multiarticulares: control por inversión de modelo, PID+inversión de modelo + compensación por adelanto

Aspectos prácticos de la implementación de los controladores en un robot.

Bibliografía.

Barrientos: viene todo muy bien explicado.