Você está na página 1de 57

2010

Instituto Politécnico Nacional


Unidad Profesional Interdisciplinaria de Ingenierías y Tecnologías Avanzadas

Reporte final de la construcción de un robot tipo SCARA

Asignatura: Mecatrónica VI

Alumnos:

Álvarez Toledo Jorge


Cortez Vázquez Ricardo
García Facio David
Morales Cabrera Gustavo
Rabadán Ortiz Adrian
Rodríguez Hernández Héctor
Rodríguez Palomeque Yair
Sánchez Chaparro Miguel Ángel
San Miguel Rodríguez Josué Daniel

Carrera: Ingeniería en Mecatrónica

Semestre: 8º 2009-2010 B

Grupo: 8MM1
Índice

1. Campos de aplicación de un robot tipo SCARA


1.1 Objetivos generales
1.2 Objetivos Particulares
1.3 Justificación del uso de un robot tipo SCARA
1.4 Requerimientos necesarios para el uso de un robot tipo SCARA

2. Viabilidad económica
2.1 Beneficios esperados
2.1.1 A nivel macroeconómico
2.1.2 A nivel microeconómico
2.1.3 A nivel personal
2.2 Distribución de las labores dentro del equipo de trabajo
2.3 Análisis Costo Beneficio
2.3.1 Recursos Disponibles
2.3.2 Costos esperados
2.3.3 Costo de producción unitario
2.3.4 Fijación del precio de venta
2.3.5 Proyección económica a 5 años

3. Especificaciones técnicas del robot

4. Desarrollo técnico del robot


4.1 Validación mecánica del diseño
4.1.2 Análisis de eslabón 2
4.1.3 Análisis de eslabón 1
4.2 Adaptaciones y modificaciones finales al diseño
4.2.1 Rodamientos
4.2.2 Transmisión por cadena
4.2.3 Dimensiones finales de los eslabones
4.3 Control de posición de motores de CD
4.4 Diseño y control del actuador final (gripper)
4.5 Control por visión artificial
4.5.1 Área de Visión y Calibración de Cámara
4.5.2 Programación
4.6 Interfaz de Usuario
4.7 Modelo Dinámico del Robot Scara

5. Conclusiones

6. Referencias bibliográficas

7. Anexo A: Tablas sobre viabilidad económica

8. Anexo B: Validación del diseño mecánico

9. Anexo C: Planos del diseño mecánico

10. Anexo D: Desarrollo matemático para control de motores de CD

11. Anexo E: Programas para el control de posición en motores de CD


Diseño y Construcción de robot SCARA
1. Campos de aplicación de un robot tipo Scara

1.1 Objetivos Generales


Crear un robot Scara que sea capaz de realizar
movimientos con alto grado de precisión y
repetitividad.

1.2 Objetivos Particulares


 Aplicar los conceptos básicos de
cinemática directa e inversa, así como la
matriz jacobiana.
 Diseñar y validar la estructura mecánica
del robot.
 Desarrollar un sistema de control PID Figura 1.3a. Aplicaciones de los robots SCARA.
para regular la posición motores de CD.
 Implementar un sistema de control
retroalimentado por visión artificial.
 Construir un gripper que sea capaz de
mantenerse a una altura constante
respecto a una superficie.

1.3 Justificación
Los robots de configuración SCARA son ideales
para procesos en los que se manejan pequeños
productos y al mismo tiempo se demanda
velocidad y precisión en los movimientos. En
industrias donde están presentes procesos de
agarrar y posicionar (pick and place) los robots
SCARA son ideales, pues su tamaño es Figura 2.3b. Aplicaciones de los robots SCARA.
sumamente reducido en comparación con
manipuladores cartesianos, además que su 1.4 Requerimientos
mantenimiento es relativamente más barato y por Los requerimientos básicos con los que debe de
su propia configuración presentan movimientos cumplir un Robot SCARA que tenga aplicaciones
más limpios. dentro de la industria farmacéutica o alimenticia,
son los siguientes:
Las tareas principales que desempeñan los robots  Dimensiones. Las dimensiones de la
SCARA dentro de la industria farmacéutica y estructura del robot se muestran en la
alimenticia son las de separar objetos en las líneas figura 2. Éstas están directamente
de producción, ya sea por defecto o porque serán relacionadas con el espacio de trabajo
empacados, motivo por el cual los movimientos requerido para la aplicación.
deben ser rápidos y precisos, tal como se puede
observar en la figura 1.  Área de trabajo. El área de trabajo bajo
Una necesidad que suele presentarse es la de la que está delimitado el robot se muestra
esquivar objetos que estén dentro de un rango de en la figura 2.
alturas, para ello el gripper del robot SCARA es
capaz de adaptar su altura de forma automática sin
dejar de sujetar el objeto transportado.
pastillas en blíster o de alimentos
empacados con un peso máximo de 500
gr.

 Control por visión artificial. Para


aplicaciones en las que se requiere que el
robot distinga entre objetos con diversas
características es necesario implementar
un sistema de visión artificial que ayuda
a la identificación de éstas y de esta
forma usar esta información para trabajar
con los distintos objetos.

2. Viabilidad económica
Figura 1.4a. Dimensiones de los robots SCARA.
2.1 Beneficios esperados

2.1.1 A nivel macroeconómico


 Contribuir a la reducción de la fuga de
capital.
 Tener disponible tecnología nacional de
buena calidad, comparable con la
tecnología extranjera.
 Lograr la apertura de fuentes de empleo.
 Que las autoridades escolares y
gubernamentales reconozcan que la
inversión en tecnología es un negocio
redituable.
Figura 1.4b. Área de trabajo de los robots SCARA.  Lograr un proyecto que sea
energéticamente eficiente, contribuyendo
de esta forma a disminuir la
contaminación ambiental.

2.1.2 A nivel microeconómico


Parámetro Longitud (mm)  Poner a disposición de las industrias
H1 265 tecnología de calidad a un buen costo.
L1 222  Lograr que las industrias tengan un
L2 220 mayor interés por la tecnología nacional.
H2 180  Ahorrar tiempos muertos en las
Radio exterior 400 industrias cuando éstas requieren la
Radio interior 230 reparación o mantenimiento de
Ángulo de apertura 216° maquinaria, pues las refacciones se
encuentran dentro del país.
Tabla 1.4a. Dimensiones de los robots SCARA.  Disminuir la perdida de ganancias de las
empresas cuando éstas reparan o dan
 Velocidad. La velocidad a la que mantenimiento a su maquinaria.
trabajara el robot será una velocidad  Favorecer al ahorro de las industrias en el
constante de 240°/s, la cual es una aspecto energético.
velocidad suficiente para recorrer el área  Contribuir a que las empresas logren
de trabajo en un tiempo óptimo. procesos más limpios y precisos,
obteniendo así productos de mayor
 Carga. La capacidad de carga que se calidad que se verán reflejados en
exige para el funcionamiento del robot es mayores ganancias.
pequeña sin rebasar 1kg, pues los objetos
que manejará son del tamaño y peso de
 Poner a disposición de las empresas una
variedad de opciones de pago en la 2.3.2 Costos esperados
compra de tecnología. En la tabla 4 del anexo A se muestra la duración
de cada actividad, con su correspondiente
2.1.3 A nivel personal responsable. Para determinar el costo de cada hora
 Llevar a la práctica los conocimientos de trabajo se tomó como referencia un salario
adquiridos en clase. mínimo de $52.59 (que incluye 8 horas laborales),
 Resolver problemas prácticos que en el por lo que cada hora de trabajo tiene un costo de
salón de clase no se presentan. $7.323.
 Tener la oportunidad de conocer la
aplicación industrial del proyecto. Para la manufactura de las piezas se tiene un costo
 Tener la oportunidad de lograr introducir especial, pues se utilizó un centro de maquinado
el proyecto dentro de una empresa. CNC y un torno convencional, el costo de
 Lograr que las empresas se interesen por manufactura se muestra en la tabla 5 del anexo A.
los proyectos realizados dentro de la
Escuela y del Instituto. Por lo que se tiene un costo total de mano de obra
 Comprender todos los procesos por $10,914.772
administrativos que dentro de una
empresa se llevan a cabo para que ésta Los costos de los materiales que se utilizaron para
trabaje correctamente. la construcción del proyecto se muestran en la
 Obtener una visión más amplia de la tabla 6 del anexo A. Dicha tabla de costos servirá
situación económica y tecnológica del para determinar el costo unitario y de venta del
país. proyecto.
 Tener una alternativa para poder formar
una empresa y lograr ser independientes. La tabla 7 del anexo A muestra una relación de
otros gastos que se tuvieron durante la
construcción del proyecto.
2.2 Distribución de las labores dentro del
equipo de trabajo 2.3.3 Costo de producción unitario
Es el costo que adquiere el producto terminado,
Para la fabricación del robot se crearon cinco consecuencia de la suma de todos los costos de los
diferentes departamentos con tareas específicas materiales utilizados en su fabricación. El costo de
con la finalidad de obtener un mejor desempeño producción unitario se fija a partir de la siguiente
en la elaboración del proyecto, estos fórmula:
departamentos se pueden observar en la tabla 1
mostrada en el anexo A.
La asignación de los integrantes de cada
departamento así como la distribución de las
tareas se llevo a cabo con base a las habilidades de
cada integrante del equipo.

2.3 Análisis Costo Beneficio Sustituyendo valores se tiene lo siguiente:

2.3.1 Recursos Disponibles


En la tabla 2 del anexo A se muestran los
recursos materiales con los que se contaba cuando
se realizó la construcción del proyecto, en su
mayoría son herramientas mecánicas y equipo de
cómputo. El costo unitario de producción para 100 unidades
mensuales es de:
Para el cargo de depreciación de los recursos con
los que ya se contaban se tomo como referencia la
Ley del Impuesto Sobre la Renta a partir de su
artículo 40. La tabla 3 del anexo A muestra el
porcentaje de depreciación de cada recurso con el
que se cuenta.
2.3.4 Fijación del precio de venta
Para la fijación del precio de venta se toma en
cuenta un 35% de ganancia, por lo que se tiene lo
siguiente:

De lo anterior se puede deducir la ganancia


mensual para la fabricación de 100 unidades
mensuales, ésta se calcula como:

2.3.5 Proyección económica a 5 años


Considerando la inversión inicial para la
producción de robots SCARA se tiene en la tabla
8 del anexo A.
Considerando un requerimiento mensual constante
de 100 robots durante 5 años se tendrá una
ganancia de:

Por lo que la inversión se recuperará en:


3. Especificaciones técnicas del robot  Motor para gripper
(WMOT3) = (0.750 Kg) (9.81 m/s2) = 7.36
Las especificaciones técnicas del funcionamiento N
del robot se muestran en la siguiente tabla:  Rodamientos entre eslabón 2 y 1
(WROD) = (0.200 Kg) (9.81 m/s2) = 1.962
Tensión de alimentación N
25 Volts
de motores
 Peso del eslabón 1
Corriente mínima de
0.50 Ampers (WE1) = (0.750 Kg) (9.81 m/s2) = 7.36 N
alimentación
 Mecanismo de eslabón 1 (WM1) = (1.0
Corriente máxima de
alimentación
1.20 Ampers Kg) (9.81 m/s2) = 9.81 N
Velocidad de trabajo 240°/s (40 rpm)  Motor para eslabón 2 (WMOT2) = (0.750
Carga de trabajo 0.50 Kg Kg) (9.81 m/s2) = 7.36 N
Apertura máxima de 4.1.2 Análisis para el eslabón 2
0.05 m
tenazas Las cargas a las que está sometido este eslabón
Peso del robot 5.00 kg son: WL, WMG, WE2, WM3, WMOT3. Se sabe que la
Tabla 3a. Especificaciones técnicas de robot SCARA. resistencia del aluminio a la fluencia (σy) es de
255 MPa, mismo que es el esfuerzo de falla, y
4. Desarrollo técnico del robot considerando un coeficiente de seguridad de 2, se
obtiene lo siguiente:
4.1 Validación mecánica del diseño
Mediante al análisis de elemento finito se
comprueba el diseño de cada una de las placas que
integran los eslabones del robot. Dicho análisis se
llevo a cabo en Autodesk Inventor 2010, el cual
cuenta con un módulo de análisis de elemento
finito.
Recordando la distribución de cargas mostradas
en la figura 3 se divide el análisis en cada eslabón
del robot. Haciendo un análisis de esfuerzos en Autodesk
Inventor 2010, se obtiene los resultados mostrados
en la figura 1 del anexo B, donde se puede
observar que el esfuerzo máximo al que está
sometida la pieza es de 15.43 MPa, esfuerzo
mucho menor al esfuerzo de trabajo, por lo que se
asegura la durabilidad de éste.
En la figura 2 del anexo B se puede observar la
deformación que sufre la pieza debido a las
fuerzas presentes en ésta, siendo la deformación
máxima sufrida de 0.2205 mm.

4.1.3 Análisis para el eslabón 1


Las cargas a las que está sometido este eslabón
son: WROD, WE1, WM1, WMOT2. Debido a las
Figura 4.1a. Cargas a las que esta sometidas el robot.
fuerzas de reacción que tiene el eslabón 2 sobre el
eslabón 1 existe una carga de 39.245 N. Se sabe
La distribución de cargas enlista a continuación: que la resistencia del aluminio a la fluencia (σy) es
 Carga máxima a levantar de 255 MPa, mismo que es el esfuerzo de falla, y
(WL) = (0.500 Kg) (9.81 m/s2) = 4.905 N considerando un coeficiente de seguridad de 2, se
obtiene lo siguiente:
 Mecanismo del gripper
(WMG) = (1.0 Kg) (9.81 m/s2) = 9.81 N
 Peso del eslabón 2
(WE2) = (0.750 Kg) (9.81 m/s2) = 7.36 N
 Mecanismo de eslabón 2
(WM3) = (1.0 Kg) (9.81 m/s2) = 9.81 N
Haciendo un análisis de esfuerzos en Autodesk
Inventor 2010, se obtiene los resultados mostrados
en la figura 3 del anexo B, donde se puede
observar que el esfuerzo máximo al que está
sometida la pieza es de 53.75 MPa, esfuerzo
mucho menor al esfuerzo de trabajo, por lo que se
asegura la durabilidad de éste.
En la figura 4 del anexo B se puede observar la
deformación que sufre la pieza debido a las
fuerzas presentes en ésta, siendo la deformación
máxima sufrida de 2.282 mm.
4.2 Adaptaciones y modificaciones finales al 4.2.3 Reajuste de las dimensiones de los
eslabones
diseño
Como se menciono anteriormente, debido a la
De acuerdo con el diseño mecánico planteado en selección de la transmisión por cadena se tuvo que
un inicio existen variaciones respecto a la reajustar las longitudes de los eslabones,
selección de rodamientos, transmisión por cadena quedando como se muestra en el anexo C.
y longitud de los eslabones.

4.2.1 Selección de rodamientos


En el reporte anterior se desarrolló la selección de
rodamientos con base a las tablas características
de la marca SKF, dando como resultado un
rodamiento 6201, pero debido al alto costo que
éste presentaba y sobre todo que su espesor no
correspondía con el esperado para el diseño se
decidió buscar otras opciones. De la búsqueda se
obtuvo como resultado un rodamiento de la marca
URB modelo R8-2R5 cuyas características se
muestran a continuación:

B 7.93 mm
D 28.575 mm
d 12.7 mm

Figura 4.2.1a. Cargas a las que esta sometidas el robot.

El rodamiento anterior soporta una velocidad


angular máxima de 175 rpm y tiene una vida
media de 7200 horas.

4.2.2 Transmisión por cadena


Finalmente para la transmisión se selecciono una
transmisión por cadena flexible del número 15 con
paso de ¼” siendo capaz de soportar una potencia
de 0.0402 hp, la cual es proporcionada por los
motores.
Debido a la selección de esta cadena se tuvo que
rediseñar la distancia entre centros de los
sprockets siendo de 142 mm.
4.3 ETAPA DE CONTROL DE MOTORES DE CD Sustituyendo a, b, c y d en (1) y (2).
A. MÉTODO A EMPLEAR PARA CARACTERIZAR
MOTORES.

Se desarrolla un método de ajuste por mínimos


cuadrados de los parámetros físicos de un motor
de CD de imán permanente, aplicando el método Aplicando el método de Hamming a (3).
de predicción corrección de Hamming para Sea
ecuaciones diferenciales ordinarias.

La implementación se realizó usando lenguaje


formal para Matlab. El método propone, que para
el ajuste de los parámetros es necesario el
muestreo de las siguientes señales: Corriente de
armadura ( ), la velocidad angular ( ) y la
tensión de alimentación ( ). Dichas señales Si expresamos las variables en diferencias
deben ser necesariamente muestreadas durante el como:
arranque del motor, ya que en este lapso de
tiempo es donde se observa con mayor claridad el
comportamiento dinámico del motor.
1. Metodología
Para un motor de CD de imán permanente
Tenemos las siguientes ecuaciones: Sustituyendo en (5), obtenemos la ecuación (9)

Auxiliándonos del método de Hamming, que se Para la ecuación (4)


estructura de la construcción de las
aproximaciones a la solución de valor inicial:

Usando el valor predictor: Sustituyendo (6), (7) y (8) obtenemos (11).

Una modificación y el valor corrector: Por otra parte lo que se pretende al aplicar este
método es tener el comportamiento dinámico de
las ecuaciones (3) y (4), pero lo que necesitaremos
para poder obtener los parámetros, es minimizar
Ahora si nosotros ya conocemos , pues ya el error que nos pueda generar el método de
no es necesario aplicar el predictor, basta con Hamming, dicho de otro modo debemos de
aplicar el corrector. obtener los valores óptimos de los parámetros para
poder realizar un ajuste de las curvas obtenidas
Para simplificar los cálculos realizaremos por el circuito electrónico, por lo tanto
algunos cambios de variable, sea: aplicaremos el método de mínimos cuadrados.
Si empezamos con la curva descrita por (9),
entonces la distancia vertical desde el punto
hasta el punto 2. PID

, de la curva: Controlador del sistema a su entrada recibe el


error generado por la diferencia entre las salidas
deseadas de las variables articuladas y la medición
directa de éstas mediante un sensor resistivo.

Su función de transferencia obedece a la


ecuación:
Se debe minimizar la suma de los cuadrados de
las distancias verticales

B. CONTROL DE LOS MOTORES DE CD PARA LOS


PRIMEROS DOS GRADOS DE LIBERTAD. (PARTE 3. Los bloques D y C
TEÓRICA)
Son compensadores del sistema, donde D es
La implementación de una etapa de control de una matriz donde sus elementos están
posición de motores es de suma importancia para conformados por las masas e inercias que al ser
el correcto funcionamiento del robot, ya que ésta multiplicadas por la salida del controlador PID
asegura que se alcanzan de manera confiable las generan una estimación del par generado por la
posiciones de las variables articuladas deseadas estructura debido a las variables articuladas y que
por el robot SCARA, en la fig.4.3a se propone el afectan directamente, en este caso, a los motores
diagrama de control en lazo cerrado del sistema generadores del par del sistema.
robótico, ya que hay que ver a la planta como todo
lo que comprende el robot y no solo los
actuadores.

fig. 4.3a Diagrama de control del sistema robótico de los primeros dos grados de libertad

1. Cinemática Inversa C es una matriz de las componentes de las


reacciones que existen en las uniones de los
Es el algoritmo que nos proporciona el valor de eslabones, de tal forma que estas reacciones al
las variables articulares a los que deseamos rotar relacionarse con la geometría de la estructura
en este caso por simplicidad del control se indica también generan un par perturbador.
qd como un vector el cual contiene todas las
4. Motor 1 y Motor 2
variables articuladas tanto de posición y velocidad
Son nuestros generadores de par para poder
angular de los eslabones .
producir movimiento entre los eslabones de la 1. Computadora (Algoritmo de los valores de
estructura. las variables articuladas)
Para la posible implementación de este control
Para ver a un motor como un generador de par en lazo cerrado será necesario de una
se debe de analizar como un nuevo sistema de computadora que nos proporcione los valores de
control, de tal forma que, el motor proporcione el las variables articuladas deseadas, a las que debe
par deseado en cada instante de tiempo en el que responder el sistema.
se le requiera.
Únicamente se procesará algún algoritmo para
Se puede observar que en el diagrama de la la decodificación de posición o velocidades
deseadas en el efector final, en el caso de la
fig.4.3b la mayoría de las constantes La, Ra, ke, J
cinemática inversa, de las variables articuladas. Y
y b son los parámetros internos del motor,
se realizará la misma, para el caso contrario,
obtenidos mediante el método explicado en A. cinemática directa. De tal forma que a un
Método a emplear para caracterizar motores. microcontrolador, externo, se le proporcionen
Además que al igual que el seguimiento de dichos valores que deben de entrar a nuestro
trayectoria de las variables articuladas, también se proceso de control.
hace el uso de un controlador PID para asegurar la
respuesta inmediata del par requerido.

fig. 4.3b Diagrama del controlador de par


2. Microcontrolador (Implementación de un
5. Estructura mecánica PID de forma digital)

Es el conjunto de elementos que conforman al Se implementará un controlador microchip


sistema articulado, donde ésta requiere de una matrícula PIC18F4550, del cual utilizaremos:
entrada tipo par para poder generar movimiento y
que genera una gran cantidad de interferencia en
el proceso de control durante la dinámica del • 1 puerto para comunicación USB. de 1.5
sistema. Mb/s -12 Mb/s.
• 64 bytes acceso dual para USB.
• 2 canales ADC, con 10 bits.
C. CONTROL DE LOS MOTORES DE CD PARA LOS • 1 generador con 2 canales, PWM con
PRIMEROS DOS GRADOS DE LIBERTAD. (PARTE resolución de 1 a 10 bits.
PRÁCTICA)
• Comunicación tipo bulk.
• Driver: Mpusbapi.
Este sistema de control se implementará de
forma digital, ya que en la actualidad es necesaria • Librerias: Mpusbapi.dll,mpusbapic.h.
la implementación de controladores digitales, pues • Cristal: 20 Mhz.
los analógicos ya están quedando obsoletos por la
gran cantidad de limitantes y tamaño de • Frecuencia de trabajo interna: 48Mhz
componentes.
Donde la programación se llevará a alto nivel
Para nuestro sistema de control digital
con el compilador PICC.
utilizaremos el siguiente hardware.
Para la implementación de la función de
transferencia del PID se programará mediante una
3. Etapa de potencia
serie de ecuaciones en diferencias.
Para esta etapa del sistema de control se
Para garantizar el correcto funcionamiento el implementaron puentes H con transistores tipo
sistema se muestreará a una frecuencia de mosfet, controlados por cambio del giro y señal
muestreo de 10Khz. Con la que se procura que pwm, como se puede ver en la fig 4.3c.
dicha frecuencia sea mayor a la frecuencia del
sistema de control.
Se implementaron los transistores canal p y n
La señal PWM trabajará a una frecuencia de con las matriculas IRF640 e IRF9640, se optó por
3Khz. este tipo de material porque sus zona de trabajo es
demasiado tolerante a cambios bruscos de
Se implementa un seguimiento de referencia demanda de corriente además de que se pueden
(dato enviado por la computadora al energizar a tensiones altas y su rango de
microcontrolador) y una retroalimentación frecuencias de activación de compuerta soporta
compuestas por 8 bits mediante la lectura de los mayores frecuencias que un BJT.
canales ADC, con dicha resolución se logran 255
posiciones (suponiendo que todas sean Para aislar al circuito digital de la etapa de
alcanzables por el conjunto actuador / potencia se utilizaron opto-acopladores 4n33.
acondicionador / estructura mecánica).

Para más información sobre la programación


del controlador PID ver Anexo B.

fig. 4.3c Esquema del circuito de la etapa de potencia


4.4 Diseño y control del actuador final El segundo es propuesto por un sistema de
(gripper) cremallera para poder transformar un movimiento
rotacional a un longitudinal. Este sistema nos
Al robot se le implementara un efector final el permitirá tener la posición del motor del sistema
cual debe ser capaz de sostener un bolígrafo o un de transmisión se desea controlar la posición del
plumón para pizarrón, con la característica mismo.
principal de avanzar sobre una superficie
irregular. Motores
Para el gripper se necesita un motor de baja
El efector debe de tener un alcance de por lo potencia ya que solo debe mantener el bolígrafo
menos 5 cm por encima de la superficie plana en posición. Si se consigue un motor que al estar
donde se trazara la trayectoria. sin corriente eléctrica mantenga el bolígrafo en la
El efector debe de lograr levantar por lo menos posición inicial se optara por este, en caso
300gr y a su vez lograr trazar sobre superficies contrario se mantendrá energizado para poder
irregulares. asegurar el agarre del bolígrafo.
Este movimiento debe de ser lo suficientemente Para el movimiento a lo largo del eje Z se
rápido, para evitar que el robot tenga que parar necesitara un motor con un par adecuado para
durante la trayectoria. poder mover sin problema mas de 300gr además
Este bolígrafo debe trazar sobre papel la del peso de la estructura del gripper. Este motor
trayectoria deseada por el usuario. será seleccionado de acuerdo a sus dimensiones y
El censado debe ser lo suficientemente preciso costo.
para evitar que la línea no sea continua, es decir
que la transmisión suba o baje afectando el trazo Control
de la trayectoria. Se diseño un simple ADC seguido de un micro
Lograr calibrar y aislar el censor de controlador y un puente H para el motor de la
perturbaciones del área de trabajo (iluminación, transmisión vertical. Ya que simplemente
ruido electromagnético, etc). comparando el sensor óptico con una referencia,
se desea a la salida con dos bits la combinación
A. Desarrollo adecuada para que el motor gire en diferente
Propuesta inicial sentido a través del puente h.
Sensor Para el gripper se implementara un
En un inicio se propone un censor óptico del tipo microcontrolador de tal forma que con dos
QRD, ya que este tiene la cualidad de ser lineal, y simples botones se pueda abrir y cerrar. Al cerrar
de fácil manejo e implementación. Se obtuvo en y llegar al borde del bolígrafo el motor se
un solo encapsulado tanto al emisor como al mantendrá energizado ocasionando una fuerza
receptor, por lo que al siguiente paso a cubrir es el necesaria para que el bolígrafo se mantenga en
diseño del control y la electrónica necesaria para posición.
poder procesar la señal obtenida del sensor.
Resultados preliminares
Material para el diseño de la estructura Sensor
Para este problema se pensó en algún polímero, ya Al realizar pruebas al censor se hizo notoria la
que es fácil de manejarse y maquinarse, además gran cantidad de perturbaciones que tenemos del
de que al diseño siempre hay que realizarle ambiente, ya que al variar la iluminación del
ajustes, se opta por este tipo de materiales, ya que entorno se tienen variaciones en la tensión de
es muy fácil agregar o quitar piezas de la salida del sensor. Por lo que se necesita aislarlo
estructura. Estos cambios comenzaran a partir de del entorno y disminuir lo mayor posible las
las pruebas realizadas conforme se desarrolla el perturbaciones.
mismo.
Material para el diseño de la estructura
Sistemas de transmisión Se comienza por utilizar la estructura de un lector
Para el efector se proponen dos diferentes de CD ya que al ser este un polímero cumple con
sistemas de transmisión, uno de ellos para el las características deseadas, además de que este
gripper; para poder abrir y cerrar hasta el diámetro lector ya tiene diferentes sistemas de transmisión,
deseado al colocar el bolígrafo o plumón para la los cuales podrían ser utilizados.
trayectoria.
Sistemas de transmisión Para el movimiento de las tenazas fue empleado el
Se utilizaran los sistemas de transmisión del lector mecanismo de un lector laser de un DVD el cual
de CD ya que los engranes están fabricados de se modificó a conveniencia para simular las
nylamid, este material tiene la capacidad de
tenazas del robot, para lograr este abrir y cerrar se
soportar grandes cargas en los dientes, por lo que
es factible utilizarlos. Además de que en la utilizó el motor que viene con el mecanismo, el
charola cuenta con un sistema rotacional- cual trabaja a 5v y tiene un consumo de 150 mA.
traslacional, el cual podría ser aplicado en el La etapa electrónica correspondiente se muestra
posicionamiento vertical del gripper. en la siguiente figura:

Motores
En el mismo lector de CD se tienen diferentes
motores ya que al ser de baja potencia tienen la
capacidad de por lo menos soportar el peso del
plumón, además de mantener la posición del
mismo, por lo que es muy factible utilizarlos en el
efector.

Control
Se utilizo un micro controlador AVR de la serie
ATMEGA8535 el cual ya incluye un convertidor
analógico digital. Por lo que la señal del sensor es
procesada por el micro controlador y mediante su
convertidor analógico digital compararlo con la
referencia. Que en este caso se trata de la posición
que se quiere mantener del gripper. Fig.4.4b Mecanismo empleado y modificado a
Este control es de buena precisión, rapidez y buen conveniencia.
funcionamiento. Pero el principal problema se
presento en el sensor, debido a las perturbaciones
del ambiente y los cambios de la iluminación. Por
lo que se implementara una forma de aislarlo y
reducir las perturbaciones.
Debido a lao mencionado al ser desplazado el
efector a lo largo de una superficie irregular este
tiende a subir y bajar de forma errónea, por lo que
se intentara solucionar el problema expuesto.

Características finales del efector

Fig4.4c. Diseño electrónico para el movimiento de


las tenazas.

Donde se utilizó un PIC16F628A para mandar la


secuencia correspondiente al puente H y así poder
abrir o cerrar las tenazas, cuando se presiona el
botón de abrir como se muestra en el diagrama
simbólico, en los pines 9 y 10 se tiene a la salida
1-0 y cuando se presiona el botón de cerrar, en la
salida del pin 9 y 10 se tiene 0-1, de esta manera
se genera un cambio en el sentido del motor por
medio del puente H, cabe mencionar que cuando
se reinicia el PIC la salida en el Pin 9 y 10 es cero,
Fig.4.4a Tenazas del robot.
por lo que los transistores NPN Q5 y Q6, no spres: btfsc PORTA,0
goto spres
conmutan y de esta manera el motor queda si
movlw 0x08
energía, y como se observa en el diagrama movwf PORTB
simbólico, los pines 9 y 10 nunca puede tener la goto sensa
combinación de 1-1 ya que eso generaría un corto
cerrar: call t50ms
circuito.
btfss PORTA,1
goto sensa
Los transistores Q5 y Q6 son BC548C, los cuales spres1: btfsc PORTA,1
son de baja potencia y sólo sirven para activar el goto spres1
puente H, para Q1 y Q2 se utilizaron TIP 31C y movlw 0x10
movwf PORTB
para Q3 y Q4 los complementarios TIP 32C, cabe
goto sensa
mencionar que el puente se calculó de tal forma
que los transistores entren siempre en saturación t50ms: movlw num2
respectivamente, de esta manera se evita que se movwf var2
carga: movlw num1
calienten por mala disipación de potencia, debida
movwf var1
a un voltaje presente entre el colector y emisor. decre: nop
nop
Programa para abrir y cerrar las tenazas nop
programada en el PIC16F628A: nop
nop
processor 16F628A decfsz var1,F
include <p16f628A.inc> goto decre
__CONFIG 0x2170 decfsz var2,F
goto carga
num1 equ 0xFF return
var1 equ 0x22 end
num2 equ 0x01
var2 equ 0x23
Diseño electrónico para la etapa de sensado y
org 0x00
goto inicio
movimiento del efector.
org 0x05
Como se mencionó anteriormente, el efector debe
inicio: CLRF PORTA ser capaz de cargar mínimo 300 g y controlar la
Movlw 0x07 altura de manera automática cuando la superficie
movwf CMCON
cambie, para esto se utilizó inicialmente el
bsf STATUS,RP0 ;Cambia al banco
1 sensor QRD114 y se diseñó su etapa electrónica
movlw b'00000011' ;Configura Puerto como se muestra en la figura, pero este diseño no
A como entrada/salida sirvió del todo, ya que los cambios de luz de una
movwf TRISA
zona a otra o el simple hecho de movernos
movlw b'00000000' ;Configura puerto
B como salida alrededor del efector produce variaciones
movwf TRISB indeseadas las cuales consideramos como ruido y
bcf STATUS,RP0 nos afectan, ya que no se puede estabilizar el
;Cambia al banco 0
efector y alcanzar la altura deseada.
clrf PORTB
sensa: btfsc PORTA,0 ;Sensa push Botton de entrada

goto abrir
btfsc PORTA,1
goto cerrar
goto sensa

abrir: call t50ms


btfss PORTA,0
goto sensa
Fig4.4d. Diagrama simbólico de la primera etapa
de sensado propuesta.

En este diseño, el emisor se conecta a una fuente


de corriente directa y permanece siempre
encendido, mientras que el fototransistor percibe Fig.4.4e Diagrama simbólico de la segunda etapa
los cambio de luz y a su salida tenemos una de sensado propuesta.
variación de corriente proporcional al cambio de
luz, la cual entra a la base de un transistor NPN, la
corriente de colector de este que depende de la
que entra en su base, permite que exista un voltaje Como se observa en este diagrama, la
variable en las resistencias conectadas al colector alimentación para el emisor ahora es pulsada a una
y Vcc, de tal manera que esa variación de voltaje frecuencia de 1 KHz, con la finalidad de evitar las
se puede enviar a un convertidor analógico-digital, frecuencias bajas que mencionamos
para realizar el control de posición del motor. anteriormente, por lo que el sensor ahora detectará
estas pulsaciones de luz en vez de una fuente de
Como es un circuito muy básico y el emisor de luz luz constante como se tenía en la etapa anterior,
está conectado a una fuente constante, el pero como ahora la respuesta del fototransistor se
fototransistor es vulnerable a fluctuaciones de baja espera que también sea pulsada a 1 kHz, se diseña
frecuencia, como movimientos generados un amplificador para aumentar más la señal que
alrededor del efector que producen variaciones de entrega este, como se muestra a continuación:
luz las cuales también generan variaciones en el
sensor y producen que al querer alcanzar la
referencia de altura deseada se tenga bastante
error o que no se alcance nunca porque el
fototransistor se haya saturado por un excedente
de luz, como lo hace la luz del sol.

Para evitar este problema y aislar el sensor de esas


variaciones de luz externas al efector, se diseñó
una segunda etapa de sensado en donde se
acondicionó la señal del fototransistor, además de
que se utilizó como sensor el PT113 como
emisor-fototransistor, en vez del QRD114, ya que
es más estable a los cambios de luz.
Fig.4.4f Diagrama simbólico para amplificar la
Primero se cambió la alimentación del emisor
señal del fototransistor.
infrarrojo como se muestra a continuación:
Ahora la salida de este amplificador posee
componentes de baja frecuencia que se generan
por las variaciones aleatorias de luz exteriores
por lo que se envía a un filtro pasa altas pasivo
con frecuencia de corte de en 1 kHz, para que sólo
se tomen las variaciones de luz provenientes del
emisor las cuales están a 1kHz.

Para el cálculo se propone un capacitor de 100 nF


y se calcula la resistencia correspondiente
mediante la fórmula para la frecuencia de corte:
Fig.4.4h Rectificador de onda completa
con operacionales.
Fc = = 1000 Hz
La salida del rectificador de onda completa
Por lo tanto al despejar se tiene una resistencia de presenta todavía componentes de alta frecuencia,
1591.54 Ω por lo que utilizó una comercial de para esto se diseña ahora un filtro pasa bajas con
1kΩ en serie con una de 580 Ω y la nueva frecuencia de corte en 8.8 Hz de igual manera que
frecuencia de corte da de 1.007 kHz lo cual es el filtro anterior:
aceptable.

Fig. 4.4i Diagrama simbólico de la segunda etapa


de sensado.

Fig.4.4g Filtro pasa altas a 1 kHz.


Como se ve en este diagrama, después del filtro
Posteriormente la salida del filtro se pasa por un
pasa bajas pasivo, se conecta otro seguidor de
seguidor de voltaje para evitar la impedancia del
voltaje para aislar la baja impedancia del circuito
circuito RC y del seguidor de voltaje se rectifica la
y pueda ser enviada al ADC para realizar el
señal, ya que esta será enviada a un convertidor
control de posición del motor.
analógico-digital y tiene que ser una señal de DC
pues si se convierte la señal alternante Finalmente esta es la segunda etapa de sensado,
directamente del filtro, el efector comienza a la cual funciona adecuadamente y ya no es
oscilar y nunca alcanza la altura deseada, es por vulnerable a los cambios externos de luz o a la
eso que se diseñó un rectificador de onda saturación por un exceso de luz como la luz solar:
completa con amplificadores operacionales como
se muestra a continuación:
Etapa de control con micro controlador AVR El puente H y el micro controlador se muestran a
ATMEGA8535 continuación, donde el puente H se calculó para
un motor que se alimenta a 9v y tiene un consumo
de corriente entre los 300 mA y 800 mA
dependiendo de la carga a levantar.

Fig.4.4j Mecanismo a controlar para subir y bajar


las tenazas.

Después de tener acondicionada la señal del


sensor, se procede a convertirla utilizando el
convertidor analógico digital que tiene el micro
controlador ATMEGA8535 el cual es de 10 bits y
tiene una resolución de 1024, por lo que se toma Fig.4.4k Diagrama simbólico de la conexión del
como voltaje de referencia 5v y cada 4.88 mV micro controlador ATME8535 y puente H del
el ADC incrementa o decrementa un bit, es motor.
entonces que fijamos una referencia en binario por
medio de dos dip switch conectados en los puertos La programación del AVR se llevó a cabo en el
C y D del AVR, por ejemplo fijamos programa Bascom para microcontroladores AVR,
B’0011111111 que equivale a un voltaje de 1.21v ya que no es una programación en lenguaje
y que es el voltaje que se tiene a una altura dada ensamblador y por la facilidad de programación.
del efector medida desde la superficie hasta el
Aquí se muestra el código del programa para el
sensor que es móvil y que está fijo en la parte de
control de posición:
abajo de las tenazas, ahora sólo se programa el
AVR para que mande a la salida del puerto B la $regfile "m8535.dat"
combinación binaria B’00000010 si el voltaje de $crystal = 11059200
entrada al ADC es mayor a la referencia propuesta
Dim W As Word , Ref As Word , Dmas As Word , Dmin As
o la combinación binaria B’00000001 si el voltaje
Word
de entrada al ADC ahora es menor a la referencia Ddra = 0
dada, y finalmente cuando la referencia sea igual Porta = 0
al valor de entrada en el ADC, la salida de puerto Ddrb = 255
Portb = 0
B será B’00000000.
Ddrc = 0
Ddrd = 0
De esta forma estas combinaciones se mandan a
un puente H de igual manera que se hizo para Config Adc = Single , Prescaler = Auto , Reference = Avcc
abrir y cerrar las tenazas del efector, y así se logra Start Adc
que las tenazas puedan subir y bajar para alcanzar
Ref = 0
la altura deseada.
Inicio:

Ref = Pinc
Dmas = Pind.1 * 512
Dmin = Pind.0 * 256

Ref = Ref Or Dmas


Ref = Ref Or Dmin

W = Getadc(0)

If W > Ref Then


Portb = 2
Elseif W < Ref Then
Portb = 1
Elseif W = Ref Then
Portb = 0
End If

Goto Inicio
End

Finalmente aquí se tiene el diagrama completo


para la etapa del control de posición del efector
final:

Fig.4.4l Diagrama simbólico para la etapa de


control de posición del efector final.
4.5 VISIÓN ARTIFICIAL
Para la parte de visión artificial se tiene por
objetivo seguir una trayectoria, dicha trayectoria
será capturada mediante una cámara digital, al
tomar la foto se tiene que identificar la forma de la
trayectoria a seguir y subdividirla en puntos,
dichos puntos serán coordenadas, las cuales serán
enviadas a la sección de software correspondiente
a cinemática inversa para así calcular los
movimientos que se tienen que realizar en las
articulaciones,

4.5.1 ÁREA DE TRABAJO Y CALIBRACIÓN DE


CÁMARA
En el caso de la visión artificial el área de
trabajo total del robot SCARA (ver figura x.x)
quedo reducida a un rectángulo en la parte frontal Fig 4.5.1b.- Área de visión
de la misma, como se observa en la figura.
Como podemos ver la selección de esta se debió a Debido a las características antes descritas el
la propia forma del área de trabajo del robot, es origen del área de visión es relativo con respecto
decir, a los valores máximos y mínimos que el al origen del área de trabajo del robot, por lo que
gripper puede alcanzar, además del área que la para llegar al origen del área de visión es
cámara puede ver a una distancia determinada. necesario hacer un offset del área de visión, como
Para encontrar el área de visión, tuvimos que se muestra en la siguiente figura.
comenzar trazando el área de trabajo del robot,
después acercamos la cámara al lugar donde
trazamos la misma centrándola a la misma y
posteriormente comenzamos a alejar la cámara,
esto hasta un altura antes de que la cámara viera
fuera del área de trabajo. Tomamos la medición de
la altura a la que la cámara quedo, que en este
caso es de 40 cm, finalmente medimos el área de
visión, la cual tiene las siguientes medidas (figura
x.x) 23.5 cm de largo por 29 cm de ancho.

Fig 4.5.1c.- Offset.

Para poder tener una buena precisión en el


seguimiento de trayectoria, se llevo a cabo la
calibración de la cámara Acteck ATW820 a la
altura determinada por el área de trabajo, en este
caso requerimos saber cual es valor que un pixel
nos representa en centímetros.
Para determinar el valor de un pixel en
centímetros procedimos a tomar fotografías a la
Fig 4.5.1a.- Área de trabajo del robot distancia requerida, 40 cm, de objetos cuadrados
de diferentes dimensiones y en diferentes foto=getsnapshot(v);
figure,imshow(foto)
posiciones del área de visión.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
%Binarizar imagen
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
A continuación se presenta una tabla con las % foto=imread('cinta.bmp');
diferentes mediciones: foto=rgb2gray(foto);
[fil,col]=size(foto);
foto=foto>105;
foto=1-foto;
figure,imshow(foto)

Tabla 4.5.1a.- Mediciones para calibración


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Numero Distancia Numero Valor de un %%%%%%%%%%
de en cm de pixel en %Erosion de Imagen
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
medición pixeles centímetros %%%%%%%%%%
1 0.5 3 0.1667 estructura=[1 0 0 0 0 0 1;
0 1 0 0 0 1 0;
2 1.0 5 0.2000 0 0 1 0 1 0 0;
3 1.5 8 0.1875 0 0 0 1 0 0 0;
4 2.0 11 0.1818 0 0 1 0 1 0 0;
0 1 0 0 0 1 0;
5 2.5 14 0.1786 1 0 0 0 0 0 1];
6 3.0 16 0.1875
7 3.5 19 0.1842 k=sum(sum(estructura));
erosion=zeros(fil,col);
8 4.0 21 0.1905
for i=4:fil-3
Finalmente para tener un parámetro regular en for j=4:col-3
if foto(i,j)==1
toda la foto decidimos hacer un promedio de los if (sum(sum(foto(i-3:i+3,j-
valores obtenidos, así el valor regular de cada 3:j+3).*estructura)))==k;
pixel en centímetros es: erosion(i,j)=1;
end
end
Con este parámetro somos capaces de end
proporcionarle, tanto a la cinemática directa como end
a la cinemática inversa los valores necesarios para figure,imshow(erosion)
el posicionamiento del gripper. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
%Calculo de bordes de la imagen Erosionada
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
4.5.2 PROGRAMACIÓN bordes=edge(erosion)
El cálculo de coordenadas se implemento figure,imshow(bordes)
salida=bordes;
mediante software en matlab, a continuación se
presenta la sección de código escrito y %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
posteriormente una explicación detallada de su %%%%%%%%%%
%Codigo de la cadena
funcionamiento. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
%Vision para Robot SCARA
for i=2:fil-1
close all, clear all, clc; for j=2:col-1
if salida(i,j)==1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% paro=1;
%%%%%%%%%% pixel=0;
%Captura de imagen while (paro==1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if salida(i,j+1)==1
%%%%%%%%%% salida(i,j)=0;
v=videoinput('winvideo',2); pixel=pixel+1;
set(v,'ReturnedColorSpace','rgb') coordx(pixel)=i;
preview(v) coordy(pixel)=j;
pause i=i;
j=j+1; coordxn=coordx(1:tamX/2);
elseif salida(i+1,j+1)==1 coordyn=coordy(1:tamX/2);
salida(i,j)=0;
pixel=pixel+1; contador=1;
coordx(pixel)=i; for i=1:5:tamX/2
coordy(pixel)=j; posRealX(contador)=coordxn(i);
i=i+1; posRealY(contador)=coordyn(i);
j=j+1; contador=contador+1;
elseif salida(i+1,j)==1 end
salida(i,j)=0;
pixel=pixel+1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
coordx(pixel)=i; %%%%%%%Transformacion de escala de pixeles
coordy(pixel)=j; a cm
i=i+1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
j=j; %%%%%%%%%%
elseif salida(i+1,j-1)==1 posRealX=posRealX*0.1845;
salida(i,j)=0; posRealY=posRealY*0.1845;
pixel=pixel+1; Ahora que conocemos el código explicaremos
coordx(pixel)=i;
coordy(pixel)=j; detalladamente cada sección del mismo:
i=i+1;
j=j-1; A. Captura de Imagen
elseif salida(i,j-1)==1
salida(i,j)=0; v=videoinput('winvideo',2);
pixel=pixel+1; set(v,'ReturnedColorSpace','rgb')
coordx(pixel)=i; preview(v)
coordy(pixel)=j; pause
i=i; foto=getsnapshot(v);
j=j-1; figure,imshow(foto)
elseif salida(i-1,j-1)==1
salida(i,j)=0; En esta sección de código se llama a la
pixel=pixel+1;
coordx(pixel)=i; herramienta de video de matlab, se abre una
coordy(pixel)=j; ventana con una vista previa del video capturado
i=i-1; para después obtener una captura de imagen, por
j=j-1;
elseif salida(i-1,j)==1 último se muestra en una ventana nueva la imagen
salida(i,j)=0; capturada, un ejemplo de captura es el siguiente:
pixel=pixel+1;
coordx(pixel)=i;
coordy(pixel)=j;
i=i-1;
j=j;
elseif salida(i-1,j+1)==1
salida(i,j)=0;
pixel=pixel+1;
coordx(pixel)=i;
coordy(pixel)=j;
i=i-1;
j=j+1;
Fig. 4.5.2a. Imagen Capturada de la Trayectoria.
else
salida(i,j)=0;
pixel=pixel+1;
B. Binarización de Imagen
coordx(pixel)=i;
coordy(pixel)=j; foto=rgb2gray(foto);
paro=0; [fil,col]=size(foto);
end foto=foto>105;
imshow(salida) foto=1-foto;
drawnow figure,imshow(foto)
end
end Para tratar una imagen es mucho más fácil
end
end tratarla si solo se compone de dos colores, es decir
negro y blanco, la imagen original tomada esta en
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% formato RGB es decir posee tres capas una con
%%%%%%%%%%
%Escala de vectores de Coordenadas en X e sus componentes en rojo, otra con sus
Y componentes en azul y otra con sus componentes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% en verde, con el comando rgb2gray se transforma
%%%%%%%%%%
tamX=length(coordx) la imagen a una matriz de una sola capa en escala
de grises para así poder manejarla con mayor
facilidad, con el comando siguiente se obtiene el
tamaño de la foto en filas y columnas de pixeles,
después se binariza la imagen dejando pasar solo
los componentes cuyo tono de gris sea mayor a
105, este valor puede cambiar dependiendo del
tipo de iluminación del lugar de trabajo, después
para un tratamiento más simple se invierten
colores dejando el fondo negro y la trayectoria en Fig. 4.5.2c. Imagen Erosionada de la trayectoria
color blanco, por último se muestra la imagen
binarizada.
D. Bordes de la imagen

bordes=edge(erosion)
figure,imshow(bordes)
salida=bordes;

El código anterior muestra el cálculo de bordes


de la imagen, es decir se selecciona solo el
contorno de la figura en blanco y se elimina todo
Fig. 4.5.2b. Imagen Binarizada de la trayectoria lo demás, dejando solo dibujada su forma básica,
C. Erosión de la Imagen esto se realiza con el propósito de obtener la
imagen definida solo por contornos de un pixel de
estructura=[1 0 0 0 0 0 1; grosor, esto nos ayudara a un correcto
0 1 0 0 0 1 0; funcionamiento del código de la cadena explicado
0 0 1 0 1 0 0; a continuación, se muestra una figura con los
0 0 0 1 0 0 0;
0 0 1 0 1 0 0; bordes de la imagen calculados
0 1 0 0 0 1 0;
1 0 0 0 0 0 1];

k=sum(sum(estructura));
erosion=zeros(fil,col);

for i=4:fil-3
for j=4:col-3
if foto(i,j)==1
if (sum(sum(foto(i-3:i+3,j-
3:j+3).*estructura)))==k;
erosion(i,j)=1;
end
end Fig. 4.5.2d. Bordes delgados de la trayectoria
end
end
figure,imshow(erosion)

Esta sección de código es la encargada de


erosionar la imagen, es decir hacer la figura de
trayectoria mas pequeña quitando las capas E. Código de la cadena
externas de la figura mediante la aplicación de una
máscara o estructura, cabe mencionar que la for i=2:fil-1
estructura se puede seleccionar de acuerdo al for j=2:col-1
if salida(i,j)==1
tamaño que más convenga para la aplicación, en paro=1;
nuestro caso se intento con distintas estructuras pixel=0;
pero la que mejor funciono para adelgazar las while (paro==1)
if salida(i,j+1)==1
trayectorias de prueba fue una estructura en forma salida(i,j)=0;
de X con dimensión de 7 filas por 7 columnas, por pixel=pixel+1;
último se muestra una imagen con la trayectoria coordx(pixel)=i;
coordy(pixel)=j;
adelgazada o erosionada.
i=i; cada pixel que dibuja el contorno de la trayectoria,
j=j+1;
elseif salida(i+1,j+1)==1 dichos vectores se construyen de la siguiente
salida(i,j)=0; manera: Primero se recorre la imagen fila por fila
pixel=pixel+1; hasta encontrar el primer pixel blanco, al
coordx(pixel)=i;
coordy(pixel)=j; encontrarlo guarda su posición en una entrada de
i=i+1; los vectores XY para después borrarlo y buscar en
j=j+1; los pixeles circundantes por la continuación de
elseif salida(i+1,j)==1
salida(i,j)=0; color, es decir el pixel contiguo que sea de color
pixel=pixel+1; blanco.
coordx(pixel)=i;
coordy(pixel)=j;
i=i+1;
j=j;
elseif salida(i+1,j-1)==1
salida(i,j)=0;
pixel=pixel+1;
coordx(pixel)=i;
coordy(pixel)=j;
i=i+1;
j=j-1;
elseif salida(i,j-1)==1
salida(i,j)=0; Fig. 4.5.2e. Imagen siendo escaneada mediante código de
pixel=pixel+1; la cadena
coordx(pixel)=i;
coordy(pixel)=j;
i=i; F. Recorte de Vector de Coordenadas
j=j-1;
elseif salida(i-1,j-1)==1
salida(i,j)=0; tamX=length(coordx)
pixel=pixel+1; coordxn=coordx(1:tamX/2);
coordx(pixel)=i; coordyn=coordy(1:tamX/2);
coordy(pixel)=j;
i=i-1; contador=1;
j=j-1; for i=1:5:tamX/2
elseif salida(i-1,j)==1 posRealX(contador)=coordxn(i);
salida(i,j)=0; posRealY(contador)=coordyn(i);
pixel=pixel+1; contador=contador+1;
coordx(pixel)=i; end
coordy(pixel)=j;
i=i-1; Como se puede suponer al ver trabajar al
j=j;
elseif salida(i-1,j+1)==1 código de la cadena este nos entrega todas las
salida(i,j)=0; coordenadas correspondientes al circuito cerrado
pixel=pixel+1; que compone el contorno de la trayectoria, al
coordx(pixel)=i;
coordy(pixel)=j; analizar vemos que la trayectoria se recorre
i=i-1; satisfactoriamente tomando solo los pixeles que
j=j+1; componen la trayectoria de inicio o solo los
else
salida(i,j)=0; pixeles que constituyen el regreso del código de
pixel=pixel+1; cadena, para esto seleccionamos solo la mitad del
coordx(pixel)=i; vector correspondiente a las coordenadas tanto en
coordy(pixel)=j;
paro=0; X como en Y, también se observa que es
end innecesario tomar todas las coordenadas que nos
imshow(salida) entrega el código, ya que al tratar de mover el
drawnow
end robot de un punto a otro serian avances de
end resolución muy pequeña, teniendo para este caso
end en particular 125 movimientos para completar la
end
trayectoria, para eso se implemento la sección de
código que toma solo unos puntos, se proponen
Es la parte fundamental del cálculo de la
saltos de 5 posiciones para así completar la
trayectoria ya que como resultado de la aplicación
de esta sección de código se nos entrega un vector trayectoria con 25 movimientos punto a punto.
con las correspondientes coordenadas en X e Y de
G. Escalamiento de Vector de Coordenadas

posRealX=posRealX*0.1845;
posRealY=posRealY*0.1845;

Por último se realiza una transformación de


unidades o cambio de escala es decir pixeles a
centímetros, como la cinemática inversa de
nuestro robot está definida en unidades de
distancia es de suma importancia realizar este
cambio de unidades, como se explico previamente
el valor de un pixel en la imagen es equivalente a
0.1845 cm reales, así al dar la posición de un pixel
blanco estaremos dando la posición de una
coordenada en el área de trabajo con unidades de
distancia.
4.6. INTERFAZ DE USUARIO El botón posición inicial configura al robot para
entrar en cualquiera de los tres modos de
El objetivo de la interfaz es hacer amigable el funcionamiento. Al dar clic, el robot se va a la
control del robot. Se utilizó la Interfaz Gráfica de posición que tiene como referencia, esto al iniciar
Usuario de Matlab. La interfaz conjunta todos los la interfaz, si al utilizar el robot en cualquiera de
programas de control implementados en el robot. los modos se da clic en el botón, el robot sale del
Hace uso de estos programas como funciones, lo modo y se va a su posición inicial.
que hace más fácil el manejo. Se diseñó de tal
manera que su uso sea intuitivo, permitiendo al
usuario un manejo fácil.

La interfaz se divide en tres secciones, la parte de


control del robot por visión, el control de posición
dando una función a trazar y el posicionamiento
punto a punto.

En la sección de visión se despliega la imagen que


la cámara capta, mostrando así el área de trabajo
del robot en el modo de visión artificial. La
trayectoria a seguir en este modo debe verse Fig. 4.6a. Vista de la Interfaz Grafica de Usuario
completamente en la imagen, para que el cálculo
de la trayectoria sea preciso. El primer botón sirve
para tomar la imagen de la trayectoria, esta será
mostrada. El segundo botón da la instrucción de
procesar la imagen para calcular los puntos a los
que se debe mover el robot, al terminar de calcular
los puntos, se habilita el tercer botón, el cual
permite el movimiento del robot a través de la
trayectoria.

La sección de Punto a punto, se utiliza para que el


robot se mueva por puntos definidos directamente
por el usuario. Los puntos que se van
introduciendo se dibujan en el área de trabajo para
que el usuario verifique que el punto corresponde
a una coordenada alcanzable. Los puntos se van
agregando y se cuando haya terminado de
introducir todos, entonces se da la instrucción de
que el robot se mueva hacia ellos.

En la sección de Función, el robot se configura


para trazar una función introducida por el usuario,
al terminar de escribir la función el usuario debe
dar clic en el botón comprobar, para que la
función sea evaluada en el área de trabajo. Se
graficarán los puntos que coincidan en el área de
trabajo. La función se puede borrar y escribir una
nueva hasta que el usuario este conforme con los
puntos. Para trazar la trayectoria se da clic en el
botón Trazar Función.
4.7 MODELO DINÁMICO DEL ROBOT
SCARA

En este avance se muestra paso a paso la


metodología para obtener el modelo dinámico de
un Sistema robótico usando como herramienta los
parámetros y matrices de transformación
calculados mediante matrices de rotación y
traslación.

A. Parametrización del Sistema

Suponga el sistema robótico mostrado en la Figura Fig. 4.7b Ejes de Rotación y Traslación
4.7a. El primer paso que se debe realizar para
poder calcular el modelo dinámico de dicho robot Una vez definidos los ejes de movimiento
es definir los ejes de movimiento del sistema y los definiremos la pose (posición y orientación) de los
parámetros de los eslabones, como se muestra en marcos coordenados con = 0, 1, 2, 3.
las figuras 13 y 14, respectivamente.
Tomando en cuenta las anteriores restricciones,
los marcos coordenados tienen la siguiente
disposición

Fig. 4.7a Robot SCARA

En la imagen anterior se puede observar la


disposición de los eslabones que conforman la
arquitectura SCARA. El sistema cuenta con 3
grados de libertad, de tipo R-R-P. Fig. 4.7c Marcos Coordenados

En la figura 4.7b se muestran los ejes de En la figura se observa finalmente la disposición


movimiento de los eslabones, los cuales son muy de los marcos coordenados que definen los
importantes de definir, ya que, con ellos, se eslabones del sistema robótico, así como el
establecerán los ejes del sistema, ya sea para el movimiento que realizan. La base del sistema está
análisis rotacional y traslacional así como el definida como O0.
análisis mediante el algoritmo de Denavit-
Hartenberg. La definición de cada marco de referencia es la
siguiente:
B. Cinemática Directa
Tanto la cinemática Directa como la cinemática
Inversa fueron programadas en Mathematica,
haciendo uso de vectores auxiliares para poder
definir cada vector y punto del eslabón con el fin
de graficarlo.
Para la Cinemática Directa se piden como valores
de entrada la longitud de los eslabones la
distancia de separación y la distancia que
bajara el efector final y el ángulo que rotaran las
variables articulares . Y se obtendrá la
posición del Efector Final.

Fig. 4.7d Bloques de la Cinemática Directa

En el siguiente fragmento de código es donde se


toman en cuenta los datos de entrada, de tal
manera que son propuestos los siguientes valores:

Transformaciones Homogéneas
A partir de esto se puede calcular cualquier
transformación a cualquier punto, en resumen
tenemos las siguientes matrices de
Transformación.

Para la ubicación de cada eslabón, se definen


puntos que viven sobre los marcos de referencia
de forma que definan por su posición el inicio de
cada eslabón, cada punto vive en el eje x del
marco de referencia.
En este fragmento de código es localizada la
declaración de estos desplazamientos:

Posteriormente, se multiplica la matriz de


transformación desde el marco origen al punto que Fig. 4.7e Resultados de Cinemática Directa
se va a referir, por su traslación para obtener el
punto siguiente, en el código se muestra, que
además de realizar la multiplicación, se reasignan C. Cinemática Inversa
los valores en vectores de 3 dimensiones que Para la Cinemática Inversa se piden como valores
pueden ser graficables: de entrada la longitud de los eslabones la
distancia de separación y la distancia que
bajara el efector final.

Una vez obtenidas las posiciones que serán a Fig. 4.7f Bloques de la Cinemática Inversa
graficadas, se dibujan las líneas y articulaciones
respectivas, para dar una similitud al robot En el siguiente fragmento de código es donde se
SCARA. toman los datos de entrada, de tal manera que son
De tal manera que al ejecutar el programa, se propuestos los siguientes valores:
obtiene el siguiente resultado:
Donde el sistema de ecuaciones vendrá en la fila 1
y la fila 2 del vector resultante de las operaciones
anteriores.

De igual manera que la cinemática directa para la


ubicación de cada eslabón, se definen puntos que
viven sobre los marcos de referencia de forma que Quedando el siguiente sistema de ecuaciones:
definan por su posición el inicio de cada eslabón,
cada punto vive en el eje x del marco de
referencia.
Donde sí se resuelve el sistema se obtendrán 2
soluciones, la cuales dan a entender las 2 maneras
en las cuales es posible llegar al mismo punto, lo
que se conoce como Codo abajo y Codo Arriba;
En este fragmento de código se logra localizar la
para este caso se obtuvieron 2 soluciones:
declaración de estos desplazamientos:

Y aplicando de la misma manera la obtención de


vectores de posición para graficar, para ambas
soluciones, se aplica un ciclo For; primero se
multiplica la matriz de transformación desde el
marco origen al punto que se va a referir por su
traslación para obtener el punto siguiente, en el
código se muestra que además de realizar la
multiplicación se reasignan los valores en vectores
de 3 dimensiones que pueden ser graficables, y
calcular las 2 soluciones, quedando el código de la
siguiente manera:

Si se multiplica la Matriz Homogénea por el


Vector de diferencia de Alturas y a la matriz
resultante le restamos el punto original. Se
obtendrá el sistema de ecuaciones que definirá el
eslabón 2 el marco 1 y la del eslabón 3 en el
marco 2, y transformarlo respecto al marco 0. En
el siguiente fragmento de código queda
especificado:
Solución 1

Y dentro del mismo ciclo, realizar los gráficos


pertinentes y almacenarlos en una matriz de Fig. 4.7g Cinemática Inversa Solución 1
gráficos, para después mediante un manipulador,
mostrar ambas soluciones: Solución 2

De tal manera que los resultados obtenidos son:


Fig. 4.7h Cinemática Inversa Solución 2

D. Modelo Cinemático

Una vez conocida la cinemática tanto directa


como inversa, puede hacerse una generalización
de, las soluciones e incluso simular los eslabones
en sus movimientos, restricciones de giro, sin
considerarse ningún efecto físico que pueda
contemplarse para su real manipulación.

Para realizar esto se utilizo nuevamente el


Se puede observar en los gráficos que ambos software de mathematica, debido a su rapidez y
puntos, llegan al efector deseado: fácil procesamiento, así como la herramienta
directa de simulación en base a las soluciones
almacenadas en vectores y un corrimiento a través
de ellas.
Para simulación tomamos en base a la cinemática
directa, es decir mover las variables articulares,
para obtener la posición final. Quedando la
interfaz grafica como se muestra en la figura.

Del mismo modo tendremos que para teta 2 el


rango de giro que tendrá, esto debido a que
pueden colisionar los eslabones será de -20° a
196°. En las figuras, mostramos su simulación

Fig. 4.7i Modelo Cinemático Fig. 4.7k Restricción de giro inferior para teta 2

De la siguiente figura observaremos, una vista


superior y una vez dados los datos del fabricante
o delimitada el área como ya se explico, para el
eslabón 1, tendremos un giro de -18° a 198°,
respecto a la base.

Fig. 4.7l Restricción de giro superior para teta 2

Estos resultados idealmente sin haber


considerado, la longitud del griper, pues
realizamos básicamente un control sobre los 2
grados de libertad principales.

Así mismo comprobamos que el área de trabajo


mencionada, al incluir el largo de 3 cm del
gripper, coincide con la simulación de acuerdo a
Fig. 4.7j Restricción de giro inferior para teta 1 los parámetros de cinemática dados. Diámetro
Exterior de 40 cm, Diámetro Interior de 23 cm.
El Jacobiano nos permite expresar la relación
entre las velocidades de las variables articulares y
las velocidades en el espacio cartesiano. El
Jacobiano depende del sistema de referencia en el
que se exprese.
La definición de Jacobiano se puede expresar
mediante la siguiente ecuación:

Fig. 4.7m Diámetro exterior de área de trabajo

Donde, Jv (q) ∈ ℜ3×n representa el Jacobiano de


velocidades lineales y Jw(q) ∈ ℜ3×n es el
Jacobiano de velocidades angulares.

En otras palabras, el Jacobiano J (q) ∈ ℜ6×n es


una transformación que relaciona el espacio de
velocidades articulares ∈ ℜn con el espacio de
velocidades operacionales (o cartesianas)
∈ ℜ3.

Para poder calcular el Jacobiano de cada centro de


Fig. 4.7n Diámetro interior de área de trabajo masa del robot manipulador SCARA diseñado,
debemos definir las siguientes variables:
Uniendo ambas trayectorias, obtenemos el área de
trabajo ya mencionada  Ejes de movimiento de cada centro de
masa

 Posición de cada centro de masa respecto


a la base

Fig. 4.7o Área de trabajo obtenida de la


cinemática

E. Modelo Dinámico
Ahora bien, para comenzar a modelar la dinámica
del robot SCARA, necesitamos calcular los
Jacobianos de cada centro de masa.
Calculando El jacobiano de velocidades angulares
y velocidades lineales:

Revoluta Revoluta Prismátic


No afecta o
Prismátic
o

Suponiendo el mismo caso que se manejo en la


Cinemática Directa para:

Obtendríamos el siguiente jacobiano:


5. Conclusiones

Sánchez Chaparro Miguel Angel


Rodríguez Hernández Héctor Alfonso.
Al enfrentarse a un diseño desde cero y ser
En el presente proyecto, pudimos encontrar novatos en esta área se presentan muchas
diversas dificultadas a la hora de diseñar los dificultades en la realización de cualquier
sistemas y partes que constituyen el robot, pero proyecto, por fácil o difícil que este sea, en el caso
sobre todo, pudimos ver que la dificultad más de nuestro diseño y construcción de un robot scara
grande la encontramos en el momento en que se presentaron una serie de inconvenientes, los
comenzamos a intentar controlar los motores ya cuales nos hicieron adquirir experiencia tanto en
montados en la estructura. Porque como se puede diseño mecánico como en implementación de
observar en las anotaciones del control, cada control. Lo primero que se presento en el diseño
eslabón junto con el motor debe ser tratado como fue en que basarse, debido a que ya se disponía de
un sistema diferente a controlar, y no tomar el algunos motores los cuales podían haber sido
control solo del motor, sino como un conjunto. De controlados y mediante el torque de salida de
tal forma que al percatarnos de que aun cuando el estos hacer el diseño mecánico de la estructura,
diseño de la estructura fue el correcto, existía un otra opción fue realizar el diseño mecánico
juego en los motores y aun mas las flechas, proponiendo dimensiones y de acuerdo a la
piñones, etc., tendían a desajustarse debido al dimensión de eslabones y al par necesario para el
propio movimiento de los motores, lo cual a su movimiento de estos adquirir los actuadores
vez hacia que tuviéramos señales de interferencia ideales. Esta segunda opción fue la adoptada.
(ruido) que provocaban oscilaciones en el control. Otra característica difícil de resolver fue el diseño
del gripper con variación de altura, ya que se
En cuanto a la cinemática directa e inversa (ver implementaron varias soluciones con distintos
sección de cinemática directa e inversa), fue tipos de sensores, el resultado final fue la
necesaria la adición de algunos marcos para la implementación del variador mediante sensores
simulación cinemática directa, ya que con los ópticos.
marcos mínimos no se podía hacer la simulación Uno de los puntos fundamentales del diseño del
de la misma en 3D. Y con respeto a la cinemática robot fue el control de posición así como la visión
inversa, la selección de las ecuaciones que nos artificial y la conjunción de estos, ya que de
permiten definir las variables articulares acuerdo al control de motores y su restricción de
correctamente. movimientos nos dieron las dimensiones del área
de trabajo, también, con la cámara empleada solo
Otro punto importante en el cual tuvimos se pudo cubrir cierta sección del área de trabajo
dificultades fue la parte de visión artificial, y esto teniendo que limitar el seguimiento de trayectorias
básicamente por el proceso de la obtención de la a un área pequeña, en la programación de visión
trayectoria, ya que como se puede leer en la artificial se optó por varias soluciones siendo la
sección de visión artificial, al obtener el vector más fácil mediante dilatación, bordes y regla de la
que contiene la trayectoria debido al algoritmo cadena.
que utilizamos, este rotaba 90°. La En general el diseño y construcción de un
implementación de un nuevo algoritmo que prototipo interdisciplinario (es decir que conjunta
permitiera poner en el orden correcto el vector. varias disciplinas como la mecánica, electrónica,
control, robótica y visión artificial) siempre será
Por último en el diseño del efector final, existieron más complicado que enfocarse en un área
dos dificultades básicas, la primera fue la particular pero el desempeño de un prototipo de
adaptación que se tuvo que hacer a un sistema esta naturaleza será mas completo y hará al
prediseñado para que pudiera soportar los diseñador adquirir más experiencia y versatilidad
requerimientos en peso que fueron estipulados en para futuras ocasiones.
el proyecto. Y el segundo, el diseño de un sensor
que nos proporcionara el funcionamiento del
tercer frado de libertad, que como podemos ver en Morales Cabrera Gustavo
la sección de gripper, tuvo como ultima y mejor
implementación el de un sensor ultrasónico, pero Sin duda alguna cualquier proyecto que involucre
que sin embargo paso por varias otras la aplicación real de los conceptos vistos en clase,
implementaciones y configuraciones. no es trabajo fácil, y peor en un materia en la cual
se juntan asignaturas que van desde el análisis Con este tipo de aplicaciones prácticas de
matemático hasta el análisis estructural y conocimientos en clase se crea una gran atmosfera
económico. de aprendizaje y experiencia en el ambiente
ingenieril, ya que como se menciono
A pesar de las limitantes por la que ha pasado el anteriormente comienzan a aparecer problemas
curso se ha logrado desarrollar un prototipo de que en la parte teórica no se consideran en la
cumple con las características propuestas desde un mayoría de los casos.
principio, es decir, diseñar una estructura óptima La entrega de este reporte se considera algo
para soportar una carga establecida y por otro lado temprana, ya que aun no ha sido suficiente el
la creación de control de posición para motores de tiempo como para poder realizar pruebas al robot
CD. y visualizar si cumple los objetivos planteados en
Durante la fabricación de este prototipo se han este prototipo, por lo que me parece adecuado que
tenido diversas complicaciones, por ejemplo el el día de la presentación del prototipo sea
crear un ajuste adecuado para los rodamientos entregado el reporte del mismo.
entre los eslabones y hasta el mismo ensamble, Finalmente se obtuvo desde el punto de vista
hablando de la parte de control las mayores personal una gran experiencia en el desarrollo del
complicaciones fueron al momento de integrar prototipo, ya que necesitamos de software y
este sistema a la estructura pues no se contemplo diseño para cumplir con los lineamientos del
la inercia de los eslabones y esto provoca que el prototipo.
control sufra perturbaciones al ajustar la posición
del motor; todo lo anterior en buena parte es Rabadán Ortiz Adrian
provocado a la inexperiencia práctica que tenemos Cuando se propuso el proyecto de llevar a cabo un
en cada una de las materias, pues solemos robot, nunca me imagine que el diseño de este
quedarnos con los conceptos que se ven en clases fuera a depender de tantos campos de
y muy rara vez buscamos una aplicación práctica. conocimiento ya que uno piensa que sólo es cortar
eslabones de algún material como aluminio o
Este prototipo está muy lejos de ser una nailamit, y colocar los motores y realizar un
aproximación a los robots empelados controlador, pero a la hora de llevar a cabo un
industrialmente, pues éstos últimos utilizan buen diseño, resulta que se tienen que aprender
técnicas más avanzadas de control y mecanismos muchas más cosas que serán tomadas en cuenta a
más complejos, ejemplo de ello son los la hora de realizar el diseño, como lo es la parte de
servomotores de AC que emplean comparados la mecánica del robot, la cual es indispensable ya
con los motores de CD utilizados en el prototipo, que si no se diseñan bien las transmisiones, el
pero la idea principal de fabricar el prototipo no es movimiento del robot no será el deseado, o
competir contra los robots industriales, si no dar simplemente afectará con el control de los
una noción del proceso que se debe de cumplir si motores del robot, por otra parte están los análisis
es que requiere diseñar y construir un robot de resistencia y desgaste para la misma parte
manipulador y sobre todo comprobar que los mecánica, ya que si los eslabones no se diseñan
conceptos vistos en clase en verdad se aplican de de las dimensiones correctas pueden sufrir
una u otra forma. deformaciones o simplemente no levantar la carga
propuesta para el robot, por otra parte cabe
Rodrìguez Palomeque Yair Enrique mencionar que es muy importante el diseño
Es muy complejo poder desarrollar un prototipo electrónico, ya que durante la realización del
de un robot, ya que se necesitan considerar control de los motores de DC, se observó que si se
muchos parámetros para su desarrollo. En un colocan los cables de manera aleatoria, se induce
principio se visualiza como un proyecto demasiado ruido que afecta al convertidor
relativamente sencillo pero conforme se va analógico-digital, por lo que para solucionar esto
desarrollando el mismo comienzan a aparecer se enrollaron los cables y se metieron dentro de
problemas que no habían sido considerados. una manguera, así como también realizar filtros
Por ejemplificar en el desarrollo del efector no se para eliminar frecuencias indeseadas que están
había considerado las perturbaciones por el presentes en el medio de trabajo del robot y que si
entorno, es decir la iluminación, ruido se desprecian puede ocasionar grandes problemas,
electromagnético, etc. Por lo que el desarrollo de con esto finalmente se redujo demasiado el ruido,
esta parte del prototipo se complico en gran además de que se recomienda tener una buena
medida. fuente de alimentación, la cual mantenga un
voltaje y corriente constante, ya que hay que
recordar que se están utilizando actuadores de generadora de fallas, sin embargo si se hubiera
potencia, los cuales producen muchas analizado más a fondo cada parte se hubieran
perturbaciones a los circuitos electrónicos. podido evitar muchos problemas que retrasaron el
En conclusión puedo decir que llevar a cabo este término del desarrollo del robot scara.
diseño permitió que pudiera aprender nuevos
conocimientos y reforzar más los que ya tenía, así García Facio David
como poder juntarlos todos y realizar cosas más
complejas, como fue el diseño del efector final, el En el desarrollo del sistema robótico se puedo
cual parece ser fácil y lo primero que se nos observar algunas deficiencias que como
ocurre es utilizar algún amplificador operacional y estudiantes de ingeniería se tienen al momento de
ya, pero la realidad es que a la hora de hacerlo se diseñar algún proyecto. Además de que se debe de
deben de tomar en cuenta factores como el tipo de tener una visión muy fija y no tan general del
motor y el ruido que este produce, así como el tipo sistema a diseñar, es decir conocer la mayoría de
de sensor y lo más importante la forma de los aspectos que uno puede manipular y controlar
acondicionar la señal de tal manera que no se
para poder obtener los resultados deseados tanto
afecte por variaciones exteriores de luz como nos
en el diseño mecánico y como en el eléctrico.
pasaba, en fin realizar un robot es una tarea
complicada, pero me agrado hacerlo, pues siento
que hicimos un buen trabajo como equipo. Para el desarrollo del controlador se optó por la
implementación de actuadores, motores de CD, ya
Cortez Vázquez Oscar Ricardo que al implementar servomotores lo que uno
realmente controla es la posición de la flecha del
La elaboración y el diseño de un robot scara servomotor y no la posición de las articulaciones,
permitió que el equipo obtuviera experiencia además de que en el diseño del controlador del
significativa en el desarrollo del mismo. motor de DC se puede saber en algún instante de
Inicialmente se tenía la disyuntiva del tipo de tiempo requerido la posición actual de la
material a usar, de la forma que tendrían los articulación.
eslabones, además del tipo de transmisión que
llevaría el robot y por último que tipo de motores Durante el ensamble de las distintas tareas a
se utilizarían. Por lo tanto la forma de resolver realizar por el sistema se debe de considerar las
dichos problemas se basó específicamente en la distintas utilidades que puedan aportar una de la
búsqueda de información en la red y en libros. otra, ya que se pueden realizar algunas tareas
imprentando una u otra tarea por separado o al
El equipo tomó en cuenta diferentes factores de mismo tiempo varias.
diseño que permitieran tener un robot robusto y
por lo tanto más efectivo en cuanto a su Se puede decir que este proyecto deja algunas
implementación en algún proceso en específico,
experiencias para el posterior mejoramiento de
sin embargo se tuvo conciencia que se verían
algunas aplicaciones a fin.
afectados otros aspectos, entre los cuales resaltan
la inversión económica en su desarrollo así como
el ensamblaje del robot. Josué Daniel San Miguel Rodríguez

Una vez realizado el diseño de todos los sistemas El desarrollo de este tipo de proyectos en
que abarca el robot scara se comenzó con una de este momentos, no sirve de mucho a vísperas de lo
las partes más importantes, la cual corresponde al que nos espera en el trabajo terminal; con esto nos
control digital de los motores de CD que damos cuenta de la importancia del diseño de tus
conforman al robot. En esta parte se tuvieron propias piezas, pues en base a cálculos podemos
demasiados problemas ya que se generaba mucho determinar el comportamiento de los materiales
ruido por diversos factores, tales como fallas en el ante la aplicaciones de cargas, sus deformaciones,
ensamblaje de la parte física del robot así como en así como poder encontrar las dimensiones optimas
el trabajo en conjunto con los sistemas y normalizadas para la construcción y diseño.
electrónicos involucrados en el mismo.
Aunque se nos vino el tiempo encima
Por último puede concluirse que en cada parte se considero que este proyecto tendrá gran
presentaron problemas que no se habían tomado importancia para generar nuevas ideas y
en cuenta, lo cual fue la principal fuente experiencias que nos conllevaran a un buen
desarrollo del TT, más que nada en el área de que se llama cada vez que se necesita, sólo fue
diseño, robótica y visión artificial, pues al incluir necesario ponernos de acuerdo sobre las variables
estos módulos en conjunto para el control de de salida y entrada y el formato de estas. Al
robots, nos dan un campo más amplio en el montar la estructura nos enfrentamos a problemas
conocimiento. de ensamble de piezas ya que a pesar de que se
tiene un diseño, este se idealiza un poco y al
La parte que considero fue de mayor momento de armar los detalles se hacen presentes,
dificultad, fue el diseño mecánico, pues aunque se la manera de solucionar los problemas cuando ya
hicieron muchas consideraciones teóricas, al tenemos eslabones y parámetros definidos no es
finalizar el ensamble y comenzar a realizar más que el ingenio.
pruebas, surgieron mas imprevistos de los que se
habían considerado, dejándonos hacer uso de la
mente ingenieril que tenemos cada uno para poder
solucionar estas deficiencias.

La parte de control de posición de los motores,


también es un factor importante, pues de este
depende la precisión del robot, por lo cual creo
que es la base de tal.

Los módulos de visión artificial son un plus que


nos ayudara a entender este amplio campo en la
industrias tanto para la detección de trayectorias,
piezas formas e incluso objetos con algunas
dimensiones determinadas dentro de un área de
trabajo.

Álvarez Toledo Jorge

Al diseñar un prototipo nos enfrentamos a la


cuestión de cómo empezar a definirlo. Los
distintos parámetros que influyen en el diseño
hacen difícil el inicio de este; al ser principiantes
en diseñar, nos vemos caer varias veces en
problemas. Un problema medular del control del
robot, es el sensado de la posición, el cual debe
ser preciso ya que de esto depende la
funcionalidad del robot. Las vibraciones en el
prototipo influyen en el desplazamiento lineal de
los sensores (potenciómetros). Otro problema es el
inicio de configuración del robot, para calibrarlo
en los desplazamientos, ya que la estructura se ve
sometida a movimientos bruscos, porque el
control todavía no se implementa. Al hacer
pruebas de desplazamiento, comienzan a salir
problemas sobre las condiciones de la estructura y
sobre el manejo de información en el sensado de
posición. Las variaciones de la señal censada
afectan de manera importante el control de
posición, se montaron filtros y el cableado de los
sensores se hizo lo mejor posible. La conjunción
de los distintos programas de control del robot fue
complicada ya que al ser programados por
distintas personas la compatibilidad se vuelve
compleja. Una manera de solucionarlo fue
implementando cada programa como una función
6. Referencia Bibliográfica

[1] P. M. Gonzalo, “Visión por Computador,


Imágenes Digitales y Aplicaciones”, 2da ed. ,
Ed. México: Alfaomega Grupo Editor, Junio
2006.

[2] G.Woods, “Digital Image Processing”, 3ra


ed., Ed. USA:Prentice Hall, 2008.

[3] Hibbeler R. C., “Mecánica de materiales”, 6ta


ed., Ed. México:Prentice Hall, 2006

[4] Kelly Rafael, “Control de movimiento de


robots manipuladores”, 1ra ed, Ed. España:
Prentice Hall, 2003

[5] Spong W. Mark, “Robot modeling and


control”, 1ra. ed, Ed EU: Prentice Hall, 1989

[6] Siciliano Bruno, “Robotics modelling,


planning and control”, 1ra ed, Ed. Inglaterra:
Springer-Verlag, 2009

[7] G. B. Eduardo, “Compilador C CCS y


simulador PROTEUS para
microcontroladores PIC”, 1ra ed. , Ed.
México: Alfaomega Grupo Editor, Junio
2008.

[8] (Página web Microchip).


http://www.microchip.com/wwwproducts/De
vices.aspx?dDocName=en010300

[9] Gabriel Jesús Pool Balam,” Transferencia y


procesamiento de datos a alta velocidad,
mediante el uso de MATLAB, el puerto USB
2.0 y PIC18F2455 de Microchip™”. pp 2.
Julio 2009.
Anexo A: Tablas sobre viabilidad económica

No. Departamento Ocupaciones Integrantes

 Diseñar la estructura mecánica


que cumpla con los Morales Cabrera Gustavo
Diseño mecánico y requerimientos dinámicos. Sánchez Chaparro Miguel Ángel
1
manufactura  Validar el diseño mecánico. San Miguel Rodríguez Josué Daniel
 Fabricar y ensamblar las piezas Rabadán Ortiz Adrián
necesarias para el robot.

Cinemática directa e
inversa  Con base al diseño mecánico Álvarez Toledo Jorge
2 generar las ecuaciones San Miguel Rodríguez Josué Daniel
necesarias de la cinemática
directa e inversa.

 Diseñar y construir
Álvarez Toledo Jorge
controladores aplicados a
Cortez Vázquez Oscar Ricardo
motores de CD usados en el
Control eléctrico y García Facio David
3 robot.
visión artificial Rodríguez Hernández Héctor
 Crear un control de
Sánchez Chaparro Miguel Ángel
movimientos basado e visión
artificial.

 Fabricar fuentes de
alimentación que cumplan con
el consumo energético del Álvarez Toledo Jorge
Alimentación y
4 robot. Rabadán Ortiz Adrián
electrónica
 Crear los diferentes circuitos Rodríguez Palomeque Yair
requeridos en para el control
del robot.

 Distribuir de forma óptima los


Administración de
recursos económicos y
recursos económicos
materiales indispensables en la Sánchez Chaparro Miguel Ángel
5 y materiales
fabricación del robot. Morales Cabrea Gustavo
 Realizar la repartición de
labores para cada
departamento.
Tabla 1. Distribución del trabajo.
Recurso Humano Recursos Materiales Costo Recurso Otros
Económico
9 Técnicos 1 minidrill $760.00 $2,700.00
1 vernier digital $320.00
1 juego de brocas $530.00
1 machuelo 3/16" $84.00
1 machuelo 5/32" $46.00
1 cortador fresadora $230.00
1 pinzas de presión $52.00
2 prensa en C $30.00
1 rotomartillo $660.00
1 juego de desarmadores $480.00

1 cautin $130.00
1 pinzas pelacables $200.00
1 multímetros digital $400.00

3 Laptop Dell $42,000.00


Total $45,922.00 $2,700.00

Tabla 2. Recursos disponibles.

Taza de Depreciación
Recursos Materiales Costo
depreciación anual
1 minidrill $760.00 35% $266.00
1 vernier digital $320.00 35% $112.00
1 juego de brocas $530.00 35% $185.50
1 machuelo 3/16" $84.00 35% $29.40
1 machuelo 5/32" $46.00 35% $16.10
1 cortador fresadora $230.00 35% $80.50
1 pinzas de presión $52.00 35% $18.20
2 prensa en C $60.00 35% $21.00
1 rotomartillo $660.00 35% $231.00
1 juego de desarmadores $480.00 35% $168.00

1 cautin $130.00 35% $45.50


1 pinzas pelacables $200.00 35% $70.00
1 multímetro digital $400.00 35% $140.00

3 Laptop Dell $42,000.00 30% $12,600.00


Total $45,922.00 $13,983.20
Tabla 3. Depreciación de los materiales.
Departamento
Actividad Horas/Hombre Costo/Hora Total
responsable
Diseño mecánico 1 37 $7.323 $270.951
Ensamblado 1 9 $7.323 $65.907
Diseño, manufactura
y ensamble de 1 8 $7.323 $58.584
gripper
Control eléctrico de
4 21 $7.323 $153.783
gripper
Caracterización de
3 3 $7.323 $21.969
motores
Control motor de CD 3 27 $7.323 $197.721
Caracterización de
3 10 $7.323 $73.230
sensores
Diseño e
implementación de
algoritmos de 3 21 $7.323 $153.783
control por visión
artificial
Diseño y fabricación
4 21 $7.323 $153.783
de fuentes
Programación y
comunicación con 3 7 $7.323 $51.261
PC
Planeación 5 120 $7.323 $878.760
Organización 5 120 $7.323 $878.760
Control 5 240 $7.323 $1757.520
Dirección 5 120 $7.323 $878.760
Total $5594.772

Tabla 4. Costos esperados.

Departamento
Actividad Horas/Hombre Costo/Hora Total
responsable
Manufactura de
1 6 $845.000 $5070.000
eslabones en CNC
Manufactura de ejes 1 2 $125.000 $250.00

Costo total $5320.000


Tabla 5. Costos esperados de manufactura.
Cantidad Parte Precio Total
Unitario
1 Material de aluminio $250.000 $250.000
4 Ejes de flecha $220.000 $220.000
6 Baleros 1 1/8” $25.000 $150.000
2 Motor reductor $100.000 $200.000
2 Sprocket $30.000 $60.000
1 Cadena paso de ½” $30.000 $30.000
1 Pegamento a base de $63.000 $63.000
catalizador
1 Tornillería y machuelos $231.000 $231.000
1 Nylamid $60.000 $60.000
1 Material Gripper $400.000 $400.000
1 Material electrónica $521.000 $521.000

Total $2185.000
Tabla 6. Costos de materiales.

Concepto Gasto
Transporte $610.00
Total $610.00
Tabla 7. Otros gastos.

Inversión inicial Costo


Recursos materiales $45,922.000
Recursos económicos $2,700.000
Recursos mano de obra $10,914.772
Materiales de construcción $2,185.000

Total de inversión $61,721.772


Tabla 8. Total de inversión por robot.
Anexo B: Validación del diseño mecánico

Figura B1. Análisis de esfuerzos en eslabón 2.

Figura B2. Análisis de deformación en eslabón 2.


Figura B3. Análisis de esfuerzos en eslabón 1.

Figura B4. Análisis de deformación en eslabón 1.


Anexo C: Planos del diseño mecánico

Figura C1. Reajuste de dimensiones para el eslabón 1.

Figura C2. Reajuste de dimensiones para el eslabón 2.

Figura C3. Reajuste de dimensiones para el eslabón sujetador.


Figura C4. Ejes de acoplamiento entre base y eslabón 1.

Figura C5. Ejes de acoplamiento entre eslabón 1 y eslabón 2.


Figura C6. Diseño CAD en 3D del actuador Final
Anexo D: Desarrollo matemático para Control de Motores

El valor mínimo de la función se determina igualando a cero las derivadas parciales y , y


resolviendo las ecuaciones que resultan en A y B.

Para A:

Para B:

Utilizando la propiedad distributiva de la suma, obtenemos de (13) y (14):

Llevando esto a un sistema de ecuaciones matricial tenemos:

Aplicando mínimos cuadrados para (11)


Anexo E: Código del controlador digital PIC18F4550