You are on page 1of 15

BENEMRITA UNIVERSIDAD

AUTNOMA DE PUEBLA

FACULTAD DE CIENCIAS DE LA ELECTRNICA.

Robtica
Brazo robot

Lizzy Marion Canales Santos 201100174


Julio Cesar Flores Ruiz 201132999

Profesor: Jos Luis Hernndez Rebollar

PUEBLA, PUE. Primavera 2017


PROYECTO FINAL
ROBOTICA
OBJETIVO
Realizar un programa que calcule la ubicacin del efector final de un brazo robot a partir de
la variacin angular de un potencimetro de 5K.
Obtener los datos de sus matrices de rotacin y traslacin siguiendo los parmetros de
DenavitHartenberg.

DISEO
Para colocar los ejes de referencia se utilizaron los parmetros de DenavitHartenberg, en
este caso se propone que el eje z se coloque apuntado en direccin al vstago del
potencimetro. Posteriormente el eje x se selecciona como el producto cruz del eje z y el
eje z anterior por lo que xi+1 es propuesta arbitrariamente.
Se ubica el origen Oi en la interseccin del eje zi con la perpendicular comn a zi1 y zi. El
eje xi se coloca a lo largo de la perpendicular comn a los ejes zi1 y zi con la direccin del
primero al ltimo.
La figura a continuacin, muestra como estan colocados los ejes de referencia asignando el
eje z con color azul, el eje y con color verde y el eje x en naranja.
Figura 1 Sistema de Referencia del Robot

Figura 2 Vista de arriba del Robot


TABLA DE PARMETROS DE DENAVIT-HARTENBERG

Eslabn i

1 0
2 0
3 0
4 0
Tabla 1 Parmetros D-H

Eslabn i

1 19cm 0 90
2 2.5cm 9cm 0
3 3cm 9cm 0
4 2.5cm 6cm 0
Tabla 2 Parmetros D-H valores del robot

Como se muestran en las tablas anteriores los ngulos del robot son variables en la tabla se
representan como 1 , 2 , 3 , 4 .
Por lo que posteriormente se calculan las matrices de rotacin y traslacin. Esto con ayuda
de las herramientas de matlab.
Para :
1 0 0 0
=0 1 0 0
0 0 1
0 0 0 1

Para i :
0 0
= 0 0
0 0 1 0
0 0 0 1

Para a :
1 0 0 a
0
xa =0 1 0
0 0 1 0
0 0 0 1
Para i :
1 0 0 0
0 0
=
0 0
0 0 0 1
Despus se calcula la transformacin homognea para cada eslabn:
= a

Finalmente, la transformacin homognea total se calcula multiplicando todas las


transformaciones de cada eslabn:

= 1 2 3

Figura 3 Matriz de T1

Figura 4 Matriz de T2
Figura 5 Matriz de T3

Figura 6 Matriz de T4

Para :

Figura 7 T total
EVALUACION DE P EN THETA=0, PI/2 Y PI
Px=(8*sin(theta1) + 9*cos(theta1)*cos(theta2) -
6*cos(theta4)*(cos(theta1)*sin(theta2)*sin(theta3) -
cos(theta1)*cos(theta2)*cos(theta3)) -
6*sin(theta4)*(cos(theta1)*cos(theta2)*sin(theta3) +
cos(theta1)*cos(theta3)*sin(theta2)) - 9*cos(theta1)*sin(theta2)*sin(theta3) +
9*cos(theta1)*cos(theta2)*cos(theta3))

Py=( 9*cos(theta2)*sin(theta1) - 8*cos(theta1) -


6*cos(theta4)*(sin(theta1)*sin(theta2)*sin(theta3) - cos(theta2)*cos(theta3)*sin(theta1))
- 6*sin(theta4)*(cos(theta2)*sin(theta1)*sin(theta3) +
cos(theta3)*sin(theta1)*sin(theta2)) - 9*sin(theta1)*sin(theta2)*sin(theta3) +
9*cos(theta2)*cos(theta3)*sin(theta1))

Pz=(9*sin(theta2) + 9*cos(theta2)*sin(theta3) + 9*cos(theta3)*sin(theta2) +


6*cos(theta4)*(cos(theta2)*sin(theta3) + cos(theta3)*sin(theta2)) +
6*sin(theta4)*(cos(theta2)*cos(theta3) - sin(theta2)*sin(theta3)) + 19)

= []
=0,2,

Con = 0 Calcularemos los puntos de Px, Py y Pz, con ayuda del programa en Matlab.
24
= [8]
19
Con = 2:

8
= [9]
22
Con = :
6
=[8]
19

ESPACIO DE TRABAJO DEL ROBOT


Una vez que el programa funciono correctamente se grafic el espacio de trabajo. Se
graficaron los puntos accesibles del robot en este caso cada 30 rotando 300 los cuales el
potencimetro puede permitir.

Figura 8 Espacio de trabajo

Figura 9
Figura 10 Hueco en el centro

BLOQUES DE SIMULINK (MOTOR, CAJA Y BARRA)


Figura 11 Datos del motor

Figura 12 Diagrama en simulink


Figura 13 Simulacin

MEDICIN DE POTENCIOMETROS
Para poder calcular la ubicacin del efector final se utiliz Simulink realizando un
enlace o conexin entre la placa ARDUINO y MATLAB.

Se utiliz una comunicacin serial la cual tiene una velocidad de 9600 baudios para
la transmisin de datos. Por otro lado, la resolucin entre los valores mximos y
mnimos es de 1024 niveles en rango de 0V a 5V ya que cuenta con 10 bits.

A continuacin, se muestra el programa utilizado para hacer la lectura de datos de


los potencimetros.

Figura 14 Diagrama completo lector del Pot.


Cabe resaltar que para hacer la conversin de la lectura en bits a grados se utiliz una regla
de tres, utilizando el nmero de grados que da el potencimetro (300) y la resolucin en
bits (1023 bits), tambin se declar un punto cero y de ah se dividieron los grados para que
se leyera de 150 a -150.

Figura 15 lecturas del pot y divisin en grados positivos y negativos.

Para verificar que el programa funcionara correctamente se hicieron pruebas una fue colocando
los potencimetros en 0 y se obtuvo el siguiente resultado:

Figura 16 Brazo en 0 grados

Figura 17 Lectura en tiempo real del pot, vector P.

Despus se prob girando las articulaciones a 90 de manera que quedarn en lnea recta
hacia arriba.
Figura 18 Articulaciones a 90

A continuacin, se muestra el cdigo realizado en Matlab para realizar la grfica del espacio
de trabajo del robot.
%clear all
%clc
%valores
a1=0;
a2=9;
a3=9;
a4=6;
alpha1=90;
alpha2=0;
alpha3=0;
alpha4=0;
b1=19;
b2=2.5;
b3=3;
b4=2.5;

for theta1=0:3:300;
for theta2=0:3:300;
for theta3=0:3:300;
for theta4=0:3:300;
%%eslabon 1--------------------
T1=[ cosd(theta1) -cosd(alpha1)*sind(theta1) sind(alpha1)*sind(theta1)
a1*cosd(theta1);
sind(theta1) cosd(alpha1)*cosd(theta1) -sind(alpha1)*cosd(theta1)
a1*sind(theta1);
0 sind(alpha1) cosd(alpha1) b1;
0 0 0 1];
%%eslabon2---------------------
T2=[ cosd(theta2) -cosd(alpha2)*sind(theta2) sind(alpha2)*sind(theta2)
a2*cosd(theta2);
sind(theta2) cosd(alpha2)*cosd(theta2) -sind(alpha2)*cosd(theta2)
a2*sind(theta2);
0 sind(alpha2) cosd(alpha2) b2;
0 0 0 1];
%eslabon3----------------------
T3=[ cosd(theta3) -cosd(alpha3)*sind(theta3) sind(alpha3)*sind(theta3)
a3*cosd(theta3);
sind(theta3) cosd(alpha3)*cosd(theta3) -sind(alpha3)*cosd(theta3)
a3*sind(theta3);
0 sind(alpha3) cosd(alpha3) b3;
0 0 0 1];
%%%eslabon4---------------------
T4=[ cosd(theta4) -cosd(alpha4)*sind(theta4) sind(alpha4)*sind(theta4)
a4*cosd(theta4);
sind(theta4) cosd(alpha4)*cosd(theta4) -sind(alpha4)*cosd(theta4)
a4*sind(theta4);
0 sind(alpha4) cosd(alpha4) b4;
0 0 0 1];
%matriz total----------------
T=T1*T2*T3*T4;
P=[T(1,4);T(2,4);T(3,4);T(4,4)];
Y=P(1,1);
X=P(2,1);
Z=P(3,1);
plot3(X,Y,Z,'*r','linewidth',2);
hold on
xlabel('Eje X')
ylabel('Eje Y')
zlabel('Eje Z')
grid()
end
end
end
end

CONCLUSIN
El uso de elementos no lineales (resistencia variable) usada en la articulacin, hace que el
usuario obtenga datos con un rango de error considerable, por lo que se debe optar a
realizar el cambi que mejor se acomode al uso del brazo, si uno necesita una precisin
mayor, es necesario adquirir un POT con mayor precisin o simplemente modificar el
programa para que en ese caso, muestre el dato deseado, pero en su mayora se sacrifica
otro factor que tal vez sea importante en el sistema. Otro factor en los circuitos elctricos
es la histresis que va de la mano con lo mencionado anteriormente.

BIBLIOGRAFA

[1] S. K. Saha, Introduccin a la robtica, Noida: Tata McGraw-Hill, 2008.

You might also like