Cinemática de brazos robóticos simples con Octave
-
Upload
walter-rudy-quispe-canazaca -
Category
Documents
-
view
36 -
download
7
Transcript of Cinemática de brazos robóticos simples con Octave
Cinemática de brazos robóticos simples con Octave/Matlab
Cinemática de un brazo robot de 3 grados de libertad (click para ampliar)
Contenido
[ocultar]
1 Introducción
2 Instalación
3 Robot 1
o 3.1 Ejemplo
4 Robot 2
o 4.1 Ejemplo
5 Robot 2 + 1
o 5.1 Ejemplo
6 Robot 3
o 6.1 Ejemplo
7 Robot 3+1
o 7.1 Ejemplo
8 Descargas
9 Autor
10 Licencia
11 Repositorio SVN
12 Enlaces
13 Noticias
Introducción
Se muestran ejemplos de cómo resolver la cinemática directa de tres brazos robóticos sencillos,
de 1, 2 y 3 grados de libertad usando transformadas homogéneas y la herramientaOctave ,
corriendo en una máquina con Ubuntu Linux (11.10)
Los ejemplos se hicieron originalmente para los estudiantes de la asignatura de Control y
Programación de Robots, Ingeniería Industrial, Universidad Carlos III de Madrid (UC3M)
Instalación
Instalación de octave en Ubuntu 11.10:
sudo apt-get install octave3.2
Descargar el paquete ArmRobotKinematics-v1.2.zip con los ejemplos y descomprimirlo
Robot 1
El primer ejemplo es un robot con un grado de libertad (<math>q_1</math>). Sólo es necesario
usar una transformación homogénea determinada por una rotación de <math>q_1</math> grados
alrededor del eje <math>x_1</math> y una traslación de <math>l_1</math> sobre el eje
<math>y_1</math>:
<math>A_1=Rotx(q_1)Trasy(l_1)</math> donde:
<math>Rotx(a)=\left(\begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & cos(a) & -sin(a) & 0\\ 0 & sin(a) & cos(a)
& 0\\ 0 & 0 & 0 & 1\end{array}\right)</math>, <math>Trasy(l_1)=\left(\begin{array}{cccc} 1 & 0 & 0 &
0\\ 0 & 1 & 0 & l_1\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\end{array}\right) </math>
Fig 1: Cinemática del robot 1 (click para ampliar) Fig 2: Captura de pantalla de la ejecución de Robot1 en
Octave(click para ampliar)
En la Figura 1 se muestra la geometría del robot y la nomenclatura empleada para los sistemas de
referencia. En la figura 2 se puede ver un pantallazo de la ejecución del programa para Octave.
Ejemplo
Arrancar octave y ejecutar el siguiente comando
octave:1> robot1(45)
Se le pasa como parámetro el ángulo <math>q_1</math> en grados. El programa calcula los
puntos del robot y los dibuja en pantalla.
Robot 2
Este segundo ejemplo es un brazo robot de 2 grados de libertad (<math>q_1</math> y
<math>q_2</math>). Las dos matrices de transformación son:
<math>A_1=Rotx(q_1)Trasy(l_1)</math>
<math>A_2=Rotx(q_2)Trasy(l_2)</math>
donde: Rotx y Trasy son las mismas matrices del ejemplo 1
Fig 3: Cinemática del robot 2 (click para ampliar) Fig 4: Captura de pantalla de la ejecución de Robot2 en
Octave(click para ampliar)
En la Figura 3 se muestra la geometría del robot y la nomenclatura empleada para los sistemas de
referencia. En la figura 4 se puede ver un pantallazo de la ejecución del programa para Octave.
Ejemplo
Arrancar octave y ejecutar el siguiente comando
octave:1> robot2(45,-55)
Se le pasa como parámetros los ángulos <math>q_1</math> y <math>q_2</math> en grados. El
programa calcula los puntos del robot y los dibuja en pantalla.
Robot 2 + 1
Robot con 2 grados de libertad para posicionamiento del manipulador y 1 para su orientación.
La nueva matriz de transformación es:
<math>A_3=Rotx(q_3)</math>
Fig 4: Cinemática del robot 2+1 (click para ampliar) Fig 5: Captura de pantalla de la ejecución de Robot2+1 en
Octave(click para ampliar)
En la Figura 4 se muestra la geometría del robot y la nomenclatura empleada para los sistemas de
referencia. En la figura 5 se puede ver un pantallazo de la ejecución del programa para Octave.
Ejemplo
Arrancar octave y ejecutar el siguiente comando
octave:1> robot2_1(45,-55,60);
Se le pasa como parámetros los ángulos <math>q_1</math>, <math>q_2</math> y
<math>q_2</math> en grados. El programa calcula los puntos del robot y los dibuja en pantalla.
Robot 3
Este ejemplo es un brazo robot de 3 grados de libertad (<math>q_0</math>, <math>q_1</math>
y <math>q_2</math>). Las matrices de transformación homogéneas son:
<math>A_0=Rotz(g_0)</math>
<math>A_1=Rotx(q_1)Trasy(l_1)</math>
<math>A_2=Rotx(q_2)Trasy(l_2)</math>
donde las matrices Rotx y Trasy son las mismas de los ejemplos 1 y 2, y Rotz es:
<math>Rotz(a)=\left(\begin{array}{cccc} cos(a) & -sin(a) & 0 & 0\\ sin(a) & cos(a) & 0 & 0\\ 0 & 0 & 1
& 0\\ 0 & 0 & 0 & 1\end{array}\right)</math>
Fig 6: Cinemática del Robot 3 (click para ampliar) Fig 7: Captura de pantalla de la ejecución de Robot3 en
Octave (Click para ampliar)
En la Figura 6 se muestra la geometría del robot y la nomenclatura empleada para los sistemas de
referencia. En la figura 7 se puede ver un pantallazo de la ejecución del programa para Octave.
Ejemplo
Arrancar octave y ejecutar el siguiente comando
octave:1> robot3(-10,45,-60)
Se le pasa como parámetros los ángulos <math>q_0</math>, <math>q_1</math> y
<math>q_2</math> en grados. El programa calcula los puntos del robot y los dibuja en pantalla.
Robot 3+1
Robot de 4 grados de libertad, 3 para posicionamiento del manipulador y 1 para su orientación.
Las matrices de transformación homogéneas son:
<math>A_0=Rotz(q_0)</math>
<math>A_1=Rotx(q_1)Trasy(l_1)</math>
<math>A_2=Rotx(q_2)Trasy(l_2)</math>
<math>A_3=Rotx(q_3)</math>
Fig 8: Cinemática del Robot 3+1 (click para ampliar) Fig 9: Captura de pantalla de la ejecución de Robot3+1 en
Octave (Click para ampliar)
En la Figura 8 se muestra la geometría del robot y la nomenclatura empleada para los sistemas de
referencia. En la figura 9 se puede ver un pantallazo de la ejecución del programa para Octave.
Ejemplo
Arrancar octave y ejecutar el siguiente comando
octave:1> robot3_1(-10,45,-60,60);
Se le pasa como parámetros los ángulos <math>q_0</math>, <math>q_1</math>,
<math>q_2</math> y <math>q_3</math> en grados. El programa calcula los puntos del robot y los
dibuja en pantalla.