Está en la página 1de 40

UNIVERSIDAD AUTONOMA DEL CARMEN

Dependencia académica de Ingeniería y Tecnología


Facultad de Ingeniería

Diseño y construcción de un
brazo robótico de dos grados
de libertad (RR)

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís


A. May Rejón; Ma. Elena Meza Abreu

Robótica

Ingeniería Mecatrónica

Dr. Rogelio de J. Portillo Vélez

Ciudad del Carmen, Campeche, México a 12 de Diciembre de 2013


Contenido

1. INTRODUCCIÓN......................................................................................................................... 2
2. DISEÑO MECÁNICO .................................................................................................................. 7
2.1. SOLIDWORKS ...................................................................................................................... 7
2.2 GEOMETRÍA DEL ROBOT ................................................................................................. 7
3. CINEMÁTICA DE ROBOTS MANIPULADORES ................................................................. 8
3.1. CONVENCIÓN DE DENAVIT-HARTENBERG .............................................................. 9
4. DINÁMICA DE ROBOTS MANIPULADORES ..................................................................... 18
4.1. MODELADO MEDIANTE LA FORMULACIÓN DE LAGRANGE-EULER. ............ 19
4.2. ALGORITMO COMPUTACIONAL PARA EL MODELADO DINÁMICO POR
LAGRANGE-EULER. ................................................................................................................ 20
5. DISPOSITIVOS ELECTRÓNICOS APLICADO A ROBÓTICA ........................................ 23
5.1. MOTORREDUCTORES CC .............................................................................................. 23
5.2. ENCODER MAGNÉTICOS (EFECTO HALL) ............................................................... 23
5.3. PUENTE H L298N ............................................................................................................... 24
5.4. ARDUINO UNO ................................................................................................................... 26
6. DIAGRAMA DE CONFIGURACIÓN ..................................................................................... 27
7. CONTROL DE ROBOTS .......................................................................................................... 28
7.1. CONTROL DE POSICIÓN DE ROBOTS MANIPULADORES.................................... 28
7.2. CONTROL DINÁMICO (PID)........................................................................................... 30
8. RESULTADOS ............................................................................................................................ 36
9. CONCLUSIONES ....................................................................................................................... 38
10. BIBLIOGRAFÍA ....................................................................................................................... 39
Diseño y construcción de un robot manipulador de 2 GDL Robótica

1. INTRODUCCIÓN
El hombre industrializado desde el siglo XX ha tenido la necesidad de aprender y adaptar
términos globalizados tecnológicos, para Barrientos la palabra computadora quizás fue la
más relevante y hasta hoy muchos cuentan con su propia computadora personal, pero un
concepto recientemente relevante es la palabra robot.

El término robot nació y creció de un mito: la creación por los humanos de un ser artificial
que emulase en aspecto y capacidades cognitivas a su propio creador. Desde 1921, fecha de
publicación por K. Capek de la obra de teatro «Robots Universales de Rossum», la
literatura y el cine han alimentado este mito. [1]

Fig. 1. Robot industrial de seis grados con carga útil de 220 Kg

La palabra robot proviene de la palabra checa robota que significa trabajo. El diccionario
Webster define a un robot como “dispositivo automático que efectúa funciones
ordinariamente asignadas a los humanos”. Con esta definición, se pueden considerar que las
lavadoras son robots. Una definición que utiliza la RIA (Robot Institute of America) da una
definición más precisa de los robots industriales: “un robot es un manipulador

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 2
Diseño y construcción de un robot manipulador de 2 GDL Robótica

reprogramable multifuncional diseñado para mover materiales, piezas o dispositivos


industrializados, a través de movimientos programados variables para la realización de una
diversidad de tareas. [2]

Para Fu se pueden clasificar los robots industriales en tres generaciones que se enlistan en
la siguiente tabla:

GENERACIÓN DESCRIPCIÓN
Repite la tarea programada secuencialmente.
1a Generación
No toma en cuenta las posibles alteraciones de su entorno.
Adquiere la información limitada en su entorno y actúa en
consecuencia.
2a Generación
Puede localizar, clasificar (visón) y detectar esfuerzos y adaptar
sus movimientos en consecuencia.
Su programación se realiza mediante el empleo de un lenguaje
3a Generación natural.
Posee la capacidad de planificación automática

Tabla 1. Generación en robótica

La International Federation of Robotic distingue cuatro tipos de robots:

 Robot secuencial
 Robot de trayectorias controlables
 Robot Adaptivos
 Robots Telemanipulado

Sin embargo, Reyes (2011) define que actualmente existen una gran cantidad de robots con
diversas estructuras geométricas y mecánicas que definen su funcionalidad y aplicación. De
manera general pueden clasificarse como muestra la tabla 2.

CLASIFICACIÓN DE ROBOTS
Terrestres: ruedas patas
Móviles
Submarinos, aéreo-espaciales
Humanoides Diseño Complejo
Industriales Brazos mecánicos Robots manipuladores

Tabla 2. Tipos de robots

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 3
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Un robot está formado por los siguientes elementos: estructura mecánica, trasmisiones,
sistema de accionamiento, sistema sensorial, sistema de control y elementos terminales. La
figura 2 muestra un ejemplo de los elementos en un robot.

Fig. 2. Ejemplo de una estructura mecánica y elementos consecutivos de un robot.

Cada uno de los movimientos independientes que puede realizar cada articulación con
respecto a la anterior, se denomina grado de libertad (GDL). En la figura 3 se muestra el
número de grados de libertad de cada articulación. El número de GDL de un robot viene
dado por la suma de los grados de libertad.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 4
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Fig. 3. Distintos tipos de articulaciones para robots.

El empleo de diferentes combinaciones de articulaciones en un robot, da lugar a diferentes


configuraciones, con características a en cuenta tanto el diseño y construcción del robot
como en su aplicación. Las combinaciones más frecuentes son representadas en la figura 4
donde se atiende únicamente a las tres primeras articulaciones del robot, que son las más
importantes a la hora de posicionar su extremo en un punto en el espacio.

Fig. 4. Configuraciones más importantes en los robots industriales

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 5
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Puesto que para posicionar y orientar un cuerpo de cualquier manera en el espacio son
necesarios seis parámetros, tres para definir la orientación y tres para la posición, si se
pretende que un robot posicione y oriente su extremo de cualquier modo en el espacio, se
precisarán al menos 6 GDL.

En la práctica, a pesar de ser necesarios los seis GDL comentados para tener total libertad
en el posicionamiento y orientación del extremo del robot, muchos robots industriales
muchos robots industriales cuentan con sólo cuatro o cinco GDL , por ser éstos suficientes
para llevar a cabo tareas que se les encomiendan.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 6
Diseño y construcción de un robot manipulador de 2 GDL Robótica

2. DISEÑO MECÁNICO

2.1. SOLIDWORKS
SolidWorks es un programa de diseño asistido por computadora para modelado mecánico
desarrollado en la actualidad por SolidWorks Corp., una subsidiaria de Dassault
Systèmes (Suresnes, Francia), para el sistema operativo Microsoft Windows. Es un
modelador de sólidos paramétrico. Fue introducido en el mercado en 1995 para competir
con otros programas CAD como Pro/ENGINEER, NX, Solid Edge, CATIA, yAutodesk
Mechanical Desktop.

El programa permite modelar piezas y conjuntos y extraer de ellos tanto planos


técnicos como otro tipo de información necesaria para la producción. Es un programa que
funciona con base en las nuevas técnicas de modelado con sistemas CAD. El proceso
consiste en trasvasar la idea mental del diseñador al sistema CAD, "construyendo
virtualmente" la pieza o conjunto. Posteriormente todas las extracciones (planos y ficheros
de intercambio) se realizan de manera bastante automatizada.

La empresa SolidWorks Corp. fue fundada en 1993 por Jon Hirschtick con su sede
en Concord, Massachusetts y lanzó su primer producto, SolidWorks 95, en 1995. En 1997
Dassault Systèmes, mejor conocida por su software CAD CATIA, adquirió la compañía.
Actualmente posee el 100% de sus acciones y es liderada por Jeff Ray.

2.2 GEOMETRÍA DEL ROBOT

Se propone una geometría del robot basada en la inspiración personal y facilidad para
realizar los cálculos. Hay que entender, que según J. J. Craig, existen dos enfoques que se
deben considerar al momento de diseñar un robot.

 La primera consiste en construir un robot especializado para una tarea específica y,

 la segunda es construir un robot universal que puede realizar una amplia variedad de
tareas.
Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 7
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Nosotros realizaremos la segunda opción ya que no hay específicamente una tarea debido a
que se trata de fines didácticos. En la figura 5 se muestra el diseño en 3D de nuestro
prototipo ideado parta el proyecto.

Fig. 5. Diseño del nuestro proyecto de robótica con Solidworks 2013

3. CINEMÁTICA DE ROBOTS MANIPULADORES

La cinemática del robot estudia el movimiento del mismo con respecto a un sistema de
referencia. Así, la cinemática se interesa por la descripción analítica del movimiento
espacial del robot como una función del tiempo, y en particular por las relaciones entre la
posición y la orientación del extremo final del robot con los valores que toman sus
coordenadas articulares. [9]

Existen dos problemas fundamentales para resolver la cinemática del robot, el primero de
ellos se conoce como el problema cinemática directo, y consiste en determinar cuál es la
posición y orientación 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
parámetros geométricos de los elementos del robot, el segundo denominado problema

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 8
Diseño y construcción de un robot manipulador de 2 GDL Robótica

cinemática inverso resuelve la configuración que debe adoptar el robot para una posición y
orientación del extremo conocidas. [9]

3.1. CONVENCIÓN DE DENAVIT-HARTENBERG


Existen varios métodos para obtener el modelo de cinemática directa, se utiliza por lo
general el álgebra vectorial y matricial para representar y describir la localización de un
objeto en el espacio tridimensional con respecto a un sistema de referencia fijo. Dado que
un robot se puede considerar una cadena cinemática formada por objetos rígidos o
eslabones unidos entre sí mediante articulaciones, se puede establecer un sistema de
referencia fijo situado en la base del robot y describir la localización de cada eslabón con
respecto a la referencia fija. [11]

El estudio de los parámetros Denavit-Hartenberg (DH) forma parte de todo curso básico
sobre robótica, ya que son un estándar a la hora de describir la geometría de un brazo o
manipulador robótico. Se usan para resolver de forma trivial el problema de la cinemática
directa, y como punto inicial para plantear el más complejo de cinemática inversa. A
continuación se describen los pasos necesarios para su desarrollo.

DH1. Numerar los eslabones comenzando con 1 (primer eslabón móvil de la cadena) y
acabando con n (último eslabón móvil). Se numerara como eslabón 0 a la base fija del
robot.

DH2. Numerar cada articulación comenzando por 1 (la correspondiente al primer grado de
libertad y acabando en n).

DH3. Localizar el eje de cada articulación. Si esta es rotativa, el eje será su propio eje de
giro. Si es prismática, será el eje a lo largo del cual se produce el desplazamiento.

DH4. Para i de 0 a n-1, situar el eje Zi, sobre el eje de la articulación i+1.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 9
Diseño y construcción de un robot manipulador de 2 GDL Robótica

DH5. Situar el origen del sistema de la base (S0) en cualquier punto del eje Z0. Los ejes X0
e Y0 se situaran dé modo que formen un sistema dextrógiro con Z0.

DH6. Para i de 1 a n-1, situar el sistema (Si) (solidario al eslabón i) en la intersección del
eje Zi con la línea normal común a Zi-1 y Zi. Si ambos ejes se cortasen se situaría (Si)
en el punto de corte. Si fuesen paralelos (Si) se situaría en la articulación i+1.

DH7. Situar Xi en la línea normal común a Zi-1 y Zi.

DH8.Situar Yi de modo que forme un sistema dextrógiro con Xi y Zi.

DH9. Situar el sistema (Sn) en el extremo del robot de modo que Zn coincida con la
dirección de Zn-1 y Xn sea normal a Zn-1 y Zn.

DH10. Obtener Øi como el ángulo que hay que girar en torno a Zi-1 para que Xi-1 y Xi
queden paralelos.

DH11. Obtener Di como la distancia, medida a lo largo de Zi-1, que habría que desplazar
(Si-1) para que Xi y Xi-1 quedasen alineados.

DH12. Obtener Ai como la distancia medida a lo largo de Xi (que ahora coincidiría con Xi-
1) que habría que desplazar el nuevo (Si-1) para que su origen coincidiese con (Si).

DH13. Obtener ai como el ángulo que habría que girar entorno a Xi (que ahora coincidiría
con Xi-1), para que el nuevo (Si-1) coincidiese totalmente con (Si).

DH14. Obtener las matrices de transformación i-1Ai.

DH15. Obtener la matriz de transformación que relaciona el sistema de la base con el del
extremo del robot T = 0Ai, 1A2... n-1An.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 10
Diseño y construcción de un robot manipulador de 2 GDL Robótica

DH16. La matriz T define la orientación (submatriz de rotación) y posición (submatriz de


traslación) del extremo referido a la base en función de las n coordenadas articulares.

Aplicando los puntos anteriores a nuestro diseño en la figura 6, obtendremos la siguiente


tabla 3.

Fig. 6. Dibujo esquemático con análisis de Denavit-Haartenberg

Parámetros Denavit-Hartenberg
d a α
1 30 16

2 0 12 0

Tabla 3. Parámetros de Denavit-Hartenberg

Una vez obtenidos los parámetros DH, el cálculo de las relaciones entre los eslabones
consecutivos del robot es inmediato, ya que vienen dadas por las matrices A, que se calcula
según la expresión general.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 11
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Las relaciones entre eslabones no consecutivos vienen dadas por las matrices T que se
obtienen como producto de un conjunto de matrices A.

Obtenida la matriz T, esta expresara la orientación (submatriz (3x3) de rotación) y posición


(submatriz (3x1) de traslación) del extremo del robot en función de sus coordenadas
articulares, con lo que quedara resuelto el problema cinemático directo. [2]

i-1
Matrices de transformación

i-1

Por formula general quedaría así representado el modelo cinemático de nuestro robot:

0 0
A11A2

O visto de otra forma, el modelo cinemático que describe la configuración de nuestro robot
viene dado por:

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 12
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Para corroborar los parámetros y el modelo cinemático, nos apoyamos de MATLAB y con
el siguiente código:

clc
clear

syms q1 q2 L1 L2 L3 pi M real
%pi=3.14159;

%Denavith - Hatenberg
A_01=dena(q1+pi/2, L1, L2, pi/2)
A_12=dena(q2-pi/2 , 0, L3, 0)

% Matrices de transformacion parciales

T_01=A_01
T_02=A_01*A_12

P1=T_01*[0 0 0 1]'
P2=T_02*[0 0 0 1]'

%%% Valores de las articulaciones

i=1;
L1=0.30;
L2=0.16;
L3=0.12;

q1=1.0*(i-1)*15*(pi/180);
q2=1.0*(i-1)*15*(pi/180);

P_0=[0 0 0]';
P_1=eval(P1(1:3));
P_2=eval(P2(1:3));

%Modelo Cinemático

X=[P_0(1) 0 P_1(1) P_2(1)];


Y=[P_0(2) 0 P_1(2) P_2(2)];
Z=[P_0(3) L1 P_1(3) P_2(3)];

figure;
plot3(X,Y,Z,'color','red')
axis square
xlabel('X')
ylabel('Y')
zlabel('Z')
grid on;
daspect([1 1 1]);

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 13
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Se puede observa el resultado del código en la figura 7.

Modelo Cinemático

0.3

0.25

0.2

0.15
Z

0.1

0.05

0.2
0.15 0.15
0.1
0.1
0.05
0.05 0
0 -0.05
-0.05 -0.1

Y
X

Fig. 7. Respuesta del modelo cinemático en MATLAB

El objetivo del problema cinemático inverso consiste en encontrar los valores que deben
adoptar las coordenadas articulares del robot para que su extremo se
posicione y oriente según una determinada localización espacial.

Así cómo es posible abordar el problema cinemático directo de una manera sistemática a
partir de la utilización de matrices de transformación homogéneas, e independientemente de
la configuración del robot, no ocurre lo mismo con el problema cinemático inverso, siendo
el procedimiento de obtención de las ecuaciones fuertemente dependiente de la
configuración del robot. [4]

Este tipo de solución presenta, entre otras, las siguientes ventajas:

 En muchas aplicaciones, el problema cinemático inverso ha de resolverse en tiempo


real (por ejemplo, en el seguimiento de una determinada trayectoria). Una solución
de tipo iterativo no garantiza tener la solución en el momento adecuado.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 14
Diseño y construcción de un robot manipulador de 2 GDL Robótica

 Al contrario de lo que ocurría en el problema cinematico directo, con cierta


frecuencia la solución del problema cinematico inverso no es única; existiendo
diferentes n-uplas que posicionan y orientan el extremo del
robot de mismo modo. En estos casos una solución cerrada permite incluir
determinadas reglas o restricciones que aseguren que la solución obtenida sea la
más adecuada posible.

No obstante, a pesar de las dificultades comentadas, la mayor parte de los robots poseen
cinemáticas relativamente simples que facilitan en cierta medida la resolución de su
problema cinemático inverso.

Por ejemplo si se consideran solo tres primeros grados de libertad de muchos robots, estos
tienen una estructura planar, esto es, los tres primeros elementos quedan contenidos en un
plano. Esta circunstancia facilita la resolución del problema. Asimismo, en muchos robots
se da la circunstancia de que los tres grados de libertad últimos, dedicados
fundamentalmente a orientar el extremo del robot, correspondan a giros sobre los ejes que
se cortan en un punto. [4]

Para el obtener el modelo cinemático inverso de nuestro robot, incluimos al código anterior
lo siguiente:

clc
clear

syms q1 q2 L1 L2 L3 pi M real
%pi=3.14159;

%Denavith - Hatenberg
A_01=dena(q1+pi/2, L1, L2, pi/2)
A_12=dena(q2-pi/2 , 0, L3, 0)

% Matrices de transformacion parciales

T_01=A_01
T_02=A_01*A_12

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 15
Diseño y construcción de un robot manipulador de 2 GDL Robótica

P1=T_01*[0 0 0 1]'
P2=T_02*[0 0 0 1]'

%%% Valores de las articulaciones

i=1;
L1=0.30;
L2=0.16;
L3=0.12;

q1=1.0*(i-1)*15*(pi/180);
q2=1.0*(i-1)*15*(pi/180);

P_0=[0 0 0]';
P_1=eval(P1(1:3));
P_2=eval(P2(1:3));

%%Cinematica inversa
%%Valores deseados y conocidos

Xd=-0.160;
Yd=0.100;

%%Calculo de las q1, q2 y q3

xy=Xd^2+Yd^2;

Cq2=(xy-L2^2-L3^2)/(2*L2*L3);
Sq2=sqrt(1-(Cq2^2));

betha=atan(Yd/Xd);
alpha=atan((L3*Sq2)/(L2+L3*Cq2));

%%Valores pra Qi y Qf

Q1=betha-alpha
Q2=atan(Sq2/Cq2)

%Modelo Cinemático

X=[P_0(1) 0 P_1(1) P_2(1)];


Y=[P_0(2) 0 P_1(2) P_2(2)];
Z=[P_0(3) L1 P_1(3) P_2(3)];

figure;
plot3(X,Y,Z,'color','red')
axis square
xlabel('X')
ylabel('Y')
zlabel('Z')
grid on;
daspect([1 1 1]);

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 16
Diseño y construcción de un robot manipulador de 2 GDL Robótica

El modelado cinemático de un robot busca las relaciones entre las variables articulares y la
posición (expresada normalmente en forma de coordenadas cartesianas) y orientación del
extremo del robot. En esta relación no se tienen en cuenta las fuerzas o pares que actúan
sobre el robot (actuadores, cargas, fricciones, etc.) y que pueden originar el movimiento del
mismo.

Sin embargo, sí que debe permitir conocer, además de la relación entre las coordenadas
articulares y del extremo, la relación entre sus respectivas derivadas. Así, el sistema de
control del robot debe establecer que velocidades debe imprimir a cada articulación (a
través de sus respectivos actuadores) para conseguir que el extremo desarrolle una
trayectoria temporal concreta, por ejemplo, una línea recta a velocidad constante.

Para este y otros fines, es de gran utilidad disponer de la relación entre las velocidades de
las coordenadas articulares y las de posición y orientación del extremo del robot. La
relación entre ambos vectores de velocidad se obtiene a través de la denominada matriz
Jacobiana.

La matriz jacobiana directa permite conocer las velocidades del extremo del robot a partir
de los valores de las velocidades de cada articulación. Por su parte, la matriz Jacobiana
inversa permitirá conocer las velocidades determinadas en el extremo del robot. [9]

Para el caso de nuestro proyecto la matriz jacobiana se daba por el siguiente código en
MATLAB:

syms q1 q2 real

f1=P2(1)
f2=P2(2)
f3=P2(3)
%
% Q=[q1 q2]'
%
% X=[]'
%
J11=diff(f1,'q1');
J12=diff(f1,'q2');

J21=diff(f2,'q1');
J22=diff(f2,'q2');

J31=diff(f3,'q1');
Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 17
Diseño y construcción de un robot manipulador de 2 GDL Robótica

J32=diff(f3,'q2');

J=[J11 J12;
J21 J22;
J31 J32];

Jinv=pinv(J)

OK=J*Jinv

Con esto comprobamos que nuestro Jacobiano se realizo correctamente. Podemos seguir
avanzando.

4. DINÁMICA DE ROBOTS MANIPULADORES

La obtención del modelo dinámico de un mecanismo, y en particular de un robot, se basa


fundamentalmente en el planteamiento del equilibrio de fuerzas establecido en la segunda
ley de Newton, o su equivalente para movimientos de rotación, la denominada ley de Euler:

F= m dv

T= I dw + w (Iw)

Así, en el caso simple de un robot monoarticular como el representado en la figura, el


equilibrio de fuerzas-pares daría como resultado la ecuación:

t = I (d²q/ dt²) + MgL cos q = ML² d²q + MgL cosq

En donde se ha supuesto que toda la masa se encuentre concentrada en el centro de la


gravedad del elemento, que no existe rozamiento alguno y que no se manipula ninguna
carga.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 18
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Para un par motor t determinado, la integración de la ecuación anterior, daría lugar a la


expresión de q(t) y de sus derivadas dq(t) y d²q(t), con lo que sería posible conocer la
evolución de la coordenada articular del robot y de su velocidad y aceleración.

De forma inversa, si se pretende que q(t) evolucione según una determinada función del
tiempo, sustituyendo en la ecuación anterior, podría obtenerse el par t(t) que sería necesario
aplicar. Si el robot tuviese que ejercer alguna fuerza en su extremo, ya sea al manipular una
carga o por ejemplo, realizar un proceso sobre alguna pieza, bastaría con incluir esta
condición en la mencionada ecuación y proceder del mismo modo. [12]

Se tiene así que del planteamiento del equilibrio de fuerzas y pares que intervienen sobre el
robot se obtienen los denominados modelos dinámicos directo e inverso:

 Modelo dinámico directo: expresa la evolución temporal de las coordenadas


articulares del robot en función de las fuerzas y pares que intervienen.

 Modelo dinámico inverso: expresa las fuerzas y pares que intervienen en función
de la evolución de las coordenadas articulares y sus derivadas.

El planteamiento del equilibrio de fuerzas en un robot real de 5 o 6 grados de libertad, es


mucho más complicado. Debe tenerse en cuenta que junto con las fuerzas de inercia y
gravedad, aparecen fuerzas de Coriolis debidas al movimiento relativo existente entre los
diversos elementos, así como de fuerzas centrípetas que dependen de la configuración
instantánea del manipulador.

4.1. MODELADO MEDIANTE LA FORMULACIÓN DE LAGRANGE-


EULER.

Para García Higuera, Uicker en 1965, utilizo la representación de D-H basada en las
matrices de transformación homogénea para formular el modelo dinámico de un robot
mediante la ecuación de Lagrange.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 19
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Este planteamiento utiliza, por tanto, las matrices i-1Ai que relacionan el sistema de
coordenadas de referencia del elemento i con el elemento i-1. Se realizan en este caso
operaciones de producto y suma innecesarias. Se trata de un procedimiento ineficiente
desde el punto de vista computacional.

Puede comprobarse que el algoritmo es de un orden de complejidad computacional O(n²²),


es decir, el número de operaciones a realizar crece con la potencia 4 del numero de grados
de libertad. Sin embargo, conduce a unas ecuaciones finales bien estructuradas donde
aparecen de manera clara los diversos pares y fuerzas que intervienen en el movimiento.

Se presenta a continuación al algoritmo a seguir para obtener el modelo dinámico del robot
por el procedimiento de Lagrange-Euler (L-E). [13]

4.2. ALGORITMO COMPUTACIONAL PARA EL MODELADO


DINÁMICO POR LAGRANGE-EULER.

L-E 1. Asignar a cada eslabón un sistema de referencia de acuerdo a las normas de D-H.

L-E 2. Obtener las matrices de transformación 0Ai para cada elemento i.

L-E 3. Obtener las matrices Uij definidas por:

Uij = d0Ai / dqj

L-E 4. Obtener las matrices Uijk definidas por:

Uijk = dUij / dqk

L-E 5. Obtener las matrices de pseudo inercias Ji para cada elemento, que vienen definidas
por:

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 20
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Ji=
X² dm XiYi dm XiZi dm Xi dm
YiXi dm Yi² dm YiZi dm Yi dm
ZiXi dm ZiYi dm Zi² dm Zi dm
Xi dm Yi dm Zi dm dm

Tabla 4. Integral de cada uno de los elementos que componen la matriz

Donde las integrales están extendidas al elemento i considerando, y (Xi Yi Zi) son las
coordenadas del diferencial de masa dm respecto al sistema de coordenadas del elemento.

L-E 6. Obtener la matriz de inercias D = (dij) cuyos elementos vienen definidos por:

dij = k=(max i,j)--sigma-->n Traza(Ukj Jk Uki).

Con i, j = 1,2,...,n

n: Numero de grados de libertad.

L-E 7. Obtener los términos hikm definidos por:

hikm = j=(max i,k,m)--sigma-->n Traza(Ujkm Jj Uji).

Con i,k,m = 1,2,...,n

L-E 8. Obtener la matriz columna de fuerzas de Coriolis y centrípeta H = hi cuyos


elementos vienen definidos por:

hi = k=1 --sigma-->n m=1 --sigma-->n hikm d qk d qm

L-E 9. Obtener la matriz de fuerzas de gravedad C = ci cuyos elementos están definidos


por:

ci = j=1--sigma-->n (-mj g Uji irj)

Con i = 1,2,...,n

g: Es el vector de gravedad expresado en el sistema de la base S0 y viene expresado por


(gx, gy, gz, 0)

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 21
Diseño y construcción de un robot manipulador de 2 GDL Robótica

irj : Es el vector de coordenadas homogéneas del centro de masas del elemento j expresado
en el sistema de referencia del elemento i.

L-E 10. La ecuación dinámica del sistema será:

t = D d²q + H + C.

Donde t es el vector de fuerzas y pares motores efectivos aplicados sobre cada coordenada
qi.

Fig. 8. Robot polar de dos grados de libertad.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 22
Diseño y construcción de un robot manipulador de 2 GDL Robótica

5. DISPOSITIVOS ELECTRÓNICOS APLICADO A ROBÓTICA

5.1. MOTORREDUCTORES CC
Los motores cc tienen mucha velocidad y poca fuerza, por lo que se hace necesario el uso
de un sistema de reducción para equilibrar las variables. Unas de las soluciones es construir
una caja reductora externa al motor. Sin embargo, en los últimos años han surgido motores
cc que ya proveen esta solución a nivel interno. A estos motores se les conocen como
motorreductores. Por lo general, consiste en un micromotor de cc con una caja reductora
que usa un sistema de tipo planetario en un compartimiento sellado, lo que libera al sistema
de la suciedad que podría afectar su funcionamiento. (Ver figura 9) [4]

Fig. 9. Motorreductor con relación 75:1

5.2. ENCODER MAGNÉTICOS (EFECTO HALL)


Existen dos tipos de sensores Hall. Uno es de salida analógica, llamados lineales; da una
señal de salida proporcional al flujo magnético que sometamos al sensor Hall. Con este tipo
de sensor se puede construir una brújula electrónica por ejemplo. Y el otro es de
salida digital, se comporta como un interruptor (digitalmente hablando). Este último es el
que nos interesa. En inglés a este tipo de sensor-interruptor se le denomina "Switch" pero
yo prefiero usar la palabra "Digital".

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 23
Diseño y construcción de un robot manipulador de 2 GDL Robótica

A diferencia de las foto barreras (encoders ópticos), los sensores Hall al ser magnéticos
pueden trabajar en entornos extremos (temperatura) y polvorientos, no hará falta
mantenimiento de limpieza. Por otra parte, prácticamente (si sabes buscar) no existe mucha
diferencia de precio. Y para terminar, decir que es mucho más sencillo construir un encoder
con sensores Hall digitales que hacerlo a base de foto barreras, porque cuantos más
pequeños sean los sensores más sencillo es de colocar al eje de un motor.

Fig. 10. Sensor de Efecto Hall acoplado a un motor DC

Conozco de primera mano dos modelos de sensores de efecto Hall digital: los A110x y
los CS302x. Dentro de la misma familia sólo se diferencia los unos de los otros por la
intensidad magnética para hacer cambiar de estado el "interruptor" (switch). Los sensores
Hall A110x y CS302X necesitan un campo magnético un poco fuerte pero esto lo hace
inmune al posible ruido magnético (del propio motor, transformadores, etc.) que pueda
haber en el ambiente.

5.3. PUENTE H L298N

El puente en H (full-brigde) es un circuito ampliamente usado dentro de la electrónica de


potencia. Algunas de sus aplicaciones son:

 Control de Motores CC

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 24
Diseño y construcción de un robot manipulador de 2 GDL Robótica

 Conversor CC-CA
 Amplificadores clase D
 Entre otras

El término "puente H" proviene de la típica representación gráfica del circuito. Un puente
H se construye con 4 interruptores (mecánicos o mediante transistores). Cuando los
interruptores S1 y S4 (ver primera figura) están cerrados (y S2 y S3 abiertos) se aplica una
tensión positiva en el motor, haciéndolo girar en un sentido. Abriendo los interruptores S1
y S4 (y cerrando S2 y S3), el voltaje se invierte, permitiendo el giro en sentido inverso del
motor. [5] (Figura 11)

Fig. 11. Diagrama esquemático de la configuración de un puente H.

El L298 es un circuito controlador de dos motores de corriente continua o motores paso a


paso bipolar. El integrado posee en su interior dos puentes clase H lo que hace posible
comandar dos bobinas independientemente, el control es de habilitación y de dirección, es
decir se puede hacer girar un motor en un sentido o en otro y también se lo puede frenar.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 25
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Fig. 12. Puente H, L298N


5.4. ARDUINO UNO
Arduino (figura 13) es una plataforma open-hardware basada en una sencilla placa con
entradas y salidas (E/S), analógicas y digitales, y en un entorno de desarrollo que
implementa el lenguaje Processing/Wiring. Al ser open-hardware tanto su diseño como su
distribución es libre. Es decir, puede utilizarse libremente para desarrollar cualquier tipo de
proyecto sin tener que adquirir ningún tipo de licencia. [7]

Fig. 13. Logotipo de arduino.

Lo primero que se necesita es una placa Arduino. Existen varios modelos, e incluso nos
podemos construir nuestra propia placa. En la página web se proporcionan todos los
esquemas necesarios para integrar nuestra propia placa. En la figura 14 se observa el
modelo UNO, es de los más básicos, su corazón es el chip Atmega8, un chip sencillo y de
bajo coste que permite el desarrollo de múltiples diseños, siendo hoy el Arduino Galileo de
los más poderosos con un procesador de INTEL.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 26
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Fig. 14. Placa de arduino uno.

La simpleza de su funcionamiento radica en una computadora con cualquier sistema


Windows, Mac OS o Linux, su conector RS232 y su interfaz de programación desarrollada
bajo ambiente C.

6. DIAGRAMA DE CONFIGURACIÓN
A continuación se muestra el esquema (figura 15) de configuración electrónica completa
usada en el desarrollo del prototipo de robótica:

Fig. 15. Esquema de conexiones del proyecto robótico

Se ve las conexiones de los pines del arduino con los potenciómetros encargados de
modificar las Qd y la salida al driver H para el control de potencia de los motores cc.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 27
Diseño y construcción de un robot manipulador de 2 GDL Robótica

7. CONTROL DE ROBOTS

7.1. CONTROL DE POSICIÓN DE ROBOTS MANIPULADORES

Para el control de posición de un robot, se realizó la simulación con ayuda de Solidworks y


de MATLAB/Simulink obteniendo así una vista mejorada de la cinemática inversa de
nuestro robot.

Con el siguiente código en base a las Qd se planeaba una trayectoria basada en una
ecuación general paramétrica, la cual describía un movimiento suave en un determinado
tiempo. Simplemente modificando las Qi y Qf se podríaobtener lso parámetros que
satisfacen la ecuación propuesta y así ingresarlo posteriormente en nuestro modelo de
Simulink.

clc
clear

syms a5 a4 a3 a2 a1 a0 ti tf t qi qf dqi dqf ddqi ddqf real

q=a5*t^5+a4*t^4+a3*t^3+a2*t^2+a1*t+a0

dq=diff(q,'t')
ddq=diff(q,'t',2)

A=[ti^5 ti^4 ti^3 ti^2 ti 1;


tf^5 tf^4 tf^3 tf^2 tf 1;
5*ti^4 4*ti^3 3*ti^2 2*ti 1 0;
5*tf^4 4*tf^3 3*tf^2 2*tf 1 0;
20*ti^3 12*ti^2 6*ti 2 0 0;
20*tf^3 12*tf^2 6*tf 2 0 0;]

B=[qi qf dqi dqf ddqi ddqf]'

a=inv(A)*B

qi=-1.4560; %%Parte Modificable en rad


qf=-1.4560; %Parte Modificable en rad
dqi=0;
dqf=0;
ddqi=0;
ddqf=0;

ti=0;
Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 28
Diseño y construcción de un robot manipulador de 2 GDL Robótica

tf=10;

a5=eval(a(1));
a4=eval(a(2));
a3=eval(a(3));
a2=eval(a(4));
a1=eval(a(5));
a0=eval(a(6));

N=10;
t=[ti:(tf-ti)/N:tf]

q=a5.*t.^5+a4.*t.^4+a3.*t.^3+a2.*t.^2+a1.*t+a0
dq=5.*a5.*t.^4+4.*a4.*t.^3+3.*a3.*t.^2+2.*a2.*t+a1
ddq=20.*a5.*t.^3+12.*a4.*t.^2+6.*a3.*t+2.*a2

plot(t,q)
hold on
plot(t,dq,'red')
plot(t,ddq,'green')
xlabel('t')
ylabel('q(t)');

También el código general las curvas gráficas del desplazamiento a la posición, así como el
comportamiento de la velocidad y aceleración de los eslabones estudiados.

En la figura 16 se muestra el diagrama a bloques de Simulink donde se realizó el procesos


de simulación entre Solidworks y MATLAB.

Fig. 16. Diagrama a bloques con Simulink desde SolidWorks

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 29
Diseño y construcción de un robot manipulador de 2 GDL Robótica

7.2. CONTROL DINÁMICO (PID)

Un PID es un mecanismo de control por realimentación que calcula la desviación o error


entre un valor medido y el valor que se quiere obtener, para aplicar una acción correctora
que ajuste el proceso. El algoritmo de cálculo del control PID se da en tres parámetros
distintos: el proporcional, el integral, y el derivativo. El valor Proporcional determina la
reacción del error actual. El Integral genera una corrección proporcional a la integral del
error, esto nos asegura que aplicando un esfuerzo de control suficiente, el error de
seguimiento se reduce a cero. El Derivativo determina la reacción del tiempo en el que el
error se produce. La suma de estas tres acciones es usada para ajustar al proceso vía un
elemento de control como la posición de una válvula de control o la energía suministrada a
un calentador, por ejemplo. Ajustando estas tres variables en el algoritmo de control del
PID, el controlador puede proveer un control diseñado para lo que requiera el proceso a
realizar. La respuesta del controlador puede ser descrita en términos de respuesta del
control ante un error, el grado el cual el controlador llega al "set point", y el grado
de oscilación del sistema. Nótese que el uso del PID para control no garantiza control
óptimo del sistema o la estabilidad del mismo. Algunas aplicaciones pueden solo requerir
de uno o dos modos de los que provee este sistema de control. Un controlador PID puede
ser llamado también PI, PD, P o I en la ausencia de las acciones de control respectivas. Los
controladores PI son particularmente comunes, ya que la acción derivativa es muy sensible
al ruido, y la ausencia del proceso integral puede evitar que se alcance al valor deseado
debido a la acción de control.

Tanto el controlador PID como el controlador PID con dinámica invertida no tienen
ninguna dificultad de nivel teórico, y su descripción puede encontrarse en cualquier libro
básico de robótica. Las leyes de control del PID y del PID e dinámica invertida son
respectivamente las siguientes:

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 30
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Nuestro sistema estaba dado por el siguiente diagrama de bloques:

Fig. 17. Diagrama a bloques del sistema robótico realizado.

El siguiente código controla por medio de PID la posición del motor, este código fue
implementado en arduino:

int led=13; //indicacion del punto deseado

int val=0; //variable de almacenamiento de los valores del pot1


double analogpin= A1; //lecturos del pot1

int canal1= 10; //pin con PWM


int canal2= 11; //pin con PWM
int encoder0PinA = 8; //pin de lectura del canalA del encoders
int encoder0PinB = 9; //pin de lectura del canalb del encoders
int encoder0Pos = 0; //variable para almacenar las cuentas de los pulsos
int encoder0PinALast = LOW;
int n = LOW;
int T;

double Pd= 0;
double q=0;
double q0=0;
double qd=0;

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 31
Diseño y construcción de un robot manipulador de 2 GDL Robótica

unsigned long tp;

double e=0;
double e_sum;
double ep=0;
double de;
int Output;

double kp=20; //ganancia del proporcional


double ki=0; //ganancia del integral
double kd=1; //ganancia del derivativo

int va1l=0; //variable de almacenamiento de los valores del pot2


double analogpin1= A0; //lecturos del pot2

int cana21= 5; //pin con PWM


int cana22= 6; // pin con PWM
int encoder0PinA1= 3; //pin cualquiera
int encoder0PinB1 = 4; //pin cualquiera
int encoder0Pos1 = 0;

int encoder0PinALast1 = LOW;


int n1 = LOW;
int T1;

double Pd1= 0;
double q1=0;
double q01=0;
double qd1=0;

unsigned long tp1;

double e1=0;
double e_sum1;
double ep1=0;
double de1;
int Output1;

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 32
Diseño y construcción de un robot manipulador de 2 GDL Robótica

double kp1=20; //ganancia del proporcional


double ki1=0; //ganancia del integral
double kd1=1; //ganancia del derivativo

void setup()
{
pinMode (analogpin,INPUT);
pinMode (analogpin1,INPUT);

pinMode (encoder0PinA,INPUT);
pinMode (encoder0PinB,INPUT);

pinMode (canal1,OUTPUT);
pinMode (canal2,OUTPUT);

pinMode (encoder0PinA1,INPUT);
pinMode (encoder0PinB1,INPUT);

pinMode (canal1,OUTPUT);
pinMode (canal2,OUTPUT);

pinMode (led,OUTPUT);

}
void loop()
{

val=analogRead(analogpin);
Pd=map(val,0,1023,0,360);

n = digitalRead(encoder0PinA);
if ((encoder0PinALast == LOW) && (n == HIGH)) {
if (digitalRead(encoder0PinB) == LOW)
{
encoder0Pos--;
}
else{
encoder0Pos++;
}

q=map(encoder0Pos,0,900,0,360);
}
encoder0PinALast = n;

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 33
Diseño y construcción de un robot manipulador de 2 GDL Robótica

qd = Pd;

e=(qd-q); //error
de=(e-ep)/.00001; //derivada del error
e_sum+=e; //e_sum=e_sum+e
Output= (int)(kp*e+ki*e_sum+kd*de); //*9.8)+ki*e_sum+kd*de; ////PID
T=(int) (Output);
ep=e;

val1=analogRead(analogpin1);
Pd1=map(val1,0,1023,0,360);

n1 = digitalRead(encoder0PinA1);
if ((encoder0PinALast1 == LOW) && (n1 == HIGH)) {
if (digitalRead(encoder0PinB1) == LOW)
{
encoder0Pos1--;
}
else{
encoder0Pos1++;
}

q1=map(encoder0Pos1,0,900,0,360);
}
encoder0PinALast1 = n1;

qd1 = Pd1;

e1=(qd1-q1); //error
de1=(e1-ep1)/.00001; //derivada del error
e_sum1+=e1; //e_sum=e_sum+e
Output1= (int)(kp1*e1+ki1*e_sum1+kd1*de1); //*9.8)+ki*e_sum+kd*de; ////PID
T1=(int) (Output1);
ep1=e1;

if(T>=0 )
{
T=constrain (T,0,255);
analogWrite(canal1,T);
analogWrite(canal2,0);

if(e == 0){
digitalWrite(led,HIGH);
}
Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 34
Diseño y construcción de un robot manipulador de 2 GDL Robótica

else{
digitalWrite(led,LOW);
}
}
if(T<0 )
{
T=abs(T);
T=constrain (T,0,255);
digitalWrite(led,LOW);
analogWrite(canal2,T);
analogWrite(canal1,0);
}

if(T1>=0 )
{
T1=constrain (T1,0,255);
analogWrite(cana21,T1);
analogWrite(cana22,0);
}
if(T1<0 )
{
T1=abs(T1);
T1=constrain (T1,0,255);
analogWrite(cana22,T1);
analogWrite(cana21,0);
}

delayMicroseconds(10);
}

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 35
Diseño y construcción de un robot manipulador de 2 GDL Robótica

8. RESULTADOS

El resultado se muestra físicamente en las siguientes imágenes, aunque tuvimos problemas


de construcción pudimos sacar adelante el proyecto. Aún nos quedaron detalles sobre el
diseño por la fricción que generaba la cinta que usamos para recubrirlo. Se cree que se
puede mejorar mucho en cuestiones mecánicas para así no tener problemas posteriormente
con los motores, pues en esta ocasión ese causante hizo que se batallara mucho, además no
calcular bien la dinámica en el proyecto.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 36
Diseño y construcción de un robot manipulador de 2 GDL Robótica

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 37
Diseño y construcción de un robot manipulador de 2 GDL Robótica

9. CONCLUSIONES

Se aprendió mucho de lo que se ví en clases, además al ser un curso nuevo en el plan


curricular nos ensenó a usar software y uni entre los mismos para optimizar resultados.
Como parte de la materia de robótica, se generaron las bases suficientes para poder realizar
más proyectos, aunque a nuestro equipo se les dificultaron ciertas cuestiones, trabajamos en
equipo con otros equipos para retroalimentarse y apoyarnos.

Lo que corresponde a dinámica y control fueron de las partes más difíciles de realizar ya
que el no asistir a clases y la complejidad del mismo sistema lo hace un poco tardado de
comprender. Nos sentimos satisfechos de lo aprendido y realizado en el proyecto. Nuestro
trabajo en equipo lo consideramos como bueno.

Esperemos ya no realizar prototipos de dos grados de libertad sino aumentar, aunque los
costes sean elevados, la ayuda de software para simulación son de gran utilidad a la hora de
diseñar y probar prototipos.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 38
Diseño y construcción de un robot manipulador de 2 GDL Robótica

10. BIBLIOGRAFÍA
[1] Barrientos, A., Peñin, L. F., Balaguer, C. y Aracil, R. (2007) Fundamentos de Robótica.
McGraw-Hill. 2da Edición. pp. 16. México.

[2] Fu, K. S., González, R. C. y Lee, C. S. G. (2005). Robótica: Control, detención, visión e
inteligencia. McGraw-Hill. 3da Edición. pp. 21. México.

[3] Craig, J. J., (2006), Robótica, Tercera Edición, PEARSON Educación, pp. 11, México,
ISBN 970 26 0772 8

[4] Zabala, G. y Mon, G. (2011). Robótica, guía teórica y práctica (revista). Ediciones User
Power. pp. 134. México

[5] Lemuel Albert, A. (2005). Electrónica y dispositivos electrónicos. Primera Edición.


Editorial Reverté (Versión Española). pp. 346. España.

[7] Página oficial de Arduino. Consultado el día 10 de diciembre de 2013 desde


http://arduino.cc/

[8] Página oficial de SolidWorks. Consultado el 11 de diciembre de 2013 desde


http://www.solidworks.com/

[9] Rodríguez, J. R. (2005). Tutorial de Robótica. Capítulo II, Cinemática. Universidad de


Guadalajara. Centro Universitario de Ciencias Exactas e Ingeniería. Consultado el 11
de diciembre de 2013 desde
http://proton.ucting.udg.mx/materias/robotica/r166/r91/r91.htm

[10] Ollero Baturone, A. (2001). Robótica. Manipuladores y robots móviles. Primera


Edición. Marcombo Alfaomega. pp. 89. España

[11] Somolinos Sánchez, J. A. (2001). Modelo dinámico y control de un robot flexible de


tres grados de libertad. (Tesis Doctoral). Ediciones de la Universidad de Castilla-La
Mancha. pp. 29-35. España.

[12] García Higuera, A. (2001). Control combinado posición/fuerza de un robot con dos
eslabones flexible y tres grados de libertad. (Tesis Doctoral). Ediciones de la
Universidad de Castilla-La Mancha. pp. 44-45. España.

[13] Vivas Albán, O. A., (2010). Diseño y control de robots industriales: teoría y práctica
Primera Edición. Ediciones Elalep. pp. 100-105.

Carlos A. Presuel Marrufo; Edgar A. Chulínes Domínguez; Luís A. May Rejón; Ma. Elena Meza Abreu 39

También podría gustarte