Sie sind auf Seite 1von 2

HERRAMIENTAS PARA ROBOTICA

Ingeniería Electrónica
Pontificia Universidad Javeriana, Bogotá Colombia

TALLER 2: DINAMICA NEWTON-EULER RECURSIVO

PARTE A
DINAMICA NEWTON-EULER PARA ROBOTS MANIPULADORES

Este taller requiere del uso del


modelo cinemático directo/inverso
y los parámetros morfológicos (DH
y PARAM) que definen al robot
manipulador PUMA560 de 6
grados de libertad, tal como se
muestra en la figura.

Hacer uso de las siguientes funciones:


[PUMA, PARAM] = robot_param() //carga la estructura del robot PUMA560

1. Implemente en Matlab el siguiente prototipo de función para generación de trayectorias en línea recta y mediante
splines cúbicos:

function [traj] = traj_planner(Type, arg1, arg2, arg3, arg4)

Entradas:
• Type: Tipo de trayectoria: 1=Línea (perfil de velocidad trapezoidal), 2=Spline3D
• arg1: Puntos de control de la trayectoria: knot-points: [X1 Y1 Z1 ; …… Xn Yn Zn]
• arg2: línea: (velocidad máxima Vk), splines3D: (vector de tiempos de cada punto-control)
• arg3: línea: (% aceleración/desaceleración), splines3D: (velocidad inicial/final [Vo,x Vo,y Vo,z; Vf,x Vf,y Vf,z]
• arg4: tiempo de muestreo
Salida:
• traj: [X Y Z Vx Vy Vz Ax Ay Az t] ; posiciones, velocidades, aceleraciones, tiempo.

Protocolo de Prueba:
• Calcule una trayectoria en línea recta en el espacio con perfil de velocidad trapezoidal con las siguientes
características: velocidad máx= 1m/s, %aceleración =20%, tiempo de muestreo = 0.05 segundos.
line = [0.6 -0.3 0.1; 0.6 0.2 0.1]; //punto inicial-final
traj = traj_planner(1,line,1,0.2,0.05);

• Calcule una trayectoria circular usando splines cúbicos con los siguientes parámetros de entrada:
circle = [0.5 0.1 0.2; 0.7 0 0.2; 0.5 -0.1 0.2; 0.3 0 0.2; 0.5 0.1 0.2];
traj = traj_planner(2, circle, [1 2 3 4 5],[0 0 0 ; 0 0 0],0.01);

• Para los dos casos anteriores:


- Dibuje la trayectoria cartesiana usando el comando: plot3(traj(:,1),traj(:,2),traj(:,3));
- Haga uso de la función q=ikine(robot, T) para hallar las trayectorias articulares (q, qd, qdd) que satisfacen la
trayectoria cartesiana del efector final.

2. Resuelva el problema dinámico inverso. Cree una función llamada ID.m (Inverse Dynamics) con los siguientes
parámetros de entrada.

• Grafique los torques hallados: plot(N). Analice brevemente los resultados.


HERRAMIENTAS PARA ROBOTICA
Ingeniería Electrónica
Pontificia Universidad Javeriana, Bogotá Colombia
• Investigue y defina qué tipo de motores comerciales utilizaría para el robot. Tenga en cuenta
velocidades articulares y los torques nominales para satisfacer la trayectoria a ejecutar.

function [N] = ID(ROBOT, PARAM, q, qd , qdd, grav, Fext)

Ø ROBOT: corresponde a la estructura del PUMA560 contenida en robot_param().


Ø PARAM: corresponde a los parámetros dinámicos del PUMA560 contenida en robot_param().
Ø q, qd, qdd: trajectoria articular.
Ø grav: vector de 6x1 con la acción de la gravedad: [0 0 0 0 0 -9.81]'.
Ø Fext: vector de 6x1 que contempla la posibilidad de añadir una fueza externa al efector final
(ejemplo: una carga a levantar, etc). Dejar en cero: [0 0 0 0 0 0]'.
Ø tau: matriz de torques de tamaño [pt x n]. Correponde al torque que debe efectuar cada
articulación (para cada punto de trayectoria) según el movimiento pre-establecido [q, qd, qdd].

NOTA2: Cree una función llamada dinamica_test() para hacer el llamado de las funciones previamente creadas y hacer
las simulaciones de los escenarios establecidos.

PARTE B
DINAMICA NEWTON-EULER PARA SERPENTINO ROBÓTICO

Este taller requiere del uso del modelo cinemático directo y los parámetros
morfológicos (DH y PARAM) que definen al robot serpentino de 12 grados de
libertad, tal como se muestra en la figura.

El objetivo del taller radica en encontrar los torques necesarios para que el robot
pueda ejecutar una trayectoria articular establecida. Luego, determinar qué
actuadores comerciales se ajustan según el requerimiento de torque y velocidad
articular.

Hacer uso de las siguientes funciones ya codificadas (descargar en uvirtual)


[SNAKE, PARAM] = snake_param() //carga la estructura del robot serpentino.

Lea y estudie el artículo titulado: Serpentine Locomotion with Robotic Snakes.pdf (descargar en uvirtual).

1. Implemente un algoritmo que calcule las trayectorias articulares: posición (q), velocidad (qd) y aceleración (qdd) que
satisfagan la curva serpenoide. El prototipo de la función debe ser definido así:

function [q,qd,qdd]=serpenoid(n,a,b,c,w)
siendo:

Ø n el número de grados de libertad del robot,


Ø a es el grado de onludación de la curva serpenoide,
Ø b es el número de periodos por unidad de longitud de la curva serponide,
Ø c controla la dirección de movimiento del robot serpentino, y
Ø w es la velocidad angular de propagación de la curva serpenoide.

2. La Fig. 4 del artículo en cuestión explica el efecto de los parámetros anteriores en la definición de la curva serpenoide.
Grafique los resultados obtenidos por medio de una figura similar a la descrita en la Fig. 4 del artículo.
3. Resuelva el problema dinámico inverso. Haga uso de la función ID.m (Inverse Dynamics) con los siguientes
parámetros de entrada: function [N] = ID(SNAKE, PARAM, q, qd , qdd, grav, Fext)
• Grafique los torques hallados en función del tiempo: plot(N, time). Analice los resultados.
• Investique qué tipo de actuadores comerciales eligiría para el diseño del robot serpiente. Haga una tabla
comparativa y justifique su elección.

Das könnte Ihnen auch gefallen