Está en la página 1de 41

ROBOTICA

CONTROL EN EL
ESPACIO DE
TRABAJO
Ing. Iván A. Calle Flores

1
Contenido

1. Control cinemático
2. Regulación usando el control PD
3. Seguimiento usando el método de dinámica inversa

Msc. Iván A. Calle Flores


1. CONTROL CINEMATICO
• El control de robots
manipuladores se logra de
maneja natural en el espacio
de juntas.
• Sin embargo el usuario
especifica el movimiento
en el espacio de tareas.
a. Inversión cinemática diferencial
• La matriz Jacobiana establece la relación entre las velocidades de las
juntas y las velocidades en el espacio de tarea.

v = J(q)q
• Asumiendo que el usuario establece las posiciones y velocidades deseadas
(x(t), v(t)), el objetivo es hallar las variables de las juntas “q, dq” que
reproducen la trayectoria deseada.
• Las velocidades “dq” pueden obtenerse resolviendo la ecuación del
Jacobiano. La solución “q” pueden hallarse integrando esta velocidad.
b. Algoritmos de inversión cinemática
• El método descrito anteriormente lleva a una desviación “drift” de la
solución, lo que después genera errores en el espacio de tareas.

• Esto puede superarse usando un algoritmo de cinemática inversa de


lazo cerrado basado en el espacio de tareas. Para esto definimos

e=xd - x
• De donde tenemos la ecuación en función del Jacobiano analítico ya
que estamos en función de las variables de tarea.

e=xd - Ja(q)q
e = xd - x
e = xd - x
• Asumiendo que la matriz Ja es cuadrada y no singular la siguiente
elección nos lleva a un sistema lineal

q= J†a (q)(x d +Ke) e+Ke = 0


• Si la matriz K es positiva definida, el sistema es asintóticamente estable.
• Un algoritmo computacionalmente mas simple se puede hallar usando
transpuesta del Jacobiano.
1 T
q= J (q)Ke
T
V(e)= e Ke
a
2
K = diag([100,200,0]);
Ejemplo. Halle la cinemática inversa
usando métodos numéricos para el
caso de referencias constantes.

a1 =1.0, a2 =0.6
m1 =1.0, m2 =0.5
K = diag([100, 100, 100]);
Ejemplo. Halle la cinemática inversa
usando métodos numéricos para el
caso de referencias constantes.

d1 =1.0, a2 =0.8, a3 =0.6


2. REGULACION USANDO EL
CONTROLADOR PD
• Es equivalente a la técnica
PD usando en el espacio de
juntas.
• Esta técnica es aplicada
directamente al espacio de
tareas.
https://www.kickstarter.com/projects/mirobot/m
irobot-6-axis-mini-industrial-robot-arm
• Este controlador tiene la forma:

u= J (q)K (x - x)- J (q)KDJa(q)q+g(q)


a
T
P d
T
a

• Las ganancias son matrices constantes definidas positivas las cuales deben
ser ajustadas por el usuario.
u= J (q)KP (xd - x)- J (q)KDJa(q)q+g(q)
T
a
T
a
u= JaT (q)KP (xd - x)- JaT (q)KDJa(q)q+g(q)

x = xd - x
• Si definimos las siguientes vectores de error tenemos
que la dinámica del sistema controlado tiene la forma: x =-x

H(q)q+C(q,q)q+JaT (q)KDJa (q)q- JaT (q)KP x =0

• De donde la ecuación en espacio estado tiene la forma x1 =x, x2 =q

x1 =-x =-Ja (q)x2


x2 =H (q) -C(q, x2 )x2 - Ja (q)KD Ja (q)x 2 +Ja (q)KPx1 
 -1 T T
Los puntos de equilibrio están definidos por el siguiente conjunto
x1 =-x =-Ja (q)x2
x2 =H-1 (q) -C(q, x2 )x2 - JaT (q)KD Ja (q)x 2 +JaT (q)KPx1 

S = ( x1 , x 2 ) : x1 = 0, x 2 = 0
H(q)q+C(q,q)q+JaT (q)KDJa (q)q- JaT (q)KP x =0

• Para analizar la estabilidad del sistema controlado usamos la siguiente


función de Lyapunov.
1 T 1 T x = xd - x
V(x,q)= q H(q)q+ x KP x x =-x
2 2
1 T
V = q H(q)q+qTH(q)q+x TKP x
2
1
V = qTH(q)q- qT C(q,q)q+JaT (q)KD Ja (q)q- JaT (q)KP x  + x TKP x
2

V =-qT JaT (q)K D Ja (q)q + qT JaT (q)K P x+x TK Px

V(x,q) =-qT JaT (q)K D Ja (q)q≤ 0


Kp = diag([100, 80]);
Ejemplo. Realice la regulación PD en el Kd = diag([20, 10]);
espacio X del robot de 2GDL mostrado
en la figura usando el modelo en base
a torques
a1 =1.0, a2 =0.6
m1 =1.0, m2 =0.5
Los motores a usar son:
- Pittman GM9634S003
- Pittman GM9236S025

Los drivers tienen de los motores


1 y 2 tienen ganancias de 24/5 y
12/5 respectivamente.
3. SEGUIMIENTO USANDO EL
METODO DE LA DINAMICA
INVERSA
• La idea al método de dinámica
inversa “torque computado” en
el espacio de juntas
• La desventaja es que requiere
un conocimiento exacto del
vector de gravedad
https://www.mecademic.com/products/Meca500
-small-robot-arm
• La matriz Jacobiana establece la relación entre las velocidades de las
juntas y las velocidades en el espacio de tarea.

x=Ja(q)q
• Para las tareas de seguimiento también se requieren las aceleraciones

x = Ja (q)q+Ja (q)q
• Si se hace el control inverso la formula a usar seria

q= J (q)  x - Ja (q)q

a
• La ley de control es u=H(q)u0 +C(q,q)q+g(q)

• El cual resulta en un sistema q=u0


• La señal de control auxiliar se define como:

u0 = J (q)  xd +KD x+KP x - Ja (q,q)q


-1
a

• Donde las matrices de ganancias son positivas definidas. Y además


nótese que se hace uso de la derivada de la matriz Jacobiana.
u0 = J (q)  xd +KD x+KP x - Ja (q,q)q
-1
a

u=H(q)u0 +C(q,q)q+g(q)
q=u0

u0 = J-1 (q)  x +K x+K x - J (q,q)q


a  d D P a 
• Reemplazando las ecuaciones tenemos:

Ja (q)q= x d +K D x+K P x - Ja (q,q)q

x = Ja (q)q+Ja (q)q
x = xd - x
• De donde la dinámica del sistema controlado tiene la forma
x = xd - x
x+KD x+K P x = 0
x = xd - x
• El sistema controlado es exponencialmente estable. Para cualquier
configuración inicial el error en el seguimiento convergerá asintóticamente
hacia cero.

• Este controlador necesita un conocimiento exacto de los parámetros del


modelo dinámico y un numero de cálculos adicionales. Además se requiere
el Jacobiano y que este tenga inversa.

• Se requieren procesadores de alto desempeño capaces de realizar


operaciones en punto flotante.
Kp = diag([100, 80]);
Ejemplo. Implemente el seguimiento Kd = diag([20, 10]);
usando el control por dinámica
inversa en el espacio X del robot de
2GDL mostrado en la figura
a1 =1.0, a2 =0.6
m1 =1.0, m2 =0.5
Los motores a usar son:
- Pittman GM9634S003
- Pittman GM9236S025

Los drivers tienen de los motores


1 y 2 tienen ganancias de 24/5 y
12/5 respectivamente.
 pi 
x d = Acos  t 
2 
 pi 
y d = Asin  t 
2 

También podría gustarte