Subido por jlchs.luis

control1

Anuncio
CONTROL DE ROBOTS
Índice
„
„
¿Qué es el control de robots?
Reductores:
„ Control monoarticular:
Control PID
„ Control PID con compensación de la gravedad
„ Control PID con compensación por adelanto
„ Planificación de ganancias
„
„
„
Control multiarticular
„ Control por modelo inverso
„ Control multivariable desacoplado: control por par calculado
Aspectos prácticos de la implementación del controlador.
Sistema de control
Generador
de
trayectorias
qd
u
e
Controlador
+
τ
Actuador
q
Robot
-
Sensor
„
„
„
„
Actuador: motor de corriente continua
q: posición de la articulación
qd: 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-lineales
„ Multivariables
„ Acoplados
„ Pará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:
&q& a = K&q&
q& a = Kq&
τ a = K −1τ
El modelo dinámico del robot (Langrange-Euler) en presencia de
reductores:
τ = D(q)&q& + h(q, q& ) + c (q)
&&a + K −1h + K −1c
τ a = K −1DK −1q
„
Si se separa en D1 los términos constantes de D en la diagonal y en
D2 el resto de los términos:
&&a + K −1D 2K −1&q&a + K −1h + K −1c
τ a = K −1D1K −1q
144444244444
3
τp
„
Con τp es el par perturbador (el generado por el movimiento del resto
de las articulaciones).
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 la
transmisión, Aumento del rozamiento
Ventajas: desacoplan al sistema, reducen la velocidad de las
articulaciones, simplifican el modelo dinámico del robot.
„
„
„
„
„
Ejemplo:
K11 = k22 = 100
m1=10, m2=1
L1=0.1
g=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
u ( t ) = k p e ( t ) + k i ∫ e ( t ) dt + k d
de ( t )
d( t )
k
⎛
⎞
u = k −1R(s)e(s) = k −1 ⎜ k p + i + k d s ⎟e(s)
s
⎝
⎠
Control PID (I)
„
τ = (J s + B)s q + τp
τ = k k-1 R(s) e
„
Si no hay cambio en la referencia: qd = 0
„
e(s) =
„
τp
R(s) + (Js + B)s
R(s) + (Js + B)s
≠0
Si no hay perturbaciones: τ p= 0
e(s) =
„
e(s) =
τp + (Js + B)sqd
(Js + B)sqd
≠0
R(s) + (Js + B)s
El controlador PID tiene que actuar en ambos casos para hacer
el error = 0
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
„
e(s) =
„
τp − G(q)
R(s) + (Js + B)s
=0
Si no hay perturbaciones: τ p= 0
(Js + B)sq d − G(q)
e(s) =
≠0
R(s) + (Js + B)s
e(s) =
(Js + B)sqd + τp − G(q)
G(q) = τp = C(q)
R(s) + (Js + B)s
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:
τ
qd
(Js+ B)s
„
„
1
(Js+ B)s
q
Sin embargo:
„ el modelo nunca es perfecto
„ es necesario compensar el par perturbador
Solución: se añade al modelo inverso una realimentación por
PID:
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 trayectoria
e(s) solo depende de las perturbaciones
e(s) =
τp
R(s) + (Js + B)s
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 generalizadas
„ Carga del robot
Planificación de ganancias (II)
„
„
Problema: gran numero de combinaciones posibles
Solución: no utilizar como parámetros aquellas articulaciones
que influyen poco en otras:
„ La muñeca
„ La 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:
τ = D ( q ) &q& + h (q , q& ) + c (q ) = D ( q ) &q& + N ( q , q& )
„
Para desacoplar el modelo se utiliza un controlador:
„
„
τ̂
τ = k u =[D(q)
+ N(q, q& )]
τ = D(q) &q& + N(q, q& )
τˆ = &q& d
&q& d
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.
τ = D ( q ) &q& + h (q , q& ) + c (q ) + τ e = D ( q ) &q& + N ( q, q& ) + τ e
τ̂ = &q& − D−1τe
τ = D(q) τ̂ + N(q, q& )
&q&d = &q& − D−1τe
Control multiarticular (múltiples articulaciones)
„
„
„
Para compensar la diferencia entre &q& y &q&d se realimenta su
diferencia en cada lazo con cualquier técnica de control
monoarticular.
Ej: Inversión de modelo + PID + compensación por adelanto
Control por cal calculado: u = K -1D(q)[s 2 Iq d + R(s)e(s)] + K −1N(q, q& )
Control multiarticular (múltiples articulaciones)
„
„
2
1.- τ̂ = s Iq d + R(s)e(s)
2.- τ = D(q) τ̂ + N(q, q& )
τ = D ( q)[s2 Iq d + R(s)e(s)] + N(q, q& )
„
El modelo dinámico del robot es:
„
Igualando ambas expresiones:
τ = D ( q)s2 Iq + N(q, q& ) + τ e
e = [ D ( q)(s2 I + R(s))]-1τ e
„
En ausencia de perturbaciones (τe=0), e(s)=0 => q=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:
p(s) = s 2 +
k
B + kd
s+ p
J
J
wn =
„
p(s) = s 2 + 2w n ξs + w 2n = 0
kp
J
ξ=
La estructura del robot no es rígida => tiene una frecuencia de
k
resonancia wr que se debe evitar => w < w
2
< w
n
„
B + kd
2 k pJ
r
p
2
J
r
El sistema tiene que ser críticamente amortiguado, porque si
tiene oscilaciones puede chocar => ξ =1 => B + k d
2 k pJ
=1
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.
„
Salida
τ
máximo
k
u
Entrada
mínimo
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.
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.
Descargar