Anda di halaman 1dari 21

Boletn UPIITA, No.

28, Septiembre 2011


Descripcin, modelo, anlisis y control del Pendubot
Miguel Gabriel Villarreal-Cervantes
1*
, Carlos Alberto Cruz-Villar
2
y Jaime lvarez-Gallegos
2
1
Departamento de Posgrado, Seccin de Mecatrnica, CIDETEC-IPN. Av. Juan de Dios Btiz s/n
Esq. Miguel Othon de Mendizabal, Unidad Profesional Adolfo Lpez Mateos, C.P. 07700.
2
Departamento de Ingeniera Elctrica, CINVESTAV-IPN. Av. IPN 2508, C.P. 07360.
Correo electrnico: mvillarrealc@ipn.mx
Resumen
Este trabajo se analiza un robot subactuado y se controla en una posicin de equilibrio inestable.
El robot subactuado a analizar y controlar es el Pendubot. Se describe y explica el funcionamiento
de cada parte que conforma el sistema experimental (computadora, tarjetas electrnicas, sensores,
actuadores y pendubot) con el propsito de asegurar una completa caracterizacin que permita a su vez
obtener resultados experimentales similares a los obtenidos en simulacin. Adems se proporcionan
algunas cuestiones prcticas para el buen funcionamiento del sistema y se propone una ley de control
lineal para la estabilizacin vertical del Pendubot.
1. Introduccin
La obtencin de un buen modelo matemtico de un sistema permite predecir su comportamiento
en todo el tiempo. Conocer el funcionamiento y caractersticas fsicas de las partes que conforman al
sistema, son factores claves para llevar con xito los resultados matemticos a resultados experimentales.
Por tal motivo, en este trabajo se describe y explica cada parte fsica que conforma el sistema y se obtiene
el modelo dinmico del Pendubot. Adems, se encuentran los puntos de equilibrio del Pendubot y se
linealiza alrededor de uno de ellos. Se analizan algunas propiedades del modelo linealizado como la
controlabilidad y la observabilidad, con el propsito de desarrollar una ley de control lineal. Finalmente
se mostrarn los resultados experimentales con dicho prototipo para su estabilizacin vertical.
2. Descripcin del Sistema Experimental
El sistema que se encuentra en el Laboratorio, consta de un brazo robtico subactuado de dos grados
de libertad (pendubot [2]), sensores de posicin angular de los eslabones, sensor de corriente del motor,
un motor de corriente directa (CD), tarjetas electrnicas para adquirir la lectura de los sensores y para
manipular el motor y una computadora personal como se muestra en la Figura 1.
Para dar una mayor claridad y orden al contenido de este artculo, se describe el sistema experimental
en sus partes principales: sistema mecnico, sensores, actuadores, interfaces electrnicas y sistema de
cmputo.
*
Dr. MGVC agradece el soporte econmico recibido por la Secretara de Investigacin y Posgrado del IPN (SIP-IPN), a
travs del proyecto 20110165, y de los programas EDI y COFAA del IPN, as como del Sistema Nacional de Investigacin
(SNI).
Figura 1: Partes que conforman el sistema experimental.
2.1. Sistema Mecnico
Consiste de dos eslabones rgidos de aluminio con una longitud del eslabn 1 de 27cm y del eslabn
2 de 38.5cm, acoplados por medio de una articulacin rotacional. Al extremo opuesto del primer eslabn
se encuentra acoplado un motor de CD, con momento de inercia y coeciente de friccin, identicados
en la Seccin 3.2. El motor est jo a una mesa del laboratorio, de tal manera que los eslabones se puedan
mover en el plano vertical, como se muestra en la Figura 1.
2.2. Sensores
2.2.1. Decodicador ptico
El pendubot cuenta con dos sensores pticos que miden el desplazamiento angular de cada eslabn.
El primero se encuentra acoplado al extremo de la echa del motor de CD y el segundo a la unin de los
dos eslabones.
Los decodicadores son distribuidos por Bell Motion Systems Company (modelo
E25BB-6R-1024-ABZ-7406R-LED-SC18) y sus caractersticas de inters para este trabajo son:
Resolucin 2
10
= 1024 pulsos por revolucin.
Masa de 0,3685kg.
Para ms detalle, ver [10]
Figura 2: Foto del Pendubot
Al obtener los desplazamientos angulares, es posible estimar numricamente la velocidad angular de
los eslabones (V
m
) utilizando la siguiente expresin:
V
m
(t)|
t=t
i
=
q(t
i
) q(t
i1
)
t
donde t = t
i
t
i1
es el periodo de muestreo, i es el nmero de muestra y q(t) = [q
1
(t), q
2
(t)]
T
es
la posicin angular de los eslabones 1 y 2 respectivamente, t
i
y t
i1
es el tiempo en el instante i y en el
instante i 1, respectivamente.
2.2.2. Sensor de Corriente
Se utiliz un sensor de efecto Hall fabricado por LEM (modelo HAW 15-P), que sensa la corriente
suministrada al motor del pendubot, cuyas caractersticas de inters para este trabajo son:
Voltaje de alimentacin de 15volts.
Corriente r.m.s nominal mxima sensada de entrada 15Amperes.
Voltaje de salida mxima 4volts
La Relacin entrada (Amps) salida (volts) del sensor es de 3,75Amp es a 1volt.
Para ms detalle, ver [10].
2.3. Actuadores
2.3.1. Motor de CD
El Motor de CD se encuentra acoplado al primer eslabn del pendubot, es de imn permanente y fue
diseado por Terry Larson de Minessota Electric Technology (modelo 3B-9013182D). Tiene un voltaje
mximo de entrada de 90 volts y una corriente mxima de entrada de 10,5 Ampere.
Algunos de los parmetros fsicos del motor como la constante de par del motor k
m
, la constante de la
fuerza contra-electromotriz k
e
y la resistencia de armadura R
a
fueron encontrados en las hojas de datos
(ver [10]); estos son:
Tabla 3.1: Parmetros fsicos del motor encontrados en las hojas de datos.
Motor Fro 20

C Motor Caliente 70

C
k
m
= 56,74
Ozin
Amp
= 0,4
Nm
Amp
k
m
= 51,35
Ozin
Amp
= 0,4
Nm
Amp
k
e
= 42,03
volts
krpm
= 0,40136
volts
rad/seg
k
e
= 38,03
volts
krpm
= 0,36316
volts
rad/seg
R
a
= 8,3080 R
a
= 10,25
2.4. Interfaces Electrnicas
2.4.1. Lector de Decodicadores
La Tarjeta 5312B del fabricante Technology 80 sirve de interfaz para registrar la lectura de los
decodicadores pticos en la PC, utilizando lenguaje de programacin en C. Tiene dos entradas para
decodicadores con un modo de cuadratura X4, que incrementa la resolucin de los decodicadores por
4, produciendo 4096 conteos por revolucin; tiene inmunidad al ruido y capacidad de contar los pulsos
generados por el desplazamiento angular en las dos direcciones (sentido horario y antihorario) por medio
de un contador precongurado de 24 bits y una direccin base congurada a 0x20AH (ver [10]).
Para hacer uso de la tarjeta 5312B es necesario incluir en el proyecto la librera "TE5312S.lib" as
como incluir en el programa principal en C las libreras "TE5312.h" y "ENCBD.h".
La forma en que se obtuvieron las mediciones de los decodicadores es la siguiente:
1.- Inicializar la tarjeta 5312B con la funcin "init_enc()".
2.- Leer los pulsos generados por el desplazamiento rotacional con la funcin "ReadCntr (Canal a
leer)".
3.- Convertir los pulsos generados a radianes, con una regla de 3 simple
(2)(pulsos generados)
4096pulsos/rev
.
Esta forma de obtener las mediciones de los decodicadores se puede observar en cualquier programa
en C de [10].
Para ms informacin, consulte el CD de [10].
2.4.2. Interfaz del Motor de CD
El manejo del motor de CD se realiza por medio de un servo-amplicador miniatura MSA-12-80 que
tiene la tcnica PWM a altas frecuencias de conmutacin (36kHz). El servo-amplicador es construido
por Gail Motion Control; cuenta con tres modos de operacin: corriente, voltaje o velocidad, que son
congurados al mover dos interruptores SW1 y SW3 como se muestra en la Tabla 3.2.
Tabla 3.2: Modo de operacin del servo-amplicador MSA-12-80.
Modo SW1 SW2 SW3 SW4
Corriente APAG APAG ENC X
Voltaje ENC APAG APAG X
Velocidad APAG APAG APAG X
APAG = Apagado, ENC = Encendido, X = No importa
Cada modo de operacin tiene una relacin diferente entrada - salida, en modo corriente proporciona
una salida de 12Amps mximo y en modo voltaje 80volts mximo cuando tiene un voltaje de
entrada de 10volts, pero est limitado al tipo de fuente de alimentacin no regulada de DC (CPS-6-48)
que se cuenta. Esta fuente debera proporcionar 6Amps y 48volts mximos continuos pero en forma
experimental proporciona 5,3Amps y 50volts mximos continuos.
Para ajustar las ganancias y otras variables de las tarjetas se dispone de cuatro potencimetros:
Tabla 3.3: Aplicacin de los potencimetros del servo-amplicador MSA-12-80.
N umero de
Potenci ometro
Aplicacin
1
Ganancia de lazo
Incrementa la ganancia del amplicador conforme
incrementa la rotacin en el sentido horario.
La ganancia es 1 al extremo de rotacin en el sentido antihorario.
2
Lmite de corriente
Incrementa el lmite de corriente conforme incrementa la rotacin
en el sentido horario.
3
Ganacia de entrada de referencia
Incrementa la ganancia de entrada conforme incrementa
la rotacin en el sentido horario.
La ganancia es 1 al extremo de rotacin en el sentido antihorario.
4
Voltaje de compensacin
Permite corregir desvos en las variables de entrada-salida a cero.
Para hacer uso del servo-amplicador es necesario calibrarlo primero; para esto se establece la
ganancia de lazo y la ganancia de entrada de referencia a 1, el lmite de corriente incrementarlo hasta
el mximo posible y corregir cualquier desvio de entrada - salida; sto se hace al proporcionar una
entrada de 0volts, si la salida no es cero, se debe girar en ambos sentidos el potencimetro 4 hasta que
proporcione un voltaje de salida de 0volts.
Con el propsito de poder cambiar el voltaje o corriente de salida del servo-amplicador desde la
PC, se utiliz una tarjeta DAC-02 fabricado por Keithley Metrabyte que convierte seales digitales
en analgicas para as usarlo como seal de entrada al servo-amplicador. La tarjeta DAC-02
tiene dos convertidores digitales a analgicos de 12 bits de resolucin con rangos de salida de
+5, +10, 5, 10volts y cuenta con una direccin base reprogramable por medio de DIP switch entre
otras cosas (ver [10]).
El DAC-02 es programado por medio del lenguaje C y es congurado para trabajar con el DAC 0 para
una salida bipolar de 10volts y una direccin base 0x310H, 0x311H, en el cual se encuentra el byte
bajo y alto respectivamente de la seal digital a convertir a seal analgica.
Para hacer uso del DAC-02, que a su vez manipula la salida al motor, es necesario incluir en el
programa principal en C la librera "DACBD.h", sta contiene una funcin dac(nivel de salida,modo
de operacin) en donde nivel de salida es la seal de salida que se desea en el DAC 0 y modo de
operacin indica si est trabajando el servo-amplicador en modo corriente (1) o modo voltaje (0). El
parmetro "modo de operacin" ja los lmites reales correspondientes (5,3Amps o 50volts) de salida
de DAC (ver [10]).
La forma en que se controla el motor es la siguiente:
1.- Hacer una relacin del voltaje de entrada del servo-amplicador con la salida deseada, esto es:
Tabla 3.4: Relacin de entrada-salida del servo-amplicador MSA-12-80.
10 Volts de entrada = 12 Amps de salida
Voltaje de entrada = Corriente deseada en la salida
V oltaje de
entrada
=
(Corriente deseada en la salida)(10)
12
volts
o
10 Volts de entrada = 80 Volts de salida
Voltaje de entrada = Voltaje deseado en la salida
V oltaje de
entrada
=
(V oltaje deseado en la salida)(10)
80
volts
2.- Enviar el voltaje de entrada dependiendo del modo de operacin (ver Tabla 3.4 ) a la funcin
"dac",
dac(voltaje de entrada,modo de operacin)
Esta manera de mantener un voltaje o corriente en el motor se puede observar en cualquier programa
en lenguaje en C de [10].
2.4.3. Lector del Sensor de Corriente
Se dise y construy una interfaz que lee, por medio del puerto paralelo en lenguaje C, la corriente
suministrada al motor del pendubot. Esta consta de un sensor de efecto Hall cuyas caractersticas se
mostraron en la Seccin 2.2.2, dos amplicadores operacionales LM741, un convertidor analgico-digital
ADC0802 y ocho resistencias de 10k, para ms detalle ver las hojas de datos de [10].
En la g 3 se muestra el diagrama completo de la interfaz utilizada para adquirir la corriente medida
por el sensor de efecto Hall HAW 15-P.
La corriente mxima que se puede suministrar al motor est limitada por la fuente de alimentacin
de DC (CPS-6-48), como se muestra en la Seccin 2.4.2. Por tal motivo es posible conocer el voltaje
de salida mximo que puede proporcionar el sensor de efecto Hall (consultar la relacin mostrada en la
Seccin 2.2.2) que es
5,3Amp de entrada = 1,41volts de salida del sensor de efecto Hall (1)
Este voltaje de salida se suma a 2,5volts por medio de un amplicador operacional congurado
en modo sumador (CI2 de la Figura 3) con el propsito de eliminar el voltaje negativo del sensor de
Figura 3: Diagrama esquemtico de la interfaz del sensor de corriente.
efecto Hall HAW 15-P y as sensarlo por el puerto paralelo por medio de un convertidor analgico-digital
(ADC).
La interfaz es programada en lenguaje C. Para hacer uso de la interfaz que sensa la corriente, es
necesario incluir en el programa principal la librera OTROS.h (ver [10]), el cual contiene la funcin
corriente() que devuelve la corriente real suministrada al motor.
La manera en que se lee la corriente es la siguiente:
1.- Activar el bit para hacer una escritura y lectura del ADC por medio del bit 0 del puerto de datos
del puerto paralelo.
outp(0x378, 0x1)
outp(0x378, 0x0)
2.- Leer la corriente con la funcin corriente().
2.5. Sistema de Cmputo
El pendubot cuenta con una computadora pentium a 75MHz con 40MB de RAM y capacidad de disco
duro de 1.96GB que se encargar de procesar las seales y hacer el control, por tal motivo es necesario
tener un periodo de muestreo mximo de 10ms. El paquete de software PC Timer Tools diseado por
Ryle y programado en lenguaje C, incluye un algoritmo de alarma que puede ser usado para producir un
periodo apropiado de muestreo mnimo de 5ms
1
.
Para hacer uso de este algoritmo es necesario incluir al proyecto los programas TALARM.c y
TKERNEL.c, as como incluir en el programa principal las libreras "PCHRT.h" y TRBD.h".
El periodo de muestreo puede ser cambiado al modicar las deniciones ALARMTIME y PERIODO
que se encuentra en la librera CTRBD.h (ver [10]), como se muestra en la Tabla 3.5:
1
Se puede programar PC Timer Tools para dar un muestreo menor a 5ms pero no es preciso, por tal razn no fue utilizado.
Tabla: 3.5: Conguracin del tiempo de muestreo.
Tiempo
de Muestreo
Definici on
ALARMTIME
Definici on
PERIODO
5ms 5000L 0,005
10ms 10000L 0,010
3. Modelo y Anlisis del Sistema
3.1. Modelo Dinmico del Pendubot
Figura 4: Diagrama esquemtico del pendubot.
El robot subactuado de dos uniones llamado Pendubot (PENDUlum roBOT) se ha usado ampliamente
en la investigacin de control no lineal y para la educacin en varios conceptos como comportamiento
de sistemas caticos, robtica, diseo de sistemas de control entre otros. Est formado por dos eslabones
rgidos de longitudes l
1
y l
2
y masas m
1
y m
2
respectivamente. El primer eslabn (hombro) es actuado
directamente por un motor de CD (unin activa) y el segundo eslabn (codo) no cuenta con actuador
(unin pasiva) por lo que se mueve libremente alrededor del eslabn uno. Los desplazamientos angulares
del robot se llevan acabo en el plano vertical x y (Figura 4). La distancia entre los ejes de giro y los
centros de masa se denotan por l
c1
y l
c2
respectivamente. I
1
e I
2
expresan los momentos de inercia de los
eslabones con respecto al eje que pasa a travs de sus centros de masa y que son perpendiculares al plano
x y.
Los g.d.l (grados de libertad) o coordenadas generalizadas estn asociados a los ngulos q
1
-que se
miden desde la posicin vertical (eje x) hasta el eslabn 1- y q
2
-que se miden a partir de la extensin del
eslabn 1 hasta el eslabn 2-, siendo ambos positivos en sentido contrario a las manecillas del reloj.
El desarrollo de las ecuaciones de movimiento del pendubot estn disponibles en los trabajos
desarrollados en [5], [7], los cuales utilizan el formalismo de Euler-Lagrange, as el Lagrangiano L es una
funcin que se dene como la diferencia entre las energas cinticas E
c
y potenciales E
p
de un sistema
electromecnico (pendubot):
L(q, q) = E
c
(q, q) E
p
(q, q) (2)
d
dt
_
L
q
_

L
q
= (3)
donde q(t) = [q
1
(t) q
2
(t)]
T
y q = [ q
1
(t) q
2
(t)]
T
es un vector de posiciones y de velocidades angulares
respectivamente y = [
1
0]
T
es el vector con las componentes de par del pendubot.
Utilizando la ec. 3 se llega en forma matricial a las ecuaciones de movimiento del pendubot:
D(q) q + C(q, q) q + G(q) = (4)
en donde:
D(q) =
_
D
11
D
12
D
21
D
22
_
, C(q, q) =
_
C
11
C
12
C
21
C
22
_
, G(q) =
_

1

2

T
, =
_

1
0

T
D(q) es la matriz de inercia, C(q, q) es la matriz de fuerzas centrfugas y de coriolis, G(q) es el vector
con las componentes de gravedad, es el vector con las componentes de par.
Los elementos de las matrices son:
D
11
=
1
+
2
+ 2
3
cos(q
2
)
D
12
=
2
+
3
cos(q
2
)
D
21
= D
12
D
22
=
2
C
11
=
3
q
2
sin(q
2
)
C
12
=
3
sin(q
2
)( q
1
+ q
2
)
C
21
=
3
q
1
sin(q
2
)
C
22
= 0

1
=
4
g cos(q
1
) +
5
g cos(q
1
+ q
2
)

2
=
5
g cos(q
1
+ q
2
)
donde los parmetros estan dados por:

1
= m
1
l
2
c1
+ m
2
l
2
1
+ I
1

2
= m
2
l
2
c2
+ I
2

3
= m
2
l
1
l
c2

4
= m
1
l
c1
+ m
2
l
1

5
= m
2
l
c2
Ya que D(q) es una matriz simtrica denida positiva, existe D(q)
1
[9] que permite expresar el
modelo dinmico del Pendubot de la ecuacin ec. (4) en trminos del vector de estado [q q]
T
de la
siguiente forma:
d
dt
_
q
q
_
=
_
q
D(q)
1
[ C(q, q) q G(q)]
_
(5)
donde:
D(q)
1
=
_
D
22
D
11
D
22
D
2
12

D
12
D
11
D
22
D
2
12

D
21
D
11
D
22
D
2
12
D
11
D
11
D
22
D
2
12
_
Proponiendo el siguiente vector de estado:
x =
_

_
x
1
x
2
x
3
x
4
_

_
=
_

_
q
1
q
2
q
1
q
2
_

_
= x =
_

_
x
3
x
4
q
1
q
2
_

_
donde x
1
, x
2
son los ngulos y x
3
, x
4
son las velocidades angulares de los eslabones 1 y 2
respectivamente.
La ecuacin 5 en representacin de estados es:
x = f
p
(x, u) =

f
p
(x) + g
p
(x)u (6)
y = h
p
(x)
en donde y es la salida del sistema.

f
p
(x) =
_

_
x
3
x
4

D
12
D
11
D
22
D
2
12
(
2
x
3
C
21
) +
D
22
D
11
D
22
D
2
12
(
1
x
3
C
11
x
4
C
12
)
D
11
D
11
D
22
D
2
12
(
2
x
3
C
21
)
D
21
D
11
D
22
D
2
12
(
1
x
3
C
11
x
4
C
12
)
_

_
g
p
(x) =
_

_
0
0
D
22
D
11
D
22
D
2
12

D
21
D
11
D
22
D
2
12
_

_
u =
1
h
p
(x) =
_
x
1
x
2
_
3.2. Dinmica del Motor
Ya que las ecuaciones de movimiento del pendubot (ec. (6)) no contemplan al motor, es necesario
modelarlo para as incluirlo en el modelo completo. Hay dos formas para modelar al motor: esttica y
dinmicamente.
El modelo esttico del motor [8] es una forma sencilla y no muy precisa que puede incluirse
fcilmente en el modelo del pendubot, como se muestra a continuacin:

1
= k
m
i
a
(7)
donde k
m
es la constante de par del motor e i
a
es la corriente de armadura.
El modelo dinmico del motor incluye todos los parmetros fsicos involucrados del motor y hace
una mayor aproximacin a la realidad.
Figura 5: Modelo dinmico del motor
Aplicando la LVK (ley de voltaje de Kirchhoff) al circuito de la Figura 5 se obtiene
L
a

i
a
+ R
a
i
a
+ k
e
q
m
= V
in
(8)
J
o
q
m
+ b
o
q
m
=
1
= k
m
i
a
donde L
a
es la inductancia de armadura, k
e
es la constante de la fuerza contra-electromotriz, V
in
es
el voltaje de entrada de armadura, b
o
es el coeciente de friccin viscosa referido a la echa, R
a
es
la resistencia de armadura, J
o
es la inercia del motor referida a la echa del motor, q
m
, q
m
, q
m
son las
posiciones, velocidades y aceleraciones del rotor respectivamente.
El modelo del motor sin carga en variables de estado es:
_

x
1

x
2

x
3
_

_
=
_
_
0 1 0
0
b
0
J
0
km
J
0
0
ke
La

Ra
La
_
_
_
_
x
1
x
2
x
3
_
_
+
_
_
0
0
1
La
_
_
u
1
y =
_
1 0 0
0 0 1
_
_
_
x
1
x
2
x
3
_
_
(9)
donde x
1
= q
m
y x
2
= q
m
es la posicin y velocidad angular de la echa del motor respectivamente,
x
3
= i
a
es la corriente de armadura del motor, u
1
= V
in
es el voltaje de entrada al motor y y es la salida
del sistema.
Uno de los inconvenientes al utilizar este modelo (ec. (8)) es que no se tienen todos los parmetros
fsicos del motor (ver Tabla 3.1), por lo que es necesario utilizar un mtodo de identicacin de sistemas
para encontrar los parmetros faltantes (L
a
, J
o
, b
o
), lo cual se presenta a continuacin.
3.2.1. Estimacin de los Parmetros del Motor por el SITM
Se utiliz las herramientas de identicacin de sistemas (System Identicatin Toolbox
R
) de
Matlab
R
(SITM) para obtener dichos parmetros.
Para poder utilizar el modelo en variables de estado de la ec. (9) en el SITM es necesario tener el
modelo de la siguiente forma, tomando en cuenta que y contiene a todas las variables sensadas o medidas,
aclarando que la velocidad se obtiene numricamente y se considera medida:

x =

A x +

Bu
1
(10)
y =

C x +

Du
1
donde:

A =
_
_
0 1 0
0
b
0
J
0
km
J
0
0
ke
La

Ra
La
_
_

B =
_
_
0
0
1
La
_
_

C =
_
_
1 0 0
0 1 0
0 0 1
_
_

D =
_
_
0
0
0
_
_
cuyas relaciones de parmetros a estimar son:
b
0
J
0
,
k
m
J
0
,
k
e
L
a
,
R
a
L
a
,
1
L
a
(11)
Estos datos (ec. (10) y ec. (11)), junto con los datos medidos experimentalmente (posicin y corriente
del motor) y los datos estimados numricamente (velocidad) son sucientes para el System Identicatin
Toolbox
R
de Matlab
R
(SITM). Para mayor detalle de sistemas de identicacin ver [1] o el tutorial de
SITM.
En [10] se presenta el programa para adquirir la posicin, velocidad angular y corriente del motor, con
un tiempo de muestreo de 5ms y una entrada de voltaje bipolar al motor de 50V olts CD con periodos
de 0.2, 0.4, 0.1, 0.6, 0.1, 0.5 segundos, cuya secuencia es repetida hasta completar un tiempo de 5s como
se observa en la Figura 6.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
50
40
30
20
10
0
10
20
30
40
50
E
n
t
r
a
d
a

d
e

v
o
l
t
a
j
e
(
v
o
l
t
s
)
Tiempo(s)
Figura 6: Seal de entrada utilizada para la identicacin de los parmetros del motor
Este programa a su vez almacena los datos obtenidos en un archivo que puede ser ledo a travs de
Matlab
R
. Una vez que se tienen los datos experimentales es necesario pasarlos a travs del programa de
identicacin del motor (ver [10]) para que estime las relaciones de parmetros del motor, obtenindose:
b
0
J
0
= 1,6949 (12)
k
m
J
0
= 1159,1
k
e
L
a
= 4,0343
R
a
L
a
= 94,35
1
L
a
= 9,7614
Para encontrar los seis parmetros fsicos del motor es necesario resolver estas cinco ecuaciones (ecs.
(12)). L
a
, R
a
y k
e
se obtienen de las tres ltimas ecuaciones fcilmente. Al proponer k
m
= 0,4
Nm
Amp
como
lo indica la hoja de datos del motor, se pueden obtener J
0
y b
0
de las 2 primeras ecuaciones, as
L
a
= 102,44mH (13)
R
a
= 9,665
k
e
= 0,4133
V olts
rad seg
k
m
= 0,4Nm
J
0
= 3,45e 4Nms
2
b
0
= 5,85e 4Nms
Estos parmetros dan una convergencia entre los resultados experimentales y el modelo identicado
con una aproximacin de 86,45 % para la posicin, de 95,22 % para la velocidad y de 80,79 % para la
corriente de armadura del motor , como se observa en la Figura 7, adems estos parmetros tienen un valor
muy parecido con los de la hoja de datos (Tabla 3.1), por lo que podemos conar en que la identicacin
es buena.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
40
20
0
20
40
P
o
s
i
c
i
o
n
(
g
r
a
d
)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
200
100
0
100
200
V
e
l
o
c
i
d
a
d
(
g
r
a
d
/
s
e
g
)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
10
5
0
5
10
C
o
r
r
i
e
n
t
e
(
A
m
p
)
0.6 0.65 0.7 0.75 0.8
0
5
10
P
o
s
i
c
i
o
n
(
g
r
a
d
)
0.6 0.65 0.7 0.75 0.8
100
0
100
V
e
l
o
c
i
d
a
d
(
g
r
a
d
/
s
e
g
)
0.6 0.65 0.7 0.75 0.8
5
0
5
C
o
r
r
i
e
n
t
e
(
A
m
p
)
Salida Medida
Ajuste del Modelo: 86.45%
Salida Medida
Ajuste del Modelo: 95.22%
Salida Medida
Ajuste del Modelo: 80.79%
a) b)
Figura 7: a) Se comparan las salidas medidas experimentalmente con las salidas del modelo estimado. b)
Acercamiento en el intervalo de tiempo 0.6 a 0.8 segundos de la grca a).
3.3. Acoplamiento Pendubot-Motor
Al acoplar el modelo del motor (ec. (8)) al modelo del pendubot (ec. (4)), el sistema aumenta en un
estado. El acoplamiento pendubot-motor (P-M) queda de la siguiente forma:
_
q
1
q
2
_
= (D(q) +

J
o
)
1
__
k
m
i
a
0
_
(C(q, q) +

b
0
)
_
q
1
q
2
_
G(q)
_
(14)
_

i
a

=
V
in
R
a
i
a
k
e
q
1
L
a
donde

J
o
=
_
J
o
0
0 0
_
,

b
0
=
_
b
o
0
0 0
_
En representacin de estados la ec. (14) tomara la forma
x = f
pm
(x, u) =

f
pm
(x) + g
pm
(x)u (15)
y = h
pm
(x)
donde
x =
_

_
x
1
x
2
x
3
x
4
x
5
_

_
=
_

_
q
1
q
2
q
1
q
2
i
a
_

_
= x =
_

_
x
1
x
2
x
3
x
4
x
5
_

_
=
_

_
q
1
q
2
q
1
q
2

i
a
_

_
, u = V
in
(16)

f
pm
(x) =
_

_
x
3
x
4

D
12
D
22
(D
11
+Jo)D
2
12
(
2
x
3
C
21
) +
D
22
D
22
(D
11
+Jo)D
2
12
(
1
x
3
(C
11
+ b
o
) x
4
C
12
+ x
5
k
m
)
(D
11
+Jo)
D
22
(D
11
+Jo)D
2
12
(
2
x
3
C
21
)
D
12
D
22
(D
11
+Jo)D
2
12
(
1
x
3
(C
11
+ b
o
) x
4
C
12
+ x
5
k
m
)

kex
3
+Rax
5
La
_

_
g
pm
(x) =
_

_
0
0
0
0
1
La
_

_
h
pm
(x) =
_
_
x
1
x
2
x
5
_
_
3.4. Puntos de Equilibrio del P-M
x = x son los puntos de equilibrio del pendubot-motor (P-M) tal que f
pm
(x, u) = 0. En equilibrio

x
1
=

x
2
=

x
3
=

x
4
=

x
5
= 0 (derivadas y segundas derivadas iguales a cero) por lo que la ec. (15)
queda de la forma:

f
pm
(x) + g
pm
(x)u = 0
por lo que fcilmente se obtienen x
3
y x
4
de los estados

x
1
,

x
2
:

x
1
= x
3
(17)
x
3
= 0

x
2
= x
4
(18)
x
4
= 0
Sustituyendo x
3
= x
4
= 0 en el estado
.
x
3

x
3
=
D
12
D
22
(D
11
+ J
o
) D
2
12
(
2
) +
D
22
D
22
(D
11
+ J
o
) D
2
12
(
1
+ x
5
k
m
) = 0 (19)
Simplicando la ec. (19) y agrupndola de manera conveniente se tiene:
D
22
D
22
(D
11
+ J
o
) D
2
12
_
D
12
D
22

1
+ x
5
k
m
_
= 0 (20)
se observa en la ec. (20) que

D
22
D
22
(D
11
+Jo)D
2
12
nunca es cero, por lo que para que se cumpla esa ecuacin
se debe satisfacer:
D
12
D
22

1
+ x
5
k
m
= 0 (21)
como D
22
= 0, la ec. (21) se puede escribir como:
D
12

2
+ ( x
5
k
m

1
) D
22
= 0 (22)
Sustituyendo x
3
= x
4
= 0 en el estado

x
4

x
4
=
(D
11
+ J
o
)
D
22
(D
11
+ J
o
) D
2
12
(
2
)
D
12
D
22
(D
11
+ J
o
) D
2
12
(
1
+ x
5
k
m
) = 0 (23)
Simplicando la ec. (23) y agrupndolo de manera conveniente se tiene:

D
12
D
22
(D
11
+ J
o
) D
2
12
_
D
12
D
22

1
+ x
5
k
m
_


2
D
22
= 0 (24)
sustituyendo la ec. (21) en la ec. (24) se obtiene:

2
( x) = 0 (25)

5
g cos( x
1
+ x
2
) = 0 (26)
De la ecuacin (26) se obtiene la condicin que se debe cumplir para obtener los puntos de equilibrio
x
1
, x
2
:
x
1
+ x
2
= n
_

2
_
n = 1, 3, 5, ... (27)
por lo que
x
2
= n
_

2
_
x
1
(28)
Sustituyendo la ec. (25) en la ec. (20) se obtiene x
1
.
( x
5
k
m

1
) D
22
= 0
x
5
=

1
( x)
k
m
(29)
x
5
=

4
g cos( x
1
) +
5
g cos( x
1
+ x
2
)
k
m
Sustituyendo la ec. (26) en la ec. (29)
x
5
=

4
g cos( x
1
)
k
m
de donde se obtiene x
1
x
1
= cos
1
(
x
5
k
m

4
g
) (30)
Sustituyendo x
3
= x
4
= 0 en el estado

x
5
se obtiene x
5

x
5
=
R
a
x
5
L
a
+
u
L
a
= 0 (31)
por lo que
u = x
5
R
a
(32)
x
5
=
u
R
a
(33)
Los puntos de equilibrio del Pendubot con el motor (P-M) estn determinados por las ecs. (30), (28),
(17), (18) y (33). Para u = 0 el sistema P-M (6) tiene cuatro puntos de equilibrio, como se muestran en
la Tabla 3.6.
Tabla 3.6: Puntos de equilibrio del sistema P-M.
( x
1
, x
2
, x
3
, x
4
, x
5
) = (

2
, 0, 0, 0, 0)....
Eslabn 1 y 2 Arriba
Posicin Arriba
( x
1
, x
2
, x
3
, x
4
, x
5
) = (

2
, , 0, 0, 0)...Eslabn 1 Abajo y 2 Arriba.
( x
1
, x
2
, x
3
, x
4
, x
5
) = (

2
, , 0, 0, 0)......Eslabn 1 Arriba y 2 Abajo.
( x
1
, x
2
, x
3
, x
4
, x
5
) = (

2
, 0, 0, 0, 0)...
Eslabn 1 y 2 Abajo.
Posicin Abajo
3.5. Linealizacin, Controlabilidad y Observabilidad del P-M
Existen varias propiedades en los modelos dinmicos de los sistemas que aseguran y permiten el
diseo de controladores lineales, o en algunos casos imposibilitan su diseo. En esta seccin se describen
y se verican dos propiedades al sistema P-M linealizado en el punto de equilibrio x =
_

2
, 0, 0, 0, 0

, con
el propsito de disear un regulador cuadrtico lineal (RCL) que estabilice los eslabones del pendubot en
dicho punto de equilibrio.
3.5.1. Linealizacin
La aproximacin en series de Taylor de las ecuaciones de movimiento del pendubot-motor (P-M) est
dada por:
f

pm
(x, u) = f

pm
( x, u) +

f
pm
(x, u)
x

x, u
(x x) +

f
pm
(x, u)
u

x, u
(u u) (34)
Proponiedo el punto de equilibrio x = (

2
, 0, 0, 0, 0) con u = 0 y f

pm
( x, u) = 0, donde

f
pm
(x, u)
x

x= x
=

_
0 0 1 0 0
0 0 0 1 0
f
3
pm
(x,u)
x
1
f
3
pm
(x,u)
x
2
f
3
pm
(x,u)
x
3
0
f
3
pm
(x,u)
x
5
f
4
pm
(x,u)
x
1
f
4
pm
(x,u)
x
2
f
4
pm
(x,u)
x
3
0
f
4
pm
(x,u)
x
5
0 0
f
5
pm
(x,u)
x
3
0
f
5
pm
(x,u)
x
5
_

x= x

f
pm
(x, u)
u

u= u
=

_
0
0
0
0
f
5
pm
(x,u)
u
_

x= x
Las derivadas
f
3
pm
(x,u)
x
1
,
f
3
pm
(x,u)
x
2
,
f
3
pm
(x,u)
x
3
,
f
3
pm
(x,u)
x
5
,
f
4
pm
(x,u)
x
1
,
f
4
pm
(x,u)
x
2
,
f
4
pm
(x,u)
x
3
,
f
4
pm
(x,u)
x
5
,
f
5
pm
(x,u)
x
3
,
f
5
pm
(x,u)
x
5
,
f
5
pm
(x,u)
u
fueron obtenidas por medio de un programa en MatLab
R
(ver [10]).
De esta manera las ecuaciones de movimiento del P-M en forma linealizada quedan:
x

= Ax

+ Bu

(35)
y

= Cx

en donde: x

= x x, u

= u u, y

= y y,
A =

f
pm
( x, u)
x

x= x
=
_

_
0 0 1 0 0
0 0 0 1 0
48,0520 13,4769 0,01743 0 11,9183
47,9861 65,5774 0,03217 0 21,9975
0 0 4,0345 0 94,3479
_

_
B =

f
pm
( x, u)
u

u= u
=
_

_
0
0
0
0
9,7618
_

_
C =

h
pm
( x)
x

x= x
=
_
_
1 0 0 0 0
0 1 0 0 0
0 0 0 0 1
_
_
con los siguientes parmetros estructurales del pendubot:
m
1
= 0,8436Kg (36)
m
2
= 0,3860Kg
l
1
= 0,2032m
l
2
= 0,3556m
lc
1
= 0,1573m
lc
2
= 0,1417m
I
1
= 5,7974e 3Kgm
2
I
2
= 5,3914e 3Kgm
2
g = 9,78
m
s
2
A partir de la aproximacin lineal (35) se puede observar que para el punto de equilibrio x =
(

2
, 0, 0, 0, 0), los valores propios de la matriz A son 8,9617, 5,4177, 5,5234, 9,3902, 93,831, lo
que indica que en ese punto de equilibrio el sistema P-M linealizado es inestable [6].
3.5.2. Controlabilidad
La ecuacin de movimiento del P-M en forma linealizada (ec. (35)) es controlable si y solo si los
vectores B, AB, ..., A
n1
B son linealmente independientes (LI) o la matriz de n x n es de rango
completo.
=
_
B
.
.
. AB
.
.
. ...
.
.
. A
n1
B
_
donde n es el nmero de estados del sistema.
Para el punto de equilibrio inestable x = (

2
, 0, 0, 0, 0)
=
_

_
0 0 116,34 10979. 1,038 7 10
6
0 0 214,74 20264. 1,921 2 10
6
0 116,34 10979. 1,038 7 10
6
9,747 3 10
7
0 214,74 20264. 1,921 2 10
6
1,802 8 10
8
9,7618 921,01 86426. 8,109 8 10
6
7,609 5 10
8
_

_
El det() = 2,182 510
12
por lo tanto es de rango completo, por lo que el sistema P-M (ec. (35))
es controlable para ese punto de equilibrio.
3.5.3. Observabilidad
La ecuacin de movimiento del P-M en forma linealizada (ec. (35)) es completamente observable
si y solo si la matriz de n x nm es de rango completo o tiene n vectores columna linealmente
independientes.
=
_

_
C
CA
...
CA
n1
_

_
donde n y m son el nmero de estados y el nmero de entradas del sistema, respectivamente.
Para el punto de equilibrio inestable x = (

2
, 0, 0, 0, 0)
=
_

_
1 0 0 0 0
0 1 0 0 0
0 0 0 0 1
0 0 1 0 0
0 0 0 1 0
0 0 4. 034 5 0 94. 348
48. 052 13. 477 0,017 43 0 11. 918
47. 986 65. 577 0,032 17 0 21. 998
193. 87 54. 373 380. 72 0 8853. 4
0,837 55 0,234 9 3. 207 8 10
2
13. 477 1124. 7
1. 545 8 0,433 55 40. 762 65. 577 2075. 8
18294. 5130. 9 35920. 54. 373 8. 307 7 10
5
645. 16 883. 35 4536. 2 0,234 9 1. 064 1 10
5
1188. 1 3751,0 8371. 9 0,433 55 1. 968 10
5
1. 728 6 10
6
4. 876 5 10
5
3. 370 6 10
6
5130. 9 7. 795 2 10
7
_

_
el cual tiene rango completo (rango = 5), por lo que es observable.
3.6. Ley de Control Lineal para el P-M
Una vez que se comprob que el sistema P-M linealizado es controlable y observable en el punto
de equilibrio inestable x = (

2
, 0, 0, 0, 0), se propone una ley de control lineal. Un regulador cuadrtico
lineal (RCL) es implementado, cuyo objetivo es el de estabilizar o mantener al sistema en el punto de
equilibrio inestable x = (

2
, 0, 0, 0, 0).
El RCL obtiene los valores ptimos del vector K

(ganancias del controlador) que estabilizan los


eslabones del pendubot en x = (

2
, 0, 0, 0, 0)
u

= K

El RCL minimiza el siguiente ndice de desempeo cuadrtico [3]


J =
1
2
_

0
(y
T

Qy

+ u
T

Ru

)dt (37)
para el sistema P-M linealizado
x

= Ax

+ Bu

(38)
y

= Cx

donde Q es una matriz simtrica denida positiva y R 0.


La seleccin de Q y R permiten ponderar la rapidez con que los estados x

y el control u

tienden a
cero. La minimizacin del ndice de desempeo conduce a la ecuacin de Riccati. El desarrollo de esta
teora es encontrada en [7].
Por conveniencia, se utiliz la funcin lqrd(A, B, Q, R, T
m
) de MatLab
R
para calcular los valores
ptimos de K

, cuyo programa se encuentra en [10]. Los argumentos que se le proporcionaron a la


funcin lqrd son:
A =
_

_
0 0 1 0 0
0 0 0 1 0
48,0520 13,4769 0,01743 0 11,9183
47,9861 65,5774 0,03217 0 21,9975
0 0 4,0345 0 94,3479
_

_
, B =
_

_
0
0
0
0
9,7618
_

_
Q =
_

_
5 0 0 0 0
0 5 0 0 0
0 0 5 0 0
0 0 0 5 0
0 0 0 0 5
_

_
, R = 3, T
m
= 5ms
donde T
m
es el tiempo de muestreo, Q y R son las ponderaciones de minimizacin de los estados y de
la seal de control respectivamente, se propusieron de tal manera que se minimizaran de igual forma los
estados y R se propuso con una ponderacin a un nivel inferior a Q.
Las ganancias K

ptimas para la ley de control lineal (RCL) u

= K

, que estabilizan al sistema


P-M en el punto de equilibrio inestable x = (

2
, 0, 0, 0, 0) son:
K
pm

=
_
403,5333 421,7918 91,8461 64,0117 2,9301

con T
m
= 5ms (39)
Estas ganancias K

son utilizadas en los resultados experimentales.


3.7. Resultados Experimentales
Para obtener los resultados experimentales es necesario congurar el servo-amplicador del sistema
para que opere en modo voltaje, establecer la ganancia de lazo y la de entrada de referencia a 1,
incrementar al mximo el lmite de corriente y corregir desvos en las variables de entrada-salida (ver
Seccin 2.4.2). Adems se debe de programar al PC Timer Tools como se ve en la Seccin 2.5, para
que realize un periodo de muestreo de 5ms.
Uno de los problemas del sistema mostrado en la Seccin 3 es el del balanceo del pendubot. El
balanceo del pendubot consiste en llevar los eslabones de la posicin de descanso o de equilibrio inestable
x = (

2
, 0, 0, 0) a la posicin de arriba o de equilibrio inestable x = (

2
, 0, 0, 0). En [4] se propone una
ley de control bang-bang ptima en lazo abierto que hace que se balanceen los eslabones del Pendubotde
la posicin de descanso a la posicin de arriba. Es as que se utiliza dicha ley de control para realizar
el balanceo del Pendubot y se utiliza el controlador lineal cuadrtico con las ganancias obtenidas en la
seccin 3.6 para estabilizarlo y mantenerlo en la posicin de equilibrio inestable x = (

2
, 0, 0, 0).
Una vez que es aplicado el control en lazo abierto al motor del pendubot, es necesario cambiar la
ley de control bang-bang de lazo abierto por un control en lazo cerrado que estabilice o mantenga los
eslabones del Penduboten la posicin de arriba ( x =
_

2
, 0, 0, 0, 0

). Este cambio en la ley de control se


produce cuando los eslabones se encuentran cerca de la regin de atraccin del RCL, esto es, cuando el
eslabn 1 tenga un error de posicin (x
1
x
1
) mximo de 10 grados (0,087rad) y el error de posicin
del eslabn 2 (x
2
x
2
) sea a lo ms de 20 grados (0,218rad). Esta regin de atraccin es tomada con
base en pruebas experimentales.
En la Figura 8 se muestra el comportamiento para del balanceo del Pendubot propuesto en [4], el cual
al implementarlo con el RCL le toma un tiempo mnimo de 0,89 segundos para hacer el balanceo. En ese
instante, se cambia la ley de control con el propsito de mantener los eslabones en la posicin de arriba
o de equilibrio inestable x = [

2
, 0, 0, 0, 0].
Una cuestin de inters es que el voltaje mximo y mnimo para la seal de control bang-bang para
el resultado experimental es de 40,5volts con una corriente nominal de 4,4Amps y para el caso de
Figura 8: Resultados experimentales del balanceo y estabilizacin del Pendubot.
simulacin fueron 45volts con una corriete nominal de 4,5Amps; esto se debe a los ligeros errores
del modelo estimado con los datos medidos del motor, especialmente en la corriente en la que hay una
diferencia de aproximadamente 0,5 Amperes ms en el modelo estimado que en los datos medidos como
se ve en la Figura 7. En el instante de tiempo 0,9s se cambia la ley de control bang-bang por el RCL,
teniendo un nivel de voltaje de 55 volts, aclarando que ese nivel de voltaje no corresponde al voltaje
mximo de la seal de control bang-bang (u
m ax
= 40volts), como se muestra en el instante de tiempo
0,65.
4. Conclusin
En este trabajo se dan las caractersticas y/o formas de programar las partes que conforman al sistema
(pendubot, sensores, actuadores, tarjetas electrnicas y PC). Se presentaron las ecuaciones de movimiento
del Penduboty las ecuaciones del motor que fueron acopladas a un modelo (pendubot-motor). El modelo
P-M tiene los mismos puntos de equilibrio que el Pendubot[7].
Se linealiz el sistema P-M en un punto de equilibrio inestable de inters ( x = (

2
, 0, 0, 0, 0)), en el
cual el sistema es inestable pero controlable y observable. Se desarroll un RCL y se aplic para mantener
los eslabones en dicho punto de equilibrio.
Adems se realiz la identicacin de los parmetros del motor obteniendo una similitud con los tres
parmetros proporcionados en la hoja de datos del motor (k
m
, k
e
y R
a
).
Para realizar el balanceo del pendubot se utiliz lo desarrollado en [4] y para estabilizarlo en la
posicin de equilibrio inestable se utiliz lo reportado en este trabajo. Los resultados experimentales
concuerdan con los de simulacin y se verica la buena caracterizacin y modelado de cada componente
del sistema.
Referencias
[1] Arias Montiel, M. (2005). Modelado dinmico e identicacin de un sistema de transmisin
de variacin continua. Tesis de Maestra, Departamento de Ingeniera Elctrica, Seccin de
Mecatrnica, CINVESTAV-IPN.
[2] J. Block, D., Mechanical design and control of the pendubot, SAE Earthmoving Industry Conference,
Peoria, IL, April 4-5, 1995.
[3] Bryson Jr, A. E. (1999). Dynamic optimization. Addison Wesley.
[4] Cruz-Villar, C. A., Alvarez-Gallegos, J. y Villarreal-Cervantes, M. G., Concurrent redesign of an
underactuated robot manipulator, Mechatronics, Vol. 19, No. 2, pp. 178-182, 2009.
[5] Fantoni, I. and Lozano,R. (2002). Non-linear control for underactuated mechanical systems.
Springer-Verlag.
[6] Ogata, K. (1998). Ingeniera de control moderna. Pearson-Educacin.
[7] Ramos Velasco, L. E. (1996). Control de un sistema electromecnico subactuado (Pendubot).
Tesis de Maestria. Departamento de Ingeniera Elctrica, Seccin de Control Automtico.
CINVESTAV-IPN.
[8] Rosas Flores, J. A. (2002). Posicionamiento de un sistema mecnico subactuado mediante
seguimiento de trayectrias ptimas. Tesis de Doctorado, Departamento de Ingeniera Elctrica,
Seccin de Mecatrnica, CINVESTAV-IPN.
[9] Spong, M. W. and Vidyasagar, M., Robot dynamics and control, John Wiley & Sons Inc., New York,
1989.
[10] Villarreal-Cervantes, M. G. (2005). Rediseo paramtrico del Pendubot para posicionamiento
vertical en tiempo mnimo Tesis de Maestra, Departamento de Ingeniera Elctrica, Seccin de
Mecatrnica, CINVESTAV-IPN.

Anda mungkin juga menyukai