Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia Lab 2 Robotica II Control Cinematico PDF
Guia Lab 2 Robotica II Control Cinematico PDF
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 generación de trayectorias de un robot.
REQUISITOS:
Conocer los conceptos generales de:
1.- Herramientas matemáticas para la localización espacial
2.- Cinemática del robot
3.- Interpolación de trayectorias
4.- Programación básica en matlab
EQUIPOS Y HERRAMIENTAS
1.- Computador con matlab
PROCEDIMIENTO
1) Crear una función que calcule el tiempo mínimo requerido para que una articulación se
desplace de una posición incial hasta una final usando un interpolador trapezoidal con
velocidades inicial y final nulas. Los parámetros de entrada de la función son las posiciones
inicial y final, la velocidad máxima permitida por la articulación, la aceleración.
Ejemplo 1:
>> qi = 10;
>> qf = 100;
>> a = 2;
>> vmax = 3;
>> tmin = int_trapezoidal_tmin(qi, qf, a, vmax)
tmin =
31.5000
2) Crear una función que calcule la posición, velocidad y aceleración para n puntos de
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('posición');
>> figure(2);
>> plot (trayectoria.vec_t, trayectoria.vec_qp);, title('velocidad');
>> figure(3);
>> plot (trayectoria.vec_t, trayectoria.vec_qpp);, title('aceleración')
Ejemplo 2:
>> qi = 10;
>> qf = 11;
>> a = 2;
>> vmax = 3;
>> figure(1);
>> plot (trayectoria.vec_t, trayectoria.vec_q); , title('posición');
>> plot (trayectoria.vec_t, trayectoria.vec_qp);, title('velocidad');
>> figure(3);
>> plot (trayectoria.vec_t, trayectoria.vec_qpp);, title('aceleración')
3) Crear una función que calcule la posición, velocidad y aceleración 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.
Ejemplo 1:
>> qi = 10;
>> qf = 35;
>> a = 2;
>> 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('posición');
>> figure(2);
>> plot (trayectoria.vec_t, trayectoria.vec_qp);, title('velocidad');
>> figure(3);
>> plot (trayectoria.vec_t, trayectoria.vec_qpp);, title('aceleración')
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 más 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 más tiempo para realizar el movimiento
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('posición');
>> figure(2);
>> plot (trayectoria.vec_t, trayectoria.vec_qp);, title('velocidad');
>> figure(3);
>> plot (trayectoria.vec_t, trayectoria.vec_qpp);, title('aceleración');
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('posición');
>> figure(2);
>> plot (trayectoria.vec_t, trayectoria.vec_qp);, title('velocidad');
>> figure(3);
>> plot (trayectoria.vec_t, trayectoria.vec_qpp);, title('aceleración');
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 más 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 máximas de las
articulaciones. El programa debe calcular la trayectoria para los siguientes casos:
MARCO TEORICO