Sie sind auf Seite 1von 39

Tópicos selectos de Robótica: Apuntes de la asignatura.

Posgrado en Mecatrónica.
Universidad Politécnica de Pachuca.

Dr. J. Patricio Ordaz Oliver Ing. Bonifacio Sánchez Resendiz.

Mayo de 2014
ii
Objetivo de la Asignatura

Dar las herramientas para el estudio, análisis y diseño de control para sistemas robóticos.

iii
iv OBJETIVO DE LA ASIGNATURA
Capı́tulo 1

Control avanzado de robots.

Definición 1.1 Robot. Un robot es un sistema electromecánico reprogramable y reconfigurable


capaz de realizar una tarea.

Un robot puede ser representado por un conjunto de ecuaciones diferenciales ordinarias(ODE) con las siguientes
caracterı́sticas:

No lineales.
n ecuaciones de segundo orden, donde n es el número de grados de libertad del robot(DOF, Degrees of
freedom).
El sistema de ecuaciones es afı́n al control.
El sistema es invariante en el tiempo

El sistema se puede escribir en la forma estándar de Cauchy como:

ẋ = f (x, u)
y = h(x, u)

donde f (x) es la dinámica, u es el control, x el estado y h la salida.


¿Quién es f (x, u) y h(x, u)? La respuesta se define por modelo, mediante los axiomas de Newton o Euler-
Lagrange.

De los axiomas de Newton sabemos que: X


ma = F
donde:
a:=aceleracion → rapidez del cambio de velocidad
dv
a = v̇ = (1.1)
dt

v:=velocidad → rapidez del cambio de posicion.


dp
v = ṗ = (1.2)
dt

p := posición de la partı́cula en un instante de tiempo.

Por lo tanto, la aceleración de una partı́cula se describe por:


 
dv d dp
a= =
dt dt dt

1
2 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Figura 1.1: Sistema Masa-Resorte.

Ejemplo 1.1 Sistema masa-resorte. Suponiendo un sistema del tipo masa-resorte, como el que se muestra
en la figura 1.1.
Mediante los axiomas de Newton, el modelo matemático del sistema serı́a:

mẍ = −bx
b
ẍ = − x
m
En la representación estándar de Cauchy tendrı́amos.
 
x2
Ẋ = b
−m x1

Ahora, mediante Euler-Lagrange.


 
d ∂L(q̇, q) ∂L(q̇, q)
− = Qno pot
generalizadas (1.3)
dt ∂ q̇ ∂q

donde L(q̇, q) es el lagrangiano, y viene dado por:

L(q̇, q) = T (q̇, q) − P (q) ∈ R

donde T (q̇, q) es la energı́a cinética y P (q) es la energı́a potencial; las relaciones matemáticas que las describen
son:
1
mv 2
T (q̇, q) =
2
P (q) = Pg (q) + Pr (q)

De aquı́, Pg (q) es la energı́a potencial debida a la gravedad. Se dá por:

Pg (q) = mgh

Y Pr (q) es la energı́a potencial debida a los elementos elásticos, y viene dada mediante:
1 2
Pr (q) = bp
2
Para el ejemplo con el que estamos tratando, tenemos:

dx
v= = ẋ
dt
1
T (q, q̇) = mẋ2
2
Pg (q) = 0
1
Pr (q) = bx2
2
3

de forma que el lagrangiano queda:


1 1 2
mẋ2 −
L(q, q̇) = bx
2 2
Ası́ pues, al efectuar las derivadas correspondientes indicadas en la ecuación 1.3 y reducir apropiadamente, se
obtiene el siguiente modelo matemático para el sistema.
b
ẍ = − x
m
Que coincide completamente con el obtenido mediante los axiomas de Newton.

Ahora bien, definiremos el modelo matemático para un sistema de partı́culas.


Recordemos que:
L(q, q̇) ∈ R
La energı́a cinética para un sistema de partı́culas tiene la forma:
1X
T (q, q̇) = mi vi2 ∈ R
2
i∈S

Pero la posición de cada partı́cula se dá por:


 
ρx
ρi = ρibi + ρib k =  ρy 
j + ρi b
ρz

Como v = dt , entonces:
 dρx 
dt
dρi b dρi b dρi b  dρy
 ∂ρ
ρ˙i = i+ j+ k= dt  ∂q q̇
=
dt dt dt 
dρz
dt
Por lo que:
∇T ∂ρ
 
x
∂q
 
∂ρ
ρ˙i =  ∇T ∂qy  q̇ = Jq ρi q̇
 
 
∇T ∂ρ
∂q
z

De esta forma, podemos observar que:


∂ρx ∂ρx
 
∂q1 ··· ∂qi
 
∂ρy ∂ρy
ρ˙i =  ···
 
 ∂q1 ∂qi 

∂ρz ∂ρz
∂q1 ··· ∂qi

Ahora, de la definición de producto interno:


Definición 1.2 [Producto interno.] Sea X, Y ∈ Rn , entonces:
n
X
hX, Y i = yi xi = X T Y = Y T X
i=1

es el producto interno de X con Y.


De igual forma, la magnitud de un vector se define:
Definición 1.3 [Magnitud de un vector.] Sea X ∈ Rn , entonces:
1
kXk = hX, Y i 2

es la magnitud del vector X.


4 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Esto indica que la velocidad en magnitud es:


v 2 = hv, vi = hρ̇, ρ̇i
Por lo tanto:
v 2 = hJq ρq̇, Jq ρq̇i (1.4)

Nota. Sea A ∈ Rm×n y B ∈ Rn×m , entonces AB ∈ Rm×m y BA ∈ Rn×n , or lo que podemos


afirmar que AB 6= BA. Ahora, AB ∈ Rm×m =⇒ (AB)T ∈ Rm×m .Entonces:

(AB)T = B T AT ∈ Rm×m

Por esta propiedad podemos escribir:


v 2 = hJq ρq̇, Jq ρq̇i = (Jq ρq̇)(Jq ρq̇) = q̇ T Jq T ρJq ρq̇ ∈ R
Por lo que la energı́a cinética de la partı́cula i es:
1
T (q, q̇) = mi q̇ T Jq T ρi Jq ρi q̇
2
Y la energı́a cinética del conjunto de partı́culas se dá por:
1X
T (q, q̇) = mi q̇ T Jq ρi T Jq ρi q̇
2 i∈s
!
1 T X
T
= q̇ mi Jq ρi Jq ρi q̇
2 i∈s
1
= hq̇, D(q)q̇i
2
Donde: X
D(q) = mi Jq ρi T Jq ρi
i∈s
Es la matriz de inercias del sistema de partı́culas.

1.0.1. Carácterı́sticas de la matriz de inercias.


¿Por qué D(q) es simétrica?
Recordemos que: X
D(q) = mi Jq ρi T Jq ρi
i∈s
Podemos apreciar que la parte:
Jq ρi T Jq ρi
tiene la forma AT B, que cumple la propiedad:
AT B = B T A
Por lo que al aplicarla tenemos:

J q ρi T J q ρi = Jq ρi T (Jq ρi T )T
= Jq ρi T Jq ρi
Por lo que:
Jq ρi T Jq ρi = Jq ρi T Jq ρi
Y queda demostrada esta propiedad de la matrı́z de inercias.
5

¿Por qué D(q) es definida positiva?


Por la definición de la energı́a cinética:
1X
T (q, q̇) = mi vi 2
2 i∈s
1
= hq̇, D(q)q̇i ≥ 0
2
Una matriz A ∈ Rn×n es definida positiva ssi:

hS, ASi ≥ 0


Y es 0 ssi S = S , S ∈ Rn . Supongamos que una partı́cula se desplaza solo en el eje X.

p = x
v = ẋ = q̇
1
T (q, q̇) = mv 2
2
1 2
= mq̇
2
Donde m = D(q), y como siempre m > 0, entonces D(q) es definida positiva.

Figura 1.2: Posición de una partı́cula en el plano XY.

Ahora supongamos una partı́cula moviéndose en el plano XY , tal como se muestra en la figura 1.2.
 
d cos θ
p(x, y) =
d sin θ
 
d
Si tomamos las coordenadas generalizadas q = , definiremos se es esta una transformación viable, para lo
θ
cual obtenemos el Jacobiano.  
cos θ −d sin θ
Jq p(x, y) =
sin θ d cos θ
De aquı́ deducimos que det{Jq p(x, y)} = d, por lo que el sistema de coordenadas generalizadas seleccionado es
una transformación viable.
Recordemos que la velocidad de la partı́cula viene dada mediante

v(x, y) = Jq p(x, y)q̇ (1.5)


6 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Entonces la expresión de la vlocidad de la partı́cula en el plano queda:


d˙ cos θ − dθ̇ sin θ
 
v(x, y) =
d˙ sin θ + dθ̇ cos θ
Por lo que:
v 2 (x, y) = hv(x, y), v(x, y)i
= (d cos θ − dθ̇ sin θ)2 + (d˙ sin θ + dθ̇ cos θ)2
= d˙2 + d2 θ̇2
De aquı́ se sigue que
1
T (q, q̇) = m(d˙2 + d2 θ̇2 )
2
1
= hq̇, D(q)q̇i
2
1
= m(q˙1 + q1 2 q˙2 2 )
2  
1 m 0
= hq̇, q̇i
2 0 mq12
Por lo que  
m 0
D(q) =
0 mq12
que será siempre positiva, dado m > 0.

Vamos a suponer ahora una partı́cula en el espacio. Para esto, tenemos tres sistemas de coordenadas gene-
ralizadas para elegir, tal como se muestra en la figura 1.3.

Figura 1.3: Posición de una partı́cula en el espacio 3D.

Tomemos el primer sistema de coordenadas generalizadas de la siguiente forma:


 
x
q= y  (1.6)
z
Es decir, las propias coordenadas rectangulares. Determinaremos si es esta una transformación viable.
 
x
p(x, y, z) =  y 
z
7

El Jacobiano es entonces:  ∂x ∂x ∂x 
∂q1 ∂q2 ∂q3
∂y ∂y ∂y
 
Jq p(x, y, z) = 
 ∂q1 ∂q2 ∂q3


∂z ∂z ∂
∂q1 ∂q2 ∂q3

 
1 0 0
=  0 1 0 
0 0 1
Como este resulta en la matriz identidad I ∈ R3×3 , cuyo determinante es det(Jq p(x, y, z)) = 1 6= 0, podemos
decir que se trata de una transformación válida. Además podemos identificar fácilmente que Jq p(x, y, z) =
JqT p(x, y, z), y que JqT p(x, y, z) Jq p(x, y, z) = I ∈ R3×3 De forma que la matrı́z de inercias es:
 
m 0 0
D(q) =  0 m 0 
0 0 m

Que es una matriz simétrica y definida positiva, dado que m, que es la masa de la partı́cula, nunca será menor
que 0.
Ahora consideremos que el vector de coordenadas generalizadas viene dado por las coordenadas cilı́ndricas
 
ρ
q= ϕ 
z

La posición de la partı́cula de masa m es entonces


 
ρ cos ϕ
pq (x, y, z) =  ρ sin ϕ 
z

Verificaremos que sea una transformación válida.


∂ ∂ ∂
ρ cos ϕ ρ cos ϕ ρ cos ϕ
 
∂q1 ∂q2 ∂q3
∂ ∂ ∂
 
Jq pq (x, y, z) = 
 ∂q1 ρ sin ϕ ∂q2 ρ sin ϕ ∂q3 ρ sin ϕ 

∂ ∂ ∂
∂q1 z ∂q2 z ∂q3 z

 
cos ϕ −ρ sin ϕ 0
=  sin ϕ ρ cos ϕ 0 
0 0 1
Podemos identificar que es una matriz a bloques, por lo que det(Jq pq (x, y, z)) = ρ2 , motivo por el cual la
transformación es viable ∀ρ ∈ R. Ahora bien, la matriz de inercias es
   
cos ϕ sin ϕ 0 cos ϕ −ρ sin ϕ 0
D(q) = m JqT pq (x, y, z) Jq pq (x, y, z) = m  −ρ sin ϕ ρ cos ϕ 0   sin ϕ ρ cos ϕ 0 
0 0 1 0 0 1
 
m 0 0
=  0 m ρ2 0 
0 0 1

Podemos ver entonces que


0 < D(q) = DT (q) ∀ρ, m > 0
es decir, la matriz de inercias es simétrica y definida positiva siempre que ρ y m lo sean.
8 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Consideremos finalmente el caso en que las coordenadas generalizadas que describen la posición de la masa
en el espacio esta dado por las coordenadas esféricas como se muestra en la figura 1.3, es decir:
 
r
q= ϕ 
θ

La posivión de la partı́cula se describe como


   
q1 sin q3 cos q2 q1 C2 S3
pq (x, y, z) =  q1 sin q3 sin q2  =  q1 S2 S3 
q1 cos q3 q1 C3

Verificamos que sea una transformación viable.


∂ ∂ ∂
∂q1 {q1 C2 S3 } ∂q2 {q1 C2 S3 } ∂q3 {q1 C2 S3 }
 
 
∂ ∂ ∂
Jq pq (x, y, z) = ∂q1 {q1 S2 S3 } ∂q2 {q1 S2 S3 } ∂q3 {q1 S2 S3 }
 
 
 
∂ ∂ ∂
∂q1 {q1 C3 } ∂q2 {q1 C3 } ∂q3 {q1 C3 }

 
C2 S3 −q1 S2 S3 q1 C2 C3
=  S2 S3 q1 C2 S3 q1 S2 C3 
C3 0 −q1 S3

Al analizar esta última expresión podemos ver que el Jacobiano pierde rango cuando q3 = nπ, con n ∈ Z (todos
los enteros). En este caso el det{Jq pq (x, y, z)} = 0 y la transformación no serı́a viable. Ahora bien, la matriz de
inercias será:
  
C2 S3 S2 S3 C3 C2 S3 −q1 S2 S3 q1 C2 C3
D(q) = m JqT pq (x, y, z) Jq pq (x, y, z) = m  −q1 S2 S3 q1 C2 S3 0   S2 S3 q1 C2 S3 q1 S2 C3 
q1 C2 C3 q1 S2 C3 −q1 S3 C3 0 −q1 S3
 
m 0 0
 
=  0 mq12 sin2 q3 0
 

 
0 0 mq12

Observamos que
0 < D(q) = DT (q) ∀m ∈ R+ , q1 6= 0.
Y considerando además la restricción que harı́a a la transformación no viable (q3 6= nπ)

1.0.2. Coordenadas curvilı́neas.


Terminologı́a
La transformación entre las coordenadas de un punto (x, y, z) en el sistema coordenado cartesiano, y las de
un punto (w1 , w2 , w3 ) en el espacio se define por medio de

x = x(w1 , w2 , w3 ), y = y(w1 , w2 , w3 ), z = z(w1 , w2 , w3 )

Esta transformación es uniforme y su jacobiano es


 ∂x ∂x ∂x 
∂w1 ∂w2 ∂w3
∂(x, y, z) 
∂y ∂y ∂y

J= =
 
∂(w1 , w2 , w3 )  ∂w1 ∂w2 ∂w3 

∂z ∂z ∂z
∂w1 ∂w2 ∂w3
9

Las superficies coordenadas son familias de superficies que se obtienen igualando las coordenadas a una consante.
Suponer que existen las curvas de nivel:

w1 = f1 (x, y, z) = c1
w2 = f2 (x, y, z) = c2
w3 = f3 (x, y, z) = c3

Donde c1 , c2 , c3 aluden a que, en un instante dado, las coordenadas w1 , w2 , w3 son constantes. Ası́, si w2 y
w3 son constantes tendremos la curva w1 ; de manera similar tenemos las curvas w2 y w3 ; estas tres curvas se
llaman curvas coordenadas. Como las tres curvas coordenadas no son en general lı́neas rectas, como en el sistema
coordenado rectangular, tales sistemas coordenados se llaman coordenadaas curvilı́neas. Es posible introducir
un conjunto de vectores base apropiados para el sistema coordenado curvilı́neo. En el caso más general, en
cada punto P del espacio hay dos conjuntos de vectores base. El primer conjunto es el de los vectores unitarios
ew1 , ew2 , ew3 tangentes en P a las curvas coordenadas que pasan por P . El segundo es el conjunto de vectores
normales unitarios eW1 , eW2 , eW3 en P a las superficies coordenadas que pasan por P . En ambos casos, los
vectores unitarios cambian su orientación de un punto a otro. La ilustración del sistema base de las coordenadas
curvilı́neas se muestra en la figura 1.4.

Figura 1.4: Vectores base para coordenadas curvilı́neas en general.

El gradiente 00 ∇00 determina la dirección de convergencia de las superficies coordenadas, de aquı́ que la
velocidad descrita como
V (q) = Jq p(q)q̇
describe la dirección de las trayectorias en un campo vectorial definido por la velocidad.
Podemos decir que en el punto P (x, y, z) ∈ R existe una base canónica {bi, b
j, b
k} como

P (x, y, z) = Pxbi + Py b
j + Pz b
k

los vectores unitarios en P (ew1 , ew2 , ew3 ) tangentes a las curvas coordenadas w1 , w2 , w3 se pueden expresar
como:
hw1 hw2 hw3
ew1 = H w1
ew2 = H w2
ew3 = H w3

donde
∂P ∂P ∂P
hw1 = ∂w1 hw2 = ∂w2 hw3 = ∂w3

∂P ∂P ∂P
Hw1 = | ∂w1 | Hw2 = | ∂w2 | Hw3 = | ∂w3 |

de aquı́ que los coeficientes de Lamé juegan un rol muy importante.

Definición 1.4 Coeficientes de Lamé. Las cantidades Hw1 , Hw1 , Hw3 son los coeficientes de Lamé para coor-
denadas curvilı́neas ortogonales de un sistema de coordenadas (w1 , w2 , w3 ) = (q1 , q2 , q3 ).

Nota 1.1 Hwi i = 1, 3 no necesariamente son unitarios o de magnitud contante, ya que son funciones genera-
lizadas de R3 . Si los vectores Hw1 , Hw2 , Hw3 son ortogonales, entonces las curvas coordenadas son ortogonales.
10 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Esto significa que una transformación de coordenadas es viable siempre y cuando las curvas coordenadas sean
no ortogonales. En otras palabras:
3
Y
|Jq pq | = Hwi
i=1

Productos vectoriales y escalares en coordenadas curvilı́neas ortogonales.


Dados los vectores (ew1 , ew2 , ew3 ) de una base ortogonal de vectores unitarios hwi , entonces:

hhwi , hwi i = δij ∀i, j = 1, 3

δij es la delta delta de Kronecker. Entonces, para dos vectores arbitrarios V y W


P P 
hV, W i = ( i Vi hwi ) j Wj hwj
P P
= i j Vi Wj hhwi hwj i
P P
= i j Vi Wj δij
P
= i V i Wj

Se define como producto escalar. Por otra parte, la relación


X
[V, W ] = ijk hwk
k

con ijk como el tensor de Levi-Cevita



 1, si i, j, k permutan ciclicamente.
ijk = −1, si i, j, k permutan aciclicamente.
0, en otro caso.

entonces, si V = [vbi, vb k]T y W = [wbi, wb


j, v b k]T tenemos
j, wb

bi bj bk

[V, W ] = v i vbj vbk
b


wbi wbj wbk

se le conoce como producto vectorial.

Proposición 1.1 El vector {ew1 , ew2 , ew3 } son escritos en una base cartesiana como
X 1 ∂xi
ewi = δi
j
Hwi ∂qi

donde
X 1 ∂xi
δi = hwi
j
hwj ∂qi

Entonces el gradiente
X ewi ∂f
∇f =
i
Hwi ∂qi
Por lo tanto, de la superficie de la coordenada normal
X ewi ∂f
∇wi =
i
Hwi ∂qi

y si además los vectores tangenciales


∂p
gi =
∂qi
11

para cada i
X ∂x
gi = ∇qi = δi
i
∂qi
Por lo tanto, el producto vectorial de coordenadas curvilı́neas ortogonales se define por el producto punto
hV, [V, W ]i
y cada uno de estos productos, donde hgi , [V, gi ]i se define como parámetros de Christoffel.
Ahora bien, de la energı́a cinética conocemos lo siguiente
T (q, q̇) = 12 hq̇, D(q)q̇i

D(q) = i mi JiT Ji
P

lo cual involucra que el campo vectorial que define la rapidez del cambio de energı́a se describe de la siguiente
forma:
d d
1
dt T (q, q̇) = dt 2 hq̇, D(q)q̇i
1 d
= 2 dt hq̇, D(q)q̇i
1 d d
= 2 h dt q̇, D(q)q̇i + 21 hq̇, dt {D(q)q̇}i
1
= 2 hq̈, D(q)q̇i + 21 hq̇, Ḋ(q)q̇i + 21 hq̇, D(q)q̈i
Nota 1.2 La matriz de inercias D(q) es simérica. Bajo el supuesto de que D(q) es simétrica se debe cumplir
que
D(q) = DT (q)
sabemos que X
D(q) = mi JiT Ji
i∈S
entonces T
DT (q) mi JiT Ji
P
= i∈S
T
mi JiT J
P
= i∈S

JiT Ji
P
= i∈S ,i
Lo que confirma nuestra suposición y podemos afirmar que la matriz de inercias D(q) es simétrica.
Nota 1.3 La matriz de inercias D(q) es definida positiva. Si la matriz de inercias es definida positiva esto
implica que X
mi JiT Ji > 0
i∈S
esto se debe a que las curvas coordenadas definen los coeficientes de Lamé Hwi , sin embarga, si ∃Hwi = 0
entonces existe dependencia lineal, es decir
Jq p(q) = 0
y la transformación de coordenadas no serı́a viable, por lo que podemos afirmar que la matriz de inercias es
definida positiva.
D(q) > 0
Por ende, de las caracterı́sticas del producto interno h·, ·i
hx, yi = hy, xi = xT y = y T x
Ahora, al retomar la última expresión para la derivada temporal de la energı́a cinética tenemos:
1
Ṫ (q, q̇) = 2 hq̈, D(q)q̇i + 21 hq̇, Ḋ(q)q̇i + 21 hq̇, D(q)q̈i
1 T T
= 2 q̇ D (q)q̈ + 12 hq̇, Ḋ(q)q̇i + 21 q̇ T D(q)q̈

= hq̇, D(q)q̈ + 21 Ḋ(q)q̇i


12 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Ahora bien. en términos de un problema de minimización de trayectorias:


Ṫ (q, q̇) = 0
1
hq̇, D(q)q̈ + Ḋ(q)q̇i = 0
2
Si consideramos el modelo matemático de un robot, sin efectos potenciales y fuerzas generalizadas
D(q)q̈ + C(q, q̇)q̇ = 0
tenemos lo siguiente:  
1
hq̇, Ḋ(q) − C(q, q̇) q̇i = 0
2
Lo que implica directamente que
1
Ḋ(q) − C(q, q̇) = 0
2
Que es la propiedad de antisimetrı́a.
Ahora bien, recordar que habiamos concluido
 
1
hq̇, Ḋ(q)q̇ − C(q, q̇) q̇i = 0
2
es entonces lo mismo tener
hq̇, Ḋ(q)q̇i − 2hq̇, C(q, q̇)q̇i = 0
hq̇, Ḋ(q)q̇i − hq̇, C(q, q̇)q̇i − hq̇, C(q, q̇)q̇i = 0
q̇ T Ḋ(q)q̇ − q̇ T C T (q, q̇)q̇ − q̇ T C(q, q̇)q̇ = 0
hq̇, {Ḋ(q) − C T (q, q̇) − C(q, q̇)}q̇i = 0
que se cumple cuando
Ḋ(q) − C T (q, q̇) − C(q, q̇) = 0
que implica directamente que
Ḋ(q) = C T (q, q̇) + C(q, q̇)
Lo que sugiere que podemos obtener la matriz de Coriolis como resultado de derivar la matriz de inercias.
Nota 1.4 Formulación de Euler-Lagrange. Uno forma de obtener el modelo dinámico de un sistma mecánico
es mediante la formulación de Euler-Lagrange.
 
d ∂L(q, q̇) ∂L(q, q̇)
− =0
dt ∂ q̇ ∂q
de donde podemos obtener las matrices de inercias D(q) y Coriolis C(q, q̇).
En resumen, la energı́a cinética genera indirectamente las siguientes propiedades.
1.
1
P
T (q, q̇) = 2 i∈S mi hV, V i
1
mi hq̇, JiT Ji q̇i
P
= 2 i∈S
1
P T

= 2 hq̇, i∈S mi Ji Ji q̇i
1
= 2 hq̇, D(q)q̇i
D(q) es una matriz simétrica y definida positiva, además es acotada y su inversa es simétrica, definida
positiva y acotada. Es decir, ∃ 0 < α1 < α2 tal que
α1 In×n ≤ D(q) ≤ α2 In×n
donde
α1 = minλ |λI − D(q)|
α2 = maxλ |λI − D(q)|
1.1. COMPENSADORES BASADOS EN LA DINÁMICA. 13

2. La propiedad de antisimetrı́a.
 
1
hS, Ḋ(q) − C(q, q̇) Si = 0 ∀ S ∈ Rn
2

3. La matriz de Coriolis no está definida explı́citamente, sin embargo tiene la siguiente relación:

Ḋ(q) = C T (q, q̇) + C(q, q̇)

4. Nota 1.5 Teorema de Raileigh-Ritz. Sea A ∈ Rn×n y x ∈ Rn , entonces

kxT Axk = kAk kxk2

donde kAk es la norma espectral de A, es decir, se define por los valores propios.

Cota inferior (kAk) ≥ min[λi (A)].


Cota superior (kAk) ≤ max[λi (A)].

Del teorema de Raileigh-Ritz, la matriz de fuerzas de Coriolis tiene la siguiente propiedad.

kC(q, q̇)k = kḊ(q)k ≤ α3 kq̇k

Por lo tanto
kC(q, q̇)q̇k ≤ α3 kq̇k2
donde 0 < α < ∞. Por esto se dice que Coriolis es radialmente no acotada.
Sin embargo sabemos que T = 21 mv 2 , y de Einstein sabemos que e = mc2 , lo cual implica que la velocidad
es acotada:
v = hV, V i1/2 < c
donde c =∼ 300 000 km/s. Es decir, aunque las fuerzas de Coriolis C(q, q̇)q̇ desde el punto de vista ma-
temático son radialmente no acotadas, desde el punto de vista fı́sico, éstas lo son.

1.1. Compensadores basados en la dinámica.


1.1.1. Introducción y conceptos generales.
Una dinámica de la forma estándar de Cauchy

ẋ = f (x, u)
(1.7)
y = h(x, u)

donde x ⊂ X ∈ Rn representa el vector de estados, f (·), h(·) son funciones c∞ (contı́nuas y que existen todas
sus derivadas), u ⊂ U ∈ Rn×n define la entrada de excitación: “el control”. Generalmente 1.7 se representa de
la siguiente forma:
ẋ = f (x) + g(x)u

y = h(x)
Definición 1.5 Sistemas autónomos. El sistema no lineal 1.7 es autónomo si f (x) no depende explı́citamente
de t. De ser ası́ se dice que 1.7 es no autónomo.
Cuando el sistema es no autónomo, la condición de Lipschitz no necesariamente se cumple, lo que implica que
la existencia y unicidad de la solución no se garantiza.
Definición 1.6 Existencia y unicidad de la solución. Sea f (·) ∈ Rn una función en varias variables, y x ∈ Rn .
Si f (x) satisace la relación
kf (x) − f (y)k ≤ Lkx − yk
con 0 < t < ∞ una constante positiva. L se conoce como constante de Lipschitz. Entonces la solución existe y
es única.
14 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Definición 1.7 Restricciones holónomas. Considerando un sistema de coordenadas generalizadas y sus deriva-
das (q, q̇, q̈)
f (q, q̇) = f (x)
Si la representación de las variables q y q̇ no son interconectadas directamente entonces el sistema contiene
restricciones del tipo holónomas de la forma h(q, t) = 0, y estas pueden ser integrables.
Definición 1.8 Restricciones no holónomas. Cuando las restricciones no pueden ser representadas de la forma
h(q, t) = 0 se dice que las restricciones son no holónomas.

Concepto de estabilidad.
Sea el sistema de ecuaciones diferenciales ordinarias
ẋ = f (x, u) , x(0) = x0
(1.8)
y = h(x)
Definición 1.9 Punto de equilibrio. Un punto x = x∗ en el espacio de estado es un punto de equilibrio del
sistema 1.8, con u = 0, si se tiene la propiedad de que el estado inicial x0 = x∗ implica que x(t) = x∗ ∀t ≥ 0.
f (x) = x∗ , x(0) = x∗
Definición 1.10 Estabilidad. El estado x en equilibrio se dice que es estable en el sentido de Lyapunov si existe
un δ y un  positivos tales que si las kx(0)k < δ, entonces para un  > δ se cumple lo siguiente
kx(t)k < , ∀t ≥ 0
En otro caso se dice que es inestable. La figura 1.5 muastra gráficamente estos conceptos.
Por otra parte si  depende de δ, entonces es asintóticamente estable. Pero si ∃α, β > 0 tal que
kx(t)k ≤ βkx(0)ke−αt
se dice que convergen de forma exponencial al origen, con una velocidad de convergencia α.

Figura 1.5: Estabilidad.

Un sistema afı́n al control tiene la forma


q̇ = f (x, u)
Se dice que un equilibrio es atractor si este es estable, y además:
lı́m x(t) = x∗
t→0

A esto también se le conoce como estabilidad asintótica del equilibrio. Sin embargo un sistema puede tener
varios equilibrios; de ser este el caso, solo se puede concluı́r estabilidad local. Si el equilibrio es único y además
atractor entonces se concluye estabilidad de la trayectoria (estabilidad global).
1.1. COMPENSADORES BASADOS EN LA DINÁMICA. 15

Definición 1.11 Función definida positiva. Una función escalar V (x) es llamada definida positiva localmente
si
V (0) = 0
y sobre una bola de radio R: BR
V (x) > 0, x 6= 0, x ∈ BR
Si esta propiedad se cumple en todo el dominio, entonces esta función es definida positiva globalmente.
Por otra parte, si V (x) cumple
V (x) ≥ 0 ∀x
entonces V (x) es semidefinida positiva. Se dice que una función W (x) es definida o semidefinida negativa si
W (x) = −V (x)
dV (x)
con V (x) una función definida o semidefinida positiva. Una función V (x) se dice que es monótona si ∀x, dt
es positiva o negativa.
Nota 1.6 Se dice que toda función que es monótona decreciente siempre tiene un lı́mite ( Teorema de Waiess-
tras).
En este caso V (x) es una función implı́cita del tiempo, por lo tanto su derivada temporal cumple la siguiente
relación:
dV (x) ∂V (x)
= ẋ
dt ∂x
Definición 1.12 Función de Lyapunov. Si en una bola BR la función V (x) es definida positiva y tiene derivadas
parciales contı́nuas, y su derivada a lo largo de las trayectorias
ẋ = f (x) (1.9)
es definida negativa, entonces V (x) es una función de Lyapunov para la dinámica 1.9.
Definición 1.13 Matriz definida positiva. Se dice que una matriz A ∈ Rn×n es definida positiva ssi
min{λ(A)} > 0
Definición 1.14 Conjunto invariante. Un conjunto G es un conjunto invariante para un sistema dinámico si
cada trayectoria del sistema que inicia en g ∈ G permanece en G para todo tiempo futuro.
Teorema 1.1 Estabilidad global. Asumimos que existe una función escalar V del estado x, con derivadas
contı́nuas de primer orden, de forma que:
V (x) es definida positiva.
V̇ (x) es definida negativa.
V (x) → ∞ cuando kxk → ∞.
entonces el equilibrio en el origen es globalmente asintóticamente estable.
Teorema 1.2 El teorema de La’Salle. Sea Ω ⊂ Rn un conjunto compacto y positivamente invariante con
respecto a ẋ = f (x). Sea V : Rn → R una función contı́nuamente diferenciable tal que V̇ (x) ≤ 0 en Ω. Sea E
el conjunto de todos los puntos en Ω donde V̇ (x) = 0. Sea M el conjunto invariante más largo en E. Entonces
la solución que inicia en Ω tiende a M conforme t tiende a ∞.
Teorema 1.3 Teorema de Chataev. Si la energı́a potencial V (q ∗ ) de un sistema conservativo es una función
homogénea, es decir, es tal que
V (λq) = λm V (q) ∀λ ∈ R, ∀q ∈ Rn
con m algún entero, y si en el equilibrio q ∗ , V (q) no tiene un mı́nimo, entonces q ∗ es inestable.
Del teorema de La’Salle:
Corolario 1.1 Sea x = 0 un punto de equilibrio de ẋ = f (x). Sea V : D → R una función definida positiva tal
que V̇ ≤ 0 en D. Sea
S = {x ∈ D|V̇ = 0}
entonces x = 0 es un punto de equilibrio asintóticamente estable.
16 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

1.1.2. Compensador PD, PID, PD+ y de par calculado.


Compensador PD.

Compensador PID.

Compensador PD+.

Sea la dinámica de un robot


D(q)q̈ + C(q, q̇)q̇ + G(q) = τ

se desea diseñar un controlador PD para el mismo, que permita también compensar los efectos de las fuerzas
gravitatorias G(q). Es decir, el controlador tendrá la forma:

τ = G(q) − Kd ė − Kp e

Se efectúa el análisis en un punto de operación, es decir:

qd :=la posición deseada, y es constante. e = q − qd es el error.

Por lo que ė = q̇
Proponemos una función candidata a ser Lyapunov, en función del error y de la velocidad.

1 1
V (e, q̇) = he, Kp ei + hq̇, D(q)q̇i (1.10)
2 2

Podemos verificar que


V (0) > 0 ∀e, q̇ ∈ {D} − {0}

Ahora verificamos V̇ (e, q̇) < 0.

1 1 1 1 1
V̇ (e, q̇) = hė, Kp ei + he, Kp q̇i + hq̈, D(q)q̇i + hq̇, D(q)q̈i + hq̇, Ḋ(q)q̇i
2 2 2 2 2

= hq̇, Kp ei + hq̇, D(q)q̈i + 21 hq̇, Ḋ(q)q̇i


= hq̇, Kp e + τ − G(q) + { 21 Ḋ(q)q̇ − C(q, q̇)q̇}i

Y mediante la propiedad de antisimetrı́a llegamos a:

V̇ (e, q̇) = hq̇, Kp e + τ − G(q)i (1.11)

Al sustituı́r la ley de control deseada en esta última expresión tenemos:

V̇ (e, q̇) = hq̇, Kp e − Kp e − Kd q̇ + G(q) − G(q)i


= hq̇, −Kd q̇i (1.12)
= −hq̇, Kd q̇i

Llegamos entonces a:
V̇ (e, q̇) = −hq̇, Kd q̇i (1.13)

Que es una función definida negativa, situación que nos permite confirmar que V (e, q̇) es una función de Lya-
punov. Ahora bien, si introducimos el teorema de La Salle y definimos.

S = {q̇, q̇ | V̇ (e, q̇) ≤ 0} (1.14)

Como el conjunto invariante más grande, entonces si q̇ = 0 → q̈ = 0 → V̇ (e, q̇) = 0 entonces el sistema es
globalmente asintóticamente estable en el origen.
1.1. COMPENSADORES BASADOS EN LA DINÁMICA. 17

Compensador de par calculado.


Consideremos la dinámica de un robot:

D(q)q̈ + C(q, q̇)q̇ + G(q) = τ

La cual se desea estabilizar mediante un controlador del tipo par calculado, definido por:

τ = −Kp ep − Kd ev + D(q)q̈d + C(q, q̇ q̇d + G(q)

Donde:
ep es el error de posición dado por:
ep = q − q d
donde q ∈ Rn representa la velocidad del efector final del robot para cada instante de tiempo, y qd ∈ Rn
es la posición velocidad para el mı́smo.
ev es el error de velocidad dado por:
ev = q̇ − q̇d
donde q̇ ∈ R representa la velocidad del efector final del robot para cada instante de tiempo, y qd ∈ Rn
n

es la velocidad deseada para el mı́smo.


q̈ ∈ Rn es la aceleración deseada para el efector final del robot.
Además
0 < Kp = KpT ∈ Rn×n .

0 < Kd = KdT ∈ Rn×n .

Proposición 1.2 Este control implica estabilidad asintótica global.

Prueba 1.1 La función candidata a ser Lyapunov es:


1 1
V (q, q̇) = hq̇, D(q)q̇i + hq, Kpqi
2 2
Donde
q = q − qd , es una trayectoria.
q̇ = q̇ − q̇d , es una trayectoria.
entonces su derivada es:
V̇ (q, q̇) = hq̇, D(q)q̈i + 12 hq̇, Ḋ(q)q̇i + hq̇, Kp qi

= hq̇, D(q)q̈ + 21 Ḋ(q)q̇ + Kp qi


donde q̈ = q̈ − q̈d , por lo que

V̇ (q, q̇) = hq̇, D(q){q̈ − q̈d }i + 12 hq̇, Ḋ(q)q̇i + hq̇, Kp qi

= hq̇, D(q){q̈ − q̈d } + 12 Ḋ(q)q̇ + Kp qi

Ahora, al inroducir aquı́ la dinámica en lazo cerrado siguiente

D(q)q̈ + C(q, q̇)q̇ + G(q) = D(q)q̈d + C(q, q̇)q̇d + G(q) − Kp ep − Kd ev (1.15)

se tiene:
D(q)q̈ = D(q)q̈d − C(q, q̇)q̇ + C(q, q̇)q̇d − Kp q − Kd q̇

= D(q)q̈d − C(q, q̇)(q̇ − q̇d − Kp q − Kd q̇

= D(q)q̈d − C(q, q̇)q̇ − Kp q − Kd q̇


18 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Por lo tanto:

V̇ (q, q̇) = hq̇, D(q)q̈d − C(q, q̇)q̇) − Kp q − Kd q̇ − D(q)q̈d + 21 Ḋ(q)q̇ + Kp qi

= hq̇, −C(q, q̇)q̇ + 21 Ḋ(q)q̇ + Kp qi

= hq̇, { 12 Ḋ(q) − C(q, q̇)}q̇ − Kd q̇i

Por lo tanto:
V̇ (q, q̇) = hq̇, −Kd q̇i
que es una función definida negativa; por lo tanto, V (q, q̇) es una función de Lyapunov y se dice que el sistema
en lazo cerrado con τ es asintóticamente estable. También, si:

q̇ = 0 ⇒ q̈ = 0

De la dinámica 1.15 tenemos


0 = −Kp q ⇒ q = 0 ⇒ q = q − qd = 0
entonces:
q → qd cuando t → ∞
Por lo que el sistema es globalmente asintóticamente estable.

Consideraciones dinámicas.
Sabemos que, por el formulismo de Euler-Lagrange:

d ∂ ∂
{ L(q, q̇)} + L(q, q̇) = Qno
gen
pot
∈ Rn
dt ∂ q̇ ∂q

siendo n el número de grados de libertad, y donde

L(q, q̇) = T (q, q̇) − P (q)


1
= 2 hq̇, D(q)q̇i − P (q) ∈ R

Nota 1.7 Si suponemos    


q̇1 d11 d12
q̇ = , D(q) =
q̇2 d12 d22
entonces
1
T (q, q̇) = 2 hq̇, D(q)q̇i
1 2
= 2 d11 q̇1 + 2d12 q̇1 q̇2 + d22 q̇22
También tenemos que:
∂ ∂
∂ q̇ L(q, q̇) = ∂ q̇ T (q, q̇)

1 ∂
= 2 ∂ q̇ hq̇, D(q)q̇i

∂ q̇
= 1
2 {h ∂ q̇ , D(q)q̇i + hq̇, D(q) ∂∂ q̇q̇ i + hq̇, ∂∂q̇ {D(q)}q̇i}

como D(q) no depende de q̇ podemos afirmar que

∂D(q)
=0
∂ q̇

Por lo que

∂ q̇ L(q, q̇) = hq̇, D(q)i

= D(q)q̇
1.1. COMPENSADORES BASADOS EN LA DINÁMICA. 19

Ahor bien
d ∂ 1 d
dt { ∂ q̇ {L(q, q̇)}} = 2 dt {∇q̇ hq̇, D(q)q̇i}

d
= dt {D(q)q̇}

d d
= dt {D(q)}q̇ + D(q) dt }q̇}

= Ḋ(q)q̇ + D(q)q̈
Además
∂ 1 ∂ ∂
∂ q̇ {L(q, q̇)} = 2 ∂q hq̇, D(q)q̇i + ∂q D(q)

Nuevamente tenemos que


hq̇, D(q)q̇i = d11 q̇12 + 2d12 q̇1 q̇2 + d22 q̇22
Que nos lleva a
∂ ∂ 2
∂q hq̇, D(q)q̇i = ∂q {d11 q̇1 + 2d12 q̇1 q̇2 + d22 q̇22 }

= ∇q {d11 q̇12 + 2d12 q̇1 q̇2 + d22 q̇22 }


 ∂ 2

∂q1 {d11 q̇1 + 2d12 q̇1 q̇2 + d22 q̇22 }
=  
∂ 2
∂q2 {d11 q̇1 + 2d12 q̇1 q̇2 + d22 q̇22 }
 
q̇12 ∂q∂ 1 d11 + 2q̇1 q̇2 ∂q∂ 1 d12 + q̇22 ∂q∂ 1 d22
=  
q̇12 ∂q∂ 2 d11 + 2q̇1 q̇2 ∂q∂ 2 d12 + q̇22 ∂q∂ 2 d22
 "
q̇1 ∂q∂ 1 d11 + q̇2 ∂q∂ 1 d12 q̇1 ∂q∂ 1 d12 + q̇2 ∂q∂ 1 d22
#
q̇1
=  
q̇1 ∂q∂ 2 d11 + q̇2 ∂q∂ 2 d12 q̇1 ∂q∂ 2 d12 + q̇2 ∂q∂ 2 d22 q̇2

Ahora bien, si consideramos el producto de A, B ∈ R2×2


" #" #
a11 a12 b11 b12
A·B =
a21 a22 b21 b22
" #
a11 b11 + a12 b21 a11 b12 + a12 b22
=
a21 b11 + a22 b21 a21 b12 + a22 b22

Y comparándola con el resultado anterior tenemos las siguientes relaciones:



b11 = ∂q1 d11


b12 = ∂q1 d12


b21 = ∂q1 d21


b22 = ∂q1 d22

b011 = ∂
∂q2 d11

b012 = ∂
∂q2 d12

b021 = ∂
∂q2 d21

b022 = ∂
∂q2 d22

Podemos decir que


AB1 + AB2 = A(B1 + B2 )
20 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

entonces
b11 + b011 b12 + b012
" #" #
q̇1 q̇2
∆(q, q̇) =
q̇1 q̇2 b21 + b021 b22 + b022
Podemos entonces decir que

b11 + b011 b12 + b012


" #" #
∂ 1 q̇1 q̇2
T (q, q̇) =
∂q 2 q̇1 q̇2 b21 + b021 b22 + b022

donde bij , bi0 j 0 son conocidos como los Coeficientes de Christoffel.

Por lo tanto
∂ ∂ ∂
∂q L(q, q̇) = ∂q T (q, q̇) − ∂q P (q)

1
= 2 ∆(q, q̇) − ∇q P (q)
por lo que
d ∂ ∂
{ L(q, q̇)} − L(q, q̇) = Qno
gen
pot
dt ∂ q̇ ∂q
se convierte en
1
Ḋ(q)q̇ + D(q)q̈ − ∆(q, q̇)q̇ + ∇q P (q) = Qno
gen
pot
2
Esto implica que
1
C(q, q̇) = Ḋ(q) − ∆(q, q̇)
2
es la matriz de Coriolis y uerzas centrı́petas, y:

G(q) = ∇q P (q)

Ahora bien, de la propiedad


Ḋ(q) = C(q, q̇) + C T (q, q̇)
tenemos
Ḋ(q) = {Ḋ(q) − 12 ∆(q, q̇)} + {ḊT (q) − 21 ∆T (q, q̇)}
1
= 2 ∆(q, q̇) + 12 ∆T (q, q̇)
lo que implica directamente:
1
C(q, q̇) = ∆(q, q̇)
2

1.2. Compensadores no convencionales y adaptables.


1.2.1. Propiedad de pasividad.
Esta propiedad dice que no se puede generar más energı́a de la que se suministra al sistema.
Z ti
V (x) ≤ V (0) + y T u dτ
t0

directamente en sistemas mecánicos, esta propiedad se refiere a la energı́a cinética.

1 = 0 ssi q̇ = 0
T (q, q̇) = hq̇, D(q)q̇i{
2 ≥ 0 ∀ q̇ 6= 0

por lo que la función energética corresponde a la energı́a cinética del mecanismo. Si x = [q, q̇]T , x1 = q, x2 = q̇,
entonces
1
V (x) = hx2 , D(x1 )x2 i
2
1.2. COMPENSADORES NO CONVENCIONALES Y ADAPTABLES. 21

lo que lleva a
1 ∂
V̇ (x) = 2 ∂x {V (x)} dx
dt
1
= 2 hẋ2 , D(x1 )x2 i + 12 hx2 , D(x1 )ẋ2 i + 21 hx2 , Ḋ(x1 )x2 i
Sin embargo, la dinámica de un mecanismo es descrita por:

D(x1 )ẋ2 + C(x1 , x2 )x2 + G(x1 ) = u

Por lo tanto:
V̇ (x) = hx2 , D(x1 )ẋ2 + 21 Ḋ(x1 )x2 i

= hx2 , τ − G(x1 ) + {Ḋ(x1 )x2 − C(x1 , x2 )x2 }i

= hx2 , τ − G(x1 )i
Ahora bien, consideremos a la función energética como la energı́a cinética del mecanismo más la energı́a poten-
cial.
1
V (x) = hx2 , D(x1 )x2 i + P (x1 )
2
Por lo que
1 ∂T (x) dx ∂P (x1 ) dx
V̇ (x) = +
2 ∂x dt ∂x dt
Introduciendo nuevamente la ecuación dinámica del robot

V̇ (x) = hx2 , u − G(x1 )i + hG(x1 ), x2 i

Entonces
V̇ (x) = hx2 , ui
Integrando en τ ∈ [0, t] se obtiene la fricción.
Para sistemas mecánicos se tienen las siguientes definiciones:
Definición 1.15 Sistema completamente actuado. Se dice que un sistema es completamente actuado ssi el
número de acuadores es igual al número de grados de libertad.

Definición 1.16 Sistema subactuado. Se dice que un sistema es subactuado si el número de actuadores es
menor que el número de grados de libertad. Un sistema es subactuado ssi

n > Ker(τ ) ≥ 1

Definición 1.17 Sistema sobreactuado. Un sistema es sobreactuado si tiene más actuadores que grados de
libertad.

τ ∈ Rm×n
rango(τ τ T ) = m, m > n
rango(τ T τ ) = n

Con
D(q)q̈ + C(q, q̇)q̇ + G(q) = Jq τ

Control basado en energı́a.


Sea la energı́a total de un sistema mecánico

(q, q̇) = T (q, q̇) + P (q) ∈ R

En el control basado en energı́a se requiere una energı́a deseada  ∈ R y la función de error respecto a la energı́a
es:
(q, q̇) = (q, q̇) − d
22 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Para el caso de sistemas mecánicos subactuados la energı́a deseada se refiere a la energı́a en los equilibrios, es
decir:
d = (q, q̇)| q = q ∗
q̇ = 0

= T (q, q̇)| q = q ∗ + P (q)|q=q∗


q̇ = 0
1
= 2 hq̇, D(q)q̇i| q = q ∗ + P (q)|q=q

q̇ = 0
1 →− ∗ →

= 2 h 0 , D(q ) 0 i + P (q ∗ )

= P (q ∗ ) ∈ R
Por lo que el error de energı́a es:

(q, q) = (q, q̇) − P (q ∗ )

= T (q, q̇) + P (q) − P (q ∗ )


1
= 2 hq̇, D(q)q̇i + P (q)

Donde (q, q̇) tiene las siguientes propiedades


1 →− →

(0, 0) = 2 h 0 , D(0) 0 i + P (0)

= P (0)

= P (0) − P (q ∗ ) = 0

Si (q, q̇), con q, q̇ 6= 0 entonces (q, q̇) 6= 0, sin embargo 2 (q, q̇) ≥ 0 es una candidata a ser Lyapunov.
Nota 1.8 La variación del error cuadrático de energı́a se define por:
d 2 d
 (q, q̇) = 2(q, q̇) {(q, q̇)}
dt dt
donde
d
dt {(q, q̇} = d 1
dt { 2 hq̇, D(q)q̇i + P (q) − P (q ∗ )}
1 d d d ∗
= 2 dt hq̇, D(q)q̇i + dt P (q) − dt P (q )

= hq̇, D(q)q̈i + 12 hq̇, Ḋ(q)q̇i + h ∂q P (q), q̇i
Si introducimos la dinámica de un sistema mecánico tenemos
d
dt {(q, q̇} = hq̇, −G(q) + G(q) + { 12 Ḋ(q) − C(q, q̇}q̇ + τ i

= hq̇, τ i

Por lo tanto, el cuadrado de la energı́a total cumple con la propiedad de pasividad.


Ahora bien: Z t Z t
d(q, q̇) = hq̇, τ ids
0 0
que implica Z t
(q, q) − (0, 0) = q̇ T τ ds
0
Por lo que Z t
(q, q̇) = q̇ T τ ds
0
1.2. COMPENSADORES NO CONVENCIONALES Y ADAPTABLES. 23

Por lo que la función de energı́a es estrictamente pasiva. Lo anterior dice que el uso estricto de funciones de
energı́a no es suficiente para alcanzar el objetivo de control, por lo que la función candidata a ser Lyapunov
toma la forma
1 1
V (q, q̇) = Ke 2 (q, q̇) + Kp q 2a + Kd q̇a2 > 0
2 2
Que cumple con
V (q, q̇) = 0 ssi q̇ = 0, q = 0,  = 0
donde
q = q − qd
q̇ = q̇ − q˙d con q˙d = 0
Al derivar V (q, q̇) se tiene
d
V̇ (q, q̇) = (q, q̇) dt (q, q̇) + Kp q̇ a + Kd q̈ a

= (q, q̇)hq̇, τ i + Kp q̇ a + Kd q̈ a

= hq̇, (q, q̇τ i + Kp q̇ a + Kd q̈ a


Pn
= (q, q̇) i=1 q̇i τi + Kp q̇a + Kd q̈a

= (q, q̇)q̇a τa + Kp q̇a + Kd q̈a

Por lo tanto: ! ! !
q̈a q̇a τa
D(q) + C(q, q̇) + G(q) =
q̈s q̇s τs
Entonces: ! ! !
q̈a τa q̇a
= D−1 (q){ − C(q, q̇) − G(q)} ∈ R
q̈s τs q̇s
con
q̈a = f1 (q, q̇, τa ) ∈ R
q̈s = f2 (q, q̇) ∈ Rn−1
Entonces
V̇ (q, q̇) = (q, q̇)q̇a τa + K q̇a + Kd f1 (q, q̇n , τa )
Y se debe encontrar una función de control τa que haga negativa a V̇ (q, q̇), es decir, que haga a V (q, q̇ una
función de Lyapunov que garantizarı́a la estabilidad del sistema.

1.2.2. Estabilidad del control discontı́nuo (Subactuado basado en Swing-Up).


Para el balanceo y estabilización de un sistema péndulo sobre el carro es posible diseñar dos controladores.
El primero es un controlador lineal, y el segundo es no lineal, de la forma:
ulin = kx ← Controlador lineal.
(K q +q˙ )det(D(q))
p 1 1
u = − Ke (q,q̇)det(D(q))+Kd θs ← Controlador basado en energia.

donde:
ulin , u ⊂ U ∈ R
Para cada uno de los controladores existe una función de energı́a V (x), es decir:
ulin ∃Vlin (x), u ∃V (x)
con 0 ≤ Vlin (x), V (x) ∈ R, y V̇lin (x) ≤ 0 ∀ kx(t)k ≤ δ, V̇ (x) ≤ 0 ∀ δ1 ≤ kx(t)k ≤ δ2 . Sin embargo, de aquı́:
G(x) := χts− V (x) + χts+ Vlin (x)
donde
24 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

ts =tiempo de switcheo.

χts− es la función caracterı́stica antes de ts.

χts+ es la función caracterı́stica después de ts.

con
χts− = θ(t − t0 ) − θ(t − ts)
(1.16)
χts+ = θ(t − ts) − θ(t)

tomando
1 si t ≥ 0
(
θ=
0 si t < 0

Además θ(t) cumple lo siguiente:


f (t) si t ≥ 0
(
θ(t)f (t) =
0 t<0

e integrando θ(t)f (t) en t ∈ (−∞, ∞)


Z Z Z
θ(t)f (t)dt = θ(t) f (t)dt − δ(t) f (t)dt

Por otro lado, la derivada de θ(t)f (t) implica:


 R
d
∀t ≥ 0  t θ(t)f (t)dt t ≥ 0
(
dt f (t)
Z
d 0
θ(t)f (t) = ⇒ θ(t)f (t)dt =
dt 0 ∀t < 0  0 t<0

por lo tanto se define que existe la solución:


Z ∞ Z ∞ Z ∞ Z ∞
θ(t)f (t)dt = θ(t)f (t)dt = θ(t) f (t)dt = δ(t) f (t)dt
−∞ 0 0 0

Por otra parte, δ(t)f (t) implica lo que sigue:


Z ∞
f (t)δ(t)dt = f (0)
−∞

Lo cual implica que


d
δ(t) = θ(t)
dt
y continuando con el análisis de estabilidad: se sabe que G(x) es discontı́nua, sin embargo, G2 (x) es diferenciable
”por lo menos una vez”, es decir:
d 2 d
G (x) = 2G(x) G(x)
dt dt
donde
d d
dt G(x) = {χts− V (x) + χts+ Vlin (x)}
dt
d d (1.17)
= dt χts V (x) + dt χts+ Vlin (x) + χts− V̇ (x) + χts+ V̇lin (x)

con
d d
dt χts = dt {θ(t − t0 ) − θ(t − ts)} = δ(t − t0 ) − δ(t − ts)

d d
dt χts = dt {θ(t − ts) − θ(t)} = δ(t − ts) − δ(t)
+
1.2. COMPENSADORES NO CONVENCIONALES Y ADAPTABLES. 25

es decir, la integral:
Rs Rs
0
dG(x) = 0 {[δ(t − t0 ) − δ(t − ts)] V (x) + [δ(t − ts) − δ(t)] Vlin (x) + χts− V̇ (x) + χts+ V̇lin (x)}ds
R∞
G(x) − G(0) = V (x(0)) − V (x(ts)) + Vlin (x(ts)) − Vlin (x(0)) + 0 χts− V̇ (x) + χts+ V̇lin (x)ds
R∞
G(x) − G(0) = V (x(0)) − Vlin (x(0)) − {V (x(ts)) − Vlin (x(ts))} + 0 χts− V̇ (x) + χts+ V̇lin (x)ds

G(x) | x=0 = χts− V (x(0)) + χts+ Vlin (x(0))

G(0) = V (x(0)) + Vlin (x(0))

G(x) = V (x(0)) − Vlin (x(0)) − {V (x(ts)) − Vlin (x(ts))} + I(s)

donde Z ∞
I(s) = {χts− V̇ (x) + χts+ V̇lin (x)}ds
0

Sin embargo:
{V (x(ts)) − Vlin (x(ts))} ≤ 0
es decir:
G(x) − G(x(0)) = V (0) + I(s)
por lo que la solución radica en I(s) y su cota, por el teorema de Weiesstras, toda sucesión tiene un lı́mite.

lı́m G(t) = G∗
t→∞

Al obtener el lı́mite superior de 1.2.2 se obtiene:

lı́m sup{G(x) − G(x(0))} ≤ lı́m sup{V (0) + I(s)}


t→∞ t→∞

lı́m sup G(x) − G(x0 ) ≤ V (x0 ) + lı́m sup I(s)


t→∞ t→∞


0 ≤ G − G(x0 ) ≤ V (x0 ) + lı́m sup I(s)
t→∞

Sin embargo, por caracterı́sticas de V̇ (x) y V̇lin (x), estas son monotónicamente decrecientes, por lo tanto:

lı́m sup I(s) < ∞


t→∞

además que
V (x0 ) → G(x0 )
y la desigualdad 1.2.2 tiene la siguiente solución:

0 ≤ G∗ ≤ lı́m sup I(s) < ∞


t→∞

Por lo tanto:
lı́m sup I(s) ≤ G∗ ≤ 0
lo que implica V (x) −−−→ 0. En otras palabras:
t→∞

d d d
G(x) ≤ 0 → G2 (x) G(x) ≤ 0
dt dt dt
es una función de Lyapunov para el control discontı́nuo bajo la condición:

kx(t)k ≤ δ
26 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

1.2.3. Control en tiempo finito y modos deslizantes.


1.2.4. Control adaptable (estimación de parámetros y dinámicas).
1.2.5. Control óptimo.
Existen dos vertientes en el ámbito del control óptimo:

Principio del máximo (Pontriagin).

Programación dinámica (Richard Bellman).

Programación dinámica.
Teorema 1.4 Si existe una función V (·) definida positiva que es contı́nuamente diferenciable y satisface la
ecuación de Hamilton-Jacobi-Bellman siguiente
d
V (x)|ẋ=f (x)+g(x)u + f0 (x∗ , u∗ ) = 0
dt
entonces u∗ es óptima.

Generalmente V (x) es una función de Lyapunov,x∗ es la solución óptima, u∗ es el control óptimo y f0 es una
función convexa.

Ejemplo 1.2 Sea


ẋ = Ax + Bu, x = x0

u = −kx
Una función de Lyapunov clásica para este caso


V (x) = hx, P xi > 0, V (x) = 0 ssi x = 0 , 0 < P = P T

Entonces:
V̇ (x) = hẋ, P xi + hx, P ẋi

= h(A − BK)x, P xi + hx, P (A − BK)xi

= hx, (A − BK)T P xi + hx, P (A − BK)xi

= hx, {(A − BK)T P + P (A − BK)}xi


Para que V̇ (x) sea definida negativa proponemos

V̇ (x) = −hx, Qxi

Por lo que
hx, {(A − BK)T P + P (A − BK)}xi = −hx, Qxi
Por lo que debe cumplirse

(A − BK)T P + P (A − BK) = −Q ← Ecuación de Lyapunov (1.18)

Como V (x) es una función de Lyapunov, entonces dicha función se considera para la construcción de la función
HJB, con un ı́ndice de desempeño.
Z∞
J = {hx, Qxi + hu, Rui}dt
0
T n×n T n×n
con 0 < Q = Q ∈ R ,0<R=R ∈R . Tenemos:
 
1 d 1 1
mı́n u hx, P xi + hx, Qxi + hu, Rui = 0
2 dt 2 2
1.2. COMPENSADORES NO CONVENCIONALES Y ADAPTABLES. 27

El problema es obtener u∗ ⊂ U ∈ Rm
1 T
2 hx, {A P + P A}xi + 12 hx, {B T P + P B}ui + hx, Qxi + hu, Rui = 0
∂ ∗ ∗
d
∂u dt V (x)|ẋ=(A−BK)x + f0 (x , u ) = 0

1 T

∂u 2 hx, {B P + P B}ui + hu, Rui = 0

∇u 21 hu, {B T P + P B}xi + hu, Rui



= 0

∇u hu, 21 {B T P + P B}x + Rui



= 0

Que cumpliremos para:


1 T
{B P + P B}x + Ru = 0
2
cuya solución es el control:
u = −R−1 BP x
Sin embargo, de la ecuación de Lyapunov
1 1
V̇ (x) = hx, P (Ax + Bu)i + hAx + Bu, P xi
2 2
con u = −R−1 BP x:
−1
V̇ (x) = 1
2 hx, P (A.R BP )xi + 12 h(A − R−1 BP )x, P xi

= 1
2 hx, {P (A − R−1 BP ) + (A − R−1 BP )T P }xi

= −hx, Qxi
La solución consiste en determinar R, Q y P . Entonces, la solución de la ecuación de Ricatti

AT P − P B T R−1 P + Q = 0

da como resultado la minimización del control

u∗ = −R−1 BP x

que define el Regulador Lineal Cuadrático(LQR).


Por lo general, Q y R son parámetros de ajuste

La matriz Q incide directamente en los estados del sistema.

La matriz R incide directamente sobre el control.

Nota 1.9 El principio de optimalidad dice que si una trayecoria es óptima en un tramo, entonces la trayectoria
es óptima.

Teorema 1.5 Sea L(x, u) un operador de Lagrange que es una función escalar respecto a las variables x y u.
Sea
∂2
L(x, u)
∂u2
contı́nua y acotada, y bajo el supuesto de que:
∂ ∗
∂u L(x, u ) = 0
∂2 ∗
∂u2 L(x, u ) > 0

entonces u∗ es un mı́nimo local.

Nota 1.10 Para el caso lineal, u∗ es un mı́nimo global, pues en este caso solo hay un punto de equilibrio.
28 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Para el caso no lineal.


ẋ = f (x) + g(x)u, x(0) = x0
donde x ∈ Rn , representa el estado del sistema, f (x), g(x) ∈ Rn×n son funciones que representan la dinámica
del sistema, u ∈ Rm representa el vector de control.
Nuevamente, la función de Lyapunov clásica es:
1
V (x) = hx, P xi ≥ 0, V (0) = 0, ssi x = 0, 0 < P = P T ∈ Rn×n
2
con lo que
1 1
.V̇ (x) = hẋ, P xi + hx, P ẋi
2 2
entonces
1
V̇ (x)|ẋ=f (x)+g(x)u = 2 hf (x) + g(x)u, P xi + 21 hx, P {f (x) + g(x)u}h

= hx, P {f (x) + g(x)u}i

= hx, P f (x) + P g(x)ui


Ahora bien, para cumplir V̇ (x) < 0 proponemos:

V̇ (x) = −hx, Qxi

Por lo que:
hx, P {f (x) + g(x)u}i = −hx, Qxi
Que se cumple para
f (x) + g(x)u = −Qx ⇒ g(x)u = −{Qx + f (x)}
para 0 < Q = QT ∈ Rn×n . Entonces:

u = {g T (x)g(x)}−1 g T (x)[Qx − f (x)]

bajo la condición que g T (x)g(x) sea no singular.


Por lo tanto, la derivada de la función de energı́a toma la siguiente forma:

V̇ (x) = hx, P Qxi = −hx, Qxi


1
= 2 hx, {P Q + QT P }xi = −hx, Qxi

= hx, {P Q + QT P + Q}xi = 0

La solución es
P Q + QT P + Q = 0
Desde el punto de vista de control, se desea minimizar el siguiente ı́ndice de desempeño:
Z∞
J(x, u) = {hx, Qxi + hu, Rui} dt
| {z }
0 f0

De la ecuación de Hamilton-Jacobi-Bellman (HJB):


d
mı́n u dt V+ f0

d
∂u dt V + f0 = 0

Si
1
V (x) = hx, P xi
2
entonces
V̇ (x) = hx, P {f (x) + g(x)u}i

= hx, P f (x)i + hx, P g(x)ui


1.2. COMPENSADORES NO CONVENCIONALES Y ADAPTABLES. 29

esto implica que


mı́n u {hx, P f (x)i + hx, P g(x)ui + hx, Qxi + hu, Rui}
Por lo que
∂ ∂ T
∂u {hx, P g(x)ui + hu, Rui} = ∂u {hg (x)P x, ui + hu, Rui}

= ∇u {hu, g T (x)P xi + hu, Rui}


Por lo que
g T (x)P x + 2Ru = 0
enonces
1
u := − R−1 g T (x)P x
2
Ahora bien, se desea que u estabilice al sistema

ẋ = f (x) + g(x)u

De la derivada de la función de energı́a:

V̇ (x) = hx, P {f (x) + g(x)u}i


1
= 2 hx, P {f (x) + g(x)u}i + 21 hf (x) + g(x)u, P xi

Aqui proponemos
u0 := {g T (x)g(x)}−1 g T (x)[Qx − f (x)]
con lo que
ẋ = f (x) + g(x){g T (x)g(x)}−1 g T (x)[Qx − f (x)]
| {z }
I, solo en robots.

Por lo que
ẋ = f (x) + Qx − f (x)
(1.19)
= Qx
Si ahora suponemos
u = u0 + u
entonces
ẋ = f (x) + g(x)u0 + g(x)u
Proponemos que
u0 := {g T (x)g(x)}−1 g T (x)[Qx − f (x)]
y
u = −R−1 g T (x)P x
Esto implica que
V̇ (x) = hx, P {f (x) + g(x)u}i|u=u0 +u

= hx, P {Qx + g(x)u}i


1
= 2 hx, {P Qx + P g(x)u}i + 12 hQx + P g(x)u, P xi
con u = −R−1 g T (x)P x. Entonces:

V̇ (x) = 1
2 hx, P Qx + P g(x){−R−1 g T (x)P x}i + 12 hQx + P g(x){−R−1 g T (x)P x}, P xi

= hx, [P {Q − g(x)R−1 g T (x)P } + {Q − g(x)R−1 g T (x)P }T P ]xi

que debemos igualar con


−hx, Qxi
30 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

Finalmente se tiene

hx, [P {Q − g(x)R−1 g T (x)P } + {Q − g(x)R−1 g T (x)P }T P + Q]xi = 0 (1.20)

Y por lo tanto la solución

P {Q − g(x)R−1 g T (x)P } + {Q − g(x)R−1 g T (x)P }T P + Q = 0 (1.21)

Pero para el caso de robots


" #
0
g(x) = ⇒ g T (x)g(x) = D2 (x) ≥ 0
D−1 (x)

Tambien
{g T (x)g(x)}−1 = D2 (x)
De esta forma " #
0
−1 T
D2 (x) 0, D−1 (x)
T
 
g(x){g (x)g(x)} g (x) =
D−1 (x)
" #
0
0, D−1 (x)
 
=
D(x)

= I
Ahora,0 < R = RT , entonces una propuesta de R serı́a R = aI, 0 < a ∈ R, R−1 = a1 I, entonces:
" #
0
g(x)R−1 g T (x) 1
0, D−1 (x)
 
= aI
D−1 (x)

1 −2
= aD (x)

De acuerdo a la primera propiedad de los sistemas mecánicos, se dice que existe α1 y α2 tal que

0 < α1 < α2 < ∞

α1 I < D(x) < α2 I

Entonces, al reducir términos en 1.21 se obtiene que


1 1
P {Q − D−2 (x)P } + {QT − aP D−2 (x)}P + Q = 0 (1.22)
2 2
y de la propiedad 1.
(
α1 = mı́n(λD(x) )
α1 I < D(x) < α2 I ,
α2 = máx(λD(x) )
entonces (
η1 = mı́n(λD−1 (x) )
−1
η1 I < D (x) < η2 I ,
η2 = máx(λD−1 (x) )
entonces
−η1 I > −D−1 (x1 ) > −η2 I
Al introducir estas cotas en 1.22
1 1
P {Q − η22 P } + {QT − η22 P }T P + Q ≤ 0n×n
a a
1.2. COMPENSADORES NO CONVENCIONALES Y ADAPTABLES. 31

Nota 1.11 Complemento de Schur. El complemento de Schur de una matriz a bloques se define como sigue.
Sean A, B, B T , C matrices con dimensiones p×p, p×q, q ×p y q ×q respectivamente, y C una matriz invertible.
Sea " #
A B
M=
BT C
tal que M ∈ R(p+q)×(p+q) . Entonces el complemento de Schur del bloque D de la matriz M es la matriz Q ∈ Rp×p
tal que
Q = A − BD−1 C
Aplicaremos el complemento de Schur en la ultima expresión. Antes, se tiene:

P −1 P {Q − a1 η22 P }P −1 + P −1 {QT − a1 η22 P }T P P −1 + P −1 QP −1 ≤ 0

QP −1 − a1 η22 I + P −1 QT − a1 η22 I + P −1 QP −1 ≤ 0

− a2 η22 I + QP −1 + P −1 QT + P −1 QP −1 ≤ 0
2 2
a η2 I − QP −1 − P −1 QT − P −1 QP −1 ≥ 0

Para asemejarlo al complemento de Schur:

A = a2 η22 I − QP −1 − P −1 QT ≥ 0

B = Q−1

C = P −1

De tal forma que queda:


2 2
− QP −1 − P −1 Q P −1
" #
a η2 I
≥0
P −1 Q−1
donde Q, Q son matrices definidas por el usuario. Si ahora se toma P −1 = B:
−1
− P −1 Q
" 2 2
a η2 I − QP
#
B
≥0
B Q−1

El problema es encontrar la matriz B = P −1 que satisface la solucion.


Nota 1.12 Numéricamente se hace un procedimiento similar a la obtención de la solución de la ecuación de
Lyapunov. Sin embargo, este procedimiento no garantiza una solución, ya que existe una familia de soluciones
”B”; esto solo para el caso que (f (x), g(x)) es fuertemente controlable. En robótica, esto define el caso de robots
completamente actuados.
Qué sucede en robots subactuados(Controlable solo en regiones)?
Existe un control u que estabiliza en las regiones donde el sistema es controlable. Para robots manipuladores
se trabaja en el análisis de energı́a, por lo que se requiere una función de energı́a para un punto especı́fico.

ε(q, q̇) = T (q, q̇) + P (q), εd (q, q̇) = cte.

La función de error se basa en la energı́a y la posición, ya que se desea controlar solo en un punto del espacio
de configuraciones admisible.
ε̃(q, q̇) = ε(q, q̇) − εd (q, q̇), q̃ = q − qd
donde qd y εd (q, q̇) son constantes.
Siguiendo el análisis previo
ẋ = f (x) + g(x)u −−−−→ ẋ = Ax + Bu
x→xop

Pero debemos cumplir con que el par (A, B) sea controlable, es decir:

∃ε, δ > 0 tal que kx0 k ≤ δ → kx(t)k ≤ ε −→ ∃ulin ∈ U


32 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

mediante el análisis de energı́a podemos decir que

si ∃ulin → ∃uno lin =?

LQR se aproxima mediente una función de HJB


 
d
mı́n V |ẋ=Ax+Bu + f0 (u∗ , x∗ )
u∈U dt

con V = hx, P xi, y bajo el ı́ndice de desempeño


Z∞
J(u∗ ) = f0 (u∗ , x∗ )dτ
0

donde
f0 = hx, Qxi + hu, Rui
En robots completamente actuados:

x ∈ R2n , A ∈ R2n×2n , Q ∈ R2n×2n , u ∈ Rn , R ∈ Rn×n

Para el caso subactuado:


u ∈ Rm , R ∈ Rm×n , con 0 < m < n ∈ N
Proponiendo
1 1 1
V (x) = Ke ε̃2 (q, q̇) + hq̃, Kp q̃i + hq̇, Kd q̇i
2 2 2
Y aplicando la minimización
 
∂ d
V |ẋ=f (x)+g(x)u + hx, Qxi + hu, Rui = 0
∂u dt

tenemos
d d
V (x) = Ke ε̃(q, q̇) ε̃(q, q̇) + hq̇, Kpq̃i + hq̇, Kd q̇i
dt dt
donde
d d
dt ε̃(q, q̇) = dt{T (q, q̇) + P (q) − εd }
d 1

= dt 2 hq̇, D(q)q̇i + P (q)

= hq̇, D(q)q̈i + hq̇, G(q)i + 21 hq̇, Ḋ(q)q̇i


Si sabemos que la dinámica de un robot es:

D(q)q̈ + C(q, q̇)q̇ + G(q) = u

entonces
d
dt ε̃(q, q̇) = hq̇, −C(q, q̇)q̇ − G(q) + u + G(q) + Ḋ(q)q̇i

= hq̇, ui
| {z }
P ropiedad de pasividad

Entonces

{Ke ε̃(q, q̇)hq, ui + hq̇, Kp q̃i + hq̇, Kd q̇i + hx, Qxi + hu, Rui{
∂u
que se reduce en


∇u {hKe ε̃(q, q̇)q̇, ui} + hq̇, Kd q̈i + hu, Rui = 0 m
Con un cambio de variable: x1 = q y x2 = q̇, tenemos

Ke ε̃(x)x2 + Kd D−1 (x1 )x2 + Ru = 0



(1.23)
1.2. COMPENSADORES NO CONVENCIONALES Y ADAPTABLES. 33

Por lo que:
u = −R−1 {Ke ε̃(x)x2 + Kd D−1 (x1 )x2 }
es el control que minimiza el ı́ndice de desempeño J(u∗ ), pero...¿quienes son Kp , Ke y Kd ? Si proponemos una
retro de estado:
u = Kx ⇒ Kx = −R−1 {Ke ε̃(x)x2 + Kd D−1 (x1 )x2 }
Asi, x → xop .
Mediante el análisis LQR tradicional se obtiene el valor de Kp y Kd , y tendremos que jugar con el valor de
Ke .
Proponiendo:
1 1 1 ˙
V (q, q̇) = ε̃2 (q, q̇) + hq̃, Kp q̃i + hq̃, ˙
Kd q̃i
2 |2 {z 2 }
     
1
q̃ q̃ T=
P 11 P12
,P , 0<P =P
2
q̃˙ q̃˙ P21 P22
Por lo que:
q̃˙
    
q̃ P11 P12
V̇ (q, q̇) = Ke ε̃(q, q̇)hq̇, ui + ,
q̃˙ P21 P22 q̃¨
Pero conocemos lo siguiente:
q̈ = D−1 (q){u − C(q, q̇)q̇ − G(q)}

q̃¨ = q̈ − q̈d

q̃˙ = q̇ − q̇d

q̃ = q − qd
Pero como se trata de un control de posición, entonces:

q̃¨ = q̈, q̃˙ = q̇

Por lo que
    
q̃ P11 P12 q̇
V̇ (q, q̇) = Ke ε̃(q, q̇)hq̇, ui + ,
q̇ P21 P22 q̈
    
q̃ P11 P12 q̇
= Ke ε̃(q, q̇)hq̇, ui + ,
q̇ P21 P22 D−1 (q){u − C(q, q̇)q̇ − G(q)}

P11 q̇ + P12 [D−1 (q){u − C(q, q̇)q̇ − G(q)}]


   

= Ke ε̃(q, q̇)hq̇, ui + ,
q̇ P12 q̇ + P22 [D−1 (q){u − C(q, q̇)q̇ − G(q)}]

= Ke ε̃(q, q̇)hq̇, ui + hq̃, P11 q̇ + P12 [D−1 (q){u − C(q, q̇)q̇ − G(q)}]i + ...

... + hq̇, P12 q̇ + P22 [D−1 (q){u − C(q, q̇)q̇ − G(q)}]i

Minimizar la ecuación de HJB.


   
d ∗ ∗ q
mı́n V (x) + f0 (u , x ) , x =
dt q̇

bajo el ı́ndice de desempeño


Z∞

J(u ) = {hx, Qxi + hu, Rui} dt
| {z }
0 f0 (x,u)

Entonces  
d
∇u V (x)|ẋ=f (x)+g(x)u + hx, Qxi + hu, Rui = 0m
dt
34 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.

queda como
∇u {Ke ε̃(q, q̇)hq̇, ui + hq̃, P11 q̇ + P12 [D−1 (q){u − C(q, q̇)q̇ − G(q)}]i

+hq̇, P12 q̇ + P22 [D−1 (q){u − C(q, q̇)q̇ − G(q)}]i}


Al efectuar el gradiente se tiene:

∇u {Ke ε̃(x)hx2 , ui + hx̃1 , P12 D−1 (x1 )ui + hx2 , P22 D−1 (x1 )ui + hu, Rui}

Al aplicar las propiedades del producto interno:

hx2 , ui = hu, x2 i

hx̃1 , P12 D−1 (x1 )ui = hu, D−1 (x1 )P12 x̃1 i

hx2 , P22 D−1 (x1 )ui = hu, D−1 (x1 )P22 x2 i

entonces:
∇u {Ke ε̃(x)hu, x2 i + hu, D−1 (x1 )P12 x̃1 i + hu, D−1 (x1 )P22 x2 i + hu, Rui}
reduciendo
∇u {hu, Ke ε̃(x)x2 + D−1 (x1 )P12 x̃1 + D−1 (x1 )P22 x2 + Rui} (1.24)
Ahora bien, como ∇u = 0 tenemos

Ke ε̃(x)x2 + D−1 (x1 )P12 x̃1 + D−1 (x1 )P22 x2 + Ru = 0

y finalmente
u = −R−1 {Ke ε̃(x)x2 + D−1 (x1 )P12 x̃1 + D−1 (x1 )P22 x2 }
ahora bien, ¿qué forma tiene la ecuación anterior cerca del equilibrio deseado (qd , 0)? Tenemos:

u = −R−1 {D−1 (x1 )P12 x̃1 + [Ke ε̃(x) + D−1 (x1 )P22 ]x2 }
 
−1 −1 −1 x̃1
= −R [D (x1 )P12 x̃1 , Ke ε̃(x) + D (x1 )P22 ]
x2

Ademas el LQR tiene una estructura de control como

ulin = −R−1 BP x

= Kx

Si el sistema trabaja en una región lineal tenemos:

ulin ' u

esto implica que


−R−1 [D−1 (x1 )P12 x̃1 , Ke ε̃(x) + D−1 (x1 )P22 ] ' K
donde
K = [Kp , Kd ]
La solución del problema recae en obtener la solución P mediante la solución de la ecuación de Ricatti

P A + AT P + P BR−1 B T P + Q = 0

Lo que define P12 y P22 .

Nota 1.13 Este controlador aventaja a los anteriores pues es un control no lineal, por lo que solo se requiere
este para efectuar un control del tipo Swing-up, y no precisa de un análisis de estabilidad para el tema del
switcheo entre dos leyes de control.
1.2. COMPENSADORES NO CONVENCIONALES Y ADAPTABLES. 35

Figura 1.6: La función signo.

1.2.6. Control robusto no lineal.


Sea ẋ = f (x) en el caso escalar, con f (x) = sign(x):

 −1 x<0
sign(x) = 1 x>0
indef inido x = 0

tal como se muastra en la figura 1.6. Entonces, si ẋ = sign(x):



−1 x < 0
ẋ =
1 x>0

tenemos:
dx
Rt Rt
ẋ = −1 ⇒ dt = −1 dx = −dt ⇒ dx = − dτ ⇒ x(t) = x0 − t
0 0
dx
Rt Rt
ẋ = 1 ⇒ dt =1 dx = dt ⇒ dx = dτ ⇒ x(t) = x0 + t
0 0

entonces 
x0 − t x < 0
x(t) =
x0 + t x > 0
lo cual tiene el comportamiento mostrado en la figura 1.7. Aquı́, cuando x = 0 es la superficie de deslizamiento.

Figura 1.7: El efecto chattering.

Por Lipschitz, y si f (x) = sign(x):

|f (x) − f (y)| ≤ L|x − y|


|sign(x) − sign(y)| ≤ L|x − y|

Este sistema en el que no se garantiza la unicidad de las soluciones se conoce como modos deslizantes.

Das könnte Ihnen auch gefallen