(Created page with "==Resumen== En este trabajo de investigación, se estudia el problema de control de seguimiento de trayectorias en un péndulo de rueda inercial. Los resultados son presentad...") |
m (Scipediacontent moved page Draft Content 578240292 to Puga-Guzman et al 2015a) |
(No difference)
|
En este trabajo de investigación, se estudia el problema de control de seguimiento de trayectorias en un péndulo de rueda inercial. Los resultados son presentados de una forma constructiva. Primero, se obtiene un controlador basado en el modelo utilizando la técnica de linealización por retroalimentación de salida. Posteriormente, el controlador es rediseñado al incorporar una red neuronal con el propósito de evitar el conocimiento de los parámetros exactos del péndulo de rueda inercial, y se obtiene un diseño robusto. Se usa un perceptrón de dos capas, cuyos pesos de salida son actualizados en tiempo real utilizando una ley de adaptación derivada del análisis de convergencia de las soluciones del sistema de lazo cerrado. El lema de Barbalat se utiliza para concluir que las trayectorias del error de seguimiento del péndulo convergen a cero. Se presentan simulaciones numéricas y experimentos en tiempo real, que confirman los resultados teóricos.
In this paper, the problem of trajectory tracking control in an inertia wheel pendulum is studied. Results are presented in a constructive form. First, a model-based controller is obtained by using the output feedback linearization technique. Then, the controller is redesigned by incorporating a neural network with the aim of avoiding the exact parameters knowledge of the inertia wheel pendulum, obtaining a robust control scheme. A two-layer perceptron is used, whose output weights are updated in real-time using an adaption law derived from the analysis of convergence of the closed-loop system solutions. Barbalats lemma is used to conclude that the pendulum tracking error trajectory converges to zero. Numerical simulations and real-time experiments are presented, which confirm the theoretical results.
Seguimiento de trayectorias ; Péndulo de rueda inercial ; Red neuronal ; Simulaciones numéricas ; Experimentos en tiempo real
Trajectory tracking ; Inertia wheel pendulum ; Neural network ; Numerical simulations ; Real time experiments
El péndulo de rueda inercial es un mecanismo sub-actuado [1] . En la figura 1 , se muestra un dibujo del péndulo de rueda inercial. El mecanismo está formado por un péndulo que tiene unida en su extremo una rueda, la cual es accionada por un motor de corriente directa (CD), cuyo eje de rotación es paralelo al eje de rotación del péndulo. En este mecanismo, el cambio del momento angular de la rueda se utiliza para controlar el movimiento del péndulo. La motivación del estudio del mecanismo es, principalmente, la enseñanza y la investigación de nuevos métodos de control no lineal, así como de aplicaciones de estabilización angular de algunos mecanismos, entre los cuales se encuentran los satélites [2] and [3] , las bicicletas robóticas [4] , [5] and [6] y la esfera robótica [7] . Estos mecanismos tienen integradas ruedas inerciales accionadas con motores eléctricos, de modo que el cambio de momento angular al aplicar un torque a cada rueda inercial se utiliza para controlar su dirección y orientación.
|
Figura 1. Péndulo de rueda inercial. |
Un reto en el control del péndulo de rueda inercial es estabilizarlo en la posición vertical superior o posición inestable. Este problema es conocido con el nombre de regulación. Otro reto es hacer que el péndulo siga una trayectoria de referencia, tanto en la posición vertical superior como en la posición vertical inferior. Un último problema, conocido como swing-up, es llevar el péndulo desde la posición vertical inferior hasta la posición vertical superior.
El problema de control de regulación y swing-up fue resuelto originalmente por Spong, Corke y Lozano [8] , utilizando los métodos de retroalimentación de estados y pasividad. Se han utilizado otros métodos de control para el swing-up y la regulación, como el control de la estructura variable [9] , [10] and [11] , el backstepping [12] y la regulación cuadrática lineal [12] and [14] , entre otros.
Este artículo se dedica a resolver el problema de seguimiento de las trayectorias del péndulo de una rueda inercial utilizando las redes neuronales. En la literatura, no se encontraron trabajos de investigación sobre el control del seguimiento de las trayectorias de un péndulo de rueda inercial utilizando redes neuronales, pero se encuentran algunos trabajos de investigación en que las redes neuronales se aplican para otros mecanismos similares. Aun así, son pocos los trabajos de investigación que presentan un estudio riguroso de estabilidad para controlar los mecanismos subaccionados utilizando redes neuronales. A continuación, se presentan algunos trabajos de investigación sobre el control de sistemas subaccionados que utilizan las redes neuronales o la lógica difusa.
En [15] , se presenta un controlador que resuelve el problema de swing-up y de regulación de un carro-péndulo en la posición superior. Se comparan dos controladores neuronales: uno utiliza funciones de activación en la capa oculta del tipo tangente hiperbólica y el otro, funciones gaussianas. En la capa de salida, los dos controladores utilizan funciones lineales. Cabe destacar que en [15] no se presentan estudios de convergencia.
En [16] , se describe un controlador neuronal de dos capas para estabilizar y garantizar el seguimiento de una trayectoria en un carro-péndulo en la posición vertical superior. Se considera que el modelo dinámico no es conocido. Se presenta un estudio teórico de la estimación de pesos de la red neuronal. Los resultados experimentales confirman la teoría propuesta.
En [17] , se propone un controlador neuronal recurrente. La red neuronal representa un esquema de control PID, el cual se aplica a un doble péndulo sobre un carro con el objetivo de estabilizarlo. Los pesos de la red neuronal se actualizan en tiempo real. Se presenta un análisis de estabilidad que se valida con los resultados experimentales.
En [18] , se presenta un controlador neuronal recurrente con el objetivo de estabilizar el péndulo en la posición vertical superior. Se consideran variaciones paramétricas en el sistema. Los resultados experimentales son satisfactorios, pero no se da un estudio de convergencia.
En [19] , también se utiliza un controlador basado en la lógica difusa para estabilizar el sistema carro-péndulo. Un problema similar se aborda en [20] para un sistema de doble péndulo sobre un carro y, en [21] , para un péndulo paralelo sobre un carro. Se estudia la estabilización del sistema en la posición superior, pero no se presenta ningún estudio de convergencia.
En [22] , se propone una metodología de estabilización y de seguimiento de las trayectorias utilizando controladores basados en la lógica difusa para un péndulo invertido sobre un carro de dos ruedas, y los resultados experimentales obtenidos avalan la teoría expuesta.
En [22] , se propone un controlador neuronal para el balanceo de una llanta utilizando el cambio de momento de dos ruedas inerciales, mientras que un tercer accionador mueve la llantas linealmente. Se presentan simulaciones para evaluar el desempeño del controlador y no se aporta ningún estudio de convergencia.
En este trabajo de investigación, se presenta primero un controlador basado en el modelo para garantizar el seguimiento de una trayectoria deseada en un péndulo de rueda inercial. Se introduce un análisis de la dinámica externa e interna del sistema de lazo cerrado. Posteriormente, se propone un nuevo esquema, que incorpora una red neuronal, con el propósito de evitar el conocimiento de los parámetros exactos del péndulo de rueda inercial, y se obtiene un diseño robusto. Se utiliza un perceptrón de dos capas, cuyos pesos de salida son actualizados en tiempo real. Se presentan simulaciones de los dos controladores para verificar la teoría expuesta y se muestran resultados de tiempo real del controlador neuronal.
El artículo se organiza de la forma siguiente: en la sección 2, se representa el modelo dinámico del péndulo; en la sección 3, se expone la problemática a resolver; en la sección 4, se presenta el desarrollo del controlador basado en el modelo y se realiza un estudio de la dinámica interna del péndulo; en la sección 5, se propone el controlador neuronal y se realiza un análisis de convergencia; en la sección 6, se presentan los resultados de simulación y los experimentos, y se discuten los resultados, y, por último, en la sección 7, se exponen las conclusiones que se derivan de la presente investigación.
El modelo dinámico del péndulo se obtiene de [1] , al cual se le ha sumado la fricción viscosa. El modelo se escribe a continuación
|
( 1) |
|
( 2) |
con posiciones angulares q1 y q2 . Además, τ es el torque aplicado a la rueda, g es la aceleración de gravedad, m0 es la masa de la varilla del péndulo y mij , con i , j = 1, 2, son elementos de inercia. El coeficiente de fricción viscosa está presente en la unión del péndulo y la base, y en la rueda y el péndulo, respectivamente.
El modelo dinámico (1) -(2) también puede representarse en espacio de estado, de la forma
|
( 3) |
|
( 4) |
|
( 5) |
|
( 6) |
donde
|
con y m22 = m12 .
El problema es el diseño de un controlador neuronal τ (t ) que resuelva el seguimiento de una trayectoria de referencia qd (t ) para el péndulo de rueda inercial en la posición inferior, manteniendo acotada la velocidad de la rueda.
Se asume que qd (t ) es, por lo menos, dos veces diferenciable y
|
( 7) |
Así, definiendo el error de seguimiento de trayectoria como
|
( 8) |
el control τ (t ) es tal que
|
( 9) |
La dinámica del error de seguimiento se obtiene derivando la ecuación (8) dos veces respecto al tiempo. Se representa como
|
( 10) |
|
( 11) |
Redefiniendo los parámetros,
|
y, tomando como salida
|
( 12) |
las ecuaciones (10) -(11) se escriben como
|
( 13) |
|
( 14) |
Se propone el siguiente controlador, basado en el modelo
|
( 15) |
donde kp , kd , δ son ganancias de control positivas. Sustituyendo (15) en (14) , la dinámica del error de seguimento es
|
( 16) |
|
( 17) |
y la dinámica de la rueda es dada por
|
( 18) |
|
( 19) |
Las ecuaciones (16) -(17) y (18) -(19) representan el sistema en lazo cerrado. Se puede demostrar que y (t ) y convergen a cero cuando el tiempo tiende a infinito, lo que implica, por (12) , que el límite (9) se satisface con el controlador basado en el modelo en (15) .
De acuerdo con el teorema 13.1 de Khalil [26] , el sistema dinámico dado por las ecuaciones (16) -(17) y (18) -(19) se puede representar, en la forma normal, con un cambio de variables, de la forma
|
( 20) |
|
( 21) |
|
( 22) |
|
( 23) |
tal que
|
se satisface, donde η = [η1η2 ]T , y g = [0 g1 0 g2 ]T . Entonces, derivando con respecto al tiempo (20) -(21) y usando las ecuaciones (16) -(19) , la dinámica interna es
|
( 24) |
|
( 25) |
El conjunto de ecuaciones (16) -(17) y (24) -(25) es la representación en la forma normal de (16) -(19) .
Dado que el controlador (15) garantiza que la salida y (t ) → 0 y cuando t → ∞, entonces la dinámica cero es dada por
|
( 26) |
|
( 27) |
El resto de la discusión solo considera el estado η2 (t ), que representa, de forma indirecta, la velocidad de la rueda . Integrando (27) con respecto al tiempo desde 0 a t , se tiene que
|
( 28) |
Escogiendo una trayectoria qd (t ) tal que se satisfaga la condición (7) para todo t ≥ 0, entonces la solución η2 (t ) de (28) satisface |η2 (t )|< ∞. Por tanto, existen condiciones suficientes para que el estado η2 (t ) de la dinámica interna (25) sea acotado, al menos para las condiciones iniciales, en un conjunto compacto que contiene el origen.
En esta sección, se propone un controlador neuronal para el seguimiento de una trayectoria del péndulo de rueda inercial en la posición inferior del péndulo.
El sistema de ecuaciones (13) -(14) se puede representar como
|
( 29) |
|
( 30) |
donde
|
( 31) |
Con el propósito de lograr el objetivo de control expresado en (9) , y considerando la función de salida en (12) , se propone el controlador neuronal siguiente
|
( 32) |
donde α , δ > 0, y es una estimación de f (x ) obtenida por una red neuronal. La ventaja del controlador (32) es que evita la condición de conocer los parámetros físicos del péndulo de rueda inercial.
A continuación, se explica la deducción de la estimación . Primero, nótese que la función en (31) puede reexpresarse utilizando la propiedad de aproximación universal de las redes neuronales [24] and [25] ,
|
( 33) |
donde es el vector de pesos de salida ideales, es un vector que contiene funciones sigmoideas, denota la matriz de pesos de entrada, es el error de aproximación de la red neuronal, es el vector de señales de entrada a la red neuronal, es el vector de señales de entrada aumentado y L es el número de neuronas de la red.
Se propone la función utilizando la estructura del lado derecho de la ecuación (33) del modo siguiente:
|
( 34) |
donde es el vector de pesos de salida estimados de la red neuronal, son los elementos de la matriz V de pesos de entrada y voi es el valor de umbral de cada neurona en la capa oculta.
Los valores de y voi son seleccionados aleatoriamente y el vector de pesos de salida se obtiene por medio de la siguiente ley de adaptación:
|
( 35) |
donde es una matriz diagonal definida positiva y κ > 0. Cabe mencionar que la ley de adaptación de pesos (35) se obtiene del análisis de convergencia de las soluciones del sistema de lazo cerrado, el cual se presentará más adelante.
El diagrama del controlador neuronal (32) se ilustra en la figura 2 .
|
Figura 2. Diagrama del controlador neuronal. |
Como ya se ha mencionado, el propósito de la red neuronal expresada por (34) es aproximar la función f (x ) en (31) y, de esta forma, evitar el conocimiento de los parámetros del péndulo de rueda inercial en la ley de control. De forma adicional, la compensación neuronal en el controlador propuesto (32) conduce a un sistema de lazo cerrado del cual se extrae la conclusión de que el error de seguimiento e1 (t ) = qd (t ) − q1 (t ) tiende a cero en forma asintótica, como se verá más adelante.
La arquitectura de la red neuronal en (34) es un perceptrón de dos capas, en donde los pesos de entrada son aleatorios y los pesos de salida son ajustados en tiempo real, utilizando (35) . Nótese que el entrenamiento de la red neuronal no es supervisado. A medida que el tiempo va transcurriendo, la red neuronal va actualizando sus pesos, aprendiendo así la dinámica del péndulo en tiempo real.
Sustituyendo (32) en (30) , la dinámica del error de seguimiento de las ecuaciones (29) -(30) se reescribe de la forma siguiente:
|
( 36) |
|
( 37) |
donde es el error de pesos de salida de la red neuronal.
Dado que y los pesos ideales W son constantes, con ||W || ≤ μ , la dinámica de error de pesos de salida es
|
( 38) |
El sistema en lazo cerrado es definido por las ecuaciones (24) -(25) , (36) -(37) y (38) .
Primero se prueba que se satisface el límite (9) . Se propone la función definida positiva
|
donde
|
( 39) |
garantiza que V sea definida positiva.
Derivando V con respecto al tiempo,
|
( 40) |
Sustituyendo (38) en (40) y simplificando,
|
|
|
Es posible deducir que si se cumplen la condiciones
|
( 41) |
|
( 42) |
Entonces, para que V sea definida positiva y semidefinida negativa, hay que satisfacer (39) , (41) y (42) . Nótese que (39) y (42) pueden reformularse como
|
( 43) |
Estas condiciones implican que las soluciones y son acotadas.
Por el lema de Barbalat [26] ,
|
lo que implica, por (12) , que se satisface el límite (9) . Considerando el análisis de la sección 4.1, la solución η2 (t ) es acotada para todo t ≥ 0.
En esta sección, se muestran simulaciones de los dos controladores: el basado en el modelo en (15) y el neuronal en (32) . También se presentan experimentos en tiempo real del controlador neuronal en (32) para el seguimiento de una trayectoria deseada del péndulo.
Se cuenta con una plataforma experimental del péndulo de rueda inercial, construida en CITEDI-IPN.
La plataforma está formada por:
El PC trabaja con el sistema operativo Windows XP y tiene instalado Matlab 2007a y Simulink , el cual se comunica con la tarjeta de adquisición de datos por medio de Real-Time Windows Target , con una frecuencia de muestreo de 1 [kHz].
Se ha considerado que la entrada de control al sistema es el voltaje de entrada al servoamplificador , tal como se muestra en la figura 3 . Sin pérdida de generalidad y despreciando la dinámica eléctrica del motor, es posible considerar que
|
Ello significa que la ganancia del servoamplificador se incorpora a la del sistema (1) -(2) .
|
Figura 3. Descripción del sistema experimental, donde se considera que el voltaje de entrada al servoamplificador es la entrada de control. Sin pérdida de generalidad, se ha considerado . |
Partiendo de esta consideración, en la tabla 1 se indica la estimación de los valores de los parámetros utilizados en el modelo del péndulo de rueda inercial, los cuales se obtuvieron siguiendo un método de identificación paramétrica de mínimos cuadrados [27] and [28] . Como la identificación del sistema incluye el servoamplificador y el motor, la acción de control será, en adelante, el voltaje .
Símbolo | Valor | Unidades |
---|---|---|
θ1 | 0.6656 | Vrad/s2 |
θ2 | 0.0043 | Vrad/s |
θ3 | 0.0093 | Vrad/s |
θ4 | 5.0877 | Vm/s2 |
θ5 | 0.0015 | Vrad/s2 |
El propósito de las simulaciones es comprobar los resultados teóricos, sin considerar las perturbaciones introducidas en el muestreo de las señales de posición y la discretización de los controladores. Es importante destacar que el controlador neuronal (32) , dada su capacidad adaptativa, no exige conocer los parámetros del modelo dinámico del péndulo para implementarlo, a diferencia del controlador basado en el modelo (15) , que sí requiere conocer de antemano los parámetros del sistema (1) -(2) .
Se propone la trayectoria de referencia
|
( 44) |
para el controlador basado en el modelo en (15) y para el controlador neuronal en (32) , con valor de a = 0.25 [rad], ω = 7 [rad/s] y b = 3.1416 [rad]. La trayectoria (44) codifica una oscilación periódica con el péndulo hacia abajo. Las condiciones iniciales del péndulo de rueda inercial eran q1 (0) = 3.14 [rad], q2 (0) = 0 [rad], [rad/s] y [rad/s].
Se ha llevado a cabo una simulación utilizando el controlador basado en el modelo (15) , con ganancias
|
( 45) |
La gráfica del voltaje aplicado a la rueda se muestra en la figura 4 y la evolución temporal de la posición del péndulo q1 (t ) se muestra en la figura 5 .
|
Figura 4. Resultados de simulación: Voltaje de control obtenido para el controlador basado en el modelo (15) y para el controlador neuronal propuesto (32) y (35) . |
|
Figura 5. Resultados de simulación: Evolución temporal de la posición del péndulo, obtenida para el controlador basado en el modelo (15) y para el controlador neuronal propuesto (32) y (35) . |
Para el controlador neuronal dado en (32) , se utilizaron las ganancias en (45) , α = 1, N = diag10 (100) y κ = 0.5. El número de neuronas en la capa oculta era L = 10. Las condiciones iniciales fueron las que se utilizaron en la simulación del controlador basado en el modelo (15) .
La figura 4 describe la acción de control aplicada a la rueda y la figura 5 ilustra la posición del péndulo q1 (t ).
Con respecto a las simulaciones numéricas, para realizar una comparación justa del desempeño de los controladores, se propusieron ganancias de control similares. La selección de ganancias de control satisface las condiciones (41) y (43) , que aseguran de forma teórica la convergencia del error de seguimiento y (t ) = e1 (t ) en (8) .
En la figura 5 , se observa que la trayectoria actual del péndulo q1 (t ) tiende a la trayectoria deseada qd (t ) cuando el tiempo se incrementa, lo cual implica, asimismo, que ambos controladores satisfacen el objetivo de control (9) , como ya se había predicho en la teoría.
Cabe mencionar también que las velocidades articulares y permanecieron acotadas.
A continuación, se muestran los resultados experimentales para el controlador neuronal (32) . En la realización del experimento, se siguió la misma trayectoria qd (t ) que en (44) , las mismas condiciones iniciales utilizadas en la simulación y las ganancias de control kp = 10, kd = 3, δ = 0.5, α = 0.1, N = diag10 (20) y κ = 0.05.
Obsérvese que, en la implementación en tiempo real, las mediciones de posición son cuantizadas y el controlador es implementado en forma discreta, utilizando un período de muestreo de 1 × 10−3 [s]. Los resultados experimentales obtenidos se muestran en las figuras 6 -9 .
|
Figura 6. Resultados experimentales: Voltaje de control del controlador neuronal. |
|
Figura 9. Resultados experimentales: Aportación al voltaje de la acción PD, neuronal y de función signo. |
En la figura 6 , se muestra el voltaje de control aplicado ; en la figura 7 , se ilustran la posición articular q1 (t ) y la trayectoria deseada qd (t ).
|
Figura 7. Resultados experimentales: Evolución temporal de la posición q1 (t ) utilizando el controlador neuronal. |
Las velocidades articulares y están en la figura 8 . La figura 9 muestra las contribuciones individuales de voltaje de compensación neuronal, proporcional derivativo y el término de función signo que componen el controlador adaptable neuronal (32) .
|
Figura 8. Resultados experimentales: Evolución temporal de las velocidades y utilizando el controlador neuronal. |
Las limitaciones de la plataforma experimental no han permitido utilizar las ganancias obtenidas en simulación, por lo cual se han utilizado ganancias más pequeñas, con la finalidad de reducir el ruido de muestreo en el voltaje de control .
Además, se decidió hacer el experimento de la ganancia de adaptación de pesos de salida N = diag10 (0.02), para 0 ≤ t < 2 [s], y N = diag10 (20), para t ≥ 2 [s], con el fin de permitir que la aportación neuronal aportara valores de voltaje dentro de los límites físicos de la plataforma experimental, como puede verse en la figura 6 , para el voltaje de control , y en la figura 9 , para las contribuciones de la acción neuronal, proporcional derivativo y el término de función signo .
En la figura 9 , se observa que la aportación de la acción neuronal es mucho mayor que la acción PD después de 2 [s], lo que muestra la capacidad adaptativa de la red neuronal. En la figura 7 , se muestra que la posición q1 (t ) sigue la trayectoria de referencia qd (t ), a pesar de la discretización del controlador (32) y la medición cuantizada de los codificadores ópticos de las señales de posición q1 (t ) y q2 (t ), así como la derivada discreta utilizada para estimar las velocidades y .
Otra observación importante es que las velocidades y , que se ilustran en la figura 8 , permanecen acotadas.
En este artículo, se ha utilizado la técnica de linealización por retroalimentación de salida para obtener un controlador basado en el modelo y un controlador neuronal.
Se han comparado los resultados de simulación de ambos controladores y se ha verificado que el error de seguimiento del péndulo converge a cero.
Adicionalmente, se han presentado resultados de tiempo real para el controlador neuronal, y se ha comprobado su capacidad para garantizar el seguimiento de las trayectorias del péndulo con precisión, lo cual, al mismo tiempo, indica robustez ante perturbaciones como la implementación en forma discreta y ruido de cuantización.
Published on 01/12/16
Accepted on 08/06/15
Submitted on 05/09/14
Volume 32, Issue 4, 2016
DOI: 10.1016/j.rimni.2015.06.002
Licence: Other
Are you one of the authors of this document?