Control Modelo de Referencia y Linealizacion po Realimentacion

Post on 22-Jul-2015

92 views 0 download

Transcript of Control Modelo de Referencia y Linealizacion po Realimentacion

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

[ ]τ [ ]θ

ττ

.2

1

θθ

.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