Control por modelo de
referencia
vs
Control basado en linealización
por realimentación
Control por modelo de referencia
Contro-
lador Planta
Modelo de
planta Error del
modelo
Error del
controlador
Salida de la
planta
Modelo de
referencia
Con-
trol
Entrad
a
)(
)(
)(
)1(
)1()( t
tu
tu
ty
ty
J
t
J
cc θθ ∂
∂
∂
+∂
+∂
∂
=
∂
∂




[ ]2
)1()1(
2
1
+−+= tytyJ r 
)(
)1(
)1()( t
ty
ty
J
t
J
pp θθ ∂
+∂
+∂
∂
=
∂
∂


• Se necesitan dos núcleos estimadores (Redes Neuronales,
Sistemas borrosos, etc.)
• Primero: Se obtiene modelo de la planta
 Número de salidas de la planta retrasadas
 Número de salidas del controlador retrasadas
• Segundo: Se adapta el controlador
 Número de salidas de la planta retrasadas
 Número de salidas del controlador retrasadas (si procede)
 Número de referencias retrasadas





 +−+−=+ pθ),1(),...,();1(),...,()1( nBtutunAtytyfty

Características





 −−+−+−= cθ);(),...,1();1(),...,();1(),...,()( nBtutunRtrytrynAtytyftu

( ))1(),...,();1(),...,()1( +−+−=+ nBtutunAtytyfty

Arquitectura del CMR
Controlador
Modelo de
la planta
Planta
Referencia
Control de un eslabón
Edit-Look under mask
Demo: mrefrobotarm.mdl
Planta
Controlador Modelo de
la planta
Planta





 +−+−=+ pθ),1(),...,();1(),...,()1( nBtutunAtytyfty

Controlador
Controlador Modelo de
la planta
Retrasos
Planta





 −−+−+−= cθ);(),...,1();1(),...,();1(),...,()( nBtutunRtrytrynAtytyftu

( ))1(),...,();1(),...,()1( +−+−=+ nBtutunAtytyfty

• Definir la matriz de datos de entrada-salida
• Condiciones iniciales de los parámetros a
adaptar
• Desde época=1 hasta error_deseado
Aplicar estimador no lineal
Adaptar parámetros
• Fin
Algoritmo general de
adaptación paramétrica
Algoritmo aplicado a la planta (I)
• Definir matriz de datos de entrada-salida





 +−+−=+ pθ),1(),...,();1(),...,()1( nBtutunAtytyfty

( ) 















++−+−
++−+−
KtynBtutunAtyty
tynBtutunAtyty
)1(;)1(),...,();1(),...,(
.
.
.
)1(;)1(),...,();1(),...,(
Planta
Modelo
Algoritmo aplicado a la planta (II)
Aplicar núcleo estimador
∑.
.
. Cuerp
o
Celula
rParámetros
(sinapsis)
x0
x1
xn
wi0
wi1
win
f(•)
Entradas
(dendritas)
∏ 1
Fiµ ∏ 2
Fiµ ∏ M
Fiµ
1
1Fµ
1
2Fµ 1
3Fµ
1
Fnµ 2
1Fµ
2
2Fµ
2
3Fµ
2
Fnµ M
F1µ
M
F 2µ
M
F3µ M
Fnµ
1x 2x 3x nx
Regla 1
Regla
2
Regla M
1
y 2
y
M
y
∑∏
∑ ∏
l
ll
yCapa de
Salida
Capa de
Entrada
Capa Oculta
Sistemas Borrosos
Red Neuronal
Algoritmo aplicado a la planta (III)
[ ]2
)1()1(
2
1
+−+= tytyJ

Adaptar los parámetros (Sistemas Borrosos)
)(
)1(
)1()( t
ty
ty
J
t
J
pp θθ ∂
+∂
+∂
∂
=
∂
∂


)(
)(
)()1(
k
kJ
kk
p
pp
θ
θθ
∂
∂
−=+ η
∑ ∏
∑ ∏
=
=
=
=















 −















 −
=+
M
l
n
i
l
i
l
ii
M
l
n
i
l
i
l
iil
x
e
x
ey
ty
1
1
1
1
]-xp[
]-xp[
)1(
β
γ
β
γ

Algoritmo aplicado al controlador (I)
• Definir la matriz de datos de entrada-salida
• Sustitución por valores estimados (aplicar gradiente)





 −−+−+−= cθ);(),...,1();1(),...,();1(),...,()( nBtutunRtrytrynAtytyftu

( ))1(),...,();1(),...,()1( +−+−=+ nBtutunAtytyfty




























 ++−+−
++−+−
K
trynBtutunAtyty
trynBtutunAtyty
)1(;)1(),...,();1(),...,(
.
.
.
)1(;)1(),...,();1(),...,(


Algoritmo aplicado al controlador (II)
Adaptar los parámetros (Sistemas Borrosos)
[ ]2
)1()1(
2
1
+−+= tytyJ r 
)(
)(
)()1(
k
kJ
kk
c
cc
θ
θθ
∂
∂
−=+ η
∑ ∏
∑ ∏
=
=
=
=















 −















 −
=+
M
l
n
i
l
i
l
ii
M
l
n
i
l
i
l
iil
x
e
x
ey
ty
1
1
1
1
]-xp[
]-xp[
)1(
β
γ
β
γ

)(
)(
)(
)1(
)1()( t
tu
tu
ty
ty
J
t
J
cc θθ ∂
∂
∂
+∂
+∂
∂
=
∂
∂




Resumen de diferencias entre
modelo de la planta y controlador (I)
• Datos de entrada-salida (planta)
 Salidas de la planta retrasadas
 Salidas del controlador retrasadas
 Salida de la planta
• Datos de entrada-salida (controlador)
 Salidas de la planta retrasadas
 Salidas del controlador retrasadas
 Salidas de referencia retrasadas
 Salida de la referencia
( ) 















++−+−
++−+−
KtynBtutunAtyty
tynBtutunAtyty
)1(;)1(),...,();1(),...,(
.
.
.
)1(;)1(),...,();1(),...,(



























 ++−+−
++−+−
K
trynBtutunAtyty
trynBtutunAtyty
)1(;)1(),...,();1(),...,(
.
.
.
)1(;)1(),...,();1(),...,(


Resumen de diferencias entre
modelo de la planta y controlador (II)
• Estimador no lineal (planta)
• Estimador no lineal (controlador)





 +−+−=+ pθ),1(),...,();1(),...,()1( nBtutunAtytyfty

)(
)(
)()1(
k
kJ
kk
p
pp
θ
θθ
∂
∂
−=+ η
)(
)(
)(
)1(
)1()( t
tu
tu
ty
ty
J
t
J
cc θθ ∂
∂
∂
+∂
+∂
∂
=
∂
∂









 −−+−+−= cθ);(),...,1();1(),...,();1(),...,()( nBtutunRtrytrynAtytyftu

( ))1(),...,();1(),...,()1( +−+−=+ nBtutunAtytyfty

• Red resultante (planta)
• Red resultante (controlador)
Resumen de diferencias entre
modelo de la planta y controlador (III)





 +−+−=+ pθ),1(),...,();1(),...,()1( nBtutunAtytyfty






 −−+−+−= cθ);(),...,1();1(),...,();1(),...,()( nBtutunRtrytrynAtytyftu

CMR utilizando MATLAB
CMR utilizando MATLAB (I)
Tipo de red y datos
de entrada-salida
al controlador
Generación de matriz
para modelo de la planta
Parámetros para
obtención del modelo
de la planta
CMR utilizando MATLAB(II)
Entradas Capa_1 Capa_2 Capa_3
Entradas referencia
Entradas controlador
Entradas planta
Red
5-13-1
CMR utilizando MATLAB(III)
Generador aleatorio de referencia:
Entrada aleatoria con intervalos
de muestreo aleatorio al modelo
de referencia:
Amplitud máxima
Amplitud mínima
Período de muestreo mínimo
Período de muestreo máximo
Número de muestras
Modelo de referencia (Simulink)
Robotref.mdl
CMR utilizando MATLAB(IV)
 Número de épocas para
cada segmento
 Número de segmentos
 Si se selecciona, se
agregan nuevos segmentos
 Abre cuadro de diálogo de
identificación de la planta



























 ++−+−
++−+−
K
trynBtutunAtyty
trynBtutunAtyty
)1(;)1(),...,();1(),...,(
.
.
.
)1(;)1(),...,();1(),...,(


Cuadro de diálogo para
identificación de la planta
Robotarm.mdl
Pasos para diseñar el CMR(I)
Definir el número de neuronas
de la capa oculta (controlador)
Definir los datos de entrada
salida al controlador
Definir el generador aleatorio
referido al modelo de referencia
Generar datos basado en el
modelo de referencia
Definir los parámetros de
adaptación del controlador
• Obtener el modelo de la planta
• O importar un
modelo ya creado
Pasos para diseñar el CMR(II)
Pasos para diseñar el CMR(III)
Evaluar el resultado del modelo de la planta
• Obtener datos de entrada-salida para red neuronal (control)
Pasos para diseñar el CMR(IV)
• Entrenar el controlador
Pasos para diseñar el CMR(V)
•Evaluar el resultado
CMR multivariable
[ ]τ [ ]θ














nτ
τ
τ
.
2
1














nθ
θ
θ
.
2
1
Elementos a alterar
• Número de variables de salida y control
retrasadas (modelo de control)
• Modelo simulink de la planta
• Número de variables de salida y control
retrasadas (modelo de la planta)
• Entrenar planta y controlador (desacoplado
en cada articulación)
CMR multivariable (II)
Controlador PID
Multivariable
Control basado en la linealización p
u(t)
y(t+1)
e(t+1)
+
-
Planta
∆∆
G(X)
F(X)
)()()()1( tuXGXFty +=+
[ ])()....1(),1(....)( nBdtudtunAtytyX −−−−+−=
Datos de entrada-salida
)()(
)()1(
)()....1(),1()(
)()....1(),1()(
tuG
Fty
nBdtudtunAtyty
nBdtudtunAtyty
−−−−+−
−−−−+− +=+
....
....
[ ])()....1(),1()( nBdtudtunAtytyX −−−−+−= ....
Siendo:
d: Retardo de la señal de control
nA: Cantidad de valores retrasados de la salida de la planta
nB: Cantidad de valores retrasados de la salida del controlador
Argumento de funciones F y G:
El modelo de la planta responde a:
1
3
2
2
1
)()(
.
.
.
. xy
uXbXf
x
x
x
x
x
dt
d
n
=
















+
=
















;
Las dos redes de identificación
)()()()1( tuXGXFty

+=+
Si se pueden estimar los valores de F y G, entonces:
u(t)
y(t+1)
e(t+1)
+
-
Planta
∆∆
)1( +ty

)(XF

)(XG

)()()()1( tuXGXFty +=+
Se necesitan dos redes de identificación
Ley de control
Si se define la ley de control
( )vXF
XG
tu +−= )(
)(
1
)(


Siendo v el modelo de referencia que se pretende seguir, entonces sustituyendo en:
)()()()1( tuXGXFty +=+
Resulta:
( )








+−+=+ vXF
XG
XGXFty )(
)(
1
)()()1(


Con lo que se cancelan las no linealidades de F y G:
)()( XGXG

≡
)()( XFXF

≡
vty =+ )1( Se sigue el modelo de referencia
Diagrama equivalente
y(t+1)u(t)
F(X)+G(X)u(t)
∆
∆
v(t+1)
)(
1
^
XG
)1()(
^
++− tvXF
( )








+−+=+ vXF
XG
XGXFty )(
)(
1
)()()1(


Cancelación de no linealidades
• Para estimar las funciones F y G
• Se debe conocer los parámetros de cada una de los dos
núcleos estimadores
• Se define la función de coste:
Parámetros a adaptar
)()()()1( tuXGXFty

+=+
)(),(),()1( tuXGXFty gθfθ

+=+
( )2
)1()1(
2
1
+−+= tytyJ

Aplicación del gradiente
• Se aplica el gradiente, los parámetros se adaptan según:
• Dado que
• Resulta
)(
)1(
))1()1(()()1(
k
ty
tytykk
f
ff
θ
θθ
∂
+∂
+−+−=+


η
)(
)1(
))1()1(()()1(
k
ty
tytykk
g
g
θ
θθg
∂
+∂
+−+−=+


η
),( fθXF

),( gθXG

)(),(),()1( tuXGXFty gθfθ

+=+
)(
)(
)1( ),(
tu
k
ty XG
gθ
gθ
gθ ∂
∂
=
∂
+∂


fθ
fθ
fθ ∂
∂
=
∂
+∂ ),(
)(
)1( XF
k
ty

• Condiciones iniciales de los parámetros
• Desde época=1 hasta error_deseado
Evaluar modelo
Calcular el error
Adaptar parámetros
• Fin
Algoritmo de obtención de F y G
)()()()1( tuXGXFty

+=+
)(
)1(
))1()1(()()1(
k
ty
tytykk
f
ff
θ
θθ
∂
+∂
+−+−=+


η
)(
)1(
))1()1(()()1(
k
ty
tytykk
g
g
θ
θθg
∂
+∂
+−+−=+


η
• Se utilizan redes neuronales (perceptrón multicapa)
• Se ejecuta: mrefrobotarm
Utilización de MATLAB (I)
Se sustituye el controlador por modelo de referencia
Utilización de MATLAB (II)
• Se ejecuta en el espacio de trabajo:
• Simulink - Neural Network Workset
• Se copia bloque Narma-L2 Controller
• Se integra el controlador
Utilización de MATLAB (III)
Se definen parámetros de
identificación de la planta (F y G)
Robobarm.mdl
Entrada-salida, en respuesta a
generador aleatorio
Se generan los datos para
el entrenamiento
Se procede a obtener el modelo
Se procede a la simulación
El control multivariable (I)
El caso simple:
El objetivo es:
siendo v(t+1) el modelo de referencia que se pretende seguir
El modelo responde entonces:
de lo que resulta la ley de control:
)()()()1( tuXGXFty +=+
)1()1( +=+ tvty
)()()()1( tuXGXFtv +=+
( ))1()(
)(
1
)(
)()1(
)( ++−=
−+
= tvXF
XGXG
XFtv
tu
• Caso general:
• Siendo:
n = Número de variables articulares
y(t+1) =Variables articulares (ángulo de las articulaciones)
u(t) =Par aplicado a cada articulación
• Serán necesarias: n+n*n redes de identificación
)()(...)(2)()(1)()()1(
.
.
)()(2...)(2)(2)(1)(2)(2)1(2
)()(1...)(2)(1)(1)(1)(1)1(1
tnuXnZtuXnHtuXnGXnFtny
tnuXZtuXHtuXGXFty
tnuXZtuXHtuXGXFty
++++=+
++++=+
++++=+
El control multivariable (II)
• En caso de dos articulaciones
• Se sustituye la salida por el modelo de referencia
El control multivariable (III)
)(2)(2)(1)(2)(2)1(2
)(2)(1)(1)(1)(1)1(1
tuXHtuXGXFty
tuXHtuXGXFty
++=+
++=+
)(
1
)(
1
ttu θ=
)(
2
)(
2
ttu θ=
)1()1(
1
+=+ txty
)1()1(
2
+=+ tyty
)(2)(2)(1)(2)(2)1(2
)(2)(1)(1)(1)(1)1(1
tuXHtuXGXFtv
tuXHtuXGXFtv
++=+
++=+
• Como son dos ecuaciones con dos incógnitas, tiene solución:
• Al sustituirlo en:
• Resulta:
El control multivariable (IV)
( ) ( )
)()()()(
)()1()()()1()(
)(
1212
221112
1
xxxx
xxxx
HGGH
FtvHFtvH
tu 

−
−+−−+
=
( ) ( )
)()()()(
)()1()()()1()(
)(
1212
112221
2
xxxx
xxxx
HGGH
FtvGFtvG
tu 

−
−+−−+
=
)(2)(2)(1)(2)(2)1(2
)(2)(1)(1)(1)(1)1(1
tuXHtuXGXFty
tuXHtuXGXFty
++=+
++=+
)1(2)1(2
)1(1)1(1
+=+
+=+
tvty
tvty
• El algoritmo se reelabora:
Evaluar modelo
Adaptar los parámetros
El control multivariable (V)
)(2)(2)(1)(2)(2)1(2
)(2)(1)(1)(1)(1)1(1
tuXHtuXGXFty
tuXHtuXGXFty


++=+
++=+
)(
)1(
))1()1(()()1(
k
ty
tytykk
f
ff
θ
θθ
∂
+∂
+−+−=+


η
)(
)1(
))1()1(()()1(
k
ty
tytykk
g
g
θ
θθg
∂
+∂
+−+−=+


η
)(
)1(
))1()1(()()1(
k
ty
tytykk
g
hh
θ
θθ
∂
+∂
+−+−=+


η
Seis redes de
estimación
El control multivariable (VI)
El control multivariable (VII)
El control multivariable (VIII)
0 20 40 60 80 100
-1
-0.5
0
0.5
1
X Axis
YAxis
Ángulo
1
0 20 40 60 80 100
-2
-1.5
-1
-0.5
0
0.5
1
X Axis
YAxis
Ángulo
2

Control Modelo de Referencia y Linealizacion po Realimentacion

  • 1.
    Control por modelode referencia vs Control basado en linealización por realimentación
  • 2.
    Control por modelode referencia Contro- lador Planta Modelo de planta Error del modelo Error del controlador Salida de la planta Modelo de referencia Con- trol Entrad a )( )( )( )1( )1()( t tu tu ty ty J t J cc θθ ∂ ∂ ∂ +∂ +∂ ∂ = ∂ ∂     [ ]2 )1()1( 2 1 +−+= tytyJ r  )( )1( )1()( t ty ty J t J pp θθ ∂ +∂ +∂ ∂ = ∂ ∂  
  • 3.
    • Se necesitandos núcleos estimadores (Redes Neuronales, Sistemas borrosos, etc.) • Primero: Se obtiene modelo de la planta  Número de salidas de la planta retrasadas  Número de salidas del controlador retrasadas • Segundo: Se adapta el controlador  Número de salidas de la planta retrasadas  Número de salidas del controlador retrasadas (si procede)  Número de referencias retrasadas       +−+−=+ pθ),1(),...,();1(),...,()1( nBtutunAtytyfty  Características       −−+−+−= cθ);(),...,1();1(),...,();1(),...,()( nBtutunRtrytrynAtytyftu  ( ))1(),...,();1(),...,()1( +−+−=+ nBtutunAtytyfty 
  • 4.
    Arquitectura del CMR Controlador Modelode la planta Planta Referencia
  • 5.
    Control de uneslabón Edit-Look under mask Demo: mrefrobotarm.mdl
  • 6.
    Planta Controlador Modelo de laplanta Planta       +−+−=+ pθ),1(),...,();1(),...,()1( nBtutunAtytyfty 
  • 7.
    Controlador Controlador Modelo de laplanta Retrasos Planta       −−+−+−= cθ);(),...,1();1(),...,();1(),...,()( nBtutunRtrytrynAtytyftu  ( ))1(),...,();1(),...,()1( +−+−=+ nBtutunAtytyfty 
  • 8.
    • Definir lamatriz de datos de entrada-salida • Condiciones iniciales de los parámetros a adaptar • Desde época=1 hasta error_deseado Aplicar estimador no lineal Adaptar parámetros • Fin Algoritmo general de adaptación paramétrica
  • 9.
    Algoritmo aplicado ala planta (I) • Definir matriz de datos de entrada-salida       +−+−=+ pθ),1(),...,();1(),...,()1( nBtutunAtytyfty  ( )                 ++−+− ++−+− KtynBtutunAtyty tynBtutunAtyty )1(;)1(),...,();1(),...,( . . . )1(;)1(),...,();1(),...,( Planta Modelo
  • 10.
    Algoritmo aplicado ala planta (II) Aplicar núcleo estimador ∑. . . Cuerp o Celula rParámetros (sinapsis) x0 x1 xn wi0 wi1 win f(•) Entradas (dendritas) ∏ 1 Fiµ ∏ 2 Fiµ ∏ M Fiµ 1 1Fµ 1 2Fµ 1 3Fµ 1 Fnµ 2 1Fµ 2 2Fµ 2 3Fµ 2 Fnµ M F1µ M F 2µ M F3µ M Fnµ 1x 2x 3x nx Regla 1 Regla 2 Regla M 1 y 2 y M y ∑∏ ∑ ∏ l ll yCapa de Salida Capa de Entrada Capa Oculta Sistemas Borrosos Red Neuronal
  • 11.
    Algoritmo aplicado ala planta (III) [ ]2 )1()1( 2 1 +−+= tytyJ  Adaptar los parámetros (Sistemas Borrosos) )( )1( )1()( t ty ty J t J pp θθ ∂ +∂ +∂ ∂ = ∂ ∂   )( )( )()1( k kJ kk p pp θ θθ ∂ ∂ −=+ η ∑ ∏ ∑ ∏ = = = =                 −                 − =+ M l n i l i l ii M l n i l i l iil x e x ey ty 1 1 1 1 ]-xp[ ]-xp[ )1( β γ β γ 
  • 12.
    Algoritmo aplicado alcontrolador (I) • Definir la matriz de datos de entrada-salida • Sustitución por valores estimados (aplicar gradiente)       −−+−+−= cθ);(),...,1();1(),...,();1(),...,()( nBtutunRtrytrynAtytyftu  ( ))1(),...,();1(),...,()1( +−+−=+ nBtutunAtytyfty                              ++−+− ++−+− K trynBtutunAtyty trynBtutunAtyty )1(;)1(),...,();1(),...,( . . . )1(;)1(),...,();1(),...,(  
  • 13.
    Algoritmo aplicado alcontrolador (II) Adaptar los parámetros (Sistemas Borrosos) [ ]2 )1()1( 2 1 +−+= tytyJ r  )( )( )()1( k kJ kk c cc θ θθ ∂ ∂ −=+ η ∑ ∏ ∑ ∏ = = = =                 −                 − =+ M l n i l i l ii M l n i l i l iil x e x ey ty 1 1 1 1 ]-xp[ ]-xp[ )1( β γ β γ  )( )( )( )1( )1()( t tu tu ty ty J t J cc θθ ∂ ∂ ∂ +∂ +∂ ∂ = ∂ ∂    
  • 14.
    Resumen de diferenciasentre modelo de la planta y controlador (I) • Datos de entrada-salida (planta)  Salidas de la planta retrasadas  Salidas del controlador retrasadas  Salida de la planta • Datos de entrada-salida (controlador)  Salidas de la planta retrasadas  Salidas del controlador retrasadas  Salidas de referencia retrasadas  Salida de la referencia ( )                 ++−+− ++−+− KtynBtutunAtyty tynBtutunAtyty )1(;)1(),...,();1(),...,( . . . )1(;)1(),...,();1(),...,(                             ++−+− ++−+− K trynBtutunAtyty trynBtutunAtyty )1(;)1(),...,();1(),...,( . . . )1(;)1(),...,();1(),...,(  
  • 15.
    Resumen de diferenciasentre modelo de la planta y controlador (II) • Estimador no lineal (planta) • Estimador no lineal (controlador)       +−+−=+ pθ),1(),...,();1(),...,()1( nBtutunAtytyfty  )( )( )()1( k kJ kk p pp θ θθ ∂ ∂ −=+ η )( )( )( )1( )1()( t tu tu ty ty J t J cc θθ ∂ ∂ ∂ +∂ +∂ ∂ = ∂ ∂           −−+−+−= cθ);(),...,1();1(),...,();1(),...,()( nBtutunRtrytrynAtytyftu  ( ))1(),...,();1(),...,()1( +−+−=+ nBtutunAtytyfty 
  • 16.
    • Red resultante(planta) • Red resultante (controlador) Resumen de diferencias entre modelo de la planta y controlador (III)       +−+−=+ pθ),1(),...,();1(),...,()1( nBtutunAtytyfty        −−+−+−= cθ);(),...,1();1(),...,();1(),...,()( nBtutunRtrytrynAtytyftu 
  • 17.
  • 18.
    CMR utilizando MATLAB(I) Tipo de red y datos de entrada-salida al controlador Generación de matriz para modelo de la planta Parámetros para obtención del modelo de la planta
  • 19.
    CMR utilizando MATLAB(II) EntradasCapa_1 Capa_2 Capa_3 Entradas referencia Entradas controlador Entradas planta Red 5-13-1
  • 20.
    CMR utilizando MATLAB(III) Generadoraleatorio de referencia: Entrada aleatoria con intervalos de muestreo aleatorio al modelo de referencia: Amplitud máxima Amplitud mínima Período de muestreo mínimo Período de muestreo máximo Número de muestras Modelo de referencia (Simulink) Robotref.mdl
  • 21.
    CMR utilizando MATLAB(IV) Número de épocas para cada segmento  Número de segmentos  Si se selecciona, se agregan nuevos segmentos  Abre cuadro de diálogo de identificación de la planta                             ++−+− ++−+− K trynBtutunAtyty trynBtutunAtyty )1(;)1(),...,();1(),...,( . . . )1(;)1(),...,();1(),...,(  
  • 22.
    Cuadro de diálogopara identificación de la planta Robotarm.mdl
  • 23.
    Pasos para diseñarel CMR(I) Definir el número de neuronas de la capa oculta (controlador) Definir los datos de entrada salida al controlador Definir el generador aleatorio referido al modelo de referencia Generar datos basado en el modelo de referencia Definir los parámetros de adaptación del controlador
  • 24.
    • Obtener elmodelo de la planta • O importar un modelo ya creado Pasos para diseñar el CMR(II)
  • 25.
    Pasos para diseñarel CMR(III) Evaluar el resultado del modelo de la planta
  • 26.
    • Obtener datosde entrada-salida para red neuronal (control) Pasos para diseñar el CMR(IV)
  • 27.
    • Entrenar elcontrolador Pasos para diseñar el CMR(V) •Evaluar el resultado
  • 28.
    CMR multivariable [ ]τ[ ]θ               nτ τ τ . 2 1               nθ θ θ . 2 1
  • 29.
    Elementos a alterar •Número de variables de salida y control retrasadas (modelo de control) • Modelo simulink de la planta • Número de variables de salida y control retrasadas (modelo de la planta) • Entrenar planta y controlador (desacoplado en cada articulación) CMR multivariable (II)
  • 30.
  • 31.
    Control basado enla linealización p u(t) y(t+1) e(t+1) + - Planta ∆∆ G(X) F(X) )()()()1( tuXGXFty +=+ [ ])()....1(),1(....)( nBdtudtunAtytyX −−−−+−=
  • 32.
    Datos de entrada-salida )()( )()1( )()....1(),1()( )()....1(),1()( tuG Fty nBdtudtunAtyty nBdtudtunAtyty −−−−+− −−−−+−+=+ .... .... [ ])()....1(),1()( nBdtudtunAtytyX −−−−+−= .... Siendo: d: Retardo de la señal de control nA: Cantidad de valores retrasados de la salida de la planta nB: Cantidad de valores retrasados de la salida del controlador Argumento de funciones F y G: El modelo de la planta responde a: 1 3 2 2 1 )()( . . . . xy uXbXf x x x x x dt d n =                 + =                 ;
  • 33.
    Las dos redesde identificación )()()()1( tuXGXFty  +=+ Si se pueden estimar los valores de F y G, entonces: u(t) y(t+1) e(t+1) + - Planta ∆∆ )1( +ty  )(XF  )(XG  )()()()1( tuXGXFty +=+ Se necesitan dos redes de identificación
  • 34.
    Ley de control Sise define la ley de control ( )vXF XG tu +−= )( )( 1 )(   Siendo v el modelo de referencia que se pretende seguir, entonces sustituyendo en: )()()()1( tuXGXFty +=+ Resulta: ( )         +−+=+ vXF XG XGXFty )( )( 1 )()()1(   Con lo que se cancelan las no linealidades de F y G: )()( XGXG  ≡ )()( XFXF  ≡ vty =+ )1( Se sigue el modelo de referencia
  • 35.
    Diagrama equivalente y(t+1)u(t) F(X)+G(X)u(t) ∆ ∆ v(t+1) )( 1 ^ XG )1()( ^ ++− tvXF ()         +−+=+ vXF XG XGXFty )( )( 1 )()()1(   Cancelación de no linealidades
  • 36.
    • Para estimarlas funciones F y G • Se debe conocer los parámetros de cada una de los dos núcleos estimadores • Se define la función de coste: Parámetros a adaptar )()()()1( tuXGXFty  +=+ )(),(),()1( tuXGXFty gθfθ  +=+ ( )2 )1()1( 2 1 +−+= tytyJ 
  • 37.
    Aplicación del gradiente •Se aplica el gradiente, los parámetros se adaptan según: • Dado que • Resulta )( )1( ))1()1(()()1( k ty tytykk f ff θ θθ ∂ +∂ +−+−=+   η )( )1( ))1()1(()()1( k ty tytykk g g θ θθg ∂ +∂ +−+−=+   η ),( fθXF  ),( gθXG  )(),(),()1( tuXGXFty gθfθ  +=+ )( )( )1( ),( tu k ty XG gθ gθ gθ ∂ ∂ = ∂ +∂   fθ fθ fθ ∂ ∂ = ∂ +∂ ),( )( )1( XF k ty 
  • 38.
    • Condiciones inicialesde los parámetros • Desde época=1 hasta error_deseado Evaluar modelo Calcular el error Adaptar parámetros • Fin Algoritmo de obtención de F y G )()()()1( tuXGXFty  +=+ )( )1( ))1()1(()()1( k ty tytykk f ff θ θθ ∂ +∂ +−+−=+   η )( )1( ))1()1(()()1( k ty tytykk g g θ θθg ∂ +∂ +−+−=+   η
  • 39.
    • Se utilizanredes neuronales (perceptrón multicapa) • Se ejecuta: mrefrobotarm Utilización de MATLAB (I) Se sustituye el controlador por modelo de referencia
  • 40.
    Utilización de MATLAB(II) • Se ejecuta en el espacio de trabajo: • Simulink - Neural Network Workset • Se copia bloque Narma-L2 Controller
  • 41.
    • Se integrael controlador Utilización de MATLAB (III)
  • 42.
    Se definen parámetrosde identificación de la planta (F y G) Robobarm.mdl
  • 43.
    Entrada-salida, en respuestaa generador aleatorio Se generan los datos para el entrenamiento
  • 44.
    Se procede aobtener el modelo
  • 45.
    Se procede ala simulación
  • 46.
    El control multivariable(I) El caso simple: El objetivo es: siendo v(t+1) el modelo de referencia que se pretende seguir El modelo responde entonces: de lo que resulta la ley de control: )()()()1( tuXGXFty +=+ )1()1( +=+ tvty )()()()1( tuXGXFtv +=+ ( ))1()( )( 1 )( )()1( )( ++−= −+ = tvXF XGXG XFtv tu
  • 47.
    • Caso general: •Siendo: n = Número de variables articulares y(t+1) =Variables articulares (ángulo de las articulaciones) u(t) =Par aplicado a cada articulación • Serán necesarias: n+n*n redes de identificación )()(...)(2)()(1)()()1( . . )()(2...)(2)(2)(1)(2)(2)1(2 )()(1...)(2)(1)(1)(1)(1)1(1 tnuXnZtuXnHtuXnGXnFtny tnuXZtuXHtuXGXFty tnuXZtuXHtuXGXFty ++++=+ ++++=+ ++++=+ El control multivariable (II)
  • 48.
    • En casode dos articulaciones • Se sustituye la salida por el modelo de referencia El control multivariable (III) )(2)(2)(1)(2)(2)1(2 )(2)(1)(1)(1)(1)1(1 tuXHtuXGXFty tuXHtuXGXFty ++=+ ++=+ )( 1 )( 1 ttu θ= )( 2 )( 2 ttu θ= )1()1( 1 +=+ txty )1()1( 2 +=+ tyty )(2)(2)(1)(2)(2)1(2 )(2)(1)(1)(1)(1)1(1 tuXHtuXGXFtv tuXHtuXGXFtv ++=+ ++=+
  • 49.
    • Como sondos ecuaciones con dos incógnitas, tiene solución: • Al sustituirlo en: • Resulta: El control multivariable (IV) ( ) ( ) )()()()( )()1()()()1()( )( 1212 221112 1 xxxx xxxx HGGH FtvHFtvH tu   − −+−−+ = ( ) ( ) )()()()( )()1()()()1()( )( 1212 112221 2 xxxx xxxx HGGH FtvGFtvG tu   − −+−−+ = )(2)(2)(1)(2)(2)1(2 )(2)(1)(1)(1)(1)1(1 tuXHtuXGXFty tuXHtuXGXFty ++=+ ++=+ )1(2)1(2 )1(1)1(1 +=+ +=+ tvty tvty
  • 50.
    • El algoritmose reelabora: Evaluar modelo Adaptar los parámetros El control multivariable (V) )(2)(2)(1)(2)(2)1(2 )(2)(1)(1)(1)(1)1(1 tuXHtuXGXFty tuXHtuXGXFty   ++=+ ++=+ )( )1( ))1()1(()()1( k ty tytykk f ff θ θθ ∂ +∂ +−+−=+   η )( )1( ))1()1(()()1( k ty tytykk g g θ θθg ∂ +∂ +−+−=+   η )( )1( ))1()1(()()1( k ty tytykk g hh θ θθ ∂ +∂ +−+−=+   η Seis redes de estimación
  • 51.
  • 52.
  • 53.
    El control multivariable(VIII) 0 20 40 60 80 100 -1 -0.5 0 0.5 1 X Axis YAxis Ángulo 1 0 20 40 60 80 100 -2 -1.5 -1 -0.5 0 0.5 1 X Axis YAxis Ángulo 2