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.