Proyecto Brazo Robótico

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 26

Ing.

Meca trnica
Materia: Cinemtica de Robots
Maestro:
Grupo: 180801
Proyecto Brazo Robtico
Alumnos:

Contenido
1.

Introduccin ................................................................................................................................ 3

2.

Objetivo ....................................................................................................................................... 4

3.

Estado del arte ............................................................................................................................ 5

4.

Marco Terico ............................................................................................................................. 7

4.1.

Arduino .................................................................................................................................... 7

4.2.

Estructura del mecanismo....................................................................................................... 8

5.

4.2.1.

Sistema de Coordenadas ............................................................................................. 8

4.2.2.

Coordenadas Cartesianas ............................................................................................ 9

4.2.3.

Esfrico ........................................................................................................................ 9

4.2.4.

Representacin de la Orientacin ............................................................................. 10

4.2.5.

Matrices de Rotacin ................................................................................................ 10

4.2.6.

Coordenadas y Matrices Homogneas ..................................................................... 11

4.2.7.

Cinemtica ................................................................................................................. 11

4.2.8.

Cinemtica Inversa .................................................................................................... 12

Desarrollo .................................................................................................................................. 13
5.1.

Cinemtica Directa ............................................................................................................ 14

5.2.

Programa ........................................................................................................................... 21

5.3.

Fisico ...................................................................................................................................... 23

6.

Conclusin ................................................................................................................................. 25

7.

Bibliografa ................................................................................................................................ 26

1. Introduccin
Un brazo manipulador o brazo robtico se puede definir como el conjunto de elementos
electromecnicos que propician el movimiento de un elemento terminal (Gripper o herramienta) .
La constitucin fsica de la mayor parte de estos manipuladores guarda cierta similitud con la
anatoma de las extremidades superiores del cuerpo humano, por lo que, en ocasiones, para hacer
referencia a los distintos elementos que componen al robot, se usan trminos como: cintura,
hombro brazo, codo, mueca, etc. Como se muestra en la Fig. 1

Fig. 1
Una especificacin general de un brazo robtico comprende: sus grados de libertad, su
configuracin y su cinemtica directa e inversa. Estas especificaciones son dadas desde el diseo
propio de cada robot y su aplicacin. Hay una clasificacin de robots manipuladores la cual presenta
las diferencias de diseo, precisin, precio, etc.
La cinemtica del robot estudia el movimiento del mismo con respecto a un sistema de referencia,
as mismo se interesa por la descripcin analtica del movimiento espacial del robot como una
funcin del tiempo y en particular por las relaciones entre la posicin y la orientacin del extremo
final del robot con los valores que toman sus coordenadas articulares.
Existen dos problemas fundamentales a resolver en la cinemtica del robot:

Primero de ellos se conoce como el problema cinemtico directo (C-D) el cual consiste en
determinar la orientacin y la posicin del extremo final del robot, con respecto a un
sistema de coordenadas que se toma como referencia, conocidos los valores de las
articulaciones y los parmetros geomtricos que se toma como referencia , conocidos los
valores de las articulaciones y los parmetros geomtricos de los elementos del robot

El segundo denominado problema cinemtico inverso resuelve la configuracin que debe


adoptar el robot para una posicin y orientacin del extremo conocidas.

2. Objetivo
El objetivo de este proyecto consiste en el diseo y puesta en marcha de un brazo robtico
aplicando con los conocimientos que se llegaron a aprender en la materia de Cinemtica de Robots.
En torno a este objetivo principal, se proponen los siguientes subjetivos:

Dotar a los diferentes mdulos del brazo robtico de los actuadores necesarios para su
movimiento.
Controlar por ordenador las diferentes posiciones que el robot es capaz de alcanzar. Se
implementar una solucin para coger un objeto y posicionarlo en otro lugar. Adems, se
propone un programa de control que utilice teclas de acceso rpido utilizando un Nunchuk
para que realice los movimientos.
Realimentacin de la posicin y utilizacin de la misma para el movimiento del robot
aplicando la Cinemtica de Robots

3. Estado del arte


El tema de la Robtica es relevante en el plan de estudios de ingeniera hoy en da debido a la
capacidad de los robots para realizar trabajos incesantes y peligrosos. Un robot slo tiene sentido
cuando su intencin es la de relevar a un trabajador humano de una labor aburrida, desagradable o
demasiado precisa. Normalmente, un robot es diseado para que asista a un trabajador humano. Al
contrario de lo que por lo general se cree, en realidad no es ms rpido que los humanos en la
mayora de las aplicaciones, pero es capaz de mantener su velocidad durante un largo periodo.
Aunque la idea de los robots se remonta a tiempos antiguos, hace ms de 3 000 aos en la leyenda
hind de los elefantes mecnicos (Fuller, 1999), la palabra robot se us por primera vez en 1921, en
la obra de teatro Rossums Universal Robots (RUR), escrita por el checo Karel apek (1890-1938). En
la obra RUR (Dorf, 1988), un fabricante ficticio de criaturas mecnicas diseaba robots para
reemplazar a trabajadores humanos. Eficientes pero completamente faltos de emociones, se
pensaba al principio que estos robots eran mejores que las personas, puesto que hacan lo
que se les ordenaba sin preguntar. Al final, los robots se volvieron contra sus amos. Acabaron
con la raza humana, salvo un solo hombre para que pudiera seguir produciendo ms robots.
El miedo de que vayan a apoderarse del trabajo de las personas ha dado como resultado el retraso
en el desarrollo en esta rea. Sin embargo, Isaac Asimov, en sus historias de ciencia ficcin de los
aos cuarenta, se imaginaba al robot como ayudante de la humanidad y postulaba tres reglas
bsicas para robots. Por lo general, stas se conocen como las leyes de la robtica.
Las leyes de la robtica
1. Un robot no debe daar a un ser humano ni, por su inaccin, dejar que un ser humano sufra
dao.
2. Un robot debe obedecer las rdenes que le son dadas por un ser humano, excepto si stas
entran en conflicto con la primera ley.
3. Un robot debe proteger su propia existencia, a menos que sta entre en conflicto con las dos
primeras leyes.
Ms tarde, Fuller (1999) introdujo una cuarta ley que dice:
4. Un robot podr tomar el trabajo de un ser humano, pero no debe dejar a esta persona sin
empleo.
El robot se define, de manera formal en la Organizacin Internacional para la Estandarizacin (ISO),
como un manipulador multifuncional reprogramable, capaz de mover materiales, piezas,
herramientas o dispositivos especiales, a travs de movimientos variables programados, para el
desempeo de tareas diversas. Existen otras definiciones dadas por otras asociaciones, como por
ejemplo, el Robotics Institute of America (RIA), la Japan Industrial Robot Association (JIRA), la British

Robot Association (BRA) y otras. Todas ellas coinciden en dos puntos: la capacidad de
reprogramacin y la multifuncionalidad de los robots.

Fig. 2

4. Marco Terico

4.1. Arduino
Arduino es una plataforma de electrnica abierta, lo que se corresponde con la categora de
Hardware OpenSource. De esta manera, las placas pueden ser fabricadas por uno mismo o
compradas montadas de fbrica, pero el software siempre ser descargado de manera gratuita.
Adems, debido a la licencia abierta del mismo, cada usuario podr adaptarlo a sus necesidades.
El lenguaje de programacin a utilizar es propio y existen infinidad de tutoriales sobre el montaje de
la placa, ejemplos de control de actuadores y las diferentes libreras.
Adems, la comunidad de usuarios de Arduino ha creado un foro donde se proponen soluciones a
los problemas de aquellos menos experimentados. De esta manera se ofrece un soporte tcnico
donde la propia comunidad de desarrollo se encarga de mejorar y afianzar los conceptos,
promoviendo la difusin de esta plataforma.
Existen multitud de diferentes versiones de placas Arduino. Se diferencian entre s en potencia,
tamao, pines de control e incluso aplicaciones (por ejemplo, la placa LilyPad est diseada para
aplicaciones sobre prendas). Para este proyecto se utilizar una placa Arduino Uno cuyas
caractersticas son:

Microcontrolador: ATmega328.
Pines digitales de entrada/salida: 14 (6 de los cuales pueden ser usados como salidas PWM)
Voltaje de operacin: 5 V
Voltaje de entrada recomendado: 7 - 12 V
Voltaje de entrada: 6 - 20 V
Pines analgicos: 6
Intensidad DC por cada pin E/S: 40 mA
Intensidad DC por cada pin 3.3V: 50 mA
Memoria Flash: 32 kB (ATmega328)
SRAM: 2 KB (ATmega328)
EEPROM: 1 KB (ATmega328)
Frecuencia de reloj: 16 mHz

Esta placa contiene todas las caractersticas para aprovechar al mximo la capacidad del
microcontrolador. Tambin dispone de una conexin USB, una conexin de alimentacin y un
botn de reset.
La alimentacin de la placa se puede realizar tanto por conexin USB como de manera externa
(adaptador AC-DC o pilas). La diferencia reside en que por USB, la intensidad que se obtiene es de
0.5 A, debido a la restriccin del puerto USB, mientras que con una fuente de alimentacin externa

conectada al pin VIN, uno se asegura de que la intensidad recibida es la proporcionada por la
fuente.
En cuanto a las entradas o salidas, es interesante comentar que cada uno de los 14 pines digitales
disponibles trabaja a 5V. Los pines con funcionalidades ms importantes son los siguientes:

Serial (RX o TX): Usados para recibir (RX) o transmitir (TX).


PWM (3, 5, 6, 9, 10, 11): Proveen salidas PWM de 8 bits necesarias para el control de los
servomotores.

Por otro lado, cada uno de los 6 pines analgicos (A0 - A5) permite una resolucin de 10 bits (1024
valores diferentes). Por defecto trabajan a 5V, aunque se puede cambiar su rango superior
mediante el pin de AREF. Los pines con funcionalidades ms importantes son los siguientes:

AREF: Voltaje de referencia para entradas analgicas.


Reset: Provoca el reset del microcontrolador.

Por ltimo, Arduino permite su comunicacin con otro ordenador, otra placa Arduino u otros
microcontroladores. Esto se debe a que el ATmega328 habilita la comunicacin serie UART TTL (5V),
disponible tambin en los pines digitales o RX y TX. De esta manera, al conectar la placa mediante
USB a un ordenador, los les de RX y TX parpadearn cuando se reciba o transmita informacin.
Tambin se soporta la comunicacin mediante I2C o SPI.

4.2. Estructura del mecanismo


4.2.1.

Sistema de Coordenadas

La manipulacin de piezas requiere el movimiento espacial de su extremo.


Es necesario conocer su posicin y orientacin de sta con respecto a la base del robot.
Es necesario contar con herramientas que realicen este trabajo.
Existe una teora general para la localizacin de objetos en el espacio que puede aplicarse a
otras reas, estas son:
Sistemas de coordenadas: Cartesiano, cilndrico, esfrico
Matrices de transformaciones: Traslacin y rotacin. Mtodo de Denavit- Hartenberg.
Cuaternios.

Fig.9 Sistema de Coordenadas

4.2.2.

Coordenadas Cartesianas

Se trabaja en un sistema coordenado OXYZ.


Cualquier punto a est expresado por las componentes (x,y,z).
Este punto tiene asociado un vector p(x,y,z).

Fig.10 Coordenadas Cartesianas

4.2.3.

Esfrico

) es el extremo del punto a.


El vector (
)
R es la distancia del origen hasta el extremo de (
Es el ngulo formado por la proyeccin del vector p sobre el plano
Es el ngulo formado por el vector p con el eje OZ

Fig.11 Coordenadas Esfricas

4.2.4.

Representacin de la Orientacin

Cuando necesitamos definir un punto en el espacio, es suficiente a travs de los datos


correspondientes a su posicin, para el caso que nos ocupa, es decir, el de un robot, adems de
especificar la posicin de extremo, tambin se requiere indicar su orientacin. Una orientacin
referida al espacio tridimensional, la podemos definir mediante tres grados de libertad, lo que se
traduce como tres componentes linealmente independientes
4.2.5.

Matrices de Rotacin

En el espacio del algebra matricial, encontramos el nicho adecuado que contiene todos los
ingredientes esenciales, los cuales hacen posible que podamos adentrarnos en la tarea de la
descripcin de las orientaciones.
Los dos sistemas de referencia arriba mencionados son:
y
.
El sistema
es el de referencia fija, y el sistema OUV es el mvil solidario al objeto. Los vectores
unitarios del sistema
son en tanto que los del sistema
son:
.
La representacin en ambos sistemas del vector p en el plano, se registra de la siguiente manera:

Fig.12 Matrices de Rotacin 3D

4.2.6.

Coordenadas y Matrices Homogneas

El concepto de una representacin en coordenadas homogneas en un espacio euclideo


tridimensional, es til para desarrollar transformaciones matriciales que incluyan: rotacin,
traslacin, escalado y transformacin en perspectiva. En general, la representacin de un vector de
posicin de n componentes por un vector de (n+1) componentes se llama representacin en
coordenadas homogneas. Es decir, un vector (
) queda representado por (
)
donde w posee un valor arbitrario y representa un factor de escala.
Comenzando a precisar, definimos como matriz de transformacin homognea
T a una matriz de dimensin 4 x 4, encargada de transformar a un vector de coordenadas
homogneas de un sistema de coordenadas a otro.

4.2.7.

Cinemtica

La cinemtica del robot estudia el movimiento con respecto a un sistema de referencia


Existen 2 problemas fundamentales, cinemtica directa e inversa.
La cinemtica directa consiste en determinar la posicin y orientacin del extremo final del
robot en funcin de las coordenadas articulares
La cinemtica inversa determina las coordenadas articulares en funcin de la posicin final del
robot.
Cinemtica del robot: Estudio de su movimiento con respecto a un sistema de referencia
Descripcin analtica del movimiento espacial en funcin del tiempo
Relaciones: localizacin del extremo del robot-valores articulares
Problema cinemtico directo: Determinar la posicin y orientacin del extremo final del robot,
con respecto a un sistema de coordenadas de referencia, conocidos los ngulos de las
articulaciones y los parmetros geomtricos de los elementos del robot
Problema cinemtico inverso: Determinar la configuracin que debe adoptar el robot para una
posicin y orientacin del extremo conocidas
Modelo diferencial (matriz Jacobiana): Relaciones entre las velocidades de movimiento de las
articulaciones y las del extremo del robot

Fig. 13 Cinemtica de un Robot


Cinemtica Directa
Encontrar una matriz de transformacin homognea que relacione posicin y orientacin del
extremo del robot con respecto a un sistema de referencia fijo situado en su base

Un robot se puede considerar como una cadena cinemtica formada por eslabones unidos por
articulaciones
Se establece un sistema de referencia fijo solidario a la base
Se describe la localizacin de cada uno de los eslabones con respecto a dicho sistema de
referencia
Es funcin de las coordenadas articulares.
Para sistemas de hasta 3 grados de libertad se puede usar un mtodo trigonomtrico

Fig.14 Cinemtica Directa

4.2.8.
Cinemtica Inversa
El problema cinemtico inverso consiste en encontrar los valores que debe adoptar las
coordenadas articulares del robot para que su extremo se posicione y oriente segn una
determinada localizacin espacial

Existe ms de una solucin


Se puede despejar de la matriz de transformacin homognea
Se puede obtener usando trigonometra
Lo adecuado es encontrar una solucin cerrada, es decir
encontrar una relacin matemtica explcita de la forma

5. Desarrollo
Para el desarrollo vamos a considerar el brazo de robot que se muestra en la siguiente FIg.3

Fig. 3

),
Vemos en la Fig.3 los eslabones los cuales efectan 4 rotaciones angulares (
realizando los clculos para obtener la Cinemtica Directa e Inversa del Robot son las siguientes:

5.1.

Cinemtica Directa

Articulaciones
1
2
3
4

q1
(q2+90)
(q3-90)
q4

d
d1
0
0
0

a
0
d2
d3
0

90
0
-90
0

d3

X2

Z2

Y1

Y2
X2

d2

Z2
Y1

X1
Z1
d1
Z0
Y0
X0

Si consideramos lo siguiente

)
(

( (

))

( )
(

)
(

( (

))

((

)
( )

))

Resolucin del problema C I por mtodos geomtricos


El dato de partida si consideramos la siguiente Fig.4

Fig.4

Se requiere posicionar su extremo el valor de q1 la podemos obtener:


(

Consideramos:

Fig.5

Tenemos:

No

Si multiplicamos en ambas

( )(

Despejando
(

)
)
(

Por motivos de ventaja es conveniente utilizar la expresin de arcotangente en lugar del arcoseno
1=

Luego

Con
(

Podemos observar que se tienen dos soluciones, esto dependiendo de si el codo est arriba o
abajo.

Fig.6

Para el clculo de

, donde sabemos que

Si sabemos que:
(
Y si
Donde

Nos queda el angulo

( )

Por lo tanto nos queda:

5.2.

) (

Programa

Para reproducir el movimiento del brazo del robot utilizamos la placa Arduino y el interface Arduino
para poder controlar los servos, y posteriormente reproducirlos es el siguiente
#include <Wiichuck.h>
#include <Wire.h>
#include <Servo.h>
Wiichuck chuck;
char leer;
int conta=0;
int pos[30][6];
Servo myservo[5];

void setup() {
myservo[0].attach(8);
myservo[1].attach(9);
myservo[2].attach(10);
myservo[3].attach(11);
myservo[4].attach(12);
chuck.init(0,0);
chuck.calibrate();
Serial.begin(9600);
myservo[0].write(90);
myservo[2].write(90);
myservo[3].write(90);
myservo[4].write(90);
myservo[1].write(90);
}
void loop() {
leer=Serial.read();

if((chuck.poll()) && leer!='b')


{
float val=chuck.joyX();
float val1=chuck.joyY();
float val2=chuck.accelY();
float val3=chuck.accelX();
float val4=chuck.accelZ();
int c=chuck.buttonC();
int z=chuck.buttonZ();

val = map(val, 22, 223, 0, 180);


val1 = map(val1, 27, 227, 0, 180);
val2 = map(val2, 320, 720, 0, 180);
val3 = map(val3, 320, 720, 0, 180);
val4 = map(val4, 320, 720, 0, 180);
myservo[0].write(val);
myservo[2].write(val1);
myservo[3].write(val2);
myservo[4].write(val3);
if(c==HIGH && z==LOW)
{
for(int i=30;i<160;i=i+10)
{
myservo[1].write(i);
}}
if(z==HIGH && c==LOW)
{
for(int i=175;i>30;i=i-10)
{
myservo[1].write(i);
}}
if(leer=='a')
{
for(int i=0;i<6;i++)
{
pos[conta][i]=myservo[i].read();
delay(50);
}
Serial.print("Movimiento: ");
Serial.println(conta);
conta++;
}
delay(50);

}
else {
Serial.print("Reproducir los Movimiento: ");
int h=conta-1;
Serial.println(h);
if(conta>0)
{
for(int i=0;i<=conta;i++)
{
for(int j=0;j<6;j++)
{
myservo[j].write(pos[i][j]);
delay(500);
}
}
}
conta=0;
delay(1000);
}
}

5.3. Fisico
En las siguientes imgenes podemos ver los movimientos del brazo del robot los cuales se guardan
y se reproducen

6. Conclusin
()
Diseamos el brazo robtico de cuatro grados de libertad con un Gripper y lo acoplamos a las
necesidades para poder realizar diferentes aplicaciones o usos al brazo robtico, aplicamos los
conocimientos de Cinemtica de Robots para poder calcular sus movimientos por medio de
cinemtica inversa y cinemtica Directa, utilizamos una placa Arduino y la librera de Nunchuk
poder controlar el brazo robtico con el Nunchuk y desde el teclado de la computadora podemos
guardar y reproducir los movimientos que se puede registrar de brazo robtico.
()
En nuestro proyecto hicimos un brazo con 4 grados de libertad similar al que se ocupamos para
realizar las prcticas, con el objetivo que realice una secuencia de funciones como las de las del
Moto-man, tuvimos problemas porque se program con arduino y la memoria de este se saturaba y
no quera generar los movimientos y guardar las secuencias pero al final se modific el programa y
el proyecto logro cumplir con el objetivo.
()

En general logramos o tratamos en hacer nuestro prototipo lo ms similar al Moto-Man el cual


ocupbamos para realizar prcticas, pero se complic a la hora de la programacin puesto que
nuestro controlador en este caso Arduino no es lo suficientemente potente para soportar un
programa tan complejo, se adapt un control de un videojuego para as tener un mayor manejo del
Brazo.
()
Con la elaboracin del brazo robtico llegamos a la conclusin de que aparte de ser una
herramienta con gran precisin y muy manejable, resulta muy til para las industrias de hoy en di
las que manipulan, es muy til para trabajos e industrias que manejan materiales de alto riesgo
para el ser humano, ya que con el brazo robtico se podra simular los movimientos del ser
humano, evitando el riesgo que le podra ser causado. Dependiendo del diseo que se vaya a
utilizar de la mano con los grados de libertad va a mejorar su efectividad.
()
Se aplic lo visto en clase acerca de los robots manipuladores para llevar a cabo con xito este
proyecto, siendo fundamental el anlisis de la cinemtica, siendo este un proyecto enteramente
Mecatrnico, lo aprendido a lo largo de la carrera fue aplicado, logrando as un resultado exitoso,
utilizando el mnimo de recursos, ya que este fue uno de los principales retos, al utilizar el hardware
Arduino uno, el cual aun siendo el modelo bsico, fue suficiente para la realizacin del proyecto.

7. Bibliografa

Antonio Barrientos, Luis Felipe Pen; Fundamentos de Robtica; Mc Graw Hill; 1997
Subir Kumar Saha. (2008). Introduccin a la robtica. Mexico: McGRAW-HILL.
John J. Craig; Robtica 3a; Pearson Prentice Hall; 2006
Rafael Kelly, Vctor Santibez; Control de movimiento de robots manipuladores; Pearson
Mark W. Spong, ;. Vidyasagar; Robot Dynamics and Control; Hohn Wiley & Sons

También podría gustarte