Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseno y Construccion de Un Brazo Robotico de Dos Grados de Libertad RR PDF
Diseno y Construccion de Un Brazo Robotico de Dos Grados de Libertad RR PDF
Diseño y construcción de un
brazo robótico de dos grados
de libertad (RR)
Robótica
Ingeniería Mecatrónica
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]
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
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
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
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.
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
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.
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.
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 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.
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]
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.
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).
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
Parámetros Denavit-Hartenberg
d a α
1 30 16
2 0 12 0
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.
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)
T_01=A_01
T_02=A_01*A_12
P1=T_01*[0 0 0 1]'
P2=T_02*[0 0 0 1]'
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
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
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
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]
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
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)
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]'
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;
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
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.
F= m dv
T= I dw + w (Iw)
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
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 inverso: expresa las fuerzas y pares que intervienen en función
de la evolución de las coordenadas articulares y sus derivadas.
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.
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]
L-E 1. Asignar a cada eslabón un sistema de referencia de acuerdo a las normas de D-H.
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
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:
Con i, j = 1,2,...,n
Con i = 1,2,...,n
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.
t = D d²q + H + C.
Donde t es el vector de fuerzas y pares motores efectivos aplicados sobre cada coordenada
qi.
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.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]
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.
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.
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)
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
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
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:
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
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
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=inv(A)*B
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.
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
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
El siguiente código controla por medio de PID la posición del motor, este código fue
implementado en arduino:
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
double e=0;
double e_sum;
double ep=0;
double de;
int Output;
double Pd1= 0;
double q1=0;
double q01=0;
double qd1=0;
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
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
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
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
[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