control modelo de referencia y linealizacion po realimentacion
TRANSCRIPT
Control por modelo de referencia
vs Control basado en linealización
por realimentación
Control por modelo de referencia
Contro-lador Planta
Modelo deplanta Error del
modelo
Error del controlador
Salida de laplanta
Modelo de referencia
Con-trol
Entrada
)(
)(
)(
)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_deseadoAplicar estimador no linealAdaptar 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)
∏ 1Fiµ ∏ 2
Fiµ ∏ MFiµ
11Fµ
12Fµ 1
3Fµ
1Fnµ 2
1Fµ
22Fµ
23Fµ
2Fnµ M
F1µ
MF 2µ
MF3µ M
Fnµ
1x 2x 3x nx
Regla 1Regla 2
Regla M1y 2y
My
∑∏∑ ∏
l
llyCapa de Salida
Capa deEntrada
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
kJkk
ppp θθθ
∂∂
−=+ η
∑ ∏
∑ ∏
==
==
−
−
=+M
l
n
ili
lii
M
l
n
ili
liil
xe
xey
ty
11
11
]-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
++−+−
++−+−
KtrynBtutunAtyty
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
kJkk
ccc θθθ
∂∂−=+ η
∑ ∏
∑ ∏
==
==
−
−
=+M
l
n
ili
lii
M
l
n
ili
liil
xe
xey
ty
11
11
]-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(),...,(
++−+−
++−+−
KtrynBtutunAtyty
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
kJkk
ppp θθθ
∂∂−=+ η
)(
)(
)(
)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
Red5-13-1
CMR utilizando MATLAB(III)Generador aleatorio de referencia:
Entrada aleatoria con intervalos de muestreo aleatorio al modelo de referencia:
Amplitud máximaAmplitud mínimaPeríodo de muestreo mínimoPeríodo de muestreo máximoNú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 identif icación de la planta
++−+−
++−+−
KtrynBtutunAtyty
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 controladorDefinir el generador aleatorio referido al modelo de referenciaGenerar datos basado en el modelo de referenciaDefinir 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 por realimentación
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()(
tuGFty
nBdtudtunAtyty
nBdtudtunAtyty
−−−−+−−−−−+− +=+
. . . .
. . . .
[ ])()....1(),1()( nBdtudtunAtytyX −−−−+−= . . . .
Siendo: d: Retardo de la señal de controlnA: Cantidad de valores retrasados de la salida de la plantanB: 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 identif icación
Ley de control
Si se define la ley de control
( )vXFXG
tu +−= )()(
1)(
Siendo v el modelo de referencia que se pretende seguir, entonces sustituyendo en:
)()()()1( tuXGXFty +=+
Resulta:
( )
+−+=+ vXF
XGXGXFty )(
)(
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
XGXGXFty )(
)(
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
tytytykk
fff θ
θθ∂
+∂+−+−=+
η
)(
)1())1()1(()()1(
k
tytytykk
gg θ
θθ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 errorAdaptar parámetros
• Fin
Algoritmo de obtención de F y G
)()()()1( tuXGXFty +=+
)(
)1())1()1(()()1(
k
tytytykk
fff θ
θθ∂
+∂+−+−=+
η
)(
)1())1()1(()()1(
k
tytytykk
gg θ
θθ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
XFtvtu
• Caso general:
• Siendo: n = Número de variables articularesy(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(1tuXHtuXGXFty
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(1tuXHtuXGXFtv
tuXHtuXGXFtv
++=+++=+
• Como son dos ecuaciones con dos incógnitas, tiene solución:
• Al sustituirlo en:
• Resulta:
El control multivariable (IV)
( ) ( ))()()()(
)()1()()()1()()(
1212
2211121
xxxx
xxxx
HGGH
FtvHFtvHtu
−−+−−+=
( ) ( ))()()()(
)()1()()()1()()(
1212
1122212
xxxx
xxxx
HGGH
FtvGFtvGtu
−−+−−+
=
)(2)(2)(1)(2)(2)1(2
)(2)(1)(1)(1)(1)1(1tuXHtuXGXFty
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
tytytykk
fff θθθ
∂+∂+−+−=+
η
)(
)1())1()1(()()1(
k
tytytykk
gg θθθg
∂+∂+−+−=+
η
)(
)1())1()1(()()1(
k
tytytykk
ghh θθθ
∂+∂
+−+−=+
η
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
Y A
xis
Ángulo1
0 20 40 60 80 100-2
-1.5
-1
-0.5
0
0.5
1
X Axis
Y A
xis
Ángulo2