REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DEL ZULIA
FACULTAD DE INGENIERÍA DIVISIÓN DE POSTGRADO
PROGRAMA DE POSTGRADO EN MATEMÁTICA APLICADA
ESTABILIZACIÓN DE SISTEMAS MECÁNICOS SUBACTUADOS DE GRADO 1 MEDIANTE EL MÉTODO IDA-PBC
Trabajo de Grado presentado ante la Ilustre Universidad del Zulia para
optar al Grado Académico de
MAGÍSTER SCIENTIARUM EN MATEMÁTICA APLICADA
Autor: Msc. Ing. Maribel Cecilia Pérez Pirela Tutor: Msc. Atilio Morillo P.
Maracaibo, julio de 2009
APROBACIÓN
Este jurado aprueba el trabajo de grado titulado ESTABILIZACIÓN DE SISTEMAS MECÁNICOS SUBACTUADOS DE GRADO 1 MEDIANTE EL MÉTODO IDA-PBC, que Pérez Pirela, Maribel Cecilia, C.I. V-12.869.954, presenta ante el Consejo Técnico de la División de Postgrado de la Facultad de Ingeniería en cumplimiento del articulo 51, Párrafo 51.6 de la Sección Segunda del Reglamento de Estudios para Graduados de La Universidad del Zulia, como requisito para optar al Grado Académico de
MAGÍSTER SCIENTIARUM EN MATAMÁTICA APLICADA
______________________ Coordinador del Jurado
Atilio Morillo C.I.: 3.117.961
________________________ _____________________ Robert Quintero José Rincón C.I.: 7.935.866 C.I.: 4.417.049
_______________________________
Director de la División de Postgrado Gisela Páez
Maracaibo, julio de 2009
Pérez Pirela, Maribel Cecilia. Estabilización de sistemas mecánicos subactuados de grado 1 mediante el método IDA-PBC. (2009) Trabajo de Grado Universidad del Zulia. División de Postgrado. Facultad de Ingeniería. Maracaibo, Venezuela. 138 p. Tutor: Prof. Atilio Morillo.
RESUMEN El problema de la estabilización de sistemas no lineales subactuados ha atraído la atención de la comunidad de control en años recientes. Con el método denominado IDA-PBC (Interconexión y Asignación de Amortiguamiento Control basado en Pasividad), desde el punto de vista teórico, se ha logrado describir el comportamiento dinámico de una amplia clase de dichos sistemas, obteniéndose su representación en la denominada forma Hamiltoniana controlada por puertos, mediante la cual se facilita el diseño de un controlador por realimentación que permite estabilizarlos en torno a un punto de equilibrio deseado. El objetivo general de este estudio es analizar la estabilidad de sistemas mecánicos subactuados de grado 1 mediante el método IDA-PBC. Dentro de este enfoque, para lograr el objetivo de control, se interpreta el mecanismo de estabilización en términos del intercambio de la energía del sistema, para lo cual se siguen dos etapas básicas: (1) la etapa del moldeado de la energía, la cual consiste en modificar la función de energía total del sistema para asignar el estado de equilibrio deseado; y (2) la etapa de inyección de amortiguamiento para alcanzar la estabilidad asintótica. El éxito de la aplicación de este método reside en la posibilidad de resolver el conjunto de ecuaciones en derivadas parciales, cuyas soluciones proveen las funciones de energía asignables al sistema en lazo cerrado. Se obtiene un controlador que logra estabilizar en forma global y asintótica el punto de equilibrio, alcanzando un excelente desempeño. Las simulaciones numéricas mostradas al final del trabajo confirman esta apreciación. Palabras clave: Control no lineal, Sistemas mecánicos subactuados, Método IDA-PBC.
E-mail del autor: [email protected]
Pérez Pirela, Maribel Cecilia. Stabilization of mechanical systems underactuation degree one using IDA-PBC method. (2009) Trabajo de Grado Universidad del Zulia. División de Postgrado. Facultad de Ingeniería. Maracaibo, Venezuela. 138 p. Tutor: Prof. Atilio Morillo.
ABSTRACT
The problem of the stabilization of not linear systems underactuation has attracted the attention of the community of control in the recent years. The so called IDA-PBC method (Interconnection and Damping Assignment Passivity Based Control), from the theoretical point of view, it has been achieved to describe the dynamic behavior of a wide class of the above mentioned systems, obtained a port controlled Hamiltonian form, the controller stabilizes globally and asymptotically the equilibrium point. The general objective of this study is to analyze tha estabilización de sistemas mecánicos subactuados de grado 1 mediante el método IDA-PBC. In this method, in order to achieve the control objective, the stabilization mechanism follows two basic stages: (1) energy holding stage, which consists on shaping the total energy function of the system in order to assign the desired equilibrium state, and (2) damping introduction stage, necessary to achieve asymptotic stability. The success of the application of this method resides in the possibility of solving the set of equations in partial derivatives, which solutions provide the assignable functions of energy to the system in closed loop. The controller stabilizes globally and asymptotically the equilibrium point, showing an excellent preformance. The numerical simulations confirm this appreciation. Keywords: Non linear control, underactuated mechanical systems, IDA-PBC method. E-mail the author: [email protected]
DEDICATORIA
A Dios, por ser la luz que siempre ilumina mi vida, guiándome por los caminos del
amor, permitiéndome conocer y alcanzar esta meta.
A mi Madre Querida, mujer admirable de sólidos principios, de corazón noble e
inmenso, que desde el cielo siempre me acompaña iluminándome el camino y mis
pensamientos… Gracias por enseñarme que por muy difíciles que sean los momentos
siempre se puede seguir teniendo una buena actitud ante la vida…
AGRADECIMIENTOS
Ante todo, expresar mi gratitud a mi tutor el Profesor Atilio Morillo, cuyo apoyo
incondicional, ha resultado imprescindible para llevar a buen término esta ambiciosa
tarea… le debo la dedicación, su compromiso con la calidad y la puesta al servicio de
sus sólidos conocimientos en nuestra área… Profe Atilio, por su orientación
académica, por tenderme una mano amiga, por toda la confianza que depositó en mí…
Mil Gracias…
A la Profesora Susana Salinas por su contribución al inicio y desarrollo del trabajo de
investigación, así como la ejemplar gestión en el CIMA donde se enmarca el presente
trabajo… por toda la confianza que depositó en mí… por tenderme una mano
amiga…Mil Gracias…
Al Profesor Jorge Guiñez por su apoyo y comprensión, por su orientación académica,
por sus sabias y oportunas recomendaciones…Mil Gracias…
Al Profesor Jhonny Araque por sus sugerencias y colaboración… mil Gracias…
A Aleida mi cariño y gratitud por toda su colaboración a lo largo de mi proceso de
investigación… Mil Gracias…
TABLA DE CONTENIDO
Página RESUMEN…………………………………………………………………….... 3
ABSTRACT……………………………………………………………………… 4
DEDICATORIA………………………………………………………………..... 5
AGRADECIMIENTOS……………………………………………………..…... 6
TABLA DE CONTENIDO…………………………………………………….... 7
LISTA DE TABLAS…………………………………………………………….. 9
LISTA DE FIGURAS………………………………………………………….… 10
INTRODUCCIÓN……………………………………………………………...… 12
CAPÍTULO
I EL PROBLEMA
Planteamiento del Problema…………………………………… 13 Formulación del Problema…………………………………...… 15 Objetivos de la Investigación………………………………...… 15
Objetivo General…………………………………………..… 15 Objetivos Específicos……………………………………...… 15
Justificación de la Investigación……………………………….. 16 Conveniencia……………………………………………….… 16 Valor Teórico………………………………………………….. 16 Implicaciones Prácticas……………………………………… 16 Utilidad Metodológica………………………………………... 16 Relevancia Social……………………………………………. 16
Importancia…………………………………………………….… 17 Delimitación de la Investigación……………………………….. 17
II MARCO TEÓRICO
Bases Teóricas…………………………………………...…….. 18
Teorías relacionadas con el Método IDA-PBC………….. 18
Teorías relacionadas con la Técnica de Linealización Aproximada…………………………………………………… 33
Teorías relacionadas con el Modelo Matemático de los Sistemas Mecánicos…….…………………………………... 38
Antecedentes de la Investigación……………………….......... 40
Hipótesis de la Investigación………………………………….. 42
III MARCO METODOLÓGICO Página
Tipo de Investigación…………………………………..………. 43 Procedimiento de la Investigación……………………….……. 43 Programas de Simulación Numérica………………………….. 46 Descripción de los Programas de Simulación Numérica… 47
IV RESULTADOS OBTENIDOS
Sistema TORA 48 Sistema ACROBOT 86 CONCLUSIONES………………………………………………………….. 117RECOMENDACIONES…………………………………………………… 118REFERENCIAS BIBLIOGRÁFICAS…………………………………… 119ANEXOS
A Programas VDESTORA y SIMVDESTORA……………….. 121B Programas TORALAZ y SIMTORALAZ…………………….. 123C Programas TORADIN y SIMTORADIN…………………….. 126D Programas VDESACRO y SIMVDESACRO……………….. 129E Programas ACROLAZ y SIMACROLAZ……………………. 132F Programas ACRODIN y SIMACRODIN…………………….. 136
LISTA DE TABLAS
Tabla Página
1 Parámetros para el sistema TORA………...……………… 79
2 Parámetros para el sistema ACROBOT…….……………… 112
LISTA DE FIGURAS
Figura Página
1 Grados de libertad de un sistema subactuado………….. 18
2 Sistema Pasivo estabilizado con u=-ky…………………..
26
3 Relación entre las variables originales y las variables incrementales………………………………………………….. 37
4 El Sistema TORA…………………………………………... 38
5 Esquema del sistema Acrobot, con 2~
11π−= qq ……….. 40
6 Etapas del Método IDA-PBC……………………………… 44
7 Gráfica de la Función Vd.................................................. 61
8 Curvas de Nivel de la Función Vd……………………….... 62 9 Simulación del Sistema TORA en lazo cerrado:
Comportamiento de las variables y función de Control…
80
10 Simulación del Sistema TORA en lazo cerrado: Plano de Fase……………………………………………………… 80
11 Simulación del Sistema TORA con la dinámica objetivo: Comportamiento de las variables………………………… 81
12 Simulación del Sistema TORA con la dinámica objetivo: Plano de Fase………………………………………………. 81
13 Simulación del Sistema TORA en lazo cerrado: Comportamiento de las variables y función de Control.
Condiciones iniciales 11 =q , 22π
=q , 01 =p
y 02 =p ……………………………………………………... 82 14 Simulación del Sistema TORA en lazo cerrado: Plano de
Fase. Condiciones iniciales: 11 =q , 22π
=q , 01 =p y
02 =p ……………………………………………..……… 83
15 Simulación del Sistema TORA con la dinámica objetivo: Comportamiento de las variables. Condiciones iniciales
11=q , 22π
=q , 01 =p y 02 =p …………………………..…. 83 16 Simulación del Sistema TORA con la dinámica objetivo:
Plano de Fase. Condiciones iniciales 11=q , 22π
=q , 01 =p
y 02 =p …………………………………………….. 84 17 Simulación del Sistema TORA en lazo cerrado:
Comportamiento de las variables. Condiciones
iniciales 01 =q , 2
52
π=q , 01 =p y 02 =p …….…..…… 85
18 Simulación del Sistema TORA en lazo cerrado: Plano de
Fase. Condiciones iniciales 01 =q , 2
52
π=q , 01 =p y
02 =p …………………………………………………….. 85 19 Gráfica de la Función Vd…………………………………… 96 20 Punto crítico aislado de Vd………………………………… 98 21 Simulación del Sistema ACROBOT en lazo cerrado:
Comportamiento de las variables. Condiciones iniciales
21π
=q , 32π
=q , 11 =p y 12 =p ……………… 113
22 Simulación del Sistema ACROBOT en lazo cerrado: Plano de Fase. Condiciones iniciales
21π
=q , 32π
=q ,
11 =p y 12 =p ……………… 113 23 Simulación del Sistema ACROBOT con la dinámica
objetivo: Comportamiento de las variables. Condiciones iniciales
21π
=q , 32π
=q , 11 =p y 12 =p ………………… 114
24 Simulación del Sistema ACROBOT con la dinámica objetivo: Plano de Fase. Condiciones iniciales
21π
=q ,
32π
=q , 11 =p y 12 =p …………………….. 114
INTRODUCCIÓN
Las técnicas de control basada en la estructura Hamiltoniana de los sistemas
mecánicos han experimentado un reciente auge de notables proporciones.
Los métodos a los que ha dado lugar esta línea de investigación permiten, por
primera vez, abordar de manera sistemática un conjunto de problemas abiertos como el
control de sistemas subactuados y la obtención de funciones de Lyapunov para
controladores no lineales.
Los sistemas mecánicos subactuados de grado 1, desde el punto de vista
teórico, son susceptibles de ser controlados mediante el denominado método IDA-PBC.
En esta tesis se aplica el método IDA-PBC para desarrollar la estructura
Hamiltoniana de sistemas mecánicos subactuados de grado 1, tanto en bucle abierto
como en bucle cerrado para dirigirlos de manera robusta hacia equilibrios basándose en
consideraciones energéticas.
Claramente, el éxito del método IDA-PBC descansa sobre la posibilidad de
resolver las ecuaciones en derivadas parciales que identifican las funciones de energía
que pueden ser asignadas al sistema en lazo cerrado. En [1] los autores dan una serie
de condiciones sobre el sistema y sobre las matrices de inercia asignables, tales que
dichas ecuaciones en derivadas parciales puedan ser resueltas.
En este trabajo, se aplica un proceso de reducción, que permite obtener una
familia genérica de matrices de inercia, para las cuales es posible encontrar también
una solución constructiva de la función de moldeado de la energía cinética. La
utilización de la genericidad de la familia de matrices conduce a una simplificación de
las ecuaciones en derivadas parciales, que facilita la integración de las ecuaciones.
Esta investigación se ha estructurado en cuatro (04) capítulos. En el capítulo 1,
se muestran las razones que dan origen a esta investigación, así como también los
objetivos que se esperan cumplir y la delimitación del caso de estudio. En el capítulo 2,
se muestran las bases teóricas en las que se fundamenta el método IDA-PBC. En el
capítulo 3, se explica el tipo de investigación desarrollada y se muestra la metodología
utilizada para estabilizar sistemas mecánicos subactuados de grado 1 mediante el
método IDA-PBC. Finalmente, en el capítulo 4 se aplica dicho método para analizar la
estabilidad de dos interesantes casos de sistemas mecánicos subactuados de grado 1.
CAPÍTULO I EL PROBLEMA
Planteamiento del Problema
A lo largo de la historia del desarrollo de los sistemas de control, se ha tratado
siempre de estudiar de manera separada los sistemas lineales de los sistemas no
lineales. Dada la relativa sencillez de los sistemas lineales, se ha producido un
conocimiento extenso y profundo de éstos, relegando considerablemente el área
correspondiente a los sistemas no lineales. Con los avances en la robótica, se comenzó
a entender la importancia de abordar problemas de carácter global, que por su propia
naturaleza no lineal, no permitían una reducción a un entorno local del punto de
operación.
Hoy en día se encuentran con mucha frecuencia procesos no lineales en
sistemas mecánicos y electromecánicos, entre los que se puede mencionar: satélites
espaciales, circuitos electrónicos, brazos robóticos, péndulos invertidos, osciladores,
sistemas de control de nivel en tanques, motores de corriente continua, entre otros; por
lo que se observa la necesidad de darle la importancia requerida al estudio de las leyes
de control de estos sistemas.
El control de sistemas mecánicos corresponde a uno de los campos más activos
de investigación, debido a las diversas aplicaciones en la vida real. Una serie de
aplicaciones científicas, industriales, y militares ha motivado un riguroso análisis para el
control de los sistemas mecánicos.
En la actualidad, se ha mostrado un interés creciente en el problema de la
estabilización de sistemas no lineales subactuados, dedicando mayor atención al caso
de sistemas mecánicos subactuados de grado 1.
Estos sistemas se caracterizan por el hecho de poseer más grados de libertad
que grados de actuación, es decir, uno o más grados de libertad son subactuados. Esta
clase de sistemas mecánicos abundan en la vida real; y los ejemplos de tales sistemas
incluyen, el Tora, Acrobot, Pendubot, Péndulo Invertido, entre otros.
Recientemente los autores de [1] han desarrollado una aplicación del método de
control no lineal de Interconexión y Asignación de Amortiguamiento, basado en
pasividad (IDA-PBC) [2], para lograr la estabilización de sistemas mecánicos
subactuados. La idea central del método es realizar un “matching” entre la dinámica del
sistema expresada, con respecto a la función de energía del sistema, en forma
Hamiltoniana con disipación, y una dinámica deseada que preserva la estructura
Hamiltoniana controlada por puertos (PCH) [3], del sistema en términos de una función
de energía total deseada.
Para el desarrollo de este método se siguen dos etapas básicas ([1],[4]): (1) la
etapa del moldeado de la energía y (2) la etapa de inyección de amortiguamiento. El
moldeado de la energía total en sistemas mecánicos es garantizado por el paradigma
de primeramente modificar la matriz que representa la energía cinética, y
posteriormente se moldea la energía potencial.
Sin embargo el éxito en la aplicación de este método se basa fuertemente en la
posibilidad de resolver las ecuaciones diferenciales parciales que resultan al tratar de
preservar la representación Hamiltoniana del sistema en lazo cerrado.
En [4] los autores dan una serie de condiciones sobre el sistema y sobre las
matrices de inercia asignables tales que dichas ecuaciones en derivadas parciales
puedan ser resueltas. Adicionalmente, introducen un procedimiento de
reparametrización de las funciones que aparecen en el término independiente de las
ecuaciones que permite la integración de las mismas, obteniendo una solución
constructiva para el moldeado de la energía potencial.
En [5],[6] se aplica un proceso de reducción que permite obtener una familia
genérica de matrices de inercia para las cuales es posible encontrar también una
solución constructiva de la función de moldeado de la energía cinética. La utilización de
la genericidad de la familia de matrices conduce a una simplificación de las ecuaciones
en derivadas parciales que facilita la integración de las ecuaciones sin tener que recurrir
a complicadas reparametrizaciones de las funciones a integrar.
Estas simplificaciones sólo pueden llevarse a cabo en el caso de algunos
sistemas subactuados, en los cuales la matriz de inercia es función solamente de la
coordenada actuada.
Ante lo anteriormente planteado, se considera pertinente analizar, diseñar y
simular sistemas mecánicos subactuados de grado 1 mediante el método IDA-PBC para
lograr la estabilización del sistema en torno al punto de equilibrio deseado.
Del panorama antes planteado surge la presente investigación, la cual busca
darle respuesta a las siguientes interrogantes:
• ¿El método IDA-PBC resultará ser efectivo para la estabilización de sistemas
mecánicos subactuados de grado 1?
• ¿Es posible resolver las ecuaciones diferenciales parciales que resultan al tratar
de preservar la representación Hamiltoniana del sistema en lazo cerrado mediante el
método IDA-PBC?
Formulación del Problema Una vez planteado el problema para enfocar y direccionar la investigación, se
hace necesario formular la siguiente pregunta:
¿Podrían estabilizarse sistemas mecánicos subactuados de grado 1 mediante el
método IDA-PBC?
Objetivos
Objetivo General
Analizar la estabilidad de sistemas mecánicos subactuados de grado 1 mediante
el método IDA-PBC
Objetivos Específicos
• Describir los modelos matemáticos de los sistemas físicos a estudiar.
• Establecer la dinámica de los sistemas físicos propuestos para estudiar.
• Establecer las dinámicas deseadas que conducen a las EDP asociadas a la
estabilización de los sistemas.
• Determinar las funciones de control que permiten la estabilización de los sistemas
propuestos.
• Analizar la estabilidad de los sistemas en lazo cerrado.
• Realizar simulaciones numéricas que corroboren el comportamiento esperado de los
sistemas controlados.
• Rediseñar las funciones a partir de los resultados obtenidos en las simulaciones.
Justificación de la Investigación
Esta investigación se justifica atendiendo los siguientes criterios:
Conveniencia: Porque los sistemas mecánicos subactuados de grado 1 representan
numerosos problemas reales, donde es mayor el número de grados de libertad que de
actuadores reales. El método IDA-PBC resulta útil para estabilizar sistemas no lineales.
Valor Teórico: Permite generar problemas interesantes de control que requieren
análisis no lineales. La propiedad de subactuación de sistemas subactuados se debe a
la dinámica de los sistemas y a las estrategias de reducción de costos o algunos
propósitos prácticos.
Implicaciones Prácticas: Porque se le da respuesta a un problema específico cuya
solución mejoraría el desempeño de sistemas mecánicos que abundan en la vida real; y
los ejemplos de tales sistemas incluyen, naves espaciales, submarinos, helicópteros,
vehículos, robots móviles, entre muchos otros. El problema del control de sistemas
subactuados está motivado por numerosas aplicaciones prácticas, donde el argumento
de la economía de diseño juega un papel protagónico.
Utilidad Metodológica: Se espera avanzar en el desarrollo de herramientas para el
moldeado y control de los sistemas físicos en general. Para ello, se construyen
programas en Matlab para realizar las simulaciones numéricas que corroboren el
comportamiento esperado de los sistemas controlados. Estos programas servirán como
base para futuras investigaciones.
Relevancia Social: Porque el control de sistemas mecánicos está actualmente entre
uno de los campos más activos de investigación, debido a las aplicaciones diversas de
sistemas mecánicos en la vida real. Una serie de aplicaciones científicas, industriales, y
militares ha motivado un riguroso análisis y metodologías para el control de los sistemas
mecánicos. Adicionalmente, existe una familiaridad con los conceptos de energía, lo
que puede servir como un idioma común para facilitar la comunicación en la teoría de
control, incorporando conocimientos anteriores y las interpretaciones físicas a la acción
del control.
Importancia La importancia de la aplicación del método IDA-PBC a sistemas mecánicos
subactuados de grado 1, radica en el hecho de poder visualizar dichos sistemas físicos
como la interconexión de sub-sisternas o componentes más simples que almacenan o
disipan energía. Este método de moldeo de energía intenta preservar la estructura física
Hamiltoniana en lazo cerrado, lo cual es altamente favorable en el problema de
regulación de sistemas electro-mecánicos.
Delimitación
El estudio se desarrollará temporalmente en el lapso comprendido entre
noviembre 2008 y julio 2009, período que incluye las fases de análisis, diseño y
simulación de sistemas mecánicos subactuados de grado 1.
El área de conocimiento abarca el estudio de los sistemas dinámicos de control
no lineales.
El estudio se fundamenta teóricamente en el método IDA-PBC aplicado a
sistemas mecánicos subactuados desarrollado en [1].
CAPÍTULO II MARCO TEÓRICO
Bases Teóricas
Este capítulo presenta la fundamentación teórica y los antecedentes de
estudios afines con las variables a investigar que sirven de soporte a la presente
investigación. La revisión bibliográfica se hizo en el estudio y análisis de teorías
referente al método IDA-PBC, a la técnica de linealización aproximada para el análisis
del comportamiento de sistemas dinámicos y a los modelos matemáticos de los
sistemas mecánicos a ser estudiados.
Teorías relacionadas con el Método IDA-PBC Sistemas Subactuados en Control
Uno de los problemas matemáticos abiertos en teoría de control que más interés
ha despertado en la última década, es la síntesis de controladores para sistemas
mecánicos subactuados.
Un sistema subactuado es aquel que posee menos entradas de control que
grados de libertad. Mantener en equilibrio una varilla cilíndrica sobre la palma de la
mano es un buen ejemplo de un sistema subactuado. Este sistema, como se muestra
en la figura 1, tiene cinco grados de libertad (tres para la posición del punto de contacto
de la mano con la varilla, y dos ángulos para la última). Sin embargo sólo es posible
actuar en los tres grados de libertad de la mano.
Figura 1. Grados de libertad de un sistema subactuado
En la práctica cualquier sistema que necesite mantenerse en equilibrio es un
sistema subactuado. Otros ejemplos son la bicicleta, y aunque menos evidente, un
avión, con seis grados de libertad y cuatro actuadores.
Control basado en la Energía
Una de las técnicas que mayor interés ha despertado en la comunidad del control
de sistemas subactuados por sus múltiples aplicaciones y por su retorno al uso de la
intuición física en la labor del ingeniero, es la pasividad. Para su entendimiento es
preciso establecer el papel de la energía en el control.
Si al analizar una ley de control que actúa sobre un sistema, se sabe discernir
qué términos mantienen la energía constante, cuáles tienen un efecto disipativo, y
cuáles inyectan energía al sistema, se arrojaría una luz necesaria para el problema de
la estabilización, abriendo paso a las tareas subsiguientes de ajuste y refinamiento del
comportamiento transitorio.
En control automático es tendencia reciente la incorporación del concepto de
energía como un elemento matemático de ayuda al diseño de los controladores, así
como marco para la incorporación de la intuición física en el control. En la descripción
de sistemas electromecánicos en bucle abierto se emplea una función de energía que
se corresponde con el fenómeno natural, concretamente en el sentido de función
asociada al estado o configuración del mecanismo. En este caso se puede establecer
una separación entre energías potencial, cinética, eléctrica y magnética, cuya suma es
invariante o decreciente en ausencia de una fuente externa que suministre energía.
También se puede identificar en bucle abierto el fenómeno de disipación y sus causas.
El segundo principio de la termodinámica establece el sentido de la disipación de la
energía en sistemas aislados. Más aún, la expresión analítica de una función de energía
de un sistema autónomo, el hamiltoniano, expresado en función de las coordenadas
generalizadas, proporciona información suficiente para calcular trayectorias en ausencia
de disipación o inyección externa de energía.
En la tarea de síntesis de controladores, no basta con un conocimiento del
sistema libre, se requieren objetos matemáticos que reflejen el efecto energético de la
señal de control. Controlar implica la adición de energía al sistema en algunos instantes
y absorción en otros, de manera que se abandona la naturaleza conservativa o
disipativa del sistema natural porque éste ya no se encuentra aislado. En este contexto,
sin un principio de conservación de la energía o de la cantidad de movimiento, el
ingeniero se ve desprovisto de las herramientas más fundamentales para el cálculo de
trayectorias o análisis de estabilidad de los cuerpos. La alternativa natural que surge de
estos planteamientos es encontrar funciones de energía que describan a los sistemas
controlados, para que las trayectorias de éstos puedan ser calculadas y analizadas en
virtud de dichas funciones. Se abre un problema conceptual de dos incógnitas para el
ingeniero de control: la elección de la función de energía en bucle cerrado y el
consiguiente cálculo de señal de control.
En la fase de diseño de un controlador basado en energía, tanto la función de
energía como la señal de control son los parámetros a diseñar. La elección de estos
parámetros se hará atendiendo a restricciones de distinta naturaleza, que aparecen por
especificaciones de rendimiento del sistema o por simples limitaciones del equipamiento
disponible.
Conocidas las restricciones y conocido el modelo del sistema en bucle abierto se
puede enunciar el problema del control basado en la energía del siguiente modo: dado
el sistema ),( uxfx =& , hallar una función de realimentación del estado u ≡ u(x), tal que el
sistema resultante tenga, respecto a una función del estado H(x), denominada función
de almacenamiento o energía, un comportamiento disipativo (la energía decrece con el
tiempo). La forma de esta función debe acomodarse al conjunto de restricciones que se
desprenden de las especificaciones en bucle cerrado del sistema.
En el caso particular de no existir restricciones explícitas sobre la señal de
control, el proceso de diseño es secuencial: se obtiene una función de energía
adecuada a las especificaciones y se calcula por procedimientos puramente algebraicos
la señal de control que transforma el sistema en bucle abierto en otro que sea descrito
por dicha función de energía.
Estabilización mediante la Energía
Al introducir el problema del control basado en la energía, surge la necesidad de
trasladar las especificaciones de lazo cerrado a restricciones en la función de energía.
El significado que tiene esto en la práctica, se concentra en el procedimiento que se
emplea en la literatura denominado Energy Shaping (moldeo de energía) ya que las
especificaciones en bucle cerrado se satisfacen dando forma o moldeando la superficie
n-dimensional de la función de energía.
Los criterios con que se debe “moldear” la función de energía, se encuentran en
las especificaciones de un sistema en bucle cerrado dividas en dos aspectos:
estabilidad del régimen permanente y calidad del transitorio (velocidad,
sobreoscilación).
Para el régimen permanente se sabe que la herramienta fundamental del análisis
de estabilidad de sistemas no lineales es el método directo de Lyapunov. La existencia
de una función definida positiva (salvo en el conjunto límite deseado donde vale cero),
que evaluada en las trayectorias solución es monótona decreciente, implica la de
estabilidad de dicho conjunto límite. Bajo ciertas condiciones adicionales dadas en
teoremas como los de LaSalle, se garantiza la estabilidad asintótica, es decir, la
convergencia de las trayectorias hacia el límite deseado. Al analizar la estabilidad de un
sistema controlado por métodos energéticos en la energía, el concepto de disipatividad,
unido al de moldeo de energía, proporcionan una función de Lyapunov para el control,
que es la energía del sistema en bucle cerrado.
El proceso de diseño en este contexto sería: dado un punto o conjunto de puntos
que se desee estabilizar, hallar una ley de control tal que la función de energía en bucle
cerrado sea definida positiva en todo el rango de funcionamiento y cero en el objetivo.
Si el sistema en bucle cerrado es conservativo con respecto a la energía, esta será la
función de Lyapunov y el sistema será estable.
Generalización de la Energía en el Control
El concepto de energía suministra una magnitud escalar cuya evolución sintetiza,
en algún sentido, la del propio sistema dinámico. Es decir, desde un punto de vista
físico estricto, el sistema evoluciona de forma autónoma hacia el estado en que la
energía se hace mínima. El hecho de que una magnitud escalar resuma en su
comportamiento la evolución del estado (en general un vector) tiene consecuencias
teóricas y prácticas que resulta difícil sobrevalorar. La evolución del sistema hacia el
estado de energía mínima sirvió de inspiración a Lyapunov para desarrollar su conocido
método para el estudio de la estabilidad de los sistemas dinámicos no lineales. Por una
parte, introdujo lo que luego se ha conocido como función de Lyapunov, que no es sino
una función V (x) que posee las mismas propiedades matemáticas que la energía, es
decir:
0,00 )()0( ≠∀>= xVyV x
0,0)( ≠∀< xV x&
Con el concurso de las funciones de Lyapunov V (x), el problema del control se
puede plantear, de forma abstracta, de manera extremadamente simple. Supóngase
que se dispone de una planta, o sistema en bucle abierto, a la que se asocia una
representación matemática, en general no lineal, de la forma:
),( uxfx =& (2)
Es sabido que el problema del control consiste en determinar una función u = k(x)
tal que el sistema resultante de llevar esta u a (2) dé lugar a un sistema en bucle
cerrado de la forma:
)())(,( xFxkxfx ==& , (3)
sistema autónomo que posee el comportamiento requerido. Este comportamiento
comprende la propiedad de estabilidad en el origen, lo que se traduce en que las
trayectorias de (3) tienden al mínimo de la función de Lyapunov V (x). Es decir,
0))(,( <∂∂
= xkxfxVV& (4)
Pues bien la gran aportación de Lyapunov fue permitir generalizar los conceptos
de comportamiento de la energía, a situaciones en las que exista esa función V (x) que
posee las mismas propiedades matemáticas que la energía, aunque no tenga su mismo
significado físico. De este modo se puede generalizar considerablemente el control
basado en la energía al control basado en la existencia de la función de Lyapunov.
Una generalización adicional, que está teniendo auge recientemente, es la de
asociar una estructura (o realización, en una terminología clásica de la teoría del
control) Hamiltoniana al sistema considerado. La función de Hamilton de esta
realización Hamiltoniana posee las propiedades de una función del Lyapunov, por lo
que se alcanza una notable síntesis para el tratamiento de los sistemas dinámicos que
admiten esa formalización.
(1)
Es el caso, en principio, de los sistemas electromecánicos para los que la
adopción de una estructura Hamiltoniana es un hecho bien conocido y explotado desde
hace tiempo.
Para estos sistemas las técnicas de proyecto de controladores mediante moldeo
de energía poseen un carácter natural. Sin embargo, mediante las formulaciones
Hamiltonianas, y el consecuente empleo de funciones de Lyapunov, se puede ampliar
considerablemente el campo de aplicación de las técnicas de moldeo de energía,
desarrolladas inicialmente para sistemas electromecánicos.
Sistemas Hamiltonianos
La dinámica de los sistemas de Euler Lagrange admite una descripción
alternativa conocida como ecuaciones canónicas de Hamilton. Su primera ventaja
aparente es la estructura: un conjunto de ecuaciones diferenciales de primer orden, que
se ajusta a la descripción clásica en variables de estado x = f(x) empleada en control no
lineal. A medida que se analiza la estructura y propiedades de esta descripción
aparecerán interesantes ventajas para el control, que hacen de ella una herramienta
merecedora de su gran popularidad.
Para obtener estas ecuaciones se define la función de Hamilton a partir de la
transformada de Legendre de la función de Lagrange
LqpH ii −∑=Δ
& (5)
donde las variables {p1,p2,...,pn} se denominan momentos conjugados y se definen
como:
kk q
Lp&∂
∂= (6)
Tomando derivadas parciales:
kkk
i
i i ik
ii
k
pqL
qL
qqp
qH
&&
&−=
∂∂
−∂∂
∂∂
−∂∂
=∂∂ ∑ ∑
kk
i
i i ik
iik
k
qpq
qL
pqpq
pH
&&
&
&& −=
∂∂
∂∂
−∂∂
+=∂∂ ∑ ∑
(7)
se llega a la siguiente descripción en variables de estado:
H
pHqH
IIp
qnxn
n
n
nxn ∇Γ=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
∂∂∂∂
⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡0
0&
& (8)
Donde In es la matriz identidad de orden n. La matriz Γ se denomina matriz
simpléctica.
Sistemas Hamiltonianos Generalizados
En [3] aparece una generalización de los sistemas hamiltonianos mediante la
definición de la estructura PCH (Port–Controlled Hamiltonian System), o sistemas
hamiltonianos controlados por puertos. Generalmente se trata con sistemas PCH con
disipación (o PCHD) al incluir un término disipativo en la dinámica. Los sistemas PCH
con disipación admiten la siguiente descripción en variables de estado:
( ) GuxHRJx xx +∂∂
−= )()(& (9)
donde x ∈ℜ n es el vector de estado, J(x)= −J(x)T es la matriz de interconexión, R(x) ≥ 0 es
la matriz de disipación, H es el hamiltoniano o función de Hamilton y G y u representan,
respectivamente, la matriz y el vector de control. Además,
T
nxH
xH
xHH ⎥
⎦
⎤⎢⎣
⎡∂∂
∂∂
∂∂
=∇ ,.......,,21
(10)
Es fácil de comprobar, por la propiedad antisimétrica de J(x), que en ausencia de
acción de control la derivada del hamiltoniano viene dado por:
( ) ( ) 0)( ≤∇∇−= HRHH xT& (11)
De hecho, si R(x) = 0 desaparece el efecto disipativo y el hamiltoniano se
conserva (sistema PCH). Gracias a este hecho fundamental, la funcón H puede ser
empleada como función de Lyapunov de control para sistemas con estructura PCHD en
bucle cerrado.
Estabilidad en Sistemas Autónomos
Los resultados presentados en esta sección son ampliamente conocidos y
empleados en la literatura del control no lineal [9].
Considérese el conjunto de ecuaciones diferenciales
)( xfx =& (12)
donde x ∈ℜ n . Más generalmente, x denota un conjunto de coordenadas locales en un
espacio m–dimensional χ. Supóngase que f es localmente continua en el sentido de
Lipschitz, implicando la existencia y unicidad de soluciones.
Definición 1: (Estabilidad en sistemas no lineales). Sea x∗ un equilibrio de (12),
es decir, f(x∗) =0, y por tanto x(t; x∗)= x∗, ∀t. El equilibrio x∗ es:
(a) estable, si para cada ε> 0 existe δ = δ(ε) > 0 tal que:
0*
)(*
)( , ttxxxx tto ≥∀<−⇒<− εδ (13)
(b) asintóticamente estable, si es estable y existe c > 0 talque:
*)(
*)( ),(lim xxtxcxx toto =⇒<− (14)
t→ ∞
Una herramienta fundamental para el análisis de estabilidad de los sistemas
dinámicos es el método directo de Lyapunov:
Teorema 1 (Lyapunov). Sea x∗ un equilibrio de (12). Sea V : χ → ℜ + una función
C1 que cumple:
** ,0)(,0)( xxxVxV ≠>= (15)
(es decir, definida positiva en x∗), tal que:
,0)())(()( ≤∇= xfxVxV Tx
& ∀ x ∈ χ (16)
Entonces x∗ es un equilibrio estable. Si además
,0)( <xV& ∀ x ∈ χ , *xx ≠ (17)
entonces x∗ es un equilibrio asintóticamente estable.
Una herramienta muy potente para probar estabilidad asintótica en sistemas no
lineales es el principio de invariancia de LaSalle.
Teorema 2 (Principio de invariancia de LaSalle). V : χ → ℜ n una función C1
para la cual ,0)())(()( ≤∇= xfxVxV Tx
& para todo x ∈ χ. Sea x(t, x0), t ≥ 0 una solución
de x = f(x). Suponga que existe un conjunto compacto B tal que x(t : x0) ∈ B, ∀t ≥ 0.
Entonces x(t,x0) converge al mayor subconjunto de {x ∈ χ| ˙ )(xV& =0} B que es
invariante para el sistema )( xfx =&
Pasividad y Disipatividad
Un aporte importante y más reciente en el control de sistemas no lineales es lo
que se refiere a la pasividad, este concepto de manera intuitiva muestra que un sistema
pasivo no puede entregar más energía de la que está recibiendo y muestra de manera
inmediata la estabilización de un sistema con esta cualidad, es decir un sistema no
lineal que es pasivo se puede estabilizar simplemente haciendo una retroalimentación
negativa de la salida u = −ky, con k > 0. (Ver figura 2)
Figura 2. Sistema Pasivo estabilizado con u=-ky
Para un sistema de entrada u y salida y, se dice que es pasivo si verifica:
ℜ∈∀≥∫ ββ ,0
TydtuT
T (18)
La pasividad es una propiedad importante entre la entrada y la salida de un
sistema y ha sido ampliamente utilizada en el análisis de estabilidad de sistemas no
lineales Este concepto ha sido usado para analizar la estabilidad de sistemas
interconectados [2].
El concepto de pasividad es bastante general, en el sentido de que éste puede
ser definido por cualquier tipo de sistema descrito por una entrada y una salida, y no
necesariamente para sistemas dinámicos. Por otro parte, el concepto de disipatividad
puede ser considerado para un tipo particular de sistemas pasivos, en los cuales están
los sistemas dinámicos descrito por las siguientes ecuaciones:
∑⎩⎨⎧
==
YyuxhyUuuxfx
....),.....,(....),.....,(
:εε&
. (19)
Definición 2: Un sistema Σ se dice que puede ser disipativo con respecto a la tasa de
suministro s, si existe una función S: X → R+, llamada función de energía, tal que para
todo x0 ε X, t1 ≥ t0, y toda función de entrada u
∫+≤1
0)0()1( ))(),(()()(
t
ttt dttytusxSxS (20)
Donde x(t0) = x0 y x(t1) es el estado del Σ en el tiempo t1 producto de la condición inicial
x0 y la función de entrada u.
Esta inecuación es llamada la inecuación de disipación, que expresa el hecho de
que la energía almacenada )( )1(txS del Σ en el tiempo t1 es menor igual a la suma de la
energía almacenada )( )0(txS en el tiempo t0 y la energía total externamente
suministrada ∫1
0
))(),((t
t
dttytus durante el intervalo de tiempo [t0, t1].
Método IDA-PBC
El método basado en pasividad conocido como Interconnection and Damping
Assignment Passivity Based Control o IDA-PBC fue introducido en [1]. Esencialmente
consiste en partir de una estructura PCH en bucle abierto y obtener otra en bucle
cerrado con las propiedades de estabilidad deseadas. Igualando las ecuaciones de
bucle abierto y del sistema deseado se obtiene la ley de control. La filosofía del mismo
no es más que la búsqueda de una función de energía y una estructura Hamiltoniana
para el sistema en bucle cerrado.
A. Realización del sistema mecánico en forma Hamiltoniana controlada por puertos.
Se aplica el enfoque IDA-PBC para regular la posición de sistemas mecánicos
subactuados cuya energía total viene dada por:
)()(21),( 1 qVpqMppqH T += − (21)
donde nn pq ℜ∈ℜ∈ , representan la posición generalizada y el momento generalizado,
0)()( >= qMqM T es la matriz de inercia del sistema, y )(qV es la energía potencial.
Si se asume que el sistema no posee amortiguamiento natural, las ecuaciones
del movimiento pueden escribirse como:
uqGH
HI
I
p
qp
q
n
n⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
=⎥⎥⎦
⎤
⎢⎢⎣
⎡•
•
)(0
00
(22)
donde nI es la matriz identidad nxn , HH pq ∇∇ , son los vectores columna gradiente de
H respecto de q y respecto de p , y mu ℜ∈ es la función de control.
La matriz nxmG ℜ∈ es determinada por la manera como el control mu ℜ∈ ingresa
en el sistema, y es invertible en el caso que el sistema sea completamente actuado, es
decir, nm = . En esta investigación se considera el caso más difícil en que el sistema es
subactuado, es decir, menos controles que grados de libertad, asumiendo que
nmGrango <=)( .
En la aplicación del método IDA-PBC se siguen dos etapas básicas ([1],[2]): (1) la
etapa del moldeado de la energía, en la cual es modificada la función de energía total
del sistema, considerada como la suma de la energía cinética más la energía potencial,
para asignar el estado de equilibrio deseado; y (2) la etapa de inyección de
amortiguamiento, la cual permite alcanzar estabilidad asintótica. El mecanismo de
estabilización es interpretado en términos del concepto de energía, para lo cual se
requiere obtener una realización del sistema en lazo cerrado en la denominada forma
Hamiltoniana controlada por puertos ([3]).
B. Dinámica Objetivo.
La forma de la ecuación (21) motiva proponer la siguiente forma para la energía
deseada del sistema en lazo cerrado:
)()(21),( 1 qVpqMppqH dd
Td += − (23)
donde 0>= Tdd MM y dV representan la matriz de inercia en lazo cerrado y la función
de energía potencial deseada, respectivamente, y las cuales están por ser definidas. Un
requerimiento básico es que la energía deseada dV posea un mínimo aislado en ∗q ,
esto es:
)(minarg qVq d=∗ (24)
En la teoría de control basado en pasividad (PBC) la entrada de control
usualmente se descompone en dos términos (véase [4])
),(),( pqupquu dies += (25)
donde el primer término es designado para alcanzar el moldeado de la energía,
mientras que a través del segundo término se introduce amortiguamiento al sistema.
En tal caso la dinámica en lazo cerrado adopta la forma Hamiltoniana controlada
por puertos siguiente
[ ] ⎥⎦
⎤⎢⎣
⎡∇∇
+=⎥⎥⎦
⎤
⎢⎢⎣
⎡•
•
dp
dqdd H
HpqRpqJ
p
q ),(),( (26)
donde los términos:
00
00),(
0
21
1
≥⎥⎦
⎤⎢⎣
⎡==⎥
⎦
⎤⎢⎣
⎡
−=−=
−
−
Tv
Tdd
d
dTdd GGK
RRypqJMM
MMJJ (27)
representan las estructuras de interconexión y de amortiguamientos deseadas .
La matriz antisimétrica 2J (y algunos elementos de la matriz dM ) se introducen
como parámetros libres, mientras que la presencia del término dMM 1− está justificada
para preservar la relación pMq 1−•
= . Por otro lado, como es bien sabido, el aporte de
amortiguamiento en sistemas pasivos se logra vía realimentación negativa de la nueva
salida pasiva, la cual en este caso viene dada por dpT HG ∇ . Esta es la razón por la cual
se elige para el término diu de la ecuación (25) la expresión:
dpT
vdi HGKu ∇−= (28)
donde se toma 0>= Tvv KK . Esto justifica el bloque (2,2) en la definición de dR .
C. Estabilidad.
Para la dinámica deseada en lazo cerrado se tiene la siguiente proposición, la
cual revela las propiedades de estabilización del método IDA-PBC:
Proposición 1: El sistema (22) con dH dada por (23) y ∗q dado por (24) posee
un punto de equilibrio estable en )0,( ∗q . Este equilibrio es asintóticamente estable si es
localmente detectable a partir de la salida ),()( pqHqG dT ∇ .
Dem. Véase [1].
D. Moldeado de la Energía.
Para obtener el término de moldeado de la energía esu en el controlador, se
reemplazan (25) y (27) en (22) e igualamos el resultado con (26), es decir,
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡
−=⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡− −
−
dp
dq
d
des
p
q
n
n
HH
pqJMMMM
uGH
HI
I),(
000
0
21
1
(29)
donde el término dR de (26) se ha cancelado con el término diu de (28).
La primera fila de la ecuación (29) produce una identidad, mientras que la
segunda fila puede expresarse como
pMJHMMHGu ddqdqes1
21 −− +∇−∇= (30)
Si el sistema fuese subactuado, o sea si G fuese invertible, para determinar esu
bastaría premultiplicar por 1−G . En el caso que nos ocupa el sistema es subactuado,
luego G ya no es invertible, sino a lo sumo de rango por columnas máximo, y por lo
tanto el control esu únicamente ejerce influencia sobre los términos en el espacio
imagen del operador G . Esta observación conduce al siguiente conjunto de ecuaciones
de restricción, las cuales deben satisfacerse para cualquier escogencia de esu
{ } 012
1 =+∇−∇ −−⊥ pMJHMMHG ddqdq (31)
donde ⊥G es un anulador izquierdo de rango máximo de G ( o sea, 0=⊥GG ).
La ecuación (31) es un conjunto de ecuaciones diferenciales parciales (EDP) no
lineales con incógnitas dd VyM , y con 2J siendo un parámetro libre, mientras que p
es una coordenada independiente. Si puede obtenerse una solución para esta
ecuación, la ley de control resultante esu vendría dada por:
( ) ( )pMJHMMHGGGu ddqdqTT
es1
211 −
−
−+∇−∇= (32)
Las ecuaciones en derivadas parciales (31) pueden de manera natural ser
separadas en términos que dependen de p y términos que son independientes de p , o
sea, aquéllos que corresponden a la energía cinética, y aquéllos que corresponden a la
energía potencial, respectivamente. En tal sentido, la ecuación (31) es equivalente al
par de ecuaciones
( ) ( ){ } 02 12
111 =+∇−∇ −−−−⊥ pMJpMpMMpMpG ddT
qdT
q (33)
{ } 01 =∇−∇ −⊥ VMMVG qdq (34)
La primera ecuación es una ecuación en derivadas parciales no lineal que debe
ser resuelta para los elementos desconocidos de la matriz de inercia en lazo cerrado
dM . Conocida esta dM , la ecuación (34) es una ecuación en derivadas parciales
lineal, y por lo tanto mas fácil de resolver, de manera que la mayor dificultad está en
resolver (33). Una simplificación, que disminuiría considerablemente las dificultades, es
asumir la existencia de una matriz de inercia dM de términos constantes, lo cual
permitiría concentrarse únicamente en hallar la energía potencial deseada dV .
Afortunadamente, esta simplificación puede llevarse a cabo en el caso de
algunos sistemas subactuados, en los cuales la matriz de inercia es función solamente
de la coordenada actuada.
En esta investigación se sigue la orientación de [1] y [2], donde para obtener una
reducción de las EDP (33) y (34), se plantean las siguientes hipótesis:
Hipótesis H1: El sistema posee grado de subactuación 1, es decir, 1−= nm .
Hipótesis H2a: La matriz de inercia depende solamente de la coordenada actuada.
Hipótesis H2b: La matriz de inercia depende solamente de la coordenada no actuada.
Hipótesis H3: El sistema posee dos grados de libertad, y, sin pérdida de generalidad, la
matriz G viene dada por [ ]TG 10= cuando la matriz de inercia depende solamente de
la coordenada actuada. Y cuando la matriz de inercia depende solamente de la
coordenada no actuada, G viene dada por [ ]TG 01= .
La hipótesis H3 es crítica en el presente desarrollo .Las hipótesis H1 y H2
garantizan que el término ( )pMpG dT
qT 1−∇ en la EDP (33) es nulo. En tal caso (33)
puede ser resuelta para una matriz constante dM , para lo cual, sobre la base de su
libertad de escogencia, basta tomar 02 =J . Esto permite concentrarse en el moldeado
de la energía potencial solamente, de manera que la EDP a resolver se reduce a:
{ } 01 =∇−⊥dd VMMG (35)
En el caso que la matriz de inercia depende solamente de la coordenada no
actuada, la filosofía que se aplicará consistirá en asumir como libre la matriz Md,
mientras que la matriz J2 de la ecuación (33) deberá ser calculada.
Teorías relacionadas con la Técnica de Linealización Aproximada Técnica de Linealización Aproximada para Sistemas No Lineales
Los fenómenos de la naturaleza no lineal son susceptibles de aproximaciones
lineales cuyo valor práctico es innegable. La técnica de linealización aproximada o
Jacobiana como también se conoce, propone utilizar sistemas de ecuaciones
diferenciales lineales que aproximen, tanto en una región restringida del espacio de
estado, y/o del espacio de las entradas y de las salidas del sistema, el comportamiento
descrito por el conjunto de ecuaciones diferenciales no lineal original.
Es necesario acotar que en el análisis del comportamiento de sistemas
dinámicos no lineales, el método de la linealización aproximada será útil en la vecindad
de su punto de equilibrio, siempre y cuando las perturbaciones que afectan la evolución
del sistema sean suficientemente pequeñas.
A. Linealización Aproximada: Expansión en Serie de Taylor:
Se considera el sistema no lineal (36):
))(()()()),.......(),(()( 00
txhtyxtxtutxftx
===&
(36)
cuyos puntos de equilibrio son constantes y están dados por (U, X, Y). Se escribe el
sistema de ecuaciones diferenciales dado en términos de la ecuación integral
equivalente de la manera siguiente:
)))(),((()(
))(),(()(
0
0
0
0
σσσ
σσσ
duxfxhty
duxfxtx
t
t
t
t
∫
∫+=
+=
(37)
Esta representación tiene sus ventajas al momento de evaluar el efecto causado
sobre los estados y las salidas debido a posibles perturbaciones que se sucedan en el
estado inicial x0 y en la función de entrada u(t).
Se supone que el sistema dinámico se encuentra operando en perfecto equilibrio.
Esto se traduce en lo siguiente:
YxhtyUtuXxtx ===== )()(;.....)(;.....)( 00 (38)
Es decir, el estado inicial en que se encuentra operando al sistema en el instante
t0 coincide enteramente con el estado de equilibrio constante X, el cual se produce de
manera inmutable (si el sistema es asintóticamente estable) sobre la base de sustentar
la entrada constante u=U durante un período de tiempo indefinidamente grande.
Considerando perturbaciones significativas, tanto en el estado inicial de equilibrio
x0 = X, como en la función de entrada de equilibrio u(t) = U, descritas de la manera
siguiente:
);.()(;.....)( 0000 tuUtuxXxxtx δδ δ +=+=+= (39)
Con estas perturbaciones acaecidas alrededor de los valores de equilibrio,
consecuentemente, se suceden cambios o perturbaciones tanto en el estado de
equilibrio constante del sistema x(t) = X como en el valor de la salida y(t)= Y. Utilizando
el sistema de ecuaciones (37), el estado perturbado y la salida perturbada pueden ser
descritos mediante:
))(()(
))(),(()(0
0
txXhty
duUxXfxXtxt
t
δ
δδδ σσσ
+=
++++= ∫ (40)
La expresión (40) constituye una representación exacta del efecto de las
perturbaciones. Ciertamente esta representación no es muy útil puesto que sigue
describiendo mediante una ecuación integral no lineal el valor del nuevo estado x(t)= X
+ xδ(t) y como una relación no lineal el valor de la nueva salida y (t) = Y + yδ(t).
En efecto, a partir de (40) y de las definiciones que se acaban de dar del estado
perturbado y la salida perturbada, se obtiene:
)())(()(
))(),(()(0
0
XhtxXhty
duUxXfxtxt
t
−+=
+++= ∫δδ
δδδδ σσσ (41)
Por lo tanto, se prefiere utilizar una aproximación lineal de estas relaciones. Se
sabe que, en virtud del teorema de expansión en serie de Taylor, se puede escribir los
valores perturbados de las funciones f(•) y h(•) como:
SOTtxxhXhtxXh
SOTtuuftx
xfUXftutxXf
X
UXUX
.............)()())((
......)()(),())(),((),(),(
++∂∂
+=+
++∂∂
+∂∂
+=+
δδ
δδδδ
(42)
donde T.O.S. significa términos de orden superior. Tomando en cuenta que f(X,U) = 0,
la cual viene de la definición de punto de equilibrio, se puede calcular el valor del estado
perturbado como:
σσσ δδδδ dSOTuufx
xfxtx
t
tUXUX
∫ ⎟⎟⎠
⎞⎜⎜⎝
⎛++
∂∂
+∂∂
+=0
.....)()()(),(),(
0 (43)
Y de la salida perturbada,
)(.............)()()( XhSOTtxxhXhty
X
−⎟⎟⎠
⎞⎜⎜⎝
⎛++
∂∂
+= δδ
SOTtxxh
X
.............)( ++∂∂
= δ (44)
Si se trunca la serie de Taylor y se desprecia los términos de orden superior
utilizados en las fórmulas anteriores, es evidente que, tanto en la ecuación integral del
estado perturbado como en la ecuación de salida, se obtendrá sólo una aproximación
(lineal en este caso) a los valores de xδ(t) y de yδ(t).
Se adopta como valor aproximado de xδ(t) al valor )(~ txδ , el cual se obtiene al eli-
minar todos los términos de orden superior en la ecuación integral, es decir:
σσσ δδδδ duufx
xfxtx
t
tUXUX
∫ ⎟⎟⎠
⎞⎜⎜⎝
⎛
∂∂
+∂∂
+=0
)()(~)(~),(),(
0
)(~)(~ txxhty
Xδδ ∂
∂= (45)
El término )(~ txδ no es exactamente igual a xδ(t) y otro tanto sucede con )(~ tyδ y
)(tyδ . Sin embargo, no se establece diferencia entre el valor de la perturbación dado en
(42) y el valor aproximado de la misma obtenido en (45).
Se asume, entonces, como valor perturbado del estado y como valor de la
perturbación de la señal de salida, a la solución de la ecuación integral y a la relación
lineal descritas en (45), es decir,
σσσ δδδδ duufx
xfxtx
t
tUXUX
∫ ⎟⎟⎠
⎞⎜⎜⎝
⎛
∂∂
+∂∂
+=0
)()()(),(),(
0
)()( txxhty
Xδδ ∂
∂= (46)
B. Representación del Sistema Linealizado:
De esta forma, se designa mediante la matriz A de n filas y n columnas, la matriz
Jacobiana xf∂∂ particularizada en el punto de equilibrio constante (X,U). Mediante el
vector B de n filas se designa al vector uf∂∂ evaluado en (X,U). Igualmente, se designa
mediante el vector fila C al vector xh∂∂ , evaluado en X. De tal forma que las ecuaciones
en (46) se reescriben entonces:
( ) σσσ δδδδ duBxAxtxt
t∫ ++=0
)(*)(*)( 0
)(*)( txCty δδ = (47)
Espacio de estados: Si se toma derivadas respecto del tiempo en esta ecuación
integral, obtenemos una ecuación diferencial equivalente para xδ(t):
)(*)()();....(*)(*)( 00
txctyxtxtuBtxAtx
δδ
δδδδδ
==+=&
(48)
Para dicho sistema de ecuaciones diferenciales, se toma en cuenta como
condición inicial en t = t0, el valor x0δ = x0 - X.
La ecuación diferencial en la expresión (48) representa un sistema de
ecuaciones diferenciales lineales en xδ y en uδ. A este sistema se le llama
representación (lineal) en el espacio de estado, o brevemente, representación de
estado.
La solución xδ(t) es una aproximación al comportamiento de las perturbaciones
que exhibe el sistema no lineal (37) sobre los valores de la trayectoria de equilibrio x(t)
= X y u(t)= U.
En resumen, el sistema dinámico que aproxima las perturbaciones ocurridas al
sistema no lineal cuando éste opera en condiciones estables de equilibrio está
representado por un sistema lineal cuyas ecuaciones de estado y de salida están dadas
por (48).
Las matrices constantes (A, B, C), llamadas matrices Jacobianas, que definen a
esta aproximación lineal están dadas por:
XUXUX xhC
ufB
xfA
∂∂
=∂∂
=∂∂
= ;;),(),(
(49)
Es por esto precisamente que la linealización aproximada también recibe el
nombre de linealización Jacobiana.
En forma aproximada se tiene igualmente:
)()();()();()( tyYtytuUtutxXtx δδδ +=+=+= (50)
o equivalentemente:
YtytyUtutuXtxtx −=−=−= )()(;)()(;)()( δδδ (51)
Éstas últimas se le llaman variables incrementales. En el caso de la entrada u y
el estado x, la interpretación de sus valores perturbados en términos de las variables
originales admite una representación gráfica como la que se muestra en la figura 3.
Figura 3. Relación entre las variables originales y las variables incrementales
Teorías relacionadas con el Modelo Matemático de los Sistemas Mecánicos Modelo Matemático del Sistema TORA: Oscilador Traslacional con Actuación
Rotacional
El denominado sistema TORA (translational oscillator with rotational actuator)
fue introducido por primera vez en [11]. La figura 4 ilustra el sistema TORA consistente
de una plataforma oscilante traslacionalmente de masa 1m , la cual es controlada vía
una masa rotacional excéntrica de masa 2m . El problema es de interés como un caso
de estudio en el diseño de controles no lineales debido a que el modelo exhibe una
interacción no lineal entre sus movimientos traslacional y rotacional.
Figura 4. El Sistema TORA
La matriz de inercia del sistema posee la forma
⎥⎦
⎤⎢⎣
⎡+
+=
Irmqrmqrmmm
M 2222
2221
)cos()cos(
(52)
donde 2q es el ángulo de rotación de la masa 2m , r es su radio de excentricidad, e I
es el momento de inercia. Si denotamos por 1q la posición generalizada del sistema,
por [ ]Tqqq 21= , por g la constante de gravedad, y por ( )21 ,qqV la energía potencial
de la masa 2m , el Lagrangiano del sistema viene expresado como:
( ) ( )21
2
1221 ,
21, qqV
q
qqMqqqqL −⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
⎥⎦⎤
⎢⎣⎡=⎟
⎠⎞
⎜⎝⎛
•
••••
(53)
con energía potencial dada por:
( ) )cos(21, 22
2121 qgrmqKqqV += (54)
siendo K la constante de rigidez del resorte.
Si denotamos por τ la fuerza actuadora sobre el punto de giro de 2m , las
ecuaciones de Euler-Lagrange para el sistema TORA adoptan la forma:
( )( )⎪⎩
⎪⎨⎧
=+++
=+−++••••
•••••
τ)sin()cos(
0)sin()2cos(
2222
2122
12
22222121
qgrmqIrmqqrm
Kqqqrmqqrmqmm (55)
resultando así un sistema con 2 grados de libertad, con grado de subactuación 1, y con
2q como coordenada actuada . De tal manera que se satisfacen las hipótesis H1, H2 y
H3, con [ ]TG 10= .
Denotando Irmcrmcmmc +==+= 22322211 ,, , y definiendo el momento de
inercia generalizado mediante •
= qMp , la matriz de inercia M se escribe como:
( ) ⎥⎦
⎤⎢⎣
⎡=
322
2212 )cos(
)cos(cqc
qccqM (56)
donde, a fin de obtener ( )2qM inversible, debe asumirse la siguiente relación entre los
parámetros:
02231 >−ccc (57)
Modelo Matemático del Sistema ACROBOT:
El denominado sistema ACROBOT fue introducido por primera vez en [4]. La
figura 5 ilustra el interesante caso del sistema ACROBOT consistente de dos brazos
mecánicos giratorios con masas 1m y 2m respectivamente. El problema es de interés
como un caso de estudio en el diseño de controles no lineales debido a que el modelo
exhibe una interacción no lineal entre sus movimientos rotacionales.
Las ecuaciones del movimiento del Acrobot, del cual se muestra un esquema en
la figura 5 son dadas por (1) y (2), con n= 2, m=1,
( ) ( ) ( )( ) ⎥
⎦
⎤⎢⎣
⎡
++++
=2232
23223212 cos
coscos2cqcc
qccqcccqM , (58)
( ) ( ) ( )[ ]21514 coscos qqcqcgqV ++= , (59)
donde g es la constante de gravedad y los parámetros son:
225121142123
22
22212
122
111
, ccc
cc
lmclmlmcllmcIlmcIlmlmc
=+==+=++= (60)
los cuales verifican la restricción 2
321 c›cc , que garantiza la inversibilidad de la matriz de inercia. El objetivo de control es estabilizar la posición de equilibrio vertical, o sea, la posición ( )0,0* =q .
Figura 5. Esquema del sistema Acrobot, con 2~
11π−= qq
Antecedentes de la Investigación
A continuación se presentan algunos estudios realizados sobre la aplicación del
método IDA-PBC, resaltando de ellos, los aspectos significativos que sirven de
referencia teórica a la realización del presente trabajo.
Ortega, Spong, Gómez y Blankestein. (2002) en su trabajo Stabilization of a
class of underactuated mechanical systems via interconnection and damping
assignment, presentaron la caracterización de una clase de sistemas para los
cuales el método IDA-PBC logra el diseño de controladores que permitan la
estabilidad asintótica en un dominio garantizado de atracción.
Ortega, van der Schaft, Masche, y Escobar. (2002) en su trabajo Stabilization
of port-controlled Hamiltonian systems: Energy balancing and passivation,
presentaron como el mecanismo de estabilización es interpretado en términos
del concepto de energía, para lo cual se requiere obtener una realización del
sistema en lazo cerrado en la denominada forma Hamiltoniana controlada por
puertos.
Acosta, Ortega, y Astolfi. (2005) en su trabajo Interconnection and damping
assignment passivity-based control of mechanical systems with actuation degre
one, desarrollaron un método adecuado para resolver las EDPs para el caso de
sistemas que tengan subactuación de grado 1 y la matriz de inercia dependa
solamente de la coordenada actuada.
Mahindrakar, Astolfi, Ortega y Viola. (2006) en su trabajo Further constructive
results on interconnection and damping assignment control of underactuated
mechanical systems: The acrobot example, desarrollaron una serie de
condiciones sobre el sistema y sobre las matrices de inercia asignables tales que
dichas ecuaciones en derivadas parciales puedan ser resueltas. Adicionalmente,
introducen un procedimiento de reparametrización de las funciones que aparecen
en el término independiente de las ecuaciones que permite la integración de las
mismas, obteniendo una solución constructiva para el moldeado de la energía
potencial.
Morillo, Ríos y Acosta. (2008) en su trabajo Control no lineal de sistemas
mecánicos sub-actuados basado en el enfoque IDA-PBC: el caso del sistema
TORA, logran obtener una solución para las EDPs mediante un proceso de
reducción que logra simplificar dichas ecuaciones y hacer más fácil su solución.
Morillo, Ríos y Arteaga. (2008) en su trabajo Una estrategia de control no lineal
para el sistema Acrobot basada en el enfoque IDA-PBC, presentaron la
aplicabilidad del método IDA-PBC en sistemas con 2 grados de libertad y
subactuación de grado 1, en el caso que la matriz de inercia dependa solamente
de la coordenada actuada, como es el caso del sistema ACROBOT.
Hipótesis de Estudio
De lo anteriormente planteado y con el desarrollo de la investigación se intentará
darle respuesta a la hipótesis de estudio:
Los sistemas mecánicos subactuados de grado 1 son susceptibles a ser
estabilizados mediante el método IDA-PBC.
CAPÍTULO III MARCO METODOLÓGICO
Tipo de Investigación Utilizando la clasificación mostrada en [7], esta será una investigación del tipo
aplicada, que inicialmente recogerá los trabajos y avances bibliográficos sobre el tema a
estudiar para luego plantear un desarrollo sistemático para el análisis, diseño y
simulación de sistemas mecánicos subactuados de grado 1 mediante el método IDA-
PBC. Este tipo de investigación se caracteriza porque busca la aplicación o utilización
de los conocimientos que se adquieren. Tal y como lo expone Grajales en [7]; la
investigación aplicada, guarda íntima relación con la básica, pues depende de los
descubrimientos y avances de la investigación básica y se enriquece con ellos, pero se
caracteriza por su interés en la aplicación, utilización y consecuencias prácticas de los
conocimientos. La investigación aplicada busca el conocer para hacer, para actuar, para
construir y para modificar.
Procedimiento de la Investigación Tratando de cumplir con las premisas del Método IDA-PBC propuesto por [1], para
el control de sistemas mecánicos subactuados de grado 1, se lleva a cabo un
procedimiento que consta de siete (7) etapas, sistematizadas de la siguiente forma:
Revisión bibliográfica, realización Hamiltoniana, moldeado de la energía, inyección de
amortiguamiento, análisis de la estabilidad, simulaciones numéricas y rediseño de las
funciones. (Ver figura 6).
A continuación se explica en que consiste cada una de estas etapas para el
desarrollo del método IDA-PBC en sistemas mecánicos subactuados de grado1:
Revisión Bibliográfica: En esta etapa se realiza una revisión de los artículos y
libros mencionados en la referencia.
Realización Hamiltoniana: En esta etapa se procede a determinar las
realizaciones Hamiltonianas de los sistemas mecánicos considerados,
Moldeado de la Energía: En esta etapa se determina las estructuras de
interconexión modificando la función de energía del sistema para asignar el
estado de equilibrio deseado.
Inyección de Amortiguamiento: En esta etapa se determina la estructura de
amortiguamiento que permite alcanzar la estabilidad asintótica. Adicionalmente,
se hace el análisis de los puntos de equilibrio de cada sistema en lazo abierto,
utilizando la técnica de la Linealización Jacobiana.
Análisis de la Estabilidad: En esta etapa se analiza la estabilidad de los sistemas
en lazo cerrado y la estabilidad asintótica aplicando el Principio de Invariancia de
Lasalle.
Simulaciones Numéricas: En esta etapa se realizan simulaciones
computacionales usando la plataforma de Matlab 7.1 para mostrar el desempeño
del controlador propuesto.
Rediseño de las funciones: En esta etapa se procede a rediseñar las funciones a
partir de los resultados obtenidos en las simulaciones.
Figura 6. Etapas del Método IDA-PBC (Pérez, 2009)
Revisión Bibliográfica Realización Hamiltoniana
Moldeado de la Energía
Inyección de Amortiguamiento
Análisis de Estabilidad
Simulaciones Numéricas
Rediseño de las Funciones
El método IDA-PBC persigue una dinámica en bucle cerrado con función de
Hamilton Hd(q,p) y una matriz antisimétrica también llamada de interconexión
generalizada de la forma Jd(q,p)= −Jd(q,p)T que permite aumentar los grados de
libertad en el diseño. Las ecuaciones de estado en lazo abierto y cerrado se deben
ajustar exactamente. Esto quiere decir que la ley de control u debe calcularse de modo
que
[ ] ⎥⎦
⎤⎢⎣
⎡∇∇
−=+⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡
dp
dqdd
p
q
n
n
HH
RJGuHH
II
pq
00
&
& (61)
donde Rd(q) ≥ 0 la matriz de disipación en bucle cerrado. Las principales dificultades de
este método aparecen en el caso de sistemas subactuados, donde el conjunto de
funciones de Hamilton Hd alcanzables en bucle cerrado es limitado, y depende de la
resolubilidad de un sistema de ecuaciones diferenciales parciales. En efecto, en el caso
subactuado existe una matriz ⊥G de rango m<n siendo n el número de grados de
libertad, que represente las direcciones en las que la ley de control no tiene efecto,
cumpliéndose que
0=⊥GG (62)
es decir, si G es una matriz constante, las filas de ⊥G forman el núcleo de G. Si se
premultiplica (61) por ⊥G se obtiene:
[ ] ⎥⎦
⎤⎢⎣
⎡∇∇
−=⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡ ⊥⊥
dp
dqdd
p
q
n
n
HH
RJGHH
II
pq
G0
0&
& (63)
Esta ecuación ha de cumplirse para cualquier valor de la ley de control, y por lo
tanto representa una restricción en el conjunto de sistemas hamiltonianos alcanzables
en bucle cerrado definidos por las matrices (Hd, Jd, Rd). Una correcta elección de los
parámetros (Hd, Jd, Rd) debe ser compatible con estas ecuaciones de ajuste y al
mismo tiempo representar una dinámica en lazo cerrado con las propiedades deseadas
en términos de estabilidad. Proporcionar métodos de cálculo de las (Hd, Jd, Rd)
adecuadas y de leyes de control para el ajuste lazo abierto-lazo cerrado es la esencia
del método IDA-PBC.
Programas de Simulación Numérica Para corroborar el comportamiento esperado de los sistemas controlados se
diseñaron programas utilizando la herramienta computacional Matlab 7.1. Para simular
un sistema no lineal controlado utilizando Matlab, se requieren dos programas
llamados: Programa de simulación y Programa del sistema o modelo a simular. El
programa de simulación permite definir los lineamientos básicos de la simulación:
tiempo de simulación (inicial y final), condiciones iniciales y tipo de algoritmo de
simulación (ode23, ode45,…); inclusive se puede definir los parámetros del sistema
controlado y hasta graficar los resultados de la simulación. Este programa consiste en
un conjunto lógico de instrucciones de ejecución secuencial denominado script en el
ambiente Matlab. El corazón principal de este programa es el algoritmo de simulación.
En esta investigación se utilizó el algoritmo ode45, el cual es un método de resolución
de ecuaciones diferenciales ordinarias mediante fórmulas de Runge-Kutta de cuarto y
quinto orden.
El modelo a simular se presenta por medio de un programa o función, o function
en Matlab, en el cual se plantean explícitamente las ecuaciones diferenciales asociadas
al sistema de control. Esencialmente, posee dos parámetros de entrada, el tiempo t de
simulación y la variable de estado x, representadas por ( 121 ,, pqq y 2p ), debido a que
éstas son las variables utilizadas directamente por los algoritmos de simulación. Junto
con las ecuaciones diferenciales que representan el modelo del sistema, aparece la ley
de control diseñada, la cual puede estar definida a través de variables auxiliares
locales. A diferencia del script, el modelo a simular requiere un encabezado con la
palabra function <salida> = <nomarch>(t,x), donde <salida> corresponde al vector
x& que refleja la dinámica del sistema, <nomarch> es el nombre original del programa,
que tiene la extensión .m y el par (t,x ) representan las variables de tiempo y de estado
correspondientes de la simulación y del sistema a simular.
Para la etapa de Moldeado de la energía, se diseñaron dos programas que
permitieron verificar si la función de energía potencial deseada (Vd) hallada en la
resolución de la EDP, cumplía con ser una función de Lyapunov.
Para la etapa de Simulaciones numéricas y Rediseño de las funciones, se
diseñaron cuatro programas que permitieron corroborar el comportamiento esperado
de los sistemas a controlar.
Descripción de los Programas de Simulación Numérica
El diseño de estos programas de simulación numérica, permiten proporcionar
información numérica y gráfica, sobre la función correcta de Hd, Jd, Rd y la ley de
control para el ajuste lazo abierto-lazo cerrado, que permitan que el sistema en lazo
cerrado tenga el miso comportamiento de la dinámica objetivo.
Para el sistema TORA, se diseñaron 6 programas descritos como: 3 programas
de simulación y 3 programas del sistema o modelo a simular. Los dos primeros
denominados VDESTORA Y SIMVDESTORA como se muestra en el anexo A, están
dirigidos a verificar si la Vd hallada en la resolución de la EDP, cumple con ser una
función de Lyapunov.
Los dos siguientes programas denominados TORALAZ y SIMTORALAZ como
se muestra en el anexo B, están dirigidos a corroborar el comportamiento de la
dinámica en lazo cerrado.
Asímismo, los programas denominados TORADIN y SIMTORADIN como se
muestra en el anexo C, están dirigidos a corroborar el comportamiento de la dinámica
objetivo.
Para el sistema ACROBOT de igual forma se diseñaron 6 programas. Los dos
primeros denominados VDESACRO Y SIMVDESACRO como se muestra en el anexo
D, están dirigidos a verificar si la Vd hallada en la resolución de la EDP, cumple con ser
una función de Lyapunov.
Los dos siguientes programas denominados ACROLAZ y SIMACROLAZ como
se muestra en el anexo E, están dirigidos a corroborar el comportamiento de la
dinámica en lazo cerrado.
Asimismo, los programas denominados ACRODIN y SIMACRODIN como se
muestra en el anexo F, están dirigidos a corroborar el comportamiento de la dinámica
objetivo.
CAPÍTULO IV RESULTADOS OBTENIDOS
A continuación se presentan dos interesantes casos de sistemas mecánicos
subactuados de grado 1, el Sistema TORA y el Sistema ACROBOT. Estos sistemas han
sido seleccionados para analizar la estabilidad aplicando el método IDA-PBC, y así
probar de esta manera la efectividad del método. Es importante mencionar que todos
los cálculos que se hicieron necesarios realizar se llevaron a cabo utilizando el
programa computacional Maple 10.
Sistema TORA El sistema TORA es de interés como un caso de estudio en el diseño de
controles no lineales debido a que el modelo exhibe una interacción no lineal entre sus
movimientos traslacional y rotacional.
Estabilización del Sistema TORA
A. Realización Hamiltoniana
El sistema Hamiltoniano Generalizado es:
uxGHJx *)(+∇=&
donde la matriz J es antisimétrica, siendo la más sencilla:
⎥⎦
⎤⎢⎣
⎡−
=0
0
n
n
II
J
L*cos(q2) q2 L
h
h = L - L*cos(q2)
h = L*(1 - cos(q2))
Si se asume que el sistema no posee amortiguamiento natural, las ecuaciones
del movimiento pueden escribirse como:
uGH
HI
Ipq
p
q
n
n⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡ 00
0&
&
donde nI es la matriz identidad nxn , HH pq ∇∇ , son los vectores columna gradiente de
H respecto de q y respecto de p , y mu ℜ∈ es la función de control. La matriz nxmG ℜ∈ es determinada por la manera como el control mu ℜ∈ ingresa en el sistema, y
es invertible en el caso que el sistema sea completamente actuado, o sea, nm = . En
esta investigación se considera el caso más difícil en que el sistema es subactuado, es
decir menos controles que grados de libertad, y asumimos que mGrango =)( .
Para el sistema TORA n = 2 y m = 1 → m<n → Sistema subactuado de grado 1
La energía total del sistema viene dada por:
PotencialEnergíaCinéticaEnergíaH +=
)(21 1 qVPMPH T += −
donde nn pq ℜ∈ℜ∈ , representan la posición generalizada y el momento generalizado,
0)()( >= qMqM T es la matriz de inercia del sistema, y )(qV es la energía potencial.
Para el sistema TORA la matriz M es la siguiente:
⎥⎦
⎤⎢⎣
⎡=
322
221
)cos(*)cos(*
cqcqcc
M
Y la energía potencial es la siguiente:
))cos(1(21)( 22
21 qgLmKqqV −+=
Se busca con el método IDA-PBC hacer coincidir el comportamiento del sistema
en lazo abierto con la dinámica objetivo.
La dinámica objetivo según éste método viene dada por:
( ) ddd HRJx ∇−=&
donde:
Jd: Matriz de interconexión
Rd: Matriz de amortiguamiento
Md: Matriz de inercia deseada
Cuyas estructuras son las siguientes:
⎥⎦
⎤⎢⎣
⎡
−=
−
−
0*0
1
1
MMMM
Jd
dd , ⎥
⎦
⎤⎢⎣
⎡= T
vd GKG
R**0
00 y ⎥
⎦
⎤⎢⎣
⎡=
32
21
aaaa
Md
B. Moldeado de la Energía
En la teoría de control basado en pasividad (PBC) la entrada de control
usualmente se descompone en dos términos (véase [12])
),(),( pqupquu dies += (63)
donde el primer término es designado para alcanzar el moldeado de la energía,
mientras que a través del segundo término se introduce amortiguamiento al sistema.
Por otro lado, como es bien sabido, el aporte de amortiguamiento en sistemas pasivos
se logra vía realimentación negativa de la nueva salida pasiva, la cual en este caso
viene dada por dpT HG ∇ . Esta es la razón por la cual se elige para el término diu de la
ecuacióm (66) la expresión
dpT
vdi HGKu ∇−= (64)
donde se toma 0>= Tvv KK . Esto justifica el bloque (2,2) en la definición de dR .
Al igualar el sistema en lazo abierto y la dinámica objetivo resulta lo siguiente:
⎥⎦
⎤⎢⎣
⎡∇∇
⎭⎬⎫
⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡
−⎩⎨⎧
=⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡−
−
dp
dqT
d
d
p
q
n
n
HH
GKvGMMMM
uGH
HI
Ipq
**000
0**00
00
1
1
&
& (65)
donde Hd es la energía total deseada que mantiene la misma forma de la energía total
original del sistema y esta expresada por:
)(21 1 qVPMPH d
Td += −
Para obtener el término de moldeado de la energía esu en el controlador, se
reemplazan (63) y (64) en (65) se obtiene:
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡
−=⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡−
−
dp
dq
d
des
p
q
n
n
HH
pqJMMMM
uGH
HI
Ipq
),(00
00
21
1
&
& (66)
donde el término dR de (65) se ha cancelado con el término diu de (64).
La primera fila de la ecuación (66) produce una identidad para q& como sigue a
continuación:
dpdp HMMHq ∇=∇= −1&
pMpMMMpMq dd1111 −−−− ===& → Con lo que se consigue que la primera
ecuación es una igualdad.
De tal manera que q& equivale a:
pMqq
q 1
2
1 −=⎥⎦
⎤⎢⎣
⎡=
&
&& (67)
donde ⎥⎦
⎤⎢⎣
⎡=
2
1
pp
p y M es la matriz de inercia, entonces se procede a calcular 1−M
como sigue:
⎥⎦
⎤⎢⎣
⎡−
=322
221
)cos()cos(
cqcqcc
M → ⎥⎦
⎤⎢⎣
⎡−
−==−
122
223
1
1
)cos()cos(1
cqcqcc
Mδ
donde 222311 ))cos(( qccc −=δ
Se sustituye las ecuaciones anteriores en (67) resultando lo siguiente:
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−==⎥
⎦
⎤⎢⎣
⎡= −
2
1
122
223
1
1
2
1
)cos()cos(1
pp
cqcqcc
pMqq
qδ&
&&
donde la primera ecuación correspondiente a 1q& es la siguiente:
[ ])cos(122213
11 qpcpcq −=
δ& (68)
Y la segunda ecuación correspondiente a 2q& es la siguiente:
[ ]212121
2 )cos(1 pcqpcq +−=δ
& (69)
Ahora se resuelve la segunda fila de la ecuación (66) correspondiente a p& como
sigue a continuación:
pMJHMMHGu ddqdqes1
21 −− +∇−∇= (70)
Si el sistema fuese subactuado, o sea si G fuese invertible, para determinar
esu bastaría premultiplicar por 1−G . En el caso de estudio el sistema es subactuado,
luego G ya no es invertible, sino a lo sumo de rango por columnas máximo, y por lo
tanto el control esu únicamente ejerce influencia sobre los términos en el espacio
imagen del operador G . Esta observación conduce al siguiente conjunto de ecuaciones
de restricción, las cuales deben satisfacerse para cualquier escogencia de esu
{ } 012
1 =+∇−∇ −−⊥ pMJHMMHG ddqdq (71)
donde ⊥G es un anulador izquierdo de rango máximo de G ( o sea, 0=⊥GG ).
La ecuación (71) es un conjunto de ecuaciones diferenciales parciales (EDP) no
lineales con incógnitas dd VyM , y con 2J siendo un parámetro libre, mientras que p
es una coordenada independiente. Si puede obtenerse una solución para esta
ecuación, la ley de control resultante esu vendría dada por:
( )( )pMJHMMHGGu ddqdqT
es1
21−
− +∇−∇= (72)
Las ecuaciones en derivadas parciales (71) pueden de manera natural ser
separadas en términos que dependen de p y términos que son independientes de p , o
sea, aquéllos que corresponden a la energía cinética, y aquéllos que corresponden a la
energía potencial, respectivamente. En tal sentido, la ecuación (71) es equivalente al
par de ecuaciones:
( ) ( ){ } 02 12
111 =+∇−∇ −−−−⊥ pMJpMpMMpMpG ddT
qdT
q (73)
{ } 01 =∇−∇ −⊥ VMMVG qdq (74)
La primera ecuación es una ecuación en derivadas parciales no lineal que debe
ser resuelta para los elementos desconocidos de la matriz de inercia en lazo cerrado
dM . Conocida esta dM , la ecuación (74) es una ecuación en derivadas parciales
lineal, y por lo tanto mas fácil de resolver, de manera que la mayor dificultad está en
resolver (73). Una simplificación, que disminuye considerablemente las dificultades, es
asumir la existencia de una matriz de inercia dM de términos constantes, lo cual
permite concentrarse únicamente en hallar la energía potencial deseada dV .
Afortunadamente, esta simplificación puede llevarse a cabo en el caso de
algunos sistemas subactuados, en los cuales la matriz de inercia es función solamente
de la coordenada actuada.
En esta investigación, se sigue la orientación de [1] y [4], donde para obtener una
reducción de las EDP (73) y (74), se plantean las siguientes hipótesis:
Hipótesis H1: El sistema posee grado de subactuación 1, es decir, 1−= nm .
Hipótesis H2: La matriz de inercia depende solamente de la coordenada actuada.
Hipótesis H3: El sistema posee dos grados de libertad, y, sin pérdida de
generalidad, la matriz G viene dada por [ ]TG 10= .
La hipótesis H3 es crucial en el presente desarrollo .Las hipótesis H1 y H2
garantizan que el término ( )pMpG dT
qT 1−∇ en la EDP (73) es nulo. En tal caso (73)
puede ser resuelta para una matriz constante dM , para lo cual, sobre la base de su
libertad de escogencia, basta tomar 02 =J . Esto permite concentrarse en el moldeado
de la energía potencial solamente, de manera que la EDP a resolver se reduce a:
{ } 01 =∇−⊥dd VMMG (75)
De esta forma la segunda fila de la ecuación (66) queda:
dqdesq HMMuGHp ∇−=+−∇= − *** 1& (76)
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
−⎥⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
−=⎥⎦
⎤⎢⎣
⎡=
dq
dq
q
q
HH
cqcqcc
aaaa
uHH
pp
p2
1
2
1
122
223
132
21
2
1
)cos(*)cos(*1**
10
δ&
&&
Además, como la matriz Md es constante → dqdq VH11
∇=∇ y dqdq VH22
∇=∇
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡+−−+−−
−=⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
−=⎥⎦
⎤⎢⎣
⎡=
dq
dq
q
q
VV
caqcaqcacacaqcaqcaca
uHH
pp
p2
1
2
1
1322222332
1222122231
12
1
)cos()cos()cos()cos(1*
10
δ&
&& (77)
La primera fila de p& es 1p& :
[ ]VdcaqcaVdqcacaHp qqq 211))cos(())cos((1
12221222311
1 ∇+−+∇−−=−∇=δ
& (78)
11 KqHq =∇ se sustituye en (80) para conseguir la EDP para encontrar Vd.
[ ]VdcaqcaVdqcacaKq qq 2122211222311
1 ))cos(())cos((1∇+−+∇−−=−
δ (79)
Claramente el sistema TORA satisface las hipótesis H1, H2 y H3 comentadas
anteriormente, por lo tanto, la atención puede concentrarse en la resolución de la EDP
de la ecuación (79). Para ello se define la matriz Md mediante:
⎥⎦
⎤⎢⎣
⎡=
32
21
aaaa
Md , con 01 >a y 02231 >− aaa (80)
La ecuación (79) puede reescribirse como:
122112
121
22112
22231
)cos()cos()cos(
Kqqcaca
VqVqqcacaqcaca
dd ⎥⎦
⎤⎢⎣
⎡−
=∇+∇⎥⎦
⎤⎢⎣
⎡−− δ (81)
La ecuación anterior puede intentar resolverse usando el comando pdsolve del
programa Maple pero se obtiene una solución extremadamente complicada válida para
cualquier conjunto de valores de los parámetros 321 ,, ayaa . Para resolver esta
dificultad, se recurre a un subconjunto de valores posibles para estos parámetros que
reducen la complejidad de la ecuación.
Se denota:
)cos()cos(
)cos()cos(
221
243
22112
22231
2
1
qbbqbb
qcacaqcaca
++
=−−
=γγ (82)
donde 224313212121 ,,, cabycabcabcab −==−== . Una simple división en el término
de la derecha de (82) da lugar a:
)cos(
1.2212
4123
2
4
2
1
qbbbbbbb
bb
+−
+=γγ (83)
de manera que se obtiene:
041232
4
2
1 =−⇔= bbbbbb
γγ (84)
Es decir,
111
32
1
2
2
1 aacc
aaa
αγγ
=±=⇔= (85)
En lo sucesivo, para simplificar, se toma únicamente el valor positivo de la
constante α .
Sobre el conjunto:
{ }123213
321 )80(,/),,( aaademásysatisfacenayaaaaa α=ℜ∈ (86)
Sustituyendo 12 aa α= y 222311 ))cos(( qccc −=δ en la ecuación (81):
122111
22231
2122111
22131
)cos())cos((
)cos()cos( Kq
qcacaqcccVqVq
qcacaqcaca
dd ⎥⎦
⎤⎢⎣
⎡−−
=∇+∇⎥⎦
⎤⎢⎣
⎡−
−αα
α
12211
223122312
11
12211
2231
)cos(())cos())(cos((11
)cos(()cos((
Kqqcca
qcccqcccVq
qVq
qqccaqcca
dd⎥⎥⎦
⎤
⎢⎢⎣
⎡
−+−
=∇+∇⎥⎦
⎤⎢⎣
⎡−/−/
ααα
[ ]1
223122231
221
11
12231
221
221
223 )cos()cos(
)cos(11)cos(
)cos()cos()cos(
aKqcccVq
qcccqcc
qVq
qqcccqcc
qccqcc
dd +=∇⎥⎥⎦
⎤
⎢⎢⎣
⎡
−
−+∇
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−
−⎥⎦
⎤⎢⎣
⎡−− αα
αα
[ ]1
223122231
221
11
12231
223 )cos()cos(
)cos(11cos(
)cos(aKqcccVq
qcccqcc
qVq
qqcccqcc
dd +=∇⎥⎥⎦
⎤
⎢⎢⎣
⎡
−
−+∇
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−
− αα
Como 1
3
cc
=α
[ ]1
223122231
2211
3
11
12231
221
33
)cos()cos(
)cos(11
cos(
)cos(
aKqcccVq
qccc
qcccc
qVq
qqccc
qccc
c
dd +=∇
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
−
−
+∇
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
−
−
[ ]1
2231222311
21213
11
122311
22313 )cos())cos((
)cos(11))cos((
)cos(aKqcccVq
qcccc
qccccq
Vqqqcccc
qccccdd +=∇
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−
−+∇
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−
−
[ ]1
223122231
2213
1
1
11
12231
2213
1
3 )cos()cos(
)cos(11)cos(
)cos(aKqcccVq
qccc
qccc
c
cq
Vqqqccc
qccc
c
cdd +=∇
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−
−+∇
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−
−
Finalmente se consigue la EDP para hallar la Vd:
[ ])cos(12231
12
11
1
qcccaKVq
qVq
q dd +=∇+∇α (87)
La aplicación del método de las características a la ecuación (87) conduce a la
solución de la EDP. Este método se aplica a continuación:
Se toma como condición inicial: )()(0)()(: 21 sfsVsqssq d ===γ
Se multiplica la ecuación (87) por 1q , resultando:
[ ])cos( 22311
121 qccc
aKqVqVq dd +=∇+∇α (88)
El sistema característico es:
[ ]⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
+=
=
=
)cos(
1
22311
1
2
1
qccca
Kqdt
dVdt
dqdtdq
d
α
Se resuelve la primera EDO del sistema característico:
∫ ∫=1
10 01
q
q
t
dtdq α → 010
11
tt
q α= → tsq α=−1 → stq += α1 → tqs α−= 1
Se resuelve la segunda EDO del sistema característico:
∫ ∫=2
20 02
q
q
t
dtdq → 020
22
tt
q = → tq =2
De lo anterior ⎩⎨⎧
−==
21
2
qqsqtα
Se resuelve la tercera EDO del sistema característico:
[ ]∫∫ ⎥⎦
⎤⎢⎣
⎡+=
tV
Vd dtqccc
aKqdV
d
d 02231
1
1 )cos(0
Se sustituye 21 qtstq =+= α
[ ]∫∫ ⎥⎦
⎤⎢⎣
⎡+
+=
tV
Vd dttccc
astKdV
d
d 0231
1
)cos()(
0
α
∫ ∫ ∫ ∫+++=t t t t
d
dd dt
atKscdt
attKdt
asccK
dtcca
tKVV
V0 0 0 0 1
2
11
3131
10
)cos()cos(αα
( )0
)(0
)()cos(002 1
2
1
2
1
3131
1
2
0t
tsena
Ksctttsent
acKt
ta
sccKtcc
atKVV dd ++++=−
αα
( ) )()()cos(2
)(1
2
1
2
1
3131
1
2
tsena
Kscttsenta
cKta
sccKcc
atKsfVd ++++=−
αα
⎟⎟⎠
⎞⎜⎜⎝
⎛+−++++= )()()cos(
2)( 22223131
2
1
tssenccttsenctcstcccctaKsfVd αααα
Se sustituyen t y s por ⎩⎨⎧
−==
21
2
qqsqtα
y se toma 221 )(
21)( qqRsf d α−=
)(sf es una función arbitraria de la variable 21 qqs α−= . Para asignar el punto
de equilibrio en el origen a la función dV puede elegirse la función )(sf como
( )22121)( qqRsf d α−= , donde se ha introducido Rd como un parámetro de diseño y
con lo cual se obtiene finalmente para la energía potencial deseada:
⎟⎟⎠
⎞⎜⎜⎝
⎛−+−++−++−= )()()()cos()(
2)(
21
22122222222213131
22
1
221 qsenqqccqsenqcqcqqqcccc
qaKqqRV dd ααααα
αα
Simplificando términos comunes resulta finalmente la solución de la EDP:
⎟⎟⎠
⎞⎜⎜⎝
⎛+−++−+−= )()cos(
2)(
21
212222213131
22
1
221 qsenqccqcqqcccc
qaKqqRV dd αα
αα (89)
Se sabe por el Principio de Lagrange que:
=
y
Se procede a calcular los puntos críticos de la función Vd, es decir, 0=∇ dqV
LLLooosss pppuuunnntttooosss dddeee
eeeqqquuuiii lll iiibbbrrriiiooo dddeeelll
SSSiiisssttteeemmmaaa
LLLooosss pppuuunnntttooosss
cccrrríííttt iiicccooosss dddeee VVVddd
LLLooosss pppuuunnntttooosss dddeee
eeeqqquuuiii lll iiibbbrrriiiooo
eeessstttaaabbbllleee
LLLooosss pppuuunnntttooosss
mmmííínnniiimmmooosss dddeee VVVddd
1
2223121
1
))(()(
aqsencqccK
qqRqV
dd +
+−=∂∂ α
1
2122213123121
2
))cos()(()(
aqqcqsencqccqccK
qqRqV
dd +−+−
+−−=∂∂ αα
αα
dqdqdd VH
qV
qV
∇=∇==∂∂
=∂∂
021
0))((
)(1
2223121 =
++−
aqsencqccK
qqRd α
0))cos()((
)(1
2122213123121 =
+−+−+−−
aqqcqsencqccqccK
qqRd
αααα
Resultando ser 01 =q y 02 =q → Puntos críticos de Vd y por lo tanto puntos
de equilibrio del sistema TORA.
Se evalúa la función Vd en (0,0) → Vd(0,0) = 2cα - 2cα =0
Para verificar si el punto (0,0) es un punto mínimo se procede a calcular el
Hessiano:
)0,0(
)(
22
2
21
221
2
21
2
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
∂∂
∂∂∂
∂∂∂
∂∂
=
qV
qqV
qqV
qV
vHessdd
dd
d
dd R
qV
=∂
∂)0,0(2
1
2
1
2312
1
212223122
2
2 ))()cos(()0,0( a
cKccKR
aqsenqcqcccK
RqV
ddd αα
ααα
α−
−=+−−
+=∂
∂
1
231
1
2231
21
2 ))cos(()0,0( a
KcccKR
aqcccK
Rqq
Vdd
d ++−=
++−=
∂∂∂
αα
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
−−
++−
++−
=
1
2312
1
231
1
231
)(
acKccK
Ra
KcccKR
aKcccK
RRvHess
dd
dd
d αααα
α
Para que exista un mínimo en la función Vd los menores deben ser positivos:
Determinante 1: 0>dR
Determinante 2: 02
1
231
1
231 >⎟⎟⎠
⎞⎜⎜⎝
⎛ ++−−⎟
⎟⎠
⎞⎜⎜⎝
⎛ −+−−
aKcccK
Ra
KcccKRR d
dd α
αα
02
1
231
1
231 >⎟⎟⎠
⎞⎜⎜⎝
⎛ ++−−⎟
⎟⎠
⎞⎜⎜⎝
⎛ −+−−
aKcccK
Ra
KcccKRR ddd ααα
01
231
1
231 >⎟⎟⎠
⎞⎜⎜⎝
⎛ −−+−⎟
⎟⎠
⎞⎜⎜⎝
⎛ −+−
aKcccK
RRa
KcccKR ddd ααα
01
231
1
231 >⎟⎟⎠
⎞⎜⎜⎝
⎛ −−⎟
⎟⎠
⎞⎜⎜⎝
⎛ −+−
aKcccK
aKcccK
Rdα
1
231
1
231
aKcccK
aKcccK
Rd
−−>
−+− α
1
231
1
231
aKcccK
aKcccK
Rd
−−
−−>− α
1
231 )(2
aKcccK
Rd
−−>− α
α1231 )(
2a
KcccKRd
+<
Por lo tanto, si se cumple que α1
231 )(2
aKcccK
Rd
+< → el Hess(vd(0,0)) es
definido positivo → (0,0) es un mínimo y es un punto de equilibrio es estable.
A continuación se comprueba que la solución encontrada para Vd satisface la
EDP de la ecuación (88):
Se sustituyen 1q
Vd
∂∂ y
2qVd
∂∂ en la EDP de la ecuación (88):
[ ])cos())cos()((
)(1))(()( 2231
11
2122213123121
11
2223121
1
qcccaK
aqqcqsencqccqccK
qqRqa
qsencqccKqqR
q dd −=⎟⎟⎠
⎞⎜⎜⎝
⎛ +−+−+−−+⎟
⎟⎠
⎞⎜⎜⎝
⎛ ++−
αααααα
[ ])cos()cos())(()())(()(2231
111
212
11
131
11
22231
1
21
11
22231
1
21 qcccaK
aqqqKc
aqqccK
aqqsencqccK
qqqR
aqqsencqccK
qqqR dd −=+
//+
+−
−−
++
− αααααα
Resultando:
[ ] [ ])cos()cos( 22311
22311
qcccaKqccc
aK
−=− → Se cumple la igualdad, por lo tanto
la función Vd hallada si es solución de la EDP.
A continuación se presenta los resultados obtenidos utilizando los programas
computacionales VDESTOR Y SIMVDESTOR, los cuales fueron diseñados para
comprobar que la Vd hallada al resolver la EDP, es la función Lyapunov que se necesita
para calcular la función de control que permita estabilizar el sistema TORA.
Al ejecutar dichos programas se obtiene los siguientes resultados para la función
Vd del sistema TORA:
(1) grafica la función
-2-1.5-1-0.500.511.52-2
02
0
50
100
150
200
250
300
350
Figura 7. Gráfica de la Función Vd
(2) grafica las curvas de nivel de la función
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Figura 8. Curvas de Nivel de la Función Vd
(3) determina si la función es cóncava o convexa en (0,0)
Ingrese x: 0
Ingrese y: 0
valores_propios =
22.7129
90.0000
Existe un mínimo y la función es convexa
(4) Puntos críticos de la función
x =
1/18*33^(1/2)*atan(i*131^(1/2),-2*33^(1/2))-1/18*i*131^(1/2)
1/18*33^(1/2)*atan(-i*131^(1/2),-2*33^(1/2))+1/18*i*131^(1/2)
0.
0.
y =
atan(i*131^(1/2),-2*33^(1/2))
atan(-i*131^(1/2),-2*33^(1/2))
0.
0.
(5) Hessiano y Gradiente en (0,0)
grad =
0 0
hess =
90.0000 0
0 22.7129
Una vez encontrada la Vd correcta se procede a determinar la función de control
ues que permita estabilizar el sistema TORA.
Se retoma la ecuación (79) para despejar la ues que logre que el sistema en lazo
cerrado tenga el mismo comportamiento de la dinámica objetivo:
dqdesq HMMuGHp ∇−=+−∇= − *** 1&
dqdqes HMMHuG ∇−∇= − *** 1 , tomando en cuenta que G no es inversible, se
hace lo siguiente:
)**(* 1dqdq
Tes
T HMMHGuGG ∇−∇= −
)**()(*)()( 111dqdq
TTes
TT HMMHGGGuGGGG ∇−∇= −−−
)**( 1dqdq
Tes HMMHGu ∇−∇= −
[ ]⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
−⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡∇∇
=dq
dq
q
qes V
Vcqc
qccaaaa
HH
u2
1
2
1
122
223
131
11
)cos()cos(110
δαα
[ ]⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡+−−
+−−−⎥
⎦
⎤⎢⎣
⎡∇∇
=dq
dq
q
qes V
Vcaqcaqcacacaqcaqcaca
HH
u2
1
2
1
1322122331
1122122131
1 )cos()cos()cos()cos(110
αααα
δ
[ ]⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
⎥⎦
⎤⎢⎣
⎡∇+−+∇−∇+−+∇−
−⎥⎦
⎤⎢⎣
⎡∇∇
=dqdq
dqdq
q
qes VcaqcaVqcaca
VcaqcaVqcacaHH
u21
21
2
1
))cos(()cos())cos(())cos((110
1322122331
1122122131
1 αααα
δ
[ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
∇+∇+−+∇−−
∇+∇+−+∇−−=
HVcaqcaVqcaca
HVcaqcaVqcacau
qdqdq
qdqdq
es
221
121
]))cos(()cos([1
]))cos(())cos([(1
101322122331
1
11221221311
ααδ
ααδ
HVcaqcaVqcacau qdqdqes 221]))cos(()cos([1
13221223311
∇+∇+−+∇−−= ααδ
(90)
Es conocido que la energía total deseada del sistema tiene la forma:
ddT
d VpMpEpdEcdH +=+= −1
21
ddT
d VpMpH += −1
21
Sustituyendo la ecuación (92) que corresponde a la Vd calculada se tiene:
⎟⎟⎠
⎞⎜⎜⎝
⎛+−++−+−+= − )()cos(
2)(
21
21
212222213131
22
1
221
1 qsenqccqcqqccccq
aKqqRpMpH dd
Td αα
αα
Ahora se procede a calcular 1q
Vd
∂∂ ,
2qVd
∂∂ y
2qH
∂∂
1
2223121
1
))(()(
aqsencqccK
qqRqV
dd +
+−=∂∂
α
1
2122213123121
2
))cos()(()(
aqqcqsencqccqccK
qqRqV
dd +−+−
+−−=∂∂ αα
αα
Para H se tiene que:
)(21 1 qVpMpH T += − y ))cos(1(
21)( 22
21 qgLmKqqV −+=
))cos(1(
21
21
222
11 qgLmKqpMpH T −++= −
[ ] ))cos(1(21
)cos()cos(1
21
222
12
1
122
223
121 qgLmKq
pp
cqcqcc
ppH −++⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−=
δ
[ ] ))cos(1(21
)cos()cos(
21
222
121212
2221321
1
qgLmKqpcqpc
qpcpcppH −++⎥
⎦
⎤⎢⎣
⎡+−
−=
δ
[ ] ))cos(1(21)cos()cos(
21
222
12
21221222122
131
qgLmKqpcqppcqppcpcH −+++−−=δ
[ ] ))cos(1(21)cos(2
21
222
12
2122122
131
qgLmKqpcqppcpcH −+++−=δ
Sustituyendo 2
22311 ))cos(( qccc −=δ
))cos(1(21
))cos(()cos(2
21
222
122231
2212212
213 qgLmKq
qcccpcqppcpcH −++
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−+−
=
)())())(cos(2)()cos(2())cos(2(
21
2221
222
22
2122122
13122122
qgLsenmqsenqcpcqppcpcqppc
Hq +⎥⎥⎦
⎤
⎢⎢⎣
⎡ −−+−−=∇
δδ
Se obtiene finalmente el 2q
H∂∂ como:
[ ] )()(
)cos(2)cos()(
221
22122212212
2132
1
222
22
qgLsenmqsenppc
pcqppcpcqqsenc
Hq +++−−
=∇δδ
Ahora se procede a sustituir 1q
Vd
∂∂ ,
2qVd
∂∂ y
2qH
∂∂ en la ecuación (93) para finalmente
conseguir la esu .
⎪⎩
⎪⎨⎧
⎟⎟⎠
⎞⎜⎜⎝
⎛ ++−−−= ........
))(()())cos((1
1
222312122331
21 aqsencqccK
qqRqcacau des ααδ
⎭⎬⎫
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛+−
−+−−+−+
1
212
1
22
1
21312113221
))cos()()()())cos((.....
aqqKc
aqsencK
aqqccK
qqRcaqca dαα
ααα
…. [ ] )()()cos(2)cos()(22
1
22122212212
2132
1
222
2 qgLsenmqsenppcpcqppcpcqqsenc+++−
−δδ
Simplificando se consigue finalmente que esu tiene la siguiente forma:
..........))((
)())cos((
1
2223121
1
22331
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++−
−−=
aqsencqccK
qqRqcacau des αδ
α
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛+−
−+−−
+−−
1
212
1
22
1
213121
1
13221 ))cos()()()(
))cos((.....
aqqKc
aqsencK
aqqccK
qqRcaqca
dαα
ααδ
α
[ ] )()()cos(2)cos()(
221
22122212212
2132
1
222
2 qgLsenmqsenppcpcqppcpcqqsenc+++−
−δδ
(91)
C. Inyección de Amortiguamiento
Una vez encontrada la esu , se procede a calcular la función de control u que
garantiza la estabilización asintótica del sistema TORA:
Se sabe que ),(),( pqupquu dies += y que dpT
di HkvGu ∇−= de tal manera que:
[ ] pMkvu
pMH
ddi
ddp
1
1
10 −
−
−=
=∇
Como la matriz de inercia deseada tiene la forma:
⎥⎦
⎤⎢⎣
⎡=
31
11
aaaa
Md αα
→ ⎥⎦
⎤⎢⎣
⎡−
−=−
11
13
2
1 1aa
aaMd α
αδ
, donde 21
2312 aaa αδ −=
La inyección de amortiguamiento viene dada por:
[ ] ⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−−=
2
1
11
13
2
10pp
aaaakvu di α
αδ
[ ] ⎥⎦
⎤⎢⎣
⎡+−
−−=
2111
2113
2
10papa
papakvu di αα
δ
[ ]21112
papakvu di +−−= αδ
Finalmente la función de control que garantiza que el sistema TORA en lazo
cerrado se comporte igual que la dinámica objetivo propuesto por método IDA-PBC y
que logra la estabilidad asintótica del sistema.
[ ]21112
papakvuu es +−−= αδ
→ esu es la calculada y corresponde a la ecuación (92)
Sustituyendo esu se consigue que la función de control u es la siguiente:
.................))((
)())cos((
1
2223121
1
22331
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++−
−−=
aqsencqccK
qqRqcaca
u d αδ
α
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛+−
−+−−
+−−
1
212
1
22
1
213121
1
13221 ))cos()()()(
))cos((.....
aqqKc
aqsencK
aqqccK
qqRcaqca
dαα
ααδ
α
[ ] )......()()cos(2)cos()(22
1
22122212212
2132
1
222
2 qgLsenmqsenppcpcqppcpcqqsenc+++−
−δδ
[ ]21112
papakv+−− α
δ
Una vez encontradas cada una de las funciones necesarias para la aplicación del
método IDA-PBC, es posible presentar el sistema TORA en lazo cerrado, sustituyendo
Hq2∇ y u :
[ ]
[ ]
uHpKqp
pcqpcq
qpcpcq
q +−∇=−=
+−=
−=
22
11
212121
2
222131
1
)cos(1
)cos(1
&
&
&
&
δ
δ
Sustituyendo Hq2∇ y u en el sistema de EDO anterior se tiene que:
[ ]
[ ]
[ ]
.
.......)()()cos(2)cos()(
)cos(1
)cos(1
221
22122212212
2132
1
222
22
11
212121
2
222131
1
+−−+−=
−=
+−=
−=
qgLsenmqsenppcpcqppcpcqqsencp
Kqp
pcqpcq
qpcpcq
δδ
δ
δ
&
&
&
&
.................))((
)())cos((
1
2223121
1
22331
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++−
−−
aqsencqccK
qqRqcacad α
δα
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛+−
−+−−
+−−
1
212
1
22
1
213121
1
13221 ))cos()()()(
))cos((.....
aqqKc
aqsencK
aqqccK
qqRcaqca
dαα
ααδ
α
[ ] )......()()cos(2)cos()(
221
22122212212
2132
1
222
2 qgLsenmqsenppcpcqppcpcqqsenc+++−
−δδ
[ ]21112
....... papakv+−− α
δ
Simplificando el sistema TORA en lazo cerrado se obtiene lo siguiente:
[ ]
[ ]
...........))((
)())cos((
)cos(1
)cos(1
1
2223121
1
223312
11
212121
2
222131
1
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++−
−−=
−=
+−=
−=
aqsencqccK
qqRqcaca
p
Kqp
pcqpcq
qpcpcq
d αδ
α
δ
δ
&
&
&
&
(93)
........))cos()()(
)())cos((
.....1
212
1
22
1
213121
1
13221
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛+−
−+−−
+−−
aqqKc
aqsencK
aqqccK
qqRcaqca
dαα
ααδ
α
[ ]21112
.......... papakv+−− α
δ
Por otro lado, se determina la dinámica objetivo del sistema TORA como se
muestra a continuación:
La dinámica objetivo tiene la forma:
[ ] ddd HRJpq
∇−=⎥⎦
⎤⎢⎣
⎡&
& (94)
y se sabe que:
⎥⎦
⎤⎢⎣
⎡
−=
−
−
0*0
1
1
MMMM
Jd
dd , ⎥
⎦
⎤⎢⎣
⎡= T
vd GKG
R**0
00 y ⎥⎦
⎤⎢⎣
⎡=
31
11
aaaa
M d αα
Con J2 = 0, resulta al sustituir en la ecuación (96):
⎥⎦
⎤⎢⎣
⎡∇∇
⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡
−=⎥
⎦
⎤⎢⎣
⎡−
−
dp
dqT
vd
d
HH
GKGMMMM
pq
**000
0*0
1
1
&
&
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡
−−=⎥
⎦
⎤⎢⎣
⎡−
−
dp
dqT
vd
d
HH
GGkMMMM
pq
1
1 *0&
&
dpd HMMq ∇= −1& (95)
dpT
vdqd HGGkHMMp ∇−∇−= −1& (96)
Resolviendo la ecuación (95), como pMH ddp1−=∇ → pMMMq dd
11 −−=& → pMq 1−=&
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−=⎥
⎦
⎤⎢⎣
⎡
2
1
122
223
12
1
)cos()cos(1
pp
cqcqcc
δ&
&
De esta manera se encuentran las dos primeras ecuaciones 1q& y 2q& de la
dinámica objetivo:
[ ])cos(122213
11 qpcpcq −=
δ& (97)
[ ]212121
2 )cos(1 pcqpcq +−=δ
& (98)
Seguidamente se hacen los cálculos para las ecuaciones de 1p& y 2p& , para lo
cual se resuelve la ecuación (96) como se muestra a continuación
[ ] ⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
−⎥⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡
2
1
11
13
2
1
122
223
131
11
2
1 11010
)cos()cos(1
2pp
aaaa
kHH
cqcqcc
aaaa
pp
vdq
dq
αα
δδαα
&
&
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡+−−
+−−−=⎥
⎦
⎤⎢⎣
⎡
2
1
11
13
2
1
1322122313
1122122131
12
1
0001
)cos()cos()cos()cos(1
2pp
aaaa
kHH
caqcaqcaaccaqcaqcaca
pp
vdq
dq
αα
δαααα
δ&
&
⎥⎦
⎤⎢⎣
⎡+−
−⎥⎦
⎤⎢⎣
⎡∇+−+∇−∇+−+∇−
−=⎥⎦
⎤⎢⎣
⎡
2111213221122313
11221122131
12
1 01))cos(())cos(())cos(())cos((1
2
2
pakpakHcaqcaHqcaacHcaqcaHqcaca
pp
vvdqdq
dqdq
αδαααα
δ&
&
Por ser la matriz Md es constante → dqdq VH 11 ∇=∇ y dqdq VH 22 ∇=∇
....................))((
)())cos((11
222312122131
11
⎪⎩
⎪⎨⎧
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++−−−=
aqsencqccK
qqRqcacap d ααδ
&
⎪⎭
⎪⎬⎫
⎥⎥⎦
⎤
⎢⎢⎣
⎡ +−+−+−−+−
1
212221312312111221
))cos()(()())cos(...(
aqqcqsencqccqccK
qqRcaqca d
ααααα
....................))()())cos((
1
22
1
23121
1
221311
⎥⎥⎦
⎤
⎢⎢⎣
⎡++−
−−=
aqsenKc
aqccK
qqRqcaca
p d αδ
α&
⎥⎥⎦
⎤
⎢⎢⎣
⎡+−
−+−−
+−−
1
212
1
22
1
213121
1
11221 ))cos()()()(
))cos((.
aqqKc
aqsencK
aqqccK
qqRcaqca
dαα
ααδ
α (99)
Ahora para 2p& :
....................))((
)())cos((11
222312122313
12
⎪⎩
⎪⎨⎧
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++−−−=
aqsencqccK
qqRqcaacp d ααδ
&
.....))cos()((
)())cos(...(1
212221312312113221
⎪⎭
⎪⎬⎫
⎥⎥⎦
⎤
⎢⎢⎣
⎡ +−+−+−−+−
aqqcqsencqccqccK
qqRcaqca d
ααααα
[ ]21112
1.... pakpak vv +−− αδ
....................))()())cos((
1
22
1
23121
1
223132
⎥⎥⎦
⎤
⎢⎢⎣
⎡++−
−−=
aqsenKc
aqccK
qqRqcaac
p d αδ
α&
⎥⎥⎦
⎤
⎢⎢⎣
⎡+−
−+−−
+−−
1
212
1
22
1
213121
1
13221 ))cos()()()())cos((...
aqqKc
aqsencK
aqqccK
qqRcaqca
dαα
ααδ
α
( )2
2111....δ
α pakpak vv +−− (100)
Para tener información cualitativa del sistema TORA, se hace un análisis
cualitativo de los puntos de equilibrio del sistema en lazo abierto, para ello, se utiliza la
técnica de Linealización Aproximada o Jacobiana.
El sistema TORA en lazo abierto es
[ ]
[ ]
uHpKqp
pcqpcq
qpcpcq
q +−∇=−=
+−=
−=
22
11
212121
2
222131
1
)cos(1
)cos(1
&
&
&
&
δ
δ
Al sustituir Hq2∇ resulta:
[ ]
[ ]
[ ] uqgLsenmqsenppcpcqppcpcqqsencp
Kqp
pcqpcq
qpcpcq
+−−+−=
−=
+−=
−=
)()()cos(2)cos()(
)cos(1
)cos(1
221
22122212212
2132
1
222
22
11
212121
2
222131
1
δδ
δ
δ
&
&
&
&
Los puntos de equilibrio del sistema se determinan → 02121 ==== ppqq &&&&
Los puntos de equilibrio del sistema pertenecen al conjunto:
( ){ }arbitrarioqyuppqppqqE :0,0,0,0/,,, 22112121 ===== y se elige el punto
de equilibrio (0,0,0,0).
La linealización jacobiana del sistema en torno al origen resulta como sigue a
continuación:
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
=∂∂
=
2
4
1
4
2
4
1
4
2
3
1
3
2
3
1
3
2
2
1
2
2
2
1
2
2
1
1
1
2
1
1
1
)0,0,0,0(,
pf
pf
qf
qf
pf
pf
qf
qf
pf
pf
qf
qf
pf
pf
qf
qf
pqfA
01
1 =∂∂qf
0)0,0,0,0())(cos(
))()cos(2))(cos(())(cos))(((2
222
231
222
222213222
231222
2
1 =−
−−−=
∂∂
qcccqsenqcqpcpcqcccqsenpc
qf
2231
32
222
231
3
1
1
)0,0,0,0())(cos( cccc
qcccc
pf
−=
−=
∂∂
2231
22
222
231
22
2
1
)0,0,0,0())(cos()cos(
cccc
qcccqc
pf
−
−=
−
−=
∂∂
01
2 =∂∂qf
0)0,0,0,0())(cos(
))()cos(2))(cos(())(cos))(((2
222
231
222
221221222
231212
2
2 =−
−−−=
∂∂
qcccqsenqcqpcpcqcccqsenpc
qf
2231
22
222
231
22
1
2
)0,0,0,0())(cos()cos(
cccc
qcccqc
pf
−
−=
−
−=
∂∂
2231
12
222
231
1
2
2
)0,0,0,0())(cos( cccc
qcccc
pf
−=
−=
∂∂
Kqf
−=∂∂
1
3
02
3 =∂∂qf
; 01
3 =∂∂pf
; 02
3 =∂∂pf
01
4 =∂∂qf ; 0
2
4 =∂∂qf ; 0
1
4 =∂∂pf ; 0
2
4 =∂∂pf
La matriz del sistema linealizado A es:
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−
−−
−
−
=
0000000
00
00
2231
12
231
2
2231
22
231
3
Kccc
cccc
cccc
cccc
c
A
Los valores propios de A determinan la estabilidad del sistema alrededor del origen,
punto de equilibrio del sistema, cuando u=0. Tales valores propios se obtienen a partir
de las raíces del polinomio característico de la matriz A, calculadas de la siguiente
manera:
)det()( AsIspA −=
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−
−−
−
−
−
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=−
0000000
00
00
000000000000
2231
12
231
2
2231
22
231
3
Kccc
cccc
cccc
cccc
c
ss
ss
AsI
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−
−−−
=−
ssK
cccc
ccccs
cccc
cccc
s
AsI
00000
0
0
2231
12
231
2
2231
22
231
3
0)()det( 2231
32
22
3122
=−
+−=−
cccKccsccss
AsI
0
0
32
22
312
2
=+−
=
Kccsccs
s
32
22
312 Kccsccs −=− → 3
2231
2 )( Kccccs −=− → 2231
32
cccKcs−
−=
→ 2231
3
cccKc
s−
−=
De esta manera se conocen los valores propios del sistema y estos son los siguientes:
iccc
Kcsiccc
Kcsss 2231
342
231
3321 00
−−=
−===
De tal manera que el sistema TORA posee dos valores propios nulos y dos
valores propios imaginarios puros. Se trata del denominado caso crítico para el análisis
de la estabilidad del punto de equilibrio, es decir, no se puede asegurar la estabilidad
del mismo.
D. Análisis de la Estabilidad
La estabilidad del sistema TORA esta fundamentada en la siguiente proposición:
El sistema Hamiltoniano en lazo abierto con Hd y q* posee un punto de equilibrio
estable en (q*,o). Este equilibrio es asintóticamente estable si es localmente detectable
a partir de la salida ),()( pqHqG dT ∇ .
La estabilidad asintótica, bajo la hipótesis de detectabilidad, puede establecerse
aplicando el principio de Invariancia de LaSalle.
Para este fin se define el conjunto residual:
( ){ }0))(),(),(),(((/,,, 21214
2121 =ℜ∈= tptptqtqHppqqE d&
En lazo cerrado: [ ] ddd HRJpq
∇−=⎥⎦
⎤⎢⎣
⎡&
&
Al derivar dH& se tiene que:
[ ]
0≤∇−∇=
∇∇−∇∇=
∇−∇=⎥⎦
⎤⎢⎣
⎡∇=
dddT
d
dddT
dddT
d
ddddT
dT
d
HRHH
HRHHJHH
HRJHpq
HH
&
&
&
&&
Que al sustituir:
[ ] ⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡∇∇−=
dp
dqT
vdp
Tdq
Td H
HGGk
HHH0
00&
[ ] ⎥⎦
⎤⎢⎣
⎡∇
∇∇−=dp
Tv
dpT
dqT
d HGGkHHH
0&
02=∇−=∇−∇= dp
Tvdp
Tvdp
Td HGkHGGkHH&
Para que lo anterior se cumpla 00 =∇→=∇ dp
Tdp
T HGHG resultando el conjunto E:
( ){ }0/,,, 2121 =∇∈= dpT HGDppqqE
Se sabe que la energía potencial deseada se representa como sigue:
ddT
d VpMpH += −1
21
( ){ }0/,,, 1
21211 =∈=→=∇ −− pMGDppqqEpMH d
Tddp
Derivando 01 =− pMG d
T se tiene que:
01 =− pMG dT & (101)
Se sabe que:
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡
−−=⎥
⎦
⎤⎢⎣
⎡−
−
dp
dqT
vd
d
HH
GGkMMMM
pq
1
10&
&
dpT
vdqd HGGkHMMp ∇−∇−= −1& → se sustituye en la ecuación (101)
0)( 11 =∇−∇− −−dp
Tvdqdd
T HGGkHMMMG
00 11 =∇→=∇− −−dq
Tdq
T HMGHMG
Que al sustituir resulta:
[ ] ⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
−→
00
)cos()cos(110
2
1
122
223
1 dq
dq
HH
cqcqcc
δ
[ ] 00)cos(11122
121
>=∇+∇−→ δδ
yHcHqc dqdq
0)cos(21 122 =∇+∇−→ dqdq HcHqc (102)
Por otro lado, se sabe que dqdq HyH
21∇∇ satisfacen la EDP de la ecuación (88):
[ ])cos( 22311
121 qccc
aKqVqVq dd +=∇+∇α
Se sabe que tanto la ecuación (102) como la EDP de la ecuación (88) se satisfacen
para 01 =q , 02 =q
Ahora suponiendo que para )0,0(),( 21 ≠qq dqdq HyH21
∇∇ satisfacen
simultáneamente el par de ecuaciones anteriores. Esto significa que dqdq HyH21
∇∇
son soluciones del sistema lineal:
[ ]⎪⎩
⎪⎨⎧
=+−
+=+
0)cos(
)cos(
122
22311
1
NcRqc
qccca
KqNRα donde: R= dq H
1∇ y N= dq H
2∇
Denotando )cos( 2231 qccc +=Δ el sistema anterior quedaría:
⎪⎩
⎪⎨⎧
=+−
Δ=+
0)cos( 122
1
1
NcRqca
KqNRα
Dividiendo por Δ resulta:
⎪⎩
⎪⎨⎧
=+−
=Δ
+Δ
0)cos(
1
122
1
1
NcRqca
KqNRα (103)
Al calcular el determinante al sistema lineal se tiene que:
Δ+
=Δ
+Δ
=⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
−ΔΔ
)cos()cos(
)cos(
1221221
122
qccqcc
cqc
ααα
Sustituyendo 1
3
cc
=α
[ ] [ ] 01)cos()cos(
)cos(
)cos(
2231
2231
2231
2211
3
≠=+
+=
+
+
qcccqccc
qccc
qcccc
→≠→ 0det el sistema posee solución única.
Se resuelve el sistema lineal de la ecuación (103):
1
22 )cos(c
RqcN =
Sustituyendo:
1
1
1
22 )cos(1a
Kqc
RqcR =Δ
+Δα
1
1
1
22 )cos(a
Kqc
qcR =⎟⎟⎠
⎞⎜⎜⎝
⎛Δ
+Δα
1
1
1
221 )cos(a
Kqc
qccR =⎟⎟⎠
⎞⎜⎜⎝
⎛Δ
+α → ⎟⎟
⎠
⎞⎜⎜⎝
⎛+Δ
=)cos( 221
1
1
1
qccc
aKqR
α
Sustituyendo 1
3
cc
=α y )cos( 2231 qccc +=Δ
( )
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
+
+=
)cos(
)cos(
2211
3
12231
1
1
qcccc
cqccca
KqR → ( )
⎟⎟⎠
⎞⎜⎜⎝
⎛
+
+=
)cos()cos(
2231
12231
1
1
qccccqccc
aKqR
11
1 qa
KcR =
Que al sustituir en N:
1
11
122 )cos(
c
qacKqc
N/
⎟⎟⎠
⎞⎜⎜⎝
⎛ /
= → )cos( 211
2 qqa
KcN =
Es decir que:
⎪⎪⎩
⎪⎪⎨
⎧
=∇=
=∇=
)cos( 211
2
11
1
2
1
qqa
KcHN
qa
KcHR
dq
dq
Estas identidades se satisfacen únicamente si 01 =q , 02 =q .
En consecuencia: ( ) Eppqq ∈2121 ,,, si y sólo si ( ) ))(),(,0,0()(),(),(),( 212121 tptptptptqtq =
Como ttq ∀= 0)(2 el primer par de ecuaciones del sistema se reduce a:
[ ]
[ ] 0)cos(1
0)cos(1
212121
2
222131
1
=+−=
=−=
pcqpcq
qpcpcq
δ
δ
&
&
Es decir:
[ ][ ] 0)cos(
0)cos(
21212
22213
=+−=−
pcqpcqpcpc
→ cuyo determinante del sistema es: 02231 ≠− ccc
De lo anterior se deduce que 0)(,0)( 21 == tptp
En resumen:
( ) ( ))(),(),(),(,,, 21212121 tptptqtqEppqq ⇒∈ es la solución trivial.
Por lo tanto, el más grande subconjunto invariante contenido en E es la solución
trivial, y por lo tanto el punto de equilibrio (0,0,0,0) es Asintóticamente Estable.
E. Simulaciones Numéricas y Rediseño de las funciones
Para el modelo del sistema TORA, se realizaron simulaciones computacionales
con los programas TORALAZ, SIMTORALAZ, TORADIN y SIMTORADIN, usando la
plataforma de Matlab 7.1. Con estas simulaciones se muestra el desempeño del
controlador propuesto. Se emplearon para el sistema TORA, los parámetros contenidos
en la tabla 1 que fueron tomados de [13].
Tabla 1. Parámetros para el sistema TORA
Parámetro 1c 2c 3c K
Valor 12 1 11 5
Se tomaron para la matriz dM los valores 4,,1 3121 === aaaa α . 1211
1
3 ==cc
α
Se debe tomar en cuenta que el parámetro de diseño Rd debe cumplir:
α1231 )(
2a
KcccKRd
+< → el Hess(vd(0,0)) sea definido positivo → (0,0) es un mínimo y
es un punto de equilibrio es estable. Sustituyendo: 5.130
1211)1(
))1(5)11)(12(5(2 <
+<dR
En una primera simulación, todas las condiciones iniciales fueron ubicadas en 0,
excepto el desplazamiento inicial que se ubicó en 11 =q , es decir, en el extremo del
dispositivo.
Después de algunos ensayos para obtener la mejor respuesta transitoria, la cual
corresponde a la etapa de rediseño de las funciones, se seleccionaron 90=dR y
70=vK .
Es importante señalar, que para obtener una rápida convergencia a la
estabilización del sistema, se añade a la función de control propuesto el término
150p− .
Una típica respuesta del sistema en lazo cerrado con el controlador, se muestra
en las figuras 9 y 10. Como puede verse, el sistema exhibe su respuesta en forma de
oscilaciones amortiguadas, y la estabilización se produce a los 100 segundos. En la
figura 8 también se puede ver el esfuerzo de control.
0 50 100 150-1
0
1Posición del Carro
tiempo t
q1
0 50 100 150-2
0
2Posición Angular
tiempo t
q2
0 50 100 150-10
0
10Velocidad del Carro
tiempo t
p1
0 50 100 150-10
0
10Velocidad Angular
tiempo t
p2
0 50 100 150-1000
0
1000Variable de Control
tiempo t
u
0 50 100 150-10
0
10Variables
tiempo t
q1,q
2,p1
,p2
Figura 9. Simulación del Sistema TORA en lazo cerrado: Comportamiento de las variables y función de Control
-1 -0.5 0 0.5 1-2
-1
0
1
2Plano de Fase
q1
q2
-10 -5 0 5 10-10
-5
0
5
10Plano de Fase
p1
p2
-1 -0.5 0 0.5 1-10
-5
0
5
10Plano de Fase
q1
p1
-2 -1 0 1 2-10
-5
0
5
10Plano de Fase
q2
p2
Figura 10. Simulación del Sistema TORA en lazo cerrado: Plano de Fase
La respuesta del sistema con la dinámica objetivo propuesto por el método IDA-
PBC, se muestra en las figuras 11 y 12. Como puede verse, el sistema exhibe su
respuesta en forma de oscilaciones amortiguadas, y la estabilización se produce a los
100 segundos.
0 50 100 150-1
0
1Posición del Carro
tiempo t
q1
0 50 100 150-2
0
2Posición Angular
tiempo t
q2
0 50 100 150-10
0
10Velocidad del Carro
tiempo t
p1
0 50 100 150-10
0
10Velocidad Angular
tiempo t
p2
0 50 100 150-10
0
10Variables
tiempo t
q1,q
2,p1
,p2
Figura 11. Simulación del Sistema TORA con la dinámica objetivo: Comportamiento de las variables.
-1 -0.5 0 0.5 1-2
-1
0
1
2Plano de Fase
q1
q2
-10 -5 0 5 10-10
-5
0
5
10Plano de Fase
p1
p2
-1 -0.5 0 0.5 1-10
-5
0
5
10Plano de Fase
q1
p1
-2 -1 0 1 2-10
-5
0
5
10Plano de Fase
q2
p2
Figura 12. Simulación del Sistema TORA con la dinámica objetivo: Plano de Fase
Esto demuestra que una vez aplicada la función de control propuesta, el sistema
en lazo cerrado tiene el mismo comportamiento de la dinámica objetivo; por lo tanto, el
método IDA-PBC, resulta ser efectivo para estabilizar el sistema TORA.
Para ilustrar la naturaleza global de la ley de control obtenida se realizan
simulaciones cambiando las condiciones iniciales del sistema.
Primero se toma como condiciones iniciales: 11 =q , 22π
=q , 01 =p y 02 =p .
Una típica respuesta del sistema en lazo cerrado con el controlador, se muestra
en las figuras 13 y 14. Como puede verse, el sistema exhibe su respuesta en forma de
oscilaciones amortiguadas, y la estabilización se produce a los 100 segundos. En la
figura 8 también se puede ver el esfuerzo de control.
0 50 100 150-1
0
1Posición del Carro
tiempo t
q1
0 50 100 150-2
0
2Posición Angular
tiempo t
q2
0 50 100 150-10
0
10Velocidad del Carro
tiempo t
p1
0 50 100 150-10
0
10Velocidad Angular
tiempo t
p2
0 50 100 150-1000
0
1000Variable de Control
tiempo t
u
0 50 100 150-10
0
10Variables
tiempo t
q1,q
2,p1
,p2
Figura 13. Simulación del Sistema TORA en lazo cerrado: Comportamiento de las
variables y función de Control. Condiciones iniciales 11 =q , 22π
=q , 01 =p y 02 =p
-1 -0.5 0 0.5 1-2
-1
0
1
2Plano de Fase
q1
q2-10 -5 0 5 10
-10
-5
0
5
10Plano de Fase
p1
p2
-1 -0.5 0 0.5 1-10
-5
0
5
10Plano de Fase
q1
p1
-2 -1 0 1 2-10
-5
0
5
10Plano de Fase
q2
p2
Figura 14. Simulación del Sistema TORA en lazo cerrado: Plano de Fase. Condiciones
iniciales 11 =q , 22π
=q , 01 =p y 02 =p
La respuesta del sistema con la dinámica objetivo propuesto por el método IDA-
PBC, se muestra en las figuras 15 y 16. Como puede verse, el sistema exhibe su
respuesta en forma de oscilaciones amortiguadas, y la estabilización se produce a los
100 segundos, a pesar de que se utilizaron otras condiciones iniciales.
0 50 100 150-1
0
1Posición del Carro
tiempo t
q1
0 50 100 150-2
0
2Posición Angular
tiempo t
q2
0 50 100 150-10
0
10Velocidad del Carro
tiempo t
p1
0 50 100 150-10
0
10Velocidad Angular
tiempo t
p2
0 50 100 150-10
0
10Variables
tiempo t
q1,q
2,p1
,p2
Figura 15. Simulación del Sistema TORA con la dinámica objetivo: Comportamiento de
las variables. Condiciones iniciales 11=q , 22π
=q , 01 =p y 02 =p
-1 -0.5 0 0.5 1-2
-1
0
1
2Plano de Fase
q1
q2
-10 -5 0 5 10-10
-5
0
5
10Plano de Fase
p1
p2-1 -0.5 0 0.5 1
-10
-5
0
5
10Plano de Fase
q1
p1
-2 -1 0 1 2-10
-5
0
5
10Plano de Fase
q2
p2
Figura 16. Simulación del Sistema TORA con la dinámica objetivo: Plano de Fase.
Condiciones iniciales 11=q , 22π
=q , 01 =p y 02 =p
Esto demuestra que una vez aplicada la función de control propuesta, el sistema
en lazo cerrado tiene el mismo comportamiento de la dinámica objetivo, aún y cuando
se cambien las condiciones iniciales a 11 =q , 22π
=q , 01 =p y 02 =p . Por lo tanto, el
método IDA-PBC, resulta ser efectivo para estabilizar el sistema TORA.
Para terminar con la ilustración de la naturaleza global de la ley de control
obtenida, se presenta una simulación donde se pretende llevar el brazo rotacional
desde la posición 2/52 π=q , hasta la posición 02 =q , mientras se mantienen todas las
otras condiciones iniciales iguales a 0. Es decir se toma como condiciones iniciales:
01 =q , 2
52
π=q , 01 =p y 02 =p
La respuesta transitoria se muestra en las figuras 17 y 18, donde se observa que
la convergencia es preservada tal como lo predice la teoría.
0 50 100 150-1
0
1Posición del Carro
tiempo t
q1
0 50 100 150-2
0
2Posición Angular
tiempo t
q2
0 50 100 150-10
0
10Velocidad del Carro
tiempo t
p1
0 50 100 150-10
0
10Velocidad Angular
tiempo t
p2
0 50 100 150-10
0
10Variables
tiempo t
q1,q
2,p1
,p2
Figura 17. Simulación del Sistema TORA en lazo cerrado: Comportamiento de las
variables. Condiciones iniciales 01 =q , 2
52
π=q , 01 =p y 02 =p
-1 -0.5 0 0.5 1-2
-1
0
1
2Plano de Fase
q1
q2
-10 -5 0 5 10-10
-5
0
5
10Plano de Fase
p1
p2
-1 -0.5 0 0.5 1-10
-5
0
5
10Plano de Fase
q1
p1
-2 -1 0 1 2-10
-5
0
5
10Plano de Fase
q2
p2
Figura 18. Simulación del Sistema TORA en lazo cerrado: Plano de Fase. Condiciones
iniciales 01 =q , 2
52
π=q , 01 =p y 02 =p
De esta manera se prueba la naturaleza global de la ley de control obtenida, ya
que para diferentes condiciones iniciales, se observa que la convergencia es
preservada tal como lo predice la teoría. También es importante destacar que dicha ley
de control logra estabilizar el sistema en un tiempo de simulación o tiempo de
asentamiento perfectamente aceptable.
El sistema TORA es un prototipo de sistema mecánico subactuado que ha
merecido gran atención por la comunidad de control no lineal, y en este trabajo,
partiendo de la representación Hamiltoniana controlada por puertos basada en la
energía total del sistema considerada como energía cinética mas energía potencial, se
obtiene un controlador que logra estabilizar en forma global y asintótica el punto de
equilibrio.
Sistema ACROBOT
El sistema ACROBOT es un prototipo de sistema mecánico subactuado que ha
merecido gran atención por la comunidad de control no lineal.
El objetivo de control es estabilizar la posición de equilibrio vertical, o sea, la
posición ( )0,0* =q .
Estabilización del Sistema ACROBOT
A. Realización Hamiltoniana
El sistema Hamiltoniano Generalizado es:
uxGHJx *)(+∇=&
donde la matriz J es antisimétrica, siendo la más sencilla:
⎥⎦
⎤⎢⎣
⎡−
=0
0
n
n
II
J
Si se asume que el sistema no posee amortiguamiento natural, las ecuaciones
del movimiento pueden escribirse como:
uGH
HI
Ipq
p
q
n
n⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡ 00
0&
&
donde nI es la matriz identidad nxn , HH pq ∇∇ , son los vectores columna gradiente de
H respecto de q y respecto de p , y mu ℜ∈ es la función de control. La matriz nxmG ℜ∈ es determinada por la manera como el control mu ℜ∈ ingresa en el sistema, y
es invertible en el caso que el sistema sea completamente actuado, o sea, nm = . En
esta investigación se considera el caso más difícil en que el sistema es subactuado, es
decir menos controles que grados de libertad, y asumimos que mGrango =)( .
Para el sistema ACROBOT n = 2 y m = 1 → m<n → Sistema subactuado de
grado 1.
La energía total del sistema viene dada por:
PotencialEnergíaCinéticaEnergíaH +=
)(21 1 qVPMPH T += −
donde nn pq ℜ∈ℜ∈ , representan la posición generalizada y el momento generalizado,
0)()( >= qMqM T es la matriz de inercia del sistema, y )(qV es la energía potencial.
Para el sistema ACROBOT la matriz M es la siguiente:
⎥⎦
⎤⎢⎣
⎡+
+++=
2232
2322321
)cos()cos()cos(2
cqccqccqccc
M
Y la energía potencial es la siguiente:
[ ])cos()cos()( 21514 qqcqcgqV ++=
Se busca con el método IDA-PBC hacer coincidir el comportamiento del sistema
en lazo abierto con la dinámica objetivo.
La dinámica objetivo según éste método viene dada por:
( ) ddd HRJx ∇−=&
donde:
Jd: Matriz de interconexión
Rd: Matriz de amortiguamiento
Md: Matriz de inercia deseada
Cuyas estructuras son las siguientes:
⎥⎦
⎤⎢⎣
⎡
−=
−
−
0*0
1
1
MMMM
Jd
dd , ⎥
⎦
⎤⎢⎣
⎡= T
vd GKG
R**0
00 y ⎥
⎦
⎤⎢⎣
⎡=
32
21
aaaa
Md
B. Moldeado de la Energía
En la teoría de control basado en pasividad (PBC) la entrada de control
usualmente se descompone en dos términos (véase [12])
),(),( pqupquu dies += (104)
donde el primer término es designado para alcanzar el moldeado de la energía,
mientras que a través del segundo término se introduce amortiguamiento al sistema.
Por otro lado, como es bien sabido, el aporte de amortiguamiento en sistemas pasivos
se logra vía realimentación negativa de la nueva salida pasiva, la cual en este caso
viene dada por dpT HG ∇ . Esta es la razón por la cual se elige para el término diu de la
ecuacióm (66) la expresión
dpT
vdi HGKu ∇−= (105)
donde se toma 0>= Tvv KK . Esto justifica el bloque (2,2) en la definición de dR .
Al igualar el sistema en lazo abierto y la dinámica objetivo resulta lo siguiente:
⎥⎦
⎤⎢⎣
⎡∇∇
⎭⎬⎫
⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡
−⎩⎨⎧
=⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡−
−
dp
dqT
d
d
p
q
n
n
HH
GKvGMMMM
uGH
HI
Ipq
**000
0**00
00
1
1
&
& (106)
donde Hd es la energía total deseada que mantiene la misma forma de la energía total
original del sistema y esta expresada por:
)(21 1 qVPMPH d
Td += −
Para obtener el término de moldeado de la energía esu en el controlador, se
reemplazan (63) y (64) en (65) se obtiene:
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡
−=⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡−
−
dp
dq
d
des
p
q
n
n
HH
pqJMMMM
uGH
HI
Ipq
),(00
00
21
1
&
& (107)
donde el término dR de (106) se ha cancelado con el término diu de (105).
La primera fila de la ecuación (107) produce una identidad para q& como sigue a
continuación:
dpdp HMMHq ∇=∇= −1&
pMpMMMpMq dd1111 −−−− ===& → Con lo que se consigue que la primera
ecuación es una igualdad.
De tal manera que q& equivale a:
pMqq
q 1
2
1 −=⎥⎦
⎤⎢⎣
⎡=
&
&& (108)
donde ⎥⎦
⎤⎢⎣
⎡=
2
1
pp
p y M es la matriz de inercia, entonces se procede a calcular 1−M
como sigue:
⎥⎦
⎤⎢⎣
⎡+
+++=
2232
2322321
)cos()cos()cos(2
cqccqccqccc
M
→ ⎥⎦
⎤⎢⎣
⎡+++−+−
==−
)cos(2)cos()cos(1
2321232
2322
1
1
qcccqccqccc
Mδ
donde 223121 ))cos(( qccc −=δ
Se sustituye las ecuaciones anteriores en (108) resultando lo siguiente:
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡+++−+−
==⎥⎦
⎤⎢⎣
⎡= −
2
1
2321232
2322
1
1
2
1
)cos(2)cos()cos(1
pp
qcccqccqccc
pMqq
qδ&
&&
donde la primera ecuación correspondiente a 1q& es la siguiente:
[ ]2232121
1 ))cos((1 pqccpcq +−+=δ
& (109)
Y la segunda ecuación correspondiente a 2q& es la siguiente:
[ ]2232112321
2 ))cos(2())cos((1 pqcccpqccq ++++−=δ
& (110)
Ahora se resuelve la segunda fila de la ecuación (107) correspondiente a p& como
sigue a continuación:
pMJHMMHGu ddqdqes1
21 −− +∇−∇= (111)
Si el sistema fuese subactuado, o sea si G fuese invertible, para determinar
esu bastaría premultiplicar por 1−G . En el caso de estudio el sistema es subactuado,
luego G ya no es invertible, sino a lo sumo de rango por columnas máximo, y por lo
tanto el control esu únicamente ejerce influencia sobre los términos en el espacio
imagen del operador G . Esta observación conduce al siguiente conjunto de ecuaciones
de restricción, las cuales deben satisfacerse para cualquier escogencia de esu
{ } 012
1 =+∇−∇ −−⊥ pMJHMMHG ddqdq (112)
donde ⊥G es un anulador izquierdo de rango máximo de G ( o sea, 0=⊥GG ).
La ecuación (112) es un conjunto de ecuaciones diferenciales parciales (EDP) no
lineales con incógnitas dd VyM , y con 2J siendo un parámetro libre, mientras que p
es una coordenada independiente. Si puede obtenerse una solución para esta
ecuación, la ley de control resultante esu vendría dada por:
( )( )pMJHMMHGGu ddqdqT
es1
21−
− +∇−∇= (113)
Las ecuaciones en derivadas parciales (112) pueden de manera natural ser
separadas en términos que dependen de p y términos que son independientes de p , o
sea, aquéllos que corresponden a la energía cinética, y aquéllos que corresponden a la
energía potencial, respectivamente. En tal sentido, la ecuación (112) es equivalente al
par de ecuaciones:
( ) ( ){ } 02 12
111 =+∇−∇ −−−−⊥ pMJpMpMMpMpG ddT
qdT
q (114)
{ } 01 =∇−∇ −⊥ VMMVG qdq (115)
La primera ecuación es una ecuación en derivadas parciales no lineal que debe
ser resuelta para los elementos desconocidos de la matriz de inercia en lazo cerrado
dM . Conocida esta dM , la ecuación (115) es una ecuación en derivadas parciales
lineal, y por lo tanto mas fácil de resolver, de manera que la mayor dificultad está en
resolver (114). Una simplificación, que disminuye considerablemente las dificultades, es
asumir la existencia de una matriz de inercia dM de términos constantes, lo cual
permite concentrarse únicamente en hallar la energía potencial deseada dV .
Afortunadamente, esta simplificación puede llevarse a cabo en el caso de
algunos sistemas subactuados, en los cuales la matriz de inercia es función solamente
de la coordenada actuada.
En esta investigación, se sigue la orientación de [1] y [4], donde para obtener una
reducción de las EDP (114) y (115), se plantean las siguientes hipótesis:
Hipótesis H1: El sistema posee grado de subactuación 1, es decir, 1−= nm .
Hipótesis H2: La matriz de inercia depende solamente de la coordenada actuada.
Hipótesis H3: El sistema posee dos grados de libertad, y, sin pérdida de
generalidad, la matriz G viene dada por [ ]TG 10= .
La hipótesis H3 es crucial en el presente desarrollo .Las hipótesis H1 y H2
garantizan que el término ( )pMpG dT
qT 1−∇ en la EDP (114) es nulo. En tal caso (114)
puede ser resuelta para una matriz constante dM , para lo cual, sobre la base de su
libertad de escogencia, basta tomar 02 =J . Esto permite concentrarse en el moldeado
de la energía potencial solamente, de manera que la EDP a resolver se reduce a:
{ } 01 =∇−⊥dd VMMG (115)
De esta forma la segunda fila de la ecuación (107) queda:
dqdesq HMMuGHp ∇−=+−∇= − *** 1& (116)
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡+++−+−
⎥⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
−=⎥⎦
⎤⎢⎣
⎡=
dq
dq
q
q
HH
qcccqccqccc
aaaa
uHH
pp
p2
1
2321232
2322
132
21
2
1
2
1
)cos(2)cos()cos(1**
10
δ&
&&
Además, como la matriz Md es constante → dqdq VH 11 ∇=∇ y dqdq VH 22 ∇=∇
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡+−−+−−
−=⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡∇∇
−=⎥⎦
⎤⎢⎣
⎡=
dq
dq
q
q
VV
caqcaqcacacaqcaqcaca
uHH
pp
p2
1
1322222332
1222122231
12
1
2
1
)cos()cos()cos()cos(1*
10
δ&
&&
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡++++−+−++++−+−
−=dq
dq
VV
qcccaqccaqccacaqcccaqccaqccaca
p2
1
232132322232322
232122321232221
1 ))cos(2())cos(())cos(())cos(2())cos(())cos((1
δ& (117)
La primera fila de p& es 1p& :
Hp q11 −∇=&
[ ]VdqcccaqccaVdqccacap qq 223212232112322211
1 )))cos(2())cos((()))cos(((1∇++++−+∇+−−=
δ& (118)
[ ])()( 215241 qqsencqsencgHq +−−=∇ se sustituye en (118) para conseguir la EDP para encontrar Vd.
[ ] [ ))........cos((()))cos(((1)()( 232112322211
21524 qccaVdqccacaqqsencqsencg q +−+∇+−−=+−−−δ
]Vdqccca q 223212 )))cos(2(...... ∇+++ (119)
Claramente el sistema ACROBOT satisface las hipótesis H1, H2 y H3
comentadas anteriormente, por lo tanto, la atención puede concentrarse en la
resolución de la EDP de la ecuación (119). Para ello se define la matriz Md mediante:
⎥⎦
⎤⎢⎣
⎡=
32
21
aaaa
Md , con 01 >a y 02231 >− aaa (120)
La ecuación (119) puede reescribirse como:
( )
132221
215142
32221
2123212121 )2cos()(
)()()2cos()(
)cos()2()(δg
qcacaaqqsencqsenc
Vqqcacaa
qaaccaccaVq dd ⎥
⎦
⎤⎢⎣
⎡−−
+−−=∇⎥
⎦
⎤⎢⎣
⎡−−
−+−++∇ (121)
La ecuación anterior puede intentar resolverse usando el comando pdsolve del
programa Maple pero se obtiene una solución extremadamente complicada válida para
cualquier conjunto de valores de los parámetros 321 ,, ayaa . Para resolver esta
dificultad, se recurre a un subconjunto de valores posibles para estos parámetros que
reducen la complejidad de la ecuación.
Se denota:
)cos()2cos(
)2cos()()cos()2()(
221
43
32221
212321212
2
1
qbbqbb
qcacaaqaaccacca
++
=−−
−+−+=
γγ (122)
donde ( ) ( ) ( )12342121233222211 2,,, aacbycaccabcabcaab −=−+=−=−= .
Una simple división en el término de la derecha de (122) da lugar a:
)cos(
1.2212
4123
2
4
1
2
qbbbbbbb
bb
+−
+=γγ (123)
de manera que se obtiene:
041232
4
1
2 =−⇔= bbbbbb
γγ (124)
es decir;
22
11
2
1
1
2 11 acc
acc
⎟⎟⎠
⎞⎜⎜⎝
⎛±=⇔−±=
γγ (125)
En lo sucesivo, para simplificar, se define 2
11cc
+=α y 2
11cc
−=β .
2
1
1
2
2
1
1
2 1122cc
cc
−−=→−+−=+−=γγ
βγγ
2122
11
1
2 1 aaacca βα
γγ
==⎟⎟⎠
⎞⎜⎜⎝
⎛−=⇔−=→
Sobre el conjunto:
{ }213213
321 )120(,/),,( aaademásysatisfacenayaaaaa β=ℜ∈ (126)
Sustituyendo 21 aa β= y 2
23121 ))cos(( qccc −=δ en la ecuación (121) resulta la EDP
para hallar la Vd:
( ) ( )[ ])()()cos(
215142
232121 qqsencqsenc
aqcccg
VqVq dd ++−
=∇−∇ α (127)
Usando los comandos del programa Maple:
>PDE:=diff(Vd1(q1,q2),q1)-alpha*diff(Vd1(q1,q2),q2)=(g/a2)*(sqrt(c1*c2)-
c3cos(q2)) *(c4*sin(q1+c5*sin(q1+q2));
> ans:=pdsolve(PDE);
donde, para simplificar, se ha tomado el término a2 como constante, se obtiene la
solución
( ) ( ) ( ){ } ( )sFqqDqqCqqBqAagqqVd +++−+++= 2121211
2211 2coscos)cos()cos(, (128)
donde )(sF es una función arbitraria de la variable 12 qqs α+= , y los coeficientes
DyCBA ,, vienen dados por
)12(21,
)1(21
)1(21
12534343215
42143
−−=
+=
−−
−=−=
ααααccDccCccccc
BcccccA (129)
Para asignar el punto de equilibrio en el origen a la función dV puede elegirse la
función )(sF como ( )21221)( qqRsF d α+= , donde dR es un parámetro de diseño, y de
este modo se obtiene para la energía potencial deseada la función:
( ) ( ) ( ){ } ( )21221212112
211 212coscos)cos()cos(, qqRqqDqqCqqBqA
agqqV dd α++++−+++= (130)
Denotando ( ) { }DCBAVE d +++−=−= 0,01 , se puede finalmente definir:
( ) ( ) ( ) ( ) ( ){ } ( )21221212112
21 212coscoscoscos, qqREqqDqqCqqBqA
agqqV pd α+++++−+++= (131)
Se evalúa la función Vd en (0,0) → Vd(0,0) = [ ] 02
=++++ EDCBAag
Se tiene entonces que la energía potencial deseada satisface ( ) 00,0 =dV .
De tal manera que, para tener un punto mínimo para ( )21 ,qqVd , sólo falta
examinar lo que ocurre con el Hessiano de dV en ( )0,0 . Para este fin, la matriz Hessiana
de dV en el punto ( )0,0
Para verificar si el punto (0,0) es un punto mínimo se procede a calcular el
Hessiano:
)0,0(
)(
22
2
21
221
2
21
2
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
∂∂
∂∂∂
∂∂∂
∂∂
=
qV
qqV
qqV
qV
vHessdd
dd
d
( ) ( )[ ]21212112
22
1
2
2coscos)cos()cos()0,0(
qqDqqCqqBqAagR
qV
dd +−−−+−−+=
∂
∂α
[ ]DCBAagR
qV
dd −−−−+=
∂
∂
2
22
1
2
)0,0(α
( ) ( )[ ]2121212
22
2
2cos4cos)cos()0,0(
qqDqqCqqBagR
qV
dd +−−−+−+=
∂
∂
[ ]DCBagR
qV
dd 4
)0,0( 22
2
2
−−−+=∂
∂
( ) ( )[ ]212121221
2
2cos2cos)cos()0,0(
qqDqqCqqBagR
qqV
dd +−−++−+=
∂∂∂
α
[ ]DCBagR
qqV
dd 2
)0,0( 221
2
−+−+=∂∂
∂α
[ ] [ ]
[ ] [ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−−+−+−+
−+−+−−−−+=
DCBagRDCB
agR
DCBagRDCBA
agR
vHessdd
dd
d
42
2)(
22
22
2
α
αα
Para que exista un mínimo en la función Vd los menores deben ser positivos:
Determinante 1: ( )DCBAa
gRd +++> 22α
Determinante 2:
( )( )⎥⎦⎤
⎢⎣
⎡+−−++++++
+++++>
DCBDCBDCBABDBCCDADACAB
agR d 424
4942
2 αα
Utilizando los programas computacionales VDESACRO Y SIMVDESACRO, que
fueron diseñados para comprobar que la Vd hallada al resolver la EDP, es función
Lyapunov, se puede observar en la figura 19 como dicha función posee mínimo.
-2-1012
-20
2
0
200
400
600
800
1000
1200
1400
Figura 19. Gráfica de la Función Vd
Asimismo, se sabe por el Principio de Lagrange que:
=
y
Retomando la ecuación (127):
( ) ( )[ ])()()cos(
215142
232121 qqsencqsenc
aqcccg
VqVq dd ++−
=∇−∇ α
Se procede a calcular los puntos críticos de la función Vd, es decir, 0=∇ dqV
( ) ( )[ ]212112
121
)()( qqCsenqqBsenqAsenagqqR
qV
dd −−+−−++=
∂∂
αα
( ) ( )[ ])2(2)( 2121212
122
qqDsenqqCsenqqBsenagqqR
qV
dd +−−−+−++=
∂∂
α
Lo anterior indica que el término de la derecha de la ecuación (127) debe ser
cero cuando 01
=∇ dq V y 02
=∇ dq V , es decir que:
( ) ( )[ ] 0)()()cos(
215142
2321 =++−
qqsencqsenca
qcccg
Se sabe que:
→>− 0)cos( 2321 qccc por ser condición del determinante 1δ de la matriz de
inercia.
De tal manera que:
( ){ } { }0)()(/),(/, 215142121 =++⊂ qqsencqsencqqVdecríticopuntoesqqq d
Entonces:
0)()( 21514 =++ qqsencqsenc
Al resolver la ecuación anterior utilizando Maple se tiene que:
LLLooosss pppuuunnntttooosss dddeee
eeeqqquuuiii lll iiibbbrrriiiooo dddeeelll
SSSiiisssttteeemmmaaa
LLLooosss pppuuunnntttooosss
cccrrríííttt iiicccooosss dddeee VVVddd
LLLooosss pppuuunnntttooosss dddeee
eeeqqquuuiii lll iiibbbrrriiiooo
eeessstttaaabbbllleee
LLLooosss pppuuunnntttooosss
mmmííínnniiimmmooosss dddeee VVVddd
>solve(c4*sin(q1)+c5*sin(q1+q2)=0,[q1,q2]);
éêë
éêë
q1 = arctan 0 sin ( q2 ) c5c4 C c5 cos ( q2 ) 1, q2 = q2 ù
úû, é
êëq1 = K arctan 0 sin ( q2 ) c5
c4 C c5 cos ( q2 ) 1, q2 = q2 ùúû
ùúû
0,)cos(
)(arctan 2254
25
1
=⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+∂
∂q
qccqsenc
qVd
0,)cos(
)(arctan 2254
25
2
=⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+
−∂∂
qqcc
qsencqVd
> plot(arctan(sin(q2)*2/(3+2*cos(q2))),q2=-15.....15); asignando valores a C4=3 y C5=2
Figura 20. Punto crítico aislado de Vd
De lo anterior se deduce que 01 =q y 02 =q es punto crítico aislado para el
sistema ACROBOT.
Una vez encontrada la Vd correcta se procede a determinar la función de control
ues que permita estabilizar el sistema ACROBOT.
Se retoma la ecuación (119) para despejar la ues que logre que el sistema en
lazo cerrado tenga el mismo comportamiento de la dinámica objetivo:
dqdesq HMMuGHp ∇−=+−∇= − *** 1&
dqdqes HMMHuG ∇−∇= − *** 1 , tomando en cuenta que G no es inversible, se
hace lo siguiente:
)**(* 1dqdq
Tes
T HMMHGuGG ∇−∇= −
)**()(*)()( 111dqdq
TTes
TT HMMHGGGuGGGG ∇−∇= −−−
)**( 1dqdq
Tes HMMHGu ∇−∇= −
[ ]⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡+++−+−
⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡∇∇
=dq
dq
q
qes V
Vqcccqcc
qcccaaaa
HH
u2
1
2
1
)cos(2)cos()cos(110
2321232
2322
132
22
δβ
[ ]⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡++++−+−+++++−+−+
−⎥⎦
⎤⎢⎣
⎡∇∇
=dq
dq
q
qes V
Vqcccaqccaqccacaqcccaqccaqccaca
HH
u2
1
2
1
))cos(2())cos(())cos(())cos(2())cos(())cos((110
232132322232322
232122322232222
1
ββδ
[ ]⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
⎥⎦
⎤⎢⎣
⎡∇++++−+∇+−+∇++++−+∇+−+
−⎥⎦
⎤⎢⎣
⎡∇∇
=dqdq
dqdq
q
qes VqcccaqccaVqccaca
VqcccaqccaVqccacaHH
u21
21
2
1
)))cos(2())cos((()))cos((()))cos(2())cos((()))cos(((110
232132322232322
232122322232222
1
ββδ
[ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
∇+∇++++−+∇+−+−
∇+∇++++−+∇+−+−=
HVqcccaqccaVqccaca
HVqcccaqccaVqccacau
qdqdq
qdqdq
es
221
121
])))cos(2())cos((()))cos(([(1
])))cos(2())cos((()))cos(([(1
10232132322232322
1
2321223222322221
δ
ββδ
HVqcccaqccaVqccacau qdqdqes 221])))cos(2())cos((()))cos(([1
2321323222323221
∇+∇++++−+∇+−+−=δ
(132)
Es conocido que la energía total deseada del sistema tiene la forma:
ddT
d VpMpEpdEcdH +=+= −1
21
ddT
d VpMpH += −1
21
Sustituyendo la ecuación (131) que corresponde a la Vd calculada se tiene:
( ) ( ) ( ) ( ){ } ( )21221212112
221
1
212coscoscoscos)(
21
21 qqREqqDqqCqqBqA
agqqRpMpH pdd
Td αα +++++−++++−+= −
Ahora se procede a calcular 1q
Vd
∂∂ ,
2qVd
∂∂ y
2qH
∂∂
( ) ( )[ ]212112
121
)()( qqCsenqqBsenqAsenagqqR
qV
dd −−+−−++=
∂∂
αα
( ) ( )[ ])2(2)( 2121212
122
qqDsenqqCsenqqBsenagqqR
qV
dd +−−−+−++=
∂∂
α
Para H se tiene que:
)(21 1 qVpMpH T += − y [ ])cos()cos()( 21514 qqcqcgqV ++=
[ ])cos()cos(
21
215141 qqcqcgpMpH T +++= −
[ ] [ ])cos()cos()cos(2)cos(
)cos(121
215142
1
2321232
2322
121 qqcqcg
pp
qcccqccqccc
ppH +++⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡+++−+−
=δ
[ ] [ ])cos()cos())cos(2())cos((
))cos((21
21514223211232
22321221
1
qqcqcgpqcccpqcc
pqccpcppH +++⎥
⎦
⎤⎢⎣
⎡+++−+−
=δ
[ ] ....)cos(2)cos()cos(21 2
21232
22
222
21232121223212122
121
++++++−+−= pcqcppcpcqcppppcqcppppcpcHδ
[ ])cos()cos(.... 21514 qqcqcg +++
[ ] [ ])cos()cos()cos(2)cos(22
21
21514232
22
222
2123212122
121
qqcqcgqcppcpcqcppppcpcH +++++++−=δ
Sustituyendo 2
23211 ))cos(( qccc −=δ
....))cos((
)cos(2)cos(2221
22321
232
22
222
2123212122
12 +⎥⎥⎦
⎤
⎢⎢⎣
⎡
−++++−
=qccc
qcppcpcqcppppcpcH
[ ])cos()cos(..... 21514 qqcqcg +++
....))cos((
)(2)(221
22321
232
223212
−⎥⎥⎦
⎤
⎢⎢⎣
⎡
−
−−=∇
qcccqsencpqsencpp
Hq
)...()cos()))cos(((
)cos(2)cos(2222
2322
2321
232
22
222
2123212122
12 qsenqcqccc
qcppcpcqcppppcpc⎥⎥⎦
⎤
⎢⎢⎣
⎡
−++++−
−
[ ])(.. 215 qqsencg +−
Se obtiene finalmente el 2q
H∂∂ como:
....)(2)(2
21
1
232
223212
−⎥⎥⎦
⎤
⎢⎢⎣
⎡ +−=∇
δqsencpqsencpp
Hq
)..()cos()cos(2)cos(2222
232
1
232
22
222
2123212122
12 qsenqcqcppcpcqcppppcpc
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++++−−
δ
[ ])(.. 215 qqsencg +−
Ahora se procede a sustituir 1q
Vd
∂∂ ,
2qVd
∂∂ y
2qH
∂∂ en la ecuación (132) para finalmente
conseguir la esu .
( ) ( )[ ]⎪⎩
⎪⎨⎧
⎟⎟⎠
⎞⎜⎜⎝
⎛−−+−−+++−+−= ........)()()))cos(((1
212112
122323221
qqCsenqqBsenqAsenagqqRqccacau des αα
δ
( ) ( )[ ]⎭⎬⎫
⎟⎟⎠
⎞⎜⎜⎝
⎛+−−−+−++++++−+ )2(2)()))cos(2())cos(((..... 212121
212232132322 qqDsenqqCsenqqBsen
agqqRqcccaqcca d α
....)(2)(2
21.......
1
232
22321 −⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++
δqsencpqsencpp
)..()cos()cos(2)cos(2222
232
1
232
22
222
2123212122
12 qsenqcqcppcpcqcppppcpc
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++++−−
δ
[ ])(.. 215 qqsencg +− (133)
C. Inyección de Amortiguamiento
Una vez encontrada la esu , se procede a calcular la función de control u que
garantiza la estabilización asintótica del sistema ACROBOT:
Se sabe que ),(),( pqupquu dies += y que dpT
di HkvGu ∇−= de tal manera que:
[ ] pMkvu
pMH
ddi
ddp
1
1
10 −
−
−=
=∇
Como la matriz de inercia deseada tiene la forma:
⎥⎦
⎤⎢⎣
⎡=
32
22
aaaa
Md
β → ⎥
⎦
⎤⎢⎣
⎡−
−=−
22
23
2
1 1aaaa
Md βδ , donde )( 2322
22232 aaaaaa −=→−= βδβδ
La inyección de amortiguamiento viene dada por:
[ ] ⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−−=
2
1
22
23
2
10pp
aaaakvu di βδ
[ ] ⎥⎦
⎤⎢⎣
⎡+−−
−=2212
2213
2
10papa
papakvu di βδ
[ ]22122
papakvu di βδ
+−−=
Finalmente la función de control que garantiza que el sistema ACROBOT en lazo
cerrado se comporte igual que la dinámica objetivo propuesto por método IDA-PBC y
que logra la estabilidad asintótica del sistema.
[ ]22122
papakvuu es βδ
+−−= → esu es la calculada y corresponde a la ecuación (133)
Sustituyendo esu se consigue que la función de control u es la siguiente:
( ) ( )[ ]⎪⎩
⎪⎨⎧
⎟⎟⎠
⎞⎜⎜⎝
⎛−−+−−+++−+−= ........)()()))cos(((1
212112
1223232221
qqCsenqqBsenqAsenagqqRqccacau d αα
δ
( ) ( )[ ]⎭⎬⎫
⎟⎟⎠
⎞⎜⎜⎝
⎛+−−−+−++++++−+ )2(2)()))cos(2())cos(((..... 212121
212232132322 qqDsenqqCsenqqBsen
agqqRqcccaqcca d α
....)(2)(2
21.......
1
232
22321 −⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++
δqsencpqsencpp
)..()cos()cos(2)cos(2222
232
1
232
22
222
2123212122
12 qsenqcqcppcpcqcppppcpc
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++++−−
δ
[ ])(.. 215 qqsencg +− [ ]22122
papakv βδ
+−−
Una vez encontradas cada una de las funciones necesarias para la aplicación del
método IDA-PBC, es posible presentar el sistema ACROBOT en lazo cerrado,
sustituyendo Hq2∇ y u :
[ ]
[ ][ ]
uHpqqsencqsencgp
pqcccpqccq
pqccpcq
q +−∇=+−−−=
++++−=
+−+=
22
215141
2232112321
2
2232121
1
)()(
))cos(2())cos((1
))cos((1
&
&
&
&
δ
δ
Sustituyendo Hq2∇ y u en el sistema de EDO anterior se tiene que:
[ ]2232121
1 ))cos((1 pqccpcq +−+=δ
&
[ ]2232112321
2 ))cos(2())cos((1 pqcccpqccq ++++−=δ
&
[ ])()( 215141 qqsencqsencgp +−−−=&
....)(2)(2
21
1
232
223212 +
⎥⎥⎦
⎤
⎢⎢⎣
⎡ +−=
δqsencpqsencpp
p&
)..()cos()cos(2)cos(2222
232
1
232
22
222
2123212122
12 qsenqcqcppcpcqcppppcpc
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++++−+
δ
[ ] ......)(.. 215 +++ qqsencg
( ) ( )[ ]⎪⎩
⎪⎨⎧
⎟⎟⎠
⎞⎜⎜⎝
⎛−−+−−+++−+− ........)()()))cos(((1
212112
1223232221
qqCsenqqBsenqAsenagqqRqccaca d αα
δ
( ) ( )[ ]⎭⎬⎫
⎟⎟⎠
⎞⎜⎜⎝
⎛+−−−+−++++++−+ )2(2)()))cos(2())cos(((..... 212121
212232132322 qqDsenqqCsenqqBsen
agqqRqcccaqcca d α
....)(2)(2
21.......
1
232
22321 −⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++
δqsencpqsencpp
)..()cos()cos(2)cos(2222
232
1
232
22
222
2123212122
12 qsenqcqcppcpcqcppppcpc
⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++++−−
δ
[ ])(.. 215 qqsencg +− [ ]22122
papakv βδ
+−−
Simplificando el sistema ACROBOT en lazo cerrado se obtiene lo siguiente:
[ ]2232121
1 ))cos((1 pqccpcq +−+=δ
&
[ ]2232112321
2 ))cos(2())cos((1 pqcccpqccq ++++−=δ
&
[ ])()( 215141 qqsencqsencgp +−−−=&
( ) ( )[ ]⎩⎨⎧
⎟⎟⎠
⎞⎜⎜⎝
⎛−−+−−+++−+− ........)()()))cos(((1
212112
1223232221
2 qqCsenqqBsenqAsenagqqRqccacap d αα
δ&
( ) ( )[ ]⎭⎬⎫
⎟⎟⎠
⎞⎜⎜⎝
⎛+−−−+−++++++−+ )2(2)()))cos(2())cos(((..... 212121
212232132322 qqDsenqqCsenqqBsen
agqqRqcccaqcca d α
[ ]22122
.... papakv βδ
+−− (134)
Por otro lado, se determina la dinámica objetivo del sistema ACROBOT como se
muestra a continuación:
La dinámica objetivo tiene la forma:
[ ] ddd HRJpq
∇−=⎥⎦
⎤⎢⎣
⎡&
& (135)
y se sabe que:
⎥⎦
⎤⎢⎣
⎡
−=
−
−
0*0
1
1
MMMM
Jd
dd , ⎥
⎦
⎤⎢⎣
⎡= T
vd GKG
R**0
00 y ⎥⎦
⎤⎢⎣
⎡=
32
22
aaaa
M d
β
Con J2 = 0, resulta al sustituir en la ecuación (135):
⎥⎦
⎤⎢⎣
⎡∇∇
⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡
−=⎥
⎦
⎤⎢⎣
⎡−
−
dp
dqT
vd
d
HH
GKGMMMM
pq
**000
0*0
1
1
&
&
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡
−−=⎥
⎦
⎤⎢⎣
⎡−
−
dp
dqT
vd
d
HH
GGkMMMM
pq
1
1 *0&
&
dpd HMMq ∇= −1& (136)
dpT
vdqd HGGkHMMp ∇−∇−= −1& (137)
Resolviendo la ecuación (136), como pMH ddp1−=∇ → pMMMq dd
11 −−=& → pMq 1−=&
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡+++−+−
=⎥⎦
⎤⎢⎣
⎡
2
1
2321232
2322
12
1
)cos(2)cos()cos(1
pp
qcccqccqccc
δ&
&
De esta manera se encuentran las dos primeras ecuaciones 1q& y 2q& de la
dinámica objetivo:
[ ])cos(122213
11 qpcpcq −=
δ& (138)
[ ]212121
2 )cos(1 pcqpcq +−=δ
& (139)
Seguidamente se hacen los cálculos para las ecuaciones de 1p& y 2p& , para lo
cual se resuelve la ecuación (137) como se muestra a continuación
[ ] ⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡+++−+−
⎥⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡
2
1
22
23
2
1
2321232
2322
132
22
2
1 11010
)cos(2)cos()cos(1
2pp
aaaa
kHH
qcccqccqccc
aaaa
pp
vdq
dq
βδδβ
&
&
.....))cos(2())cos(())cos(())cos(2())cos(())cos((1
2
1
232132322232322
232122322232222
12
1⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡++++−+−+++++−+−+
−=⎥⎦
⎤⎢⎣
⎡
dq
dq
HH
qcccaqccaqccacaqcccaqccaqccaca
pp ββ
δ&
&
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−⎥⎦
⎤⎢⎣
⎡−
2
1
22
23
2 0001....
pp
aaaa
kv βδ
......)))cos(2())cos((()))cos(((
)))cos(2())cos((()))cos(((1
2
2
2321323221232322
2321223221232222
12
1⎥⎦
⎤⎢⎣
⎡∇++++−+∇+−+∇++++−+∇+−+
−=⎥⎦
⎤⎢⎣
⎡
dqdq
dqdq
HqcccaqccaHqccacaHqcccaqccaHqccaca
pp ββ
δ&
&
⎥⎦
⎤⎢⎣
⎡+−
−22122
01......pakpak vv βδ
Por ser la matriz Md es constante → dqdq VH 11 ∇=∇ y dqdq VH 22 ∇=∇
( ) ( )[ ] ..........)()()))cos(((121211
212232222
11 ⎪⎩
⎪⎨⎧
⎥⎦
⎤⎢⎣
⎡−−+−−+++−+−= qqCsenqqBsenqAsen
agqqRqccacap d ααβ
δ&
( ) ( )[ ]⎪⎭
⎪⎬
⎫
⎥⎦
⎤⎢⎣
⎡+−−−+−++++++− )2(2)()))cos(2())cos((...( 212121
212232122322 qqDsenqqCsenqqBsen
agqqRqcccaqcca d αβ
( ) ( )[ ] ..........)()()))cos(((21211
212
1
2322221 ⎥
⎦
⎤⎢⎣
⎡−−+−−++
+−+−= qqCsenqqBsenqAsen
agqqRqccacap d αα
δβ&
( ) ( )[ ])2(2)()))cos(2())cos(((. 2121212
121
232122322 qqDsenqqCsenqqBsenagqqRqcccaqcca
d +−−−+−++++++−
− αδ
β (140)
Ahora para 2p& :
( ) ( )[ ] ........)()()))cos(((121211
212232322
12
⎩⎨⎧
⎥⎦
⎤⎢⎣
⎡−−+−−+++−+−= qqCsenqqBsenqAsen
agqqRqccacap d αα
δ&
( ) ( )[ ] .....)2(2)()))cos(2())cos((...( 2121212
12232132322⎪⎭
⎪⎬⎫
⎥⎦
⎤⎢⎣
⎡+−−−+−++++++− qqDsenqqCsenqqBsen
agqqRqcccaqcca d α
[ ]22122
1.... pakpak vv βδ
+−−
( ) ( )[ ] ......)()()))cos(((
212112
121
2323222 ⎥
⎦
⎤⎢⎣
⎡−−+−−++
+−+−= qqCsenqqBsenqAsen
agqqR
qccacap d αα
δ&
( ) ( )[ ]⎥⎦
⎤⎢⎣
⎡+−−−+−++
++++−− )2(2)(
)))cos(2())cos(((... 212121
212
1
232132322 qqDsenqqCsenqqBsenagqqR
qcccaqccad α
δ
( )2
2212....δ
β pakpak vv +−− (141)
Para tener información cualitativa del sistema ACROBOT, se hace un análisis
cualitativo de los puntos de equilibrio del sistema en lazo abierto, para ello, se utiliza la
técnica de Linealización Aproximada o Jacobiana.
El sistema ACROBOT en lazo abierto es:
[ ]
[ ][ ]
uHpqqsencqsencgp
pqcccpqccq
pqccpcq
q +−∇=+−−−=
++++−=
+−+=
22
215141
2232112321
2
2232121
1
)()(
))cos(2())cos((1
))cos((1
&
&
&
&
δ
δ
Al sustituir Hq2∇ resulta:
[ ]2232121
1 ))cos((1 pqccpcq +−+=δ
&
[ ]2232112321
2 ))cos(2())cos((1 pqcccpqccq ++++−=δ
&
[ ])()( 215141 qqsencqsencgp +−−−=&
....)(2)(2
21
1
232
223212 +
⎥⎥⎦
⎤
⎢⎢⎣
⎡ +−=
δqsencpqsencpp
p&
).()cos()cos(2)cos(2222
232
1
232
22
222
2123212122
12 qsenqcqcppcpcqcppppcpc⎥⎥⎦
⎤
⎢⎢⎣
⎡ ++++−+
δ
Los puntos de equilibrio del sistema se determinan → 02121 ==== ppqq &&&&
Los puntos de equilibrio del sistema pertenecen al conjunto:
( ){ }arbitrarioqyuppqppqqE :0,0,0,0/,,, 22112121 ===== y se elige el punto
de equilibrio (0,0,0,0).
La linealización jacobiana del sistema en torno al origen resulta como sigue a
continuación:
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
=∂∂
=
2
4
1
4
2
4
1
4
2
3
1
3
2
3
1
3
2
2
1
2
2
2
1
2
2
1
1
1
2
1
1
1
)0,0,0,0(,
pf
pf
qf
qf
pf
pf
qf
qf
pf
pf
qf
qf
pf
pf
qf
qf
pqfA
01
1 =∂∂qf 0
2
1 =∂∂qf
2312
2
1
1
cccc
pf
−=
∂∂
2312
32
2
1
ccccc
pf
−
+−=
∂∂
01
2 =∂∂qf 0
2
2 =∂∂qf 2
312
32
1
2
ccccc
pf
−
+−=
∂∂
2312
321
2
2 2ccc
cccpf
−
++=
∂∂
)( 541
3 ccgqf
+=∂∂
52
3 gcqf
=∂∂
; 01
3 =∂∂pf
; 02
3 =∂∂pf
01
4 =∂∂qf ; 0
2
4 =∂∂qf ; 0
1
4 =∂∂pf ; 0
2
4 =∂∂pf
La matriz del sistema linealizado A es:
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−+−−
++
−
+−−
+−
−
=
000000)(
200
00
554
2312
3212
312
32
2312
322
312
2
gcccgccc
cccccccc
ccccc
cccc
A
Los valores propios de A determinan la estabilidad del sistema alrededor del origen,
punto de equilibrio del sistema, cuando u=0. Tales valores propios se obtienen a partir
de las raíces del polinomio característico de la matriz A, calculadas de la siguiente
manera:
)det()( AsIspA −=
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−+−−
++
−
+−−
+−
−
−
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=−
000000)(
200
00
000000000000
554
2312
3212
312
32
2312
322
312
2
gcccgccc
cccccccc
ccccc
cccc
ss
ss
AsI
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
+−
++−
−
+−−
−
+−−
−−
=−
ssgcccg
cccccc
ccccc
s
ccccc
ccccs
AsI
0000)(
20
0
554
2312
3212
312
32
2312
322
312
2
0)(
)det( 2312
24352
32
1222
=−
++−=−
ccccgccgccsccss
AsI
0
0
24352
32
122
2
=++−
=
cgccgccsccs
s
)( 24352
32
122 cgccgccsccs +−=− → )()( 2435
2312
2 cgccgccccs +−=−
→ 2312
24352 )(ccc
cgccgcs−
+−=
→ 2312
2435 )(ccc
cgccgcs
−
+−=
De esta manera se conocen los valores propios del sistema y estos son los siguientes:
iccc
cgccgcsiccc
cgccgcsss 2312
243542
312
2435321
)()(00−
+−−=
−
+−===
De tal manera que el sistema ACROBOT posee dos valores propios nulos y dos
valores propios imaginarios puros. Se trata del denominado caso crítico para el análisis
de la estabilidad del punto de equilibrio, es decir, no se puede asegurar la estabilidad
del mismo.
D. Análisis de la Estabilidad
La estabilidad del punto de equilibrio del sistema ACROBOT se sigue de la
aplicación de la Proposición 1. La estabilidad asintótica, bajo la hipótesis de
detectabilidad, puede establecerse aplicando el Principio de Invariancia de Lasalle. Para
este fin se define el conjunto residual:
( ) ( ) ( ) ( ) ( )( )⎭⎬⎫
⎩⎨⎧ =ℜ∈=Ω
•
0,,,/,,, 21214
2121 tptptqtqHppqq d (142)
Derivando dH respecto a t, se encuentra que
2
)()( dT
vdT
vT
dd pHGKpHGGKpHtH ∇−=∇∇−=•
(143)
en la cual . es la norma euclideana usual. Luego,
( ){ } ( ){ }0/,,,0/,,, 142121
42121 =ℜ∈==∇ℜ∈=Ω − pMGppqqpHGppqq d
Td
T (144)
Derivando la expresión 01 =− pMG dT se obtiene la relación
01 =•
− pMG dT (145)
donde puede substituirse •
p por su valor dado en la ecuación (137), es decir, por
dddT
vdd qHMMpHGGKqHMMp ∇−=∇−∇−= −−•
11 (146)
para obtener la cadena de igualdades:
( ) 01111 =∇=∇−=∇− −−−−d
Td
Tddd
T qVMGqHMGqHMMMG (147)
observando que para establecer la penúltima igualdad se ha usado la independencia de
la matriz de inercia dM respecto de la variable q . Ahora bien,
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
∇+++∇+−
∇+−∇=
⎥⎦
⎤⎢⎣
⎡∇∇
⎥⎦
⎤⎢⎣
⎡+++−+−
=∇−
dd
dd
d
dd
VqqcccVqqcc
VqqccVqc
VqVq
qcccqccqccc
qVM
223211232
223212
1
2
1
2321232
2322
1
1
))cos(2())cos((
))cos((1
)cos(2))cos(())cos((1
δ
δ
(148)
lo cual implica que:
[ ] 0))cos(2())cos((1)( 2232112321 =∇+++∇+−=∇−
dddT VqqcccVqqccqVMG
δ (149)
Dado que los parámetros 321, cycc sólo toman valores positivos, las funciones
)cos( 232 qcc + y )cos(2 2321 qccc ++ son linealmente independientes; por lo que (149) se
produce para todo ( )21 ,qq sólo si ( ) ( ) 0,0, 212211 =∇=∇ qqVqyqqVq dd . En este punto se
hace, por lo tanto, necesario introducir la siguiente hipótesis adicional
Hipótesis H4: La función de energía potencial satisface la condición
( ) ( ) ( ) )0,0(,0,0, 21212211 =⇒=∇=∇ qqqqVqyqqVq dd (150)
Por lo tanto, usando la Hipótesis H4 y (149) se deduce que:
( ) ( )( ) )0,0(, 21 ≡tqtq (151)
y en consecuencia ( ) ( ) 0,0 21 ==••
tqytq . Sustituyendo estos resultados en el primer
par de ecuaciones de (108) se obtiene el sistema lineal en 21 pyp
⎪⎩
⎪⎨⎧
=++−+−=
=+−=•
•
0)2()(
0)(
23211322
232121
pcccpccq
pccpcq (152)
cuyo determinante es la ya conocida condición 02321 ≠− ccc , lo cual implica
( ) 0)(),( 21 ≡tptp (153)
Juntando este resultado con el resultado de (151), se llega a la conclusión que
( ){ }0,0,0,0=Ω , y, por el Principio de Invariancia de Lasalle, el origen es un punto de
equilibrio asintóticamente estable.
E. Simulaciones Numéricas y Rediseño de las funciones
Para el modelo del sistema ACROBOT, se realizaron simulaciones
computacionales con los programas ACROLAZ, SIMACROLAZ, ACRODIN y
SIMACRODIN, usando la plataforma de Matlab 7.1. Con estas simulaciones se muestra
el desempeño del controlador propuesto. Se emplearon para el sistema ACROBOT, los
parámetros contenidos en la tabla 1 que fueron tomados de [13].
Tabla 2. Parámetros para el sistema ACROBOT
Parámetro 1c 2c 3c 4c 5c
Valor 2.3333 5.3333 2 3 2
Se tomaron para la matriz dM los valores 4,,1 3211 === aaaa β .
3333.53333.211
2
1 +=+=cc
α y 3333.53333.211
2
1 −=−=cc
β
Se debe tomar en cuenta que el parámetro de diseño Rd debe cumplir:
( )DCBAa
gRd +++> 22α
y ( )( )⎥⎦⎤
⎢⎣
⎡+−−++++++
+++++>
DCBDCBDCBABDBCCDADACAB
agRd 424
4942
2 αα
→ el Hess(vd(0,0)) sea definido positivo → (0,0) es un mínimo y es un punto de
equilibrio es estable. Sustituyendo: 85>dR .
En una primera simulación, todas las condiciones iniciales fueron ubicadas en
21π
=q , 32π
=q , 11 =p y 12 =p . Después de algunos ensayos para obtener la mejor
respuesta transitoria, la cual corresponde a la etapa de rediseño de las funciones, se
seleccionaron 100=dR y 100=vK .
Es importante señalar, que para obtener una rápida convergencia a la
estabilización del sistema, se añade a la función de control propuesto el término
130p− .
Una típica respuesta del sistema en lazo cerrado con el controlador, se muestra
en las figuras 21 y 22, Como puede observarse, el sistema exhibe una muy buena
conducta transitoria, y la estabilización se produce a los 120 segundos.
0 50 100 150-1
0
1Posición Angular Brazo 1
tiempo t
q1
0 50 100 150-2
0
2Posición Angular Brazo 2
tiempo t
q2
0 50 100 150-10
0
10Velocidad Angular del Brazo 1
tiempo t
p1
0 50 100 150-10
0
10Velocidad Angular del Brazo 2
tiempo t
p2
0 50 100 150-1000
0
1000Variable de Control
tiempo t
u
0 50 100 150-10
0
10Variables
tiempo t
q1,q
2,p1
,p2
Figura 21. Simulación del Sistema ACROBOT en lazo cerrado: Comportamiento de las variables y función
-1 -0.5 0 0.5 1-2
-1
0
1
2Plano de Fase
q1
q2
-10 -5 0 5 10-10
-5
0
5
10Plano de Fase
p1
p2
-1 -0.5 0 0.5 1-10
-5
0
5
10Plano de Fase
q1
p1
-2 -1 0 1 2-10
-5
0
5
10Plano de Fase
q2
p2
Figura 22. Simulación del Sistema ACROBOT en lazo cerrado: Plano de Fase
La respuesta del sistema con la dinámica objetivo propuesto por el método IDA-
PBC, se muestra en las figuras 23 y 24. Como puede verse, el sistema exhibe su
respuesta en forma de oscilaciones amortiguadas, y la estabilización se produce a los
120 segundos.
0 50 100-1
0
1Posición Angular Brazo 1
tiempo t
q10 50 100
-2
0
2Posición Angular Brazo 2
tiempo t
q2
0 50 100-10
0
10Velocidad Angular del Brazo 1
tiempo t
p1
0 50 100-10
0
10Velocidad Angular del Brazo 2
tiempo t
p20 10 20 30 40 50 60 70 80 90 100
-10
0
10Variables
tiempo t
q1,q
2,p1
,p2
Figura 23. Simulación del Sistema ACROBOT de dinámica objetivo: Comportamiento de las variables y función
-1 -0.5 0 0.5 1-2
-1
0
1
2Plano de Fase
q1
q2
-10 -5 0 5 10-10
-5
0
5
10Plano de Fase
p1
p2
-1 -0.5 0 0.5 1-10
-5
0
5
10Plano de Fase
q1
p1
-2 -1 0 1 2-10
-5
0
5
10Plano de Fase
q2
p2
Figura 24. Simulación del Sistema ACROBOT de dinámica objetivo: Plano de Fase A fin de ilustrar la naturaleza global de la ley de control obtenida, se presenta una
simulación donde se pretende llevar el dispositivo desde la posición 2/51 π=q , hasta la
posición 01 =q , mientras se mantienen todas las otras condiciones iniciales iguales a
0. La respuesta transitoria se muestra en las figuras 25 y 26, donde se observa que se
la convergencia es preservada tal como lo predice la teoría, sin embargo se tomó
70=vk .
0 50 100-1
0
1Posición Angular Brazo 1
tiempo t
q1
0 50 100-2
0
2Posición Angular Brazo 2
tiempo t
q2
0 50 100-10
0
10Velocidad Angular del Brazo 1
tiempo t
p1
0 50 100-10
0
10Velocidad Angular del Brazo 2
tiempo t
p2
0 50 100-1000
0
1000Variable de Control
tiempo t
u
0 50 100-10
0
10Variables
tiempo t
q1,q
2,p1
,p2
Figura 25. Simulación del Sistema ACROBOT de dinámica objetivo: Comportamiento de las variables y función
-1 -0.5 0 0.5 1-2
-1
0
1
2Plano de Fase
q1
q2
-10 -5 0 5 10-10
-5
0
5
10Plano de Fase
p1
p2
-1 -0.5 0 0.5 1-10
-5
0
5
10Plano de Fase
q1
p1
-2 -1 0 1 2-10
-5
0
5
10Plano de Fase
q2
p2
Figura 26. Simulación del Sistema ACROBOT de dinámica objetivo: Plano de Fase
De esta manera se prueba la naturaleza global de la ley de control obtenida, ya
que se observa que la convergencia es preservada tal como lo predice la teoría.
También es importante destacar que dicha ley de control logra estabilizar el sistema en
un tiempo de simulación o tiempo de asentamiento perfectamente aceptable.
El sistema ACROBOT es un prototipo de sistema mecánico subactuado que ha
merecido gran atención por la comunidad de control no lineal, y en este trabajo,
partiendo de la representación Hamiltoniana controlada por puertos basada en la
energía total del sistema considerada como energía cinética mas energía potencial, se
obtiene un controlador que logra estabilizar en forma global y asintótica el punto de
equilibrio.
De lo anteriormente planteado y luego de haber desarrollado la investigación, se
logra dar respuesta a la hipótesis de estudio:
Los sistemas mecánicos subactuados de grado 1 si son susceptibles a ser
estabilizados mediante el método IDA-PBC.
CONCLUSIONES De acuerdo a los objetivos propuestos en la investigación y en atención a los
resultados obtenidos luego de aplicada la metodología propuesta, se emiten las
siguientes conclusiones.
En el presente trabajo se ha desarrollado un esquema de control basado en el
método IDA-PBC para los sistemas prototipo TORA y ACROBOT. La principal
característica de este método es que explota la estructura física del sistema, en este
caso, se aprovecha que toda la información del comportamiento dinámico del
sistema mecánico está contenida en las funciones de energía y de disipación, en
consecuencia el diseño del controlador se ha concentrado en el manejo y
modificación de estas variables.
Para el moldeado de la energía total se tomó ventaja de la posibilidad de obtener
una matriz deseada con términos constantes, y para la síntesis de la energía
potencial deseada se obtuvo una reducción del conjunto de parámetros posibles
para la matriz deseada, que facilita enormemente la resolución de la ecuación en
derivadas parciales característica del método IDA-PBC.
Al final se realizaron simulaciones numéricas que muestran el excelente
comportamiento del controlador diseñado, reduciendo significamente las
oscilaciones de la plataforma, y con un tiempo de asentamiento perfectamente
aceptable.
RECOMENDACIONES
La estabilización de los sistemas mecánicos subactuados de grado 1
propuestos en la investigación utilizando el método IDA-PBC, es un aporte más a la
difícil tarea de abordar de manera sistemática un conjunto de problemas abiertos como
el control de sistemas subactuados y la obtención de funciones de Lyapunov para
controladores no lineales. Esto aunado al escaso desarrollo del área correspondiente a
los sistemas no lineales, permiten considerar las siguientes recomendaciones:
A partir de los resultados obtenidos en esta investigación, se recomienda evaluar los
sistemas mecánicos estudiados a través de prácticas experimentales en el
laboratorio, que permitan contrastar la teoría con la realidad.
Utilizar otros métodos de resolución de EDP de coeficientes variables, que permitan
conseguir mejores soluciones para la energía potencial deseada Vd.
REFERENCIAS BIBLIOGRÁFICAS
[1] Ortega R., Spong M., Gómez F., y Blankestein G. (2002) Stabilization of a class of
underactuated mechanical systems via interconnection and camping assignment. IEEE
Transactions on Automatic Control, Vol C, AC-47, No 8, 1218-1233.
[2] Acosta J., Ortega R., y Astolfi A. (2005) Interconnection and damping assignment
passivity-based control of mechanical systems with actuation degre one. IEEE Trans.
Automat. Contr., vol. 50, No 12, 1936-1955
[3] Ortega R., Van der Schaft A., Masche B. y Escobar G. (2002) Stabilization of port-
controlled Hamiltonian systems: Energy balancing and passivation”. Automatica, Vol 38,
No 4, April, 2002. Preprint.
[4] Mahindrakar A., Astolfi A., Ortega R. y Viola G. (2006) Further constructive results
on interconnection and camping assignment control of underactuated mechanical
systems: The acrobot example. International Journal of Robust and Nonlinear Control,
Vol. 16, No. 14, 671-685.
[5] Morillo A., Ríos M., y Acosta V. (2008) Control no lineal de sistemas mecánicos
sub-actuados basado en el enfoque IDA-PBC: el caso del sistema TORA. XIII Congreso
Latinoamericano de Control y Automatización, Noviembre 25-28. Mérida, Venezuela.
[6] Morillo A., Ríos M., y Arteaga F. (2008) Una estrategia de control no lineal para el
sistema Acrobot basada en el enfoque IDA-PBC”. XIII Congreso Latinoamericano de
Control y Automatización, Noviembre 25-28. Mérida, Venezuela.
[7] Grajales T. (1998) Tipos de investigación. Segunda Edición. Editorial Mc Graw Hill.
México.
[8] Hernández, R. Fernández, C. Y Baptista, P. (1998) Metodología de la
Investigación. Segunda Edición. Editorial Mc Graw Hill. México.
[9] Khalil H. (2002) Nonlinear Systems, Prentice Hall.
[10] Sira H., Márquez R., Rivas F. y Llanes O. (2005) Control de sistemas no lineales:
Linealización aproximada, extendida, exacta. Editorial Pearson-Prentice Hall. España.
[11] Escobar G., Ortega R. and Sira-Ramírez H. (1999) Output feedback global
stabilization of a nonlinear benmarch system using a saturated passivity-based
controller”. IEEE Transactions on Control Systems Technology, Vol 7, No 2, pp: 289-
293.
[12] Ortega R., Loria A., Nicklasson J. and Sira-Ramírez H. (1998) Passivity-Based
Control of euler-Lagrange Systems. Berlin, Germany, Springer-Verlag, Communications
and Control Engineering.
[13] Jankovic M., Fontaine D., and Kokotovic P. (1996) TORA Example: -cascade
and and passivity-based control designs. IEEE Transactions on Control Systems
Technology, Vol 4, No 3, pp: 292-297.
Páginas Web
http://www.ing.ula.ve/marquez/librosnl/
ANEXO A %%Programa VDESTORA: function F=VDESTORA(x,y) c1=12; c2=1; c3=11; alpha=sqrt(c3/c1); a1=1; %a2=alpha*a1; K=4; Rd=90; F=(1/2)*Rd*(x-alpha*y).^2+K/a1*((-alpha*sqrt(c1*c3)*y.^2)/2+sqrt(c1*c3)*x.*y+alpha*c2*cos(y)-alpha*c2+c2*x.*sin(y));
%%Programa SIMVDESTORA: clear all %Vd=(1/2)*Rd*(x-alpha*y)^2+K/a1*((alpha*sqrt(c1*c3)*y^2)/2+sqrt(c1*c3)*x*y-alpha*sqrt(c1*c3)*y^2+alpha*c2*cos(y)+alpha*c2*y*sin(y)-alpha*c2+c2*x*sin(y)-alpha*c2*y*sin(y)) while menu ~= 10 menu=0; [x,y]=meshgrid(-2:0.2:2,-2:0.2:2); z=VDESTORA(x,y); disp(' (1) grafica la función') disp(' (2) grafica las curvas de nivel de la función') disp(' (3) dibuja los gradientes en el gráfico de curvas de nivel de la función') disp(' (4) determina si la función es cóncava o convexa') disp(' (5) Puntos críticos de la función') disp(' (6) Hessiano y Gradiente') disp(' (10) Salir del Programa') menu=input('elija la opcion a estudiar: '); switch menu case 1 mesh(x,y,z) case 2 contour(x,y,z) case 3 [x,y]=meshgrid(-2:.2:2,-2:.2:2); z=VDESTORA(x,y); contour(x,y,z) hold on [px,py]=gradient(z); quiver(x,y,px,py) case 4 clear all syms x y z=VDESTORA(x,y); a=input('Ingrese x: '); b=input('Ingrese y: '); d1=diff(z,'x',2);
d2=diff(z,'x','y'); d3=diff(z,'x','y'); d4=diff(z,'y',2); a11=subs(d1,{x,y},{a,b}); a12=subs(d2,{x,y},{a,b}); a21=subs(d3,{x,y},{a,b}); a22=subs(d4,{x,y},{a,b}); hess=[a11,a12;a21,a22]; valores_propios=eig(hess) c1=0; c2=0; for i = 1:length(valores_propios) if (valores_propios(i)>=0) c1=c1+1; else c2=c2+1; end end if (c1==1)&(c2==1) fprintf ('La función es indefinida'); end if (c1==2)&(c2==0) fprintf ('Existe un mínimo y la función es convexa '); end if (c1==0)&(c2==2) fprintf ('Existe un máximo y la función es cóncava'); end pause case 5 clear all syms x y z=VDESTORA(x,y); disp('Puntos Críticos de la Función:') [x,y] = solve(diff(z,'x'),diff(z,'y')) case 6 clear all syms x y z=VDESTORA(x,y); m=input('Ingrese x: '); n=input('Ingrese y: '); disp('Gradiente y Hessiano la Función:') d1=diff(z,'x',2); d2=diff(z,'x','y'); d3=diff(z,'x','y'); d4=diff(z,'y',2); d5=diff(z,'x'); d6=diff(z,'y'); a1=subs(d5,{x,y},{m,n}); a2=subs(d6,{x,y},{m,n}); a11=subs(d1,{x,y},{m,n}); a12=subs(d2,{x,y},{m,n}); a21=subs(d3,{x,y},{m,n}); a22=subs(d4,{x,y},{m,n}); grad=[a1,a2] hess=[a11,a12;a21,a22] pause end end
ANEXO B %%Programa TORALAZ: function xdot=TORALAZ(t,x) %%TORALAZ.m %%Control del Sistema TORA Lazo Cerrado %%% %%Parámetros del sistema c1=12; c2=1; c3=11; alpha=sqrt(c3/c1); a1=1; a2=alpha*a1; K=5; %a3 PUEDE SER MAYOR QUE 2. a3=4; %%Parámetros de Diseño kv=70;%PUEDE VARIAR. Rd=90;%Puede ser mayor de 65. %%Otros Parámetros que no influyen %g=32.2;%pie/seg^2. g=981;%cm/seg^2. %g=9.81; %m/seg^2. m2=1; L=1; delta1 =c1*c3-c2*c2*cos(x(2)).*cos(x(2)); delta2= a1*a3-(c3/c1)*a1*a1; %%Ley de control u=-(alpha*a1*c3-a3*c2*cos(x(2))/(delta1).*(Rd*(x(1)-alpha*x(2))+(K*sqrt(c1*c3)*x(2)/a1)-(K*c2*sin(x(2))/a1))-(-alpha*a1*c2*cos(x(2))+a3*c1)/delta1).*(-Rd*(x(1)-alpha*x(2))*alpha+(K*sqrt(c1*c3)*(x(1)-alpha*x(2))/a1)-(K*alpha*c2*sin(x(2))/a1)+(K*c2*x(1).*cos(x(2))/a1))-(c2*c2*sin(x(2)).*cos(x(2))/(delta1)*(delta1)).*(c3*x(3).*x(3)-2*c2*x(3).*x(4).*cos(x(2))+c1*x(4).*x(4))+c2*(x(4).*x(3).*sin(x(2))/delta1)+m2*g*L*sin(x(2))-(kv/delta2)*(-alpha*a1*x(3)+a1*x(4))-50*x(3); %%Ecuaciones de estado xdot=[(1/delta1)*(c3*x(3)-c2*x(4).*cos(x(2))); (1/delta1)*(-c2*x(3).*cos(x(2))+c1*x(4)); (-K*x(1)); ((c2*c2*sin(x(2)).*cos(x(2)))/delta1*delta1)*(c3*x(3).*x(3)-2*c2*x(3).*x(4).*cos(x(2))+c1*x(4).*x(4))-((c2*x(3).*x(4).*sin(x(2)))/delta1)-m2*g*L*sin(x(2))+u]; %%Fin de TORALAZ.m
%%Programa SIMTORALAZ: %SIMTORALAZ.m %Programa de generación de los gráficos TORALAZ.m %Tiempo de simulación ti=0; tf=150; %%Condiciones Iniciales: x0=[1 0 0 0]'; %%Simulación: [t,x]=ode45('TORALAZ',[ti tf],x0); %%Posición del Carro (x(1)) subplot(3,2,1),plot(t,x(:,1),'c') title('Posición del Carro') xlabel('tiempo t') ylabel('q1') %%Posición Angular (x(2)) subplot(3,2,2),plot(t,x(:,2),'b') title('Posición Angular') xlabel('tiempo t') ylabel('q2') %%Velocidad del Carro (x(3)) subplot(3,2,3),plot(t,x(:,3),'r') title('Velocidad del Carro') xlabel('tiempo t') ylabel('p1') %%Velocidad Angular (x(4)) subplot(3,2,4),plot(t,x(:,4),'g') title('Velocidad Angular') xlabel('tiempo t') ylabel('p2') %%Parámetros del sistema c1=12; c2=1; c3=11; alpha=sqrt(c3/c1); a1=1; a2=alpha*a1; K=5; %a3 PUEDE SER MAYOR QUE 2. a3=4; %%Parámetros de Diseño kv=70;%PUEDE VARIAR. Rd=90;%Puede ser mayor de 65. %%Otros Parámetros que no influyen %g=32.2;%pie/seg^2. g=981;%cm/seg^2. %g=9.81; %m/seg^2.
m2=1; L=1; delta1 =c1*c3-c2*c2*cos(x(2)).*cos(x(2)); delta2= a1*a3-(c3/c1)*a1*a1; %%Ley de Control u=-(alpha*a1*c3-a3*c2*cos(x(:,2))/(delta1).*(Rd*(x(:,1)-alpha*x(:,2))+(K*sqrt(c1*c3)*x(:,2)/a1)-(K*c2*sin(x(:,2))/a1))-(-alpha*a1*c2*cos(x(:,2))+a3*c1)/delta1).*(-Rd*(x(:,1)-alpha*x(:,2))*alpha+(K*sqrt(c1*c3)*(x(:,1)-alpha*x(:,2))/a1)-(K*alpha*c2*sin(x(:,2))/a1)+(K*c2*x(:,1).*cos(x(:,2))/a1))-(c2*c2*sin(x(:,2)).*cos(x(:,2))/(delta1)*(delta1)).*(c3*x(:,3).*x(:,3)-2*c2*x(:,3).*x(:,4).*cos(x(:,2))+c1*x(:,4).*x(:,4))+c2*(x(:,4).*x(:,3).*sin(x(:,2))/delta1)+m2*g*L*sin(x(:,2))-(kv/delta2)*(-alpha*a1*x(:,3)+a1*x(:,4))-50*x(:,3); %%Control (u) subplot(3,2,5),plot(t,u,'k') title('Variable de Control') xlabel('tiempo t') ylabel('u') %%Todas las Variables subplot(3,2,6),plot(t,x) title('Variables') xlabel('tiempo t') ylabel('q1,q2,p1,p2') pause figure %%Plano de Fase subplot(2,2,1),plot(x(:,1),x(:,2)) title('Plano de Fase') xlabel('q1') ylabel('q2') %%Plano de Fase subplot(2,2,2),plot(x(:,3),x(:,4)) title('Plano de Fase') xlabel('p1') ylabel('p2') %%Plano de Fase subplot(2,2,3),plot(x(:,1),x(:,3)) title('Plano de Fase') xlabel('q1') ylabel('p1') %%Plano de Fase subplot(2,2,4),plot(x(:,2),x(:,4)) title('Plano de Fase') xlabel('q2') ylabel('p2') %Fin de SIMTORALAZ.m
ANEXO C %%Programa TORADIN: function xdot=TORADIN(t,x) %%TORADIN.m %%Control del Sistema TORA Dinámica Objetivo %%% %%Parámetros del sistema c1=12; c2=1; c3=11; alpha=sqrt(c3/c1); a1=1; a2=alpha*a1; K=5; %a3 PUEDE SER MAYOR QUE 2. a3=15; %%Parámetros de Diseño kv=70;%PUEDE VARIAR. Rd=90;%Puede ser mayor de 65. %%Otros Parámetros que no influyen %g=32.2;%pie/seg^2. g=981;%cm/seg^2. m2=1; L=1; delta1 =c1*c3-c2*c2*cos(x(2)).*cos(x(2)); delta2= a1*a3-(c3/c1)*a1*a1; %%Ecuaciones de estado xdot=[(1/delta1)*(c3*x(3)-c2*x(4).*cos(x(2))); (1/delta1)*(-c2*x(3).*cos(x(2))+c1*x(4)); -(((a1*c3-alpha*a1*c2*cos(x(2)))/delta1).*(Rd*(x(1)-alpha*x(2))+(K*sqrt(c1*c3)*x(2)/a1)+(K*c2*sin(x(2))/a1)))-(((-a1*c2*cos(x(2))+alpha*a1*c1)/delta1).*(-Rd*(x(1)-alpha*x(2))*alpha+(K*sqrt(c1*c3)*(x(1)-alpha*x(2))/a1)-(K*alpha*c2*sin(x(2))/a1)+(K*c2*x(1).*cos(x(2))/a1))); -(((alpha*a1*c3-a3*c2*cos(x(2)))/delta1).*(Rd*(x(1)-alpha*x(2))+(K*sqrt(c1*c3)*x(2)/a1)+(K*c2*sin(x(2))/a1)))-(((-alpha*a1*c2*cos(x(2))+a3*c1)/delta1).*(-Rd*(x(1)-alpha*x(2))*alpha+(K*sqrt(c1*c3)*(x(1)-alpha*x(2))/a1)-(K*alpha*c2*sin(x(2))/a1)+(K*c2*x(1).*cos(x(2))/a1)))-((-kv*alpha*a1*x(3)+kv*a1*x(4))/delta2)-10*x(3)]; %%Fin de TORADIN.m
%%Programa SIMTORADIN: %SIMTORADIN.m %Programa de generación de los gráficos toradin.m %Tiempo de simulación ti=0; tf=150; %%Condiciones Iniciales: x0=[1 pi/2 0 0]'; %%Simulación: [t,x]=ode45('TORADIN',[ti tf],x0); %%Posición del Carro (x(1)) subplot(3,2,1),plot(t,x(:,1),'c') title('Posición del Carro') xlabel('tiempo t') ylabel('q1') %%Posición Angular (x(2)) subplot(3,2,2),plot(t,x(:,2),'b') title('Posición Angular') xlabel('tiempo t') ylabel('q2') %%Velocidad del Carro (x(3)) subplot(3,2,3),plot(t,x(:,3),'r') title('Velocidad del Carro') xlabel('tiempo t') ylabel('p1') %%Velocidad Angular (x(4)) subplot(3,2,4),plot(t,x(:,4),'g') title('Velocidad Angular') xlabel('tiempo t') ylabel('p2') %%Todas las Variables subplot(3,2,[5 6]),plot(t,x) title('Variables') xlabel('tiempo t') ylabel('q1,q2,p1,p2') pause figure %%Plano de Fase subplot(2,2,1),plot(x(:,1),x(:,2)) title('Plano de Fase') xlabel('q1') ylabel('q2') %%Plano de Fase subplot(2,2,2),plot(x(:,3),x(:,4)) title('Plano de Fase') xlabel('p1') ylabel('p2')
%%Plano de Fase subplot(2,2,3),plot(x(:,1),x(:,3)) title('Plano de Fase') xlabel('q1') ylabel('p1') %%Plano de Fase subplot(2,2,4),plot(x(:,2),x(:,4)) title('Plano de Fase') xlabel('q2') ylabel('p2') %Fin de SIMTORADIN.m
ANEXO D %%VDESACRO: function F=VDESACRO(x,y) c1=2.3333; c2=5.3333; c3=2; c4=3; c5=2; alpha=1+sqrt(c1/c2); %betha=1-sqrt(c1/c2); a2=2; g=981; %cm/s2 %a1=betha*a2; Rd=95; %F=1/2*Rd*(y+alpha*x).^2-(g/a2)*((c4*sqrt(c1*c2)-(c3*c5/2))*cos(x)-(((c5*sqrt(c1*c2))/(alpha-1))+(c3*c4/(2*(alpha-1))))*cos(x+y)-(c3*c4/(2*(alpha+1)))*cos(x-y)+(c3*c5/(2*(2*alpha-1)))*cos(x+2*y)-c4*sqrt(c1*c2)+(c3*c5/2)+(c5*sqrt(c1*c2)/(alpha-1))-(c3*c4/(2*(alpha-1)))+(c3*c4/(2*(alpha+1)))-(c3*c5/(2*(2*alpha-1)))); %F=1/2*Rd*(y+alpha*x).^2+(g/a2)*((-c4*sqrt(c1*c2)-(c5/2)+c3*c4)*cos(x)+((-c3*c5/(alpha-1))+(c4/(2*(alpha-1)))+(c5*sqrt(c1*c2)/(alpha-1)))*cos(x+y)+(-c4/(2*(alpha+1)))*cos(x-y)+(c5/(2*(2*alpha-1)))*cos(x+2*y)+(c4*sqrt(c1*c2)+(c5/2)-c3*c4)+(c3*c5/(alpha-1))-(c4/(2*(alpha-1)))-((c5*sqrt(c1*c2))/(alpha-1))+(c4/(2*(alpha+1)))-(c5/(2*(2+alpha-1)))); F=1/2*Rd*(y+alpha*x).^2+(g/a2)*(((c3*c5/2)-c4*sqrt(c1*c2)).*cos(x)+((c5*sqrt(c1*c2)/(alpha-1))-(c3*c4/(2*(alpha-1)))).*cos(x+y)+(c3*c4/(2*(alpha+1))).*cos(y-x)-(c3*c5/(2*(2*alpha-1))).*cos(x+2*y)+(c3*c5/(2*(2*alpha-1))).*cos(2*y+2*alpha*x)-(((c3*c5/2)-c4*sqrt(c1*c2))+(c5*sqrt(c1*c2)/(alpha-1))-(c3*c4/(2*(alpha-1)))+(c3*c4/(2*(alpha+1)))-(c3*c5/(2*(2*alpha-1))))); %F=1/2*Rd*(y+betha*x).^2+(g/a2)*((c4*sqrt(c1*c2)-(c3*c5/2))*cos(x)+((-c5*sqrt(c1*c2)/(betha-1))+(c3*c4/(2*(betha-1))))*cos(x+y)-(c3*c4/(2*(betha+1)))*cos(x-y)-(c3*c5/(2*(2*betha-1)))*cos(x+2*y)-c4*sqrt(c1*c2)+(c3*c5/2)+(c5*sqrt(c1*c2)/(betha-1))-(c3*c4/(2*(betha-1)))+(c3*c4/(2*(betha+1)))-(c3*c5/(2*(2*betha-1))));
%%SIMVDESACRO: clear all %Vd=1/2*Rd*(y+alpha*x).^2+(g/a2)*((-sqrt(c1*c2)+(c3*c5/2)*cos(x)+(1/alpha-1)*c5*sqrt(c1*c2)-c3*c4/2*(alpha-1))*cos(x+y)+(1/2*(alpha+1))*c3*c4*cos(x-y)-(c3*c5/2*(2*alpha-1))*cos(x+2*y)-(-c4*sqrt(c1*c2)+(c3*c5/2)+(c5/alpha-1)*sqrt(c1*c2)-(c3*c4/2*(alpha-1))+(c3*c4/2*(alpha+1))-(c3*c5/2*(2+alpha-1)))); while menu ~= 10 menu=0; [x,y]=meshgrid(-2:.2:2,-2:.2:2); z=VDESACRO(x,y); disp(' (1) grafica la función') disp(' (2) grafica las curvas de nivel de la función') disp(' (3) dibuja los gradientes en el gráfico de curvas de nivel de la función') disp(' (4) determina si la función es cóncava o convexa') disp(' (5) Puntos críticos de la función') disp(' (6) Hessiano y Gradiente')
disp(' (10) Salir del Programa') menu=input('elija la opcion a estudiar: '); switch menu case 1 mesh(x,y,z) case 2 contour(x,y,z) case 3 [x,y]=meshgrid(-2:.2:2,-2:.2:2); z=VDESACRO(x,y); contour(x,y,z) hold on [px,py]=gradient(z); quiver(x,y,px,py) case 4 clear all syms x y z=VDESACRO(x,y); a=input('Ingrese x: '); b=input('Ingrese y: '); d1=diff(z,'x',2); d2=diff(z,'x','y'); d3=diff(z,'x','y'); d4=diff(z,'y',2); a11=subs(d1,{x,y},{a,b}); a12=subs(d2,{x,y},{a,b}); a21=subs(d3,{x,y},{a,b}); a22=subs(d4,{x,y},{a,b}); hess=[a11,a12;a21,a22]; valores_propios=eig(hess) c1=0; c2=0; for i = 1:length(valores_propios) if (valores_propios(i)>=0) c1=c1+1; else c2=c2+1; end end if (c1==1)&(c2==1) fprintf ('La función es indefinida'); end if (c1==2)&(c2==0) fprintf ('Existe un mínimo y la función es convexa '); end if (c1==0)&(c2==2) fprintf ('Existe un máximo y la función es cóncava'); end pause case 5 clear all syms x y z=VDESACRO(x,y); disp('Puntos Críticos de la Función:') [x,y] = solve(diff(z,'x'),diff(z,'y')) case 6 clear all syms x y
z=VDESACRO(x,y); m=input('Ingrese x: '); n=input('Ingrese y: '); disp('Gradiente y Hessiano la Función:') d1=diff(z,'x',2); d2=diff(z,'x','y'); d3=diff(z,'x','y'); d4=diff(z,'y',2); d5=diff(z,'x'); d6=diff(z,'y'); a1=subs(d5,{x,y},{m,n}); a2=subs(d6,{x,y},{m,n}); a11=subs(d1,{x,y},{m,n}); a12=subs(d2,{x,y},{m,n}); a21=subs(d3,{x,y},{m,n}); a22=subs(d4,{x,y},{m,n}); grad=[a1,a2] hess=[a11,a12;a21,a22] pause end end
ANEXO E %%ACROLAZ: function xdot=ACROLAZ(t,x) %%ACROLAZ.m %%Control del Sistema ACROBOT Lazo Cerrado %%% %%Parámetros del sistema c1=2.3333; c2=5.3333; c3=2; c4=3; c5=2; alpha=1+sqrt(c1/c2); beta=1-sqrt(c1/c2); a2=1; a1=beta*a2; %a3 PUEDE SER MAYOR QUE 3. a3=10; A=((c3*c5)/2)-c4*sqrt(c1*c2); B=((c5*sqrt(c1*c2))/(alpha-1))-(c3*c4/(2*(alpha-1))); C=(c3*c4/(2*(alpha+1))); D=-(c3*c5/(2*(2*alpha-1))); E=-(A+B+C+D); %%Parámetros de Diseño kv=10;%PUEDE VARIAR. Rd=10;%Puede ser mayor de 65. %%Otros Parámetros que no influyen %g=32.2;%pie/seg^2. %g=981;%cm/seg^2. g=981; %m/seg^2. delta1 =c2*c1-c3*c3*(cos(x(2))).*cos(x(2)); delta2= a2*(beta*a3-a2); %%Ley de control u=-(1/delta1).*((a2*c2+a3*(-c2+c3*cos(x(2)))).*(Rd*alpha*(x(2)+alpha*x(1))+(g/a2)*(-A*sin(x(1))-B*sin(x(1)+x(2))-C*sin(x(1)-x(2))))+(a2*(-c2+c3*cos(x(2)))+a3*(c1+c2+2*c3*cos(x(2))))*(Rd*(x(2)+alpha*x(1))+(g/a2)*(-B*sin(x(1)+x(2))+C*sin(x(1)-x(2))-2*D*sin(x(1)+2*x(2)))))+(-1/2*delta1)*(2*c3*x(3).*x(4).*sin(x(2))+2*c3*x(4).*x(4).*sin(x(2)))-(c3*c3*(cos(x(2))).*sin(x(2))/(delta1.*delta1)).*(c2*x(3).*x(3)-2*x(3).*x(4)+2*x(3).*x(4).*cos(x(2))+c1*x(4).*x(4)+c2*x(4).*x(4)+2*x(4).*x(4).*cos(x(2)))-g*(c5*sin(x(1)+x(2)))-(kv/delta2)*(-a2*x(3)+beta*a2*x(4))-30*x(3)-30*x(4); %%Ecuaciones de estado xdot=[(1/delta1)*(c2*x(3)+(-c2+c3*cos(x(2))).*x(4)); (1/delta1)*((-c2+c3*cos(x(2))).*x(3)+(c1+c2+2*c3*cos(x(2))).*x(4)); (-g*(-c4*sin(x(1))-c5*sin(x(1)+x(2)))); (-(-1/2*delta1)*(2*x(3).*x(4)*c3*sin(x(2))+2*x(4).*x(4)*c3*sin(x(2)))-(c3*c3*(cos(x(2))).*sin(x(2))/(delta1.*delta1))*(c2*x(3).*x(3)-
2*x(3).*x(4)+2*x(3).*x(4).*cos(x(2))+c1*x(4).*x(4)+c2*x(4).*x(4)+2*x(4).*x(4).*cos(x(2)))-g*(c5*sin(x(1)+x(2))))+u]; %%Fin de ACROLAZ.m %SIMACROLAZ.m %%SIMACROLAZ: %Programa de generación de los gráficos ACROLAZ.m %Tiempo de simulación ti=0; tf=150; %%Condiciones Iniciales: x0=[pi/2 pi/3 1 1]'; %%Simulación: [t,x]=ode45('ACROLAZ',[ti tf],x0); %%Posición Angular Brazo 1 (x(1)) subplot(3,2,1),plot(t,x(:,1),'c') title('Posición Angular Brazo 1') xlabel('tiempo t') ylabel('q1') %%Posición Angular Brazo 2 (x(2)) subplot(3,2,2),plot(t,x(:,2),'b') title('Posición Angular Brazo 2') xlabel('tiempo t') ylabel('q2') %%Velocidad Angular del Brazo 1 (x(3)) subplot(3,2,3),plot(t,x(:,3),'r') title('Velocidad Angular del Brazo 1') xlabel('tiempo t') ylabel('p1') %%Velocidad Angular del Brazo 2 (x(4)) subplot(3,2,4),plot(t,x(:,4),'g') title('Velocidad Angular del Brazo 2') xlabel('tiempo t') ylabel('p2') %%Parámetros del sistema c1=2.3333; c2=5.3333; c3=2; c4=3; c5=2; alpha=1+sqrt(c1/c2); beta=1-sqrt(c1/c2); a2=1; a1=beta*a2; %a3 PUEDE SER MAYOR QUE 3.
a3=10; A=((c3*c5)/2)-c4*sqrt(c1*c2); B=((c5*sqrt(c1*c2))/(alpha-1))-(c3*c4/(2*(alpha-1))); C=(c3*c4/(2*(alpha+1))); D=-(c3*c5/(2*(2*alpha-1))); E=-(A+B+C+D); %%Parámetros de Diseño kv=10;%PUEDE VARIAR. Rd=10;%Puede ser mayor de 65. %%Otros Parámetros que no influyen %g=32.2;%pie/seg^2. %g=981;%cm/seg^2. g=981; %m/seg^2. delta1 =c2*c1-c3*c3*(cos(x(2))).*cos(x(2)); delta2= a2*(beta*a3-a2); %%Ley de control u=-(1/delta1).*((a2*c2+a3*(-c2+c3*cos(x(:,2)))).*(Rd*alpha*(x(:,2)+alpha*x(:,1))+(g/a2)*(-A*sin(x(:,1))-B*sin(x(:,1)+x(:,2))-C*sin(x(:,1)-x(:,2))))+(a2*(-c2+c3*cos(x(:,2)))+a3*(c1+c2+2*c3*cos(x(:,2)))).*(Rd*(x(:,2)+alpha*x(:,1))+(g/a2)*(-B*sin(x(:,1)+x(:,2))+C*sin(x(:,1)-x(:,2))-2*D*sin(x(:,1)+2*x(:,2)))))+(-1/2*delta1).*(2*c3*x(:,3).*x(:,4).*sin(x(:,2))+2*c3*x(:,4).*x(:,4).*sin(x(:,2)))-(c3*c3*(cos(x(:,2))).*sin(x(:,2))/(delta1.*delta1)).*(c2*x(:,3).*x(:,3)-2*x(:,3).*x(:,4)+2*x(:,3).*x(:,4).*cos(x(:,2))+c1*x(:,4).*x(:,4)+c2*x(:,4).*x(:,4)+2*x(:,4).*x(:,4).*cos(x(:,2)))-g*(c5*sin(x(:,1)+x(:,2)))-(kv/delta2)*(-a2*x(:,3)+beta*a2*x(:,4))-30*x(:,3)-30*x(:,4); %%Control (u) subplot(3,2,5),plot(t,u,'k') title('Variable de Control') xlabel('tiempo t') ylabel('u') %%Todas las Variables subplot(3,2,6),plot(t,x) title('Variables') xlabel('tiempo t') ylabel('q1,q2,p1,p2') pause figure %%Plano de Fase subplot(2,2,1),plot(x(:,1),x(:,2)) title('Plano de Fase') xlabel('q1') ylabel('q2') %%Plano de Fase subplot(2,2,2),plot(x(:,3),x(:,4)) title('Plano de Fase') xlabel('p1') ylabel('p2') %%Plano de Fase subplot(2,2,3),plot(x(:,1),x(:,3))
title('Plano de Fase') xlabel('q1') ylabel('p1') %%Plano de Fase subplot(2,2,4),plot(x(:,2),x(:,4)) title('Plano de Fase') xlabel('q2') ylabel('p2') %Fin de SIMACROLAZ.m
ANEXO F %%ACRODIN: function xdot=ACRODIN(t,x) %%ACRODIN.m %%Control del Sistema ACROBOT Dinámica Objetivo %%% %%Parámetros del sistema c1=2.3333; c2=5.3333; c3=2; c4=3; c5=2; alpha=1+sqrt(c1/c2); beta=1-sqrt(c1/c2); a2=1; a1=beta*a2; %a3 PUEDE SER MAYOR QUE 3. a3=4; A=((c3*c5)/2)-c4*sqrt(c1*c2); B=((c5*sqrt(c1*c2))/(alpha-1))-(c3*c4/(2*(alpha-1))); C=(c3*c4/(2*(alpha+1))); D=-(c3*c5/(2*(2*alpha-1))); E=-(A+B+C+D); %%Parámetros de Diseño kv=100;%PUEDE VARIAR. Rd=100;%Puede ser mayor de 65. %%Otros Parámetros que no influyen %g=32.2;%pie/seg^2. %g=9.81;%cm/seg^2. g=981; %m/seg^2. delta1 =c2*c1-c3*c3*(cos(x(2))).*cos(x(2)); delta2= a2*(beta*a3-a2); %%Ecuaciones de estado xdot=[(1/delta1)*(c2*x(3)+(-c2+c3*cos(x(2))).*x(4)); (1/delta1)*((-c2+c3*cos(x(2))).*x(3)+(c1+c2+2*c3*cos(x(2))).*x(4)); ((-beta*a2*c2-a2*(-c2+c3*cos(x(2))))/(delta1))*(Rd*alpha*(x(2)+alpha*x(1))+(g/a2)*(-A*sin(x(1))-B*sin(x(1)+x(2))-C*sin(x(1)-x(2))))+((-beta*a2*(-c2+c3*cos(x(2)))-a2*(c1+c2+2*c3*cos(x(2))))/(delta1))*(Rd*(x(2)+alpha*x(1))+(g/a2)*(-B*sin(x(1)+x(2))+C*sin(x(1)-x(2))-2*D*sin(x(1)+2*x(2)))); ((-a2*c2-a3*(-c2+c3*cos(x(2))))/(delta1))*(Rd*alpha*(x(2)+alpha*x(1))+(g/a2)*(-A*sin(x(1))-B*sin(x(1)+x(2))-C*sin(x(1)-x(2))))+((-a2*(-c2+c3*cos(x(2)))-a3*(c1+c2+2*c3*cos(x(2))))/(delta1))*(Rd*(x(2)+alpha*x(1))+(g/a2)*(-B*sin(x(1)+x(2))+C*sin(x(1)-x(2))-2*D*sin(x(1)+2*x(2))))+((kv*a2*x(3)-kv*beta*a2*x(4))/(delta2))]; %%Fin de ACRODIN.m
%%SIMACRODIN: %SIMACRODIN.m %Programa de generación de los gráficos ACRODIN.m %Tiempo de simulación ti=0; tf=10; %%Condiciones Iniciales: x0=[pi/2 pi/3 1 1]'; %%Simulación: [t,x]=ode45('ACRODIN',[ti tf],x0); %%Posición Angular Brazo 1 (x(1)) subplot(3,2,1),plot(t,x(:,1),'c') title('Posición Angular Brazo 1') xlabel('tiempo t') ylabel('q1') %%Posición Angular Brazo 2 (x(2)) subplot(3,2,2),plot(t,x(:,2),'b') title('Posición Angular Brazo 2') xlabel('tiempo t') ylabel('q2') %%Velocidad Angular del Brazo 1 (x(3)) subplot(3,2,3),plot(t,x(:,3),'r') title('Velocidad Angular del Brazo 1') xlabel('tiempo t') ylabel('p1') %%Velocidad Angular del Brazo 2 (x(4)) subplot(3,2,4),plot(t,x(:,4),'g') title('Velocidad Angular del Brazo 2') xlabel('tiempo t') ylabel('p2') %%Todas las Variables subplot(3,2,[5,6]),plot(t,x) title('Variables') xlabel('tiempo t') ylabel('q1,q2,p1,p2') pause figure %%Plano de Fase subplot(2,2,1),plot(x(:,1),x(:,2)) title('Plano de Fase') xlabel('q1') ylabel('q2') %%Plano de Fase subplot(2,2,2),plot(x(:,3),x(:,4))
title('Plano de Fase') xlabel('p1') ylabel('p2') %%Plano de Fase subplot(2,2,3),plot(x(:,1),x(:,3)) title('Plano de Fase') xlabel('q1') ylabel('p1') %%Plano de Fase subplot(2,2,4),plot(x(:,2),x(:,4)) title('Plano de Fase') xlabel('q2') ylabel('p2') %Fin de SIMACRODIN.m