Beruflich Dokumente
Kultur Dokumente
Posgrado en Mecatrónica.
Universidad Politécnica de Pachuca.
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
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
ẋ = f (x, u)
y = h(x, u)
1
2 CAPÍTULO 1. CONTROL AVANZADO DE ROBOTS.
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
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)
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
(AB)T = B T AT ∈ Rm×m
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
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.
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
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.
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
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
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= ϕ
θ
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π)
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.
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 |
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
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
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̈
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:
donde kAk es la norma espectral de A, es decir, se define por los valores propios.
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.
ẋ = 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 α.
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.
Compensador PID.
Compensador PD+.
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
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
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
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.
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
La cual se desea estabilizar mediante un controlador del tipo par calculado, definido por:
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
se tiene:
D(q)q̈ = D(q)q̈d − C(q, q̇)q̇ + C(q, q̇)q̇d − Kp q − Kd q̇
Por lo tanto:
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
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
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}
∂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)
∂
b12 = ∂q1 d12
∂
b21 = ∂q1 d21
∂
b22 = ∂q1 d22
b011 = ∂
∂q2 d11
b012 = ∂
∂q2 d12
b021 = ∂
∂q2 d21
b022 = ∂
∂q2 d22
entonces
b11 + b011 b12 + b012
" #" #
q̇1 q̇2
∆(q, q̇) =
q̇1 q̇2 b21 + b021 b22 + b022
Podemos entonces decir que
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)
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:
Por lo tanto:
V̇ (x) = hx2 , D(x1 )ẋ2 + 21 Ḋ(x1 )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
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 τ
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
q̇ = 0
1 →− ∗ →
−
= 2 h 0 , D(q ) 0 i + P (q ∗ )
= P (q ∗ ) ∈ R
Por lo que el error de energı́a es:
= 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 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
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.
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.
con
χts− = θ(t − t0 ) − θ(t − ts)
(1.16)
χts+ = θ(t − ts) − θ(t)
tomando
1 si t ≥ 0
(
θ=
0 si t < 0
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
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→∞
∗
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:
además que
V (x0 ) → G(x0 )
y la desigualdad 1.2.2 tiene la siguiente solución:
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.
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.
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
Por lo que
hx, {(A − BK)T P + P (A − BK)}xi = −hx, Qxi
Por lo que debe cumplirse
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
= 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
u∗ = −R−1 BP x
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
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.
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:
= 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
Si
1
V (x) = hx, P xi
2
entonces
V̇ (x) = hx, P {f (x) + g(x)u}i
ẋ = f (x) + g(x)u
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
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
Finalmente se tiene
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
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:
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
A = a2 η22 I − QP −1 − P −1 QT ≥ 0
B = Q−1
C = P −1
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:
donde
f0 = hx, Qxi + hu, Rui
En robots completamente actuados:
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)
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
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:
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)}
= Ke ε̃(q, q̇)hq̇, ui + hq̃, P11 q̇ + P12 [D−1 (q){u − C(q, q̇)q̇ − G(q)}]i + ...
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
∇u {Ke ε̃(x)hx2 , ui + hx̃1 , P12 D−1 (x1 )ui + hx2 , P22 D−1 (x1 )ui + hu, Rui}
hx2 , ui = hu, x2 i
hx̃1 , P12 D−1 (x1 )ui = hu, D−1 (x1 )P12 x̃1 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
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
ulin = −R−1 BP x
= Kx
ulin ' u
P A + AT P + P BR−1 B T P + Q = 0
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
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.
Este sistema en el que no se garantiza la unicidad de las soluciones se conoce como modos deslizantes.