Documente Academic
Documente Profesional
Documente Cultură
II
Tema:
Control Cinematico
OBJETIVO:
Afianzar los conocimientos correspondientes al control cinematico de robots.
OBJETIVOS ESPECIFICOS:
1.- Diferenciar y comparar los principales tipos de trayectorias articulares de un robot.
2.- Implementar interpoladores en matlab para la generacin de trayectorias de un robot.
REQUISITOS:
Conocer los conceptos generales de:
1.- Herramientas matemticas para la localizacin espacial
2.- Cinemtica del robot
3.- Interpolacin de trayectorias
4.- Programacin bsica en matlab
EQUIPOS Y HERRAMIENTAS
1.- Computador con matlab
PROCEDIMIENTO
1) Crear una funcin que calcule el tiempo mnimo requerido para que una articulacin se
desplace de una posicin incial hasta una final usando un interpolador trapezoidal con
velocidades inicial y final nulas. Los parmetros de entrada de la funcin son las posiciones
inicial y final, la velocidad mxima permitida por la articulacin, la aceleracin.
Ejemplo 1:
>> qi = 10;
>> qf = 100;
>> a = 2;
>> vmax = 3;
>> tmin = int_trapezoidal_tmin(qi, qf, a, vmax)
tmin =
31.5000
2) Crear una funcin que calcule la posicin, velocidad y aceleracin para n puntos de
UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniera Mecatrnica
Facultad de Ingenieras. Programa de Ingeniera Mecatrnica.
Laboratorio II
Robtica II
de una trayectoria con un interpolador trapezoidal (velocidades inicial y final nulas)
Los parametros de entrada de la funcin son:
qi: Valor de la posicin inicial de la articulacin
qf: Valor de la posicin final de la articulacin
a: aceleracin
vmax: Velocidad mxima permitida por la articulacin
npuntos: Nmero de puntos deseados para crear la trayectoria
ti: Tiempo inicial
Los parametros de salida de la funcin son:
trayectoria: estructura que contiene el vector de tiempo, posicin, velocidad y
aceleracin
Ejemplo:
>> qi = 10;
>> qf = -12;
>> a = 2;
>> vmax = 3;
>> npuntos = 1000;
>> ti = 5;
>> trayectoria = int_trapezoidal_npuntos(qi,qf,a,vmax,npuntos,ti)
trayectoria =
vec_t: [1x1000 double]
vec_q: [1x1000 double]
vec_qp: [1x1000 double]
vec_qpp: [1x1000 double]
>> figure(1);
>> plot (trayectoria.vec_t, trayectoria.vec_q); , title('posicin');
>> figure(2);
>> plot (trayectoria.vec_t, trayectoria.vec_qp);, title('velocidad');
>> figure(3);
>> plot (trayectoria.vec_t, trayectoria.vec_qpp);, title('aceleracin')
Ejemplo 2:
>> qi = 10;
>> qf = 11;
>> a = 2;
>> vmax = 3;
UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniera Mecatrnica
Facultad de Ingenieras. Programa de Ingeniera Mecatrnica.
Laboratorio II
Robtica II
>> npuntos = 1000;
>> ti = 2;
>> trayectoria = int_trapezoidal_npuntos(qi,qf,a,vmax,npuntos,ti)
trayectoria =
vec_t: [1x1000 double]
vec_q: [1x1000 double]
vec_qp: [1x1000 double]
vec_qpp: [1x1000 double]
>> figure(1);
>> plot (trayectoria.vec_t, trayectoria.vec_q); , title('posicin');
>> plot (trayectoria.vec_t, trayectoria.vec_qp);, title('velocidad');
>> figure(3);
>> plot (trayectoria.vec_t, trayectoria.vec_qpp);, title('aceleracin')
3) Crear una funcin que calcule la posicin, velocidad y aceleracin para n puntos de
de una trayectoria con un interpolador trapezoidal (velocidades inicial y final nulas). El
tiempo requerido para realizar el movimiento es definido por el usuario. En caso que el
tiempo especificado por el usuario no sea suficiente para realizar la trayectoria debe surgir
un error indicando al usuario el problema.
Los parametros de entrada de la funcin son:
qi: Valor de la posicin inicial de la articulacin
qf: Valor de la posicin final de la articulacin
a: aceleracin
vmax: Velocidad mxima permitida por la articulacin
npuntos: Nmero de puntos deseados para crear la trayectoria
ti: Tiempo inicial
tf: Tiempo final
Los parametros de salida de la funcin son:
trayectoria: estructura que contiene el vector de tiempo, posicin, velocidad y aceleracin
Ejemplo 1:
>> qi = 10;
>> qf = 35;
>> a = 2;
UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniera Mecatrnica
Facultad de Ingenieras. Programa de Ingeniera Mecatrnica.
Laboratorio II
Robtica II
>> vmax = 3;
>> npuntos = 10000;
>> ti = 5;
>> tf = 15;
>> trayectoria = int_trapezoidal_t_npuntos(qi,qf,a,vmax,npuntos,ti,tf)
trayectoria =
vec_t: [1x10000 double]
vec_q: [1x10000 double]
vec_qp: [1x10000 double]
vec_qpp: [1x10000 double]
>> figure(1);
>> plot (trayectoria.vec_t, trayectoria.vec_q); , title('posicin');
>> figure(2);
>> plot (trayectoria.vec_t, trayectoria.vec_qp);, title('velocidad');
>> figure(3);
>> plot (trayectoria.vec_t, trayectoria.vec_qpp);, title('aceleracin')
Ejemplo 2:
>> qi = 10;
>> qf = 35;
>> a = 2;
>> vmax = 3;
>> npuntos = 10000;
>> ti = 5;
>> tf = 6;
>> trayectoria = int_trapezoidal_t_npuntos(qi,qf,a,vmax,npuntos,ti,tf)
??? Error using ==> int_trapezoidal_t_npuntos at 61
se requiere de ms tiempo para realizar el movimiento
Ejemplo 3:
>> qi = 10;
>> qf = 13;
>> a = 2;
>> vmax = 3;
>> npuntos = 10000;
>> ti = 5;
>> tf = 7;
>> trayectoria = int_trapezoidal_t_npuntos(qi,qf,a,vmax,npuntos,ti,tf)
??? Error using ==> int_trapezoidal_t_npuntos at 61
se requiere de ms tiempo para realizar el movimiento
UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniera Mecatrnica
Facultad de Ingenieras. Programa de Ingeniera Mecatrnica.
Laboratorio II
Robtica II
Ejemplo 4:
>> qi = 10;
>> qf = 12;
>> a = 2;
>> vmax = 3;
>> npuntos = 10000;
>> ti = 5;
>> tf = 7;
>> trayectoria = int_trapezoidal_t_npuntos(qi,qf,a,vmax,npuntos,ti,tf)
trayectoria =
vec_t: [1x10000 double]
vec_q: [1x10000 double]
vec_qp: [1x10000 double]
vec_qpp: [1x10000 double]
>> figure(1);
>> plot (trayectoria.vec_t, trayectoria.vec_q); , title('posicin');
>> figure(2);
>> plot (trayectoria.vec_t, trayectoria.vec_qp);, title('velocidad');
>> figure(3);
>> plot (trayectoria.vec_t, trayectoria.vec_qpp);, title('aceleracin');
Ejemplo 5:
>> qi = 10;
>> qf = 11;
>> a = 2;
>> vmax = 3;
>> npuntos = 10000;
>> ti = 5;
>> tf = 7;
>> trayectoria = int_trapezoidal_t_npuntos(qi,qf,a,vmax,npuntos,ti,tf)
trayectoria =
vec_t: [1x10000 double]
vec_q: [1x10000 double]
vec_qp: [1x10000 double]
vec_qpp: [1x10000 double]
>> figure(1);
>> plot (trayectoria.vec_t, trayectoria.vec_q); , title('posicin');
>> figure(2);
>> plot (trayectoria.vec_t, trayectoria.vec_qp);, title('velocidad');
>> figure(3);
>> plot (trayectoria.vec_t, trayectoria.vec_qpp);, title('aceleracin');
UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniera Mecatrnica
Facultad de Ingenieras. Programa de Ingeniera Mecatrnica.
Laboratorio II
Robtica II
Ejemplo 6:
>> qi = 10;
>> qf = 10.7;
>> a = 2;
>> vmax = 3;
>> npuntos = 10000;
>> ti = 5;
>> tf = 6;
>> trayectoria = int_trapezoidal_t_npuntos(qi,qf,a,vmax,npuntos,ti,tf)
??? Error using ==> int_trapezoidal_t_npuntos at 100
se requiere de ms tiempo para realizar el movimiento
4) Crear un programa que calcule la trayectoria del robot de 4GDL que se ilustra en la
figura 1 usando interpoladores trapezoidales, dados los vectores de coordenadas articulares
inicial y final, el vector de aceleraciones y el vector de velocidades mximas de las
articulaciones. El programa debe calcular la trayectoria para los siguientes casos:
a) Movimiento eje a eje
b) Movimiento ejes simultaneos.
c) Trayectoria coordinada
Nota: el movimiento de las articulaciones para los casos a y b se realiza en el menor tiempo
posible.
UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniera Mecatrnica
Facultad de Ingenieras. Programa de Ingeniera Mecatrnica.
Laboratorio II
Robtica II