Está en la página 1de 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

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

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

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


UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniería Mecatrónica
Facultad de Ingenierías. Programa de Ingeniería Mecatrónica.
Laboratorio II
Robótica II

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;

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


UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniería Mecatrónica
Facultad de Ingenierías. Programa de Ingeniería Mecatrónica.
Laboratorio II
Robótica 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('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;

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


UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniería Mecatrónica
Facultad de Ingenierías. Programa de Ingeniería Mecatrónica.
Laboratorio II
Robótica 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('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

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


UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniería Mecatrónica
Facultad de Ingenierías. Programa de Ingeniería Mecatrónica.
Laboratorio II
Robótica 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('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');

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


UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniería Mecatrónica
Facultad de Ingenierías. Programa de Ingeniería Mecatrónica.
Laboratorio II
Robótica 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 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

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


UNIVERSIDAD DE PAMPLONA
Unidad de Ingeniería Mecatrónica
Facultad de Ingenierías. Programa de Ingeniería Mecatrónica.
Laboratorio II
Robótica II

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

MARCO TEORICO

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

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

También podría gustarte