posgrado.lapaz.tecnm.mxposgrado.lapaz.tecnm.mx/uploads/archivos/moyróndurán.pdf, educacion &...
TRANSCRIPT
INSTITUTO TECNOLOGICO DE LA PAZDIVISION DE ESTUDIOS DE POSGRADO E INVESTIGACION
MAESTRIA EN SISTEMAS COMPUTACIONALES
SOBRE EL CONTROL POR MOLDEO DE ENERGIA
APLICADO A SISTEMAS MECANICOS
QUE PARA OBTENER EL GRADO DE
MAESTRO EN SISTEMAS COMPUTACIONALES
PRESENTA:
Ing. JERONIMO MOYRON DURAN
DIRECTOR DE TESIS:
Dr. JESUS ALBERTO SANDOVAL GALARZA
LA PAZ, BAJA CALIFORNIA SUR, MEXICO, AGOSTO 2019.
,EDUCACION
& *^'ff§lllo'u§*o''*'
ln:l!tut* t*e nr:lr*-r¡!c* r-ip i-"J t-i.12
La Paz, e.C.S.,![@@
CARTA CESION DE DERECHOS
La presente se extiende en la Cíudad de La Paz, B.C.S. El día Z del mes de agosto del
año 2019, el (la) que suscribe ferónimo Moyrón Durán, estudiante del Programa de
Maestría en sisternas computacionales con número de control M173lo0o2, manifiesta
que es autor a intelectual del presente trabajo de Tesis bajo la direccién del Dr" lesúsAlberto Sandoval Calarza y cede los derechos del trabajo intitulado Sobre el controlpor moldeo de energía aplicado a sistemas mecánicos, en forma NO EXCLUSIVA, al
Tecnológíco Nacional de México/lnstituto Tecnológico de la Paz para su reproducción
total o parcial en cualquier medio con fines acadérnicos, científicos y culturales, así
como para su publicación electrónica deltexto completo para difusión y consulta.
Los usuarios de Ia información no deben reproducir el contenido textual, gráficas o
datos del trabajo sin el permiso expreso del autor ylo director deltrabajo. Este puede
ser obtenido escribiendo a la siguiente dirección [email protected]. 5i el
permiso se otorga, el usuario deberá dar el agradecimiento correspondiente y citar la
fuente del mísmo-
-q'---t!'Jr"""¡'"i'L - "-
i4' -ii. <,.*t:**Hffilli
Biv. Forjadores de B.C.S. #,.72C. Col. E cie üct., lera Sección C.p. 2308ü
Lá Paz, R.C.S Tel. ü1 612) 121-A4-24
www.tecnm.mx i U¡t¡¡¡JeeaZ¡egfE ¡OX
ffiffiffi
Agradecimientos
A mi asesor: Dr. Jesus Alberto Sandoval Galarza por sus consejos, guıa y ensenanzas.
A mi comite tutorial: Dr. Israel Marcos Santillan Mendez y MSC. Joel Artemio Morales
Viscaya por su valiosa contribucion al desarrollo, revision y conclusion de este trabajo.
Al Consejo Nacional de Ciencia y Tecnologıa (Conacyt) por la beca otorgada para la reali-
zacion de mis estudios de posgrado.
i
Resumen
En esta tesis se aborda el control por moldeo de energıa para resolver dos problemas de
control para una clase de sistemas mecanicos subactuados: oscilaciones controladas y regulacion
de velocidad constante. Simulaciones numericas fueron hechas para ilustrar el desempeno de
cada uno de los controladores propuestos en dos populares sistemas mecanicos subactuados,
usados ampliamente en laboratorios de control automatico alrededor del mundo: el pendulo con
rueda inercial y el sistema carro-pendulo. Adicionalmente, se llevaron a cabo experimentos con
un sistema carro-pendulo para implementar el controlador de regulacion de velocidad constante,
logrando resultados satisfactorios.
ii
Abstract
In this thesis the energy shaping control is addressed to solve two control problems for a
class of underactuated mechanical systems: controlled oscillations and constant speed tracking.
Numerical simulations were made to illustrate the performance of each of the proposed con-
trollers in two popular underactuated mechanical systems, widely used in automatic control
laboratories around the world: the inertial wheeled pendulum and cart-pole system. Additio-
nally, experiments were carried out with a cart-pole system to implement the constant speed
tracking controller, achieving satisfactory results.
iii
Indice general
1. Introduccion 1
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Descripcion del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6. Limitaciones y alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Marco teorico 5
2.1. Control por moldeo de energıa: oscilaciones con amplitud y frecuencia controladas
y regulacion de velocidad constante . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Ecuaciones de movimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1. Pendulo con rueda inercial . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2. Sistema carro-pendulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3. Control de oscilaciones para una clase de sistemas mecanicos subactuados 12
3.1. Formulacion del problema de control . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2. Solucion al problema de control . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.1. Control por moldeo de energıa ues . . . . . . . . . . . . . . . . . . . . . . 14
3.2.2. Control por gradiente de velocidad usg . . . . . . . . . . . . . . . . . . . 16
3.3. Analisis de estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4. Pendulo con rueda inercial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
iv
INDICE GENERAL v
3.4.1. Objetivo de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4.2. Diseno de la ley de control . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.3. Analisis de estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.4. Control de oscilaciones con amplitud y frecuencia controladas . . . . . . 24
3.4.5. Simulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.6. Compensador de friccion dinamica . . . . . . . . . . . . . . . . . . . . . 28
3.5. Sistema carro-pendulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5.1. Objetivo de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5.2. Diseno del controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5.3. Analisis de estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5.4. Control de oscilaciones con amplitud y frecuencia controladas . . . . . . 38
3.5.5. Simulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4. Regulacion de velocidad constante 42
4.1. Clase de sistemas mecanicos subactuados para regulacion de velocidad constante 42
4.2. Control PID basado en pasividad . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2.1. Regulacion de velocidad de una clase de sistemas mecanicos subactuados 43
4.2.2. Regulador de velocidad para un pendulo con rueda inercial sin friccion . 49
4.2.3. Simulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3. IDA-PBC para regulacion de velocidad constante . . . . . . . . . . . . . . . . . 53
4.3.1. Objetivo de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.2. Ley de control y matching equations . . . . . . . . . . . . . . . . . . . . 54
4.3.3. Caso de estudio: sistema carro-pendulo . . . . . . . . . . . . . . . . . . . 55
5. Conclusiones y trabajo futuro 65
5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
A. Codigo fuente 67
B. Diagramas 106
Bibliografıa 109
Indice de figuras
2.1. Pendulo con rueda inercial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Sistema carro-pendulo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1. Simulacion del pendulo con rueda inercial aplicando el controlador de oscilaciones
(3.71). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2. Simulacion del control de oscilaciones (3.96) aplicado al pendulo con rueda inercial
(3.94) sin compensar friccion dinamica en la coordenada actuada, esto es, fv =
σ0 = 0 en (3.96). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3. Simulacion del control de oscilaciones (3.96) aplicado al pendulo con rueda inercial
(3.94) compensando friccion dinamica en la coordenada actuada (la rueda). . . . 33
3.4. Simulacion del sistema carro-pendulo con el control de oscilaciones aplicando la
ley de control F de (2.16) en (2.14), con u definida en (3.130). . . . . . . . . . . 41
4.1. Pendulo con rueda inercial (nueva definicion de coordenadas). . . . . . . . . . . 49
4.2. Simulacion del sistema pendulo con rueda inercial usando el control PID basado
en pasividad (4.38), para la regulacion de velocidad constante. . . . . . . . . . . 52
4.3. Simulacion del regulador de velocidad (4.74) en el modelo (2.27) del sistema
carro-pendulo para funciones rampa f(t) = ct, con c = 0.05. . . . . . . . . . . . 59
4.4. Diagrama de bloques del experimento de regulacion de velocidad constante para
el sistema carro-pendulo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.5. Plataforma experimental sistema carro-pendulo (Ver: Velazquez, 2019). . . . . . 62
4.6. Resultados experimentales del regulador de velocidad (4.74), implementado en el
prototipo del sistema carro-pendulo para funciones rampa f(t) = ct, con c = 0.05.
El voltaje aplicado es el calculado en (4.83). . . . . . . . . . . . . . . . . . . . . 63
vi
INDICE DE FIGURAS vii
4.7. Resultados experimentales del regulador de velocidad (4.74) en el prototipo del
sistema carro-pendulo para un tren de escalones, donde f(t) = ct, con c = 0. . . 64
B.1. Digrama de Simulink/Quarc para la implementacion del regulador de velocidad
(4.74) en el sistema carro-pendulo. El voltaje aplicado se calcula segun (4.83). . 107
B.2. Detalle del bloque Ley de control del diagrama de Simulink. . . . . . . . . . . . 108
Indice de tablas
2.1. Descripcion de los parametros del sistema pendulo con rueda inercial. . . . . . . 7
2.2. Descripcion de los parametros del sistema carro-pendulo. . . . . . . . . . . . . . 10
3.1. Valores numericos de los parametros del pendulo con rueda inercial. . . . . . . . 26
3.2. Ganancias del controlador de oscilaciones (3.71) aplicado al pendulo con rueda
inercial sin friccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3. Ganancias del controlador de oscilaciones con compensador de friccion dinamica
aplicado al pendulo con rueda inercial. . . . . . . . . . . . . . . . . . . . . . . . 31
3.4. Valores numericos de los parametros de friccion del pendulo con rueda inercial. . 31
3.5. Valores numericos de los parametros del sistema carro-pendulo. . . . . . . . . . . 40
3.6. Ganancias del controlador de oscilaciones, aplicado al sistema carro-pendulo sin
friccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.1. Ganancias del controlador PID basado en pasividad aplicado al sistema pendulo
con rueda inercial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2. Ganancias del controlador de regulacion de velocidad aplicado al carro-pendulo. 59
4.3. Parametros del motor y de friccion del sistema carro-pendulo. . . . . . . . . . . 62
viii
Capıtulo 1
Introduccion
Este trabajo de investigacion estudia el paradigma de control por moldeo de energıa y su
aplicacion a una clase de sistemas mecanicos subactuados, con la finalidad de desarrollar exten-
siones que permitan abordar problemas distintos al de regulacion de posicion. Una definicion
simple de un sistema mecanico subactuado es la de aquella maquina, vehıculo o mecanismo
que cuenta con menos actuadores que grados de libertad [1]. El sistema mecanico puede ser
subactuado de manera deliberada desde su fase de diseno, o fortuito despues de presentar una
falla en alguno de sus actuadores.
Desde hace unas decadas ha crecido el interes por parte de la comunidad academica de
control automatico, hacia los sistemas mecanicos subactuados usando teorıa de control no lineal.
Un punto a tomar en consideracion respecto al control no lineal es la complejidad matematica
inherente en su formulacion. En el campo de la ingenierıa, de los metodos de diseno que contiene
la teorıa de control no lineal para sistemas mecanicos subactuados, son especialmente atractivos
para su estudio y desarrollo, aquellos que no exigen al ingeniero una base matematica tan amplia
y solida como aquella con la que cuenta un matematico. En este sentido el paradigma de control
por moldeo de energıa es de facil entendimiento para el ingeniero, ya que usa ideas con las cuales
esta familiarizado.
Por este motivo, el paradigma de control por moldeo de energıa se sigue investigando y
desarrollando. La finalidad del presente trabajo de investigacion es aportar nuevos resultados
sobre el control por moldeo de energıa aplicado a sistemas mecanicos subactuados. Los aportes
conseguidos, tal y como se muestra en el desarrollo de la tesis, apuntan en dos direcciones: el
control de oscilaciones y la regulacion de velocidad constante, mostrando la aplicacion de los
1
1.1. ANTECEDENTES 2
metodos propuestos en los sistemas carro-pendulo y pendulo con rueda inercial.
1.1. Antecedentes
El paradigma de control por moldeo de energıa abarca un conjunto de algoritmos de control
automatico que se destacan por usar conceptos relacionados con la fısica del sistema mecanico a
controlar. Una caracterıstica importante es que el diseno del controlador se basa en una funcion
escalar referida como funcion de energıa, la cual es empleada en el analisis de estabilidad basado
en la teorıa de Lyapunov (vea [2] para una referencia a esta teorıa).
El control por moldeo de energıa puede ser visto como una extension del control basado en
pasividad (PBC, por sus siglas en ingles), que se basa en la conservacion de la energıa entre la
planta y el controlador. Se pueden encontrar resultados en [3] para el control por interconexion y
asignacion de amortiguamiento (IDA, por sus siglas en ingles) y en [1] para el metodo lagrangiano
controlado.
Existen trabajos que buscan extender el dominio de aplicacion del control por moldeo de
energıa incluyendo fenomenos fısicos que no estan contemplados en la formulacion original, e.g.
fuerzas de friccion, o bien resolviendo problemas distintos al de regulacion. Resultados sobre
el efecto de la friccion en el IDA-PBC pueden consultarse en [4] y tecnicas de compensacion
de friccion dinamica en [5, 6]. Por otro lado, metodos para regular la velocidad en sistemas
mecanicos subactuados pueden consultarse en [7–10].
Una alternativa interesante para formular problemas de control en sistemas mecanicos subac-
tuados es por medio de funciones de energıa. Ejemplos del control usando el concepto de energıa
son [11–13] los cuales resuelven problemas de control de oscilaciones en sistemas mecanicos
subactuados. La aportacion de estos metodos reside en el uso explıcito de la funcion de energıa
total del sistema mecanico en el diseno del controlador. Una ventaja de esta clase de controla-
dores es el uso eficiente de la energıa; una desventaja es que ofrecen nula flexibilidad en control
de la frecuencia de la oscilacion, permitiendo controlar solo la amplitud de la misma.
1.2. DESCRIPCION DEL PROBLEMA 3
1.2. Descripcion del problema
En el campo de la ingenierıa, existen pocos esquemas de control basados en conceptos de
energıa, aplicados a objetivos de control que sean diferentes al objetivo de regulacion de sistemas
mecanicos subactuados.
1.3. Hipotesis
Basado en el paradigma de control por moldeo de energıa, es posible resolver problemas de
control distintos al problema de regulacion de posicion.
1.4. Objetivos
1.4.1. Objetivo general
Desarrollar extensiones del control por moldeo de energıa, que permitan producir oscilaciones
controladas y asegurar la regulacion de velocidad constante para una clase de sistemas mecanicos
subactuados.
1.4.2. Objetivos especıficos
Desarrollar un esquema de control para producir una oscilacion controlada en amplitud y
frecuencia, en sistemas mecanicos subactuados de dos grados de libertad cuya matriz de
inercia sea constante.
Extender el diseno de la ley de control para incluir un modelo de friccion dinamica.
Disenar y aplicar leyes de control, reportadas en la literatura, para la regulacion de velo-
cidad constante.
Validar los resultados teoricos obtenidos con simulaciones y experimentos.
1.5. JUSTIFICACION 4
1.5. Justificacion
El paradigma de control por moldeo de energıa puede encontrar potenciales aplicaciones en
sistemas roboticos subactuados, por ejemplo: robots autobalanceables, empleados en tareas de
transportacion de productos, y vehıculos moviles, para realizar tareas repetitivas.
1.6. Limitaciones y alcance
El alcance, de una parte de la teorıa desarrollada en esta tesis, se encuentra en sistemas
mecanicos subactuados de dos grados de libertad cuya matriz de inercia sea constante.
La validacion experimental de uno de los algoritmos de control propuestos se llevo a cabo
con un sistema carro-pendulo construido en el laboratorio de control de vehıculos moviles, en el
Instituto Tecnologico de La Paz.
Capıtulo 2
Marco teorico
2.1. Control por moldeo de energıa: oscilaciones con am-
plitud y frecuencia controladas y regulacion de ve-
locidad constante
El paradigma de control por moldeo de energıa potencial fue introducido por [14] para
resolver el problema de regulacion de posicion en robots manipuladores. Sin embargo, el control
por moldeo de energıa potencial esta limitado para cumplir con el control de posicion de una clase
de sistemas mecanicos subactuados. Esto ha motivado a extender este paradigma a esquemas
de control por moldeo de energıa total (potencial mas cinetica). En particular, existen dos
propuestas: el metodo IDA-PBC [3] y el metodo lagrangiano controlado [15].
Por otro lado, el metodo de gradiente de velocidad fue introducido por [11] con la finalidad
de producir oscilaciones controladas en sistemas mecanicos, esto incluye una clase de sistemas
mecanicos subactuados [13] (e.g., el pendulo de Furuta y el sistema carro-pendulo). Usualmente
este metodo es utilizado en aplicaciones donde se busca columpiar (swing-up) el pendulo del
sistema a controlar, lo que equivale a manipular parcialmente la funcion de energıa del meca-
nismo con la configuracion de equilibrio donde el pendulo esta en posicion de reposo (posicion
vertical inferior).
En esta tesis se desarrollan dos esquemas de control basados principalmente en el metodo
de diseno por moldeo de energıa total. El primer esquema combina el paradigma de moldeo de
energıa total y el metodo de gradiente de velocidad, para una clase de sistemas mecanicos
5
2.2. ECUACIONES DE MOVIMIENTO 6
subactuados del tipo pendular de dos grados de libertad y un solo actuador. El proposito
de combinar ambas metodologıas es producir una oscilacion controlada alrededor de punto
de equilibrio superior del pendulo, donde la amplitud y frecuencia de la oscilacion pueden
ser establecidas por el usuario. En particular, el control por moldeo de energıa total permite
transformar el sistema en malla abierta a uno nuevo con un equilibrio que corresponde a la
configuracion del sistema donde el pendulo esta posicion vertical superior. Posteriormente, se
aplica el metodo del gradiente de velocidad para columpiar el pendulo alrededor de este punto
de equilibrio.
El segundo esquema resuelve el problema de regulacion de velocidad constante para una
clase de sistemas mecanicos subactuados dotados con una estructura particular del sistema en
malla abierta. A diferencia de los sistemas mecanicos completamente actuados, la regulacion de
velocidad constante consiste en asegurar simultaneamente que la coordenada actuada siga una
referencia de velocidad constante deseada, mientras la configuracion de la coordenada subac-
tuada corresponde a una posicion constante. Esta segundo esquema se desarrollo siguiendo cada
una las propuestas reportadas en [7] y [8].
2.2. Ecuaciones de movimiento de los sistemas pendulo
con rueda inercial y carro-pendulo
En esta seccion se muestran las ecuaciones de movimiento de los sistemas pendulo con rueda
inercia y carro-pendulo en formulacion lagrangiana y hamiltoniana. Se describe el procedimiento
para obtener las ecuaciones, y al final de cada seccion, se especifica el modelo dinamico a usar
en el diseno de los controladores de este trabajo.
2.2.1. Pendulo con rueda inercial
El pendulo con rueda inercial, mostrado en la Figura 2.1, es un sistema mecanico subactuado
de dos grados de libertad. El actuador de este sistema se encuentra en la articulacion que une al
pendulo con el disco. Su desafıo consiste en provocar un movimiento controlado en el pendulo
incidiendo indirectamente en el a traves del disco.
2.2. ECUACIONES DE MOVIMIENTO 7
uq1
g
q2y
x
Figura 2.1: Pendulo con rueda inercial.
Con las coordenadas definidas en la figura 2.1 el lagrangiano del pendulo con rueda inercial
es
L(q, q) =1
2
[m1l
2c1 +m2l
21 + I1
]q2
1 +1
2I2 [q1 + q2]2 − [m1lc1 +m2l1] g cos(q1) (2.1)
donde la descripcion de los parametros se muestra en la tabla 2.1.
Parametro Descripcion
m1 Masa del eslabon
m2 Masa del disco
I1 Inercia del eslabon
I2 Inercia del disco
lc1 Distancia al centro de masa del eslabon
l1 Distancia del eslabon al centro de masa del disco
g Constante de aceleracion gravitacional
Tabla 2.1: Descripcion de los parametros del sistema pendulo con rueda inercial.
Las ecuaciones de movimiento en formulacion lagrangiana se consiguen al operar el lagran-
giano L(q, q) en las ecuaciones de Euler-Lagrange
d
dt
(∂L∂qi
)− ∂L∂qi
= Qi (2.2)
2.2. ECUACIONES DE MOVIMIENTO 8
donde Qi son las fuerzas y pares ejercidas externamente por actuadores1, produciendo el si-
guiente sistema de ecuaciones diferenciales:[m1l
2c1 +m2l
21 + I1 + I2
]q1 + I2q2 − [m1lc1 +m2l1]g sen(q1) = 0, (2.3)
I2q1 + I2q2 = u. (2.4)
El modelo dinamico se puede simplificar si se cumple la desigualdad I1 + I2 >> m1l2c1 +m2l
21
y definiendo a := [m1lc1 +m2l1] g, siendo esto:
[I1 + I2] q1 + I2q2 − a sen(q1) = 0, (2.5)
I2q1 + I2q2 = u. (2.6)
Una forma compacta de la matriz de inercia del modelo simplificado es
M =
I1 + I2 I2
I2 I2
(2.7)
mientras que la funcion de energıa potencial queda
V (q) = a cos(q1), (2.8)
y tomando en cuenta el lado derecho de la igualdad de (2.5) y (2.6), la matriz de entrada de
control resulta
G =
0
1
(2.9)
con rango(G) = 1.
En formulacion hamiltoniana se define el vector de momento
p = Mq, (2.10)
tal que el hamiltoniano queda expresado de la siguiente manera:
H(q, p) =1
2I1I2
[I2p
21 − 2I2p1p2 + (I1 + I2) p2
2
]+ a cos(q1) (2.11)
que coincide con la energıa total del pendulo con rueda inercial. Entonces las ecuaciones de
movimiento en formulacion hamiltoniana son
d
dt
q1
q2
p1
p2
=
p1I1− p2
I1
(I1+I2)p2I1I2
− p1I1
a sen(q1)
u
. (2.12)
1Consulte [16] para una referencia a las ecuaciones de Euler-Lagrange.
2.2. ECUACIONES DE MOVIMIENTO 9
El modelo (2.12) y su forma compacta se usara para disenar los controladores del pendulo
con rueda inercial mostrados en este trabajo.
2.2.2. Sistema carro-pendulo
El sistema carro-pendulo se muestra en la figura 2.2. Este sistema consta de un movimiento
de traslacion y otro de rotacion, ambos contenidos en el plano con la accion de control actuado
sobre el carro. A continuacion se presentan las ecuaciones de movimiento del carro-pendulo en
formulacion lagrangiana.
F
q2
g
y
q1
mp
mcx
Figura 2.2: Sistema carro-pendulo.
El lagrangiano en terminos de las coordenadas definidas en la figura 2.2 es
L(q, q) =1
2[mc +mp] q
21 +
1
2
[Jp +mpl
2p
]q2
2 +mplp cos(q2)q1q2 −mplpg cos(q2) (2.13)
donde la definicion de los parametros se muestra en la tabla 2.2.
La dinamica se obtiene al operar el lagrangiano en las ecuaciones de Euler-Lagrange (2.2)
produciendo el siguiente sistema:
[mc +mp] q1 +mplp cos(q2)q2 −mplp sen(q2)q22 + fr1(q1) = F, (2.14)
mplp cos q2q1 +[Jp +mpl
2p
]q2 −mplpg sen(q2) + fr2(q2) = 0. (2.15)
donde fr1(q1) y fr2(q2) representan fuerzas de friccion2 en el carro y-pendulo respectivamente.
2Se usaran modelos de friccion viscosa y de Coulomb para modelar las fuerzas de friccion fr1(q1) y fr2(q2).
2.2. ECUACIONES DE MOVIMIENTO 10
Parametro Descripcion
mc Masa del carro
mp Masa del pendulo
Jp Momento de inercia del pendulo desde su centro de masa
lp Longitud del pendulo
g Constante de aceleracion de la gravedad
Tabla 2.2: Descripcion de los parametros del sistema carro-pendulo.
Ya que la teorıa desarrollada en esta tesis se aplica a sistemas mecanicos con matriz de
inercia constante, se procede a linealizar parcialmente el modelo dinamico por medio de la ley
de control [17]:
F (q, q, u) =[mc − α3lpmp cos2(q2)
]u+ α1lpmp sen(q2) cos(q2)− α2lpmp cos(q2)fr2(q2)
−mplp sen(q2)q22 + fr1(q1)
(2.16)
donde las constante αi estan definidos como:
α1 =mplpg
Jp +mpl2p, (2.17)
α2 =1
Jp +mpl2p, (2.18)
α3 =mplp
Jp +mpl2p(2.19)
y u es una nueva entrada de control auxiliar.
Al aplicar la ley de control (2.16) en (2.14) y (2.15) se obtienen las siguientes ecuaciones de
movimiento
q1 = u (2.20)
q2 − α1 sen(q2) + α2fr2(q2) = −α3 cos(q2)u (2.21)
de donde se desprende que la matriz de inercia del modelo linealizado es
M =
1 0
0 1
(2.22)
con funcion de energıa potencial
V (q) = α1 cos(q2). (2.23)
2.2. ECUACIONES DE MOVIMIENTO 11
Asimismo la matriz de entrada de control resulta
G(q) =
1
−α3 cos(q2)
(2.24)
con rango(G(q)) = 1.
Con la definicion de momento
p = Mq (2.25)
y el nuevo hamiltoniano
H(q, p) =1
2
[p2
1 + p22
]+ α1 cos(q2) (2.26)
se consigue un modelo dinamico del carro pendulo en formulacion hamiltoniana despues de
aplicar linealizacion parcial por realimentacion:
d
dt
q1
q2
p1
p2
=
p1
p2
u
α1 sen(q2)− α2fr2(q2)− α3 cos(q2)u
. (2.27)
Respecto al modelo (2.27) se ha compensado la fuerza de friccion fr1(q1) en la coordenada
actuada. Ademas, en el diseno de los controladores reportados en este trabajo, se asumira que
fr2(q2) = 0.
Capıtulo 3
Control de oscilaciones para una clase
de sistemas mecanicos subactuados
En este capıtulo se presenta un esquema de control que tiene como objetivo producir os-
cilaciones controladas en sistemas mecanicos subactuados con matriz de inercia constante que
cuenten con variables cıclicas (e.g. el pendulo con rueda inercial y sistema carro-pendulo). El
diseno del controlador se divide en dos etapas: un control por moldeo de energıa mas un control
por metodo de gradiente de velocidad [11].
3.1. Formulacion del problema de control
Se define una clase de sistemas mecanicos subactuados de dos grados de libertad cuya matriz
de inercia sea constante1, donde las ecuaciones de movimiento cuentan con una estructura
matematica tipo hamiltoniana:
d
dt
qp
=
0 I
−I 0
∇qH
∇pH
+
0
G(q)
u (3.1)
donde q, p ∈ IR2 son los vectores de coordenadas y momento, u ∈ IR es la accion de control,
M = M> > 0 es la matriz de inercia (constante), V (q) es la funcion de energıa potencial y G ∈
IR2 es la matriz de entrada de control con rango(G) = 1, y con un hamiltoniano H : IR4 → IR
1Esta clase contiene al pendulo con rueda inercial y al sistema carro-pendulo. Esto ultimo despues de aplicar
linealizacion parcial por realimentacion.
12
3.2. SOLUCION AL PROBLEMA DE CONTROL 13
dado por
H(q, p) =1
2p>M−1p+ V (q). (3.2)
El sistema mecanico tiene variables cıclicas al ser la funcion de energıa potencial dependiente
solo de una de las coordenadas qj,
V = V (qj). (3.3)
Ahora, respecto a la clase de sistemas mecanicos subactuados en (3.1) del tipo pendular de
dos grados de libertad, el problema de control consiste en producir una oscilacion controlada
del pendulo en cada uno de los sistemas alrededor de su posicion vertical superior.
Con respecto al modelo (3.1), suponiendo que se conocen los parametros del sistema y que
los estados son medibles, se busca disenar una ley de control u tal que al sustituir en (3.1) se
obtenga la malla cerradaq˙p
=
M−1d p
−∇qHd − kMdM−1G
[γ1 [Hd(q, p)−H∗d ]∇>pHdMdM
−1G+ γ2pi[MdM−1G](i)
] (3.4)
tal que cumpla con el objetivo de control
lımt→∞
Hd(q(t), p(t)) = H∗d & lımt→∞
pi(t) = 0 (3.5)
o bien
lımt→∞
Hd(q(t), p(t))
∣∣∣∣pi=0
= H∗d , (3.6)
donde H∗d ≥ 0 es una constante, k es una ganancia del controlador y pi es el momento asociado
a la coordenada qi de la cual Hd(q, p) es independiente.
3.2. Solucion al problema de control
Para obtener la malla cerrada (3.4) la ley de control u se expresa como la suma u = ues+usg,
donde ues es la parte de moldeo de energıa (energy shaping) y usg es la parte del gradiente de
velocidad (speed gradient). El diseno del controlador se divide en dos etapas:
1) Disenar ues tal que al sustituir u = ues + usg en (3.1) se obtenga (3.7):
d
dt
qp
=
0 I
−I 0
∇qHd
∇pHd
+
0
MdM−1G(q)
usg (3.7)
3.2. SOLUCION AL PROBLEMA DE CONTROL 14
con una funcion escalar Hd : X ⊆ IR4 → IR dado por:
Hd(q, p) =1
2p>M−1
d p+ Vd(q), (3.8)
con Md como una matriz constante y Vd dependiente de una coordenada qj (del pendulo),
Vd = Vd(qj), (3.9)
donde p ∈ IR2, usg ∈ IR es la accion de control por gradiente de velocidad, Md = M>d > 0 es
una matriz constante y Vd : IR2 → IR al menos una vez diferenciable.
2) Disenar usg tal que al sustituirse en (3.7) se satisfaga (3.4).
3.2.1. Control por moldeo de energıa ues
La primera etapa consiste en el diseno de ues la cual se obtiene como se muestra a continua-
cion.
Primero iguale q de (3.1) con (3.7), de lo cual se desprende
∇pH = ∇pHd
y en virtud de (3.2) y (3.8) lo anterior resulta en
M−1p = M−1d p,
lo que define una transformacion lineal entre p y p (al ser M y Md constantes) dada por
p = MM−1d p. (3.10)
Desarrollando la derivada respecto al tiempo de (3.10) obtenemos:
p = MM−1d
˙p (3.11)
y al sustituir p de (3.1) y ˙p de (3.7) en (3.11) se consigue
G(q)u−∇qH = MM−1d
[MdM
−1G(q)usg −∇qHd
]o bien
G(q)u−∇qH = G(q)usg −MM−1d ∇qHd. (3.12)
3.2. SOLUCION AL PROBLEMA DE CONTROL 15
Sustituyendo u = ues + usg en (3.12) y despejando para G(q)ues se consigue la ecuacion
(3.13):
G(q)ues = ∇qH −MM−1d ∇qHd. (3.13)
Como las plantas consideradas en este trabajo corresponden a sistemas mecanicos subactua-
dos de dos grados de libertad (rango(G) < 2), esto es, G(q) no es invertible. Multiplicando a
(3.13) en ambos lados por la izquierda por la matriz de rango plenoG>(q)
G⊥(q)
(3.14)
donde G⊥(q) es el aniquilador por la izquierda de G(q) tal que G⊥(q)G(q) = 0, se separa la
ecuacion (3.13) en sus componentes actuado y subactuado:
G>(q)G(q)ues = G>(q)[∇qH −MM−1
d ∇qHd
], (3.15)
G⊥(q)G(q)ues = G⊥(q)[∇qH −MM−1
d ∇qHd
]. (3.16)
La ley de control por moldeo de energıa se despeja de la ecuacion (3.15):
ues =[G>(q)G(q)
]−1G>(q)
[∇qH −MM−1
d ∇qHd
]. (3.17)
Por otra parte de (3.16) se obtiene la ecuacion diferencial parcial
G⊥(q)[∇qH −MM−1
d ∇qHd
]= 0 (3.18)
al ser G⊥(q)G(q) = 0.
Finalmente, ya que tanto M como Md son matrices constantes resulta evidente que
∇qH = ∇qV, (3.19)
∇qHd = ∇qVd, (3.20)
y por lo tanto la ecuacion diferencial parcial (3.18) se reescribe como
G⊥(q)MM−1d ∇qVd = G⊥(q)∇qV, (3.21)
mientras que la ley de control (3.17) resulta
ues =[G>(q)G(q)
]−1G>(q)
[∇qV −MM−1
d ∇qVd]. (3.22)
3.2. SOLUCION AL PROBLEMA DE CONTROL 16
El moldeo de energıa presentado, busca obtener de una manera sencilla constantes de mo-
vimiento en (3.7), que puedan ser usadas durante el diseno del controlador por el metodo de
gradiente de velocidad. Esto se logra haciendo que Vd sea independiente de la coordenada ac-
tuada qi.
Lo anterior implica que en (3.7) se tiene que
˙pi = [MdM−1G(q)](i)usg (3.23)
donde [MdM−1G(q)](i) es el i-esimo componente del vector MdM
−1G(q). Por lo tanto pi sera
una constante de movimiento si usg = 0. Esta condicion, de suma importancia, permite aplicar
el metodo de gradiente de velocidad usando a pi durante el diseno de la ley de control usg.
3.2.2. Control por gradiente de velocidad usg
El controlador por metodo de gradiente de velocidad usg se disena a partir de (3.7) buscando
llevar a las trayectorias del sistema en malla cerrada hacia una curva de nivel de la funcion Hd.
La derivada temporal de Hd a lo largo de las trayectorias de (3.7) es
Hd = ∇>pHdMdM−1G(q)usg, (3.24)
lo cual sera util para el diseno de usg que cumpla con el objetivo de control (3.5).
Se propone como funcion de Lyapunov (ver [11,13,18]) a
Q(q, p) =γ1
2[Hd(q, p)−H∗d ]2 +
γ2
2p2i (3.25)
donde γ1 y γ2 son constantes positivas mientras que H∗d es la constante que resulta de evaluar
la funcion Hd(q, p) con p = 0, esto es,
H∗d = Vd(q∗j ) (3.26)
con q∗j igual a la amplitud de la oscilacion deseada.
La derivada temporal de Q a lo largo de las trayectorias de (3.7) resulta en
Q = γ1 [Hd(q, p)−H∗d ] Hd + γ2pi ˙pi (3.27)
y al sustituir Hd de (3.24) y ˙pi de (3.23) en (3.27) se consigue
Q = γ1 [Hd(q, p)−H∗d ]∇>pHdMdM−1G(q)usg + γ2pi[MdM
−1G(q)](i)usg, (3.28)
3.3. ANALISIS DE ESTABILIDAD 17
mientras que factorizando para usg queda
Q =[γ1 [Hd(q, p)−H∗d ]∇>pHdMdM
−1G(q) + γ2pi[MdM−1G(q)](i)
]usg. (3.29)
Una manera de hacer que Q sea semidefinida negativa es por medio de la entrada de control
usg [11, 13,19]:
usg = −k[γ1 [Hd(q, p)−H∗d ]∇>pHdMdM
−1G(q) + γ2pi[MdM−1G(q)](i)
](3.30)
con k > 0 tal que al sustituir en (3.29) se obtiene
Q = −k[γ1 [Hd(q, p)−H∗d ]∇>pHdMdM
−1G(q) + γ2pi[MdM−1G(q)](i)
]2(3.31)
y por lo tanto Q ≤ 0.
3.3. Analisis de estabilidad
Proposicion. La ley de control u = ues + usg con ues y usg dadas por:
ues =[G>(q)G(q)
]−1G>(q)
[∇qH −MM−1
d ∇qHd
], (3.32)
usg = −k[γ1 [Hd(q, p)−H∗d ]∇>pHdMdM
−1G(q) + γ2pi[MdM−1G(q)](i)
], (3.33)
con soluciones Md y Vd de la ecuacion diferencial parcial
G⊥(q)[∇qH −MM−1
d ∇qHd
]= 0, (3.34)
con k > 0, cumple con el objetivo de control (3.5) al menos localmente.
Demostracion. Sustituya (3.32) en (3.1) para obtener2qp
=
M−1p
−∇qH +G[G>G
]−1G[∇qH −MM−1
d ∇qHd
]+Gusg
, (3.35)
ya que Md y Vd son soluciones de la ecuacion (3.34) entonces
G[G>G
]−1G[∇qH −MM−1
d ∇qHd
]= ∇qH −MM−1
d ∇qHd (3.36)
2Se omiten los argumentos de las funciones por brevedad en la nomenclatura.
3.3. ANALISIS DE ESTABILIDAD 18
y en virtud de (3.35) se tiene qp
=
M−1p
−MM−1d ∇qHd +Gusg
. (3.37)
Defina la transformacion lineal qp
=
I 0
0 MdM−1
qp
, (3.38)
multiplicando por la izquierda a (3.37) en ambos lados de la igualdad por la matriz de trans-
formacion (3.38) y escribiendo p en terminos de p se tiene
q˙p
=
M−1d p
−∇qHd +MdM−1Gusg
. (3.39)
Debido a la estructura del hamiltoniano Hd definido en (3.8), tal que ∇pHd = M−1d p, la
ecuacion (3.39) se puede expresar en su forma compacta como:
d
dt
qp
=
0 I
−I 0
∇qHd
∇pHd
+
0
MdM−1G
usg, (3.40)
que coincide con (3.7).
La malla cerrada se obtiene al sustituir usg de (3.33) en (3.39)q˙p
=
M−1d p
−∇qHd − kMdM−1G
[γ1 [Hd(q, p)−H∗d ]∇>pHdMdM
−1G+ γ2pi[MdM−1G](i)
]
(3.41)
la cual tiene como funcion de Lyapunov a (3.25).
El resultado obtenido en (3.31) permite utilizar el principio de invariancia de LaSalle para
demostrar el cumplimiento del objetivo de control (3.5). Para el analisis defina el conjunto Ω
como
Ω =
(q, p) : Q(q, p) = 0, (3.42)
y tomando en cuenta (3.29) el conjunto Ω puede reescribirse de la siguiente manera:
Ω =
(q, p) : γ1 [Hd(q, p)−H∗d ]∇>pHdMdM−1G+ γ2pi[MdM
−1G](i) = 0. (3.43)
3.4. PENDULO CON RUEDA INERCIAL 19
De la malla cerrada, al ser ∂Hd
∂qi= 0, se concluye que pi debe ser constante, es decir pi = ˆpi,
lo cual conduce a:
γ1 [Hd(q, p)−H∗d ]∇>pHdMdM−1G+ γ2 ˆpi[MdM
−1G](i) ≡ 0. (3.44)
Si Hd ≡ H∗d entonces de (3.44) se concluye que ˆpi ≡ 0 dado que [MdM−1G](i) siempre sera
diferente de cero, obteniendo ası el conjunto invariante
M1 = (q, p) : Hd(q, p)|pi=0 = H∗d . (3.45)
De serM1 el unico conjunto invariante en Ω, las trayectorias de la malla cerrada convergerıan
al mismo, cumpliendo ası el objetivo de control (3.5). No obstante podrıan existir otras soluciones
a (3.44) y por lo tanto otros conjuntos invariantes.
En particular puede verificarse de (3.44) que los equilibrios de la malla cerrada tambien
forman un conjunto invariante
M2 = (q, p) : ∇qHd = 0, p = 0 , (3.46)
por lo tanto no puede asegurarse el cumplimiento global del objetivo de control.
El estimado de la region de atraccion del conjuntoM1 queda fuera del alcance del presente
trabajo. El lector puede consultar [2] como referencia a las tecnicas de analisis no lineal usadas
en el calculo de las regiones de atraccion.
3.4. Pendulo con rueda inercial
En esta seccion se muestra el diseno de la ley de control con el esquema propuesto para
producir oscilaciones controladas en el pendulo con rueda inercial, usando el modelo dinamico
(2.12).
3.4.1. Objetivo de control
Se busca que las trayectorias del sistema en malla cerrada converjan a un valor constante de
la funcion Hd, con p2 = 0, esto es:
lımt→∞
Hd(q(t), p(t)) = H∗d & lımt→∞
p2(t) = 0. (3.47)
Mediante el moldeo de energıa se modificara la funcion Hd para producir una oscilacion
deseada en el pendulo con rueda inercial.
3.4. PENDULO CON RUEDA INERCIAL 20
3.4.2. Diseno de la ley de control
3.4.2.1. Moldeo de energıa
En la etapa de moldeo de energıa se asigna la matriz Md simetrica y definida positiva
Md =
a1 a2
a2 a3
, (3.48)
la cual esta sujeta a las siguientes condiciones sobre sus elementos:
a1 > 0, (3.49)
a1a3 − a22 > 0. (3.50)
Para el sistema pendulo con rueda inercial, la ecuacion diferencial parcial (3.21) resulta en
k1∂Vd∂q1
+ k2∂Vd∂q2
= −a sen q1 (3.51)
donde
k1 =a3(I1 + I2)− a2I2
a1a3 − a22
, (3.52)
k2 =a1I2 − a2(I1 + I2)
a1a3 − a22
. (3.53)
con G⊥ = [1 0]>.
Asignando Vd independiente de q2 la ecuacion (3.51) se simplifica en
∂Vd∂q1
= − a
k1
sen q1 (3.54)
que tiene como solucion particular
Vd(q) =a
k1
[cos q1 − 1] . (3.55)
La condicion k1 < 0 impuesta sobre Vd asigna un mınimo en q1 = 0. Esto es necesario para
producir oscilaciones en el pendulo alrededor de la vertical en su punto superior.
El gradiente de Vd es
∇qVd =
− ak1
sen(q1)
0
(3.56)
mientras que la ley de control ues es igual a
ues = α1 sen(q1) (3.57)
3.4. PENDULO CON RUEDA INERCIAL 21
donde
α1 =a(a2 − a3)I2
a2I2 − a3(I1 + I2). (3.58)
Al aplicar la ley de control u = ues + usg a las ecuaciones de movimiento del pendulo con
rueda inercial y realizar el cambio de coordenadas correspondiente se consigue la dinamica
d
dt
q1
q2
p1
p2
=
∂Hd
∂p1
∂Hd
∂p2
−∂Hd
∂q1+ β1usg
β2usg
(3.59)
con
Hd(q, p) =a3p
21 − 2a2p1p2 + a1p
22
2(a1a3 − a22)
+a
k1
[cos(q1)− 1] (3.60)
donde
∂Hd
∂q1
= − a
k1
sen(q1), (3.61)
∂Hd
∂p1
=a3p1 − a2p2
a1a3 − a22
, (3.62)
∂Hd
∂p2
=a1p2 − a2p1
a1a3 − a22
, (3.63)
con las constantes β1 y β2 definidas como:
β1 = [MdM−1G]1 =
a2(I1 + I2)− a1I2
I1I2
, (3.64)
β2 = [MdM−1G]2 =
a3(I1 + I2)− a2I2
I1I2
. (3.65)
3.4.2.2. Metodo de gradiente de velocidad
La funcion de Lyapunov para el sistema pendulo con rueda inercial es
Q(q, p) =γ1
2[Hd(q, p)−H∗d ]2 +
γ2
2p2
2. (3.66)
donde la derivada de Q a lo largo de las trayectorias de (3.59) resulta en
Q =[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G+ γ2β2p2
]usg. (3.67)
Una manera de lograr que Q de (3.67) sea al menos semidefinida negativa, es por medio de la
ley de control por gradiente de velocidad [11]
usg = −k[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G+ γ2β2p2
](3.68)
3.4. PENDULO CON RUEDA INERCIAL 22
con
k > 0. (3.69)
Sustituyendo usg de (3.68) en (3.67) obtenemos
Q = −k[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G+ γ2β2p2
]2(3.70)
de lo cual se concluye que
Q ≤ 0.
3.4.2.3. Ley de control
La ley de control u = ues + usg se consigue sumando (3.57) con (3.68):
u(q, p) = α1 sen(q1)− k[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G+ γ2β2p2
], (3.71)
o bien de forma explıcita por:
u(q, p) = α1 sen(q1)− kysg(q, p), (3.72)
donde
ysg(q, p) =
[γ1 [Hd(q, p)−H∗d ]
[[a3p1 − a2p2
a1a3 − a22
]β1 +
[a1p2 − a2p1
a1a3 − a22
]β2
]+ γ2β2p2
](3.73)
con Hd dada en (3.60), las constantes β1 y β2 mostradas en (3.64)-(3.65) y α1 definida en (3.58).
3.4.3. Analisis de estabilidad
La malla cerrada se obtiene sustituyendo (3.71) en (3.59):
d
dt
q1
q2
p1
p2
=
∂Hd
∂p1
∂Hd
∂p2
−∂Hd
∂q1− β1k
[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G+ γ2β2p2
]−β2k
[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G+ γ2β2p2
]
(3.74)
es un sistema autonomo, lo cual se puede verificar al sustituir los terminos (3.61)-(3.63). Se
procede a realizar un analisis de la malla cerrada aplicando el principio de invariancia de LaSalle.
Defina el conjunto Ω como el lugar geometrico donde Q se anula:
Ω =
(q, p) : Q(q, p) = 0
(3.75)
3.4. PENDULO CON RUEDA INERCIAL 23
o bien,
Ω =
(q, p) : γ1 [Hd(q, p)−H∗d ]∇TpHdMdM
−1G+ γ2β2p2 = 0. (3.76)
Del sistema en malla cerrada (3.74) se desprende que ˙p2 ≡ 0 en Ω debiendo ser p2 = ˆp2
constante:
γ1 [Hd(q, p)−H∗d ]∇TpHdMdM
−1G+ γ2β2 ˆp2 ≡ 0. (3.77)
A partir de (3.77) se deduce que el primer conjunto invariante se produce cuando Hd ≡ H∗d , lo
que implica que ˆp2 ≡ 0. Dicho conjunto invariante es
M1 =
(q, p) :
a3
a1a3 − a22
p1 +a
k1
[cos q1 − 1] = H∗d
(3.78)
Ahora, si se toma la derivada respecto al tiempo de (3.77) obtenemos
γ1 [Hd(q, p)−H∗d ]d
dt
(∇TpHdMdM
−1G)≡ 0 ⇐⇒ ∇pHd ≡ C (3.79)
donde C es una constante arbitraria. Para que ∇pHd = M−1d p sea constante es necesario que
˙p ≡ 0, esto a su vez implica que
∂Hd(q, ˆp)
∂q1
≡ 0 ⇐⇒ q1 ≡ 0. (3.80)
Por lo anterior, cuandoHd 6= H∗d , es posible expresar a (3.77) solo en terminos de ˆp2 (ˆp1=a2a3
ˆp2)
de donde se obtiene un polinomio de tercer grado
[γ1p
22 + 2a3 [γ1 [Vd(nπ)−H∗d ] + a3γ2]
]p2 = 0
del cual una de sus raıces es ˆp2 = 0. Eligiendo un conjunto adecuado de ganancias podemos
asegurarnos que ˆp2 = 0 sea la unica raız real y por lo tanto el segundo conjunto invariante
contendra solo los equilibrios de la malla cerrada
M2 = q1 = nπ, q2 ∈ R, p1 = 0, p2 = 0 . (3.81)
Finalmente, el maximo conjunto invariante en Ω es
M =M1 ∪M2. (3.82)
De ser inestables los equilibrios de M2 (consultar [2] por teoremas de inestabilidad) entonces las
trayectorias tenderıan a M1 garantizando el cumplimiento del objetivo de control (3.47).
3.4. PENDULO CON RUEDA INERCIAL 24
3.4.4. Control de oscilaciones con amplitud y frecuencia controladas
Cuando las oscilaciones son pequenas en magnitud es posible controlar la frecuencia de la
oscilacion en forma explıcita. La malla cerrada (3.74) en el conjunto M1 es igual a
d
dt
q1
q2
p1
p2
=
a3
a1a3−a22p1
− a2a1a3−a22
p1
ak1
sen(q1)
0
. (3.83)
Usando una aproximacion para oscilaciones pequenas, sen(q1) ≈ q1 en (3.83), el sistema
lineal autonomo queda
d
dt
q1
q2
p1
p2
=
a3
a1a3−a22p1
− a2a1a3−a22
p1
ak1q1
0
. (3.84)
Del sistema (3.84) es de interes el comportamiento de la variable de estado q1(t), la cual corres-
ponde al desplazamiento angular del pendulo. Haciendo manipulaciones algebraicas se obtiene
una solucion particular de q1(t):
q1(t) = q∗1 cos(ωt) (3.85)
donde q∗1 << 1 [rad] (sen(q∗1) ≈ q∗1), y
ω =
√− a3a
k1∆(3.86)
∆ = a1a3 − a22 (3.87)
con k1 < 0 definida en (3.52), lo que caracteriza completamente la oscilacion con frecuencia
f =ω
2π(3.88)
y amplitud q∗1. Para controlar la amplitud de la oscilacion mediante el controlador (3.71) basta
con evaluar la funcion Vd de (3.55) en q∗1 y asignar la constante H∗d en (3.71) como
H∗d = Vd(q∗1).
3.4. PENDULO CON RUEDA INERCIAL 25
Con la solucion explicita q1(t) se hace una parametrizacion de la matriz Md(ωd, k1,∆) con
la finalidad de producir una oscilacion a una frecuencia fd deseada. Ya que ωd = 2πfd entonces
se tienen las siguientes expresiones:
a3 = −k1∆
aω2d, (3.89)
a2 =(I1 + I2)a3 − k1∆
I2
, (3.90)
a1 =∆ + a2
2
a3
, (3.91)
con la condicion ∆ > 0.
3.4.5. Simulaciones
Para validar el diseno del controlador (3.71) se realizaron simulaciones numericas sobre un
modelo de un pendulo con rueda inercial construido en el CITEDI3 [20]. Las ganancias del
controlador se han seleccionado para producir una oscilacion a una frecuencia de 1 Hz y con
una amplitud de 10 grados en el pendulo (coordenada subactuada q1). La condicion inicial es
[q1 q2 p1 p2]> = [45 0 0 0]>. La tabla 3.1 muestra los parametros del pendulo con rueda inercial
y la tabla 3.2 muestra las ganancias del controlador.
En la figura 3.1 se visualiza la respuesta del sistema en malla cerrada. En la figura 3.1a puede
apreciarse como despues de cinco segundos, el pendulo (coordenada subactuada) oscila a una
frecuencia de 1 Hz con una amplitud de diez grados. En las figuras 3.1c, 3.1d y 3.1f, se visualiza
como la funcion Hd es llevada a un valor constante mientras que la funcion de Lyapunov Q y el
momento p2 se desvanecen en cero.
Por lo tanto, con la informacion obtenida de las graficas, el diseno del controlador (3.72) ha
sido validado a nivel de simulacion, cumpliendo el objetivo de control (3.47). Con esto se ha
logrado producir una oscilacion de amplitud y magnitud controladas en el sistema pendulo con
rueda inercial.
3Centro de Investigacion y Desarrollo de Tecnologıa Digital.
3.4. PENDULO CON RUEDA INERCIAL 26
Parametro Valor Unidad
I1 17.1×10−5 kg m2
I2 2.5×10−5 kg m2
a 0.2715 N m
Tabla 3.1: Valores numericos de los parametros del pendulo con rueda inercial.
Ganancia Valor
k1 -0.4
∆ 4.275 ×10−9
a1 0.0371
a2 7.0349 ×10−5
a3 2.4861×10−7
k 2.9818×10−4
γ1 1.0
γ2 10.0
Tabla 3.2: Ganancias del controlador de oscilaciones (3.71) aplicado al pendulo con rueda inercial
sin friccion.
3.4. PENDULO CON RUEDA INERCIAL 27
0 1 2 3 4 5 6 7 8 9 10
t [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50q1
[gra
dos]
Coordenada subactuada
(a) q1(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
100
200
300
400
500
600
700
800
900
q2 [r
ad]
Coordenada actuada
(b) q2(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
Hd
Hd(t)
(c) Hd(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
0.018
Q
Q(t)
(d) Q(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
u [N
m]
Par
(e) u(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
ph2
×10-4 ph2
(f) p2(t)
Figura 3.1: Simulacion del pendulo con rueda inercial aplicando el controlador de oscilaciones
(3.71).
3.4. PENDULO CON RUEDA INERCIAL 28
3.4.6. Compensador de friccion dinamica
Es conocido que el efecto de la friccion generalmente es perjudicial cuando se usan metodos de
control por moldeo de energıa total (cinetica mas potencial) [4] ası como en metodos de control
por energıa [6,12,19]. En [5] se propone un compensador de friccion dinamica en la coordenada
actuada para ser incorporado en sistemas mecanicos subactuados que usan IDA-PBC. Por su
parte en [18] se incorpora un compensador de friccion dinamica a la ley de control para el
control de oscilaciones propuesta por [13]. En esta seccion se presenta la manera de incorporar
el compensador de friccion dinamica reportado en [18] en el pendulo con rueda inercial con el
proposito de compensar friccion dinamica en la coordenada actuada.
3.4.6.1. Malla abierta
A la malla abierta (2.12) se anade la fuerza de friccion en la coordenada actuada
fr(q2, z) = fv q2 + σ0z (3.92)
usando el modelo de friccion dinamica de Dahl reportado en [5] cuya representacion escalar es
la siguiente:
z = −σ0
fc|q2|z + q2, (3.93)
obteniendo ası las siguiente ecuaciones de movimiento
d
dt
q1
q2
p1
p2
z
=
∂H∂p1
∂H∂p2
− ∂H∂q1
u− fv ∂H∂p2 − σ0z
−σ0fc| ∂H∂p2|z + ∂H
∂p2
(3.94)
donde z es un estado interno (no medido), fc es el coeficiente de friccion de Coulomb, σ0 es el
denominado parametro de rigidez y fv es el coeficiente de friccion viscosa.
3.4.6.2. Observador de estados y ley de control
El observador de estados propuesto es [18]:
˙z = −σ0
fc
∣∣∣∣∂H∂p2
∣∣∣∣ z +∂H
∂p2
− γ3ysg(q, p) (3.95)
3.4. PENDULO CON RUEDA INERCIAL 29
donde z es el estado estimado de z, con la ley de control (3.71) extendida por:
u(q, p, z) = α1 sen(q1)− kysg(q, p) + fv∂H
∂p2
+ σ0z. (3.96)
Notese que a la ley de control (3.72) se le han agregado terminos para compensar la fuerza de
friccion (viscosa mas de Dahl), donde la senal ysg se ha definido en (3.73).
3.4.6.3. Objetivo de control
Definiendo el error de estimacion como:
z = z − z (3.97)
el objetivo de control (3.47) ahora se modifica por:
lımt→∞
Hd(q(t), p(t))
∣∣∣∣p2=0
= H∗d & lımt→∞
z(t) = 0 (3.98)
el cual consiste en lograr que el error de estimacion z converja a cero mientras que Hd se regula
a la constante H∗d , esto es,
Hd(q(t), p(t))
∣∣∣∣p2=0
= H∗d .
3.4.6.4. Malla cerrada
La malla cerrada se obtiene al sustituir la ley de control (3.96) en (3.94) y realizando el
cambio de coordenadas correspondiente definido en (3.38) queda
d
dt
q1
q2
p1
p2
z
=
∂Hd
∂p1
∂Hd
∂p2
−∂Hd
∂q1+ β1 [σ0z − kysg]
β2 [σ0z − kysg]
−σ0fc|∂Hd
∂p2|z − γ3ysg
(3.99)
donde se han usado las siguientes igualdades
∇pH = ∇pHd, (3.100)
˙z = ˙z − z. (3.101)
3.4. PENDULO CON RUEDA INERCIAL 30
3.4.6.5. Analisis de estabilidad
En el analisis de estabilidad presentado en este trabajo solo se proporcionara la funcion de
Lyapunov [18] para el sistema en malla cerrada (3.99), la cual es
Q(q, p, z) =γ1
2[Hd(q, p)−H∗d ]2 +
γ2
2p2
2 +σ0
2γ3
z2. (3.102)
La derivada temporal de Q(q, p, z) a lo largo de las trayectorias de (3.99) resulta en
Q = −ky2sg −
σ0
γ3
∣∣∣∣∂Hd
∂p2
∣∣∣∣ z2 (3.103)
lo que implica que
Q ≤ 0. (3.104)
La conclusion del analisis de estabilidad se deja como trabajo futuro. Se invita al lector interesado
en esta prueba a consultar [18] para obtener mas detalles sobre este tipo de analisis.
3.4.6.6. Simulaciones
Para la simulacion del sistema en malla cerrada con el observador de estados se hace un ajuste
en las ganancias del controlador y se anade la ganancia del observador, siendo la condicion inicial
[q1 q2 p1 p2 z z]> = [0 45 0 0 0.5 0]>. Los valores de las ganancias se muestran en la tabla 3.3
y los parametros de friccion en la tabla 3.4
En la figura 3.2 se muestra el desempeno del controlador de oscilaciones cuando no es com-
pensada la friccion en la coordenada actuada. Se aprecia como las oscilaciones son amortiguadas
por el efecto disipativo de la fuerza de friccion. De la figura 3.2d se aprecia como la funcion Q
no es monotona decreciente, mientras que en la figura 3.2c se aprecia como el error de obser-
vacion z no se desvanece. Tal y como se aprecia en las graficas, al no compensar la fuerza de
friccion, no es posible producir una oscilacion, de frecuencia y amplitud controladas, mediante
el controlador (3.72).
El efecto de anadir el compensador de friccion en el sistema en malla cerrada, se aprecia en la
figura 3.3, donde se compensa la friccion en la coordenada actuada. En la figura 3.3a se muestra
la respuesta del pendulo (coordenada subactuada), se aprecia como al incluir el compensador,
la oscilacion deseada se logra. A su vez, en las figuras 3.3c, 3.3d y 3.3f se visualiza como la
respuesta temporal del error de observacion z(t), de la funcion de Lyapunov Q(t) y el momento
p2(t) se desvanecen en cero.
3.4. PENDULO CON RUEDA INERCIAL 31
Ganancia Valor
k1 -0.4
∆ 4.275 ×10−9
a1 0.0371
a2 7.0349 ×10−5
a3 2.4861×10−7
k 3×10−4
γ1 0.995
γ2 10.0
γ3 0.05
Tabla 3.3: Ganancias del controlador de oscilaciones con compensador de friccion dinamica
aplicado al pendulo con rueda inercial.
Parametro Valor Unidad
fv 9.7674×10−7 N m s/rad2
fc 1.5×10−3 N m2
σ0 2.5×10−5 N m/rad
Tabla 3.4: Valores numericos de los parametros de friccion del pendulo con rueda inercial.
Con los resultados en simulacion obtenidos, se valida numericamente el diseno de la ley de
control (3.96) y el cumplimiento del objetivo de control (3.98), al menos localmente.
3.4. PENDULO CON RUEDA INERCIAL 32
0 1 2 3 4 5 6 7 8 9 10
t [s]
-40
-30
-20
-10
0
10
20
30
40
50
q1 [gra
dos]
Coordenada subactuada
(a) Evolucion temporal coordenada subactuada
q1(t).
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
500
1000
1500
2000
2500
3000
3500
4000
4500
q2 [ra
d]
Coordenada actuada
(b) Evolucion temporal coordenada actuada
q2(t).
0 1 2 3 4 5 6 7 8 9 10
t [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
zt(t
)
Error de observación
(c) Evolucion temporal del error de observacion
z(t).
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
0.018
Q(t
)
Q(t)
(d) Evolucion temporal de la funcion de Lyapu-
nov Q(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
u [N
m]
Par
(e) Par requerido por la ley de control u(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
ph2(t
)
×10-4 ph2(t)
(f) Evolucion temporal del momento p2(t)
Figura 3.2: Simulacion del control de oscilaciones (3.96) aplicado al pendulo con rueda inercial
(3.94) sin compensar friccion dinamica en la coordenada actuada, esto es, fv = σ0 = 0 en (3.96).
3.4. PENDULO CON RUEDA INERCIAL 33
0 1 2 3 4 5 6 7 8 9 10
t [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
q1 [gra
dos]
Coordenada subactuada
(a) Evolucion temporal coordenada subactuada
q1(t).
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
100
200
300
400
500
600
700
800
900
q2 [ra
d]
Coordenada actuada
(b) Evolucion temporal coordenada actuada
q2(t).
0 1 2 3 4 5 6 7 8 9 10
t [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
zt(t
)
Error de observación
(c) Evolucion temporal del error de observacion
z(t).
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
0.018
Q(t
)
Q(t)
(d) Evolucion temporal de la funcion de Lyapu-
nov Q(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
u [N
m]
Par
(e) Par requerido por la ley de control u(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
ph2(t
)
×10-4 ph2(t)
(f) Evolucion temporal del momento p2(t)
Figura 3.3: Simulacion del control de oscilaciones (3.96) aplicado al pendulo con rueda inercial
(3.94) compensando friccion dinamica en la coordenada actuada (la rueda).
3.5. SISTEMA CARRO-PENDULO 34
3.5. Sistema carro-pendulo
En esta seccion se muestra el diseno de la ley de control con el esquema propuesto (moldeo
de energıa mas metodo de gradiente de velocidad) para producir oscilaciones controladas en el
sistema carro pendulo, usando el modelo dinamico (2.27) sin considerar friccion en la coordenada
subactuada.
3.5.1. Objetivo de control
Se busca que las trayectorias del sistema en malla cerrada converjan a un valor constante de
la funcion Hd, con p1 = 0, esto es:
lımt→∞
Hd(q(t), p(t)) = H∗d & lımt→∞
p1(t) = 0. (3.105)
Mediante el control por moldeo de energıa se manipulara la funcion Hd para producir una
oscilacion deseada en el sistema carro-pendulo.
3.5.2. Diseno del controlador
3.5.2.1. Moldeo de energıa
En la etapa de moldeo de energıa se asigna la matriz Md simetrica y definida positiva
Md =
a1 a2
a2 a3
(3.106)
con constantes aj tales que
a1 > 0, (3.107)
a1a3 − a22 > 0. (3.108)
Asimismo, para el modelo (2.27) del sistema carro-pendulo, la ecuacion diferencial parcial
del moldeo de energıa es
(a3α3 cos(q2)− a2)∂Vd∂q1
+ (a1 − a2α3 cos(q2))∂Vd∂q2
= −α1∆ sen(q2), (3.109)
donde
∆ = a1a3 − a22, (3.110)
3.5. SISTEMA CARRO-PENDULO 35
la cual se simplifica al asignar Vd independiente de q1, tal que (3.109) se reduce a:
(a3α3 cos(q2)− a2)∂Vd∂q1
= −α1∆ sen(q2). (3.111)
Una solucion particular de (3.111) es
Vd(q2) = −∆α1
a2α3
ln
(a2α3 cos q2 − a1
a2α3 − a1
)(3.112)
con Vd sujeta a las condiciones
a2α3 > a1, (3.113)
a2α3 cos(q2)− a1 > 0. (3.114)
La condicion (3.113) servira para establecer una oscilacion deseada en el pendulo, mientras que
(3.114) establece la region para la cual Vd esta definida.
El gradiente de Vd es
∇qVd(q) =
0
∆α1 sen(q2)a2α3 cos(q2)−a1
(3.115)
y la ley de control por moldeo de energıa resulta en
ues =a2α1 sen(q2)
a2α3 cos(q2)− a1
. (3.116)
Para evitar una singularidad en la ley de control (3.116) se tiene que q2 ∈ (−ε, ε) donde
ε = arc cos
(a1
a2α3
). (3.117)
Al sustituir la ley de control u = ues + usg en las ecuaciones de movimiento (2.27) y al
realizar la transformacion de coordenadas se obtiene la dinamica
d
dt
q1
q2
p1
p2
=
∂Hd
∂p1
∂Hd
∂p2
β1(q2)usg
−∂Hd
∂q2+ β2(q2)usg
(3.118)
con hamiltoniano
Hd(q, p) =a3p
21 − 2a2p1p2 + a1p
22
2∆− ∆α1
a2α3
ln
(a2α3 cos(q2)− a1
a2α3 − a1
)(3.119)
3.5. SISTEMA CARRO-PENDULO 36
donde
∂Hd
∂q2
=∆α1 sen(q2)
a2α3 cos(q2)− a1
, (3.120)
∂Hd
∂p1
=a3p1 − a2p2
∆, (3.121)
∂Hd
∂p2
=a1p2 − a2p1
∆(3.122)
y las constantes β1(q2) y β2(q2) estan definidas como
β1(q2) :=[MdM
−1G(q2)]
1= a1 − a2α3 cos(q2), (3.123)
β1(q2) :=[MdM
−1G(q2)]
2= a2 − a3α3 cos(q2). (3.124)
3.5.2.2. Metodo de gradiente de velocidad
La funcion de Lyapunov es (tomada de [13,18])
Q(q, p) =γ1
2[Hd(q, p)−H∗d ]2 +
γ2
2p2
1 (3.125)
cuya derivada a lo largo de las trayectorias de (3.118) es
Q =[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G(q2) + γ2β1(q2)p1
]usg. (3.126)
Eligiendo a usg como (ver [11])
usg = −k[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G(q2) + γ2β1(q2)p1
](3.127)
con
k > 0 (3.128)
se obtiene
Q = −k[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G(q2) + γ2β2(q2)p2
]2(3.129)
lo que implica que
Q ≤ 0.
3.5.2.3. Ley de control
La ley de control por moldeo de energıa mas metodo de gradiente de velocidad es igual a
u(q, p) =a2α1 sen(q2)
a2α3 cos(q2)− a1
− k[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G(q2) + γ2β1(q2)p1
]. (3.130)
3.5. SISTEMA CARRO-PENDULO 37
La forma explıcita de la ley de control (3.130) es
u(q, p) =a2α1 sen(q2)
a2α3 cos(q2)− a1
− kysg(q, p) (3.131)
donde la senal ysg es definida como
ysg(q, p) =
[γ1 [Hd(q, p)−H∗d ]
[[a3p1 − a2p2
a1a3 − a22
]β1(q2) +
[a1p2 − a2p1
a1a3 − a22
]β2(q2)
]+ γ2β1(q2)p1
](3.132)
con Hd dada en (3.119), las constantes β1(q2) y β2(q2) mostradas en (3.123)-(3.124) y las cons-
tantes αi definidas en (2.17)-(2.19). Por conveniencia en la presentacion se vuelven a mostrar
las constantes αi antes definidas en la seccion 2.2.2:
α1 =mplpg
Jp +mpl2p, α2 =
1
Jp +mpl2p, α3 =
mplpJp +mpl2p
.
3.5.3. Analisis de estabilidad
La malla cerrada se obtiene sustituyendo (3.130) en (2.27):
d
dt
q1
q2
p1
p2
=
∂Hd
∂p1
∂Hd
∂p2
−β1(q2)k[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G(q2) + γ2β1(q2)p1
]−∂Hd
∂q2− β2(q2)k
[γ1 [Hd(q, p)−H∗d ]∇T
pHdMdM−1G(q2) + γ2β1(q2)p1
]
. (3.133)
El analisis de la malla cerrada del sistema carro-pendulo es similar al presentado en el
pendulo con rueda inercial donde se aplica el principio de invariancia de LaSalle.
Defina al conjunto Ω como
Ω =
(q, p) : Q(q, p) = 0
(3.134)
o bien
Ω =
(q, p) : γ1 [Hd(q, p)−H∗d ]∇TpHdMdM
−1G(q2) + γ2β1(q2)p1 = 0. (3.135)
Del sistema en malla cerrada (3.133) se desprende que ˙p1 ≡ 0. Por lo tanto p1 = ˆp1 es
constante:
γ1 [Hd(q, p)−H∗d ]∇TpHdMdM
−1G(q2) + γ2β1(q2)ˆp1 ≡ 0. (3.136)
3.5. SISTEMA CARRO-PENDULO 38
Un primer conjunto invariante se consigue cuando Hd = H∗d , lo cual implica a partir de (3.136)
que ˆp1 ≡ 0, resultando esto en
M1 =
(q, p) :
a1
∆p2
2 −∆α1
a2α3
ln
(a2α3 cos q2 − a1
a2α3 − a1
)= H∗d
. (3.137)
Una segunda opcion contiene equilibrios de la malla cerrada
M2 = q1 ∈ R, q2 = nπ, p1 = 0, p2 = 0 . (3.138)
Ya que M1 no es el maximo conjunto invariante en Ω, es necesario establecer el dominio
de atraccion del conjunto M1. La conclusion del analisis de estabilidad se deja como trabajo
futuro.
3.5.4. Control de oscilaciones con amplitud y frecuencia controladas
Cuando las oscilaciones son pequenas en amplitud es posible controlar la frecuencia de
oscilacion en forma explıcita. La malla cerrada (3.133) en el conjunto M1 es igual a
d
dt
q1
q2
p1
p2
=
−a2
∆p2
a1∆p2
0
− ∆α1 sen(q2)a2α3 cos(q2)−a1
. (3.139)
Usando una aproximacion para oscilaciones pequenas, sen(q2) ≈ q2 y cos(q2) ≈ 1, en (3.139) el
sistema lineal autonomo queda:
d
dt
q1
q2
p1
p2
=
−a2
∆p2
a1∆p2
0
− ∆α1
a2α3−a1 q2
. (3.140)
Siguiendo un razonamiento similar al de la seccion 3.4.4 del pendulo con rueda inercial, se
obtiene una solucion particular de q2(t) del modelo (3.140) la cual es
q2(t) = q∗2 cosωt (3.141)
donde
ω =
√a1α1
δ, (3.142)
δ = a2α3 − a1 > 0, (3.143)
3.5. SISTEMA CARRO-PENDULO 39
con una frecuencia
f =ω
2π. (3.144)
Para asignar una frecuencia de oscilacion deseada fd (con amplitud pequena) se sintoniza la
matriz Md(ω, δ,∆) haciendo uso de las siguientes expresiones:
a1 =ω2dδ
α1
, (3.145)
a2 =δ + a1
α3
, (3.146)
a3 =∆ + a2
2
a1
. (3.147)
con la condicion ∆ > 0 y donde ωd = 2πfd.
3.5.5. Simulaciones
En la simulacion se usa la ley de control (3.130) en el sistema carro-pendulo. las ganancias
se eligen para producir una oscilacion a una frecuencia de 1 Hz con una amplitud de 5 grados
en el pendulo (coordenada subactuada q2). La condicion inicial es [q1 q2 p1 p2]> = [0 15 0 0]>.
La tabla 3.5 muestra los parametros del sistema carro-pendulo y la tabla 3.6 las ganancias
del controlador que se producen de acuerdo a (3.145)-(3.147) que satisfacen (3.113)-(3.114) para
toda q2 ∈ (−ε, ε) con ε = arc cos(
a1a2α3
)< arc cos(1).
En la figura 3.4 se visualiza la respuesta del sistema en malla cerrada. En la figura 3.4b se
aprecia que despues de cuatro segundos, se establece una oscilacion en el pendulo (coordenada
subactuada) a una frecuencia de 1 Hz con una amplitud de cinco grados. Por su parte, en las
figuras 3.4c, 3.4d y 3.4f se aprecia como la funcion Hd(t) es regulada a un valor constante,
mientras que la funcion de Lyapunov Q(t) y el momento p1 son llevados a cero.
Observando la respuesta de cada una de las graficas, se valida de manera numerica el diseno
del controlador (3.131) y el cumplimiento del objetivo de control (3.105), al menos localmente.
3.5. SISTEMA CARRO-PENDULO 40
Parametro Valor Unidad
mc 5.394 kg
mp 0.127 kg
lp 0.156 m
Jp 1.40×10−3 kg m2
g 9.81 m/s2
Tabla 3.5: Valores numericos de los parametros del sistema carro-pendulo.
Ganancia Valor
δ 1
∆ 1
k 0.5
a1 0.9600
a2 0.4352
a3 1.2984
γ1 1.0
γ2 5.0
Tabla 3.6: Ganancias del controlador de oscilaciones, aplicado al sistema carro-pendulo sin
friccion.
3.5. SISTEMA CARRO-PENDULO 41
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4q1 [m
]Coordenada actuada
(a) Evolucion temporal de la coordenada actuada
q1(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
-10
-5
0
5
10
15
q2 [g
rado
s]
Coordenada subactuada
(b) Evolucion temporal de la coordenada subac-
tuada q2(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Hd
Función Hd(t)
(c) Hd(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Q
Función Q(t)
(d) Funcion de Lyapunov Q(t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
-20
-10
0
10
20
30
40
F [N
]
Fuerza aplicada al carro
(e) Fuerza requerida por la ley de control F (t)
0 1 2 3 4 5 6 7 8 9 10
t [s]
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
ph1
Momento ph1
(f) Evolucion temporal del momento p1(t)
Figura 3.4: Simulacion del sistema carro-pendulo con el control de oscilaciones aplicando la ley
de control F de (2.16) en (2.14), con u definida en (3.130).
Capıtulo 4
Regulacion de velocidad constante
En este trabajo se entiende como regulacion de velocidad constante para una clase de siste-
mas mecanicos subactuados cuando se logra que la coordenada actuada del sistema se mueva
a velocidad constante mientras la coordenada subactuada se lleva a una posicion constante.
En este capitulo se muestra la aplicacion de dos propuestas recientes, presentadas en [7] y [8],
para la regulacion de velocidad constante para sistemas mecanicos subactuados mediante el
paradigma de control por moldeo de energıa en formulacion hamiltoniana.
4.1. Clase de sistemas mecanicos subactuados para regu-
lacion de velocidad constante
El tipo de planta a controlar, pertenece a una clase de sistemas mecanicos subactuados cuya
matriz de inercia es constante, donde las ecuaciones de movimiento cuentan con una estructura
matematica tipo hamiltoniana:
d
dt
qp
=
0 I
−I 0
∇qH
∇pH
+
0
G(q)
u (4.1)
donde q, p ∈ IRn son los vectores de coordenadas y momento, u ∈ IRm es la accion de control,
M = M> > 0 es la matriz de inercia (constante), V (q) es la funcion de energıa potencial y
G ∈ IRn×m es la matriz de entrada de control con rango(G) = m < n, y con un hamiltoniano
42
4.2. CONTROL PID BASADO EN PASIVIDAD 43
H : IRn × IRn → IR dado por
H(q, p) =1
2p>M−1p+ V (q). (4.2)
4.2. Control PID basado en pasividad en el pendulo con
rueda inercial
Lo expuesto en esta seccion fue presentado en [10] en el Congreso Internacional de Robotica
y Computacion 2019 (CIRC 2019). Se disena una ley de control para el pendulo con rueda
inercial aplicando la propuesta de [7]. Simulaciones numericas son presentadas para ilustrar el
desempeno del controlador.
4.2.1. Regulacion de velocidad de una clase de sistemas mecanicos
subactuados
Se presenta un breve resumen de la propuesta de solucion al problema de regulacion de
velocidad introducida en [7], aplicada a una clase de sistemas mecanicos subactuados cuya
matriz de inercia es constante1. El modelo dinamico de la planta a ser controlada cuenta con
una estructura matematica tipo hamiltoniana especificada en (4.1), donde se asume que la
matriz G tiene la siguiente estructura:
G =
0s×m
Im×m
(4.3)
con s = n−m.
En lo subsecuente, para ser consistente con [7], se realizara una modificacion en la notacion
matematica. En la propuesta de [7] los vectores de posiciones y momentos generalizados son
separados, en sus componentes actuado y subactuado, de la siguiente manera: q = [qTu qTa ]T ,
p = [pTu pTa ]T con qu, pu ∈ Rs y qa, pa ∈ IRm. Por otro lado, se asume que la matriz de inercia
tiene la siguiente estructura:
M =
muu m>au
mau maa
(4.4)
1El resultado presentado por [7] es mas general y puede ser aplicado a sistemas mecanicos subactuados, cuya
matriz de inercia depende de la coordenada subactuada (e.g. el sistema carro-pendulo).
4.2. CONTROL PID BASADO EN PASIVIDAD 44
donde maa ∈ IRm×m, mau ∈ IRm×s y muu ∈ IRs×s. Asimismo, se asume que la funcion de energıa
potencial puede dividirse en dos componentes:
V (q) = Va(qa) + Vu(qu). (4.5)
4.2.1.1. Transformacion de coordenadas
Un paso clave en la propuesta de [7] es el siguiente cambio de coordenadas global:qp
=
In×n 0n×n
0n×n T>
qp
(4.6)
donde T ∈ IRn×n es una matriz de rango pleno que resulta de expresar la inversa de la matriz
de inercia como sigue:
M−1 = TT>. (4.7)
En el caso particular donde M es una matriz constante se asegura la existencia de una matriz
T de la forma
T =
T1 0s×m
T2 T3
(4.8)
donde T1 ∈ IRs×s, T2 ∈ IRm×s y T3 ∈ IRm×m. Al derivar respecto al tiempo (4.6) y tomar en
cuenta (4.1) se obtiene
d
dt
qp
=
0n×n In×n
−T> 0n×n
∇qH(q, p)
∇pH(q, p)
+
0
T>G
u. (4.9)
El sistema en malla abierta (4.9) puede ser reescrito equivalentemente en terminos de las nuevas
coordenadas definidas en (4.6) como sigue:
d
dt
qp
=
0n×n T
−T> 0n×n
∇qW (q,p)
∇pW (q,p)
+
0
T>G
u (4.10)
donde se ha introducido una funcion escalar dada por
W (q,p) =1
2p>p + V (q) (4.11)
tal que se cumplen las siguientes identidades:
∇qW (q,p) = ∇qH(q, p),
T∇pW (q,p) = ∇pH(q, p).
4.2. CONTROL PID BASADO EN PASIVIDAD 45
4.2.1.2. Modelo dinamico en terminos de la funcion del error (vector de estado)
La extension del control de posicion al caso de regulacion de velocidad constante mostrada
en [7], se basa principalmente en la siguiente definicion de funcion del error:
q(t) =
qu(t)qa(t)
:=
qu(t)− q∗uqa(t)− rt
(4.12)
y
p(t) =
pu(t)
pa(t)
:=
pu(t)
pa(t)− T−13 r
(4.13)
donde q∗u ∈ IRs y r ∈ IRm son vectores constantes. Usando (4.10), (4.12) y (4.13) se reescribe el
modelo dinamico (4.9) en terminos de las variables del error (4.12)-(4.13):
d
dt
qp
=
0n×n T
−T> 0n×n
∇qW
∇pW
+
0
T>G
u (4.14)
donde la funcion escalar W es definida como
W (q + q∗, p) =1
2p>p + V (q + q∗). (4.15)
Enseguida, la siguiente entrada de control
u = ∇qaVa(qa + q∗a) + v(q, p) (4.16)
donde v(q, p) es una entrada de control auxiliar, permite rescribir el modelo dinamico (4.14) de
manera alterna como sigue
d
dt
qp
=
0n×n T
−T> 0n×n
∇qWd
∇pWd
+
0
T>G
v(q, p) (4.17)
con una nueva funcion escalar Wd dada por
Wd(qu + q∗u, p) =1
2p>p + Vu(qu + q∗u).
Finalmente, desarrollando (4.17) y luego de tomar en cuenta (4.8), (4.12) y (4.13), se obtiene un
nuevo modelo dinamico en terminos de la funcion del error (4.12)-(4.13) y la entrada de control
auxiliar v(q, p):
d
dt
qu
qa
pu
pa
=
T1pu
T2pu + T3pa
−T>1 ∇quVu(qu + q∗u) + T>2 v(q, p)
T>3 v(q, p)
. (4.18)
4.2. CONTROL PID BASADO EN PASIVIDAD 46
El problema de control consiste en disenar un control v(q, p) tal que el origen[qu qa pu pa
]T=[
0 0 0 0]T
de (4.18) sea un equilibrio asintoticamente estable, esto es, en forma compacta
puede ser expresado como:
lımt→∞
q(t)p(t)
=
0n
0n
. (4.19)
El cumplimiento de (4.19) significa que cada coordenada subactuada qui(t) es llevada a una
posicion deseada q∗ui , mientras la coordenada actuada qai(t) sigue una rampa rit, esto es, se
desplaza a una velocidad constante ri, de acuerdo a (4.12) y (4.13), respectivamente.
4.2.1.3. Control PID
Una solucion al problema de control formulado en (4.19) es un control PID propuesto en [7],
el cual esta dado por:
v(q, p) = −k−1e
[KP yd +KI
∫ t
0
yd(s)ds+KD ˙yd
](4.20)
el cual es funcion de la variable:
yd = kaya + kuyu (4.21)
en lugar de la forma ortodoxa del control PID expresado en terminos de la funcion del error
(4.12)-(4.13), siendo yuya
=
T2pu
T3pa
=
−m−1aamauqu
m−1aamauqu + qa.
(4.22)
Una estrategia conveniente que se hizo para reescribir la accion integral y derivativa de (4.20) en
terminos de qa y qu, fue acotar la clase de sistemas subactuados definido en (4.18) que cumplen
las siguientes suposiciones:
A1 Existe una funcion escalar VN(qu), tal que
VN(qu) = yu
o equivalentemente,
VN(qu) = −m−1aamauqu. (4.23)
4.2. CONTROL PID BASADO EN PASIVIDAD 47
A2 Existen constantes ke, ka, ku ∈ IR seleccionadas por el usuario que aseguran que la matriz
K ∈ IRm×m sea no singular (det[K] 6= 0), la cual esta definida por:
K = keIm×m + kaKDT3T>3 + kuKDT2T
>2 . (4.24)
donde KD ∈ IRm×m es una matriz definida positiva constante.
Tomando en cuenta (4.18), (4.21), (4.22) y las condiciones establecidas en las suposiciones A1
y A2, nos permite rescribir (4.20) de la siguiente manera:
v(q, p) =− K−1[KP yd +KI [kaqa(t) + [ku − ka]VN(qu)]
+KDkuS] (4.25)
donde KI ∈ IRm×m es una matriz definida positiva, y la matriz S ∈ IRm esta dada por
S = −T2TT1 ∇quVu(qu + q∗u). (4.26)
Note en (4.25) que la accion integral de (4.20), se ha sustituido por su equivalente en terminos
de qa y qu, esto es, ∫ t
0
yd(s)ds =
∫ t
0
[kaya(s) + kuyu(s)] ds
=
∫ t
0
[ka(
˙qa(s)− yu(s))
+ kuyu(s)]ds
= kaqa(t) + (ku − ka) VN(qu).
(4.27)
4.2.1.4. Sistema en malla cerrada
Al sustituir la ley de control (4.25) en (4.18) se obtiene el sistema en malla cerrada
d
dt
qu
qa
pu
pa
=
T1pu
T2pu + T3pa
−T>1 ∇quVu(qu + q∗u)− T>2 K−1[KP yd
+KI [kaqa + (ku − ka) VN(qu)]
+KDkuS]
−T>3 K−1[KP yd +KI [kaqa
+[ku − ka]VN(qu)] +KDkuS]
(4.28)
4.2. CONTROL PID BASADO EN PASIVIDAD 48
donde un conjunto de equilibrios de (4.28) esta dado por
E =
q
p
∈ IR2n : ∇quVu(qu + q∗u) = 0, p = 0,
kaqa + (ku − ka)VN(qu) = 0. (4.29)
Por tanto, para que el origen[qu qa pu pa
]T=[0 0 0 0
]Tsea un punto de equilibrio de
(4.28) es necesario que
∇quVu(q∗u) = 0.
4.2.1.5. Analisis de estabilidad
A continuacion se presenta el analisis de estabilidad del punto de equilibrio en el origen[qu qa pu pa
]T=[0 0 0 0
]T, para probar el cumplimiento del objetivo de control intro-
ducido en (4.19).
El analisis inicia con la funcion candidata de Lyapunov
Hd(q + q∗, p) =1
2pTM−1
d p + Vd(q + q∗) (4.30)
donde q, p ∈ IRn, con Md = MTd > 0 tal que
M−1d =
A kakuT>2 KDT3
kakuT>3 KDT2 D
(4.31)
con
A = k2uT>2 KDT2 + kekuIs,
D = kekaIm + k2aT>3 KDT3.
Ademas, la funcion Vd : IRn → IR esta dada por
Vd(q + q∗) = kekuVu(qu + q∗u)
+1
2‖kaqa + [ku − ka]VN(qu + q∗u)‖2
KI(4.32)
la cual tiene un mınimo aislado en q∗ = 0n, esto es,
q∗ = arg mınVd(q + q∗). (4.33)
4.2. CONTROL PID BASADO EN PASIVIDAD 49
Algunas manipulaciones algebraicas permiten obtener la derivada temporal de Hd a lo largo de
las trayectorias del sistema en malla cerrada (4.28):
Hd ≤ −‖yd‖2. (4.34)
Por tanto, de acuerdo a la teorıa de Lyapunov puede concluirse que el origen es un equilibrio
estable. Para probar que dicho equilibrio es asintoticamente estable, los autores en [7] utilizan
argumentos de detectabilidad, esto es, concluyen que si yd es una salida detectable del sistema
en malla cerrada (4.28) entonces el equilibrio[qu qa pu pa
]T=[0 0 0 0
]Tes asintotica-
mente estable.
4.2.2. Regulador de velocidad para un pendulo con rueda inercial
sin friccion
Siguiendo el procedimiento descrito en la seccion anterior, a continuacion se disena un re-
gulador de velocidad del modelo de un pendulo con rueda inercial sin friccion en las dos ar-
ticulaciones, mostrado en la Figura 4.1. Note que para ser consistente con la notacion se han
redefinido las componentes del vector q.
uqu
g
qay
x
Figura 4.1: Pendulo con rueda inercial (nueva definicion de coordenadas).
Usando M de (2.7), la matriz de transformacion T definida en (4.8) es constante y esta dada
por
T =
1/√I1 0
−1/√I1 1/
√I2
. (4.35)
4.2. CONTROL PID BASADO EN PASIVIDAD 50
Por otro lado, las funciones del sistema en malla cerrada (4.28) son
M−1d =
keku +KDk2u/I1 −kakuKD/
√I1I2
−kakuKD/√I1I2 keka + k2
aKD/I2
(4.36)
mientras que
Vd(q) = kukea cos(qu) +1
2KI [kaqa − (ku − ka)qu]2 . (4.37)
Aplicando el criterio de la segunda derivada
∇2Vd(0) =
∂2Vd∂q2u
∂2Vd∂qa∂qu
∂2Vd∂qa∂qu
KIk2a
con
∂2Vd∂q2
u
=− kukea+KI(ku − ka)2,
∂2Vd∂qa∂qu
=−KIka(ku − ka),
puede verificarse que Vd(q) tiene un mınimo en cero (q = 0) si kuke < 0. Finalmente, la ley de
control (4.16) queda
u = v(q, p) (4.38)
al ser V (q) independiente de qa (por tanto, ∇qaVa(qa + q∗a) = 0), donde:
v(q, p) =− K−1[KP yd +KI [kaqa − (ku − ka)qu]
− a
I1
kuKD sen(qu)] (4.39)
siendo
yd =kuI1
[pa − pu] +kaI2
[pa − I2r], (4.40)
K = ke +KD
[kaI2
+kuI1
]. (4.41)
4.2. CONTROL PID BASADO EN PASIVIDAD 51
4.2.3. Simulaciones
En esta seccion se presentan los resultados numericos de simulacion para validar el desempeno
del controlador (4.39). Los parametros del modelo del pendulo con rueda inercial (Figura 4.1)
de la marca Quanser y las ganancias del controlador (4.39) son mostradas en las Tablas 3.1 y
4.1, respectivamente.
Ganancia Valor
ke 1
ku -1
ka 0.05
KI 0.10
KD 3.42×10−4
KP 0.01
Tabla 4.1: Ganancias del controlador PID basado en pasividad aplicado al sistema pendulo con
rueda inercial.
La condicion inicial fue:
[qu, qa, pu, pa]T = [π, 0, 0, 0]>
y la configuracion deseada fue establecida para: q∗u
q∗a(t)
=
0
5t
.En las Figuras 4.2a, 4.2b y 4.2c se muestra la evolucion temporal de la entrada de control y los
errores de posicion de cada articulacion. Visualmente se aprecia como los errores de posicion
tienden a cero (ver figuras 4.2b y 4.2c). Esto significa que se ha estabilizado el pendulo en su
configuracion invertida, mientras que la rueda sigue la referencia dada por la funcion rampa 5t,
lo cual significa de manera equivalente que la rueda gira a una velocidad constante de 5 [rad/s]
(ver figuras 4.2d y 4.2e).
4.2. CONTROL PID BASADO EN PASIVIDAD 52
0 0.5 1 1.5 2 2.5
t [s]
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
u [N
m]
Ley de control
(a) Par requerido por la accion de control u(t).
0 0.5 1 1.5 2 2.5
t [s]
-1
-0.5
0
0.5
1
1.5
2
2.5
3
3.5
qut [r
ad]
Error qu
(b) Error en la articulacion subactuada qu(t).
0 0.5 1 1.5 2 2.5
t [s]
-10
-5
0
5
10
15
20
25
30
35
40
qat [
rad]
Error qa
(c) Error en la articulacion actuada qa(t)
0 0.5 1 1.5 2 2.5
t [s]
-1
-0.5
0
0.5
1
1.5
2
2.5
3
3.5
qu [ra
d]
(d) Articulacion subactuada qu(t)
0 0.5 1 1.5 2 2.5
t [s]
-10
0
10
20
30
40
50
qa [ra
d]
Ref
qa
(e) Articulacion actuada qa(t)
0 0.5 1 1.5 2 2.5
t [s]
0
0.2
0.4
0.6
0.8
1
1.2
Hd
Función de Lyapunov
(f) Funcion de Lyapunov Hd(t)
Figura 4.2: Simulacion del sistema pendulo con rueda inercial usando el control PID basado en
pasividad (4.38), para la regulacion de velocidad constante.
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 53
4.3. IDA-PBC para regulacion de velocidad constante
En esta seccion se presenta la solucion de [8] al problema de regulacion de velocidad cons-
tante. Se disena una ley de control para regulacion de velocidad constante en el sistema carro-
pendulo. Se llevan a cabo experimentos para implementar el controlador, logrando resultados
satisfactorios.
4.3.1. Objetivo de control
En [8] el error de posicion se define como
q = q − qd, (4.42)
la cual corresponde a una definicion habitual del error de posicion. La novedad del trabajo de [8]
reside en la definicion el error de momento, el cual se define como:
p = Md(q) [q − qd] (4.43)
y ya que ˙q = q − qd entonces (4.43) se reescribe como:
p = Md(q) ˙q (4.44)
donde Md(q) ∈ Rn×n es una matriz simetrica y definida positiva.
Mediante (4.44) y asignando a Hd : Ωd ⊆ Rn → R como
Hd(q, p) =1
2pTM−1
d (q)p+ Vd(q) (4.45)
es posible escribir la dinamica del sistema en malla cerrada en terminos del vector de estado
[qT pT ]T de la siguiente manera
d
dt
qp
=
O In
−In −D
∇qHd
∇pHd
(4.46)
donde D ∈ Rn×n es una matriz simetrica semidefinida positiva usada para inyectar amortigua-
miento al sistema en malla cerrada y Vd(q) es una funcion escalar, la cual es al menos una vez
diferenciable.
Considerando (4.42) y (4.44), el objetivo de control es:
lımt→∞
q(t)p(t)
=
0
0
. (4.47)
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 54
El cumplimiento del objetivo de control, para una seleccion adecuada de senales de referencia,
implica una regulacion de velocidad en el sistema mecanico subactuado.
4.3.2. Ley de control y matching equations
De la definicion de p en (4.43) tome la derivada respecto al tiempo considerando que q =
M−1(q)p para ası conseguir
˙p = Md(q)[M−1(q)p− qd
]+Md(q)
[M−1(q)p+M−1(q)p− qd
](4.48)
Desarrollando las multiplicaciones en (4.48) y factorizando terminos comunes conseguimos
˙p =[Md(q)M
−1(q) +Md(q)M−1(q)
]p+Md(q)M
−1(q)p− Md(q)qd −Md(q)qd (4.49)
La ecuacion (4.49) se simplifica para aquellos sistemas con M = M y Md = Md matrices
constantes y asignando referencias con velocidad constante:
˙p = MdM−1p. (4.50)
Incorporando a p de (4.1) en (4.50) obtenemos
˙p = MdM−1 [−∇qH +G(q)u] (4.51)
Ahora igualando ˙p de (4.46) con (4.51) se tiene
−∇qHd −D∇pHd = MdM−1 [−∇qH +G(q)u] (4.52)
Despejando u de (4.52) y sustituyendo para (∇qH,∇qHd,∇pHd) obtenemos la ley de control
u = [GT (q)G(q)]−1GT (q)∇qV − MM−1
d
[∇qVd +DM−1
d p]
(4.53)
la cual por aplicarse en un sistema subactuado (rango(G) < n) debe cumplir con las siguientes
restricciones
G⊥(q + qd)MM−1d ∇qVd = G⊥(q + qd)∇qV
∣∣∣∣q=q+qd
(4.54)
G⊥(q + qd)MM−1d DM−1
d p = 0 (4.55)
Asignando a
D(q + qd) = MdM−1G(q + qd)KvG(q + qd)
TM−1Md (4.56)
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 55
donde Kv ∈ IRm×m es una matriz diagonal definida positiva se cumple la ecuacion (4.55) dejando
a (4.54) como la unica ecuacion diferencial parcial a resolver.
En la siguiente seccion se muestra la aplicacion del metodo expuesto al sistema carro-pendulo.
4.3.3. Caso de estudio: sistema carro-pendulo
En este caso de estudio se usa el modelo (2.27) sin considerar friccion durante la etapa de
diseno del controlador.
4.3.3.1. Moldeo de energıa
Se procede a resolver la ecuacion (4.54) para obtener la ley de control por moldeo de energıa.
El aniquilador por la izquierda G⊥ de la matriz de entradas G es
G⊥(q) =[α3 cos(q2) 1
]. (4.57)
Por otro lado, se elige una matriz constante
Md =
a1 a2
a2 a3
(4.58)
con constantes aj tales que
a1 > 0 (4.59)
a1a3 − a22 > 0. (4.60)
Asimismo, se tiene que
∇qVd(q) =
∂Vd∂q1
∂Vd∂q1
. (4.61)
Al sustituir las funciones correspondientes en (4.54) se consigue la ecuacion diferencial parcial
con qd2 = 0 y definiendo ∆ = a1a3 − a22:
(a3α3 cos(q2)− a2)∂Vd∂q1
+ (a1 − a2α3 cos(q2))∂Vd∂q2
= −α1∆ sen(q2) (4.62)
Una solucion particular de (4.62) es
Vd(q) = −∆α1
a2α3
ln
(a2α3 cos(q)2 − a1
a2α3 − a1
)+
1
2kpz(q)2 (4.63)
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 56
siendo kp una ganancia estrictamente positiva y donde
z(q) = q1 +a3
a2
(q2) + γ1 arctanh(γ2 tan(q2
2)) (4.64)
con las constantes γ1 y γ2 definidas como
γ1 =2∆
a2
√a2
2α23 − a2
1
, (4.65)
γ2 =a1 + a2α3√a2
2α23 − a2
1
. (4.66)
La funcion Vd(q) en (4.63) tendra un mınimo en el origen si
kp > 0, (4.67)
a2α3 > a1. (4.68)
El gradiente de Vd(q), necesario para el calculo de la ley de control (4.53), es
∇qVd(q) =
kpz(q)
ξ1(q) + kpz(q)ξ2(q)
(4.69)
con z(q) dado por (4.64) y (ξ1, ξ2) definidas como
ξ1(q) =∆α1 sen(q2)
a2α3 cos(q2)− a1
(4.70)
ξ2(q) =a2 − a3α3 cos(q2)
a1 − a2α3 cos(q2)(4.71)
4.3.3.2. Ley de control
La ley de control por moldeo de energıa ues es:
ues =kpγ1arctanh(γ2 tan( q2
2))
a2α3 cos(q2)− a1
+kp [a2q1 + a3q2] + a2
2α1 sen(q2)
a22α3 cos(q2)− a1a2
. (4.72)
El amortiguamiento se inyecta por medio de la ley de control udi:
udi = −kvp1 + kvα3 cos(q2)p2 (4.73)
con kv > 0.
La ley de control u es
u =kpγ1arctanh(γ2 tan( q2
2))
a2α3 cos(q2)− a1
+kp [a2q1 + a3q2] + a2
2α1 sen(q2)
a22α3 cos(q2)− a1a2
− kvp1 + kvα3 cos(q2)p2, (4.74)
donde las constantes αi definidas en (2.17)-(2.19) son
α1 =mplpg
Jp +mpl2p, α2 =
1
Jp +mpl2p, α3 =
mplpJp +mpl2p
.
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 57
4.3.3.3. Analisis de estabilidad
La malla cerrada se consigue al sustituir la ley de control u de (4.74) en (2.27), sin friccion
en la coordenada subactuada, esto es, fr2(q2) = 0. La forma compacta de la malla cerrada es
d
dt
qp
=
O In
−In −D(q2)
∇qHd
∇pHd
(4.75)
donde
∇qHd = ∇qVd (4.76)
con ∇qVd dado en (4.69) y
∇pHd = M−1d p. (4.77)
Del sistema en malla cerrada (4.75)) se puede deducir que el origen [q1 q2 p1 p2]> = [0 0 0 0]> es
un equilibrio. Ademas si Md de (4.58) y Vd de (4.63) cumplen con las condiciones (4.59)-(4.60)
y (4.67)-(4.68) entonces Hd dada por
Hd(q, p) =1
2p>M−1
d p+ Vd(q) (4.78)
es definida positiva en una vecindad alrededor del origen [q1 q2 p1 p2]> = [0 0 0 0]>.
Al calcular la derivada de Hd a lo largo de las trayectorias de (4.75) se consigue
Hd = −∇>pHdD(q2)∇pHd (4.79)
de donde se concluye que
Hd ≤ 0 (4.80)
por ser D(q2) ≥ 0. Por lo tanto mediante el teorema de Lyapunov se asegura que el origen es
un equilibrio estable del sistema en malla cerrada (4.75) con funcion de Lyapunov Hd.
Queda como trabajo futuro demostrar estabilidad asintotica del origen por medio del teorema
de Barbashin-Krasovkii (ver [2]), demostrando formalmente el cumplimiento del objetivo de
control (4.47).
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 58
4.3.3.4. Simulaciones
Con la finalidad de validar numericamente el diseno de la ley de control (4.74) y el cumpli-
miento del objetivo de control (4.47), en esta seccion se presentan resultados en simulacion.
En la figura 4.3 se visualiza la respuesta del sistema carro-pendulo en malla cerrada con la
leyes de control F (q, q, u) de (2.16) y u de (4.74). La condicion inicial para la simulacion fue
[q1 q2 q1 q2]> = [0 π/12 0 0]>. Las ganancias del controlador se muestran en la tabla 4.2. La
senal de referencia para esta simulacion fueq1(t)
q2(t)
=
f(t)
0
donde la funcion f(t) = ct es la funcion rampa con c = 0.05.
En la figura 4.3a se muestra la coordenada actuada (carro) y en la figura 4.3b el pendulo
(coordenada subactuada). Tal y como se aprecia en estas figura, el carro es capaz de seguir una
referencia para moverse a velocidad constante, mientras que el pendulo es llevado a su posicion
vertical superior y permanece en equilibrio durante el recorrido.
Por otra parte, en la figura 4.3c se muestra la evolucion temporal de la funcion de Lyapunov
Hd(t), la cual se desvanece hacia cero. Note tambien, en la figura 4.3d que el valor de la fuerza
requerida por la ley de control es distinto de cero cuando el carro se mueve a velocidad constante.
La razon de esto es porque se ha compensado la friccion en la coordenada actuada usando el
modelo
fr1 = fv q1 + fcsign(q1) (4.81)
Con la informacion obtenida a partir de la simulacion mostrada, se valida el diseno de la ley
de control (4.74) y el cumplimiento del objetivo de control (4.47).
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 59
Ganancia Valor
a1 30.0
a2 8.86
a3 3.11
kp 510
kv 2.00
Tabla 4.2: Ganancias del controlador de regulacion de velocidad aplicado al carro-pendulo.
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
qd1, q1
Coordenada actuada
qd1
q1
(a) Evolucion temporal coordenada actuada
q1(t).
0 1 2 3 4 5 6 7 8 9 10
t [s]
-0.1
-0.05
0
0.05
0.1
0.15
0.2
q2
Coordenada subactuada
(b) Evolucion temporal coordenada subactuada
q2(t).
0 1 2 3 4 5 6 7 8 9 10
t [s]
0
0.5
1
1.5
2
2.5
Hd
Función de Lyapunov
(c) Evolucion temporal de la funcion de Lyapunov
Hd(t).
0 1 2 3 4 5 6 7 8 9 10
t [s]
-20
-10
0
10
20
30
40
50
60
70
F [N
]
Ley de control
(d) Fuerza requerida por la ley de control F (t),
la cual contiene al regulador de velocidad u(t).
Figura 4.3: Simulacion del regulador de velocidad (4.74) en el modelo (2.27) del sistema carro-
pendulo para funciones rampa f(t) = ct, con c = 0.05.
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 60
Figura 4.4: Diagrama de bloques del experimento de regulacion de velocidad constante para el
sistema carro-pendulo.
4.3.3.5. Resultados experimentales
El controlador validado en simulacion en la seccion anterior se implemento, realizando ciertas
modificaciones, en el prototipo desarrollado por [21] mostrado en la figura 4.5, el cual tiene un
sistema de adquisicion de datos y una etapa de potencia marca Quanser.
El prototipo dispone de tres sensores. Dos de los sensores son encoders incrementales, los
cuales miden la posicion del carro y el angulo del pendulo. El tercer sensor es un tacogenerador
que se utiliza para medir la velocidad del carro. Debido a que no se cuenta con un sensor
que mida directamente la velocidad del pendulo, es necesario estimar este estado a partir del
desplazamiento angular del pendulo, medido por el encoder. Esto representa una limitante para
la implementacion directa de la ley de control (2.16) y (4.74), las cuales requieren una medicion
completa del estado.
En este sentido se opto por estimar la velocidad del pendulo, derivando respecto al tiempo
la senal obtenida del encoder, aplicando posteriormente un filtro pasa bajas. La funcion de
transferencia del filtro es
G(s) =40s
s+ 40, (4.82)
donde la sintonıa del mismo se hizo de manera empırica.
Para la implementacion, la senal de salida de este filtro ˙q2 se realimento en lugar de la
variable de estado q2, en la ley de control (2.16) y (4.74), asumiendo que ˙q2 ≈ q2.
Se debe aclarar que con esta alternativa, es recomendable redisenar la ley de control o
contemplar el efecto del filtro en el analisis de estabilidad. Ninguna de las dos opciones anteriores
se realizo en este trabajo. No obstante con la evidencia experimental obtenida, esto fue suficiente.
En cuanto al actuador, este es un motor de corriente directa con escobillas. Para los experi-
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 61
mentos realizados el voltaje Va aplicado entre escobillas es
Va =
[Ra
kgkt
]F (q, q, u) + kgkmq1 (4.83)
donde F (q, q, u) viene dada por (2.16) con la entrada de control u definida en (4.74) con (4.72) y
(4.73), despreciando la inductancia del motor. Los parametros del motor y de friccion2 son mos-
trados en la tabla 4.3. Los parametros de friccion del sistema carro-pendulo han sido identificados
en malla abierta por medio de un algoritmo de mınimos cuadrados siguiendo el procedimiento
reportado en [22].
La figura 4.4 es un diagrama de bloques del control implementado en el experimento. En
este diagrama la referencia esta compuesta por la posicion y velocidad (constante) del carro.
Los bloques Σ1 y Σ2 son los modelos del motor y el carro pendulo dados por
Σ1 :di
dt=
1
La[Va −Rai− kgkmq1] (4.84)
y
Σ2 : q = M−1(q) [Gkgτ − C(q, q)q −∇qV (q)] . (4.85)
Es preciso aclarar que los efectos inerciales del motor y la transmision, ya han sido incluidos
en el modelo del carro-pendulo. Note que a la salida del carro-pendulo (bloque Σ2) la senal del
pendulo (q2) es llevada al bloque que contiene la accion derivativa y el filtro. La salida de este
bloque es entonces realimentada y se utiliza como una aproximacion de la velocidad del pendulo
(q2).
Los experimentos se realizaron en computadora con una frecuencia de muestreo de 1 kHz.
En las tablas 3.5 y 4.2 se muestran los valores de los parametros del carro-pendulo y las ga-
nancias del controlador respectivamente, mientras que en las figuras 4.6 y 4.7 las graficas de los
experimentos.
En los experimentos mostrados se levanto manualmente el pendulo desde su posicion de
reposo hasta una altura dentro de la region de atraccion del sistema en malla cerrada (+/- 10
grados).
El primer experimento, mostrado en la figura 4.6, consistio en asignar funciones rampa como
referencia en la posicion del carro con finalidad de regular la velocidad del mismo mientras el
pendulo permanece equilibrado en su punto superior. Note que a pesar de las aproximaciones
2Se ha despreciado la fuerza de friccion en la coordenada subactuada.
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 62
Parametro Valor Unidad
Ra 2.60 Ω
km 7.68×10−3 V s/rad
kt 7.68×10−3 N m/A
kg 3.66×103 -
fv 34.97 kg/s
f+c 1.1862 N
f−c 0.9388 N
Tabla 4.3: Parametros del motor y de friccion del sistema carro-pendulo.
Figura 4.5: Plataforma experimental sistema carro-pendulo (Ver: Velazquez, 2019).
hechas, el carro es capaz de seguir la senal de referencia manteniendo al pendulo equilibrado en
su punto superior.
En el siguiente experimento, figura 4.7, se asignan escalones con la finalidad de mostrar
el desempeno del controlador ante entradas de este tipo, esto es, con velocidad nula tal que el
control de posicion es recuperado. Note que el controlador es capaz tanto de regular la velocidad
del carro como de llevar su posicion a un valor constante.
El desempeno del controlador (4.74) se ve afectado entre otros factores por:
1. El proceso de discretizacion al implementar el controlador en la computadora.
2. Fenomenos de friccion dinamica no compensados.
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 63
3. La conversion algebraica entre fuerza y voltaje, no considerando la dinamica del actuador.
0 10 20 30 40 50 60
t [s]
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
qd1, q1
Coordenada actuada
q1
Referencia
(a) Evolucion temporal coordenada actuada
q1(t).
0 10 20 30 40 50 60
t [s]
-0.5
0
0.5
1
1.5
2
2.5
3
3.5
q2
Coordenada subactuada
(b) Evolucion temporal coordenada subactuada
q2(t).
0 10 20 30 40 50 60
t [s]
-10
-8
-6
-4
-2
0
2
4
6
8
V [V
]
Ley de control
(c) Voltaje de armadura requerido por la ley de
control V (t)
Figura 4.6: Resultados experimentales del regulador de velocidad (4.74), implementado en el
prototipo del sistema carro-pendulo para funciones rampa f(t) = ct, con c = 0.05. El voltaje
aplicado es el calculado en (4.83).
4.3. IDA-PBC PARA REGULACION DE VELOCIDAD CONSTANTE 64
0 10 20 30 40 50 60
t [s]
-0.04
-0.02
0
0.02
0.04
0.06
0.08
qd1, q1
Coordenada actuada
q1
Referencia
(a) Evolucion temporal coordenada actuada
q1(t).
0 10 20 30 40 50 60
t [s]
-0.5
0
0.5
1
1.5
2
2.5
3
3.5
q2
Coordenada subactuada
(b) Evolucion temporal coordenada subactuada
q2(t).
Figura 4.7: Resultados experimentales del regulador de velocidad (4.74) en el prototipo del
sistema carro-pendulo para un tren de escalones, donde f(t) = ct, con c = 0.
Capıtulo 5
Conclusiones y trabajo futuro
5.1. Conclusiones
En esta investigacion se han abordado y resuelto problemas relacionados con control de
oscilaciones y regulacion de velocidad en sistemas mecanicos subactuados, de dos grados de
libertad con grado de subactuacion igual a uno y cuya matriz de inercia es constante. Se ha
desarrollada la teorıa y se han presentado resultados en simulacion y de manera experimental.
Se disenaron leyes de control para producir oscilaciones controladas en amplitud y frecuencia,
para los sistemas pendulo con rueda inercial y carro pendulo. Aclaramos que las leyes de control
se han obtenido al asumir un ajuste perfecto entre las dinamicas de malla abierta y cerrada. Por
lo que es necesario contar con los parametros de la planta y medir cada una de las variables de
estado. Cualquier desajuste entre las dinamicas, como variacion de parametros, perturbaciones o
dinamica no modelada, repercute de manera negativa en el desempeno de las leyes de control. En
este sentido, se diseno y aplico un compensador de friccion dinamica en la coordenada actuada
para el pendulo con rueda inercial.
Tambien se han aplicado y desarrollado propuestas de solucion al problema de regulacion
de velocidad constante en sistemas mecanicos subactuados con matriz de inercia constante. La
primer propuesta que se aplico fue la de [7] y la segunda la de [8]. Ambas se han desarrollado
despreciando el efecto de la friccion.
Se lograron todos los objetivos propuestos inicialmente.
65
5.2. TRABAJO FUTURO 66
5.2. Trabajo futuro
Como trabajo futuro se plantea concluir los analisis de estabilidad de las leyes de control
propuestas y desarrolladas. Tambien se plantea implementar los controladores para evaluar su
desempeno.
Por otro lado, se pretende desarrollar un esquema propuesto de control de oscilaciones,
que combina el moldeo de energıa con el metodo de gradiente de velocidad, para matrices
inercia que no sean constantes. La alternativa que se sugiere es usar el metodo de lagrangiano
controlado en formulacion hamiltoniana [1] en sistemas mecanicos subactuados con variables
cıclicas (e.g., sistema carro-pendulo y pendulo de Furuta). Se espera que de encontrar solucion
a la etapa de moldeo de energıa, la estructura del sistema en malla cerrada permita preservar
constantes de movimiento que puedan ser utilizadas en el metodo de gradiente de velocidad.
Como consecuencia, la teorıa presentada en esta tesis para el control de oscilaciones podrıa
aplicarse a una clase mas amplia de sistemas mecanicos subactuados que aquellos con matriz
de inercia constante.
Apendice A
Codigo fuente
Se anexan los scripts de Matlab con el codigo para realizar las simulaciones reportadas en
este trabajo.
Codigo del control de oscilaciones para el pendulo con
rueda inercial
1 %%Control por moldeo de ene rg i a mas metodo de g rad i en t e de ve l oc idad
2 %%Sistema pendulo con rueda i n e r c i a l // 06/ Agosto /2019
3 opt ions=odeset ( ’ I n i t i a l S t e p ’ , 0 . 0 1 , ’ MaxStep ’ , 0 . 0 2 ) ;
4 %Amplitud de o s c i l a c i o n (DEG)
5 deg = 10 ;
6 %f r e c u e n c i a de o s c i l a c i o n
7 f = 1 ;
8 %Velocidad angular o s c i l a c i o n
9 w=2∗pi ∗ f ;
10 %Ganancias de l cont ro l ado r
11 k1 = −0.4;
12 gamma = [ 1 1 0 ] ;
13 k = 2.9818 e−04;
14 %Parametros de l s i s tema
67
APENDICE A. CODIGO FUENTE 68
15 I1= 17 . 1∗1 . 0 e−5;
16 I2= 2 . 5∗1 . 0 e−5;
17 m1 = 0 . 0 3 ;
18 m2 = 0 . 2 1 6 4 ;
19 l 1 = 0 . 0 5 8 ;
20 l 2 = 0 . 1 2 ;
21 M = [ I1+I2 , I2 ;
22 I2 , I2 ] ; %Matriz de i n e r c i a
23 detM = det (M) ;
24 m3 = 9 .8∗ (m1∗ l 1+m2∗ l 2 ) ;
25 G = [ 0 ; 1 ] ;
26 a = m3;
27 %Parametr izac ion matr iz Md
28 a3 = −detM∗wˆ2/a∗k1 ;
29 a2 = (M(1 ,1 ) ∗a3−k1∗detM) /M(1 ,2 ) ;
30 a1 = (detM+a2 ˆ2) /a3 ;
31 Md = [ a1 , a2 ;
32 a2 , a3 ] ; %Matriz Md
33 detMd= det (Md) ;
34 %Inve r sa s de M y Md
35 iM = (1/detM) ∗ [M(2 , 2 ) −M(1 ,2 ) ;
36 −M(1 ,2 ) M(1 , 1 ) ] ; %Inver sa de M
37 iMd = (1/detMd) ∗ [Md(2 , 2 ) −Md(1 ,2 ) ;
38 −Md(1 ,2 ) Md(1 , 1 ) ] ; %Inver sa de Md
39 %Funcion Vd evaluada en $q 1 ˆ∗$
40 Vmax = m3/k1 ∗( cos ( deg ∗( p i /180) )−1) ;
41 Gd = Md∗iM∗G;
42 % up1 = −Vmax∗k∗gamma(1) ∗M(1 ,2 ) /detM ;
43 % up2 = Vmax∗k∗gamma(1) ∗M(1 ,1 ) /detM−detMd∗k∗k1∗gamma(2) /detM ;
44 % UP = [Gd(1) ∗up1 Gd(1) ∗up2 ;Gd(2) ∗up1 Gd(2) ∗up2 ] ;
45 % Pg =[a/k1 0 ;0 0 ] ;
APENDICE A. CODIGO FUENTE 69
46 % A = [ ze ro s (2 , 2 ) iMd ; Pg UP] ;
47 % e i g (A)
48
49 %Dimension de l e spac i o de es tados
50 n = 4 ;
51 %Tiempo de s imulac ion
52 tspan = [ 0 1 0 ] ;
53 %Condic iones i n i c i a l e s (q , pt )
54 ph=M∗ [ 0 ; 0 ] ;
55 X = ze ro s (n , 1 ) ;
56 X( : , 1 ) = [45∗ ( p i /180) ,0 , ph (1 ) , ph (2 ) ] ;
57 %Simulac ion
58 [ t , x ] = ode45 (@( t , x ) i n e r t i a l 8 s f ( t , x ,M,Md,m3, k1 ,Vmax,gamma, k ) ,
tspan ,X( : , 1 ) , opt ions ) ;
59 %Calculo de v e c t o r e s para g r a f i c a r
60 Minv = iM ;
61 Mdinv = iMd ;
62 aq = x ( : , 1 : 2 ) ;
63 ap = x ( : , 3 : 4 ) ;
64 apt = Md∗Minv∗ap ’ ;
65 apt = apt ’ ;
66 n = s i z e ( t , 1 ) ;
67
68 %Energia regu lada
69 Kd = ze ro s (n , 1 ) ;
70 Vd = ze ro s (n , 1 ) ;
71 Hd = ze ro s (n , 1 ) ;
72 f o r i =1:n
73 q = aq ( i , 1 : 2 ) ;
74 pt = apt ( i , 1 : 2 ) ;
75 Kd( i ) = 0.5∗ pt∗Mdinv∗pt ’ ;
APENDICE A. CODIGO FUENTE 70
76 Vd( i ) = m3/k1 ∗( cos ( q (1 ) )−1) ;
77 Hd( i ) = Kd( i )+Vd( i ) ;
78 end
79
80 %Funcion de Lyapunov
81 V = ze ro s (n , 1 ) ;
82 f o r i =1:n
83 pt = apt ( i , 1 : 2 ) ;
84 V( i ) =0.5∗gamma(1) ∗(Hd( i )−Vmax) ˆ2+0.5∗gamma(2) ∗pt (2 ) ˆ2 ;
85 end
86
87 %Ley de c o n t r o l
88 u = ze ro s (n , 1 ) ;
89 uc = ze ro s (n , 1 ) ;
90 G = [ 0 ; 1 ] ;
91 Gc = Md∗Minv∗G;
92 f o r i =1:n
93 q = aq ( i , 1 : 2 ) ;
94 p = ap ( i , 1 : 2 ) ;
95 pt = apt ( i , 1 : 2 ) ;
96 gV = [−m3∗ s i n ( q (1 ) ) ; 0 ] ;
97 gVd = [−m3/k1∗ s i n ( q (1 ) ) ; 0 ] ;
98 gKd = Mdinv∗pt ’ ;
99 uc ( i ) = −k∗(gamma(1) ∗(Hd( i )−Vmax)∗gKd’∗Gc+gamma(2) ∗pt (2 ) ∗Gc(2) )
;
100 u( i ) = G’ ∗ (M∗Mdinv∗(Gc∗uc ( i )−gVd)+gV) ;
101 end
102
103 %Gra f i ca s
104
105 f i g u r e (1 )
APENDICE A. CODIGO FUENTE 71
106 p lo t ( t , x ( : , 1 ) ∗(180/ p i ) , ’ l i n ew id th ’ , 0 . 9 ) ;
107 t i t l e ( ’ Coordenada subactuada ’ )
108 g r id on ;
109 x l a b e l ( ’ t [ s ] ’ )
110 y l a b e l ( ’ q1 [ grados ] ’ )
111 pr in t −depsc QIP 1 sg . eps
112
113 f i g u r e (2 )
114 p lo t ( t , x ( : , 2 ) , ’ l i n ew id th ’ , 0 . 9 ) ;
115 t i t l e ( ’ Coordenada actuada ’ )
116 g r id on ;
117 x l a b e l ( ’ t [ s ] ’ )
118 y l a b e l ( ’ q2 [ rad ] ’ )
119 pr in t −depsc QIP 2 sg . eps
120
121 f i g u r e (3 )
122 p lo t ( t ,Hd, ’ l i n ew id th ’ , 0 . 9 )
123 t i t l e ( ’Hd( t ) ’ )
124 g r id on ;
125 x l a b e l ( ’ t [ s ] ’ )
126 y l a b e l ( ’Hd ’ )
127 pr in t −depsc QIP 3 sg . eps
128
129 f i g u r e (4 )
130 p lo t ( t ,V, ’ l i n ew id th ’ , 0 . 9 ) ;
131 t i t l e ( ’Q( t ) ’ )
132 g r id on ;
133 x l a b e l ( ’ t [ s ] ’ )
134 y l a b e l ( ’Q ’ )
135 pr in t −depsc QIP 4 sg . eps
136
APENDICE A. CODIGO FUENTE 72
137 f i g u r e (5 )
138 p lo t ( t , u , ’ l i n ew id th ’ , 0 . 9 ) ;
139 t i t l e ( ’ Par ’ )
140 g r id on ;
141 x l a b e l ( ’ t [ s ] ’ )
142 y l a b e l ( ’u [N m] ’ )
143 pr in t −depsc QIP 5 sg . eps
144
145 f i g u r e (6 )
146 p lo t ( t , apt ( : , 2 ) )
147 g r id on
148 t i t l e ( ’ ph2 ’ )
149 g r id on ;
150 x l a b e l ( ’ t [ s ] ’ )
151 y l a b e l ( ’ ph2 ’ )
152 pr in t −depsc QIP 6 sg . eps
APENDICE A. CODIGO FUENTE 73
1 f unc t i on dx = i n e r t i a l 8 s f ( t , x ,M,Md,m3, k1 ,Vmax,gamma, k )
2 q = [ x (1 ) ; x (2 ) ] ;
3 p = [ x (3 ) ; x (4 ) ] ;
4 %Funciones de l s i s tema en l a zo a b i e r t o .
5 detM = det (M) ;
6 Minv = (1/detM) ∗ [M(2 , 2 ) −M(1 ,2 ) ;−M(2 ,1 ) M(1 , 1 ) ] ;
7 gV = [−m3∗ s i n ( q (1 ) ) ; 0 ] ;
8 G = [ 0 ; 1 ] ;
9 %Moldeo de ene rg i a
10 detMd=det (Md) ;
11 Mdinv = (1/detMd) ∗ [Md(2 , 2 ) −Md(1 ,2 ) ;−Md(2 ,1 ) Md(1 , 1 ) ] ;
12 pt = Md∗Minv∗p ;
13 gVd = [−m3/k1∗ s i n ( q (1 ) ) ; 0 ] ;
14 gKd = Mdinv∗pt ;
15 Kd = 0.5∗ pt ’∗Mdinv∗pt ;
16 %Gradiente de ve l oc idad
17 Vd = m3/k1 ∗( cos ( q (1 ) )−1) ;
18 Hd = Kd+Vd;
19 Gc = Md∗Minv∗G;
20 ysg = gamma(1) ∗(Hd−Vmax)∗gKd’∗Gc+gamma(2) ∗pt (2 ) ∗Gc(2) ;
21 usg = −k∗ysg ;
22 u = G’ ∗ (M∗Mdinv∗(Gc∗usg−gVd)+gV) ;
23 dx = [ Minv∗p ;
24 −gV+G∗u ] ;
25 end
APENDICE A. CODIGO FUENTE 74
Codigo del control de oscilaciones con compensador de
friccion dinamica para el pendulo con rueda inercial
1 %%Control por moldeo de ene rg i a mas metodo de g rad i en t e de ve l oc idad
2 %%Compensador de f r i c c i o n dinamica
3 %%Sistema pendulo con rueda i n e r c i a l // 06/ Agosto /2019
4 opt ions=odeset ( ’ I n i t i a l S t e p ’ , 0 . 0 1 , ’ MaxStep ’ , 0 . 0 2 ) ;
5 %Amplitud de o s c i l a c i o n (DEG)
6 deg = 10 ;
7 %f r e c u e n c i a de o s c i l a c i o n
8 f = 1 ;
9 %Velocidad angular o s c i l a c i o n
10 w=2∗pi ∗ f ;
11 %Ganancias de l cont ro l ado r
12 k1 = −0.4;
13 gamma = [ 0 . 9 9 5 10 0 . 0 5 ] ;
14 k = 3e−04;
15 %Parametros de l s i s tema
16 I1= 17 . 1∗1 . 0 e−5;
17 I2= 2 . 5∗1 . 0 e−5;
18 m1 = 0 . 0 3 ;
19 m2 = 0 . 2 1 6 4 ;
20 l 1 = 0 . 0 5 8 ;
21 l 2 = 0 . 1 2 ;
22 M = [ I1+I2 , I2 ;
23 I2 , I2 ] ; %Matriz de i n e r c i a
24 detM = det (M) ;
25 m3 = 9 .8∗ (m1∗ l 1+m2∗ l 2 ) ;
26 G = [ 0 ; 1 ] ;
27 a = m3;
28 sigma0 = 2 . 0∗1 . 0 e−5;
APENDICE A. CODIGO FUENTE 75
29 fv = 9 .7674∗1 .0 e−7;
30 f c = 1 . 5∗1 . 0 e−3;
31
32 %Parametr izac ion matr iz Md
33 a3 = −detM∗wˆ2/a∗k1 ;
34 a2 = (M(1 ,1 ) ∗a3−k1∗detM) /M(1 ,2 ) ;
35 a1 = (detM+a2 ˆ2) /a3 ;
36 Md = [ a1 , a2 ; a2 , a3 ] ; %Matriz Md
37 detMd= det (Md) ;
38 %Inver sa de matr i ce s
39 iM = (1/detM) ∗ [M(2 , 2 ) −M(1 ,2 ) ;
40 −M(1 ,2 ) M(1 , 1 ) ] ; %Inver sa matr iz de i n e r c i a
41 iMd = (1/detMd) ∗ [Md(2 , 2 ) −Md(1 ,2 ) ;
42 −Md(1 ,2 ) Md(1 , 1 ) ] ; %Inver sa matr iz Md
43
44 Vmax = m3/k1 ∗( cos ( deg ∗( p i /180) )−1) ;
45 Gd = Md∗iM∗G;
46 %Dimension de l e spac i o de es tados
47 n = 6 ;
48 %Tiempo de s imulac ion
49 tspan = [ 0 1 0 ] ;
50 %Condic iones i n i c i a l e s (q , p)
51 ph=Md∗ [ 0 ; 0 ] ;
52 X = ze ro s (n , 1 ) ;
53 X( : , 1 ) = [45∗ ( p i /180) ,0 , ph (1 ) , ph (2 ) , 0 . 5 , 0 ] ;
54 %Simulac ion
55 [ t , x ] = ode45 (@( t , x ) i n e r t i a l 8 ( t , x ,M,Md,m3, k1 ,Vmax,gamma, k , sigma0 ,
fv , f c ) , tspan ,X( : , 1 ) , opt ions ) ;
56 %Calculo de v e c t o r e s para g r a f i c a r
57 Minv = iM ;
58 Mdinv = iMd ;
APENDICE A. CODIGO FUENTE 76
59 aq = x ( : , 1 : 2 ) ;
60 ap = x ( : , 3 : 4 ) ;
61 apt = Md∗Minv∗ap ’ ;
62 apt = apt ’ ;
63 n = s i z e ( t , 1 ) ;
64
65 %Energia regu lada
66 Kd = ze ro s (n , 1 ) ;
67 Vd = ze ro s (n , 1 ) ;
68 Hd = ze ro s (n , 1 ) ;
69 f o r i =1:n
70 q = aq ( i , 1 : 2 ) ;
71 pt = apt ( i , 1 : 2 ) ;
72 Kd( i ) = 0.5∗ pt∗Mdinv∗pt ’ ;
73 Vd( i ) = m3/k1 ∗( cos ( q (1 ) )−1) ;
74 Hd( i ) = Kd( i )+Vd( i ) ;
75 end
76
77 %Funcion de Lyapunov
78 Q = ze ro s (n , 1 ) ;
79 f o r i =1:n
80 pt = apt ( i , 1 : 2 ) ;
81 zt = x ( i , 6 )−x ( i , 5 ) ;
82 Q( i ) =0.5∗gamma(1) ∗(Hd( i )−Vmax) ˆ2+0.5∗gamma(2) ∗pt (2 ) ˆ2+0.5∗
sigma0/gamma(3) ∗ zt ˆ2 ;
83 end
84
85 %Ley de c o n t r o l
86 u = ze ro s (n , 1 ) ;
87 uc = ze ro s (n , 1 ) ;
88 G = [ 0 ; 1 ] ;
APENDICE A. CODIGO FUENTE 77
89 Gc = Md∗Minv∗G;
90 f o r i =1:n
91 q = aq ( i , 1 : 2 ) ;
92 p = ap ( i , 1 : 2 ) ;
93 pt = apt ( i , 1 : 2 ) ;
94 zh = x ( i , 6 ) ;
95 gV = [−m3∗ s i n ( q (1 ) ) ; 0 ] ;
96 gVd = [−m3/k1∗ s i n ( q (1 ) ) ; 0 ] ;
97 gKd = Mdinv∗pt ’ ;
98 uc ( i ) = −k∗(gamma(1) ∗(Hd( i )−Vmax)∗gKd’∗Gc+gamma(2) ∗pt (2 ) ∗Gc(2) )
;
99 u( i ) = G’ ∗ (M∗Mdinv∗(Gc∗uc ( i )−gVd)+gV)+fv ∗G’∗Minv∗p’+sigma0∗zh ;
100 end
101
102 %%Gra f i ca s
103
104 f i g u r e (1 )
105 p lo t ( t , x ( : , 1 ) ∗(180/ p i ) , ’ l i n ew id th ’ , 0 . 9 ) ;
106 t i t l e ( ’ Coordenada subactuada ’ )
107 g r id on ;
108 x l a b e l ( ’ t [ s ] ’ )
109 y l a b e l ( ’ q1 [ grados ] ’ )
110 pr in t −depsc QIP 1 sg fcom B . eps
111
112 f i g u r e (2 )
113 p lo t ( t , x ( : , 2 ) , ’ l i n ew id th ’ , 0 . 9 ) ;
114 t i t l e ( ’ Coordenada actuada ’ )
115 g r id on ;
116 x l a b e l ( ’ t [ s ] ’ )
117 y l a b e l ( ’ q2 [ rad ] ’ )
118 pr in t −depsc QIP 2 sg fcom B . eps
APENDICE A. CODIGO FUENTE 78
119
120 f i g u r e (3 )
121 p lo t ( t ,Hd, ’ l i n ew id th ’ , 0 . 9 ) ;
122 t i t l e ( ’Hd( t ) ’ )
123 g r id on ;
124 x l a b e l ( ’ t [ s ] ’ )
125 y l a b e l ( ’Hd( t ) ’ )
126 pr in t −depsc QIP 3 sg fcom B . eps
127
128 f i g u r e (4 )
129 p lo t ( t ,Q, ’ l i n ew id th ’ , 0 . 9 ) ;
130 t i t l e ( ’Q( t ) ’ )
131 g r id on ;
132 x l a b e l ( ’ t [ s ] ’ )
133 y l a b e l ( ’Q( t ) ’ )
134 pr in t −depsc QIP 4 sg fcom B . eps
135
136 f i g u r e (5 )
137 p lo t ( t , u , ’ l i n ew id th ’ , 0 . 9 ) ;
138 t i t l e ( ’ Par ’ )
139 g r id on ;
140 x l a b e l ( ’ t [ s ] ’ )
141 y l a b e l ( ’u [N m] ’ )
142 pr in t −depsc QIP 5 sg fcom B . eps
143
144 f i g u r e (6 )
145 p lo t ( t , apt ( : , 2 ) )
146 g r id on
147 t i t l e ( ’ ph2 ( t ) ’ )
148 g r id on ;
149 x l a b e l ( ’ t [ s ] ’ )
APENDICE A. CODIGO FUENTE 79
150 y l a b e l ( ’ ph2 ( t ) ’ )
151 pr in t −depsc QIP 6 sg fcom B . eps
152
153 f i g u r e (7 )
154 p lo t ( t , x ( : , 6 )−x ( : , 5 ) )
155 g r id on
156 t i t l e ( ’ Error de observac ion ’ )
157 g r id on ;
158 x l a b e l ( ’ t [ s ] ’ )
159 y l a b e l ( ’ z t ( t ) ’ )
160 pr in t −depsc QIP 7 sg fcom . eps
APENDICE A. CODIGO FUENTE 80
1 f unc t i on dx = i n e r t i a l 8 ( t , x ,M,Md,m3, k1 ,Vmax,gamma, k , sigma0 , fv , f c )
2 %Moldeo de ene rg i a mas metodo de g rad i en t e de ve l oc idad
3 %Compensador de f r i c c i o n dinamica
4 q = [ x (1 ) ; x (2 ) ] ;
5 p = [ x (3 ) ; x (4 ) ] ;
6 z = x (5) ;
7 zh = x (6) ;
8 %Funciones de l s i s tema en l a zo a b i e r t o .
9 detM = det (M) ;
10 Minv = (1/detM) ∗ [M(2 , 2 ) −M(1 ,2 ) ;−M(2 ,1 ) M(1 , 1 ) ] ;
11 gV = [−m3∗ s i n ( q (1 ) ) ; 0 ] ;
12 G = [ 0 ; 1 ] ;
13
14 %Moldeo de ene rg i a
15 detMd=det (Md) ;
16 Mdinv = (1/detMd) ∗ [Md(2 , 2 ) −Md(1 ,2 ) ;−Md(2 ,1 ) Md(1 , 1 ) ] ;
17 pt = Md∗Minv∗p ;
18 gVd = [−m3/k1∗ s i n ( q (1 ) ) ; 0 ] ;
19 gKd = Mdinv∗pt ;
20 Kd = 0.5∗ pt ’∗Mdinv∗pt ;
21 Vd = m3/k1 ∗( cos ( q (1 ) )−1) ;
22 Hd = Kd+Vd;
23 Gc = Md∗Minv∗G;
24 ysg = gamma(1) ∗(Hd−Vmax)∗gKd’∗Gc+gamma(2) ∗pt (2 ) ∗Gc(2) ;
25 usg = −k∗ysg+fv ∗G’∗Minv∗p+sigma0∗zh ;
26 u = G’ ∗ (M∗Mdinv∗(Gc∗usg−gVd)+gV) ;
27 dx = [ Minv∗p ;
28 −gV+G∗u−fv ∗(G∗G’ ) ∗Minv∗p−G∗ sigma0∗z ;
29 −(sigma0∗abs (G’∗Minv∗p) ) / f c ∗z+G’∗Minv∗p ;
30 −(sigma0∗abs (G’∗Minv∗p) ) / f c ∗zh−gamma(3) ∗ysg+G’∗Minv∗p ] ;
APENDICE A. CODIGO FUENTE 81
31 end
Codigo del control de oscilaciones para el sistema carro-
pendulo
1 %%Control por moldeo de ene rg i a mas metodo de g rad i en t e de ve l oc idad
2 %%Sistema carro−pendulo // 06/ Agosto /2019
3 %Amplitud y f r e c u e n c i a de l a o s c i l a c i o n
4 DEG = 5 ;
5 k1 = 1 ;
6 f = 1 ;
7 w = 2∗ pi ∗ f ;
8 %% %Ganancias de l cont ro l ado r
9 k = 0 . 5 ;
10 gamma =[1 5 ] ;
11 %% %Parametros de l s i s tema
12 lp = 0 . 1 5 6 ;
13 g = 9 . 7 8 9 ;
14 mp = 0 . 1 2 7 ;
15 m11 = 5 . 3 9 3 9 ; %mc+mp : Contiene i n e r c i a s de l actuador
16 m22 = 0 . 0 0 4 5 ; %mp∗ lpˆ2+Jp
17 Fv = [34 . 9699 0 ;0 0 ] ;
18 f c = 0 ;
19 r = 0 . 01912 ; %Radio de l a po lea
20 kg = 70/ r ; %Relac ion de l t ren de engranes ( po lea i n c l u i d a )
21 %%Constantes alpha
22 alpha = [mp∗ lp ∗g/m22 1/m22 lp ∗mp/m22 ] ;
23 %%Parametr izac ion matr iz Md
24 a1 = wˆ2∗k1/ alpha (1 ) ;
25 a2 = ( k1+a1 ) / alpha (3 ) ;
APENDICE A. CODIGO FUENTE 82
26 a3 = (1+a2 ˆ2) /a1 ;
27 Md = [ a1 , a2 ;
28 a2 , a3 ] ;
29 DMd = a1∗a3−a2 ˆ2 ; %Determinante de Md
30 Mdinv = (1/DMd) ∗ [ a3 −a2 ;
31 −a2 a1 ] ; %Inver sa de Md
32 Xa=Md;
33 %Funcion Vd evaluada en q2ˆ∗
34 Vdmax = (−DMd∗alpha (1 ) /( a2∗alpha (3 ) ) )∗ l og ( ( a2∗alpha (3 ) ∗ cos (DEG∗ pi
/180)−a1 ) /( a2∗alpha (3 )−a1 ) ) ;
35 %Dimension de l e spac i o de es tados
36 n = 4 ;
37 %Tiempo de s imulac ion
38 tspan = [ 0 1 0 ] ;
39 %Condic iones i n i c i a l e s
40 X = ze ro s (n , 1 ) ;
41 X( : , 1 ) = [0 ,15∗ pi / 1 8 0 , 0 , 0 ] ;
42 %Simulac ion s i s tema dinamico
43 [ t , x ] = ode23 (@( t , x ) c a r t p e n s g b e z a c t u a t o r ( t , x , m11 , m22 ,mp,Md, lp ,
g , alpha , Fv , fc ,Vdmax,gamma, k ) , tspan ,X( : , 1 ) ) ;
44 %Calculo de v e c t o r e s para g r a f i c a r
45 q = x ( : , 1 : 2 ) ;
46 dq =x ( : , 3 : 4 ) ; %V e r i f i c a r d e f i n i c i o n
47 ph = Md∗dq ’ ; ph=ph ’ ;
48 nn =s i z e ( t , 1 ) ;
49 %Energia c i n e t i c a malla cer rada
50 Kd = ze ro s (nn , 1 ) ;
51 f o r i =1:nn
52 aph = ph( i , : ) ;
53 Kd( i ) = 0.5∗ aph∗Mdinv∗aph ’ ;
54 end
APENDICE A. CODIGO FUENTE 83
55 %Energia p o t e n c i a l
56 Vd = ze ro s (nn , 1 ) ;
57 f o r i =1:nn
58 aq = q ( i , : ) ;
59 Vd( i ) = (−DMd∗alpha (1 ) /( a2∗alpha (3 ) ) )∗ l og ( ( a2∗alpha (3 ) ∗ cos ( aq (2 )
)−a1 ) /( a2∗alpha (3 )−a1 ) ) ;
60 end
61 %Energia t o t a l
62 Hd = Kd+Vd;
63 %Funcion de Lyapunov
64 Q = ze ro s (nn , 1 ) ;
65 f o r i =1:nn
66 Q( i ) = 0 .5∗ (gamma(1) ∗(Hd( i )−Vdmax)ˆ2+gamma(2) ∗ph( i , 1 ) ˆ2) ;
67 end
68
69 %Computo de l a l ey de c o n t r o l
70 %Matriz de i n e r c i a despues de l i n e a l i z a r
71 M = eye (2 ) ;
72 Minv = eye (2 ) ;
73 nues = ze ro s (nn , 1 ) ;
74 nusg = ze ro s (nn , 1 ) ;
75 nu = ze ro s (nn , 1 ) ;
76 F = ze ro s (nn , 1 ) ;
77
78 f o r i =1:nn
79 aq = q ( i , : ) ;
80 adq = dq ( i , : ) ;
81 aph = ph( i , : ) ;
82 %% %Matriz de entradas de c o n t r o l despues de l i n e a l i z a r
83 G = [1;− cos ( aq (2 ) )∗alpha (3 ) ] ;
84 Gd = Md∗G;
APENDICE A. CODIGO FUENTE 84
85 %% % %Gradiente de V −despues de l a l i n e a l i z a c i o n
86 gV = [ 0 ; −alpha (1 ) ∗ s i n ( aq (2 ) ) ] ;
87
88 %% %Gradiente de Vd
89 x i = (DMd∗alpha (1 ) ∗ s i n ( aq (2 ) ) ) /( a2∗alpha (3 ) ∗ cos ( aq (2 ) )−a1 ) ;
90 gVd =[ 0 ; x i ] ;
91 %% %Matriz de amortiguamiento
92
93 %% % % %Ley de c o n t r o l por moldeo de ene rg i a
94 nues ( i ) = (1/(1+ alpha (3 ) ˆ2∗ cos ( aq (2 ) ) ˆ2) )∗G’ ∗ ( gV−M∗Mdinv∗gVd) ;
95 %% % % %Ley de c o n t r o l por g rad i en t e de ve l oc idad
96 nusg ( i ) = −k∗(gamma(1) ∗(Hd( i )−Vdmax)∗aph∗Mdinv∗Gd+gamma(2) ∗aph (1) ∗
Gd(1) ) ;
97 nu( i )= nues ( i )+nusg ( i ) ;
98
99 %% % % %Ley de c o n t r o l l i n e a l i z a n t e
100 F( i ) = (m11−alpha (3 ) ∗ lp ∗mp∗ cos ( aq (2 ) ) ˆ2)∗nu( i )+alpha (1 ) ∗mp∗ lp ∗ cos (
aq (2 ) )∗ s i n ( aq (2 ) )−mp∗ lp ∗ s i n ( aq (2 ) )∗adq (2)ˆ2−alpha (2 ) ∗ lp ∗mp∗ cos (
aq (2 ) )∗adq (2 )+Fv (1 , 1 ) ∗adq (1 )+f c ∗ s i gn ( adq (1 ) ) ;
101 %%u = Gb’ ∗ (Mb∗Minv∗(G∗nu−gV)+gVb+Cb∗dq ) ;
102 end
103
104 %Gra f i ca s
105 f i g u r e (1 )
106 p lo t ( t , x ( : , 1 ) , ’ l i n ew id th ’ , 1 )
107 t i t l e ( ’ Coordenada actuada ’ )
108 x l a b e l ( ’ t [ s ] ’ )
109 y l a b e l ( ’ q1 [m] ’ )
110 g r id on
111 pr in t −depsc SG CT1 A . eps
112
APENDICE A. CODIGO FUENTE 85
113 f i g u r e (2 )
114 p lo t ( t , x ( : , 2 ) ∗180/ pi , ’ l i n ew id th ’ , 1 )
115 t i t l e ( ’ Coordenada subactuada ’ )
116 x l a b e l ( ’ t [ s ] ’ )
117 y l a b e l ( ’ q2 [ grados ] ’ )
118 g r id on
119 pr in t −depsc SG CT2 A . eps
120
121 f i g u r e (3 )
122 p lo t ( t ,Q, ’ l i n ew id th ’ , 1 )
123 t i t l e ( ’ Funcion Q( t ) ’ )
124 x l a b e l ( ’ t [ s ] ’ )
125 y l a b e l ( ’Q ’ )
126 g r id on
127 pr in t −depsc SG CT3 A . eps
128
129 f i g u r e (4 )
130 p lo t ( t , F , ’ l i n ew id th ’ , 1 )
131 t i t l e ( ’ Fuerza ap l i cada a l ca r ro ’ )
132 x l a b e l ( ’ t [ s ] ’ )
133 y l a b e l ( ’F [N] ’ )
134 g r id on
135 pr in t −depsc SG CT4 A . eps
136
137 f i g u r e (5 )
138 p lo t ( t ,Hd, ’ l i n ew id th ’ , 1 )
139 t i t l e ( ’ Funcion Hd( t ) ’ )
140 x l a b e l ( ’ t [ s ] ’ )
141 y l a b e l ( ’Hd ’ )
142 g r id on
143 pr in t −depsc SG CT5 A . eps
APENDICE A. CODIGO FUENTE 86
144
145 f i g u r e (6 )
146 p lo t ( t , ph ( : , 1 ) , ’ l i n ew id th ’ , 1 )
147 t i t l e ( ’Momento ph1 ’ )
148 x l a b e l ( ’ t [ s ] ’ )
149 y l a b e l ( ’ ph1 ’ )
150 g r id on
151 pr in t −depsc SG CT6 A . eps
1 f unc t i on dx = c a r t p e n s g b e z a c t u a t o r ( t , x , m11 , m22 ,mp,Md, lp , g , alpha ,
Fv , fc ,Vdmax,gamma, k )
2 %% %Estados de l s i s tema
3 q = [ x (1 ) ; x (2 ) ] ;
4 dq = [ x (3 ) ; x (4 ) ] ;
5 %% %Ganancias cont ro l ado r kp , kv
6 a1 = Md(1 , 1 ) ;
7 a2 = Md(1 , 2 ) ;
8 a3 = Md(2 , 2 ) ;
9 %% %Matriz de Lazo , Matriz de C o r i o l i s y Vector de par g r a v i t a c i o n a l
a b i e r t o antes de l i n e a l i z a r
10 Mb = [ m11 mp∗ lp ∗ cos ( q (2 ) ) ;
11 mp∗ lp ∗ cos ( q (2 ) ) m22 ] ;
12 DMb = Mb(1 ,1 ) ∗Mb(2 ,2 )−Mb(1 ,2 ) ∗Mb(2 ,1 ) ;
13 Mbinv = (1/DMb) ∗ [Mb(2 , 2 ) −Mb(1 ,2 ) ;−Mb(2 ,1 ) Mb(1 , 1 ) ] ;
14 Cb = [ 0 −mp∗ lp ∗ s i n ( q (2 ) )∗dq (2) ; 0 0 ] ;
15 gVb = [ 0 ; −mp∗ lp ∗g∗ s i n ( q (2 ) ) ] ;
16 Gb = [ 1 ; 0 ] ;
17 i f dq (1 )>= 0
18 f c = 1 . 1 8 6 2 ;
19 e l s e i f dq (1 ) < 0
20 f c = 0 . 9 3 8 8 ;
APENDICE A. CODIGO FUENTE 87
21 end
22 FC = [ f c ∗ s i gn ( dq (1 ) ) ; 0 ] ;
23
24 %% %Matriz de entradas de c o n t r o l despues de l i n e a l i z a r
25 G = [1;− alpha (3 ) ∗ cos ( q (2 ) ) ] ;
26
27 %% % %Gradiente de V −despues de l a l i n e a l i z a c i o n
28 gV = [ 0 ; −alpha (1 ) ∗ s i n ( q (2 ) ) ] ;
29
30 %% %Matriz de i n e r c i a en l a zo cer rado ;
31 DMd = a1∗a3−a2 ˆ2 ;
32 Mdinv = (1/DMd) ∗ [ a3 −a2;−a2 a1 ] ;
33 pt = Md∗dq ;
34 %% %Gradiente de Vd
35 x i = (DMd∗alpha (1 ) ∗ s i n ( q (2 ) ) ) /( a2∗alpha (3 ) ∗ cos ( q (2 ) )−a1 ) ;
36 gVd =[ 0 ;
37 x i ] ;
38 %% %Gradiente de ve l oc idad
39 Gd = Md∗G;
40 Kd = 0.5∗ pt ’∗Mdinv∗pt ;
41 Vd = (−DMd∗alpha (1 ) /( a2∗alpha (3 ) ) )∗ l og ( ( a2∗alpha (3 ) ∗ cos ( q (2 ) )−a1
) /( a2∗alpha (3 )−a1 ) ) ;
42 Hd = Kd+Vd;
43 nusg = −k∗(gamma(1) ∗(Hd−Vdmax)∗pt ’∗Mdinv∗Gd+gamma(2) ∗pt (1 ) ∗Gd(1)
) ;
44 %% % % %Ley de c o n t r o l por moldeo de ene rg i a mas g rad i en t e de ve l oc idad
45 nu = (1/(1+ alpha (3 ) ˆ2∗ cos ( q (2 ) ) ˆ2) )∗G’ ∗ ( gV−Mdinv∗gVd)+nusg ;
46
47 %% % % %Ley de c o n t r o l l i n e a l i z a n t e
48 f r = −alpha (2 ) ∗ lp ∗mp∗ cos ( q (2 ) )∗Fv (2 , 2 ) ∗dq (2)+Fv (1 , 1 ) ∗dq (1)+f c ∗ s i gn
( dq (1 ) ) ;
APENDICE A. CODIGO FUENTE 88
49 F = (m11−alpha (3 ) ∗ lp ∗mp∗ cos ( q (2 ) ) ˆ2)∗nu+alpha (1 ) ∗mp∗ lp ∗ cos ( q (2 ) )∗
s i n ( q (2 ) )−mp∗ lp ∗ s i n ( q (2 ) )∗dq (2)ˆ2+ f r ;
50
51 %% % % %Ecuaciones de movimiento
52 dx = [ dq ;
53 Mbinv∗(−gVb−Cb∗dq−Fv∗dq−FC+Gb∗F) ] ;
54 end
APENDICE A. CODIGO FUENTE 89
Codigo del control PID basado en pasividad para el pendu-
lo con rueda inercial
1 %%Regulac ion de ve l oc idad
2 %%Control PID basado en pas iv idad
3 %%Pendulo con rueda i n e r c i a l
4 opt ions=odeset ( ’ I n i t i a l S t e p ’ , 0 . 001 , ’ MaxStep ’ , 0 . 0 0 2 ) ;
5 %Pendiente rampa (DEG)
6 c = 5 ;
7 %Ganancias de l cont ro l ado r
8 ku = −1;
9 %ka = 2000∗(1/T3ˆ2) ;
10 ka =0.0500;
11 ke = −ku ;
12 Ki = 0 . 1 0 ;
13 %KD = 2∗(1/(T2ˆ2) ) ;
14 KD = 3.4200 e−04;
15 Kp = 0 . 0 1 0 ;
16
17 %Parametros de l s i s tema
18 I1= 17 . 1∗1 . 0 e−5;
19 I2= 2 . 5∗1 . 0 e−5;
20 m1 = 0 . 0 3 ;
21 m2 = 0 . 2 1 6 4 ;
22 l 1 = 0 . 0 5 8 ;
23 l 2 = 0 . 1 2 ;
24 m4 = 9 .8∗ (m1∗ l 1+m2∗ l 2 ) ;
25 %Calculo de l a matr iz de i n e r c i a y su f a c t o r i z a c i o n
26 muu = I1+I2 ;
27 mua = I2 ;
28 maa = I2 ;
APENDICE A. CODIGO FUENTE 90
29 M = [muu,mua ; mua , maa ] ;
30 detM = det (M) ;
31 sqrDM = s q r t (detM) ;
32 % T1 = (1/sqrDM)∗ s q r t (maa) ;
33 % T2 = −(1/sqrDM) ∗(mua/ s q r t (maa) ) ;
34 % T3 = (1/sqrDM)∗ s q r t (muu−(mua/ s q r t (maa) ) ˆ2) ;
35 T1 = 1/ s q r t ( I1 ) ;
36 T2 = −1/ s q r t ( I1 ) ;
37 T3 = 1/ s q r t ( I2 ) ;
38 %Ganancias de l cont ro l ado r
39 % A = kuˆ2∗KD∗T2ˆ2+ke∗ku ;
40 % D = ke∗ka+kaˆ2∗KD∗T3ˆ2 ;
41 % E = ka∗ku∗T2∗KD∗T3 ;
42 % K = ke+ka∗KD∗T3ˆ2+ku∗KD∗T2ˆ2 ;
43 A = kuˆ2∗KD/ I1+ke∗ku ;
44 D = kaˆ2∗KD/ I2+ke∗ka ;
45 E = −ka∗ku∗KD/ s q r t ( I1 ∗ I2 ) ;
46 K = ke+KD∗( ka/ I2+ku/ I1 ) ;
47 %Inver sa de Md
48 iMd = [A,E;E,D ] ;
49 detMd = det ( iMd) ;
50 VN = −(mua/maa) ∗2∗ pi ;
51 %Condic iones i n i c i a l e s
52 q i n i = [ p i ; 0 ] ;
53 dq in i = [ 0 ; 0 ] ;
54 %Dimension de l e spac i o de es tados
55 N = 4 ;
56 %Tiempo de s imulac ion
57 tspan = [ 0 2 . 5 ] ;
58 %Condic iones i n i c i a l e s (q , p)
59 X = ze ro s (N, 1 ) ;
APENDICE A. CODIGO FUENTE 91
60 p i n i = M∗ dq in i ;
61 X( : , 1 ) = [ q in i ’ , p in i ’ ] ;
62 %Simulac ion de l s i s tema dinamico
63 [ t , x ] = ode23 (@( t , x ) ine r t i a lPID PB st2 ( t , x ,M,m4, T1 , T2 , T3 ,K,Kp,KD,
Ki , ku , ka , c ) , tspan ,X( : , 1 ) , opt ions ) ;
64 %Respuesta de l s i s tema ( p o s i c i o n e s )
65 f i g u r e (1 )
66 p lo t ( t , x ( : , 1 ) , ’ l i n ew id th ’ , 1 )
67 x l a b e l ( ’ t [ s ] ’ )
68 y l a b e l ( ’ qu [ rad ] ’ )
69 g r id on
70 pr in t −depsc IP PID 1 . eps
71 f i g u r e (2 )
72 p lo t ( t , c∗t , t , x ( : , 2 ) , ’ l i n ew id th ’ ,1 , ’ l i n ew id th ’ , 1 )
73 x l a b e l ( ’ t [ s ] ’ )
74 y l a b e l ( ’ qa [ rad ] ’ )
75 l egend ( ’ Ref ’ , ’ qa ’ )
76 g r id on
77 pr in t −depsc IP PID 2 . eps
78 % %Calculo de v e c t o r e s para g r a f i c a r
79 n = s i z e ( t , 1 ) ;
80 T = [ T1 0 ;T2 T3 ] ;
81 aq = x ( : , 1 : 2 ) ;
82 ap = T’∗ x ( : , 3 : 4 ) ’ ;
83 ap = ap ’ ;
84 aqt = aq−[ z e r o s (n , 1 ) c∗ t ] ;
85 apt = ap−[ z e r o s (n , 1 ) c/T3∗ones (n , 1 ) ] ;
86
87
88 % %Funcion de Lyapunov
89 Kd = ze ro s (n , 1 ) ;
APENDICE A. CODIGO FUENTE 92
90 Vd = ze ro s (n , 1 ) ;
91 Hd = ze ro s (n , 1 ) ;
92 f o r i =1:n
93 qt = aqt ( i , 1 : 2 ) ;
94 pt = apt ( i , 1 : 2 ) ;
95 VN = −(mua/maa)∗qt (1 ) ;
96 Kd( i ) = 0.5∗ pt∗iMd∗pt ’ ;
97 Vd( i ) = ku∗ke∗m4∗( cos ( qt (1 ) )−1)+0.5∗Ki∗( ka∗qt (2 ) +(ku−ka )∗VN)
ˆ2 ;
98 Hd( i ) = Kd( i )+Vd( i ) ;
99 end
100
101 % %Ley de c o n t r o l
102 ui = ze ro s (n , 1 ) ;
103 ud = ze ro s (n , 1 ) ;
104 yd = ze ro s (n , 1 ) ;
105 u = ze ro s (n , 1 ) ;
106 f o r i =1:n
107 qt = aqt ( i , 1 : 2 ) ;
108 pt = apt ( i , 1 : 2 ) ;
109 gV = [−m4∗ s i n ( qt (1 ) ) ; 0 ] ;
110 VN = −(mua/maa)∗qt (1 ) ;
111 ui ( i ) = Ki∗( ka∗qt (2 ) +(ku−ka )∗VN) ;
112 S = −T2∗T1∗gV(1) ; %V e r i f i c a r
113 ud( i ) = KD∗ku∗S ;
114 yd ( i ) = ku∗T2∗pt (1 )+ka∗T3∗pt (2 ) ;
115 u( i ) = −(1/K) ∗(Kp∗yd ( i )+Ki∗ ui ( i )+ud( i ) ) ;
116 end
117
118 f i g u r e (3 )
119 p lo t ( t ,Hd, ’ l i n ew id th ’ , 1 )
APENDICE A. CODIGO FUENTE 93
120 t i t l e ( ’ Funcion de Lyapunov ’ )
121 x l a b e l ( ’ t [ s ] ’ )
122 y l a b e l ( ’Hd ’ )
123 g r id on
124 pr in t −depsc IP PID 3 . eps
125
126 f i g u r e (4 )
127 p lo t ( t , u , ’ l i n ew id th ’ , 1 )
128 t i t l e ( ’ Ley de c o n t r o l ’ )
129 x l a b e l ( ’ t [ s ] ’ )
130 y l a b e l ( ’u [N m] ’ )
131 g r id on
132 pr in t −depsc IP PID 4 . eps
133
134 f i g u r e (5 )
135 p lo t ( t , aqt ( : , 1 ) , ’ l i n ew id th ’ , 1 )
136 t i t l e ( ’ Error qu ’ )
137 x l a b e l ( ’ t [ s ] ’ )
138 y l a b e l ( ’ qut [ rad ] ’ )
139 g r id on
140 pr in t −depsc IP PID 5 . eps
141
142 f i g u r e (6 )
143 p lo t ( t , aqt ( : , 2 ) , ’ l i n ew id th ’ , 1 )
144 g r id on
145 t i t l e ( ’ Error qa ’ )
146 x l a b e l ( ’ t [ s ] ’ )
147 y l a b e l ( ’ qat [ rad ] ’ )
148 pr in t −depsc IP PID 6 . eps
APENDICE A. CODIGO FUENTE 94
1 f unc t i on dx = ine r t i a lP ID PB st2 ( t , x ,M,m4, T1 , T2 , T3 ,K,Kp,KD, Ki , ku , ka ,
c )
2 qp = [ x (1 ) ; x (2 ) ] ;
3 q = qp− [0 ; c∗ t ] ;
4 p = [ x (3 ) ; x (4 ) ] ;
5 %Funciones de l s i s tema en l a zo a b i e r t o .
6 detM = det (M) ;
7 Minv = (1/detM) ∗ [M(2 , 2 ) −M(1 ,2 ) ;−M(2 ,1 ) M(1 , 1 ) ] ;
8 gV = [−m4∗ s i n ( q (1 ) ) ; 0 ] ;
9 G = [ 0 ; 1 ] ;
10 I1 = M(1 ,1 )−M(1 ,2 ) ;
11 I2 = M(2 ,2 ) ;
12 ui = Ki∗( ka∗q (2 )−(ku−ka )∗q (1 ) ) ;
13 ud = −m4/ I1 ∗ s i n ( q (1 ) )∗KD∗ku ;
14 yd = ku∗(p (2 )−p (1) ) / I1+ka ∗(p (2 )−I2 ∗c ) / I2 ;
15 u = −(1/K) ∗(Kp∗yd+ui+ud) ;
16 dx = [ Minv∗p;−gV+G∗u ] ;
17 end
APENDICE A. CODIGO FUENTE 95
Codigo del regulador de velocidad para el sistema carro-
pendulo
1 %%S c r i p t r egu lador de ve l oc idad s i s tema carro−pendulo
2 %% %Experimento Fina l : 20 Junio 2019
3 opt ions=odeset ( ’ I n i t i a l S t e p ’ , 0 . 0 1 , ’ MaxStep ’ , 0 . 0 2 ) ;
4 %Ganancias de l cont ro l ado r
5 kp = 510 ;
6 kv = 2 ;
7 %%Pendiente de l a func ion rampa f ( t )= t .
8 c = 0 . 0 5 ;
9 %% %Parametros de l s i s tema
10 lp = 0 . 1 5 6 ;
11 g = 9 . 8 1 ;
12 mp = 0 . 1 2 7 ;
13 m11 = 5 . 3 9 3 9 ;
14 m22 = 0 . 0 0 4 5 ;
15 Fv = [34 . 9699 0 ;0 0 ] ;
16 f c = 0 ;
17 %% % % % % % % % % % % % % % %
18 alpha = [mp∗ lp ∗g/m22 1/m22 lp ∗mp/m22 ] ;
19 %% %Parametr izac ion de Md
20 a1 = 30 ;
21 a2 = 1.30∗ a1/ alpha (3 ) ;
22 a3 = 0.50+ a2 ˆ2/ a1 ;
23 Md = [ a1 , a2 ;
24 a2 , a3 ] ; %Matriz Md
25 DMd = a1∗a3−a2 ˆ2 ;
26 Mdinv = (1/DMd) ∗ [ a3 −a2 ;
27 −a2 a1 ] ; %Inver sa de Md
28 Xa=Md;
APENDICE A. CODIGO FUENTE 96
29 %Dimension de l e spac i o de es tados
30 n = 4 ;
31 %Tiempo de s imulac ion
32 tspan = [ 0 1 0 ] ;
33 %Condic iones i n i c i a l e s
34 X = ze ro s (n , 1 ) ;
35 X( : , 1 ) = [0 , 10∗ ( p i /180) , 0 , 0 ] ;
36 %Simulac ion s i s tema dinamico
37 [ t , x ] = ode23 (@( t , x ) ca r tpen2 bez ac tua to r ( t , x , Xa , m11 , m22 ,mp, lp , g ,
alpha , Fv , fc , kp , kv , c ) , tspan ,X( : , 1 ) , opt ions ) ;
38
39 % %Calculo de v e c t o r e s para g r a f i c a r
40 n = s i z e ( t , 1 ) ;
41 q = [ x ( : , 1 ) x ( : , 2 ) ] ;
42 dq =[x ( : , 3 ) x ( : , 4 ) ] ;
43 qd = [ c∗t , z e r o s (n , 1 ) ] ;
44 dqd = [ c∗ones (n , 1 ) , z e r o s (n , 1 ) ] ;
45 qt = q−qd ;
46 dqt = dq−dqd ;
47 pt = Md∗dqt ’ ; pt=pt ’ ;
48
49 %Funcion Kd
50 Kd = ze ro s (n , 1 ) ;
51 f o r i =1:n
52 apt = pt ( i , : ) ;
53 Kd( i ) = 0.5∗ apt∗Mdinv∗apt ’ ;
54 end
55
56 %Funcion Vd
57 gamma1 = (2∗DMd) /( a2∗ s q r t ( a2ˆ2∗ alpha (3 )ˆ2−a1 ˆ2) ) ;
58 gamma2 = ( a1+a2∗alpha (3 ) ) /( s q r t ( a2ˆ2∗ alpha (3 )ˆ3−a1 ˆ2) ) ;
APENDICE A. CODIGO FUENTE 97
59 Vd = ze ro s (n , 1 ) ;
60 f o r i =1:n
61 z = qt ( i , 1 ) +(a3/a2 )∗qt ( i , 2 )+gamma1∗atanh (gamma2∗ tan ( qt ( i , 2 ) /2) ) ;
62 Vd( i ) = −(DMd∗alpha (1 ) /( a2∗alpha (3 ) ) )∗ l og ( ( a2∗alpha (3 ) ∗ cos ( qt ( i
, 2 ) )−a1 ) /( a2∗alpha (3 )−a1 ) ) +0.5∗kp∗z ˆ2 ;
63 end
64
65
66 %Funcion de Lyapunov
67 Hd = Kd+Vd;
68
69 %Gra f i ca s
70 f i g u r e (1 )
71 p lo t ( t , q ( : , 2 ) , ’ l i n ew id th ’ , 1) ;
72 t i t l e ( ’ Coordenada subactuada ’ )
73 g r id on ;
74 x l a b e l ( ’ t [ s ] ’ )
75 y l a b e l ( ’ q2 ’ )
76 pr in t ( ’GIDA CT2 . eps ’ , ’−depsc ’ )
77
78 f i g u r e (2 )
79 p lo t ( t , qd ( : , 1 ) , t , q ( : , 1 ) , ’ l i n ew id th ’ , 1) ;
80 t i t l e ( ’ Coordenada actuada ’ )
81 g r id on ;
82 x l a b e l ( ’ t [ s ] ’ )
83 y l a b e l ( ’ qd1 , q1 ’ )
84 l egend ( ’ qd1 ’ , ’ q1 ’ )
85 pr in t ( ’GIDA CT1 . eps ’ , ’−depsc ’ )
86
87 f i g u r e (3 )
88 p lo t ( t ,Hd, ’ l i n ew id th ’ , 1) ;
APENDICE A. CODIGO FUENTE 98
89 t i t l e ( ’ Funcion de Lyapunov ’ )
90 g r id on ;
91 x l a b e l ( ’ t [ s ] ’ )
92 y l a b e l ( ’Hd ’ )
93 pr in t ( ’GIDA CT3 . eps ’ , ’−depsc ’ )
94
95 %Graf i ca de l ey de c o n t r o l
96 q = ze ro s (1 , 2 ) ;
97 dq = ze ro s (1 , 2 ) ;
98 qdv = ze ro s (1 , 2 ) ; %Vector a u x i l i a r para g r a f i c a r
99 dqdv = ze ro s (1 , 2 ) ;
100 %% % %Matriz de i n e r c i a l a zo a b i e r t o despues de l i n e a l i z a r
101 M = [ 1 0 ;0 1 ] ;
102 Minv = [ 1 0 ; 0 1 ] ;
103
104
105 F = ze ro s (n , 1 ) ;
106 f o r i =1:n
107 q = x ( i , 1 : 2 ) ;
108 dq = x ( i , 3 : 4 ) ;
109 qdv = qd ( i , : ) ;
110 dqdv = dqd ( i , : ) ;
111 %% %Matriz de entradas de c o n t r o l despues de l i n e a l i z a r
112 G = [1;− alpha (3 ) ∗ cos ( q (2 ) ) ] ;
113
114 %% % %Gradiente de V −despues de l a l i n e a l i z a c i o n
115 gV = [ 0 ; −alpha (1 ) ∗ s i n ( q (2 ) ) ] ;
116
117 %% %D e f i n i c i o n de e r r o r
118 qt = q−qdv ;
119 qt = qt ’ ;
APENDICE A. CODIGO FUENTE 99
120 dqt = dq’−dqdv ’ ; %%V e r i f i c a r d e f i n i c i o n de e r r o r ;
121
122 %% %Matriz de i n e r c i a en l a zo cer rado ;
123 pt = Md∗dqt ;
124 %% %Gradiente de Vd
125 z = qt (1 ) +(a3/a2 )∗qt (2 )+gamma1∗atanh (gamma2∗ tan ( qt (2 ) /2) ) ;
126 x i = (DMd∗alpha (1 ) ∗ s i n ( qt (2 ) ) ) /( a2∗alpha (3 ) ∗ cos ( qt (2 ) )−a1 ) ;
127 xa = ( a2−a3∗alpha (3 ) ∗ cos ( qt (2 ) ) ) /( a1−a2∗alpha (3 ) ∗ cos ( qt (2 ) ) ) ;
128 gVd =[ kp∗z ;
129 x i+kp∗z∗xa ] ;
130 %% %Matriz de amortiguamiento
131 KV = kv ∗ [ 1 −alpha (3 ) ∗ cos ( qt (2 ) ) ;−alpha (3 ) ∗ cos ( qt (2 ) ) alpha (3 ) ˆ2∗
cos ( qt (2 ) ) ˆ 2 ] ;
132 D = Md∗Minv∗KV∗Minv∗Md;
133 %% % % %Ley de c o n t r o l por moldeo de ene rg i a
134 nues = (1/(1+( alpha (3 ) ∗ cos ( qt (2 ) ) ) ˆ2) )∗G’ ∗ ( gV−M∗Mdinv∗gVd) ;
135 nudi = −(1/(1+( alpha (3 ) ∗ cos ( qt (2 ) ) ) ˆ2) )∗G’ ∗ (M∗Mdinv∗D∗Mdinv∗pt ) ;
136 nu = nues+nudi ;
137
138 i f dq (1 )>= 0
139 f c = 1 . 1 8 6 2 ;
140 e l s e i f dq (1 )<0
141 f c = 0 . 9 3 8 8 ;
142 end
143 %% %Ley de c o n t r o l l i n e a l i z a n t e
144 F( i ) = (m11−alpha (3 ) ∗ lp ∗mp∗ cos ( q (2 ) ) ˆ2)∗nu+alpha (1 ) ∗mp∗ lp ∗ cos ( q (2 )
)∗ s i n ( q (2 ) )−mp∗ lp ∗ s i n ( q (2 ) )∗dq (2)ˆ2−alpha (2 ) ∗ lp ∗mp∗ cos ( q (2 ) )∗Fv
(2 , 2 ) ∗dq (2)+Fv (1 , 1 ) ∗dq (1)+f c ∗ s i gn ( dq (1 ) ) ;
145 end
146
147 f i g u r e (4 )
APENDICE A. CODIGO FUENTE 100
148 p lo t ( t , F , ’ l i n ew id th ’ , 1) ;
149 t i t l e ( ’ Ley de c o n t r o l ’ )
150 g r id on ;
151 x l a b e l ( ’ t [ s ] ’ )
152 y l a b e l ( ’F [N] ’ )
153 pr in t ( ’GIDA CT4 . eps ’ , ’−depsc ’ )
1 f unc t i on dx = car tpen2 bez ac tua to r ( t , x , Xa , m11 , m22 ,mp, lp , g , alpha , Fv ,
fc , kp , kv , c )
2 %% %Estados de l s i s tema
3 q = [ x (1 ) ; x (2 ) ] ;
4 dq = [ x (3 ) ; x (4 ) ] ;
5 %% %Refe r enc i a
6 qd = [ c∗ t ; 0 ] ;
7 dqd =[c ; 0 ] ;
8 %% %Componentes de Md
9 a1 = Xa(1 , 1 ) ;
10 a2 = Xa(1 , 2 ) ;
11 a3 = Xa(2 , 2 ) ;
12 %% %Matriz de Lazo , Matriz de C o r i o l i s y Vector de par g r a v i t a c i o n a l
a b i e r t o antes de l i n e a l i z a r
13 Mb = [ m11 mp∗ lp ∗ cos ( q (2 ) ) ;
14 mp∗ lp ∗ cos ( q (2 ) ) m22 ] ;
15 DMb = Mb(1 ,1 ) ∗Mb(2 ,2 )−Mb(1 ,2 ) ∗Mb(2 ,1 ) ;
16 Mbinv = (1/DMb) ∗ [Mb(2 , 2 ) −Mb(1 ,2 ) ;−Mb(2 ,1 ) Mb(1 , 1 ) ] ;
17 Cb = [ 0 −mp∗ lp ∗ s i n ( q (2 ) )∗dq (2) ; 0 0 ] ;
18 gVb = [ 0 ; −mp∗ lp ∗g∗ s i n ( q (2 ) ) ] ;
19 Gb = [ 1 ; 0 ] ;
20 i f dq (1 )>0
21 f c = 1 . 1 8 6 2 ;
22 e l s e i f dq (1 )<0
APENDICE A. CODIGO FUENTE 101
23 f c = 0 . 9 3 8 8 ;
24 end
25 FC = [ f c ∗ s i gn ( dq (1 ) ) ; 0 ] ;
26 %% % %Matriz de i n e r c i a l a zo a b i e r t o despues de l i n e a l i z a r
27 M = [ 1 0 ;0 1 ] ;
28 Minv = [ 1 0 ; 0 1 ] ;
29 %% %Matriz de entradas de c o n t r o l despues de l i n e a l i z a r
30 G = [1;− alpha (3 ) ∗ cos ( q (2 ) ) ] ;
31
32 %% % %Gradiente de V −despues de l a l i n e a l i z a c i o n
33 gV = [ 0 ; −alpha (1 ) ∗ s i n ( q (2 ) ) ] ;
34
35 %% %D e f i n i c i o n de e r r o r
36 qt = q−qd ;
37 dqt = dq−dqd ; %%V e r i f i c a r d e f i n i c i o n de e r r o r ;
38
39 %% %Matriz de i n e r c i a en l a zo cer rado ;
40 Md = [ a1 a2 ; a2 a3 ] ;
41 DMd = a1∗a3−a2 ˆ2 ;
42 Mdinv = (1/DMd) ∗ [ a3 −a2;−a2 a1 ] ;
43 pt = Md∗dqt ;
44 %% %Gradiente de Vd
45 gamma1 = (2∗DMd) /( a2∗ s q r t ( a2ˆ2∗ alpha (3 )ˆ2−a1 ˆ2) ) ;
46 gamma2 = ( a1+a2∗alpha (3 ) ) /( s q r t ( a2ˆ2∗ alpha (3 )ˆ3−a1 ˆ2) ) ;
47 z = qt (1 ) +(a3/a2 )∗qt (2 )+gamma1∗atanh (gamma2∗ tan ( qt (2 ) /2) ) ;
48 x i = (DMd∗alpha (1 ) ∗ s i n ( qt (2 ) ) ) /( a2∗alpha (3 ) ∗ cos ( qt (2 ) )−a1 ) ;
49 xa = ( a2−a3∗alpha (3 ) ∗ cos ( qt (2 ) ) ) /( a1−a2∗alpha (3 ) ∗ cos ( qt (2 ) ) ) ;
50 gVd =[ kp∗z ;
51 x i+kp∗z∗xa ] ;
52 %% %Matriz de amortiguamiento
53 KV = kv ∗ [ 1 −alpha (3 ) ∗ cos ( qt (2 ) ) ;−alpha (3 ) ∗ cos ( qt (2 ) ) alpha (3 ) ˆ2∗
APENDICE A. CODIGO FUENTE 102
cos ( qt (2 ) ) ˆ 2 ] ;
54 D = Md∗Minv∗KV∗Minv∗Md;
55 %% % % %Ley de c o n t r o l por moldeo de ene rg i a e inyec c i on de
amortiguamiento
56 nu = (1/(1+ alpha (3 ) ˆ2∗ cos ( qt (2 ) ) ˆ2) )∗G’ ∗ ( gV−M∗Mdinv∗(gVd+D∗Mdinv∗
pt ) ) ;
57
58 %% %Ley de c o n t r o l l i n e a l i z a n t e
59 f r=−alpha (2 ) ∗ lp ∗mp∗ cos ( q (2 ) )∗Fv (2 , 2 ) ∗dq (2)+Fv (1 , 1 ) ∗dq (1)+f c ∗ s i gn (
dq (1 ) ) ;
60 F = (m11−alpha (3 ) ∗ lp ∗mp∗ cos ( q (2 ) ) ˆ2)∗nu+alpha (1 ) ∗mp∗ lp ∗ cos ( q (2 ) )∗
s i n ( q (2 ) )−mp∗ lp ∗ s i n ( q (2 ) )∗dq (2)ˆ2+ f r ;
61
62 %% % % %Ecuaciones de movimiento
63 dx = [ dq ;
64 Mbinv∗(−gVb−Cb∗dq−Fv∗dq−FC+Gb∗F) ] ;
65
66 end
APENDICE A. CODIGO FUENTE 103
Codigo de la implementacion del regulador de velocidad
en el sistema carro-pendulo
1 f unc t i on Va = c o n t r o l l e r ( x )
2 %Regulador de ve l oc idad carro−pendulo GIDA, JUNIO 2019
3 q = x ( 1 : 2 ) ;
4 dq = x ( 3 : 4 ) ;
5 qt = x ( 5 : 6 ) ;
6 dqt = x ( 7 : 8 ) ;
7 %% %Ganancias de l cont ro l ador
8 kp = 510 ;
9 kv = 2 ;
10 %% %Parametros
11 r = 0 . 01912 ; %rad io de l a po lea
12 lp = 0 . 1 5 6 ;
13 g = 9 . 8 1 ;
14 mp = 0 . 1 2 7 ;
15 m11 = 5 . 3 9 3 9 ;
16 m22 = 0 . 0 0 4 5 ;
17 Fv = [34 . 9699 0 ;0 0 . 0 0 0 4 ] ;
18 f c = 0 ;
19 i f dq (1 )>= 0
20 f c = 1 . 1 8 6 2 ;
21 e l s e i f dq (1 ) < 0
22 f c = 0 . 9 3 8 8 ;
23 end
24 %L = 0 .18∗1 . 0 e−3;
25 Ra = 2 . 6 ;
26 km = 7.68 e−3;
27 kt = 7.68 e−3;
28 kg = 70/ r ;
APENDICE A. CODIGO FUENTE 104
29 %% %Matriz Md
30 alpha = [mp∗ lp ∗g/m22 Fv (2 , 2 ) /m22 lp ∗mp/m22 ] ;
31 a1 = 30 ;
32 a2 = 1.30∗ a1/ alpha (3 ) ;
33 a3 = 0.50+ a2 ˆ2/ a1 ;
34 Md = [ a1 , a2 ; a2 , a3 ] ; %Matriz Md
35 DMd = a1∗a3−a2 ˆ2 ;
36 Mdinv = (1/DMd) ∗ [ a3 −a2;−a2 a1 ] ; %Inver sa de Md
37 %% %Funciones despues de l i n e a l i z a r
38 M = [ 1 0 ;0 1 ] ;
39 Minv = [ 1 0 ; 0 1 ] ;
40 G = [1;− alpha (3 ) ∗ cos ( q (2 ) ) ] ;
41 gV = [ 0 ; −alpha (1 ) ∗ s i n ( q (2 ) ) ] ;
42 %% %pt
43 pt = Md∗dqt ;
44 %% %Gradiente de Vd
45 gamma1 = (2∗DMd) /( a2∗ s q r t ( a2ˆ2∗ alpha (3 )ˆ2−a1 ˆ2) ) ;
46 gamma2 = ( a1+a2∗alpha (3 ) ) /( s q r t ( a2ˆ2∗ alpha (3 )ˆ3−a1 ˆ2) ) ;
47 z = qt (1 ) +(a3/a2 )∗qt (2 )+gamma1∗atanh (gamma2∗ tan ( qt (2 ) /2) ) ;
48 x i = (DMd∗alpha (1 ) ∗ s i n ( qt (2 ) ) ) /( a2∗alpha (3 ) ∗ cos ( qt (2 ) )−a1 ) ;
49 xa = ( a2−a3∗alpha (3 ) ∗ cos ( qt (2 ) ) ) /( a1−a2∗alpha (3 ) ∗ cos ( qt (2 ) ) ) ;
50 gVd =[ kp∗z ; x i+kp∗z∗xa ] ;
51 %% %Matriz de amortiguamiento
52 KV = kv ∗ [ 1 −alpha (3 ) ∗ cos ( qt (2 ) ) ;−alpha (3 ) ∗ cos ( qt (2 ) ) alpha (3 ) ˆ2∗
cos ( qt (2 ) ) ˆ 2 ] ;
53 D = Md∗Minv∗KV∗Minv∗Md;
54 %% % % %Ley de c o n t r o l por moldeo de ene rg i a
55 nu = (1/(1+ alpha (3 ) ˆ2∗ cos ( qt (2 ) ) ˆ2) )∗G’ ∗ ( gV−M∗Mdinv∗(gVd+D∗Mdinv∗
pt ) ) ;
56 %% %Ley de c o n t r o l l i n e a l i z a n t e ( qt2 = q2 )
APENDICE A. CODIGO FUENTE 105
57 F = (m11−alpha (3 ) ∗ lp ∗mp∗ cos ( q (2 ) ) ˆ2)∗nu+alpha (1 ) ∗mp∗ lp ∗ cos ( q (2 ) )∗
s i n ( q (2 ) )−mp∗ lp ∗ s i n ( q (2 ) )∗dq (2)ˆ2−alpha (2 ) ∗ lp ∗mp∗ cos ( q (2 ) )∗dq (2)
+Fv (1 , 1 ) ∗dq (1)+f c ∗ s i gn ( dq (1 ) ) ;
58 %% %Corr i ente r eque r ida
59 i c = F/( kg∗kt ) ;
60 %% %Ley de c o n t r o l en v o l t a j e
61 Va = Ra∗ i c+km∗kg∗dq (1) ;
Apendice B
Diagramas de bloques de
Simulink/Quarc
106
APENDICE B. DIAGRAMAS 107
Figura B.1: Digrama de Simulink/Quarc para la implementacion del regulador de velocidad
(4.74) en el sistema carro-pendulo. El voltaje aplicado se calcula segun (4.83).
APENDICE B. DIAGRAMAS 108
Figura B.2: Detalle del bloque Ley de control del diagrama de Simulink.
Bibliografıa
[1] G. Blankenstein, R. Ortega, and A. J. Van der Schaft, “The matching conditions of con-
trolled Lagrangians and IDA-passivity based control,” International Journal of Control,
vol. 75, no. 9, pp. 645–665, 2002.
[2] H. K. Khalil, Nonlinear systems. Prentice-Hall, 2nd ed., 1996.
[3] R. Ortega, M. W. Spong, F. Gomez-Estern, and G. Blankenstein, “Stabilization of a Class
of Underactuated Mechanical Systems Via Interconnection and Damping Assignment,”
IEEE Transactions on Automatic Control, vol. 47, no. 8, pp. 1218–1233, 2002.
[4] F. Gomez-Estern and A. Van der Schaft, “Physical Damping in IDA-PBC Controlled Un-
deractuated Mechanical Systems,” European Journal of Control, vol. 10, no. 5, pp. 451–468,
2004.
[5] J. Sandoval, R. Kelly, and V. Santibanez, “Interconnection and damping assignment
passivity-based control of a class of underactuated mechanical systems with dynamic fric-
tion,” International Journal of Robust and Nonlinear Control, vol. 21, pp. 738–751, 2011.
[6] J. Sandoval, R. Kelly, and V. Santibanez, “On The IDA-PBC Method With Dynamic
Friction : Lagrangian Formulation,” in Memorias del XVI Congreso Latinoamericano de
Control Automatico, (Cancun), pp. 1095–1100, 2014.
[7] J. G. Romero, R. Ortega, and A. Donaire, “Energy Shaping of Mechanical Systems via PID
Control and Extension to Constant Speed Tracking,” IEEE Transactions on Automatic
Control, vol. 61, pp. 3551–3556, 2016.
109
BIBLIOGRAFIA 110
[8] J. Sandoval, R. Kelly, and V. Santibanez, “A new energy shaping plus damping injection
approach for constant speed regulation of a class of underactuated mechanical systems,”
tech. rep., CICESE, 2016.
[9] J. G. Romero, A. Donaire, R. Ortega, and P. Borja, “Global Stabilisation of Underactuated
Mechanical Systems via PID Passivity-Based Control,” IFAC-PapersOnLine, vol. 50, no. 1,
pp. 9577–9582, 2017.
[10] J. Moyron and J. A. Sandoval, “Control PID para la regulacion de velocidad del pendulo
con rueda inercial,” in Robotica y Computacion. Investigacion y Desarrollo (ITLP, ed.),
pp. 67–72, 1st ed., 2019.
[11] A. L. Fradkov, “Swinging control of nonlinear oscillations,” International Journal of Con-
trol, vol. 64, no. May 2013, pp. 1189–1202, 1996.
[12] K. J. Astrom and K. Furuta, “Swinging up a pendulum by energy control,” Automatica,
vol. 36, no. 2, pp. 287–295, 2000.
[13] J. A. Acosta, F. Gordillo, and J. Aracil, “Swinging up the Furuta pendulum by the speed
gradient method,” in European Control Conference (ECC), pp. 469–474, 2001.
[14] M. Takegaki and S. Arimoto, “A New Feedback Method for Dynamic Control of Manipula-
tors,” Journal of Dynamic Systems, Measurement, and Control, vol. 103, no. 2, pp. 119–125,
1981.
[15] A. M. Bloch, D. E. Chang, N. E. Leonard, and J. E. Marsden, “Controlled Lagrangians
and the stabilization of mechanical systems II: Potential shaping,” IEEE Transactions on
Automatic Control, vol. 46, no. 10, pp. 1556–1571, 2001.
[16] R. Kelly and V. Santibanez, Control de movimiento de robots manipuladores. Pearson
Education, 1st ed., 2003.
[17] M. W. Spong, “Partial feedback linearization of underactuated mechanical systems,” In-
ternational Conference on Intelligent Robots and Systems (IROS’94), pp. 314–321, 1994.
BIBLIOGRAFIA 111
[18] R. Kelly, D. de la Torre, and R. Campa, “Control de energıa del pendulo de Furuta con
friccion: Metodo del gradiente de velocidad en formulacion hamiltoniana,” in COMRob,
2004.
[19] A. Fradkov, B. Andrievsky, and P. Guzenko, “Energy Speed-Gradient Control of Satellite
Oscillations,” IFAC Proceedings Volumes, vol. 37, no. 6, pp. 417–422, 2004.
[20] S. A. Puga–Guzman, J. Moreno-Valenzuela, and V. Santibanez, “Controlador neuronal
para el seguimiento de trayectorias en un pendulo de rueda inercial,” Revista Internacional
de Metodos Numericos para Calculo y Diseno en Ingenierıa, vol. 32, 2015.
[21] I. Velazquez, J. A. Sandoval, J. Moyron, C. Higuera, and M. Castro, “Diseno, control y
construccion de un sistema carro-pendulo,” in Robotica y Computacion. Investigacion y
Desarrollo (ITLP, ed.), pp. 56–61, 1st ed., 2019.
[22] I. Lopez, J. Moreno-Valenzuela, J. Montoya, and R. Perez, “Identificacion parametrica de
un quadrorotor con validacion experimental,” in Robotica y Computacion. Investigacion y
Desarrollo (ITLP, ed.), pp. 142–147, 1st ed., 2019.