57
2010 Instituto Politécnico Nacional Unidad Profesional Interdisciplinaria de Ingenierías y Tecnologías Avanzadas 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 Reporte final de la construcción de un robot tipo SCARA

Robot Scara

Embed Size (px)

DESCRIPTION

Robot SCARA 3 GDL 1 mes de trabajo

Citation preview

Page 1: Robot Scara

2010

Instituto Politécnico Nacional

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

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

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

Page 2: Robot Scara

Í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

Page 3: 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

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

sumamente reducido en comparación con

manipuladores cartesianos, además que su

mantenimiento es relativamente más barato y por

su propia configuración presentan movimientos

más limpios.

Las tareas principales que desempeñan los robots

SCARA dentro de la industria farmacéutica y

alimenticia son las de separar objetos en las líneas

de producción, ya sea por defecto o porque serán

empacados, motivo por el cual los movimientos

deben ser rápidos y precisos, tal como se puede

observar en la figura 1.

Una necesidad que suele presentarse es la de

esquivar objetos que estén dentro de un rango de

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.

Figura 1.3a. Aplicaciones de los robots SCARA.

Figura 2.3b. Aplicaciones de los robots SCARA.

1.4 Requerimientos

Los requerimientos básicos con los que debe de

cumplir un Robot SCARA que tenga aplicaciones

dentro de la industria farmacéutica o alimenticia,

son los siguientes:

Dimensiones. Las dimensiones de la

estructura del robot se muestran en la

figura 2. Éstas están directamente

relacionadas con el espacio de trabajo

requerido para la aplicación.

Área de trabajo. El área de trabajo bajo

la que está delimitado el robot se muestra

en la figura 2.

Diseño y Construcción de robot SCARA

Page 4: Robot Scara

Figura 1.4a. Dimensiones de los robots SCARA.

Figura 1.4b. Área de trabajo de los robots SCARA.

Tabla 1.4a. Dimensiones de los robots SCARA.

Velocidad. La velocidad a la que

trabajara el robot será una velocidad

constante de 240°/s, la cual es una

velocidad suficiente para recorrer el área

de trabajo en un tiempo óptimo.

Carga. La capacidad de carga que se

exige para el funcionamiento del robot es

pequeña sin rebasar 1kg, pues los objetos

que manejará son del tamaño y peso de

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

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.

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

Poner a disposición de las industrias

tecnología de calidad a un buen costo.

Lograr que las industrias tengan un

mayor interés por la tecnología nacional.

Ahorrar tiempos muertos en las

industrias cuando éstas requieren la

reparación o mantenimiento de

maquinaria, pues las refacciones se

encuentran dentro del país.

Disminuir la perdida de ganancias de las

empresas cuando éstas reparan o dan

mantenimiento a su maquinaria.

Favorecer al ahorro de las industrias en el

aspecto energético.

Contribuir a que las empresas logren

procesos más limpios y precisos,

obteniendo así productos de mayor

calidad que se verán reflejados en

mayores ganancias.

Parámetro Longitud (mm)

H1 265

L1 222

L2 220

H2 180

Radio exterior 400

Radio interior 230

Ángulo de apertura 216°

Page 5: Robot Scara

Poner a disposición de las empresas una

variedad de opciones de pago en la

compra de tecnología.

2.1.3 A nivel personal

Llevar a la práctica los conocimientos

adquiridos en clase.

Resolver problemas prácticos que en el

salón de clase no se presentan.

Tener la oportunidad de conocer la

aplicación industrial del proyecto.

Tener la oportunidad de lograr introducir

el proyecto dentro de una empresa.

Lograr que las empresas se interesen por

los proyectos realizados dentro de la

Escuela y del Instituto.

Comprender todos los procesos

administrativos que dentro de una

empresa se llevan a cabo para que ésta

trabaje correctamente.

Obtener una visión más amplia de la

situación económica y tecnológica del

país.

Tener una alternativa para poder formar

una empresa y lograr ser independientes.

2.2 Distribución de las labores dentro del

equipo de trabajo

Para la fabricación del robot se crearon cinco

diferentes departamentos con tareas específicas

con la finalidad de obtener un mejor desempeño

en la elaboración del proyecto, estos

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

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.

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.2 Costos esperados

En la tabla 4 del anexo A se muestra la duración

de cada actividad, con su correspondiente

responsable. Para determinar el costo de cada hora

de trabajo se tomó como referencia un salario

mínimo de $52.59 (que incluye 8 horas laborales),

por lo que cada hora de trabajo tiene un costo de

$7.323.

Para la manufactura de las piezas se tiene un costo

especial, pues se utilizó un centro de maquinado

CNC y un torno convencional, el costo de

manufactura se muestra en la tabla 5 del anexo A.

Por lo que se tiene un costo total de mano de obra

por $10,914.772

Los costos de los materiales que se utilizaron para

la construcción del proyecto se muestran en la

tabla 6 del anexo A. Dicha tabla de costos servirá

para determinar el costo unitario y de venta del

proyecto.

La tabla 7 del anexo A muestra una relación de

otros gastos que se tuvieron durante la

construcción del proyecto.

2.3.3 Costo de producción unitario

Es el costo que adquiere el producto terminado,

consecuencia de la suma de todos los costos de los

materiales utilizados en su fabricación. El costo de

producción unitario se fija a partir de la siguiente

fórmula:

Sustituyendo valores se tiene lo siguiente:

El costo unitario de producción para 100 unidades

mensuales es de:

Page 6: Robot Scara

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:

Page 7: Robot Scara

3. Especificaciones técnicas del robot

Las especificaciones técnicas del funcionamiento

del robot se muestran en la siguiente tabla:

Tensión de alimentación

de motores 25 Volts

Corriente mínima de

alimentación 0.50 Ampers

Corriente máxima de

alimentación 1.20 Ampers

Velocidad de trabajo 240°/s (40 rpm)

Carga de trabajo 0.50 Kg

Apertura máxima de

tenazas 0.05 m

Peso del robot 5.00 kg Tabla 3a. Especificaciones técnicas de robot SCARA.

4. Desarrollo técnico del robot

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.

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

La distribución de cargas enlista a continuación:

Carga máxima a levantar

(WL) = (0.500 Kg) (9.81 m/s2) = 4.905 N

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

Motor para gripper

(WMOT3) = (0.750 Kg) (9.81 m/s2) = 7.36

N

Rodamientos entre eslabón 2 y 1

(WROD) = (0.200 Kg) (9.81 m/s2) = 1.962

N

Peso del eslabón 1

(WE1) = (0.750 Kg) (9.81 m/s2) = 7.36 N

Mecanismo de eslabón 1 (WM1) = (1.0

Kg) (9.81 m/s2) = 9.81 N

Motor para eslabón 2 (WMOT2) = (0.750

Kg) (9.81 m/s2) = 7.36 N

4.1.2 Análisis para el eslabón 2

Las cargas a las que está sometido este eslabón

son: WL, WMG, WE2, WM3, WMOT3. Se sabe que la

resistencia del aluminio a la fluencia (σy) es de

255 MPa, mismo que es el esfuerzo de falla, y

considerando un coeficiente de seguridad de 2, se

obtiene lo siguiente:

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

fuerzas de reacción que tiene el eslabón 2 sobre el

eslabón 1 existe una carga de 39.245 N. Se sabe

que la resistencia del aluminio a la fluencia (σy) es

de 255 MPa, mismo que es el esfuerzo de falla, y

considerando un coeficiente de seguridad de 2, se

obtiene lo siguiente:

Page 8: Robot Scara

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.

Page 9: Robot Scara

4.2 Adaptaciones y modificaciones finales al

diseño

De acuerdo con el diseño mecánico planteado en

un inicio existen variaciones respecto a la

selección de rodamientos, transmisión por cadena

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:

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.2.3 Reajuste de las dimensiones de los

eslabones

Como se menciono anteriormente, debido a la

selección de la transmisión por cadena se tuvo que

reajustar las longitudes de los eslabones,

quedando como se muestra en el anexo C.

B 7.93 mm

D 28.575 mm

d 12.7 mm

Page 10: Robot Scara

4.3 ETAPA DE CONTROL DE MOTORES DE CD

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

de predicción corrección de Hamming para

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

deben ser necesariamente muestreadas durante el

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:

Auxiliándonos del método de Hamming, que se

estructura de la construcción de las

aproximaciones a la solución de valor inicial:

Usando el valor predictor:

Una modificación y el valor corrector:

Ahora si nosotros ya conocemos , pues ya

no es necesario aplicar el predictor, basta con

aplicar el corrector.

Para simplificar los cálculos realizaremos

algunos cambios de variable, sea:

Sustituyendo a, b, c y d en (1) y (2).

Aplicando el método de Hamming a (3).

Sea

Si expresamos las variables en diferencias

como:

Sustituyendo en (5), obtenemos la ecuación (9)

Para la ecuación (4)

Sustituyendo (6), (7) y (8) obtenemos (11).

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

el error que nos pueda generar el método de

Hamming, dicho de otro modo debemos de

obtener los valores óptimos de los parámetros para

poder realizar un ajuste de las curvas obtenidas

por el circuito electrónico, por lo tanto

aplicaremos el método de mínimos cuadrados.

Si empezamos con la curva descrita por (9),

entonces la distancia vertical desde el punto

Page 11: Robot Scara

hasta el punto

, de la curva:

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

TEÓRICA)

La implementación de una etapa de control de

posición de motores es de suma importancia para

el correcto funcionamiento del robot, ya que ésta

asegura que se alcanzan de manera confiable las

posiciones de las variables articuladas deseadas

por el robot SCARA, en la fig.4.3a se propone el

diagrama de control en lazo cerrado del sistema

robótico, ya que hay que ver a la planta como todo

lo que comprende el robot y no solo los

actuadores.

1. Cinemática Inversa

Es el algoritmo que nos proporciona el valor de

las variables articulares a los que deseamos rotar

en este caso por simplicidad del control se indica

qd como un vector el cual contiene todas las

variables articuladas tanto de posición y velocidad

angular de los eslabones .

2. PID

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:

3. Los bloques D y C

Son compensadores del sistema, donde D es

una matriz donde sus elementos están

conformados por las masas e inercias que al ser

multiplicadas por la salida del controlador PID

generan una estimación del par generado por la

estructura debido a las variables articuladas y que

afectan directamente, en este caso, a los motores

generadores del par del sistema.

C es una matriz de las componentes de las

reacciones que existen en las uniones de los

eslabones, de tal forma que estas reacciones al

relacionarse con la geometría de la estructura

también generan un par perturbador.

4. Motor 1 y Motor 2

Son nuestros generadores de par para poder

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

Page 12: Robot Scara

producir movimiento entre los eslabones de la

estructura.

Para ver a un motor como un generador de par

se debe de analizar como un nuevo sistema de

control, de tal forma que, el motor proporcione el

par deseado en cada instante de tiempo en el que

se le requiera.

Se puede observar que en el diagrama de la

fig.4.3b la mayoría de las constantes La, Ra, ke, J

y b son los parámetros internos del motor,

obtenidos mediante el método explicado en A.

Método a emplear para caracterizar motores.

Además que al igual que el seguimiento de

trayectoria de las variables articuladas, también se

hace el uso de un controlador PID para asegurar la

respuesta inmediata del par requerido.

5. Estructura mecánica

Es el conjunto de elementos que conforman al

sistema articulado, donde ésta requiere de una

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

sistema.

C. CONTROL DE LOS MOTORES DE CD PARA LOS

PRIMEROS DOS GRADOS DE LIBERTAD. (PARTE

PRÁCTICA)

Este sistema de control se implementará de

forma digital, ya que en la actualidad es necesaria

la implementación de controladores digitales, pues

los analógicos ya están quedando obsoletos por la

gran cantidad de limitantes y tamaño de

componentes.

Para nuestro sistema de control digital

utilizaremos el siguiente hardware.

1. Computadora (Algoritmo de los valores de

las variables articuladas)

Para la posible implementación de este control

en lazo cerrado será necesario de una

computadora que nos proporcione los valores de

las variables articuladas deseadas, a las que debe

responder el sistema.

Únicamente se procesará algún algoritmo para

la decodificación de posición o velocidades

deseadas en el efector final, en el caso de la

cinemática inversa, de las variables articuladas. Y

se realizará la misma, para el caso contrario,

cinemática directa. De tal forma que a un

microcontrolador, externo, se le proporcionen

dichos valores que deben de entrar a nuestro

proceso de control.

2. Microcontrolador (Implementación de un

PID de forma digital)

Se implementará un controlador microchip

matrícula PIC18F4550, del cual utilizaremos:

• 1 puerto para comunicación USB. de 1.5

Mb/s -12 Mb/s.

• 64 bytes acceso dual para USB.

• 2 canales ADC, con 10 bits.

• 1 generador con 2 canales, PWM con

resolución de 1 a 10 bits.

• Comunicación tipo bulk.

• Driver: Mpusbapi.

• Librerias: Mpusbapi.dll,mpusbapic.h.

• Cristal: 20 Mhz.

• Frecuencia de trabajo interna: 48Mhz

Donde la programación se llevará a alto nivel

con el compilador PICC.

fig. 4.3b Diagrama del controlador de par

Page 13: Robot Scara

Para la implementación de la función de

transferencia del PID se programará mediante una

serie de ecuaciones en diferencias.

Para garantizar el correcto funcionamiento el

sistema se muestreará a una frecuencia de

muestreo de 10Khz. Con la que se procura que

dicha frecuencia sea mayor a la frecuencia del

sistema de control.

La señal PWM trabajará a una frecuencia de

3Khz.

Se implementa un seguimiento de referencia

(dato enviado por la computadora al

microcontrolador) y una retroalimentación

compuestas por 8 bits mediante la lectura de los

canales ADC, con dicha resolución se logran 255

posiciones (suponiendo que todas sean

alcanzables por el conjunto actuador /

acondicionador / estructura mecánica).

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

del controlador PID ver Anexo B.

3. Etapa de potencia

Para esta etapa del sistema de control se

implementaron puentes H con transistores tipo

mosfet, controlados por cambio del giro y señal

pwm, como se puede ver en la fig 4.3c.

Se implementaron los transistores canal p y n

con las matriculas IRF640 e IRF9640, se optó por

este tipo de material porque sus zona de trabajo es

demasiado tolerante a cambios bruscos de

demanda de corriente además de que se pueden

energizar a tensiones altas y su rango de

frecuencias de activación de compuerta soporta

mayores frecuencias que un BJT.

Para aislar al circuito digital de la etapa de

potencia se utilizaron opto-acopladores 4n33.

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

Page 14: Robot Scara

4.4 Diseño y control del actuador final

(gripper)

Al robot se le implementara un efector final el

cual debe ser capaz de sostener un bolígrafo o un

plumón para pizarrón, con la característica

principal de avanzar sobre una superficie

irregular.

El efector debe de tener un alcance de por lo

menos 5 cm por encima de la superficie plana

donde se trazara la trayectoria.

El efector debe de lograr levantar por lo menos

300gr y a su vez lograr trazar sobre superficies

irregulares.

Este movimiento debe de ser lo suficientemente

rápido, para evitar que el robot tenga que parar

durante la trayectoria.

Este bolígrafo debe trazar sobre papel la

trayectoria deseada por el usuario.

El censado debe ser lo suficientemente preciso

para evitar que la línea no sea continua, es decir

que la transmisión suba o baje afectando el trazo

de la trayectoria.

Lograr calibrar y aislar el censor de

perturbaciones del área de trabajo (iluminación,

ruido electromagnético, etc).

A. Desarrollo

Propuesta inicial

Sensor

En un inicio se propone un censor óptico del tipo

QRD, ya que este tiene la cualidad de ser lineal, y

de fácil manejo e implementación. Se obtuvo en

un solo encapsulado tanto al emisor como al

receptor, por lo que al siguiente paso a cubrir es el

diseño del control y la electrónica necesaria para

poder procesar la señal obtenida del sensor.

Material para el diseño de la estructura

Para este problema se pensó en algún polímero, ya

que es fácil de manejarse y maquinarse, además

de que al diseño siempre hay que realizarle

ajustes, se opta por este tipo de materiales, ya que

es muy fácil agregar o quitar piezas de la

estructura. Estos cambios comenzaran a partir de

las pruebas realizadas conforme se desarrolla el

mismo.

Sistemas de transmisión

Para el efector se proponen dos diferentes

sistemas de transmisión, uno de ellos para el

gripper; para poder abrir y cerrar hasta el diámetro

deseado al colocar el bolígrafo o plumón para la

trayectoria.

El segundo es propuesto por un sistema de

cremallera para poder transformar un movimiento

rotacional a un longitudinal. Este sistema nos

permitirá tener la posición del motor del sistema

de transmisión se desea controlar la posición del

mismo.

Motores

Para el gripper se necesita un motor de baja

potencia ya que solo debe mantener el bolígrafo

en posición. Si se consigue un motor que al estar

sin corriente eléctrica mantenga el bolígrafo en la

posición inicial se optara por este, en caso

contrario se mantendrá energizado para poder

asegurar el agarre del bolígrafo.

Para el movimiento a lo largo del eje Z se

necesitara un motor con un par adecuado para

poder mover sin problema mas de 300gr además

del peso de la estructura del gripper. Este motor

será seleccionado de acuerdo a sus dimensiones y

costo.

Control

Se diseño un simple ADC seguido de un micro

controlador y un puente H para el motor de la

transmisión vertical. Ya que simplemente

comparando el sensor óptico con una referencia,

se desea a la salida con dos bits la combinación

adecuada para que el motor gire en diferente

sentido a través del puente h.

Para el gripper se implementara un

microcontrolador de tal forma que con dos

simples botones se pueda abrir y cerrar. Al cerrar

y llegar al borde del bolígrafo el motor se

mantendrá energizado ocasionando una fuerza

necesaria para que el bolígrafo se mantenga en

posición.

Resultados preliminares

Sensor

Al realizar pruebas al censor se hizo notoria la

gran cantidad de perturbaciones que tenemos del

ambiente, ya que al variar la iluminación del

entorno se tienen variaciones en la tensión de

salida del sensor. Por lo que se necesita aislarlo

del entorno y disminuir lo mayor posible las

perturbaciones.

Material para el diseño de la estructura

Se comienza por utilizar la estructura de un lector

de CD ya que al ser este un polímero cumple con

las características deseadas, además de que este

lector ya tiene diferentes sistemas de transmisión,

los cuales podrían ser utilizados.

Page 15: Robot Scara

Sistemas de transmisión

Se utilizaran los sistemas de transmisión del lector

de CD ya que los engranes están fabricados de

nylamid, este material tiene la capacidad de

soportar grandes cargas en los dientes, por lo que

es factible utilizarlos. Además de que en la

charola cuenta con un sistema rotacional-

traslacional, el cual podría ser aplicado en el

posicionamiento vertical del gripper.

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.

Este control es de buena precisión, rapidez y buen

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

Fig.4.4a Tenazas del robot.

Para el movimiento de las tenazas fue empleado el

mecanismo de un lector laser de un DVD el cual

se modificó a conveniencia para simular las

tenazas del robot, para lograr este abrir y cerrar se

utilizó el motor que viene con el mecanismo, el

cual trabaja a 5v y tiene un consumo de 150 mA.

La etapa electrónica correspondiente se muestra

en la siguiente figura:

Fig.4.4b Mecanismo empleado y modificado a

conveniencia.

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,

Page 16: Robot Scara

por lo que los transistores NPN Q5 y Q6, no

conmutan y de esta manera el motor queda si

energía, y como se observa en el diagrama

simbólico, los pines 9 y 10 nunca puede tener la

combinación de 1-1 ya que eso generaría un corto

circuito.

Los transistores Q5 y Q6 son BC548C, los cuales

son de baja potencia y sólo sirven para activar el

puente H, para Q1 y Q2 se utilizaron TIP 31C y

para Q3 y Q4 los complementarios TIP 32C, cabe

mencionar que el puente se calculó de tal forma

que los transistores entren siempre en saturación

respectivamente, de esta manera se evita que se

calienten por mala disipación de potencia, debida

a un voltaje presente entre el colector y emisor.

Programa para abrir y cerrar las tenazas

programada en el PIC16F628A:

processor 16F628A

include <p16f628A.inc>

__CONFIG 0x2170

num1 equ 0xFF

var1 equ 0x22

num2 equ 0x01

var2 equ 0x23

org 0x00

goto inicio

org 0x05

inicio: CLRF PORTA

Movlw 0x07

movwf CMCON

bsf STATUS,RP0 ;Cambia al banco

1

movlw b'00000011' ;Configura Puerto

A como entrada/salida

movwf TRISA

movlw b'00000000' ;Configura puerto

B como salida

movwf TRISB

bcf STATUS,RP0

;Cambia al banco 0

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

spres: btfsc PORTA,0

goto spres

movlw 0x08

movwf PORTB

goto sensa

cerrar: call t50ms

btfss PORTA,1

goto sensa

spres1: btfsc PORTA,1

goto spres1

movlw 0x10

movwf PORTB

goto sensa

t50ms: movlw num2

movwf var2

carga: movlw num1

movwf var1

decre: nop

nop

nop

nop

nop

decfsz var1,F

goto decre

decfsz var2,F

goto carga

return

end

Diseño electrónico para la etapa de sensado y

movimiento del efector.

Como se mencionó anteriormente, el efector debe

ser capaz de cargar mínimo 300 g y controlar la

altura de manera automática cuando la superficie

cambie, para esto se utilizó inicialmente el

sensor QRD114 y se diseñó su etapa electrónica

como se muestra en la figura, pero este diseño no

sirvió del todo, ya que los cambios de luz de una

zona a otra o el simple hecho de movernos

alrededor del efector produce variaciones

indeseadas las cuales consideramos como ruido y

nos afectan, ya que no se puede estabilizar el

efector y alcanzar la altura deseada.

Page 17: Robot Scara

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

los cambio de luz y a su salida tenemos una

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

variable en las resistencias conectadas al colector

y Vcc, de tal manera que esa variación de voltaje

se puede enviar a un convertidor analógico-digital,

para realizar el control de posición del motor.

Como es un circuito muy básico y el emisor de luz

está conectado a una fuente constante, el

fototransistor es vulnerable a fluctuaciones de baja

frecuencia, como movimientos generados

alrededor del efector que producen variaciones de

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.

Primero se cambió la alimentación del emisor

infrarrojo como se muestra a continuación:

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

de sensado propuesta.

Como se observa en este diagrama, la

alimentación para el emisor ahora es pulsada a una

frecuencia de 1 KHz, con la finalidad de evitar las

frecuencias bajas que mencionamos

anteriormente, por lo que el sensor ahora detectará

estas pulsaciones de luz en vez de una fuente de

luz constante como se tenía en la etapa anterior,

pero como ahora la respuesta del fototransistor se

espera que también sea pulsada a 1 kHz, se diseña

un amplificador para aumentar más la señal que

entrega este, como se muestra a continuación:

Fig.4.4f Diagrama simbólico para amplificar la

señal del fototransistor.

Ahora la salida de este amplificador posee

componentes de baja frecuencia que se generan

Page 18: Robot Scara

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:

Fc =

= 1000 Hz

Por lo tanto al despejar se tiene una resistencia de

1591.54 Ω por lo que utilizó una comercial de

1kΩ en serie con una de 580 Ω y la nueva

frecuencia de corte da de 1.007 kHz lo cual es

aceptable.

Fig.4.4g Filtro pasa altas a 1 kHz.

Posteriormente la salida del filtro se pasa por un

seguidor de voltaje para evitar la impedancia del

circuito RC y del seguidor de voltaje se rectifica la

señal, ya que esta será enviada a un convertidor

analógico-digital y tiene que ser una señal de DC

pues si se convierte la señal alternante

directamente del filtro, el efector comienza a

oscilar y nunca alcanza la altura deseada, es por

eso que se diseñó un rectificador de onda

completa con amplificadores operacionales como

se muestra a continuación:

Fig.4.4h Rectificador de onda completa

con operacionales.

La salida del rectificador de onda completa

presenta todavía componentes de alta frecuencia,

para esto se diseña ahora un filtro pasa bajas con

frecuencia de corte en 8.8 Hz de igual manera que

el filtro anterior:

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

de sensado.

Como se ve en este diagrama, después del filtro

pasa bajas pasivo, se conecta otro seguidor de

voltaje para aislar la baja impedancia del circuito

y pueda ser enviada al ADC para realizar el

control de posición del motor.

Finalmente esta es la segunda etapa de sensado,

la cual funciona adecuadamente y ya no es

vulnerable a los cambios externos de luz o a la

saturación por un exceso de luz como la luz solar:

Page 19: Robot Scara

Etapa de control con micro controlador AVR

ATMEGA8535

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

como voltaje de referencia 5v y cada 4.88 mV

el ADC incrementa o decrementa un bit, es

entonces que fijamos una referencia en binario por

medio de dos dip switch conectados en los puertos

C y D del AVR, por ejemplo fijamos

B’0011111111 que equivale a un voltaje de 1.21v

y que es el voltaje que se tiene a una altura dada

del efector medida desde la superficie hasta el

sensor que es móvil y que está fijo en la parte de

abajo de las tenazas, ahora sólo se programa el

AVR para que mande a la salida del puerto B la

combinación binaria B’00000010 si el voltaje de

entrada al ADC es mayor a la referencia propuesta

o la combinación binaria B’00000001 si el voltaje

de entrada al ADC ahora es menor a la referencia

dada, y finalmente cuando la referencia sea igual

al valor de entrada en el ADC, la salida de puerto

B será B’00000000.

De esta forma estas combinaciones se mandan a

un puente H de igual manera que se hizo para

abrir y cerrar las tenazas del efector, y así se logra

que las tenazas puedan subir y bajar para alcanzar

la altura deseada.

El puente H y el micro controlador se muestran a

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.4k Diagrama simbólico de la conexión del

micro controlador ATME8535 y puente H del

motor.

La programación del AVR se llevó a cabo en el

programa Bascom para microcontroladores AVR,

ya que no es una programación en lenguaje

ensamblador y por la facilidad de programación.

Aquí se muestra el código del programa para el

control de posición:

$regfile "m8535.dat"

$crystal = 11059200

Dim W As Word , Ref As Word , Dmas As Word , Dmin As

Word

Ddra = 0

Porta = 0

Ddrb = 255

Portb = 0

Ddrc = 0

Ddrd = 0

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Start Adc

Ref = 0

Page 20: Robot Scara

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.

Page 21: Robot Scara

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

de la misma, como se observa en la figura.

Como podemos ver la selección de esta se debió a

la propia forma del área de trabajo del robot, es

decir, a los valores máximos y mínimos que el

gripper puede alcanzar, además del área que la

cámara puede ver a una distancia determinada.

Para encontrar el área de visión, tuvimos que

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.1a.- Área de trabajo del robot

Fig 4.5.1b.- Área de visión

Debido a las características antes descritas el

origen del área de visión es relativo con respecto

al origen del área de trabajo del robot, por lo que

para llegar al origen del área de visión es

necesario hacer un offset del área de visión, como

se muestra en la siguiente figura.

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

distancia requerida, 40 cm, de objetos cuadrados

Page 22: Robot Scara

de diferentes dimensiones y en diferentes

posiciones del área de visión.

A continuación se presenta una tabla con las

diferentes mediciones:

Tabla 4.5.1a.- Mediciones para calibración

Numero de medición

Distancia en cm

Numero de pixeles

Valor de un pixel en centímetros

1 0.5 3 0.1667 2 1.0 5 0.2000 3 1.5 8 0.1875 4 2.0 11 0.1818 5 2.5 14 0.1786 6 3.0 16 0.1875 7 3.5 19 0.1842 8 4.0 21 0.1905

Finalmente para tener un parámetro regular en

toda la foto decidimos hacer un promedio de los

valores obtenidos, así el valor regular de cada

pixel en centímetros es:

Con este parámetro somos capaces de

proporcionarle, tanto a la cinemática directa como

a la cinemática inversa los valores necesarios para

el posicionamiento del gripper.

4.5.2 PROGRAMACIÓN

El cálculo de coordenadas se implemento

mediante software en matlab, a continuación se

presenta la sección de código escrito y

posteriormente una explicación detallada de su

funcionamiento.

%Vision para Robot SCARA

close all, clear all, clc;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

%Captura de imagen

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

v=videoinput('winvideo',2);

set(v,'ReturnedColorSpace','rgb')

preview(v)

pause

foto=getsnapshot(v);

figure,imshow(foto)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

%Binarizar imagen

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

% foto=imread('cinta.bmp');

foto=rgb2gray(foto);

[fil,col]=size(foto);

foto=foto>105;

foto=1-foto;

figure,imshow(foto)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

%Erosion de Imagen

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

estructura=[1 0 0 0 0 0 1;

0 1 0 0 0 1 0;

0 0 1 0 1 0 0;

0 0 0 1 0 0 0;

0 0 1 0 1 0 0;

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

end

end

figure,imshow(erosion)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

%Calculo de bordes de la imagen Erosionada

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

bordes=edge(erosion)

figure,imshow(bordes)

salida=bordes;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

%Codigo de la cadena

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

for i=2:fil-1

for j=2:col-1

if salida(i,j)==1

paro=1;

pixel=0;

while (paro==1)

if salida(i,j+1)==1

salida(i,j)=0;

pixel=pixel+1;

coordx(pixel)=i;

coordy(pixel)=j;

i=i;

Page 23: Robot Scara

j=j+1;

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+1,j)==1

salida(i,j)=0;

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;

elseif salida(i,j-1)==1

salida(i,j)=0;

pixel=pixel+1;

coordx(pixel)=i;

coordy(pixel)=j;

i=i;

j=j-1;

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-1,j)==1

salida(i,j)=0;

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;

else

salida(i,j)=0;

pixel=pixel+1;

coordx(pixel)=i;

coordy(pixel)=j;

paro=0;

end

imshow(salida)

drawnow

end

end

end

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

%Escala de vectores de Coordenadas en X e

Y

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

tamX=length(coordx)

coordxn=coordx(1:tamX/2);

coordyn=coordy(1:tamX/2);

contador=1;

for i=1:5:tamX/2

posRealX(contador)=coordxn(i);

posRealY(contador)=coordyn(i);

contador=contador+1;

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%Transformacion de escala de pixeles

a cm

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%

posRealX=posRealX*0.1845;

posRealY=posRealY*0.1845;

Ahora que conocemos el código explicaremos

detalladamente cada sección del mismo:

A. Captura de Imagen

v=videoinput('winvideo',2);

set(v,'ReturnedColorSpace','rgb')

preview(v)

pause

foto=getsnapshot(v);

figure,imshow(foto)

En esta sección de código se llama a la

herramienta de video de matlab, se abre una

ventana con una vista previa del video capturado

para después obtener una captura de imagen, por

último se muestra en una ventana nueva la imagen

capturada, un ejemplo de captura es el siguiente:

Fig. 4.5.2a. Imagen Capturada de la Trayectoria.

B. Binarización de Imagen

foto=rgb2gray(foto);

[fil,col]=size(foto);

foto=foto>105;

foto=1-foto;

figure,imshow(foto)

Para tratar una imagen es mucho más fácil

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

sus componentes en rojo, otra con sus

componentes en azul y otra con sus componentes

en verde, con el comando rgb2gray se transforma

la imagen a una matriz de una sola capa en escala

Page 24: Robot Scara

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

color blanco, por último se muestra la imagen

binarizada.

Fig. 4.5.2b. Imagen Binarizada de la trayectoria

C. Erosión de la Imagen

estructura=[1 0 0 0 0 0 1;

0 1 0 0 0 1 0;

0 0 1 0 1 0 0;

0 0 0 1 0 0 0;

0 0 1 0 1 0 0;

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

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

externas de la figura mediante la aplicación de una

máscara o estructura, cabe mencionar que la

estructura se puede seleccionar de acuerdo al

tamaño que más convenga para la aplicación, en

nuestro caso se intento con distintas estructuras

pero la que mejor funciono para adelgazar las

trayectorias de prueba fue una estructura en forma

de X con dimensión de 7 filas por 7 columnas, por

último se muestra una imagen con la trayectoria

adelgazada o erosionada.

Fig. 4.5.2c. Imagen Erosionada de la trayectoria

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

lo demás, dejando solo dibujada su forma básica,

esto se realiza con el propósito de obtener la

imagen definida solo por contornos de un pixel de

grosor, esto nos ayudara a un correcto

funcionamiento del código de la cadena explicado

a continuación, se muestra una figura con los

bordes de la imagen calculados

Fig. 4.5.2d. Bordes delgados de la trayectoria

E. Código de la cadena

for i=2:fil-1

for j=2:col-1

if salida(i,j)==1

paro=1;

pixel=0;

while (paro==1)

if salida(i,j+1)==1

salida(i,j)=0;

pixel=pixel+1;

coordx(pixel)=i;

coordy(pixel)=j;

Page 25: Robot Scara

i=i;

j=j+1;

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+1,j)==1

salida(i,j)=0;

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;

elseif salida(i,j-1)==1

salida(i,j)=0;

pixel=pixel+1;

coordx(pixel)=i;

coordy(pixel)=j;

i=i;

j=j-1;

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-1,j)==1

salida(i,j)=0;

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;

else

salida(i,j)=0;

pixel=pixel+1;

coordx(pixel)=i;

coordy(pixel)=j;

paro=0;

end

imshow(salida)

drawnow

end

end

end

end

Es la parte fundamental del cálculo de la

trayectoria ya que como resultado de la aplicación

de esta sección de código se nos entrega un vector

con las correspondientes coordenadas en X e Y de

cada pixel que dibuja el contorno de la trayectoria,

dichos vectores se construyen de la siguiente

manera: Primero se recorre la imagen fila por fila

hasta encontrar el primer pixel blanco, al

encontrarlo guarda su posición en una entrada de

los vectores XY para después borrarlo y buscar en

los pixeles circundantes por la continuación de

color, es decir el pixel contiguo que sea de color

blanco.

Fig. 4.5.2e. Imagen siendo escaneada mediante código de

la cadena

F. Recorte de Vector de Coordenadas

tamX=length(coordx)

coordxn=coordx(1:tamX/2);

coordyn=coordy(1:tamX/2);

contador=1;

for i=1:5:tamX/2

posRealX(contador)=coordxn(i);

posRealY(contador)=coordyn(i);

contador=contador+1;

end

Como se puede suponer al ver trabajar al

código de la cadena este nos entrega todas las

coordenadas correspondientes al circuito cerrado

que compone el contorno de la trayectoria, al

analizar vemos que la trayectoria se recorre

satisfactoriamente tomando solo los pixeles que

componen la trayectoria de inicio o solo los

pixeles que constituyen el regreso del código de

cadena, para esto seleccionamos solo la mitad del

vector correspondiente a las coordenadas tanto en

X como en Y, también se observa que es

innecesario tomar todas las coordenadas que nos

entrega el código, ya que al tratar de mover el

robot de un punto a otro serian avances de

resolución muy pequeña, teniendo para este caso

en particular 125 movimientos para completar la

trayectoria, para eso se implemento la sección de

código que toma solo unos puntos, se proponen

saltos de 5 posiciones para así completar la

trayectoria con 25 movimientos punto a punto.

Page 26: Robot Scara

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.

Page 27: Robot Scara

4.6. INTERFAZ DE USUARIO

El objetivo de la interfaz es hacer amigable el

control del robot. Se utilizó la Interfaz Gráfica de

Usuario de Matlab. La interfaz conjunta todos los

programas de control implementados en el robot.

Hace uso de estos programas como funciones, lo

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

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.

El botón posición inicial configura al robot para

entrar en cualquiera de los tres modos de

funcionamiento. Al dar clic, el robot se va a la

posición que tiene como referencia, esto al iniciar

la interfaz, si al utilizar el robot en cualquiera de

los modos se da clic en el botón, el robot sale del

modo y se va a su posición inicial.

Fig. 4.6a. Vista de la Interfaz Grafica de Usuario

Page 28: Robot Scara

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

4.7a. El primer paso que se debe realizar para

poder calcular el modelo dinámico de dicho robot

es definir los ejes de movimiento del sistema y los

parámetros de los eslabones, como se muestra en

las figuras 13 y 14, respectivamente.

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.

En la figura 4.7b se muestran los ejes de

movimiento de los eslabones, los cuales son muy

importantes de definir, ya que, con ellos, se

establecerán los ejes del sistema, ya sea para el

análisis rotacional y traslacional así como el

análisis mediante el algoritmo de Denavit-

Hartenberg.

Fig. 4.7b Ejes de Rotación y Traslación

Una vez definidos los ejes de movimiento

definiremos la pose (posición y orientación) de los

marcos coordenados con = 0, 1, 2, 3.

Tomando en cuenta las anteriores restricciones,

los marcos coordenados tienen la siguiente

disposición

Fig. 4.7c Marcos Coordenados

En la figura se observa finalmente la disposición

de los marcos coordenados que definen los

eslabones del sistema robótico, así como el

movimiento que realizan. La base del sistema está

definida como O0.

La definición de cada marco de referencia es la

siguiente:

Page 29: Robot Scara

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.

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:

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.

Page 30: Robot Scara

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

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:

Una vez obtenidas las posiciones que serán a

graficadas, se dibujan las líneas y articulaciones

respectivas, para dar una similitud al robot

SCARA.

De tal manera que al ejecutar el programa, se

obtiene el siguiente resultado:

Fig. 4.7e Resultados de Cinemática Directa

C. Cinemática Inversa

Para la Cinemática Inversa se piden como valores

de entrada la longitud de los eslabones la

distancia de separación y la distancia que

bajara el efector final.

Fig. 4.7f Bloques de la Cinemática Inversa

En el siguiente fragmento de código es donde se

toman los datos de entrada, de tal manera que son

propuestos los siguientes valores:

Page 31: Robot Scara

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

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 se logra localizar la

declaración de estos desplazamientos:

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:

Donde el sistema de ecuaciones vendrá en la fila 1

y la fila 2 del vector resultante de las operaciones

anteriores.

Quedando el siguiente sistema de ecuaciones:

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;

para este caso se obtuvieron 2 soluciones:

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:

Page 32: Robot Scara

Y dentro del mismo ciclo, realizar los gráficos

pertinentes y almacenarlos en una matriz de

gráficos, para después mediante un manipulador,

mostrar ambas soluciones:

De tal manera que los resultados obtenidos son:

Se puede observar en los gráficos que ambos

puntos, llegan al efector deseado:

Solución 1

Fig. 4.7g Cinemática Inversa Solución 1

Solución 2

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

software de mathematica, debido a su rapidez y

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.

Page 33: Robot Scara

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.

Fig. 4.7i Modelo Cinemático

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.7j Restricción de giro inferior para teta 1

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.7k Restricción de giro inferior para teta 2

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

los parámetros de cinemática dados. Diámetro

Exterior de 40 cm, Diámetro Interior de 23 cm.

Page 34: Robot Scara

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

Fig. 4.7n Diámetro interior de área de trabajo

Uniendo ambas trayectorias, obtenemos el área de

trabajo ya mencionada

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.

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:

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

masa del robot manipulador SCARA diseñado,

debemos definir las siguientes variables:

Ejes de movimiento de cada centro de

masa

Posición de cada centro de masa respecto

a la base

Page 35: Robot Scara

Calculando El jacobiano de velocidades angulares

y velocidades lineales:

Suponiendo el mismo caso que se manejo en la

Cinemática Directa para:

Obtendríamos el siguiente jacobiano:

No afecta

Revoluta Revoluta Prismátic

o Prismátic

o

Page 36: Robot Scara

5. Conclusiones

Rodríguez Hernández Héctor Alfonso.

En el presente proyecto, pudimos encontrar

diversas dificultadas a la hora de diseñar los

sistemas y partes que constituyen el robot, pero

sobre todo, pudimos ver que la dificultad más

grande la encontramos en el momento en que

comenzamos a intentar controlar los motores ya

montados en la estructura. Porque como se puede

observar en las anotaciones del control, cada

eslabón junto con el motor debe ser tratado como

un sistema diferente a controlar, y no tomar el

control solo del motor, sino como un conjunto. De

tal forma que al percatarnos de que aun cuando el

diseño de la estructura fue el correcto, existía un

juego en los motores y aun mas las flechas,

piñones, etc., tendían a desajustarse debido al

propio movimiento de los motores, lo cual a su

vez hacia que tuviéramos señales de interferencia

(ruido) que provocaban oscilaciones en el control.

En cuanto a la cinemática directa e inversa (ver

sección de cinemática directa e inversa), fue

necesaria la adición de algunos marcos para la

simulación cinemática directa, ya que con los

marcos mínimos no se podía hacer la simulación

de la misma en 3D. Y con respeto a la cinemática

inversa, la selección de las ecuaciones que nos

permiten definir las variables articulares

correctamente.

Otro punto importante en el cual tuvimos

dificultades fue la parte de visión artificial, y esto

básicamente por el proceso de la obtención de la

trayectoria, ya que como se puede leer en la

sección de visión artificial, al obtener el vector

que contiene la trayectoria debido al algoritmo

que utilizamos, este rotaba 90°. La

implementación de un nuevo algoritmo que

permitiera poner en el orden correcto el vector.

Por último en el diseño del efector final, existieron

dos dificultades básicas, la primera fue la

adaptación que se tuvo que hacer a un sistema

prediseñado para que pudiera soportar los

requerimientos en peso que fueron estipulados en

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

la sección de gripper, tuvo como ultima y mejor

implementación el de un sensor ultrasónico, pero

que sin embargo paso por varias otras

implementaciones y configuraciones.

Sánchez Chaparro Miguel Angel

Al enfrentarse a un diseño desde cero y ser

novatos en esta área se presentan muchas

dificultades en la realización de cualquier

proyecto, por fácil o difícil que este sea, en el caso

de nuestro diseño y construcción de un robot scara

se presentaron una serie de inconvenientes, los

cuales nos hicieron adquirir experiencia tanto en

diseño mecánico como en implementación de

control. Lo primero que se presento en el diseño

fue en que basarse, debido a que ya se disponía de

algunos motores los cuales podían haber sido

controlados y mediante el torque de salida de

estos hacer el diseño mecánico de la estructura,

otra opción fue realizar el diseño mecánico

proponiendo dimensiones y de acuerdo a la

dimensión de eslabones y al par necesario para el

movimiento de estos adquirir los actuadores

ideales. Esta segunda opción fue la adoptada.

Otra característica difícil de resolver fue el diseño

del gripper con variación de altura, ya que se

implementaron varias soluciones con distintos

tipos de sensores, el resultado final fue la

implementación del variador mediante sensores

ópticos.

Uno de los puntos fundamentales del diseño del

robot fue el control de posición así como la visión

artificial y la conjunción de estos, ya que de

acuerdo al control de motores y su restricción de

movimientos nos dieron las dimensiones del área

de trabajo, también, con la cámara empleada solo

se pudo cubrir cierta sección del área de trabajo

teniendo que limitar el seguimiento de trayectorias

a un área pequeña, en la programación de visión

artificial se optó por varias soluciones siendo la

más fácil mediante dilatación, bordes y regla de la

cadena.

En general el diseño y construcción de un

prototipo interdisciplinario (es decir que conjunta

varias disciplinas como la mecánica, electrónica,

control, robótica y visión artificial) siempre será

más complicado que enfocarse en un área

particular pero el desempeño de un prototipo de

esta naturaleza será mas completo y hará al

diseñador adquirir más experiencia y versatilidad

para futuras ocasiones.

Morales Cabrera Gustavo

Sin duda alguna cualquier proyecto que involucre

la aplicación real de los conceptos vistos en clase,

no es trabajo fácil, y peor en un materia en la cual

Page 37: Robot Scara

se juntan asignaturas que van desde el análisis

matemático hasta el análisis estructural y

económico.

A pesar de las limitantes por la que ha pasado el

curso se ha logrado desarrollar un prototipo de

cumple con las características propuestas desde un

principio, es decir, diseñar una estructura óptima

para soportar una carga establecida y por otro lado

la creación de control de posición para motores de

CD.

Durante la fabricación de este prototipo se han

tenido diversas complicaciones, por ejemplo el

crear un ajuste adecuado para los rodamientos

entre los eslabones y hasta el mismo ensamble,

hablando de la parte de control las mayores

complicaciones fueron al momento de integrar

este sistema a la estructura pues no se contemplo

la inercia de los eslabones y esto provoca que el

control sufra perturbaciones al ajustar la posición

del motor; todo lo anterior en buena parte es

provocado a la inexperiencia práctica que tenemos

en cada una de las materias, pues solemos

quedarnos con los conceptos que se ven en clases

y muy rara vez buscamos una aplicación práctica.

Este prototipo está muy lejos de ser una

aproximación a los robots empelados

industrialmente, pues éstos últimos utilizan

técnicas más avanzadas de control y mecanismos

más complejos, ejemplo de ello son los

servomotores de AC que emplean comparados

con los motores de CD utilizados en el prototipo,

pero la idea principal de fabricar el prototipo no es

competir contra los robots industriales, si no dar

una noción del proceso que se debe de cumplir si

es que requiere diseñar y construir un robot

manipulador y sobre todo comprobar que los

conceptos vistos en clase en verdad se aplican de

una u otra forma.

Rodrìguez Palomeque Yair Enrique

Es muy complejo poder desarrollar un prototipo

de un robot, ya que se necesitan considerar

muchos parámetros para su desarrollo. En un

principio se visualiza como un proyecto

relativamente sencillo pero conforme se va

desarrollando el mismo comienzan a aparecer

problemas que no habían sido considerados.

Por ejemplificar en el desarrollo del efector no se

había considerado las perturbaciones por el

entorno, es decir la iluminación, ruido

electromagnético, etc. Por lo que el desarrollo de

esta parte del prototipo se complico en gran

medida.

Con este tipo de aplicaciones prácticas de

conocimientos en clase se crea una gran atmosfera

de aprendizaje y experiencia en el ambiente

ingenieril, ya que como se menciono

anteriormente comienzan a aparecer problemas

que en la parte teórica no se consideran en la

mayoría de los casos.

La entrega de este reporte se considera algo

temprana, ya que aun no ha sido suficiente el

tiempo como para poder realizar pruebas al robot

y visualizar si cumple los objetivos planteados en

este prototipo, por lo que me parece adecuado que

el día de la presentación del prototipo sea

entregado el reporte del mismo.

Finalmente se obtuvo desde el punto de vista

personal una gran experiencia en el desarrollo del

prototipo, ya que necesitamos de software y

diseño para cumplir con los lineamientos del

prototipo.

Rabadán Ortiz Adrian

Cuando se propuso el proyecto de llevar a cabo un

robot, nunca me imagine que el diseño de este

fuera a depender de tantos campos de

conocimiento ya que uno piensa que sólo es cortar

eslabones de algún material como aluminio o

nailamit, y colocar los motores y realizar un

controlador, pero a la hora de llevar a cabo un

buen diseño, resulta que se tienen que aprender

muchas más cosas que serán tomadas en cuenta a

la hora de realizar el diseño, como lo es la parte de

la mecánica del robot, la cual es indispensable ya

que si no se diseñan bien las transmisiones, el

movimiento del robot no será el deseado, o

simplemente afectará con el control de los

motores del robot, por otra parte están los análisis

de resistencia y desgaste para la misma parte

mecánica, ya que si los eslabones no se diseñan

de las dimensiones correctas pueden sufrir

deformaciones o simplemente no levantar la carga

propuesta para el robot, por otra parte cabe

mencionar que es muy importante el diseño

electrónico, ya que durante la realización del

control de los motores de DC, se observó que si se

colocan los cables de manera aleatoria, se induce

demasiado ruido que afecta al convertidor

analógico-digital, por lo que para solucionar esto

se enrollaron los cables y se metieron dentro de

una manguera, así como también realizar filtros

para eliminar frecuencias indeseadas que están

presentes en el medio de trabajo del robot y que si

se desprecian puede ocasionar grandes problemas,

con esto finalmente se redujo demasiado el ruido,

además de que se recomienda tener una buena

fuente de alimentación, la cual mantenga un

voltaje y corriente constante, ya que hay que

Page 38: Robot Scara

recordar que se están utilizando actuadores de

potencia, los cuales producen muchas

perturbaciones a los circuitos electrónicos.

En conclusión puedo decir que llevar a cabo este

diseño permitió que pudiera aprender nuevos

conocimientos y reforzar más los que ya tenía, así

como poder juntarlos todos y realizar cosas más

complejas, como fue el diseño del efector final, el

cual parece ser fácil y lo primero que se nos

ocurre es utilizar algún amplificador operacional y

ya, pero la realidad es que a la hora de hacerlo se

deben de tomar en cuenta factores como el tipo de

motor y el ruido que este produce, así como el tipo

de sensor y lo más importante la forma de

acondicionar la señal de tal manera que no se

afecte por variaciones exteriores de luz como nos

pasaba, en fin realizar un robot es una tarea

complicada, pero me agrado hacerlo, pues siento

que hicimos un buen trabajo como equipo.

Cortez Vázquez Oscar Ricardo

La elaboración y el diseño de un robot scara

permitió que el equipo obtuviera experiencia

significativa en el desarrollo del mismo.

Inicialmente se tenía la disyuntiva del tipo de

material a usar, de la forma que tendrían los

eslabones, además del tipo de transmisión que

llevaría el robot y por último que tipo de motores

se utilizarían. Por lo tanto la forma de resolver

dichos problemas se basó específicamente en la

búsqueda de información en la red y en libros.

El equipo tomó en cuenta diferentes factores de

diseño que permitieran tener un robot robusto y

por lo tanto más efectivo en cuanto a su

implementación en algún proceso en específico,

sin embargo se tuvo conciencia que se verían

afectados otros aspectos, entre los cuales resaltan

la inversión económica en su desarrollo así como

el ensamblaje del robot.

Una vez realizado el diseño de todos los sistemas

que abarca el robot scara se comenzó con una de

las partes más importantes, la cual corresponde al

control digital de los motores de CD que

conforman al robot. En esta parte se tuvieron

demasiados problemas ya que se generaba mucho

ruido por diversos factores, tales como fallas en el

ensamblaje de la parte física del robot así como en

el trabajo en conjunto con los sistemas

electrónicos involucrados en el mismo.

Por último puede concluirse que en cada parte se

presentaron problemas que no se habían tomado

en cuenta, lo cual fue la principal fuente

generadora de fallas, sin embargo si se hubiera

analizado más a fondo cada parte se hubieran

podido evitar muchos problemas que retrasaron el

término del desarrollo del robot scara.

García Facio David

En el desarrollo del sistema robótico se puedo

observar algunas deficiencias que como

estudiantes de ingeniería se tienen al momento de

diseñar algún proyecto. Además de que se debe de

tener una visión muy fija y no tan general del

sistema a diseñar, es decir conocer la mayoría de

los aspectos que uno puede manipular y controlar

para poder obtener los resultados deseados tanto

en el diseño mecánico y como en el eléctrico.

Para el desarrollo del controlador se optó por la

implementación de actuadores, motores de CD, ya

que al implementar servomotores lo que uno

realmente controla es la posición de la flecha del

servomotor y no la posición de las articulaciones,

además de que en el diseño del controlador del

motor de DC se puede saber en algún instante de

tiempo requerido la posición actual de la

articulación.

Durante el ensamble de las distintas tareas a

realizar por el sistema se debe de considerar las

distintas utilidades que puedan aportar una de la

otra, ya que se pueden realizar algunas tareas

imprentando una u otra tarea por separado o al

mismo tiempo varias.

Se puede decir que este proyecto deja algunas

experiencias para el posterior mejoramiento de

algunas aplicaciones a fin.

Josué Daniel San Miguel Rodríguez

El desarrollo de este tipo de proyectos en

este momentos, no sirve de mucho a vísperas de lo

que nos espera en el trabajo terminal; con esto nos

damos cuenta de la importancia del diseño de tus

propias piezas, pues en base a cálculos podemos

determinar el comportamiento de los materiales

ante la aplicaciones de cargas, sus deformaciones,

así como poder encontrar las dimensiones optimas

y normalizadas para la construcción y diseño.

Aunque se nos vino el tiempo encima

considero que este proyecto tendrá gran

importancia para generar nuevas ideas y

experiencias que nos conllevaran a un buen

Page 39: Robot Scara

desarrollo del TT, más que nada en el área de

diseño, robótica y visión artificial, pues al incluir

estos módulos en conjunto para el control de

robots, nos dan un campo más amplio en el

conocimiento.

La parte que considero fue de mayor

dificultad, fue el diseño mecánico, pues aunque se

hicieron muchas consideraciones teóricas, al

finalizar el ensamble y comenzar a realizar

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

que se llama cada vez que se necesita, sólo fue

necesario ponernos de acuerdo sobre las variables

de salida y entrada y el formato de estas. Al

montar la estructura nos enfrentamos a problemas

de ensamble de piezas ya que a pesar de que se

tiene un diseño, este se idealiza un poco y al

momento de armar los detalles se hacen presentes,

la manera de solucionar los problemas cuando ya

tenemos eslabones y parámetros definidos no es

más que el ingenio.

Page 40: Robot Scara

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.

Page 41: Robot Scara
Page 42: Robot Scara

Anexo A: Tablas sobre viabilidad económica

No. Departamento Ocupaciones Integrantes

1 Diseño mecánico y

manufactura

Diseñar la estructura mecánica que cumpla con los requerimientos dinámicos.

Validar el diseño mecánico.

Fabricar y ensamblar las piezas necesarias para el robot.

Morales Cabrera Gustavo Sánchez Chaparro Miguel Ángel

San Miguel Rodríguez Josué Daniel Rabadán Ortiz Adrián

2

Cinemática directa e inversa

Con base al diseño mecánico generar las ecuaciones necesarias de la cinemática directa e inversa.

Álvarez Toledo Jorge San Miguel Rodríguez Josué Daniel

3 Control eléctrico y

visión artificial

Diseñar y construir controladores aplicados a motores de CD usados en el robot.

Crear un control de movimientos basado e visión artificial.

Álvarez Toledo Jorge Cortez Vázquez Oscar Ricardo

García Facio David Rodríguez Hernández Héctor

Sánchez Chaparro Miguel Ángel

4 Alimentación y

electrónica

Fabricar fuentes de alimentación que cumplan con el consumo energético del robot.

Crear los diferentes circuitos requeridos en para el control del robot.

Álvarez Toledo Jorge Rabadán Ortiz Adrián

Rodríguez Palomeque Yair

5

Administración de recursos económicos

y materiales

Distribuir de forma óptima los recursos económicos y materiales indispensables en la fabricación del robot.

Realizar la repartición de labores para cada departamento.

Sánchez Chaparro Miguel Ángel Morales Cabrea Gustavo

Tabla 1. Distribución del trabajo.

Page 43: Robot Scara

Recurso Humano Recursos Materiales Costo Recurso Económico

Otros

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.

Recursos Materiales Costo Taza de

depreciación 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.

Page 44: Robot Scara

Actividad Departamento responsable

Horas/Hombre Costo/Hora Total

Diseño mecánico 1 37 $7.323 $270.951

Ensamblado 1 9 $7.323 $65.907

Diseño, manufactura y ensamble de

gripper 1 8 $7.323 $58.584

Control eléctrico de gripper

4 21 $7.323 $153.783

Caracterización de motores

3 3 $7.323 $21.969

Control motor de CD 3 27 $7.323 $197.721

Caracterización de sensores

3 10 $7.323 $73.230

Diseño e implementación de

algoritmos de control por visión

artificial

3 21 $7.323 $153.783

Diseño y fabricación de fuentes

4 21 $7.323 $153.783

Programación y comunicación con

PC 3 7 $7.323 $51.261

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.

Actividad Departamento responsable

Horas/Hombre Costo/Hora Total

Manufactura de eslabones en CNC

1 6 $845.000 $5070.000

Manufactura de ejes 1 2 $125.000 $250.00

Costo total $5320.000

Tabla 5. Costos esperados de manufactura.

Page 45: Robot Scara

Cantidad Parte Precio Unitario

Total

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 catalizador

$63.000 $63.000

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.

Page 46: Robot Scara

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.

Page 47: Robot Scara

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

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

Page 48: Robot Scara

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.

Page 49: Robot Scara

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

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

Page 50: Robot Scara

Figura C6. Diseño CAD en 3D del actuador Final

Page 51: Robot Scara

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)

Page 52: Robot Scara

Anexo E: Código del controlador digital PIC18F4550

Page 53: Robot Scara
Page 54: Robot Scara
Page 55: Robot Scara
Page 56: Robot Scara
Page 57: Robot Scara