0% encontró este documento útil (0 votos)
24 vistas18 páginas

CRM Tarea12 BrandonToxquiGomez

El documento presenta un esquema de control para el movimiento punto a punto de un robot manipulador utilizando la técnica de 'moldeo de energía'. Se desarrolla una función candidata de Lyapunov para garantizar la estabilidad asintótica del sistema y se propone un controlador basado en esta metodología. Finalmente, se demuestra la existencia y unicidad del punto de equilibrio y se implementa el control en Matlab.

Cargado por

Brandon Toxqui
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas18 páginas

CRM Tarea12 BrandonToxquiGomez

El documento presenta un esquema de control para el movimiento punto a punto de un robot manipulador utilizando la técnica de 'moldeo de energía'. Se desarrolla una función candidata de Lyapunov para garantizar la estabilidad asintótica del sistema y se propone un controlador basado en esta metodología. Finalmente, se demuestra la existencia y unicidad del punto de equilibrio y se implementa el control en Matlab.

Cargado por

Brandon Toxqui
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Benemérita Universidad Autonóma de Puebla

Maestría en Ciencias de la Electrónica Opción en Automatización

Tarea 12 “Control punto a punto”

Alumno: Brandon Toxqui Gómez

Profesor:
Dr. Fernando Reyes Cortés

27 de abril de 2021
Índice
1. Resumen 2

2. Introducción 3

3. Objetivos 5
3.1. General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Particulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4. Planteamiento del problema 5

5. Solución del problema 7


5.1. Función candidata de Lyapunov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2. Esquema de control propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.3. Ecuación en lazo cerrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.4. Existencia y unicidad del punto de equilibrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.5. Demostración de estabilidad asintótica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.6. Implementación en Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6. Conclusiones 15

7. Anexos 16
7.1. Anexo1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1.1. Modelo dinámico del robot de 2gdl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1.2. Función con el controlador propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1.3. Programa Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1
1. Resumen

En el siguiente trabajo se presenta una introducción sobre una técnica amplia-


mente usada en el desarrollo de esquemas de control conocida como “moldeo de
energía”. Posteriormente se presenta la función candidata de Lyapunov que contiene
a la función de energía potencial la cual es definida positiva. Posterior a esto se
obtiene el gradiente de la función de energia potencial artificial para clonar su es-
tructura matemática en nuestro esquema control. Tanto para la parte proporcional
como para la parte derivativa. Finalmente se demuestra la estabilidad asintótica del
punto de equilibrio mediante el teorema de invariansa de LaSalle.

2
2. Introducción

Una de las aplicaciones más populares de control de posición es el denominado


control punto a punto, el cual consiste en mover el extremo final del robot en cada
una de las posiciones deseadas qdi , i = 1, 2, ..., m. La curva de seguimiento puede
estar parametrizada vía ecuaciones o a través del registro de puntos que le indiquen
la forma de movimiento. Por ejemplo, la figura 1 muestra el trazo de figuras con 4
y 8 pétalos realizadas por un robot planar de 2gdl usando el algoritmo de control
tangente hiperbólica [Reyes, 2021].
Para que un regulador diseñado por medio de moldeo de energía pueda ser empleado
en aplicaciones de control punto a punto, es necesario que dicho regulador genere
un atractor con caracteristicas de estabilidad asintótica global y además tenga alto
desempeño.

Figura 1: Aplicación de control punto a punto

La estabilidad asintótica global garantiza inmunidad frente a condiciones inicia-


les.

3
En términos prácticos, la anterior ventaja se puede interpretar que una vez que
el robot se encuentra posicionado en el punto deseado q di , el siguiente periodo de
muestreo se moverá al punto q d(i+1) , por lo que q di hace el papel de la condición
inicial, esto se hará así sucesivamente durante el seguimiento de una referencia
variante en el tiempo q d (t).

Reguladores con alto desempeño y que generen un punto de equilibrio único


con estabilidad asintótica global resultan una opción adecuada para emular el
problema de control de seguimiento, ya que los controladores de trayectoria
retroalimentan la dinámica no lineal del robot y su estructura matemática es
compleja [Reyes, 2021].

4
3. Objetivos

3.1. General

Diseñar un esquema de control para realizar la aplicación de control punto a punto


de la figura 1.

3.2. Particulares

1. Hallar la ecuación en lazo cerrado.

2. Demostrar la existencia y unicidad del punto de equilibrio.

3. Demostrar la estabilidad asintótica del punto de quilibrio teniendo en cuenta la


ecuacion en lazo cerrado de un robot manipulador planar de 2gdl y el esquema
de control propuesto.

4. Planteamiento del problema

En 1981 Takegaki y Arimoto propusieron una técnica para el diseño de contro-


ladores de robots manipuladores conocida como “moldeo de energía” mas inyección
de amortiguamiento:

τ = ∇Ua (Kp , q̃) − fv (Kv , q̇) + g(q) (1)

En términos generales esta metodología consiste en diseñar el algoritmo de control


de tal forma que la parte proporcional del mismo contenga el gradiente de una
funcion de energía potencial artificial. Esta energía potencial Ua (Kp , q̃) forma parte

5
de una propuesta de funcion de energía de Lyapunov:

1
V (q̃, q̇) = q̇ T M (q)q̇ + Ua (Kp , q̃) (2)
2

Ahora bien, de la propuesta de función de Lyapunov sabemos que el término que


corresponde a la energía cinética del manipulador es definido positivo 21 q̇ T M (q)q̇ >
0, entonces la regla de diseño, consiste en hallar una función de energia potencial
artificial tal que la función candidata de Lyapunov sea definida positiva V (q̃, q̇) > 0,
si esto se cumple se garantiza que su derivada temporal sera semi-definida negativa
V̇ (q̃, q̇) ≤ 0, luego por el principio de invariansa de LaSalle podemos demostrar la
estabilidad asintótica del punto de equilibrio:

1
V (q̃, q̇) = q̇ T M (q)q̇ + Ua (Kp , q̃) > 0 ⇒ V̇ (q̃, q̇) < 0 (3)
2

Una vez realizado esto, el controlador adquiere la siguiente estructura:

τ = ∇Ua (Kp , q̃) − fv (Kv , q̇) + g(q) (4)

6
5. Solución del problema

5.1. Función candidata de Lyapunov

Entendiendo la metodología de moldeo de energía lo que se hizo fue ir porponiendo


diferentes funciones para representar la energía potencial artificial tal que la función
candidata de Lyapunov sea definida positiva, finalmente se opto por proponer la
siguiente función candidata de Lyapunov:

1 q T q
V (q̃, q̇) = q̇ T M (q)q̇ + tanh(q̃)senh(q̃) Kp tanh(q̃)senh(q̃) (5)
2

como sabemos ya se comento, el término que representa a al energía cinética del


manipulador es definido postivo, por lo que solo queda mostrar que la función de
energía que se propone es definida positiva, para ello sabemos que :

tanh(q̃) = 0 ⇔ q̃ = 0

tanh(q̃)senh(q̃) > 0 debido a que ambas funciones son impares, por lo que el
producto de ambas me da una función par, o su gráfica se encuentra en el primer
y segundo cuadrante.
q
El término tanh(q̃)senh(q̃) > 0, definido positivo.

Sin embargo, con el proposito de visualizar que en efecto la función potencial artifical
que se propone es definida positiva, se gráfico esta en matlab, resultando en la figura
2:
Como se puede apreciar es una función definida positiva, por lo que la función

7
Figura 2: Gráfica de
p
tanh(q̃)senh(q̃)

candidata de Lyapunov que se propone tiene una estructura adecuada, es decir:

1 T q T q
V (q̃, q̇) = q̇ M (q)q̇ + tanh(q̃)senh(q̃) Kp tanh(q̃)senh(q̃) > 0 (6)
2
Una vez realizado esto, procedemos ha hallar la derivada temporal de la función
candidata de Lyapunov con la finalidad de obtener el gradiente de la función de
energía potencial que se propuso:
"  #T
1 1 senh(q̃) p
V̇ (q̃, q̇) = q̇ M (q)q̈ + q̇ T Ṁ (q)q̇ + p
T
(−q̇) + tanh(q̃)cosh(q̃)(−q̇) Kp tanh(q̃)senh(q̃) (7)
2 tanh(q̃)senh(q̃) cosh(q̃)2

simplificando:
 T
1 senh(q̃)
V̇ (q̃, q̇) = q̇ M (q)q̈ + q̇ T Ṁ (q)q̇ − 
T
+ tanh(q̃)cosh(q̃) Kp q̇ (8)
2 cosh(q̃)2

8
T
tanh(q̃)(1 + cosh(q̃)2 ) 

1
V̇ (q̃, q̇) = q̇ T M (q)q̈ + q̇ T Ṁ (q)q̇ −  Kp q̇ (9)
2 cosh(q̃)
2
)
En esta ultima expresión, de momento lo que nos interesa es el termino Kp tanh(q̃)(1+cosh(q̃)
cosh(q̃)

que sera el término que usaremos para proponer nuestro esquema de control y que
representa al gradiente de la función de energía potencial artificial que se propuso.

5.2. Esquema de control propuesto

Hecho el análisis anterior, se propone el siguiente esquema de control:

tanh(q̃)(1 + cosh(q̃)2 ) tanh(q̇)(1 + cosh(q̇)2 )


τ = Kp − Kv + g(q) (10)
cosh(q̃) cosh(q̇)

5.3. Ecuación en lazo cerrado

La ecuación en lazo cerrado del esquema de control propuesto con el modelo


dinámico de un manipulador de n grados de libertad es:
   
d q̃   −q̇
 = (11)

2 2)
h i
dt q̇ M (q)−1
Kp tanh(q̃)(1+cosh(q̃) )
− Kv tanh( q̇)(1+cosh( q̇)
− C(q, q̇)q̇ − B q̇
cosh(q̃) cosh(q̇)

5.4. Existencia y unicidad del punto de equilibrio

Se tiene que:
−q̇ = −I q̇ ⇒ −I q̇ = 0 ⇔ q̇ = 0
Para el otro término tenemos que:
" #
−1 tanh(q̃)(1 + cosh(q̃)2 ) tanh(q̇)(1 + cosh(q̇)2 )
M (q) Kp − Kv − C(q, q̇)q̇ − B q̇ = 0 (12)
cosh(q̃) cosh(q̇)

Para lo cual sabemos que:

9
M (q)−1 > 0 por lo que no puede ser 0.

Por otra parte sabemos que la matriz de Coriolis evaluada q̇ = 0 se vuelve una
matriz de ceros ∈ Rn×n .

B q̇ = 0 ⇔ q̇ = 0 ya que B > 0.
2
)
Lo terminos Kp tanh(q̃)(1+cosh(q̃)
cosh(q̃) y Kv tanh(q̇)(1+cosh(
cosh(q̇)
q̇))
se hacen cero, si y solo si
q̃ = 0 y q̇ = 0 ya que Kp > 0 y Kv > 0.

Con los argumentos anteriores queda demostrada la existencia y unicidad del punto
de equilibrio.

5.5. Demostración de estabilidad asintótica

Retomando la derivada de la función candidata de Lyapunov propuesta:


T
tanh(q̃)(1 + cosh(q̃)2 ) 

T 1 T
V̇ (q̃, q̇) = q̇ M (q)q̈ + q̇ Ṁ (q)q̇ −  Kp q̇ (13)
2 cosh(q̃)
Sustituyendo la aceleración:
tanh(q̃)(1 + cosh(q̃)) tanh(q̇)(1 + cosh(q̇))
V̇ (q̃, q̇) = q̇ T Kp − q̇ T Kv − q̇ T C(q, q̇)q̇ − q̇ T B q̇
cosh(q̃) cosh(q̇)
" #T (14)
1 tanh(q̃)(1 + cosh(q̃))
+ q̇ T Ṁ (q)q̇ − Kp q̇
2 cosh(q̃)

A continuación simplificamos teniendo en cuenta que:


 T
tanh(q̃)(1 + cosh(q̃))  tanh(q̃)(1 + cosh(q̃)) 
q̇ T Kp − Kp q̇ = 0
cosh(q̃) cosh(q̃)

luego por la propiedad de antisimetría: −q̇ T C(q, q̇)q̇ + 21 q̇ T Ṁ (q)q̇ = 0, entonces

10
la expresión se reduce a:

tanh(q̇)(1 + cosh(q̇))
V̇ (q̃, q̇) = −q̇ T Kv − q̇ T B q̇ (15)
cosh(q̇)

Para esta última expresión tenemos que:

El término q̇ T B q̇ > 0 ⇒ −q̇ T B q̇ < 0.

El término q̇ T Kv tanh(q̇)(1+cosh(
cosh(q̇)
q̇))
> 0 puesto que Kv > 0 y además el cociente
tanh(q̇)(1+cosh(q̇))
cosh(q̇) es una función impar que tiene la estructura del controlador.
Como estamos multiplicando por q̇ T a la izquierda, este término se vuelve una
función par y estrictamente definida positiva, ahora puesto que tiene multi-
plicando un signo menos, este termino se vuelve definido negativo, es decir:
−q̇ T Kv tanh(q̇)(1+cosh(
cosh(q̇)
q̇))
< 0. A continuación se muestra la grafica que representa
la estructura del controlador y que se clona para la inyección de amortiguamien-
to:

tanh(q̇)(1+cosh(q̇))
Figura 3: Gráfica de cosh(q̇)

11
Luego, se muestra la gráfica, una vez que se multiplica por q̇ T :

Figura 4: Grafica de q̇ T tanh(q̇)(1+cosh(


cosh(q̇)
q̇))

Como se observa la función es definida positiva, de tal forma que si multiplicamos


por un signo menos, sera definida negativa:

Figura 5: Grafica de −q̇ T tanh(q̇)(1+cosh(


cosh(q̇)
q̇))

12
Con los argumentos anteriores y las imágenes presentadas podemos concluir que:

tanh(q̇)(1 + cosh(q̇))
V̇ (q̃, q̇) = −q̇ T Kv − q̇ T B q̇ ≤ 0 (16)
cosh(q̇)

Por lo que estariamos hablando de que el punto de equilibrio es estable. Sin embargo
podemos explotar la naturaleza autonóma de la ecuación en lazo cerrado aplicando
el principio de invariansa de LaSalle [Reyes, 2021]. Para esto sabemos que la función
candidata de Lyapunov es definida positiva en forma global, radialmente no acotada
y continuamente diferenciable. Ahora considere una región Ω tal que:
  
 
q̃ 

 

∈ R2n |V̇ (q̃, q̇) = 0

Ω= 
 
 
 q̇
  
 

= {q̃ ∈ Rn , q̇ = 0 ∈ Rn |V̇ (q̃, q̇) = 0}

ya que V̇ (q̃, q̇) ≤ 0 ∈ Ω, entonces V̇ (q̃(t), q̇(t)) es una función decreciente de t.


V̇ (q̃, q̇) es continua dentro del conjunto compacto Ω y es acotada inferiormente en
Ω. Ya que Ω es un conjunto invariante, y el único conjunto invariante es q̃ = 0 y
q̇ = 0 y ya que la solución trivial(unicidad y existencia del punto de equilibrio) es
la única solución del sistema en lazo cerrado, y esta se encuentra restringida a Ω,
entonces se concluye que el punto de equilibrio de la ecuación en lazo cerrado que
se presento es asintóticamente estable.

5.6. Implementación en Matlab

Una vez comprobada la estabilidad asintótica del punto de equilibrio se implemen-


to en MATLAB un programa con el proposito de realizar la trayectoria propuesta

13
Figura 6: Trayectoria generada con el controlador propuesto

en la figura 1. El resultado se muestra en la figura 6, como se puede observar el


controlador propuesto no genera la trayectoria adecuadamente. Esto se debe a que
no tiene un indice de desempeño alto y por lo tanto se debe mejorar su estructura.
Los detalles de los programas se dan en el anexo.

14
6. Conclusiones

La técnica de moldeo de energía nos permite diseñar una infinidad de esquemas


de control. Para ello se debe tener un buen conocimiento de las funciones definidas
positivas ya que son estas las que nos ayudaran a proponer la función de energía
potencial artifical y despues obtendremos su gradiente cuya estrucura matemática
sera la base para nuestro esquema de control. Entendiendo esto podemos garanti-
zar que si nuestra función candidata de Lyapunov es definida positiva entonces su
derivada sera semidefinida negativa, luego por el principio de invariansa de LaSalle
podemos demostrar estabilidad asintótica.

Referencias

[1] Reyes Cortés Fernando, Control de Robots Manipuladores (Control de posición).


Puebla, BUAP, FCE (Diapositivas), 2021.

[2] Reyes Cortés Fernando, MATLAB Aplicado a Robótica y Mecatrónica. Alfaome-


ga, México, 2012.

15
7. Anexos

7.1. Anexo1
7.1.1. Modelo dinámico del robot de 2gdl

f u n c t i o n xp=r o b o t 2 g d l ( t , x )
q1=x ( 1 ) ;
q2=x ( 2 ) ;
q=[ q1 ; %v e c t o r de p o s i c i ón a r t i c u l a r
q2 ] ;

qp1=x ( 3 ) ;
qp2=x ( 4 ) ;
qp=[ qp1 ; %v e c t o r de v e l o c i d a d a r t i c u l a r
qp2 ] ;
M= [ 2 . 3 5 1 + 0 . 1 6 7 6 ∗ c o s ( q2 ) , 0 . 1 0 2 + 0 . 0 8 3 8 ∗ c o s ( q2 ) ; %Matriz i n e r c i a s
0 . 1 0 2 + 0 . 0 8 3 8 ∗ c o s ( q2 ) , 0 . 1 0 2 ] ;
C=[ −0.1676∗ s i n ( q2 ) ∗ qp2 , −0.0838∗ s i n ( q2 ) ∗ qp2 ; %Matriz C o r i o l i s
0 . 0 8 4 ∗ s i n ( q2 ) ∗ qp1 , 0 . 0 ] ;
gq = 9 . 8 1 ∗ [ 3 . 9 2 1 1 ∗ s i n ( q1 )+0.1862∗ s i n ( q1+q2 ) ; %Par grav
0 . 1 8 6 2 ∗ s i n ( q1+q2 ) ] ;
f r = [ 2 . 2 8 8 ∗ qp1 ; %F r i c c i o n
0 . 1 7 5 ∗ qp2 ] ;
[ ~ , tau ]= c o n t r o l a d o r ( t , q , qp ) ; %C o n t r o l a d o r
qpp=M^( −1)∗( tau−C∗qp−gq−f r ) ;
xp=[qp ( 1 ) ; qp ( 2 ) ; qpp ( 1 ) ; qpp ( 2 ) ] ;
end
7.1.2. Función con el controlador propuesto

f u n c t i o n [ q t i l d e , tau ]= c o n t r o l a d o r ( t , x , xp )
%v a r i a b l e s de e s t a d o
q=[x ( 1 ) ; %v e c t o r de p o s i c i ón a r t i c u l a r
x(2)];

qp=[xp ( 1 ) ; %v e c t o r de v e l o c i d a d a r t i c u l a r
xp ( 2 ) ] ;
kp1 =100; kp2 =15; kv1 =0.5∗ kp1 ; kv2 =0.5∗ kp2 ;
Kp=[kp1 , 0 ; 0 , kp2 ] ; %Ganancia p r o p o r c i o n a l
Kv=[kv1 , 0 ; 0 , kv2 ] ;

lambda1=180/ p i ; lambda2=180/ p i ; Lambda=[ lambda1 0 ; 0 lambda2 ] ;


gamma1=1;gamma2=1;Gamma=[gamma1 0 ; 0 gamma2 ] ;

%Par g r a v i t a c i o n a l
gq = 9 . 8 1 ∗ [ 3 . 9 2 1 1 ∗ s i n ( q ( 1 ) ) + 0 . 1 8 6 2 ∗ s i n ( q (1)+ q ( 2 ) ) ;
0 . 1 8 6 2 ∗ s i n ( q (1)+ q ( 2 ) ) ] ;
xc = 0 . 3 ; yc = 0 . 3 ; r = 0 . 2 ; l 1 = 0 . 4 5 ; l 2 = 0 . 4 5 ; a l f a = 0 . 0 7 ; b e t a =4;
x=xc+a l f a+r ∗ ( c o s ( t ) ) ∗ ( s i n ( b e t a ∗ t ) ) ;

16
y=−yc+a l f a+r ∗ ( s i n ( t ) ) ∗ ( s i n ( b e t a ∗ t ) ) ;
[ qd1 , qd2 ]= c i n v _ r 2 g d l ( l 1 , l 2 , x , y ) ;
qd=[ qd1 ; qd2 ] ;
q t i l d e =[qd(1) −q ( 1 ) ; qd(2) −q ( 2 ) ] ; %e r r o r de p o s i c i ón
%Retornamos e l c o n t r o l a d o r
tau=Kp . ∗ ( ( tanh ( Lambda∗ q t i l d e ) ) . ∗ ( 1 + c o s h ( Lambda∗ q t i l d e ) . ^ 2 ) ) . / c o s h ( Lambda∗ q t i l d e ) − . . .
Kv . ∗ ( ( tanh (Gamma∗qp ) ) . ∗ ( 1 + c o s h (Gamma∗qp ) . ^ 2 ) ) . / c o s h (Gamma∗qp ) + gq ;
end
7.1.3. Programa Principal

c l c ; c l e a r a l l ; c l o s e a l l ; format s h o r t g
t i =0;h = 0 . 0 0 2 5 ; t f =10;
t=t i : h : t f ;
ci =[0;0;0;0];
o p c i o n e s=o d e s e t ( ’ RelTol ’ , 1 e −06 , ’ AbsTol ’ , 1 e −06 , ’ I n i t i a l S t e p ’ , h , ’ MaxStep ’ , h ) ; %a j u s t a r p a r a m e t r o
[ t , x]= ode45 ( ’ r o b o t 2 g d l ’ , t , c i , o p c i o n e s ) ;
q1=x ( : , 1 ) ; q2=x ( : , 2 ) ; %Obtenemos p o s i c i o n e s
[ n ,m]= s i z e ( t ) ;
x e f=z e r o s ( n , 1 ) ;
y e f=z e r o s ( n , 1 ) ;
%cinem á t i c a a s o c i a d a a l c u a r t o c u a d r a n t e
l 1 = 0 . 4 5 ; l 2 = 0 . 4 5 ; x=l 1 ∗ s i n ( q1)+ l 2 ∗ s i n ( q1+q2 ) ;
y=−l 1 ∗ c o s ( q1)− l 2 ∗ c o s ( q1+q2 ) ;
p l o t ( x , y) %Graficamos

17

También podría gustarte