Está en la página 1de 35

Indice

1. Introducci
on.

2. Objetivos.
2.1. Objetivo general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Objetivo particular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3
3

3. Planteamiento del problema.

4. Consideraciones te
oricas.

5. Propuesta de soluci
on.
5.1. Regresor modelo Dinamico. . . . . . . . . . . . . . . . . . . .
5.2. Regresor modelo Dinamico Filtrado. . . . . . . . . . . . . . . .
5.3. Regresor modelo de Energa. . . . . . . . . . . . . . . . . . . .
5.4. Regresor modelo de Potencia. . . . . . . . . . . . . . . . . . .
5.5. Regresor modelo de Potencia Filtrada . . . . . . . . . . . . . .
5.6. Regresor modelo de Hamilton. . . . . . . . . . . . . . . . . . .
5.7. Regresor modelo de Hamilton Filtrado. . . . . . . . . . . . . .
5.8. Algoritmo recursivo de mnimos cuadrados. . . . . . . . . . . .
5.8.1. Obtencion del algoritmo de mnimos cuadrados escalar.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

5
. 5
. 6
. 7
. 7
. 8
. 9
. 10
. 13
. 14

6. Resultados

21

7. Conclusiones.

34

1.

Introducci
on.

Los robots manipuladores pertenecen a una clase de sistemas mecanicos no lineales con
una estructura dinamica bien definida. Sin embargo, los parametros dinamicos tales como
centros de masa, masas y momentos de inercia, as como los coeficientes de friccion usados
en la descripcion del modelo dinamico, generalmente son inciertos.
Si bien existen herramientas de la teora de control, tales como esquemas adaptables
y controladores robustos, que permiten tolerar incertidumbre en los parametros dinamicos, el conocimiento es crucial para la mayora de los esquemas de control basados en el
modelo dinamico del robot manipulador.
La tematica de identificacion parametrica ha conducido a derivar varios esquemas de
identifiacion que se han convertido en una herramienta atractiva para determinar los
parametros dinamicos de los robots manipuladores cuando existe dificultad para medirlos
directamente. Sin embargo, la naturaleza continua, no lineal, multivariable y fuertemente
acoplada del modelo dinamico de robots manipuladores hace que la tarea de identificacion
parametrica sea no trivial.

En los esquemas de identificacion y controladores adaptables es de particular relevancia expresar el modelo dinamico no lineal del robot manipulador como el producto de un
regresor compuesto por funciones no lineales (dependientes de la posicion, velocidad y aceleracion articular) y un vector de parametros constantes que depende de masas, momentos
de inercia, distancias, centros de masa y coeficientes de friccion. Los primeros trabajos
sobre identificacion parametrica de robots manipuladores explotando esta propiedad, requeran medir la aceleracion articular dentro del modelo de regresion. Esto condujo al
modelo de regresion dinamico.
Los esquemas de identificacion basados en el modelo dinamico filtrado y de la energa
son modelos de regresion que no dependen de la aceleracion articular. Otra caracterstica
en com
un entre estos esquemas es que siempre es porsible agrupar de manera conveniente
los parametros del modelo dinamico y del modelo de energa, de tal forma que se obtengan
el mismo vector de parametros para ambos esquemas. Sin embargo, la principal ventaja
que presenta el modelo de la energa sobre le modelo dinamico filtrado es que el primero
contiene un error de prediccion escalar, mientras que el segundo conduce a un error de
prediccion vectorial.
En este trabajo usaremos la identificacion por mnimos cuadrados, el principio de los
Mnimos Cuadrados indica que los parametros de un modelo se deben elegir de tal forma
que:
La suma de los cuadrados de las diferencias entre los valores de la salida observados
(reales) y los estimados, multiplicada por factores que midan el grado de precision sea un
mnimo.[3]

2.
2.1.

Objetivos.
Objetivo general.

Obtener el regresor del modelo Dinamico, regresor del modelo Dinamico Filtrado,
regresor del modelo de Energa, regresor del modelo de Potencia, regresor del modelo de Potencia Filtrado, regresor del modelo Hamiltoniano y regresor del modelo
Hamiltoniano Filtrado

2.2.

Objetivo particular.

Graficar parametros estimados.


Graficar parametros-parametros estimados.
Realizar la simulacion del sistema con los parametros estimados y graficar posicion
y velocidad del sistema.

3.

Planteamiento del problema.

A) Considere un pendulo:

= I q + bq + fc signo(q)
+ mglc sen(q)

(1)

Obtener:
A). Regresor modelo Dinamico.
B). Regresor modelo Dinamico Filtrado.
C). Regresor modelo de Energa.
D). Regresor modelo de Potencia.
E). Regresor modelo de Potencia Filtrado.
F). Regresor modelo Hamiltoniano.
G). Regresor modelo Hamiltoniano Filtrado.
Graficar parametros estimados.
Graficar parametros-parametros estimados.
Realizar la simulacion del sistema con los parametros estimados y graficar
posicion y velocidad del sistema.

4.

Consideraciones te
oricas.

Considerese el pendulo mostrado en la figura 1, que consiste en un motor de corriente


continua acoplado a un brazo pendular moviendose en un plano vertical, bajo la accion
de la gravedad.

Figura 1: Pendulo.

Las ecuaciones de movimiento de Euler-Lagrange vienen dadas por:


Cinematica directa
  

x
`sen (q)
=
.
y
`cos (q)
Cinematica diferencial


x
y


=

`cos (q) q
`sen (q) q


.

Modelo de energa
1 2 1 2
Ir q + mv
2
2
  

d x
lc cos (q) q
v =
=
lc sin (q) q
dt y

K(q, q)
=

(2)



v 2 = kvk2 = lc2 cos2 (q) q2 + lc2 sin2 (q) q2
v 2 = lc2 q 2

u(q) = mgh = mglc [1 cos(q)]

(3)

 
d L
L
=

+ ff [Fe , q]

dt q
q
L =

(4)

1
(Ir + m`2c )q2 (q)
2

L
= (Ir + m`2c )q
q
 
d L
q
= (Ir + m`2c )
dt q

L
= mglc sen(q).
q

Finalmente el modelo dinamico es el siguiente:


f ricci
on est
atica

= (Ir +

m`2c )
q+

}|
{
z
+ f c[1 | sgn(q)
|] .
mglc sen(q) + bq + f csigno(q)

Reasignando variables
f ricci
on est
atica

z
}|
{
= I q + mglc sen(q) + bq + f csigno(q)
+ f c[1 | sgn(q)
|]

(5)

donde
m masa de la barra.
` largo de la barra.
g aceleracion de la gravedad.
par aplicado al eje de giro.
q posicion en grados[1].

5.
5.1.

Propuesta de soluci
on.
Regresor modelo Din
amico.

Del modelo dinamico del pendulo tenemos la siguiente ecuacion:


= I q + bq + fc signo(q)
+ mglc sen(q).

(6)

Que tambien puede ser expresada de la siguiente forma:


= (q1 , q1 , q1 )

(7)

donde:
la matriz de regresion Rnxp , El vector de parametros desconocidos Rpx1 y
Rnx1 .
Obtenemos el error de prediccion correspondiente al modelo de regresion dinamico:
e = (q1 , q1 , q1 )

e =

5.2.

I b fc


q

mglc
signo(q)

sen(q)

(8)

Regresor modelo Din


amico Filtrado.

Primero hay que realizar el filtrado sobre el modelo dinamico del pendulo:
se tiene que el pendulo esta definido por la ecuacion 6:
= I q + bq + fc signo(q)
+ mglc sen(q).
Aplicando el operador F =

+s

a la ecuacion 6:

F ( ) = F (I q) + F (bq)
+ F (fc signo(q))
+ F (mglc sen(q))

=
I q +
bq +
fc signo(q)
+
mglc sen(q)
+s
+s
+s
+s
+s
F = IsF q + bsF q + fc Fsigno(q) + mglc Fsen(q)
F = I Fq + bFq + fc Fsigno(q) + mglc Fsen(q)

(9)
(10)
(11)
(12)

donde:
F = F +
Fq = Fq + q
F signo(q) = Fsigno(q) + signo(q)

F sen(q) = Fsen(q) + sen(q).

Entonces, Obtenemos el error de prediccion correspondiente al modelo de regresion dinamico filtrado:

Fq

 Fq

e = F I b fc mglc
(13)
Fsigno(q)
Fsen(q)

5.3.

Regresor modelo de Energa.

Para el pendulo, sabemos que la energa cinetica esta dada por:


1
k = (mlc2 + I)q2 .
2
Haciendo mlc2 + I = I, queda:
1
k = I q2 .
2
Y la energa potencial por:

(14)

U = mglc [1 cos(q)].
Entonces, nuestro modelo esta dado por:
Z T
Z
q
dt = U + k +
0

T
2

(15)

fc |q|dt.

bq dt +

(16)

sustituyendo las ecuaciones 14 y 15 queda:


Z T
Z T
Z T
1 2
2
q
dt = mglc [1 cos(q)] + I q +
bq dt +
fc |q|dt.

(17)
2
0
0
0
Obtenemos el error de prediccion correspondiente al modelo de regresion de energia:

q
dt

e =

I mglc

5.4.

1 2

q
2

 1 cos(q)
b fc

RT 2

0 q dt

RT
|q|dt

(18)

Regresor modelo de Potencia.

Derivando la ecuacion de modelo de energa del pendulo ecuacion 17:


q
= I qq + mglc sen(q)q + bq2 + fc |q|.

(19)

Entonces obtenemos el error de prediccion correspondiente al modelo de regresion de


potencia:

e = q

I mglc

qq

 qsen(q)

b fc

|q|

(20)

5.5.

Regresor modelo de Potencia Filtrada

Utilizando la ecuacion 19 del modelo de potencia


q
= I qq + mglcsen(q)q + bq + f csigno(q).

Utilizando un filtro de primer grado


F =

+s

F = Fy + F y

aplicando el filtro anterior, obtenemos el modelo de potencia filtrado.


Fq
= IFqq + mglcFsen(q)q + bFq + f cFsigno(q)
.
En donde

(21)

d
(qq) = qq + qq = 2qq.
dt

Por lo tanto tenemos que:


qq =

1 d(q2 )
.
2 dt

Por lo tanto
I
Fsq2 .
2

Reescribiendo la ecuacion obtenemos:


I
F(q
) = F(sq2 ) + mglcFsen(q)q + bF(q2 ) + f cF(|q|)

(22)

I
F(q

) = Fq2 + mglcFsen(q)q + bFq2 + f cF(|q|)


2

(23)

I
Fq
= Fq2 + mglcFsen(q)q + bFq2 + fc F|q|
.
2

(24)

Y los filtros quedan de la siguiente manera:


(q
)
+s

F q

= Fq
+ q

q2
+s

F q2 = Fq2 + q2

(sin(q)q)

F sin(q) = Fsin(q) + (sin(q)q)

+s
|q|

F |q| = F|q| + |q|

+s
Apartir de los filtros anteriores y del modelo de potencia obtenemos el error de prediccion
correspondiente al modelo de regresion de potencia:
1

q2
F
2

 F sin(q)

I mglc b fc
(25)
e = Fq

Fq2
F|q|

5.6.

Regresor modelo de Hamilton.

Las ecuaciones de movimiento de Hamilton son:


H
q =
p
p =

(26)

H
+ .
q

(27)

Ahora:
p = I q.

El Hamiltoniano se define como:


H = K + U.
Donde:

1 p2
1 p2
+ mglc [1 cos(q)].
H = I 2 + mglc [1 cos(q)] =
2 I
2I

Entonces:

H
= mglc sen(q)
q

H
p
= .
q
I
Por lo que el modelo del pendulo queda expresado como
b
p
= p + p + mglc sen(q) + fc sign( ).
(28)
I
I
Entonces obtenemos el error de prediccion correspondiente al modelo de regresion de
Hamilton.

e =

b
I

mglc

p

p
fc

sen(q)
sign( Ip )

(29)

5.7.

Regresor modelo de Hamilton Filtrado.

Usando la ecuacion 28
b
p
= p + ( )p + mglc sen(q) + fc signo( ).
I
I
Utilizando el filtro de la forma:

Fy =
+s

Fy = Fy + y.
Aplicando el filtro:
p
b
F { } = F {p}
+ F {( )p} + F {mglc sen(q)} + F {fc signo( )}
I
I
b
p
F { } = sF {p} + ( )F {p} + mglc F {sen(q)} + fc F {signo( )}.
I
I
Se obtiene la ecuacion filtrada:
b
F = F p + ( )Fp + mglc Fsen(q) + fc Fsigno( pI ) .
I
Donde:
F = F +
F p = Fp + p
F sen(q) = Fsen(q) + sen(q)

(30)

(31)

p
F signo( pI ) = Fsigno( pI ) + signo( ).
(32)
I
Entonces obtenemos el error de prediccion correspondiente al modelo de regresion de
Hamilton filtrado.

F p



Fp

(33)
e = F 1 ( Ib ) mglc fc
Fsen(q)
Fsigno( pI )
A continuacion se presenta la ecuacion que describe el modelo dinamico del pendulo
para realizar las simulaciones:
= I q + bq + fc signo(q)
+ mglc sen(q)
Cambiando a variables de estado obtenemos:
x1 = q
x1 = x2
x2 = ( bx1 fc signo(q)
mglc sen(x1 ))/I.
A continuacion se muestra el programa implementado en simnon para realizar la simulacion de los incisos a) a el inciso e).

STATE x1 x2 phi2 phi3 eqt ffx2 ffabs ffsen fftau


"fx2 fabs fsen ftau fx1
DER dx1 dx2 phi2p phi3p eqtp ffpx2 ffpabs ffpsen ffptau
"fpx2 fpabs fpsen fptau fpx1
TIME t
"modelo dinamico
dx1=x2
dx2=1/I*(tau-(b*x2)-(fc*sign(x2))-(alpha*sin(x1)))
b:0.18
I:0.17
g:9.81
alpha:3
fc:.1
tau=5*sin(t)
phi11=dx2
phi21=x2
phi31=sign(x2)
phi41=sin(x1)
"moldeo de energia
phi1=(x2*x2)/2
phi2p=x2*x2
phi3p=abs(x2)
phi4=1-cos(x1)
eqtp=x2*tau
"modelo de potencia
po1 = x2*dx2
po2 = x2*x2
po3 = abs (x2)
po4 = sin(x1)*x2
po5 = x2*tau
"modelo filtrado dinamico
ffpx2 =-lamda*ffx2+lamda*x2
ffpabs=-lamda*ffabs+lamda*sign(x2)
ffpsen=-lamda*ffsen+lamda*sin(x1)
ffptau=-lamda*fftau+lamda*tau

s11=ffpx2
s21=ffx2
s31=ffabs
s41=ffsen
s51=fftau
"modelo filtrado de potencia
"fpx2 =-lamda*fx2+lamda*((x2*x2)/2)
"fpabs=-lamda*fabs+lamda*abs(x2)
"fpsen=-lamda*fsen+lamda*(sin(x1)*x2)
"fptau=-lamda*ftau+lamda*(tau*x2)
"fpx1=-lamda*fx1+lamda*(x2*x2)
"s1=fpx2
"s2=fx1

"s3=fabs
"s4=fsen
"s5=ftau
lamda:50
END

El programa que se muestra a continuacion es el macro implementado.


Con el macro solamente tenemos que seleccionar que variables queremos exportar.
syst DINA2
"syst HAMI
"----------------------------------------------"store phi11 phi21 phi31 tau "modelo dinamico
"simu 0 5 / md
"export md < md -NOTIME
"----------------------------------------------"store phi1 phi2 phi3 tau "modelo de energia
"simu 0 5 / me
"export me < me -NOTIME
"----------------------------------------------"store po1 po2 po3 tau "modelo de potencia
"simu 0 5 / mp
"export mp < mp -NOTIME
"----------------------------------------------"store s1 s2 s3 tau "modelo filtrado de potencia
"simu 0 5 / mfp
"export mfp < mfp -NOTIME
"----------------------------------------------store s11 s21 s31 tau "modelo filtrado dinamico
simu 0 5 / mfd
export mfd < mfd -NOTIME
"----------------------------------------------"store ss1 ss2 ss3 tau "modelo hamiltoniano
"simu 0 5 / mh
"export mh < mh -NOTIME
"----------------------------------------------"store sh1 sh2 sh3 tau "modelo filtrado hamiltoniano
"simu 0 5 / mfh
"export mfh < mfh -NOTIME
"----------------------------------------------syst DINA2
"syst HAMI
"----------------------------------------------"store phi41 t tau "modelo dinamico
"simu 0 5 / md2
"export md2 < md2
"----------------------------------------------"store phi4 tau eqt "modelo de energia
"simu 0 5 / me2
"export me2 < me2
"----------------------------------------------"store po4 tau po5 "modelo de potencia
"simu 0 5 / mp2

"export mp2 < mp2


"----------------------------------------------"store s4 tau s5 "modelo filtrado de potencia
"simu 0 5 / mfp2
"export mfp2 < mfp2
"----------------------------------------------store s41 tau s51 "modelo filtrado dinamico
simu 0 5 / mfd2
export mfd2 < mfd2
"----------------------------------------------"store ss4 p tau "modelo hamiltoniano
"simu 0 5 / mh2
"export mh2 < mh2
"----------------------------------------------"store sh4 tau sh5 "modelo filtrado hamiltoniano
"simu 0 5 / mfh2
"export mfh2 < mfh2
"----------------------------------------------syst DINA2
"syst HAMI
"----------------------------------------------store x1 x2 tau "modelo dinamico
simu 0 5 / md3
export md3 < md3
END

5.8.

Algoritmo recursivo de mnimos cuadrados.

Considerese el siguiente modelo de regresion:


y(k) = (k)T

(34)

donde y(k) representa un vector de salida de dimension nx1, (k) es la matriz de regresion de dimension pxn, compuesta por funciones conocidas, y es el vector de px1 de
parametros desconocidos. El modelo (34) es indexado por la k, la cual denota el instante
de muestreo; se supondra que el conjunto de ndices forma un conjunto discreto.
El vector de parametros desconocidos puede ser estimado para minimizar la siguiente
funcion de costo.
Jk () =

k
iT
h
i
T 1 h
1 X

y(i) (i)T +
(0)
P (0)1 (0)
2 i=1
2

(35)

representa el valor inicial estimado.


donde P (0) = P (0)T > 0 y (0)
La ecuacion (35) representa la suma de los cuadrados de los errores, la cual es la diferencia entre la observacion actual y y(k) y el valor estimado por el modelo con vector de
parametros . El segundo termino del lado derecho de la ecuacion (35) ha sido includo
para tomar en cuenta las condiciones iniciales.

El valor estimado del vector basado en las observaciones del vector y(k) y del regresor

(k) es denotado por (k)


y satisface las siguientes ecuaciones recursivas:



1) + P (k 1)(k) I + (k)T P (k 1)(k) 1 e(k)


(k)
= (k

(36)


1
P (k) = P (k 1) P (k 1)(k) I + (k)T P (k 1)(k)
(k)T P (k 1) (37)

donde P (k) es la matriz de covarianza de dimension nxn y el error de prediccion e(k) es


definido como:
1)
e(k) = y(k) (k)T (k

(38)

Una propiedad importante para el algoritmo (36) y (37) es la siguiente:


|| ||2

max {P (0)1 }
|| ||2 ;
1
min {P (0) }

k1

(39)

donde max {P (0)1 } y min {P (0)1 } son los valores propios maximos y mnimos de la
matriz P (0)1 .
Ademas, si limt min {P (0)1 } = , entonces el vector de estimacion (k) convergera hacia el vector de parametros verdaderos .

5.8.1.

Obtenci
on del algoritmo de mnimos cuadrados escalar.

sea y = T donde Rpx1 , inRpx1, y R, P01 RP xP , Rpx1 , donde p es el


n
umero de parametros a identificar.

se propone la funcion de costos


=
V ()

k
1X
1 h iT 1 h i
[yi yi ]2 +
0 P0 0
2 i=1
2

k
1X
1 h iT 1 h i
T

0 P) 0
V () =
[yi yi ] [yi yi ] +
2 i=1
2

k
X
T + 1 P
1 1 P 1 0 1 T P 1 + 1 T P 1 0
= 1
yi2 yi 1T T i yi +
V ()
0
0 0
0 0
{z
}
|
2 i=1
2 0
|2
{z2
} 2
agrupamos

agrupamos

k h
i
X
T +
= 1
yi2 2yi iT +
V ()
2 i=1

1 1 T T
P P0 0 +
2 0

1 1
0 P0 0
2

k
i

V ()
1 Xh
2yi i + 2 T + P01 P01 0
=
2 i=1

k
k

V ()
1X
1X
T
1
=
2i i + P0 +
2yi i P)1 0

2 i=1
2 i=1

k
k
X
X



V ()
T
1
=
yi i P01 0 = 0
i i + P0

i=1

i=1

despejamos
"
=

P01 +

k
X

#1 "
P01 +

i iT

i=1

k
X

#
i iT

i=1

haciendo cambio de variable:


Pk1

P01

1
Pk1
= P01 +

k
X
i=1
k1
X

i iT = P01 k kT = Pk1 + k kT
i iT

i=1

"
= Pk P01 0 +
"
= Pk P01 0 +
"

k
X
i=1
k1
X

#
i y i
#
i yi + k yk

i=1
k1
X

k1 = Pk1 P01 0 +

#
i y i

i=1

= Pk

Pk1 k1

+ k y k

i
(40)

considerando que Pk1 = Pk1 + k kT


k = Pk

Pk1 k kT

k1 + k yk

k = k1 Pk k kT k1 + Pk k yk
h
i
T

k = k1 + Pk k yk k k1

donde yk = ek
Utilizando el teorema de inversion de matrices:
[A + BC]1 A1 A1B[1 + CA1 B]1 CA1

igualando
1
A = Pk1
, B = k , C = kT

entonces tenemos
Pk1 = Pk1 + k kT
por tanto
Pk = (Pk1 + k kT )1
invirtiendo nos queda
Pk = Pk1

Pk1 k kT Pk1
1 + kT Pk1 k

realizando el producto PK k nos queda:


PK k = Pk1 k

PK k = Pk1 k

Pk1 k kT Pk1 k
1 + kT Pk1 k

Pk1 k kT Pk1 k Pk1 k kT Pk1 k


1 + kT Pk1 k

sustituyendo en finalmente tenemos


Pk1 k kT Pk1
1 + kT Pk1 k
h
i
Pk1 k
T
= k1 +
y

k
k k1
1 + kT Pk1 k

Pk = Pk1

Algoritmo de mnimos cuadrados recursivo para los incisos a) a el inciso e).


p=[10^12 0 0 0; 0 10^12 0 0; 0 0 10^12 0 ; 0 0 0 10^12 ];
teta=zeros(4,1);
simnon=load(mfp.t);
simnon2=load(mfp2.t);
simnon3=load(md3.t);
P=simnon3(:,2);
V=simnon3(:,3);
[m,n]=size(simnon);
Psi11=simnon(:,1);
Psi21=simnon(:,2);
Psi31=simnon(:,3);
Tau=simnon2(:,4);
Psi41=simnon2(:,2);
t=simnon2(:,1);
Psi=[0 ; 0 ;0 ; 0];
x1(1)=teta(1);
x2(1)=teta(2);
x3(1)=teta(3);
x4(1)=teta(4);
e1(1)=.17-teta(1);
e2(1)=.18-teta(2);
e3(1)=.1-teta(3);
e4(1)=3-teta(4);
for k=2 : m
Psi=[Psi11(k);Psi21(k);Psi31(k);Psi41(k)];
e1(k-1)=Tau(k) - Psi*teta;
e=Tau(k) - Psi*teta;
teta=teta+((p*Psi*e)/(1+Psi*p*Psi));
p=p-((p*Psi*Psi*p)/(1+Psi*p*Psi));
x1(k)=teta(1);
x2(k)=teta(2);
x3(k)=teta(3);
x4(k)=teta(4);
e1(k)=.17-teta(1);
e2(k)=.18-teta(2);
e3(k)=.1-teta(3);
e4(k)=3-teta(4);
end
teta
e1(k)=Tau(k)-(Psi*teta);
subplot(2,2,1)
plot (t,x1)
grid
title(Par
ametro I)
ylabel(Kg/m^2)
xlabel(Segundos)
subplot(2,2,2)
plot (t,x2)
grid
title(Par
ametro b)
ylabel(Nm/seg.)
xlabel(Segundos)

subplot(2,2,3)
plot (t,x3)
grid
title(Par
ametro fc)
ylabel(Nm)
xlabel(Segundos)
subplot(2,2,4)
plot (t,x4)
grid
title(Par
ametro mglc)
ylabel(Kgm^2/seg^2)
xlabel(Segundos)
figure(2)
subplot(2,2,1)
plot (t,e1)
grid
title(I-I*)
ylabel(Kg/m^2)
xlabel(Segundos)
subplot(2,2,2)
plot (t,e2)
grid
title(b-b*)
ylabel(Nm/seg.)
xlabel(Segundos)
subplot(2,2,3)
plot (t,e3)
grid
title(fc-fc*)
ylabel(Nm)
xlabel(Segundos)
subplot(2,2,4)
plot (t,e4)
grid
title(mglc-mglc*)
ylabel(Kgm^2/seg^2)
xlabel(Segundos)
figure(3)
subplot(2,2,1)
plot (t,P)
grid
title(Posici
on)
ylabel(Rad.)
xlabel(Segundos)
subplot(2,2,2)
plot (t,V)
grid
title(Velocidad)
ylabel(Rad./seg.)
xlabel(Segundos)

A continuacion se muestra el programa implementado en simnon para realizar la simulacion de los incisos f) y g)
STATE

fhtau

fhp

fhsen

fhsig

DER
qp pp fphtau fphp fphsen fphsig
TIME t
"modelo hamiltoniano
qp = (1/I)*p
pp = tau-(b/I)*p-alpha*ss3-fc*ss4
b:0.18
I:0.17
alpha:3
fc:.1
lamda:50
tau=5*sin(t)
ss1=pp
ss2=p
ss3=sin(q)
ss4=sign(p/I)
"modelo filtrado de hamilton
fphtau=-lamda*fhtau+lamda*tau
fphp=-lamda*fhp+lamda*p
fphsen=-lamda*fhsen+lamda*sin(q)
fphsig=-lamda*fhsig+lamda*sign(qp)
sh1=fphp
sh2=fhp
sh4=fhsig
sh3=fhsen
sh5=fhtau

Algoritmo de mnimos cuadrados recursivo realizar la simulacion de los incisos f) y g).


p=[10^12 0 0 0; 0 10^12 0 0; 0 0 10^12 0 ; 0 0 0 10^12 ];
teta=zeros(4,1);
simnon=load(mfh.t);
simnon2=load(mfh2.t);
[m,n]=size(simnon);
Psi11=simnon(:,1);
Psi21=simnon(:,2);
Psi31=simnon(:,3);
Tau=simnon2(:,4);
Psi41=simnon2(:,2);
t=simnon2(:,1);
Psi=[0 ; 0 ;0 ; 0];
x1(1)=teta(1);
x2(1)=teta(2);
x3(1)=teta(3);
x4(1)=teta(4);
e1(1)=.17-teta(1);
e2(1)=.18-teta(2);
e3(1)=.1-teta(3);
e4(1)=3-teta(4);
for k=2 : m
Psi=[Psi11(k);Psi21(k);Psi31(k);Psi41(k)];
e1(k-1)=Tau(k) - Psi*teta;

e=Tau(k) - Psi*teta;
teta=teta+((p*Psi*e)/(1+Psi*p*Psi));
p=p-((p*Psi*Psi*p)/(1+Psi*p*Psi));
x1(k)=teta(1);
x2(k)=teta(2);
x3(k)=teta(3);
x4(k)=teta(4);
e1(k)=1-teta(1);
e2(k)=1.0588-teta(2);
e3(k)=3-teta(3);
e4(k)=.1-teta(4);
end
teta
e1(k)=Tau(k)-(Psi*teta);
subplot(2,2,1)
plot (t,x1)
grid
title(Par
ametro 1)
xlabel(Segundos)
subplot(2,2,2)
plot (t,x2)
grid
title(Par
ametro b/I)
ylabel(Nm^3/Kgseg.)
xlabel(Segundos)
subplot(2,2,3)
plot (t,x3)
grid
title(Par
ametro mglc)
ylabel(Kgm^2/seg^2)
xlabel(Segundos)
subplot(2,2,4)
plot (t,x4)
grid
title(Par
ametro fc)
ylabel(Nm)
xlabel(Segundos)
figure(2)
subplot(2,2,1)
plot (t,e1)
grid
title(1-1*)
xlabel(Segundos)
subplot(2,2,2)
plot (t,e2)
grid
title(b/I-b/I*)
ylabel(Nm^3/Kgseg.)
xlabel(Segundos)
subplot(2,2,3)
plot (t,e3)
grid
title(mglc-mglc*)
ylabel(Kgm^2/seg^2)

xlabel(Segundos)
subplot(2,2,4)
plot (t,e4)
grid
title(fc-fc*)
ylabel(Nm)
xlabel(Segundos)

6.

Resultados

Figura 2: Grafica de los Parametros estimados del modelo dinamico.

Los parametros estimados obtenidos son:


teta =
0.1700
0.1800
0.1000
3.0000
Se observa que casi instantaneamente se obtienen los parametros estimados.

Figura 3: Grafica de los Parametros-Parametros estimados del modelo dinamico.

Figura 4: Grafica de la posicion y la velocidad.

Figura 5: Grafica de los Parametros estimados del modelo dinamico filtrado.

Los parametros estimados obtenidos son:


teta =
0.1700
0.1800
0.1000
3.0000
Se observa que los parametros estimados de b y mglc son los que se tardan en obtener
aproximadamente .1 segundos.

Figura 6: Grafica de los Parametros-Parametros estimados del modelo dinamico filtrado.

Figura 7: Grafica de la posicion y la velocidad.

Figura 8: Grafica de los Parametros estimados del modelo de energa.

Los parametros estimados obtenidos son:


teta =
0.1700
0.1800
0.1000
3.0000
Se observa que se obtienen los parametros estimados en aproximadamente .3 segundos.

Figura 9: Grafica de los Parametros-Parametros estimados del modelo de energa.

Figura 10: Grafica de la posicion y la velocidad.

Figura 11: Grafica de los Parametros estimados del modelo de potencia.

Los parametros estimados obtenidos son:


teta =
0.1700
0.1800
0.1000
3.0000
Se observa que los parametros estimados de b y mglc son los que se tardan en obtener
aproximadamente en.15 segundos.

Figura 12: Grafica de los Parametros-Parametros estimados del modelo de potencia.

Figura 13: Grafica de la posicion y la velocidad.

Figura 14: Grafica de los Parametros estimados del modelo de potencia filtrado.

Los parametros estimados obtenidos son:


teta =
0.1700
0.1800
0.1000
3.0000
Se observa que los parametros estimados de b y mglc son los que se tardan en obtener
aproximadamente en .1 segundos.

Figura 15: Grafica de los Parametros-Parametros estimados del modelo de potencia filtrado.

Figura 16: Grafica de la posicion y la velocidad.

Figura 17: Grafica de los Parametros estimados del modelo Hamiltoniano.

Los parametros estimados obtenidos son:


teta =
1.0000
1.0588
3.0000
0.1000
Se observa que casi instantaneamente se obtienen los parametros estimados.

Figura 18: Grafica de los Parametros-Parametros estimados del modelo Hamiltoniano.

Figura 19: Grafica de los Parametros estimados del modelo Hamiltoniano filtrado.

Los parametros estimados obtenidos son:


teta =
1.0000
1.0588
3.0000
0.1000
Se observa que los parametros estimados de b y mglc son los que se tardan en obtener
aproximadamente en .1 segundos.

Figura 20: Grafica de los Parametros-Parametros estimados del modelo Hamiltoniano


filtrado.

7.

Conclusiones.

No se pudo graficar la velocidad y la posicion del modelo hamiltoniano debido a que el


parametro que se obtiene es b/I y no conocemos los valores de I y b, principalmente el de
I ya que en las variables de estado es necesario para calcular la posicion .
De lo visto en el comportamiento de los parmetros

obtenidos en las graficas se deduce


que entre los modelos de regresion de los que presentaron mejor resultado al estimar
los parametros fueron el modelo de regresion dinamico su desventaja es que es necesario
medir la aceleracion, el modelo de regresion in.amico filtrado y modelo de regresion del
Hamiltoniano.
Mientras que el modelo de regresion de de energa tarda mas tiempo en obtener los
parametros estimados.
Se observa tambien que con todos modelos de regresion se obtuvieron los parametros
estimados igual a los parametros.

Referencias
[1] Rafael Kelly, V. Santiban
ez; Control de Movimiento de Robots Manipuladores; Prentice Hall; 2003.
[2] Karl J.
Astrom,Bjorn Wittenmark; COMPUTER-CONTROLLED SYSTEMS (Theory and Design);Prentice Hall.
[3] Rafael Kelly, Fernando Reyes; EXPERIMENTAL EVALUATION OF IDENTIFICATION SCHEMES ON A DIRECT DRIVE ROBOT, Robotica, VOL. 15, PP.563-571

También podría gustarte