Está en la página 1de 39

Capítulo 6

Backstepping

6.1. Introducción
6.1.1. Orígenes
La técnica de backstepping surge a principios de los años noventas como una sucesión
al mejoramiento del diseño de controladores no lineales realimentados. Todo empieza en
los años setentas, cuando por medio de los métodos geométricos se establece la técnica de
“linealización por realimentación” (feedback linealization) de un sistema, con la cual, un
sistema no lineal es completamente o parcialmente transformado en un sistema lineal a
través del difeomorfismo de las variables de estado y una transformación de la realimen-
tación. La idea principal de esta técnica, fue la de extender la teoría de sistemas lineales
(controlabilidad, observabilidad) a sistemas no lineales.

Sin embargo, la técnica de linealización por realimentación resulta un poco compleja,


además de que podría dejar al sistema sin robustez. Las leyes de control generadas en
dicha técnica, destruyen frecuentemente las no linealidades “estables” que son inherentes
al sistema y que sin quererlo, puedan ser reemplazadas por términos desestabilizadores, a
tal grado que los sistemas realimentados se quedan con un margen mínimo de estabilidad,
por lo que si llegaran a existir pequeños errores en el modelado, esto pudiera hacer que el
sistema pierda estabilidad.

La idea de base de la técnica de linealización por realimentación, motivó al desarrollo


de varios métodos de control, entre ellos, el método llamado “realimentación por pasi-
vidad ” (feedback passivation) a finales de los ochentas. La realimentación por pasividad
explota la conexión existente entre los conceptos de estabilidad y pasividad, lo cual a
su vez genera un principal interés en las propiedades geométricas, como lo son el grado
relativo del sistema y la estabilidad de la dinámica de ceros. Lamentablemente, en este
método encontramos dos condiciones que se deben de cumplir, para que el sistema sea

257
U6: Control por Backstepping 1S - 2020

pasivo, el grado relativo del sistema no debe de ser mayor a la unidad y la dinámica de
ceros no debe de ser inestable, es decir, a fase no mínima (nonminimum phase).

Como en el caso de un sistema lineal, la dinámica de ceros de un subsistema no


lineal no cambia bajo condiciones de realimentación, es por ello que si el subsistema es
inestable, entonces el sistema completo no puede ser pasivo. Debido a las dos restricciones,
la metodología de realimentación por pasividad no puede ser utilizada para todos los
sistemas. Como ejemplo, veamos el caso de un sistema que tiene la siguiente estructura:

ż = f (z) + ψ̃(z, ξi )ξi , i ∈ {1, ..., n}


˙ξ1 = ξ2
ξ˙2 = ξ3 (6.1)
..
.
ξ˙n = u

con una ż = f (z) asintóticamente estable de forma global, es difícil realizarle una reali-
mentación por pasividad. Además, si se juega con cada salida, de tal forma que y = ξi ,
no se puede satisfacer al menos una de los dos requisitos de pasividad. Por ejemplo, si
y = ξ1 , el sistema es de fase mínima, pero tiene un grado relativo de orden n. Por otro
lado, si y = ξn , el grado relativo es uno, pero el sistema no cumple con la fase mínima,
ya que el subsistema que contiene la dinámica de ceros, posee una cadena de integradores
inestable. Para los otros casos de y, ninguno de los dos requisitos se cumplen.

Con el fin de eliminar los dos obstáculos mencionados anteriormente, a principios de


los noventas se crearon dos técnicas recursivas, las cuales eliminan, cada una por su parte,
uno de los obstáculos para que cumpla la condición de pasividad.

Para eliminar el obstáculo del grado relativo, se utiliza la técnica llamada “backs-
tepping”, la cual descompone el sistema original en subsistemas y emplea expresiones
analíticas de la derivada de la ley de control del subsistema anterior, así el backstepping
se utiliza cuando la salida y = ξ1 . Por otro lado, el obstáculo de la dinámica de ceros, es
eliminado a través de la técnica llamada “forwarding”, aquí, esta técnica utiliza también
expresiones analíticas de la ley de control anterior, pero ahora usando integrales. Ambas
técnicas se complementan, dado que el requisito para utilizar una de ellas, es el requisito
opuesto de la otra.

En la presente unidad, se tratará sólo la técnica de backstepping, así es que se verá el


requisito fundamental para poderla utilizar, y también cómo se elabora el proceso de este
método.

Dr. Alejandro Enrique Dzul López 258


U6: Control por Backstepping 1S - 2020

6.1.2. Requisito
El diseño de un controlador por medio de la técnica de backstepping, tiene como
restricción, que el sistema tenga una estructura triangular inferior, es decir, si el sistema
está dado por ẋ = f (x) + g(x)u, donde x ∈ Rn , u es la entrada y además:

Por ejemplo :

ẋ1 = x1 + x2
ẋ2 = x1 + x2 + x3
..
.
ẋk = x1 + x2 + , ..., + xk + u

6.1.3. Construcción
El proceso de backstepping consiste en una transformación, paso a paso, de un sistema
(en forma triangular inferior) por medio de un cambio de variables. Volviendo al sistema
definido en (6.1) con i = 1, esto es y = ξ1 . Con esta salida, el grado relativo del sistema
no es igual a uno, por lo que no cumple una de las condiciones necesarias. Para eliminar
dicho obstáculo, primero el proceso de backstepping aísla el subsistema

ż = f (z) + ψ̃(z, ξ1 )ξ1


˙ξ1 = u1 (6.2)
y1 = ξ1

Con u1 como entrada, este sistema posee un grado relativo uno y tiene una débil fase
mínima. Por lo tanto, se puede construir una función de Lyapunov V1 (z, ξ1 ) y también,

Dr. Alejandro Enrique Dzul López 259


U6: Control por Backstepping 1S - 2020

una realimentación estabilizadora dada por

u1 = α1 (z, ξ1 )

Para la segunda etapa, este subsistema es aumentado por el integrador ξ2 :

ż = f (z) + ψ̃(z, ξ1 )ξ1


˙ξ1 = ξ2 (6.3)
ξ˙2 = u2
y2 = ξ2 − α1 (z, ξ1 )

Aquí, la realimentación estabilizadora α1 (z, ξ1 ) de la etapa precedente, es utilizada con


el fin de definir la nueva salida pasiva y2 . Con esta salida y con la entrada u2 , el subsistema
aumentado sigue teniendo un grado relativo uno ya que

∂α1 h i ∂α
1
ẏ2 = u2 − f (z) + ψ̃(z, ξ1 )ξ1 − ξ2 (6.4)
∂z ∂ξ1

Según la construcción hecha, el subsistema aumentado es también de fase mínima, dado


que su subsistema de la dinámica de ceros es (6.2), con una realimentación estabilizadora
dada por u1 = α1 (z, ξ1 ). Además, V1 (z, ξ1 ) es la función de Lyapunov del subsistema
de la dinámica de ceros. Si se aumenta V1 con y22 , se obtiene una función de Lyapunov
compuesta:

V2 (z, ξ) = V1 (z, ξ1 ) + y22


= V1 (z, ξ1 ) + [ξ2 − α1 (z, ξ1 )]2 (6.5)

que nos servirá ahora para la construcción de la nueva realimentación u2 = α2 .

Para el caso n = 2, el obstáculo del grado relativo, en la realimentación por pasividad,


queda eliminado en dos pasos. Para el caso de n > 2, el procedimiento continúa hasta que
la salida tenga grado relativo uno con respecto a la verdadera entrada u.

En este sentido, la técnica de backstepping extiende el diseño de la realimentación por


pasividad para los sistemas que tengan cualquier valor de grado relativo, al construir re-
cursivamente una salida que eventualmente satisfaga los requisitos de pasividad. En cada
paso del proceso, la salida construida es tal que el sistema completo es de fase mínima.
Sin embargo, el grado relativo uno necesario es satisfecho solo hasta el último paso del
proceso de backstepping.

Dr. Alejandro Enrique Dzul López 260


U6: Control por Backstepping 1S - 2020

La técnica de backstepping se ha vuelto popular para el diseño de controladores, su


éxito radica en la resolución del problema de estabilización global y del problema de se-
guimiento, principalmente en sistemas no lineales con parámetros desconocidos.

A continuación, se verán tres formas de la técnica de backstepping : la exacta (pará-


metros conocidos), la adaptable (parámetros desconocidos constantes) y la robusta (pa-
rámetros desconocidos con incertidumbre).

6.2. Backstepping exacto


El backstepping es una técnica recursiva que combina la elección de una función de
Lyapunov con el diseño de un control en realimentación. Esta técnica descompone el pro-
blema original en una secuencia de problemas de diseño para sistemas de orden reducido.
El backstepping a menudo puede resolver problemas de estabilización, seguimiento y con-
trol robusto bajo condiciones menos restrictivas que las encontradas en otros métodos.

Considérese el sistema :
ẋ = f (x) + g(x)u (6.6)
donde x ∈ Rn representa el estado y u ∈ R es la entrada de control. Supóngase que el
sistema (6.6) puede, después de una transformación, ser puesto bajo la siguiente forma
triangular:

ẋ1 = g1 (x1 ) + x2
ẋ2 = g2 (x1 , x2 ) + x3
..
.
ẋk = gk (x1 , x2 , ..., xk ) + u

Una vez acomodado el sistema de esta forma, el método de backstepping puede ser
aplicado al considerar cada xi (i = 1, 2, ..., k) como una entrada virtual, y donde a cada
entrada virtual le corresponde una función de Lyapunov intermedia Vi hasta llegar a di-
señar una ley de control “u” utilizando el concepto del método directo de Lyapunov.

Hipótesis 6.1. Supóngase que existe para el sistema (6.6), una ley de control u = α(x)
y una función radialmente desacotada definida positiva V1 : Rn → R tal que:
∂V1
(x) [f (x) + g(x)α(x)] ≤ −W (x) ≤ 0, ∀x ∈ Rn
∂x
donde W (x) es semi-definida positiva.

Dr. Alejandro Enrique Dzul López 261


U6: Control por Backstepping 1S - 2020

La idea del backstepping es la de aumentar el sistema (6.6) con un integrador:

ẋ = f (x) + g(x)ζ (6.7)


ζ̇ = u (6.8)

donde ζ es considerada como la entrada de control ficticia, y la ley de control ficticia


α1 (x) es diseñada para (6.7) con la función de Lyapunov V1 (x). En esta etapa, se define
una nueva variable z = ζ − α1 (x), y un nuevo sistema de ecuaciones es obtenido de la
siguiente forma:

ẋ = f (x) + g(x) [α1 (x) + z] (6.9)


∂α1
ż = u − (x) [f (x) + g(x)(α1 (x) + z)] (6.10)
∂x
Una forma de elegir una función de Lyapunov puede ser la siguiente:
1
V (x, z) = V1 (x) + z 2 (6.11)
2
y la ley de control u puede ser obtenida aplicando el teorema siguiente:
Teorema 6.1. [8] Considérese el sistema de ecuaciones (6.9) y (6.10). Entonces, la ley
de control:
∂α1 ∂V1
u = c (ζ − α1 (x)) + (x) [f (x) + g(x)ζ] − (x)g(x), c>0 (6.12)
∂x ∂x
es tal que x(t), ζ(t) están saturados y donde W (x) y ζ − α(x) podrán satisfacer las rela-
ciones siguientes:

lı́m W (x(t)) = 0 (6.13)


t→∞
lı́m ζ(t) − α1 (x(t)) = 0 (6.14)
t→∞

La función de Lyapunov correspondiente sería:


1
V (x, ζ) = V1 (x) + [ζ − α1 (x)]2 (6.15)
2
Además, si W (x) es definida positiva, entonces el control (6.12) garantiza que el equi-
librio (x = 0, ζ = α1 (0)) es asintóticamente estable de forma global.
M
De lo anterior, podría formularse la siguiente pregunta : ¿ porqué es necesario diseñar
una ley de control α(x) sabiendo que α1 (x) ya es una ley de control que estabiliza el
sistema (6.6) ? La razón es que la idea de aumentar el sistema con un integrador es
solamente una etapa intermedia de la idea de formar “una cadena de integradores”, como
se presenta a continuación.

Dr. Alejandro Enrique Dzul López 262


U6: Control por Backstepping 1S - 2020

6.2.1. Cadena de integradores


Anteriormente se vio el caso donde se aumenta el sistema con un solo integrador, el
mismo sistema puede, de hecho, ser aumentado por una cadena de integradores simples.

Teorema 6.2. [8] Aumentando el sistema (6.6) con una cadena de integradores:

ẋ = f (x) + g(x)ζ1
ζ̇1 = ζ2
..
.
ζ̇k−1 = ζk
ζ̇k = u

donde ζi ∈ R, con i = 1, . . . , k. Se elige para la primera ecuación el control α1 (x), y para


las otras ecuaciones αi , con i = 2, . . . , k ; así, se tiene que
∂α1 ∂V1
α2 (x, ζ1 ) = −c1 z1 + (f + g(x)ζ1 ) − (x)g(x)
∂x ∂x
i−2
∂αi−1 X ∂αi−1
αi (x, ζ1 , ..., ζi−1 ) = −ci−1 zi−1 + (f + g(x)ζ1 ) + ζj+1 (i = 3, ..., k + 1)
∂x j=1
∂ζj
zi = ζj − αi (x, ζ1 , ..., ζi−1 ) (i = 1, ..., k)

en este caso, la entrada de control u es diseñada para que:

u = αk (x, ζ1 , . . . , ζk ) (6.16)

y la función de Lyapunov correspondiente es diseñada tal que:


k
1X
V (x, ζ1 , . . . , ζk ) = V1 (x) + [ζi − αi (x, ζ1 , . . . , ζi−1 )]2
2 i=1

Además, si W (x) es definida positiva, entonces el control (6.16) garantiza que le equi-
librio (x = 0, ζ1 = . . . = ζk = 0) es asintóticamente estable.
M

6.2.2. Un ejemplo
En el siguiente ejemplo, se desea mostrar que la técnica del backstepping es más flexible
y con menos restricciones que otros métodos como la linealización exacta por realimenta-
ción de estados.

Dr. Alejandro Enrique Dzul López 263


U6: Control por Backstepping 1S - 2020

Con base en el sistema (6.6), se considera el caso en el que: f (x) = x − x3 y g(x) = 1,


lo que da el sistema siguiente:

ẋ = x − x3 + u (6.17)

El uso de la linealización exacta por realimentación de estados proporciona el siguiente


control:

u = x3 − 2x (6.18)

que cancela el término “−x3 ”, y el sistema que resulta es: ẋ = −x. Tómese
1 2
V (x) = x, (6.19)
2
como la función de Lyapunov candidata para el sistema (6.17), se puede ver que el control
(6.18) satisface la condición dada en la hipótesis 6.1 con : W (x) = x2 , es decir, V̇ ≤ −x2 .
Sin embargo, para la estabilización en “x = 0” el término negativo “−x3 ” es útil, en
particular para grandes valores de x. Además, la presencia de “−x3 ” dentro del control
(6.18) resulta no deseada ya que ello conduce a tener grandes valores de u, lo que puede
introducir inestabilidad al sistema. Es por ello pues, que es razonable diseñar un control
que no cancele “−x3 ”.

Si el sistema (6.17) es aumentado en un integrador:

ẋ = x − x3 + ζ (6.20)
ζ̇ = u (6.21)

y α1 (x) se elige tal que

α1 (x) = −x (6.22)

y el error “z” queda definido por: z = ζ − α1 (x), entonces el nuevo sistema de ecuaciones
puede ser escrito como sigue

ẋ = x − x3 + z + α1 (x)
= −x3 + z (6.23)
ż = u + x − x3 + z + α1 (x)
= u − x3 + z (6.24)

La función de Lyapunov elegida es


1 2 1 2
V (x, ζ) = x + z (6.25)
2 2

Dr. Alejandro Enrique Dzul López 264


U6: Control por Backstepping 1S - 2020

con lo que se obtiene el siguiente control:

u = x3 − x − 2z (6.26)

Lo cual resulta en una derivada de V de

V̇ (x, ζ) = xẋ + z ż
= −x4 + xz + zu − zx3 + z 2
= −x4 − z 2

Aquí también, el control (6.26) genera el término “−x3 ” por lo que se está otra vez
ante el mismo problema visto en la linealización exacta por realimentación de estados.
La flexibilidad del backstepping viene del hecho que se puede reconsiderar la forma de la
función de Lyapunov como sigue:
1 2 1 2
V (x, ζ) = x + z + F (V1 ) (6.27)
2 2
donde V1 (x) = 21 x2 . Calculando la derivada de V

dF (V1 )
V̇ = xẋ + z ż + V̇1 (6.28)
dV1
Reemplazando ẋ y ż por sus valores correspondientes dentro de la ecuación (6.28), se
obtiene
   
4 dF (V1 ) 3 dF (V1 )
V̇ = −x 1 + +z x+u−x +z+x (6.29)
dV1 dV1
d
Si consideramos : dV1
F (V1 ) = x2 = 2V1 ⇒ F (V1 ) = V12 = 41 x4 , entonces

V̇ = −x4 − x6 + z (x + z + u) (6.30)

y eligiendo como control : u = −x − 2z, que es un control lineal, entonces

V̇ = −x4 − x6 − z 2 ≤ 0 (6.31)

y el sistema (6.17) queda así estabilizado. Además, se puede remarcar que el término no
lineal “−x3 ” no es realmente sacrificado y que el problema de tener grandes valores en el
control es eliminado. Nótese además que la elección de F (V1 ) es seleccionada para que la
función V (x, ζ) sea definida positiva.

Dr. Alejandro Enrique Dzul López 265


U6: Control por Backstepping 1S - 2020

6.3. Backstepping adaptable


El principal objetivo, al realizar una realimentación dinámica, es la estimación paramé-
trica. Así, la parte dinámica del controlador se diseña como una “ley de actualización pa-
ramétrica”, con la cual, la parte estática es continuamente adaptada al nuevo parámetro
estimado, de lo cual resulta el nombre de “ley de control adaptable”. Estos controladores
no sólo garantizan que el estado x permanezca acotado, si no también que tienda a un
valor constante deseado (“regulación”) o que siga asintóticamente una señal de referencia
(“seguimiento”).

El procedimiento de backstepping adaptable fue desarrollado por Ioannis Kanellako-


poulos y mejorado en ciertas etapas del proceso por Marino, Morse y Kokotovic. Esta
técnica fue finalmente simplificada por Jiang y Praly.

Antes de ver el proceso de backstepping adaptable, véase un ejemplo sencillo de un


control adaptable.

6.3.1. Caso adaptable sin backstepping


Sea el sistema no lineal

ẋ = u + θφ(x) (6.32)

donde θ es el parámetro desconocido, del cual sólo se sabe que tiene un valor constante.
Dado que no se conoce el valor de θ, se propone una ley de control dada por :

u = −c1 x − θ̂φ(x) (6.33)

donde θ̂ es el valor estimado de θ. Sustituyendo (6.33) en (6.32), se obtiene que

ẋ = −c1 x − θ̃φ(x) (6.34)

donde θ̃ define el error paramétrico dado por

θ̃ = θ − θ̂ (6.35)

Defínase, inicialmente, la función candidata de Lyapunov siguiente


1 2
V0 = x (6.36)
2
La derivada con respecto al tiempo de V0 está dada por :

V̇0 = xẋ
= −c1 x2 − θ̃xφ(x) (6.37)

Dr. Alejandro Enrique Dzul López 266


U6: Control por Backstepping 1S - 2020

Dado que el segundo término de la ecuación anterior no está definido por tener un
error paramétrico desconocido θ̃, entonces no se puede deducir nada sobre la estabilidad.
Así se pasa ahora a un control dinámico, al agregar una ley de actualización paramétrica
para θ̂. Para diseñar dicha ley, se agrega primero a la función candidata de Lyapunov V0
un término cuadrático del error paramétrico:

1 2 1
V1 = x + θ̃2 (6.38)
2 2γ

donde γ > 0 representa la ganancia de adaptación. La derivada con respecto al tiempo de


V1 es

1
V̇1 = xẋ + θ̃θ̃˙
γ
1
= −c1 x2 − θ̃xφ(x) + θ̃θ̃˙
γ
 
2 1˙
= −c1 x + θ̃ xφ(x) + θ̃ (6.39)
γ

Analizando de nuevo la función candidata, se puede observar que el segundo término


permanece indefinido. Sin embargo, ahora la situación es mejor que en (6.37) ya que se
puede utilizar la dinámica de θ̃. ˙ Con una elección correcta de θ̃, ˙ se puede cancelar el
segundo término de V̇1 . Así, si se selecciona la siguiente ley de actualización paramétrica:

θ̃˙ = −γxφ(x) (6.40)

se obtiene

V̇1 = −c1 x2 ≤ 0 (6.41)

Dado que V̇1 ≤ 0, entonces el equilibrio x = 0, θ̃ = 0 es globalmente estable. El con-


trolador no lineal adaptable que garantiza lo anterior está dado por (6.33) y (6.40).

Se puede pensar que el diseño anterior del controlador adaptable es demasiado fácil,
de hecho, esta facilidad es dada por la “condición de apareamiento” (matching condition)
del sistema, es decir, que el parámetro desconocido aparece en los mismos puntos donde
lo hace la entrada de control.

Para los casos que no satisfacen dicha condición, el diseño no resulta ser tan evidente.

Dr. Alejandro Enrique Dzul López 267


U6: Control por Backstepping 1S - 2020

6.3.2. Caso adaptable con backstepping


Véase ahora el proceso de backstepping adaptable a través de un ejemplo de un sistema
no lineal que no cumple con la condición de apareamiento:

ẋ1 = x2 + θx21
ẋ2 = x3
ẋ3 = u

donde θ es un parámetro desconocido pero constante. Para este sistema, el proceso consta
de tres etapas.

Etapa 1

Como ya se sabe, la técnica de backstepping consiste en transformar el sistema original


en subsistemas, de tal forma que se pueda estabilizar cada uno de ellos y que al final, la
función candidata de Lyapunov muestre la estabilidad del sistema.

Introdúzcase z1 = x1 y z2 = x2 − α1 , donde se considera que α1 es el control usado


para estabilizar el sistema z1 . Tómese la función de almacenamiento siguiente
1 2 1
V1 = z1 + (θ̂ − θ)2
2 2

donde θ̂ define al valor estimado de θ. Al hacer la transformación de coordenadas, con el


fin de obtener el sistema z1 , se obtiene

ż1 = ẋ1
= x2 + θx21
= z2 + α1 + θz12 (6.42)

La derivada con respecto al tiempo de V1 es

˙
V̇1 = z1 ż1 + (θ̂ − θ)θ̂
˙
= z1 z2 + z1 α1 + θz13 + (θ̂ − θ)θ̂ (6.43)

Defínase la siguiente función de sintonía τ1 = z1 λ(z1 ), que ayudará a eliminar ciertos


˙
términos y que a su vez servirá de ley de actualización paramétrica θ̂ = τ1 . Utilizando lo
anterior en la ecuación de V̇1 , queda

˙
V̇1 = z1 z2 + z1 α1 + θz13 + (θ̂ − θ)θ̂ + (θ̂ − θ)z1 λ(z1 ) − (θ̂ − θ)z1 λ(z1 )

Dr. Alejandro Enrique Dzul López 268


U6: Control por Backstepping 1S - 2020

Si λ(z1 ) = z12 , entonces


˙
V̇1 = z1 z2 + z1 α1 + θ̂z1 λ(z1 ) + (θ̂ − θ)[θ̂ − z1 λ(z1 )] (6.44)

Haciendo lo mismo para ż1 , se obtiene

ż1 = z2 + α1 + θ̂λ(z1 ) − (θ̂ − θ)λ(z1 ) (6.45)

Retomando la ecuación de V̇1 , se puede ver que no existe ningún término cuadrático,
por lo que es momento de asignarle un valor a α1 , de tal forma que proporcione dicho
término y de paso elimine algún término no deseado:

α1 = −z1 − θ̂λ(z1 ) (6.46)

Así, las ecuaciones de z1 y V̇1 se pueden reescribir como se muestra a continuación

ż1 = −z1 + z2 − (θ̂ − θ)λ(z1 ) (6.47)


˙
V̇1 = z1 z2 − z12 + (θ̂ − θ)(θ̂ − τ1 ) (6.48)

Nótese que ya se tiene un término cuadrático en V̇1 , los demás términos serán remo-
vidos en las siguientes etapas.

Etapa 2

Se introduce ahora z3 = x3 − α2 , donde se considera de la misma forma que α2 será el


control usado para estabilizar le sistema (z1 , z2 ). La derivada con respecto al tiempo de
z2 está dada por

ż2 = ẋ2 − α̇1


∂α1 ∂α1 ˙
= z3 + α2 − ż1 − θ̂ (6.49)
∂z1 ∂ θ̂
Defínase la segunda función de almacenamiento como
1
V2 = V1 + z22
2
donde su derivada con respecto al tiempo está dada por

V̇2 = V̇1 + z2 ż2


 
˙ ∂α1 ∂α1 ˙
z12
= z1 z2 − + (θ̂ − θ)(θ̂ − τ1 ) + z2 z3 + α2 − ż1 − θ̂
∂z1 ∂ θ̂
   
2 ∂α1 ∂α1 ˙ ˙ ∂α1
= −z1 + z2 z1 + z3 + α2 + (z1 − z2 ) − θ̂ + (θ̂ − θ) θ̂ − τ1 + z2 λ(z1 )
∂z1 ∂ θ̂ ∂z1
(6.50)

Dr. Alejandro Enrique Dzul López 269


U6: Control por Backstepping 1S - 2020

En esta segunda etapa, lo que se trata de obtener es otro término cuadrático. Para
ello, defínase la segunda ley de actualización paramétrica dada por
˙ ∂α1
θ̂ = τ2 = τ1 − z2 λ(z1 ) (6.51)
∂z1
además, también se le asignará un valor a α2 de
∂α1 ∂α1
α2 = −z1 − z2 − (z1 − z2 ) + (6.52)
∂z1 ∂ θ̂
de tal forma que la función de almacenamiento queda como
˙ ∂α1 ˙
V̇2 = −z12 − z22 + z2 z3 + (θ̂ − θ)(θ̂ − τ2 ) − z2 (θ̂ − τ2 ) (6.53)
∂ θ̂
Hasta este momento, los primeros dos términos ya se encuentran con signo negativo
y de forma cuadrática, por lo que en la última etapa, deberán desaparecer los demás
términos y además se definirá el control u y z3 .

Etapa 3

Con z1 = x1 , z2 = x2 − α1 y z3 = x3 − α2 , el sistema original queda transformado a


ż1 = −z1 + z2 − (θ̂ − θ)λ(z1 ) (6.54)
∂α1 ˙ ∂α1
ż2 = −z1 − z2 + z3 − (θ̂ − τ2 ) − (θ̂ − θ) λ(z1 ) (6.55)
∂ θ̂ ∂z1
∂α2 ∂α2 ∂α2 ˙
ż3 = u − z˙1 − z˙2 − θ̂ (6.56)
∂z1 ∂z2 ∂ θ̂
Sea la tercera función de almacenamiento
1
V3 = V2 + z32
2
que se convierte ahora en la función candidata de Lyapunov del sistema y cuya derivada
con respecto al tiempo es
V̇3 = V̇2 + z3 ż3
˙
= −z12 − z22 + z2 z3 + (θ̂ − θ)(θ̂ − τ2 )
 
∂α1 ˙ ∂α2 ∂α2 ∂α2 ˙
−z2 (θ̂ − τ2 ) + z3 u − z˙1 − z˙2 − θ̂
∂ θ̂ ∂z1 ∂z2 ∂ θ̂

2 2 ∂α1 ˙ ∂α2
= −z1 − z2 − z2 (θ̂ − τ2 ) + z3 u + z2 + (z1 − z2 )
∂ θ̂ ∂z1
∂α2 ∂α2 ∂α1 ˙
+ (z1 + z2 − z3 ) + · (θ̂ − τ2 )
∂z2 ∂z2 ∂ θ̂

∂α2 ˙ ˙
− θ̂ + (θ̂ − θ)[θ̂ − τ2 + z3 ω(z1 , z2 , θ̂)]
∂ θ̂

Dr. Alejandro Enrique Dzul López 270


U6: Control por Backstepping 1S - 2020

donde
∂α2 ∂α2 ∂α1
ω(z1 , z2 , θ̂) = λ(z1 ) − · λ(z1 ) (6.57)
∂z1 ∂z2 ∂z1

Dado que es la última etapa, el término (θ̂ − θ) en la ecuación de V̇3 , se elimina al


seleccionar la última ley de actualización paramétrica
˙
θ̂ = τ3 = τ2 − z3 ω(z1 , z2 , θ̂) (6.58)

Finalmente, el resto de los términos no deseados se eliminan al seleccionar el control


u, de tal forma que
∂α1
u = −z2 − z3 − z2 ω(z1 , z2 , θ̂)
 ∂ θ̂ 
∂α2 ∂α1 ∂α2
− z1 + z2 − z3 + z3 ω(z1 , z2 , θ̂) + τ3 (6.59)
∂z2 ∂ θ̂ ∂ θ̂
y la ecuación de V̇3 queda

V̇3 = −z12 − z22 − z32 (6.60)

Al analizar V̇3 , se deduce que el equilibrio x1 = 0, x2 = 0, x3 = 0 y θ̃ = 0 del sistema


original, es globalmente estable.

6.4. Backstepping robusto


Otra forma de utilizar la idea de backstepping, es extendiendo el caso Adaptable. Aho-
ra, se considerará que el parámetro desconocido θ no es constante, pero que sus variaciones
oscilan en un intervalo determinado y bien definido.

Tómese como ejemplo la planta de segundo orden dada por

ẋ1 = x2 + θx21 (6.61)


ẋ2 = u (6.62)

donde se asume que el parámetro desconocido θ permanece en un intervalo conocido,


definido por |θ| < θ̄. El objetivo de diseño, será el desarrollo de algunas alternativas de
realimentación estática para controladores adaptables, los cuales incluirán una dinámica
de actualización paramétrica.

Aplicando la técnica de backstepping, primero se diseña un control ν para

ẋ1 = θx21 + ν (6.63)

Dr. Alejandro Enrique Dzul López 271


U6: Control por Backstepping 1S - 2020

con una función de Lyapunov


1 2
V1 = x (6.64)
2 1
cuya derivada con respecto al tiempo es

V̇1 = x1 ẋ1
= θx31 + νx1 (6.65)

Dado que este sistema de primer orden satisface las condiciones de apareamiento,
entonces, diferentes tipos de diseño de controladores pueden ser utilizados. Entre estos
posibles controladores, se pueden sugerir los siguientes
 
θ̄ 1 3
C : ν = αc (x1 ) = −c1 x1 − ax1 + x1 (6.66)
2 a
S : ν = αs (x1 ) = −c1 x1 − x21 θ̄s1 (x1 ) (6.67)

donde c1 y a son valores positivos en el diseño; s1 (x1 ) es una aproximación continua de


una función de conmutación. Es fácil verificar que para el primer control (C) :

V̇1 ≤ −c1 x21 (6.68)

Para el segundo control (S), se tiene que

V̇1 ≤ −c1 x1 − x31 (θ̄s1 (x1 ) − θ) (6.69)

por lo que se puede hacer cualquier elección de la función s1 (x1 ) que logre
c1 2
V̇1 ≤ − x (6.70)
2 1
Así, αc y αs son leyes de control globalmente estables para el primer subsistema. Ahora
se empleará la técnica de backstepping para diseñar controladores u para el sistema de
segundo orden, ello, con respecto a la función de Lyapunov
1
V2 = V1 + (x2 − ν)2 (6.71)
2
Nótese, que otra vez existen varias posibilidades para lograr que V̇2 sea negativa,
incluyendo (6.66) y (6.67). La combinación de los controladores C-C, C-S, S-C y S-S
proporcionan estabilidad global. Por ejemplo, para las combinaciones C-S y S-S, u tendrá
la forma
∂ν
u = −x1 − c2 (x2 − ν) + (s2 (x1 , x2 )x21 + x2 ) (6.72)
∂x1

Dr. Alejandro Enrique Dzul López 272


U6: Control por Backstepping 1S - 2020

Como se vio anteriormente, s2 (x1 , x2 ) es una aproximación suave de una función de


conmutación. Si en alguno de los dos pasos, se emplea una ley adaptable, llamada A,
entonces, las posibles combinaciones de controladores serían S-A, A-S, C-A, etc. Estos
controladores pueden tener diferentes respuestas y poseer diferentes propiedades de ro-
bustez.

Con este ejemplo, se quiere dejar en claro que no se debe y no se deberá ser dogmático
con una misma técnica de control robusto no lineal.

6.5. Ejemplos
A continuación, se muestran algunos ejemplos donde la técnica de backstepping ha
sido aplicada, de forma exacta, adaptable y robusta.

6.5.1. Helicóptero
La técnica de backstepping ha sido utilizada para este sistema subaccionado, gracias
a la robustez que esta técnica presenta para los dos tipos de modelos dinámicos obtenidos
bajo el formalismo de Newton-Euler (en marco inercial y en marco móvil). También se
eligió dicha técnica ya que las ecuaciones de los dos modelos dinámicos están en cascada
y en forma triangular inferior, siempre y cuando se elimine el término cruzado dado por
las pequeñas fuerzas de traslación (mejor conocidas como Small-Body-Forces) [3]. Así, el
modelo dinámico, en el marco inercial, queda de la forma:
ξ˙ = υ (6.73)
mυ̇ = −uRE3 + mgEz (6.74)
Ṙ = RΩ̂ (6.75)
IΩ̇ = −Ω × IΩ + |QP |E3 − |QQ |E2 + Γ (6.76)
El objetivo del control, es el de proponer una ley de control dada por las entradas (u,γ 1 ,
γ 2 , γ 3 ), con el fin de resolver el problema de seguimiento de trayectorias o simplemente
de estabilización. El control que salga, deberá ser sólo dependiente de los estados (ξ, ξ, ˙ η
y η̇ que son considerados como medibles) y de las derivadas con respecto al tiempo de la
trayectoria deseada (ξ d , φd ), de tal forma que el error
E := (ξ(t) − ξ d (t), φ(t) − φd (t)) ∈ R4 (6.77)
tienda a cero.

Se empieza el proceso de backstepping con la definición del error de posición que está
dado por la expresión siguiente
δ1 = ξ − ξ d (6.78)

Dr. Alejandro Enrique Dzul López 273


U6: Control por Backstepping 1S - 2020

Figura 6.1: Diagrama usado para el modelado del helicóptero.

Defínase igualmente a S1 como la primera función de almacenamiento que está asociada


al error de posición
1 T 1
S1 = δ1 δ1 = |δ1 |2 (6.79)
2 2
Derivando S1 con respecto al tiempo y apoyándose en la ecuación (6.73), se obtiene
Ṡ1 = δ1T (ξ˙ − ξ˙d )
= δ1T (υ − υ d ) (6.80)
donde υ d representa la velocidad deseada de υ. Sea υ v el control virtual para esta primera
función de almacenamiento ; este control se elige de tal manera que S1 sea una función
monótona decreciente cuando υ = υ v , es decir
1
υv = υd − δ1 (6.81)
m
Este elección permite reescribir Ṡ1 como sigue
1
Ṡ1 = − |δ1 |2 + δ1T (υ − υ v ) (6.82)
m

Dr. Alejandro Enrique Dzul López 274


U6: Control por Backstepping 1S - 2020

Sea δ2 un nuevo error que define la diferencia entre el vector real de velocidad υ y el
vector virtual de velocidad υ v

δ2 = mυ − mυ v (6.83)

con lo cual, la ecuación (6.82) queda


1 1
Ṡ1 = − |δ1 |2 + δ1T δ2 (6.84)
m m
Introdúzcase ahora la segunda función de almacenamiento, ligada al error de velocidad
1
S2 = |δ2 |2 (6.85)
2
donde su derivada está dada por

Ṡ2 = δ2T (mυ̇ − mυ̇ v ) (6.86)

Utilizando la ecuación (6.74), se puede llegar a la expresión siguiente

Ṡ2 = δ2T (−uRE3 + mgEz − mυ̇ v ) (6.87)

Para continuar con el proceso de backstepping, ahora se agregará la matriz de rotación


R que depende del vector de orientación η. Con ello, el proceso de backstepping continúa
para las siguientes variables (u y η). Evidentemente, la entrada de control u ya está
disponible, por lo que se puede definir directamente en esta etapa. Es posible también en
esta etapa, considerar una extensión de la dinámica de la variable de control u por un
doble integrador:

ü = ũ (6.88)

Así, la variable actual de control u y su primera derivada con respecto al tiempo u̇,
se vuelven las variables internas del controlador. Además, este hecho ofrece la ventaja de
tener un grado relativo de 4 en lugar de 2 para la nueva variable de control ũ, con respecto
a la variable de posición ξ. El alineamiento de los grados relativos entre las entradas y las
salidas del sistema, permitirá una definición combinada de la dinámica completa de un
nuevo vector de error generado por el proceso de backstepping. Dicho vector, depende de
los errores de las coordenadas de posición y de los términos cruzados del sistema. Defínase
al conjunto (uRE3 )v , como el control del vector virtual ligado al vector de orientación η
y a la señal de control u:
1
(uRE3 )v = mgEz − mυ̇ v + δ1 + δ2 (6.89)
m
Esta definición, especifica una dirección y una amplitud de la fuerza deseada del rotor
principal. Dado que los términos del control virtual (uRE3 )v forman un solo control,

Dr. Alejandro Enrique Dzul López 275


U6: Control por Backstepping 1S - 2020

entonces no es conveniente separarlos. Se escribirá este control virtual con la variable X v ,


tal que

X v = (uRE3 )v (6.90)

Además, se necesitarán las derivadas de X v en las siguientes etapas del proceso. Estas
derivadas serán calculadas, de forma analítica, por la simple derivada de la parte derecha
de la expresión (6.89). De (6.87), (6.89) y (6.90), la derivada de la segunda función de
almacenamiento queda como
1 T
Ṡ2 = −|δ2 |2 − δ2 δ1 + δ2T (X v − uRE3 ) (6.91)
m
El proceso de backstepping continua al considerar la tercera función de error, definida
por

δ3 = X v − uRE3 (6.92)

que representa la diferencia vectorial entre la fuerza de empuje virtual y la fuerza de


empuje real. Así, se puede reescribir la ecuación (6.91) como sigue
1 T
Ṡ2 = −|δ2 |2 − δ2 δ1 + δ2T δ3 (6.93)
m
En la tercera etapa, defínase la variable 3 como el error de dirección de la cola del
helicóptero

3 = φ − φd (6.94)

Se introduce este nuevo error, con el fin de completar el control de orientación del
helicóptero. Considérese ahora, la tercera función de almacenamiento dada por la ecuación:
1 2 1 2
S3 = |δ3 | + |3 | (6.95)
2 2
Derivando la expresión precedente, se obtiene

Ṡ3 = δ3T (Ẋ v − u̇RE3 − uRΩ̂E3 )


+3 (φ̇ − φ̇d ) (6.96)

Se analizará ahora la ecuación en dos partes. La primera concierne δ3 . Defínase

Y v = (u̇RE3 + uRΩ̂E3 )v = Ẋ v + δ3 + δ2 (6.97)

que describe el control virtual para los valores de Ω y u̇ deseadas. Agrúpese, como en
(6.90), todos los términos en una sola variable llamada Y v . Se entiende que la matriz

Dr. Alejandro Enrique Dzul López 276


U6: Control por Backstepping 1S - 2020

R depende del valor verdadero de η y no de su valor deseado. Además, se sabe que la


expresión
Ω̂v E3 = Ωv × E3 = −Ê3 Ωv (6.98)
no contiene entradas en su primera y segunda columna, y que Ê3 es de rango dos, por lo
que la ecuación (6.97) se vuelve
  1 
0 1 0 Ωv
 −1 0 0   Ω2v  = RT (Ẋ v + δ3 + δ2 ) (6.99)
0 0 1 u̇v
Considérense ahora los términos asociados a 3 en la ecuación (6.96). Aquí, la entrada
virtual en este término deberá ser la velocidad de la dirección de la cola del helicóptero φ̇.
Defínase φ̇v como el control virtual de la velocidad del ángulo de dirección del helicóptero
como
φ̇v = φ̇d − 3 (6.100)
De nuevo, es importante verificar que esta ecuación puede ser resuelta en la práctica.
Lo cual no es fácil de comprobar rápidamente, dado que Ω1 , Ω2 , Ω3 y u̇ son las señales
que serán tomadas en cuenta en la siguiente etapa del backstepping. Del análisis anterior,
parece que la velocidad angular deseada Ω3v es la sola variable disponible para controlar la
señal φ̇v . Para demostrar esto, es necesario recordar la relación cinemática existente entre
los ángulos de Euler y la velocidad angular de un cuerpo sólido. Este tipo de relación
puede ser encontrado en la mayoría de los libros que tratan la mecánica clásica (ver la
referencia [4]). Se empieza con el vector de velocidad generalizada η̇ que está ligado a la
velocidad angular a través de la relación cinemática
 
0 sin ψ cos ψ
1 
η̇ = 0 cos θ cos ψ − cos θ sin ψ  Ω
cos θ
cos θ sin θ sin ψ sin θ cos ψ
= Wη−1 Ω (6.101)
donde
 
− sin θ 0 1
Wη =  cos θ sin ψ cos ψ 0  (6.102)
cos θ cos ψ − sin ψ 0
Reemplazando η̇ por η̇ v y Ω por Ωv , la ecuación (6.101) queda
 
0 sin ψ cos ψ
1 
η̇ v = 0 cos θ cos ψ − cos θ sin ψ  Ωv
cos θ
cos θ sin θ sin ψ sin θ cos ψ
(6.103)

Dr. Alejandro Enrique Dzul López 277


U6: Control por Backstepping 1S - 2020

Está claro que la matriz cinemática Wη depende siempre de los elementos del vector
η y no de los valores deseados de η. Multiplicando la ecuación (6.103) por E1T , se obtiene
sin ψ 2 cos ψ 3
φ̇v = Ω + Ω (6.104)
cos θ v cos θ v
Dado que φ̇v depende de la variable Ω3v , es necesario que 0 < cos ψ
cos θ
< ∞, o de una
manera equivalente, que los valores de esos ángulos estén siempre en el intervalo siguiente
 
−π π
θ, ψ ∈ , (6.105)
2 2
Debido a que el modelo establecido sólo concierne el modo de vuelo estacionario, se
supondrá que la condición (6.105) será siempre valida. Usando las ecuaciones (6.97) y
(6.100), se puede reescribir Ṡ3 como sigue

Ṡ3 = −|δ3 |2 − δ3T δ2 − 23 + 3 (φ̇ − φ̇v )


+δ3T (Y v − (u̇RE3 + uRΩ̂E3 )) (6.106)

Para la última etapa del proceso, se considerarán los nuevos términos del error definido
por las ecuaciones

δ4 = Y v − (u̇RE3 + uRΩ̂E3 ) (6.107)


4 = φ̇ − φ̇v (6.108)

Utilizando (6.107) y (6.108), la ecuación (6.106) queda de la forma

Ṡ3 = −|δ3 |2 − δ3T δ2 − 23 + 3 4 + δ3T δ4 (6.109)

Defínase la última función de almacenamiento, por medio de la expresión siguiente


1 2 1 2
S4 = |δ4 | + |4 | (6.110)
2 2
La derivada de S4 con respecto al tiempo está dada por

Ṡ4 = δ4T (Ẏ v − (üRE3 + 2u̇RΩ̂E3 + uR(Ω̇ × E3 )))


+4 (φ̈ − φ̈v ) (6.111)

En esta etapa, se reemplazan en la ecuación (6.76), las entradas de control de la


siguiente manera: ü = ũ y Ω̇ = γ̃. El control para φ̈ será definido más adelante. La
ecuación (6.76) ahora queda como sigue

γ̃ = −I−1 Ω × IΩ + |QP |I−1 E3


−|QQ |I−1 E2 + I−1 Γ (6.112)

Dr. Alejandro Enrique Dzul López 278


U6: Control por Backstepping 1S - 2020

Dado que I es una matriz de rango completo, existe una transformación entre la
entrada de control γ y la variable auxiliar γ̃. Por otro lado, η̈ está dado por la ecuación

η̈ = −Wη−1 Ẇη Wη−1 Ω + Wη−1 Ω̇


= −Wη−1 Ẇη Wη−1 Ω + Wη−1 γ̃ (6.113)

Multiplicando la relación anterior por E1T y utilizando la ecuación (6.104), se obtiene


sin ψ 2 cos ψ 3
φ̈ = −E1T Wη−1 Ẇη Wη−1 Ω + γ̃ + γ̃ (6.114)
cos θ cos θ
La ecuación (6.111) puede ser reescrita como sigue

Ṡ4 = δ4T (Ẏ v − 2u̇RΩ̂E3 − (ũRE3 − uRÊ3 γ̃)) + 4 (φ̈ − φ̈v ) (6.115)

Con el fin de establecer la ley de control deseada, defínase

ũRE3 − uRÊ3 γ̃ = Ẏ v − 2u̇RΩ̂E3 + δ3 + δ4 (6.116)


φ̈ = φ̈v − 3 − 4 (6.117)

Con estas consideraciones, la ecuación de Ṡ4 es

Ṡ4 = −|δ4 |2 − δ4T δ3 − |4 |2 − 4 3 (6.118)

Para demostrar que las ecuaciones (6.116) y (6.117) son satisfechas simultáneamente,
se reescribe la ecuación (6.116) utilizando el mismo principio que el usado en la ecuación
(6.99):
  1 
0 u 0 γ̃
 −u 0 0   γ̃ 2  = RT (Ẏ v − 2u̇RΩ̂E3 + δ3 + δ4 ) (6.119)
0 0 1 ũ

Por lo tanto, las entradas de control γ̃ 1 , γ̃ 2 y ũ serán calculadas de la ecuación anterior,


para todos los valores de u diferentes de cero. El control γ̃ 3 es obtenido al resolver la
ecuación (6.114):
 
3 cos θ v T −1 −1 sin ψ 2
γ̃ = φ̈ − 4 − 3 + E1 Wη Ẇη Wη Ω − γ̃ (6.120)
cos ψ cos θ
En esta etapa del proceso, los términos de la parte derecha de la ecuación (6.120) son
todos conocidos, y γ̃ 3 estará bien definida si (6.105) es valida. Utilizando las ecuaciones
(6.88), (6.112) y Γ = γ + k0 u, se pueden encontrar las señales de control originales u y γ
que son, por sí mismas, las señales ligadas a las variables primitivas del sistema, es decir,
los ángulos de inclinación del rotor principal y la amplitud del empuje.

Dr. Alejandro Enrique Dzul López 279


U6: Control por Backstepping 1S - 2020

El proceso de backstepping asegura una disminución monótona de la función de Lya-


punov siguiente

L = S1 + S2 + S3 + S4
1 2 1 2 1 2 1 2 1 2 1 2
= |δ1 | + |δ2 | + |δ3 | + |δ4 | + |3 | + |4 | (6.121)
2 2 2 2 2 2
De hecho, se puede verificar fácilmente que la derivada de esta función es definida
negativa:

L̇ = Ṡ1 + Ṡ2 + Ṡ3 + Ṡ4


1
= − |δ1 |2 − |δ2 |2 − |δ3 |2 − |δ4 |2 − |3 |2 − |4 |2
m
Finalmente, podemos remarcar que los errores δ1 y 3 forman el error que se quería
minimizar. Así, al estabilizar la función de Lyapunov, se puede asegurar la estabilización
del error original E.

6.5.2. Sistema 2-masa-resorte


El sistema mostrado en la figura 6.2 [10], puede ser representado por el modelo diná-
mico
k
ω̇L = θs
JL
θ̇s = ωM − ωL
k 1
ω̇M = − θs + u
JM JM
donde

ωL = velocidad angular de la carga

Figura 6.2: Diagrama usado para el modelado del sistema masa - resorte

Dr. Alejandro Enrique Dzul López 280


U6: Control por Backstepping 1S - 2020

ωM = velocidad angular del motor


θs = ángulo de torcedura del eje
JL = Momento de inercia de la carga
JM = Momento de inercia del motor
k = Constante del resorte en el eje
u = Entrada del torque
dL = Ruido en el torque
además, la fricción viscosa no fue tomada en cuenta para simplificar el modelo. La salida
a controlar será la velocidad angular de la carga ωL . Así, el objetivo del control es que
dicha salida siga, asintóticamente, una entrada de referencia yd , haciendo frente a incer-
tidumbres de carga. Para ello, se estudiarán dos casos:

Caso 1 : Cuando sólo JL es desconocido

La relación existente entre los momentos de inercia del motor y de la carga, es asumida
como
JM
θ =
JL
Con el fin de facilitar la manipulación matemática del proceso de backstepping, se
hará el siguiente cambio de variables de estado:
x1 = ωL
k
x2 = ẏ = θs
JM
k
x3 = ÿ = (ωM − ωL )
JM
las cuales convierten al sistema original en :
ẋ1 = θx2
ẋ2 = x3
ẋ3 = −a(1 + θ)x2 + bu
y = x1
donde
k
a =
JM
k
b = 2
JM

Dr. Alejandro Enrique Dzul López 281


U6: Control por Backstepping 1S - 2020

Un punto clave en el diseño, es que se conoce al menos el signo del parámetro desco-
nocido θ, que es θ > 0. Defínase el error de seguimiento como

e1 = y − yd = x1 − yd

asimismo, defínase también la función candidata de Lyapunov V1 para e1 como


1 2
V1 = e
2θ 1
Nótese, que la función V1 es una función cuadrática dependiente del parámetro des-
conocido θ. Lo anterior lleva a la construcción de una ley de control adaptable para este
sistema. La derivada de V1 está dada por
1
V̇1 = e1 ė1
θ
= e1 x2

Para dejar la función V˙1 definida sólo con las nuevas variables e, defínase

e2 = x2 − x∗2

donde

x∗2 = −c1 e1 ∀ c1 ∈ R+

por lo que V̇1 puede reescribirse como

V̇1 = e1 (e2 + x∗2 )


= −c1 e21 + e1 e2

Tómese ahora la nueva función de Lyapunov para e2 como


1
V2 = V1 + e22
2
con derivada

V̇2 = V̇1 + e2 ė2


= −c1 e21 + e1 e2 + e2 (x3 + c1 θx2 ) (6.122)

Dado que en la ecuación anterior se tiene la presencia del término desconocido θ,


entonces, se definirá un par de variables con el fin de dejar dicha ecuación, con términos
conocidos o estimados, sea

θ̃ = θ − θ̂ (6.123)

Dr. Alejandro Enrique Dzul López 282


U6: Control por Backstepping 1S - 2020

donde θ̃ define al error paramétrico dado por el parámetro desconocido θ y su valor del
estimado θ̂. Defínase además, la nueva variable
e3 = x3 − x∗3 (6.124)
donde
x∗3 = −c2 e2 − e1 − c1 θ̂x2 ∀ c2 ∈ R+ (6.125)
Utilizando las ecuaciones (6.123)-(6.125) dentro de (6.122), se obtiene
V̇2 = −c1 e21 + e1 e2 + e2 (e3 − c2 e2 − e1 − c1 θ̂x2 + c1 θx2 )
= −c1 e21 − c2 e22 + e2 e3 + c1 θ̃x2
Finalmente, defínase la tercera función de Lyapunov, que estabilizará a todo el sistema,
1 1
V3 = V2 + e23 + θ̃2
2 2γ
donde γ es una constante positiva, ligada a la velocidad de adaptación. La derivada con
respecto al tiempo de V3 es
1
V̇3 = V̇2 + e3 ė3 + θ̃θ̃˙
γ
2 2
= −c1 e1 − c2 e2 + e2 e3 + c1 θ̃x2 + e3 [−ax2
˙ 1 ˙
+bu + (c1 θ̂ + c2 )x3 + (1 + c1 c2 − a)θx2 + c1 θ̂] + θ̃θ̂
γ
Si se define a
α = −ax2 + bu + (c1 θ̂ + c2 )x3 (6.126)
β = 1 + c1 c2 − a (6.127)
entonces, la ecuación de V̇3 puede ser reescrita como
 
˙ 1˙
V̇3 = −c1 e21 − c2 e22 + e3 (α + c2 β θ̂x2 + c1 θ̂x2 ) + θ̃ c1 e2 x2 + βx2 e3 − θ̂
γ
Dado lo anterior, la ley de adaptación se determina por
˙
θ̂ = γ(c1 e2 + βe3 )x2
y la señal dada por α se iguala a
˙
α = −e2 − c3 e3 − β θ̂x2 − c1 θ̂x2
= −e2 − c3 e3 − β θ̂x2 − γc1 (c1 e2 + βe3 )x2
(6.128)

Dr. Alejandro Enrique Dzul López 283


U6: Control por Backstepping 1S - 2020

con c3 ∈ R+ , por lo que


V̇3 = −c1 e21 − c2 e22 − c3 e23
Así, se asegura una estabilidad asintóticamente global. La señal de control real u, se
obtiene de (6.126) y (6.128) como
1
u = {−e2 − c3 e3 [a − θ̂β − γc1 (c1 e2 + βe3 )x2 ]x2 − (c1 θ̂ + c3 )x3 }
b
Recordando las ecuaciones del sistema, lo que se querían estabilizar, son las variables
x que comprenden las variables reales del sistema. Así, si se logran estabilizar las variables
e, entonces se están estabilizando las variables x y por ende, las variables reales.

Caso 2 : Cuando JL y k son desconocidos

Defínanse los dos parámetros desconocidos como


k
θ1 =
JM
k
θ2 =
JL
y la constante
1
a =
JM
Considérese también, la siguiente transformación de variables:
x1 = ωL
x2 = θs
x3 = ωM − ωL
con la cual, el nuevo sistema de ecuaciones queda:
ẋ1 = θ2 x2
ẋ2 = x3
ẋ3 = −(θ1 + θ2 )x2 + au
y = x1
Para este caso, la salida y sigue siendo la velocidad en la carga ω1 . Como se vio en el
caso anterior, se empieza la primera etapa con la definición de los siguientes errores:
e1 = y − yd
e2 = x2 − x∗2

Dr. Alejandro Enrique Dzul López 284


U6: Control por Backstepping 1S - 2020

donde

x∗2 = −c1 e1 ∀ c1 ∈ R +

Para estabilizar el presente subsistema, defínase la siguiente función de Lyapunov:


1 2
V1 = e
2θ2 1
cuya derivada con respecto al tiempo es
1
V̇1 = e1 ė1
θ2
1
= e1 ẏ
θ2
1
= e1 (θ2 x2 )
θ2
= −c1 e21 + e1 e2

Continuando con el proceso de backstepping, defínase la segunda función de Lyapunov,


con la cual se estabilizará la segunda etapa, es decir, el subsistema dado por (e1 ,e2 ):
1
V2 = V1 + e22
2
La derivada con respecto al tiempo de esta segunda función de Lyapunov está dada
por
1
V̇2 = V̇1 + e2 ė2
2
2
= −c1 e1 + e1 e2 + e2 (x3 + c1 θ2 x2 )

Recuérdese ahora, que se debe de dejar la expresión anterior sólo en términos de las
nuevas variables, por lo que es necesario buscar una nueva variable que nos cambie x3 .
Para ello, se propone que

e3 = x3 − x∗3 (6.129)

con

x∗3 = −e1 − c2 e2 − c1 θ̂2 x2 ∀ c2 ∈ R+

donde θ̂2 es el valor estimado de θ2 . Además, considérese el error paramétrico para θ2


dado por la siguiente ecuación:

θ̃2 = θ2 − θ̂2 (6.130)

Dr. Alejandro Enrique Dzul López 285


U6: Control por Backstepping 1S - 2020

Introduciendo las ecuaciones (6.129) y (6.130) en V̇2 , se tiene que

V̇2 = −c1 e21 − c2 e22 + e2 e3 + c1 θ̃2 e2 x2

Dado que en la ecuación anterior aparece ya un término ligado a uno de los parámetros
desconocidos, entonces, no se trata de cambiar el término de x2 ya que éste estará en la
ley de adaptación para dicho parámetro.

Pasando a la tercera y última etapa, defínase la función de Lyapunov que estabilizará


el sistema completo (e1 , e2 , e3 ) y en la cual se incluirá el error paramétrico de θ1 que no
se había utilizado hasta este momento:
1 1 2 1 2
V3 = V2 + e23 + θ̃1 + θ̃
2 2γ1 2γ2 2

donde γ1 y γ2 son constantes positivas relacionadas a la velocidad de adaptación del


control y

θ̃1 = θ1 − θ̂1 (6.131)

La derivada de V3 con respecto al tiempo es

1 ˙ 1
V̇3 = V̇2 + e3 ė3 + θ̃1 θ̃1 + θ̃2 θ̃˙2
γ1 γ2
2 2
= −c1 e1 − c2 e2 + e2 e3 + c1 θ̃2 e2 x2 + e3 (au − θ1 x2 + c2 x3
˙ 1 ˙ 1 ˙
+c1 c2 θ2 x2 + c1 θ̂2 x2 + c1 θ̂2 x3 ) + θ̃1 (−θ̂1 ) + θ̃2 (−θ̂2 )
γ1 γ2

Agrupando términos, con respecto a e3 , θ̃1 y θ̃2 , se obtiene

V̇3 = −c1 e21 − c2 e22 + e3 (e2 − θ̂1 x2 + au + c2 x3


 
˙ 1 ˙
+c1 c2 θ̂2 x2 + c1 θ̂2 x2 + c1 θ̂2 x3 ) − θ̃1 θ̂1 + e3 x2
γ1
 
1 ˙
−θ̃2 θ̂2 − c1 e2 x2 − c1 c2 e3 x2
γ2

Con el fin de eliminar términos y que a su vez esto permitirá adaptar los valores de
los parámetros desconocidos, se eligen las siguientes leyes de adaptación:

˙
θ̂1 = −γ1 e3 x2 (6.132)
˙
θ̂2 = −γ2 c1 x2 (e2 + c2 e3 ) (6.133)

Dr. Alejandro Enrique Dzul López 286


U6: Control por Backstepping 1S - 2020

Asimismo, los otros términos no deseados en la función de Lyapunov, son eliminados


a través de una buena elección de la entrada real del sistema, como

1
u = [−e2 − (c1 c2 θ̂2 − θ̂1 )x2 − (c2 + c1 θ̂2 )x3
a
−c21 γ2 (e2 + c2 e3 )x22 − c3 e3 ] ∀ c3 ∈ R + (6.134)

Introduciendo (6.132), (6.133), y (6.134) en V̇3 , se tiene que

V̇3 = −c1 e21 − c2 e22 − c3 e23

con lo cual, se puede asegurar que el sistema es estable, aunque se tengan dos parámetros
desconocidos : JL y k.

6.5.3. Sistema de levitación magnética

Figura 6.3: Diagrama del sistema de levitación magnética

Dr. Alejandro Enrique Dzul López 287


U6: Control por Backstepping 1S - 2020

Considérese el sistema de levitación magnética [15] que es mostrado en la figura 6.3.


La dinámica de dicho sistema, puede ser descrita por las siguientes ecuaciones
1 ∂L
M ẍ = M g + i2 (6.135)
2 ∂x
d
u = Ri + (Li) (6.136)
dt
donde la inductancia de la bobina está dada por
Q
L(x) = + L∞ (6.137)
X∞ + x
donde x es la distancia que separa la parte magnética (aire) de la esfera de acero ; i repre-
senta la corriente de la bobina ; g es la constante de la gravedad ; M simboliza la masa
de la esfera de acero ; R es la resistencia del circuito ; u denota la entrada de control, en
voltaje, del sistema ; L∞ , Q y X∞ son constantes determinadas según las características
de la bobina, de la armadura magnética y de la esfera de acero.

De los ejemplos vistos hasta este momento, el presente es el que tiene un poco más de
complejidad, la cual está dada por dos motivos: el primero, es debido a la transformación-
linealización del sistema (6.135)-(6.136) con el fin de analizar una variación paramétrica
total ; la segunda, es por sí sencilla de definir, se necesita agregar en el controlador un
método de robustez. El objetivo del controlador, deberá ser el de estabilizar la esfera de
acero a una cierta distancia.

Defínase el vector de estado


   
x1 x
x =  x2 = ẋ 
  (6.138)
x3 i
con el cual, las ecuaciones (6.135) y (6.136) pueden reescribirse como
     
ẋ1 x2 0
 ẋ2  =  α(x)  +  0  u (6.139)
ẋ3 β(x) γ(x)
donde
Qx23
α(x) = g −
2M (X∞ + x1 )2
x3 [Qx2 − R(X∞ + x1 )2 ]
β(x) =
Q(X∞ + x1 ) + L∞ (X∞ + x1 )2
X ∞ + x1
γ(x) =
Q + L∞ (X∞ + x1 )

Dr. Alejandro Enrique Dzul López 288


U6: Control por Backstepping 1S - 2020

Ahora, consideremos que los valores nominales de los parámetros físicos son g0 , M0 ,
R0 , L∞0 , Q0 y X∞0 . Se asume, para efectos del controlador, que los valores exactos de los
parámetros son conocidos a priori. Con la consideración anterior, el modelo del sistema
está dado por
 
ẋ1
 ẋ2  = f0 (x) + ∆f (x) + g0 (x)u + ∆g (x)u (6.140)
ẋ3
   
x2 0
=  α0 (x) + ∆α (x)  +  0 u
β0 (x) + ∆β (x) γ0 (x) + ∆γ (x)

con los siguientes errores de modelado, debido a las incertidumbres paramétricas

∆α (x) = α(x) − α0 (x) (6.141)


∆β (x) = β(x) − β0 (x) (6.142)
∆γ (x) = γ(x) − γ0 (x) (6.143)

Una vez consideradas las incertidumbres paramétricas, se procede a utilizar el méto-


do de linealización por realimentación para el sistema descrito por la ecuación (6.140).
Recuérdese que el método a utilizar, consiste en buscar un difeomorfismo ξ = T (x) que
transforme la parte nominal del sistema en una forma canónica dada. Así, defínase

φ(x) = x1 (6.144)

por lo que después de algunos cálculos, se tiene la siguiente transformación no lineal de


coordenadas
     
ξ1 φ(x) x1
ξ =  ξ2  =  Lf0 φ(x)  =  x2  (6.145)
ξ3 L2f0 φ(x) α0 (x)

Nótese que el cambio de coordenadas empleado, es transparente físicamente hablando,


es decir, los estados ξ1 y ξ2 son simplemente la posición original y la velocidad de la esfera,
mientras que el estado ξ3 es la aceleración nominal aplicada a la esfera. Por otro lado,
el difeomorfismo ξ = T (x) está definido solo localmente en Ω = {x|0 < x1 < x1M , x3 >
0} ⊂ R3 . La primera restricción es debida a la región de operación alcanzable de x1 (ver
figura 6.3), la segunda restricción x3 > 0, sirve para evitar un punto de singularidad de
la entrada de control u, como podrá verse más adelante.

Continuando con la transformación, las derivadas de las nuevas variables de estado

Dr. Alejandro Enrique Dzul López 289


U6: Control por Backstepping 1S - 2020

son
dξ1
= ẋ1
dt
dξ2
= ẋ2
dt
= α0 (x) + ∆α (x)
= ξ3 + ∆α (x)
dξ3 dα0 (x)
=
dt dt
∂α0 dx1 ∂α0 dx3
= +
dx1 dt dx3 dt
con lo que el sistema transformado quedaría de la forma siguiente

ξ˙1 = ξ2 (6.146)
ξ˙2 = ξ3 + ∆α (x) (6.147)
Q0 x23
ξ˙3 = x2
M0 (X∞0 + x1 )3
Q0 x23 {Q0 x2 − R0 (X∞0 + x1 )2 }

M0 (X∞0 + x1 )3 {Q0 + L∞0 (X∞0 + x1 )}
Q0 x3

M0 (X∞0 + x1 ){Q0 + L∞0 (X∞0 + x1 )}
∂α0 ∂α0
+ ∆β (x) + ∆γ (x) + ∆α (x) (6.148)
dx3 dx3
Una rápida inspección de la ecuación anterior, indica que si no existen las incertidum-
bres paramétricas, entonces no existen tampoco las perturbaciones de ellas mismas en la
transformación de coordenadas, por lo cual, el sistema transformado puede ser linealizado
de manera exacta por un controlador en realimentación de estados. Sin embargo, si dichas
perturbaciones existen, la robustez de la linealización es algo importante a considerar, ya
que los errores en el modelado podrían eliminar los términos no lineales. Es por ello, que
a continuación, se utilizará la técnica de backstepping, que en este caso, puede incorporar
una flexibilidad en los términos no lineales de amortiguamiento con el fin de suprimir los
efectos de los errores en el modelado.

Así, la técnica de backstepping comenzará al suponer que la posición de la esfera de


acero yr y sus primeras tres derivadas son continuas y están disponibles para efectos del
controlador.

Dr. Alejandro Enrique Dzul López 290


U6: Control por Backstepping 1S - 2020

Etapa 1

Defínanse las señales de error de posición y de velocidad como

z1 = ξ1 − yr (6.149)
z2 = ξ2 − α1 (6.150)

donde α1 es la entrada virtual que estabiliza el subsistema z1 . Derivando la ecuación


(6.149), se tiene

ż1 = ξ˙1 − ẏr


= α1 + z2 − ẏr (6.151)

Según lo visto durante el proceso general de backstepping, lo siguiente en esta etapa,


es la definición de la función de Lyapunov que demuestre la estabilidad del subsistema. Se
supondrá que las funciones de Lyapunov estarán definidas como de costumbre, es decir
1
Vi = Vi−1 + zi2 ∀i = 1, 2, 3 y V0 = 0; z0 = 0
2
Siendo V3 la función de Lyapunov del sistema completo. En este ejemplo no se especi-
ficarán las derivadas de dichas funciones, se especificarán más bien, los controles virtuales.

En este sentido, para el subsistema z1 , la entrada de control virtual α1 se diseña con


la técnica común de control PI, la cual estabilizará dicho subsistema y eliminará términos
no deseados:
Z t
α1 = −c1p z1 − c1i z1 dt + ẏr (6.152)
0

donde c1p > 0, c1i > 0. Introduciendo (6.151) en (6.152) y a su vez, utilizando el operador
de Laplace s, entonces el subsistema z1 puede expresarse como
sz2
z1 = (6.153)
s2 + c1p s + c1i

Sea h la respuesta al impulso de la función de transferencia:


s
s2 + c1p s + c1i

Entonces, de acuerdo al teorema B.2 de la referencia [8], se tiene que

k z1 k∞ ≤k h k1 k z2 k∞ (6.154)

Dr. Alejandro Enrique Dzul López 291


U6: Control por Backstepping 1S - 2020

De la expresión anterior, se deduce que si el error de la velocidad z2 es estabilizado en


una vecindad del origen, entonces se puede lograr que |z1 | sea suficientemente pequeña a
través de un buen diseño de k h k1 y así, el error de offset de z1 puede ser eliminado con
una acción integral. La estabilidad de este tipo de sistemas, puede ser analizada a través
del Análisis de la Estabilidad Entrada - Estados (ISS : Input-to-State Stability).

Etapa 2

Defínase la señal de error relacionada con la aceleración nominal, como


z3 = ξ3 − α2 (6.155)
donde α2 será la entrada de control virtual que estabilizará el subsistema z1 -z2 . La derivada
con respecto al tiempo de z2 está dada por
ż2 = ξ˙2 − α̇1
= c1p ż1 + c1i z1 − ÿr + ∆α + α2 + z3 (6.156)
Es bien sabido que en un sistema de control no lineal, si se ignoran los efectos de
la incertidumbre paramétrica, entonces esto puede degenerar el buen funcionamiento del
controlador o destruir la estabilidad del sistema. Una solución efectiva para contrarrestar
dichas incertidumbres paramétricas, es la introducción de términos no lineales de amorti-
guamiento en el controlador. Así, se propone la siguiente entrada de control virtual
α2 = α20 − α21 (6.157)
α20 = −c2 z2 − c1p (ξ2 − ẏr ) − c1i z1 + ÿr (6.158)
α21 = κ2 αd z2 (6.159)
donde c2 > 0, κ2 > 0, y
Q0 x23
αd = (6.160)
2M0 (X∞0 + x1 )
En la ecuación (6.157), el término α20 representa el controlador nominal que controla
la parte nominal del sistema, mientras que α21 es el término no lineal de amortiguamiento
que contrarresta ∆α . Dado lo anterior, ż2 puede reescribirse como
ż2 = −c2 z2 + ∆α − κ2 αd z2 + z3 (6.161)
Etapa 3

La dinámica del tercer subsistema, puede ser obtenida como


ż3 = ξ˙3 − α̇2
= Ψ0 + ∆Ψ + G0 U + ∆G U (6.162)

Dr. Alejandro Enrique Dzul López 292


U6: Control por Backstepping 1S - 2020

donde
Ψ0 = (1 − κ2 z2 )(F1 + F0 ) + (c2 + κ2 αd )2 z2
+c2 z3 + κ2 αd z3 + c1i ξ2 + c1p ξ3 − c1i ẏr − c1p ÿr − yr(3)
∆Ψ = (1 − κ2 z2 )∆F + (c2 + κ2 αd + c1p )∆α
Q0 x3
G0 = −
M0 (X∞0 + x1 ){Q0 + L∞0 (X∞0 + x1 )}
U = (1 − κ2 z2 )u
∂α0
∆G = ∆γ (x)
dx3
así como
Q0 x23 {Q0 x2 − R0 (X∞0 + x1 )2 }
F0 = −
M0 (X∞0 + x1 )3 {Q0 + L∞0 (X∞0 + x1 )}
Q0 x23
F1 = x2
M0 (X∞0 + x1 )3
∆α = ∆α (x)
∂α0
∆F = ∆β (x)
dx3
Si la entrada de control aumentada U puede ser determinada, entonces la entrada real
de voltaje u puede ser generada como u = U/(1 − κ2 z2 ), siempre y cuando (1 − κ2 z2 ) > 0.
Dado que ésta es la última etapa, se deben de eliminar todos lo términos no deseados
de la función de Lyapunov V3 , así como asegurar que la derivada de dicha función sea
definida negativa. Para ello, se selecciona
α30 − α31 − α32 − α33
U = (6.163)
G0
donde
α30 = −c3 z3 − Ψ0
α31 = κ31 1 − 0.5 exp−λ1 |z3 | |1 − κ2 z2 |Fd z3


α32 = κ32 1 − 0.5 exp−λ2 |z3 | |c2 + κ2 αd + c1p |αd z3




α33 = κ33 1 − 0.5 exp−λ3 |z3 | |α30 |z3




para c3 > 0, κ31 > 0, κ32 > 0, κ33 > 0 y


Q0 x23 {Q0 |x2 | − R0 (X∞0 + x1 )2 }
Fd =
M0 (X∞0 + x1 )3 {Q0 + L∞0 (X∞0 + x1 )}
Aquí, α30 es el controlador nominal y α31 , α32 y α33 son términos no lineales de
amortiguamiento utilizados para contrarrestar los términos ∆F , ∆α y ∆G respectivamente.

Dr. Alejandro Enrique Dzul López 293


U6: Control por Backstepping 1S - 2020

Se puede notar también que el término (1 − 0.5 exp−λi |z3 | ), i = 1, 2, 3 fue agregado para
reducir los efectos del control dados por los términos no lineales de amortiguamiento
cuando |z3 | es relativamente pequeña. Cuando U es introducida al último subsistema, la
dinámica resultante es
∆G
ż3 = −c3 z3 + ∆Ψ − α31 − α32 − α33 + (α30 − α31 − α32 − α33 )
G0
Al sustituir todos los términos en la última función de Lyapunov V3 y considerando
también que las incertidumbres paramétricas han sido eliminadas, se tiene que

V̇3 = −c1 z12 − c2 z22 − c3 z32

Con lo cual se puede decir que el sistema es estable y que la posición deseada es
alcanzada.

6.6. Problemas
Problema 6.1. Considérese el sistema

ẋ1 = x2 + sin x1 (6.164)


ẋ2 = θ1 x21 + (1 + θ2 )u (6.165)
y = x1 (6.166)

donde |θ1 | ≤ 2 y |θ2 | ≤ 1/2. Diseñar un controlador utilizando Backstepping.


Problema 6.2. La ecuación de movimiento de un péndulo del cual el punto de suspensión
está sujeto a una aceleración horizontal, variante en el tiempo y acotada, está dada por:

mlθ̈ + mg sin θ + klθ̇ = T /l + mh(t) cos θ (6.167)

donde h es la aceleración horizontal, T es la entrada del torque, y las demás variables son
aquellas vistas en los ejemplos anteriores del péndulo, es decir, m representa la masa, g
denota la aceleración de la gravedad, l es la longitud de la barra, k representa un coeficiente
de fricción y θ es el ángulo generado entre la vertical y la posición del péndulo (ver figura
2.6). Asúmase que 0.9 ≤ l ≤ 1.1, 0.5 ≤ m ≤ 1.5, 0 ≤ k ≤ 0.2, |h(t)| ≤ 1 y g = 9.81.
Se desea estabilizar el péndulo en θ = 0 para cualquier condición inicial de θ(0) y θ̇(0).
Diseñar un controlador utilizando Backstepping.
Problema 6.3. Considérese el siguiente sistema

ẋ1 = x1 x2 (6.168)
ẋ2 = x1 + u (6.169)

Diseñar un controlador utilizando Backstepping.

Dr. Alejandro Enrique Dzul López 294


U6: Control por Backstepping 1S - 2020

Problema 6.4. Considérese el siguiente sistema

ẋ1 = x2 + a + (x1 − a1/3 )3 (6.170)


ẋ2 = x1 + u (6.171)

Diseñar un controlador utilizando Backstepping.

6.7. Referencias
Este capítulo está basado en [3], [4], [7], [8], [10], [13] y [15].

Dr. Alejandro Enrique Dzul López 295

También podría gustarte