Guia Lab 2 Robotica II Control Cinematico

7
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II CODIFICACIÓN Lab II Tema: Control Cinematico 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 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 Ejemplo 2: (No es necesario que la articulación llege a la velocidad máxima, trayectoria triangular) >> qi = 10; >> qf = 12; >> a = 2; >> vmax = 3; >> tmin = int_trapezoidal_tmin(qi, qf, a, vmax) tmin = 2 2) Crear una función que calcule la posición, velocidad y aceleración para n puntos de OBJETIVO: EQUIPOS Y HERRAMIENTAS

description

Aprender a trabajar en matlab sobre control cinematico de manipuladores

Transcript of Guia Lab 2 Robotica II Control Cinematico

Page 1: Guia Lab 2 Robotica II Control Cinematico

UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica

Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II

Robótica II

VERSION 1 – Ph.D. César Augusto Peña C

CODIFICACIÓN Lab II Tema: Control Cinematico

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

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 Ejemplo 2: (No es necesario que la articulación llege a la velocidad máxima, trayectoria triangular) >> qi = 10; >> qf = 12; >> a = 2; >> vmax = 3; >> tmin = int_trapezoidal_tmin(qi, qf, a, vmax) tmin = 2 2) Crear una función que calcule la posición, velocidad y aceleración para n puntos de

OBJETIVO:

EQUIPOS Y HERRAMIENTAS

Page 2: Guia Lab 2 Robotica II Control Cinematico

UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica

Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II

Robótica II

VERSION 1 – Ph.D. César Augusto Peña C

de una trayectoria con un interpolador trapezoidal (velocidades inicial y final nulas) Los parametros de entrada de la función son:

qi: Valor de la posición inicial de la articulación qf: Valor de la posición final de la articulación a: aceleración vmax: Velocidad máxima permitida por la articulación npuntos: Número de puntos deseados para crear la trayectoria ti: Tiempo inicial

Los parametros de salida de la función son: trayectoria: estructura que contiene el vector de tiempo, posición, velocidad y aceleración

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;

Page 3: Guia Lab 2 Robotica II Control Cinematico

UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica

Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II

Robótica II

VERSION 1 – Ph.D. César Augusto Peña C

>> 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('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. Los parametros de entrada de la función son:

qi: Valor de la posición inicial de la articulación qf: Valor de la posición final de la articulación a: aceleración vmax: Velocidad máxima permitida por la articulación npuntos: Número de puntos deseados para crear la trayectoria ti: Tiempo inicial tf: Tiempo final

Los parametros de salida de la función son: trayectoria: estructura que contiene el vector de tiempo, posición, velocidad y aceleración Ejemplo 1: >> qi = 10; >> qf = 35; >> a = 2;

Page 4: Guia Lab 2 Robotica II Control Cinematico

UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica

Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II

Robótica II

VERSION 1 – Ph.D. César Augusto Peña C

>> 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

Page 5: Guia Lab 2 Robotica II Control Cinematico

UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica

Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II

Robótica II

VERSION 1 – Ph.D. César Augusto Peña C

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');

Page 6: Guia Lab 2 Robotica II Control Cinematico

UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica

Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II

Robótica II

VERSION 1 – Ph.D. César Augusto Peña C

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:

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.

Figura 1. Robot de 4 GDL

Page 7: Guia Lab 2 Robotica II Control Cinematico

UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica

Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II

Robótica II

VERSION 1 – Ph.D. César Augusto Peña C

El programa debe crear una grafica (utilizar subplot) que ilustre: - La trayectoria de cada una de las articulaciones. - El movimiento del robot (animación) dibujando la trayectoria del efector final del robot

Referirse a las diapositivas de clase y al libro guia (Fundamentos de Robótica)

MARCO TEORICO