Robótica 1
Robótica 1
Robótica 1
Ingeniería en Mecatrónica
Asignatura: Robótica I
Profesor: Dr. Fernando Reyes Cortés
Reporte III
Propósito general
Presentar el estudio dinámico y de control de un robot manipulador de 2gdl y de las
herramientas matemáticas que permiten su modelado y análisis.
Propósitos particulares
Aplicar los conocimientos adquiridos acerca de la teoría de estabilidad de Lyapunov
Profundizar en los temas de control de posición y el moldeo de energía
Emplear las técnicas adquiridas para la resolución de problemas en el entorno de
MATLAB
INTRODUCCIÓN
En los inicios, los esfuerzos de los científicos se consagraron a la solución del problema de
controlar el movimiento y la posición de robots en ambientes estructurados, con soluciones
de control en el espacio de las articulaciones. Actualmente, los avances tanto científicos
como tecnológicos han generado que estos esquemas de control sean más eficientes y
precisos.
τ =∇ U a ( K p , ~
q )−f v ( K v , q̇ ) + g ( q )
Donde
U a ( K p ,~
q ) > 0es la ganancia potencial artificial.
n× n
Kp∈R es la ganancia proporcional, matriz diagonal definida positiva.
n×n
Kv ∈ R es la ganancia derivativa, matriz definida positiva.
τ =K p [ I −α e−α q ] ~
~ 2
q−K v atan ( q̇ ) +g ( q )
[ ] [ ]
~2
−α ~
q e−α q 1
0 atan ( q̇1 )
e = −α ~
q2
2 ; atan ( q̇ )=
0 e atan ( q̇2 )
√∫‖
20
L2 [ ~ ~ 2
q ]= q ( σ )‖ dσ
0
K p [ I −α e−α q ] ~
~ 2
( 3)
[
q̈=M ( q )−1 K p [ I −α e−α q ] ~
~
]
2
d q~
[]
dt q̇
=
[ −1
[
− q̇
M ( q ) K p [ I −α e ] q−K v atan ( q̇ ) −B q̇−C ( q , q̇ ) q̇
−α ~q ~
2
] ] ( 5)
[ K [ I −α e ] ~q−K −α ~
]
2
−1 q
ii) M ( q) p v atan ( q̇ )−B q̇−C ( q , q̇ ) q̇ =0
−1
M ( q ) >0 ⟺ M ( q ) >0
K p [ I−α e−α q ] ~
~2
q−K v atan ( q̇ )−B q̇−C ( q , q̇ ) q̇=0
V ( q̇ , ~
1 T 1 T
q )= q̇ M ( q ) q̇+ ~
[
1 −α ~q 1
q Kp I+ 2 e − 2 ~
]
2
q (6 )
2 2 ~
q ~
q
Donde
[ ]
1 −α ~q 1
2
1+ e − 2
1
0
[ ]
1 ~ 2
1 ~
q 21 ~
q1
I + 2 e−α q − 2 = ( 7)
~
q ~
q 1 −α ~q 1 2
0 1+ ~2 e − ~2 2
q2 q2
Derivamos la función candidata de Lyapunov, para esto derivamos término por término
para evitar confusiones y errores.
1 T
Para q̇ M ( q ) q̇
2
[
d 1 T
dt 2
T
] 1 T
q̇ M ( q ) q̇ = q̇ M ( q ) q̈+ q̇ Ṁ ( q ) q̇
2
( 7)
Sustituimos el valor de q̈
d 1 T
dt 2 [ T
] −1
q̇ M ( q ) q̇ = q̇ M ( q ) M ( q ) ¿
(8)
1 T
−B q̇−C ( q , q̇ ) q̇ ¿+ q̇ Ṁ ( q ) q̇
2
d 1 T
dt 2 [ T
]
q̇ M ( q ) q̇ = q̇ K p [ I −α e ] ~
−α ~
q T 2
q−q̇ K v atan ( q̇ )
(9)
T T 1 T
−q̇ B q̇− q̇ C ( q , q̇ ) q̇+ q̇ Ṁ ( q ) q̇
2
d 1 T
dt 2 [ ]
q̇ M ( q ) q̇ = q̇T K p [ I −α e−α q ] ~
~ 2
q−q̇ T K v atan ( q̇ )
( 10 )
1 T
−q̇ B q̇ + q̇ [ Ṁ ( q ) −2C ( q , q̇ ) ] q̇
T
2
[
d 1 T
dt 2
T
]
q̇ M ( q ) q̇ = q̇ K p [ I −α e ] q−q̇ T K v atan ( q̇ )−q̇ T B q̇
q ~
−α ~ 2
( 11 )
1 ~T
[
1 −α ~q 1
q Kp I+ 2 e − 2 ~
]
2
Para q
2 ~
q ~
q
d 1 ~T
dt 2 [ 1 −α ~q 1
q K p I + ~2 e − ~2 ~
q q [1 T 1 −α ~q 1
q = ~q˙ K p I + ~2 e − ~2 ~
2 q q
q
2
]] [
2
] ( 12 )
+~
1 T
q+ ~
d 1 −α ~q 1
I+ 2 e − 2 ~
[
1 T
q+ ~
1 −α ~q 1 ˙
q K p I+ 2 e − 2 ~
] [ ]
2 2
q Kp q
2 dt ~
q ~
q 2 ~
q ~
q
d 1 ~T
dt 2 [ 1 −α ~q 1
q Kp I+ 2 e − 2 ~
~
q ~q 2[
1 T 1 −α ~q 1
q = ~q˙ K p I + 2 e − 2 ~
~
q ~
q
q
2
]] [
2
] ( 13 )
+~
[
−1 −α ~q α −α ~q 1 ~˙ ~ 1 ~T 1 −α ~q 1
+ 3 q q+ q K p I + 2 e − 2 ~q˙
] [ ]
2 2 2
T
q Kp 3 e −~ e
~
q q ~
q 2 ~
q ~q
Sustituimos el valor de ~
q˙
dt 2 [
d 1 ~T 1
~q [ 1
q K p I + 2 e−α q − 2 ~
~
~
q
q=
−1 T
2
1
~
q
2~ 1
q̇ K p I+ 2 e−α q − 2 ~
~
q
q
]] [
2
] ( 14 )
−~
−1
[ α 1
q T K p 3 e−α q − ~ e−α q + 3 q̇ ~
~ ~ 1 1 1
q− ~qT K p I + 2 e−α q − 2 q̇
~
] [ ]
2 2 2
~q q ~
q 2 ~
q ~
q
[ 1 −α ~q 1
]
2
[ ] [ ]
T
1 ~T 1 1 1 1 1
q K p I + 2 e−α q − 2 q̇= K p ~
~ 2~ 2
q T I + 2 e−α q − 2 q̇
2 ~
q ~
q 2 ~
q ~
q
( 15 )
[[ ]] [ ]
T
1 1 −α ~q 1 1 T 1 −α ~q 1
¿ K p I+ 2 e − 2 ~q q̇= q̇ K p I + 2 e − 2 ~
2 2
q
2 ~
q ~
q 2 ~
q ~
q
dt 2 [
d 1 ~T 1
~q
1
~
q [
q K p I + 2 e−α q − 2 ~
~
q=
−1 T
2
1
~
q
~ 1
q̇ K p I+ 2 e−α q − 2 ~
2
~
q
q
]] [
2
] ( 16 )
−~
[
−1 −α ~q α −α ~q 1
q K p 3 e − ~ e + 3 q̇ ~
1 T 1 −α ~q 1
q− q̇ K p I + 2 e − 2 ~
] [ ]
2 2 2
T
q
~
q q ~
q 2 ~
q ~
q
d 1 ~T
dt 2 [ 1 −α ~q 1
q K p I + ~2 e − ~2 ~
q q [ T 1 −α ~q 1 ~
q =−q̇ K p I + ~2 e
q
− ~2 q
q
2
]] [
2
]
( 17 )
−~
[ −1 −α ~q α −α ~q 1 ~
]
2 2
T
q Kp e − ~ e + 3 q̇ q
~
q
3
q ~
q
[ −1 −α ~q α −α ~q 1
]
Como ~3 e − ~ e + ~3 es una matriz diagonal ∈ R 2× 2 y ~
2 2
q es un vector columna ∈ R 2
q q q
, entones
[ −1 −α ~q α −α ~q 1 ~ −1 −α ~q −α ~ 1
] [ ]
2 2 2 2
q
e − ~ e + 3 q= 2 e −α e + 2 ( 18 )
~
q
3
q ~
q ~
q ~
q
Tenemos que (18) también es una matriz diagonal. Al sustituir (18) en (17), obtenemos
[
d 1 ~T
dt 2
1
~q [ ~ 1
q K p I + 2 e−α q − 2 ~
~q
1
~
q
2 ~ 1
q =−q̇T K p I + 2 e−α q − 2 ~
~
q
q
]] [
2
] ( 19 )
−~
−1 ~ ~ 1
[ ]
2 2
q T K p 2 e−α q −α e−α q + 2 q̇
~q ~
q
[ ] [[ ]]
T
~ −1 1 −1 −α ~q 1
e −α e−α q + 2 ~
~ ~2 2 ~ 2 2
[
d 1 ~T
dt 2 ~q [
1 −α ~q 1
q Kp I+ 2 e − 2 ~
~
q
T 1 −α ~q 1 ~
q =−q̇ K p I + 2 e
~
q
2
− 2 q
~
q ]] [
2
] ( 21 )
−1 −α ~q
−q̇ K p 2 e −α e + 2 ~
−α ~ 1
[ ]
2 2
T q
q
~
q ~
q
d 1 ~T
dt 2 [
1
q K p I + 2 e−α q − 2 ~
~
q
~ 1
~
q
q
[
2
]] ( 22 )
1
[ ~ 1 1 ~ ~ 1
¿−q̇T K p I + ~2 e−α q − ~2 − ~2 e−α q −α e−α q + ~2 ~
]
2 2 2
q
q q q q
d 1 ~T
dt 2 [ 1
~
q [
1
~
q
q =−q̇T K p [ I −α e−α q ] ~
q K p I + 2 e−α q − 2 ~
~ ~ 2
q
]]
2
( 23 )
( 24 )
−q̇ K [ I −α e ] ~
−α ~
2
T q
p q
V̇ ( q̇ , ~
T T
q )=−q̇ K v atan ( q̇ )−q̇ B q̇ ≤ 0 ( 25 )
Tenemos que los límites físicos de los servomotores del robot de 2gdl son τ ma x =150 Nm y 1
150 15
K p 1 ≤0.8 ⟹ K p 1 ≤ 2.666 K p 2 ≤0.8 ⟹ K p 2 ≤0.133
45 90
K p= [ 1.30 0
0.09 ] [
K v=
0.5 K p 1
0
0
0.5 K p2
=
0.65
0
0
0.045][ ]
Simulando estos tres programas, obtenemos las siguientes respuestas
Figura 1. Respuesta del robot de 2gdl con el algoritmo de control PD.
Para obtener las gráficas de los pares aplicados, empleamos el código adjunto en el anexo 4
en conjunto con el del anexo 2 y 3. Así
Figura 2. Pares aplicados con el esquema de control PD.
Ahora, empleamos el código del anexo 5 en conjunto con el del anexo 3 y el código del
algoritmo de control propuesto para obtener la gráfica de los pares aplicados.
Figura 4. Pares aplicados con el esquema de control propuesto.
CONCLUSIONES
BIBLIOGRAFÍA
Anexo 1