• No se han encontrado resultados

ROBOT MOVIL GUIADO MEDIANTE SISTEMAS DE VIDEO Y WI-FI

N/A
N/A
Protected

Academic year: 2017

Share "ROBOT MOVIL GUIADO MEDIANTE SISTEMAS DE VIDEO Y WI-FI"

Copied!
82
0
0

Texto completo

(1)

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA

MECÁNICA Y ELÉCTRICA

ROBOT MÓVIL GUIADO MEDIANTE SISTEMAS

DE VIDEO Y WI-FI

T E S I S

QUE PARA OBTENER EL TÍTULO DE

INGENIERO EN COMUNICACIONES Y ELECTRÓNICA

P R E S E N T A

ROBERTO ANTONIO OROZCO VELÁZQUEZ

ASESORES:

M. en C. RENE CRUZ SANTIAGO Ing. ALEJANDRO VICENTE LUGO SILVA

(2)
(3)

CONTENIDO

ÍNDICE DE TABLAS ... iv

ÍNDICE DE FIGURAS ... iv

AGRADECIMIENTOS ... vi

OBJETIVOS ... vii

JUSTIFICACIÓN ... viii

INTRODUCCIÓN ... 1

CAPÍTULO 1. ANTECEDENTES ... 3

1.1 Marco teórico ... 3

a) Por cronología ... 3

b) Por arquitecturas [2] ... 4

c) Por grados de libertad ... 5

d) Por categoría de competencia ... 7

1.2 Evolución de la Robótica ... 8

CAPÍTULO 2. HARDWARE ... 10

2.1 Estructura mecánica ... 10

2.2 Sistemas electrónicos ... 16

2.2.1 Sistema de video ... 17

2.2.2 Interfaz de comunicación inalámbrica ... 17

2.2.3 Sistema de control de los movimientos del robot ... 18

2.2.4 Módulos de potencia. ... 20

2.3 Resultados ... 24

CAPÍTULO 3. SOFTWARE ... 27

3.1 Software de la PC remota ... 27

3.1.1 Escritorio remoto ... 28

3.1.2 Consola gráfica de comandos en PC. ... 31

3.1.3 Consola gráfica de comandos desde un servidor web. ... 33

3.1.4 Comandos de voz ... 36

3.1.5 Sistemas webcam y Apis de Windows ... 37

3.2 Software de la mini laptop del robot ... 38

3.2.1 Escritorio remoto ... 39

3.2.2 Programa del puerto serie ... 39

CAPÍTULO 4. PRUEBAS Y RESULTADOS ... 42

4.1 Prueba 1.- Precisión ... 42

4.2 Prueba 2.- Tiempo útil en las baterías ... 44

4.3 Prueba 3.- Alcance del enlace Wi-Fi ... 45

4.4 Prueba 4.- Trayectoria de desplazamiento ... 45

CONCLUSIONES ... 47

(4)

Apéndice 3. Programación del puerto serial (vb) ... 61

Apéndice 4. Programa del hcs12dt256 (c++) ... 65

Apéndice 5. Clases importantes ... 67

Apéndice 6. Index.php ... 68

Apéndice 7. Ima.php ... 69

Apéndice 8. Ajaxejem.html ... 70

REFERENCIAS ... 72

(5)

ÍNDICE DE TABLAS

Tabla 1. 1. Cronología robótica. 9

Tabla 2. 1. RAS-1210 referencias eléctricas. 21

Tabla 2. 2. RAS-1210 rendimiento. 21

Tabla 3. 1. Comandos. 41

Tabla 4. 1. Usuario ID 1. 43

Tabla 4. 2. Usuario ID 2. 43

Tabla 4. 3. Usuario ID 3. 43

Tabla 4. 4. Usuario ID 4. 43

Tabla 4. 5. Usuario ID 5. 43

Tabla 4. 6. Usuario ID 6. 43

Tabla 4. 7. Usuario ID 7. 44

Tabla 4. 8. Usuario ID 8. 44

ÍNDICE DE FIGURAS

Fig. 1. 1. Grados de libertad en Robots. 6

Fig. 1. 2. Mecanismos robóticos de diferentes grados de libertad 7

Fig. 2. 1. Topologías del robot: (a) horizontal y (b) vertical. 11

Fig. 2. 2. Estructura de soporte para la tracción. 11

Fig. 2. 3. Base del brazo mecánico. 12

Fig. 2. 4. Barras de unión de las secciones. 12

Fig. 2. 5. Cadena de tracción. 13

Fig. 2. 6. Rueda neumática. 13

Fig. 2. 7. Motor de tracción. 13

Fig. 2. 8. Estrella de rueda. 14

Fig. 2. 9. Montaje del brazo articulado con las secciones del robot y el sistema de tracción. 14

Fig. 2. 10. Brazo manipulador terminado. 15

Fig. 2. 11. Aislamiento del cableado. 15

Fig. 2. 12. Diagrama a bloques de los sistemas electrónicos. 16

Fig. 2. 13. Cámara web ATW-650 utilizada en la tenaza manipuladora. 17

Fig. 2. 14. Punto de acceso utilizado para el robot CEROB. 18

Fig. 2. 15. Cable convertidor de comunicación USB a RS-232. 18

Fig. 2. 16. Vista superior de la tarjeta CMSB12, indicando las terminales de los puertos

A, T, serial y conexiones del voltaje de alimentación. 19

Fig. 2. 17. Conexión de los módulos de potencia con el microcontrolador. 20

Fig. 2. 18. Interfaz entre la terminal del puerto del microcontrolador y el relevador. 20

Fig. 2. 19. Diagrama final de los módulos de potencia para el control de los motores. 24

Fig. 2. 20. Robot CEROB transportando una botella con ácido. 25

(6)

Fig. 2. 22. Robot CEROB en postura vertical. 26

Fig. 2. 23. Robot CEROB en postura horizontal. 26

Fig. 2. 24. Robot CEROB transportándose en césped. 26

Fig. 3. 1. Diagrama a bloques del sistema completo. 27

Fig. 3. 2. Instalación de escritorio remoto. 29

Fig. 3. 3. Ejecución como sesión de Windows. 29

Fig. 3. 4. Activación del acceso permanente. 30

Fig. 3. 5. Escritorio remoto con la consola gráfica de comandos (CEROB.EXE). 31

Fig. 3. 6. Aspecto de la consola de comandos del robot. 32

Fig. 3. 7. Clase iControl 33

Fig. 3. 8. Ventana iControl emergente. 34

Fig. 3. 9. Organización de la consola web. 34

Fig. 3. 10. Aspecto de la consola de comandos desde la página web. 35

Fig. 3. 11. Ventana de comandos de voz. 36

Fig. 3. 12. Clase Voz. 37

Fig. 3. 13. Componentes de la biblioteca System.IO.ports 39

Fig. 3. 14. SerialPort. 40

Fig. 4. 1. Prueba de precisión. 42

Fig. 4. 2. Batería de los sistemas electrónicos y de potencia. 44

Fig. 4. 3. Robot desplazándose a lo largo del pasillo del primer piso del edificio 5. 45

(7)

AGRADECIMIENTOS

A mis padres, que representan todo para mí.

A mi amigo Cesar, por su colaboración en la investigación y en la fabricación de las piezas del robot.

Al Instituto Politécnico Nacional, y a mi Alma Mater, la Escuela Superior de Ingeniería Mecánica y Eléctrica unidad Zacatenco, por permitirme en sus instalaciones realizar mi formación profesional y el presente proyecto.

Gracias al asesoramiento de mis Profesores, quienes dedicaron su valioso tiempo en la mejora de este proyecto.

(8)

OBJETIVOS

GENERAL:

Construir un robot móvil para manipulación y transporte de objetos, guiado y controlado de forma remota por una persona, utilizando sistemas de video, Wi-Fi, dispositivos programables, electromecánicos y software libre.

ESPECÍFICOS:

- Construir la estructura mecánica y de locomoción de un robot móvil que manualmente puede ser modificado para operar en una de dos configuraciones posibles.

- Aplicar dispositivos electrónicos lineales y programables en la construcción de los sistemas electrónicos de alimentación, interfaces de control, potencia, captura de video y de comunicaciones del robot móvil.

(9)

JUSTIFICACIÓN

La actividad laboral en las empresas ha cambiado de utilizar la mano de obra de las personas, hacia el uso de sistemas robóticos, en los cuales encuentran su aplicación áreas tan diversas como la Mecánica, la Electrónica, la Inteligencia Artificial (IA) etc. Pero además, los robots pueden remplazar a las personas en el desarrollo de tareas domésticas, o en la industria, automatizando procesos. Asimismo, los robots pueden realizar actividades que conllevan algún peligro para los seres humanos.

En la industria, en el sector de manufactura, los robots más utilizados en nuestros días son robots fijos que realizan actividades mecánicas repetitivas[1], destinados a la fabricación de partes de automóvil, motores, productos de metal, productos ópticos, palatización; almacenaje, labores de carga y descarga; clasificación de partes, embalaje, manipulación, soldadura, ensamble, pintura y revestimiento, pegado y sellado, etc. No importa que tan automatizado sea un sistema de producción en serie, siempre requiere de supervisión por parte de personal calificado. Dependiendo del riesgo de error y sus consecuencias, un proceso debe ser vigilado a tal grado que sea previsible el error, por ejemplo: los robots utilizados en los dispensadores de activos químicos utilizados en la industria farmacéutica, no pueden cometer un error de cálculo en la dosis de un activo médico, ya que ello podría causar un desastre.

Otro factor de riesgo, en este caso para los trabajadores, lo representan los accidentes industriales realizados bajo condiciones de riesgo. Un trabajador lesionado o accidentado tiene un impacto físico y emocional en la persona (lo más grave), así como económico. Por lo tanto, es necesario contar con sistemas o mecanismos robóticos para la ejecución que impliquen manipular sustancias peligrosas.

Por otra parte, a nivel mundial ocurren graves problemas de destrucción, ya sean causados por el hombre, tales como guerras e incluso ataques terroristas; o bien, causados por factores de

la naturaleza –huracanes, sismos, etc.- en los cuales, los cuerpos de bomberos, policías y militares

deberán asistir a las víctimas en situaciones de riesgo y exponiendo su integridad física en el lugar de la catástrofe. En tales circunstancias, los robots guiados a distancia constituyen una aportación muy importante de la ingeniería para disminuir los riesgos, ya que pueden manipular objetos y herramientas controlados de forma remota.

(10)

INTRODUCCIÓN

Los avances en el área de robótica han sido grandes desde que Karel Capek, un escritor checo,

acuñó en 1921 el término “Robot”en su obra dramática “Rossum‟s Universal Robots / R.U.R.”,

tomando la palabra checa “Robbota”, que significa servidumbre o trabajo forzado. El término

robótica es utilizado por primera vez, por el científico Isaac Asimov, para definirla como la ciencia que estudia a los robots.

En la actualidad, los robots son capaces de llevar a cabo labores tan diversas, como: labores domésticas, automatización de procesos de manufactura en el sector industrial, y hasta viajar por el espacio exterior.

En el presente trabajo, se muestra el diseño, pruebas y resultados a las que fue sometido un robot guiado a distancia mediante un enlace Wi-Fi, que cuenta con un brazo manipulador de 3 grados de libertad sobre un carro de 6 ruedas tipo oruga, para desplazamientos sobre terrenos tan variados como el concreto o el césped.

El robot cuenta con una computadora portátil que permite la conexión a internet mediante

el estándar 802.11g, a través de redes inalámbricas de área local. Además de la computadora portátil, las funciones de locomoción y del movimiento de las articulaciones del robot son controladas por un microcontrolador acoplado a las etapas de potencia y a la computadora portátil. El robot también posee un sistema de visualización por medio de cámaras web, las cuales al encontrarse conectadas a la computadora portátil, permiten almacenar imágenes del entorno a través del cual se desplaza el robot.

La interfaz que controla el robot se ubica en una computadora remota, en la cual se instaló el software que realiza las funciones de consola gráfica de comandos, ejecutándose en un ambiente de ventanas. Esta consola permite al usuario un fácil control de los movimientos del robot en todo momento, y cuenta con dos ventanas que permiten al usuario remoto observar el entorno del robot. En la consola gráfica de comandos, el usuario puede mediante botones y cuadros de diálogo, transmitir comandos al robot y enviar mensajes que serán reproducidos en forma de audio por el robot.

(11)

La estructura del presente trabajo, es la siguiente:

En el capítulo 1 se mencionan todos los antecedentes necesarios para comprender el origen de los robots, su funcionamiento y clasificación.

El capítulo 2 describe el diseño y los resultados obtenidos en la construcción del hardware del robot, desde dos aspectos: el diseño de la estructura mecánica, y el diseño de los circuitos electrónicos utilizados en cada uno de los sistemas (de potencia, de comunicaciones y de adquisición de datos).

En el capítulo 3 se describe la estructura a bloques de todos los sistemas del robot, desde el punto de vista del software diseñado y programado para cada una estas etapas. Se describe la función del software que permite establecer el enlace remoto y la transmisión y recepción de comandos, así como adquisición y transmisión de la señal de video obtenida en las cámaras web. La programación del robot fue diseñada utilizando plataformas de desarrollo tales como Visual Studio 2008; vinculando el software obtenido de estas plataformas con paquetes de software libre que facilitan la conexión remota mediante Wi-Fi; y mediante programación en lenguaje C para el microcontrolador.

Por último, en el capítulo 4 se describen algunas pruebas a las que fue sometido el prototipo para definir la facilidad con la cual puede ser controlado por una persona sin entrenamiento y sin experiencia en el manejo de este tipo de sistemas. También se hicieron pruebas para definir los límites de funcionamiento relativas a: la precisión de los movimientos de las articulaciones y desplazamiento; a la vida útil de las baterías; y finalmente relacionadas con el alcance de la señal electromagnética que permite el enlace inalámbrico.

(12)

CAPÍTULO 1. ANTECEDENTES

La Robótica es la ciencia y la tecnología de los robots. Se ocupa del diseño, manufactura y aplicaciones de los robots [1]. La Robótica combina diversas disciplinas como son: mecánica, electrónica, informática, inteligencia artificial e ingeniería de control. Otras áreas importantes en la robótica, son: el álgebra booleana, los autómatas programables y las máquinas de estados.

El término robot se popularizó con el éxito de la obra RUR (Robots Universales Rossum), escrita por Karel Capek en 1920. En la traducción al inglés de dicha obra, la palabra checa robota, que significa trabajos forzados, fue traducida al inglés como robot [1].

1.1 Marco teórico

La robótica se refiere al estudio de las máquinas que en sustitución de personas realizan operaciones o trabajos, ya sea físico o en la toma de decisiones. Ésta constituye un área emergente de la tecnología en la cual se involucran distintas disciplinas de la ingeniería, tales como: mecánica, eléctrica, electrónica, cómputo y control. Es una manera de poder abordar problemas interdisciplinarios desde una perspectiva integral.

Los robots han sido clasificados de acuerdo a su generación, a su nivel de inteligencia, a su nivel de control, y a su nivel de lenguaje de programación. A continuación se presentan algunas de estas clasificaciones:

a) Por cronología

La que a continuación se presenta es la clasificación más común:

1ª Generación.

Manipuladores. Son sistemas mecánicos multifuncionales con un sencillo sistema de control, bien manual, de secuencia fija o de secuencia variable.

2ª Generación.

Robots de aprendizaje. Repiten una secuencia de movimientos que ha sido ejecutada previamente por un operador humano. El modo de hacerlo es a través de un dispositivo mecánico. El operador realiza los movimientos requeridos mientras el robot, lo sigue y los memoriza.

3ª Generación.

(13)

4ª Generación.

Robots inteligentes. Son similares a los anteriores, pero además poseen sensores que envían información a la computadora de control sobre el estado del proceso. Esto permite una toma inteligente de decisiones y el control del proceso en tiempo real.

b) Por arquitecturas [2]

La arquitectura, es definida por el tipo de configuración general del robot, que puede ser metamórfica. El concepto de metamorfismo, de reciente aparición, se ha introducido para incrementar la flexibilidad funcional de un robot a través del cambio de su configuración por el propio robot. El metamorfismo admite diversos niveles, desde los más elementales (cambio de herramienta o de efecto terminal), hasta los más complejos como el cambio o alteración de algunos de sus elementos o subsistemas estructurales.

Los dispositivos y mecanismos que pueden agruparse bajo la denominación genérica de robot son muy diversos, y es por tanto difícil establecer una clasificación coherente de los mismos que resista un análisis crítico y riguroso. La subdivisión de los robots, con base en su arquitectura, se hace en los siguientes grupos: poliarticulados, móviles, androides, zoomórficos e híbridos.

1. Poliarticulados

En este grupo están los robots de muy diversa forma y configuración, cuya característica común es la de ser básicamente sedentarios (aunque excepcionalmente pueden ser guiados para efectuar desplazamientos limitados). Están estructurados para mover sus elementos terminales en un determinado espacio de trabajo según uno o más sistemas de coordenadas y con un número limitado de grados de libertad. En este grupo se encuentran los manipuladores, los robots industriales y los robots cartesianos. Se emplean cuando es preciso abarcar una zona de trabajo relativamente amplia o alargada, actuar sobre objetos con un plano de simetría vertical o reducir el espacio ocupado en el suelo.

2. Móviles

Son robots con gran capacidad de desplazamiento, construida con estructuras de carro o plataforma y dotada de un sistema locomotor de tipo rodante. Siguen su camino por telemando o guiándose por la información recibida de su entorno a través de sensores.

(14)

3. Androides

Son robots que intentan reproducir total o parcialmente la forma y el comportamiento cinemático del ser humano. Actualmente los androides son todavía dispositivos muy poco evolucionados y sin utilidad práctica, y destinados fundamentalmente a investigaciones académicas y trabajos de experimentación. Uno de los aspectos más complejos de estos robots, y sobre el que se centra la mayoría de los trabajos, es el de la locomoción bípeda. En este caso, el principal problema es controlar dinámica y coordinadamente en el tiempo real el proceso y mantener simultáneamente el equilibrio del robot.

4. Zoomórficos

Los robots zoomórficos -que considerados en sentido no restrictivo podrían incluir también a los androides- constituyen una clase caracterizada principalmente por sus sistemas de locomoción que imitan a los diversos seres vivos. A pesar de la disparidad morfológica de sus posibles sistemas de locomoción, es conveniente agrupar a los robots zoomórficos en dos categorías principales: caminadores y no caminadores. El grupo de los robots zoomórficos no caminadores está muy poco evolucionado. Los experimentados efectuados en Japón basados en segmentos cilíndricos biselados acoplados axialmente entre sí y dotados de un movimiento relativo de rotación. Los robots zoomórficos caminadores multípedos, son muy numerosos y están siendo experimentados en diversos laboratorios con vistas al desarrollo posterior de verdaderos vehículos terrenos, piloteados o autónomos, capaces de evolucionar en superficies muy accidentadas. Las aplicaciones de estos robots serán interesantes en el campo de la exploración espacial y en el estudio de los volcanes.

5. Híbridos

Corresponden a aquellos robots de difícil clasificación, cuya estructura se sitúa en combinación con alguna de las anteriores ya expuestas, bien sea por conjunción o por yuxtaposición. Por ejemplo, un dispositivo segmentado articulado y con ruedas, es al mismo tiempo uno de los atributos de los robots móviles y de los robots zoomórficos.

c) Por grados de libertad

(15)

Fig. 1. 1. Grados de libertad en Robots.

(1)

(2)

donde:

= longitudes de las extremidades entre articulaciones,

= ángulos de movilidad con respecto a la base,

= posición respecto al plano de referencia del robot.

Existen por lo tanto, robots de 1, 2, 3, …. N grados de libertad, en función del número de

articulaciones móviles que presentan (fig. 1.2).

(16)

Fig. 1. 2. Mecanismos robóticos de diferentes grados de libertad

d) Por categoría de competencia

Las categorías para clasificar robots en concursos, son definidas por la Reglamentación Oficial Internacional de la Robot Fighting League (RFL), el cual es el organismo mundial encargado de regular y establecer los estándares para dicha categoría de la Robótica en todo el mundo. Estas categorías cuentan además con el aval y respaldo del Instituto de Ingenieros en Electricidad y Electrónica (IEEE, por sus siglas en inglés), organismo profesional de ingeniería más importante a nivel internacional.

Las categorías son:

Persecución: consiste en la competencia entre dos carros sigue líneas donde estos deben seguir la trayectoria de la línea hasta alcanzar al contrincante sin salirse de la ruta

Sumo: dos robots son puestos dentro de un dohyo, el que sea sacado primero de este por

el contrincante más veces pierde.

Brazo manipulador: una serie de articulaciones en forma de brazo deben ser capaz de identificar piezas de color blanco y negro y clasificarlas según este en el menor tiempo posible.

Polo acuático: dos equipos contrincantes formados por tres barcos controlables, juegan un partido de polo, buscando meter la pelota dentro de la portería del rival.

(17)

1.2 Evolución de la Robótica

La historia de la robótica ha estado unida a la construcción de "artefactos", que trataban de materializar el deseo humano de crear seres a su semejanza y que lo descargasen del trabajo. El ingeniero español Leonardo Torres Quevedo (GAP) (que construyó el primer mando a distancia para su automóvil mediante telegrafía sin hilo, el ajedrecista automático, el primer transbordador aéreo y otros muchos ingenios) acuñó el término "automática" en relación con la teoría de la automatización de tareas tradicionalmente asociadas a los humanos.

Karel Čapek, un escritor checo, acuñó en 1921 el término "Robot" en su obra dramática

(18)
[image:18.612.72.536.103.623.2]

Tabla 1. 1. Cronología robótica.

Fecha Importancia Nombre

del robot Inventor

Siglo I a. C. y antes

Descripciones de más de 100 máquinas y autómatas, incluyendo un artefacto con fuego, un órgano de viento, una

máquina operada mediante una moneda, una máquina de vapor, en Pneumatica y Automata de Herón de Alexandria

Autónoma Ctesibius de Alexandria, Filón de Bizancio, Herón de Alexandria, y otros

1206 Primer robot humanoide programable

Barco con cuatro músicos robotizados Al-Jazarí c.

1495 Diseño de un robot humanoide

Caballero

mecánico Leonardo da Vinci

1738 Pato mecánico capaz de comer, agitar sus alas y excretar. Digesting Duck

Jacques de Vaucanson

1800s Juguetes mecánicos japoneses que sirven té, disparan flechas y pintan.

Juguetes

Karakuri Hisashige Tanaka

1921 Aparece el primer autómata de ficción llamado "robot", aparece en R.U.R.

Rossum's Universal Robots

Karel Capek

1930s Se exhibe un robot humanoide en la World's Fairs entre los

años 1939 y 1940 Elektro

Westinghouse Electric Corporation

1948 Exhibición de un robot con comportamiento biológico simple Elsie y Elmer

William Grey Walter

1956

Primer robot comercial, de la compañía Unimation fundada por George Devol y Joseph Engelberger, basada en una

patente de Devol[1]

Unimate George Devol

1961 Se instala el primer robot industrial Unimate George Devol 1963 Primer robot "palletizing" Palletizer Fuji Yusoki Kogyo

1973 Primer robot con seis ejes electromecánicos Famulus KUKA Robot Group

1975 Brazo manipulador programable universal, un producto de

Unimation PUMA Victor Scheinman

2000 Robot Humanoide capaz de desplazarse de forma bípeda e

interactuar con las personas ASIMO

(19)

CAPÍTULO 2. HARDWARE

El presente capítulo describe la parte tangible del robot, dividiéndola en dos partes principales: la estructura mecánica formada por componentes rígidos y móviles, y los circuitos electrónicos.

2.1 Estructura mecánica

En la robótica existen dos grandes áreas: manipulación y locomoción. La manipulación es la capacidad de actuar sobre los objetos, trasladándolos o modificándolos; esta área se centra en la construcción de manipuladores y brazos robóticos. La locomoción es la facultad de un robot para poder desplazarse de un lugar a otro. Los robots con capacidad de translación se les denominan robots móviles.

Los robots móviles se pueden clasificar según los elementos que emplean para realizar la locomoción, en robots de:

 ruedas,

 orugas,

 patas,

 otros.

Uno de los grandes retos en el área de la locomoción es el de desarrollar un robot que sea capaz de moverse por cualquier tipo de entorno, por muy escarpado que sea. Esto tiene especial interés en la exploración de terrenos desconocidos, en los que no se sabe qué tipo de superficie podamos encontrar.

Un nuevo enfoque en esta área es la Robótica Modular Reconfigurable, ya que hasta 1993, se diseñaban robots para cada tipo de terreno. En 1994 apareció el primer robot basado en los paradigmas de la robótica modular reconfigurable llamado Polybot, que fue construido con una filosofía que dice: “¿por qué no trabajar en una nueva línea de investigación en la que no se diseñen robots específicos para cada terreno, sino que el propio robot se adapte al terreno, modificando su forma y su manera de desplazarse?”, y cuyo autor fue Mark Yim, a quien se considera el padre de esta disciplina.

(20)

Fig. 2. 1. Topologías del robot: (a) horizontal; (b) vertical.

Para construir la estructura de un robot se deben definir: una estructura de soporte, los mecanismos de tracción, los grados de libertad de los mecanismos de manipulación, la sujeción de los componentes móviles y del cableado, el montaje de los circuitos, de la fuente de energía, las cámaras de video y las antenas de radiocomunicación, así como los acabados.

Para la construcción de la estructura de este prototipo se utilizaron tubos de hierro, puesto que es un material resistente, económico y de fácil adquisición; además de materiales industriales que se pueden conseguir en ferreterías o tlapalerías, tales como ángulos de 1¼ de pulgada, de 1 pulgada, solera de ½ pulgada, tubo de 1 pulgada y cold roll de ¼ de pulgada.

La estructura principal está compuesta de 2 secciones:

a) La primera sección corresponde a la parte de soporte de la tracción (fig. 2.2), de 45 cm.

de longitud y 34 cm. de ancho, con un eje que divide la parte posterior en dos secciones

de 18 cm. Las ruedas se colocarán en los tornillos que aparecen en los ángulos superior e inferior.

Fig. 2. 2. Estructura de soporte para la tracción.

(21)

b) La segunda parte corresponde a la base del brazo mecánico del robot (fig. 2.3) construida con un rectángulo de 20 x 23 cm. de ángulo de ¾ de pulgada para servir como soporte

principal. Se tiene una chumacera de 2 pulgadas como soporte rotatorio, soldada a un

[image:21.612.171.444.176.395.2]

rectángulo de 17 x 54 cm. construido con ángulo de 1 ¼ ” y tubo de 1”. En esta parte también hay un soporte en forma triangular, construido con ángulo de 1 pulgada, de 20 cm. de altura y cuya función consiste en sujetar el brazo mecánico.

Fig. 2. 3. Base del brazo mecánico.

Para la unión de las dos secciones principales del robot se utilizaron 3 barras de acero de 11

pulgadas con amortiguamiento en sus extremos y tornillos de ½ pulgada de alta resistencia grado

seis (fig. 2.4).

[image:21.612.165.449.460.671.2]
(22)

Los sistemas de tracción y transmisión están formados por cuatro cadenas de acero montadas sobre engranes tipo estrella de 38 dientes (fig. 2.5).

Fig. 2. 5. Cadena de tracción.

[image:22.612.213.401.286.431.2]

Las ruedas utilizadas son tipo RUED-050 (fig. 2.6) que es una llanta neumática de 10 pulgadas de diámetro.

Fig. 2. 6. Rueda neumática.

Los actuadores son cuatro motores de 12 V a 5 A (fig. 2.7) que están conectados a las cuatro cadenas que giran las llantas.

Fig. 2. 7. Motor de tracción.

(23)
[image:23.612.113.503.314.606.2]

Fig. 2. 8. Estrella de rueda.

El brazo mecánico es de tres grados de libertad y fue construido usando dos estructuras de aluminio tipo PTR de 4.5 cm. de ancho por 30 cm. de largo, unidas por una bisagra mecánica de

hierro y por tornillos de ¼” por 2” de largo, de alta resistencia. Para mover estas estructuras se

utilizan 2 moto-reductores de 12 V, 5 A cada uno. Para el acabado de la estructura se aplicaron 3

capas de pintura negra mate resistente a la corrosión (fig. 2.9).

Fig. 2. 9. Montaje del brazo articulado con las secciones del robot y el sistema de tracción.

(24)
[image:24.612.113.467.171.402.2]

de los objetos y los movimientos de manipulación que con éstos realice el robot (fig. 2.10). El material de la extensión y el brazo es de aluminio por ser liviano.

Fig. 2. 10. Brazo manipulador terminado.

El sistema eléctrico consta de cable de doble polo con aislamiento de 600 V (fig. 2.11) y como fuente de energía una batería recargable (acumulador de auto) de 12 V y 680A/hora.

[image:24.612.161.455.481.681.2]
(25)

2.2 Sistemas electrónicos

El robot consta de sistemas electrónicos que realizarán las siguientes funciones:

- Captura de video.

- Interfaz de comunicación inalámbrica (Wi-Fi).

- Control de los movimientos del robot.

- Sistemas de alimentación e interfaces de potencia para los motores.

La fig. 2.12 muestra un diagrama a bloques de los sistemas electrónicos mencionados.

Access Point

WebCam2 Microfono

USB 01

PWR_Sel BDM

COM MICROCONTROLADOR|

MC9S12DT256

PT3PT2PT1PT0PA7PA6PA5PA4PA3PA2PA1PA0

USB 02 USB 03 WebCam1

PS1/TXD0 PS0/RXD0 MODC/BKGD

RESET* VCC

GND

internet

MÓDULO DE POTENCIA

M

6

M

5

M

4

M

3

M

2

M

1

USB a RS-232

Puertos

[image:25.612.93.525.229.671.2]

Motores

(26)

2.2.1 Sistema de video

En el robot se cuenta con dos cámaras web, una de ellas colocada encima de la tenaza manipuladora (que ya se mencionó en la sección 2.1) y otra en la minilaptop que funciona además como interfaz de comunicación Wi-Fi. Ambas cámaras tienen una resolución de 640 x 480 píxeles, conexión USB 2.0 (480 Mbps), y funciones de enfoque manual.

La cámara web utilizada en la tenaza manipuladora es el modelo ATW-650 (fig. 2.13). Se eligió por su sensor SXVGA2560X2048 de alta calidad, con resolución de 8.0 megapixeles, capacidad para tomar imágenes del entorno del robot con calidad de hasta 1600 x 1200 pixeles, sistema de iluminación con leds que permite guiar al robot en ambientes con poca luz, interfaz USB 2.0 y enfoque manual (fig. 2.13) .

Fig. 2. 13. Cámara web ATW-650 utilizada en la tenaza manipuladora.

La cámara ubicada en la tenaza permite guiar al robot, pero su función principal consiste en que permite al usuario visualizar los movimientos del brazo mecánico y de la tenaza durante la manipulación de un objeto.

Por otra parte, la cámara web que se encuentra en la laptop permite guiar al robot y sobre todo, captura imágenes de la escena panorámica frente al robot cuando se encuentra manipulando objetos.

2.2.2 Interfaz de comunicación inalámbrica

Para establecer la comunicación remota entre el usuario y el robot, y para ejecutar el software que permite el enlace mediante Wi-Fi, el robot cuenta con una mini laptop que debe cumplir con los siguientes requerimientos: poseer cámara web, tarjeta de red inalámbrica compatible con la norma IEEE 802.11.g, sistema operativo Windows XP (o más reciente), procesador de 1 GHz al menos y 1 GB (o más) de RAM.

Las señales de video provenientes de ambas cámaras son recibidas por la minilaptop, la

cual se encargará de codificarlas y transmitirlas vía Wi-Fi al usuario remoto. Los requisitos

mencionados para la laptop, permiten garantizar que las señales de video se transmitan al usuario

(27)

Finalmente, se utiliza el sistema de sonido de la laptop para reproducir frases o palabras que vía Wi-Fi son enviados por el usuario remoto mediante una consola de captura de textos. Esta función se explicará con más detalle en el capítulo 3.

Dentro de la estructura general del presente proyecto se utilizan algunas interfaces de comunicación: Un punto de acceso (Access point) para el caso de la comunicación entre el sistema de control y la interfaz de usuario de acceso remoto al robot (fig. 2.14.).

[image:27.612.217.397.273.381.2]

Las ventajas de utilizar un interfaz de comunicación mediante punto de acceso, se refleja en el uso de tecnología Wi-Fi para la manipulación de sistemas de control desde un sitio Web, o mediante una red LAN inalámbrica; adicionalmente se obtiene movilidad y seguridad de control. Para dicho efecto se utiliza un punto de acceso modelo WRT45G localizado en las instalaciones de ESIME Zacatenco.

Fig. 2. 14. Punto de acceso utilizado para el robot CEROB.

Por último, se utiliza un interfaz de comunicación vía puerto RS-232 mediante un convertidor de puerto USB a RS-232 (fig. 2.15) con el objetivo de establecer comunicación entre la laptop y la tarjeta del microcontrolador encargada de activar o desactivar los sistemas de tracción del robot.

Fig. 2. 15. Cable convertidor de comunicación USB a RS-232.

2.2.3 Sistema de control de los movimientos del robot

(28)

convertidor de datos de protocolo USB a RS-232. Por lo tanto, se utiliza la USART del microcontrolador para operar a 2800 bps, 8 bits de datos, sin paridad y un bit de parada.

[image:28.612.73.567.214.469.2]

Una vez que lo comandos han sido recibidos y almacenados en la memoria del microcontrolador, se reconocen y se traducen en pulsos que se encargarán de activar o desactivar los motores que determinan los movimientos de cada una de las articulaciones del robot. Para ello, se elaboraron las rutinas de programación de la tarjeta en lenguaje C utilizando la plataforma de desarrollo Codewarrior v. 6.0 y se configuraron como puertos de salida, los puertos A y T de la tarjeta (ver figura 2.16).

Fig. 2. 16. Vista superior de la tarjeta CMSB12, indicando las terminales de los puertos A, T, serial y conexiones del voltaje de alimentación.

La tarjeta de desarrollo utiliza como elemento de procesamiento un microcontrolador MC9S12DT256MFU cuyas características principales son:

- Rango de voltaje de alimentación entre +6V y +20V con salida regulada +5 V. - Frecuencia de reloj de 4 MHz.

- Memoria de: 4 KBy de EEPROM, 12KBy de RAM - 56 terminales para puertos de E/S de propósito general.

- 2 puertos de comunicación serie con controlador RS232 incluido.

Además de otros elementos tales como temporizadores, interrupciones e interfaces de comunicación que no se describirán en el presente trabajo pues no fueron utilizados en el robot.

(29)

2.2.4 Módulos de potencia.

[image:29.612.72.564.150.453.2]

Las etapas de potencia se encargan de encender y apagar motores de 12 VCD encargados de generar los movimientos de las articulaciones del robot.

Fig. 2. 17. Conexión de los módulos de potencia con el microcontrolador.

La elección de motores de CD se realizó teniendo en mente la facilidad de controlar el sentido del torque mediante un arreglo eléctrico de potencia del tipo escalonado utilizando relevadores y transistores como el que se muestra en la fig.2.18.

[image:29.612.210.405.547.675.2]
(30)

Al iniciar el sistema, en la tarjeta del microcontrolador se configuran los puertos como salidas con un valor inicial de cero lógico. Con ello, el estado inicial del transistor NPN es de corte, manteniendo de esa manera al relevador en estado de NA (normalmente abierto) hasta obtener una señal de activación proveniente del microcontrolador en RB.

Recibiendo un nivel lógico alto desde el microcontrolador en RB, obtenemos una corriente de

base (IB) de saturación y un voltaje colector – emisor (VCE) casi cero, provocando que el relevador

pase de un estado NA al de NC (normalmente cerrado).

Se anexa las referencias eléctricas (tabla 2.1.) y las características de rendimiento (tabla 2.2.) del dispositivo electromagnético utilizado para la conmutación del estado de polarización de los motores; esto con el propósito de obtener el tiempo de respuesta del dispositivo; pues se considera que es de crucial importancia ya que de este dependen no solo la movilidad del robot sino también la acción del brazo robótico.

El dispositivo electromecánico utilizado para el presente proyecto se trata de un relevador de potencia de un polo, dos tiros modelo RAS-1210.

Tabla 2. 1. RAS-1210 referencias eléctricas.

Voltaje nominal resistencia

en bobina Consumo de energía Corriente nominal voltaje de entrada voltaje de separación Máx. voltaje admitido

vcd Ω W mA % % %

12 400 0.36 30 75% 10% 130%

Tabla 2. 2. RAS-1210 rendimiento.

Elemento RAS 1210

Resistencia

al contacto 50mohms

Tiempo de

operación 10mseg

Tiempo de

separación 5mseg

Temperatura

de operación ºC -30 a 80

Humedad RH 35% a

85% Resistencia de la vibración 10G (10-55Hz) Resistencia

de choque 10G

expectativa

(31)

Sabemos, de acuerdo a las especificaciones; que el tiempo de respuesta viene dado por la ecuación (3).

………(3)

donde:

= tiempo de respuesta.

= tiempo de operación.

= tiempo de separación.

Sustituyendo los valores del tiempo de operación ( ) y tiempo de separación ( ) dados

en la tabla 2.2 en la ecuación (4), obtenemos:

………(4)

Con el tiempo de conmutación de los relevadores se calculó el tiempo mínimo de reacción del brazo robótico, siendo este de 15mseg tomando en cuenta que tiene que ser menor que el tiempo promedio de reacción del hombre que es de 100mseg.

Los transistores para que activen los relevadores tienes que saturarse para que permitan el paso en su máxima carga. Para escoger un transistor que active los relevadores sin sobrecalentamiento, primero calculamos la carga máxima que pasa por la bobina del relevador con la ecuación 7.

Ib=Wb/Vcc ……….(5)

donde:

IE=Corriente máxima en la bobina.

Wb=Consumo de energía de la bobina.

Vcc=Voltaje nominal de la bobina.

Sustituyendo los valores del consumo de energía de la bobina (Wb) y voltaje nominal de

la bobina (Vcc) dados en la tabla 3.1 en la ecuación (6), obtenemos:

IE=Wb/Vcc= 0.36W/12Vcc=0.03A o 30mAcd ……….(6)

Se necesita un transistor que permita más de 30mA en IE. Se escogió para este proyecto el

(32)

Para calcular la resistencia de la base se sabe que:

=

……….(7)

donde:

Ib=Corriente de la base.

Ic=Corriente del colector.

β =Ganancia de corriente en saturación.

Rb=Resistencia en la base

Vcc=Voltaje nominal

Vce=Voltaje colector-emisor.

Sustituyendo los valores del voltaje colector – emisor (Vce) con voltaje nominal (Vcc)

con corriente del colector (Ic) y ganacia de corriente (β) dados en la tabla 3.1 en la ecuación (8),

obtenemos:

=

……….(8)

En la cual para saturar el transistor se pusieron resistencias de 5.6 KΩ ¼W por acercarse

más al uso comercial.

En el circuito se colocaron leds indicadores del estado del motor: encendido o apagado, lo cual constituye una valiosa guía para encontrar fallas en los motores o para realizar una prueba al robot antes de conectar los motores y ponerlo en movimiento.

(33)

-Fig. 2. 19. Diagrama final de los módulos de potencia para el control de los motores.

2.3 Resultados

[image:33.612.75.567.95.544.2]
(34)
[image:34.612.167.447.84.309.2]

Fig. 2. 20. Robot CEROB transportando una botella con ácido.

El robot tiene una masa de 45 kg (sin batería), pero ello no impide que manipule objetos comparativamente pequeños con un rendimiento y precisión adecuados. Ver fig.2.21.

Fig. 2. 21. Robot CEROB levantando una rama.

[image:34.612.180.434.371.587.2]
(35)
[image:35.612.77.535.98.350.2]

Fig. 2. 22. Robot CEROB en postura vertical. Fig. 2. 23. Robot CEROB en postura horizontal.

Las ruedas al estar agrupadas en forma de oruga (ver fig. 2.23), permiten que el robot se pueda desplazar en diferentes tipos de superficies, como por ejemplo superficies lisas o de césped (figura 2.24).

[image:35.612.166.448.404.617.2]
(36)

CAPÍTULO 3. SOFTWARE

En el presente capítulo se describen cada uno de los bloques que forman el sistema de control y de comunicaciones del robot CEROB; así como el software aplicado o diseñado en los tres componentes principales del sistema: la PC remota, la laptop que forma parte del hardware del robot CEROB y la tarjeta de desarrollo basada en un microcontrolador.

La estructura completa del sistema y las interfaces de comunicación utilizadas se muestran en la fig. 3.1

Tarjeta inalámbrica (802.11n ) Comandos de voz Teclado (texto) Consola grafica de comandos Despliegue de video (2 canales)

Video 1 Video 2

PC remota

Usuario

Escritorio Remoto (TeamViewer 6.0)

Internet http:// translate.google.es/ translate_tts Access Point Tarjeta inalámbrica (802.11n ) Escritorio Remoto (TeamViewer 6.0)

Tarjeta de sonido USB USB Serie Comandos de voz Webcam 1 Webcam 2 USART μC

Puerto A Puerto T

Tarjeta de desarrollo CSMB12DT256 Laptop del robot

Bits/seg. 2400 Bits de datos 8 Sin paridad Bits stop 1

RS-232

Resolución : 640 x 480 Cuadros/seg 30

Resolución : 640 x 480 Cuadros/seg 30

Lenguaje VB

Lenguaje C++

Interfaz de potencia 8 Motores Adelante Atrás Izquierda Derecha Subir brazo Bajar brazo Subir extensión Bajar extensión Abrir pinza Cerrar pinza Girar izquierda pinza

Girar derecha pinza

Fig. 3. 1. Diagrama a bloques del sistema completo.

3.1 Software de la PC remota

(37)

- Establecer la conexión a una red inalámbrica mediante el uso de un escritorio remoto.

- Enviar comandos que controlen el movimiento de las articulaciones del robot y la

trayectoria de desplazamiento, a través de lo que se denomina consola gráfica de

comandos.

- Teclear frases que mediante la aplicación de Google Translate que en robot se

reproducen en forma de comandos de voz. La aplicación Google Translate está

disponible al público en la dirección electrónica http://translate.google.es/translate_tts

- Observar el video transmitido por las 2 cámaras web que tiene el robot.

3.1.1 Escritorio remoto

Por medio del software libre TeamViewer se establece la conexión remota mediante Wi-Fi, entre equipos que utilicen los sistemas operativos Windows, Linux y MAC, Android, iPhone y iPad por citar algunos. La conexión se puede establecer para una red local privada o con salida internet, sin tener que preocuparse por cortafuegos, direcciones IP o NAT. También incluye las siguientes funciones:

• Incluye canal VPN real (red privada virtual) además de la posibilidad de compartir sólo el

escritorio

• Sistema de administración de archivos, para la transmisión de archivos desde y hacia el

ordenador remoto; incluye la función “Reanudar”, para recuperar el enlace después de

una interrupción en el servicio de conexión.

• Reinicio del ordenador remoto y posterior restablecimiento de la conexión, con la

posibilidad de ejecutar el arranque en modo a prueba de errores.

• Función de actualización integrada, que permite la actualización remota de sistemas y

servidores.

• Limitación de la transferencia de pantalla a aplicaciones individuales.

• Comunicarse con los asociados directamente a través de VoIP (Voz sobre IP), sin costos

adicionales.

• Transmisión y recepción de vídeo.

• Versión portátil: Podrá llevar consigo su TeamViewer personalizado e iniciarlo

(38)

El primer paso es descargarlo a la PC remota desde la página web:

http://www.teamviewer.com/es/download/index.aspx. Para controlar la laptop del robot, se

[image:38.612.93.523.456.688.2]

necesita la versión completa (fig. 3.2).

Fig. 3. 2. Instalación de escritorio remoto.

En la laptop del robot se tiene que hacer lo mismo e iniciar el servicio. También se puede

descargar TeamViewer QuickSupport e iniciarlo de la pagina web

http://www.teamviewer.com/download/TeamViewerQS.exe. TeamViewer QuickSupport no

necesita instalación y puede ejecutarse incluso sin disponer de derechos de administrador en Windows.

Cuando se ejecuta TeamViewer, aparecerá la ventana de la fig. 3.3, en la cual se deben proporcionar el nombre del usuario y contraseña. Una vez validada esta información, se debe Crear una sesión.

(39)

Para ejecutar como servicio del sistema de Windows:

1. En el menú Extras, seleccione Opciones 2. Seleccione la categoría General (fig. 3.4)

3. En el apartado Inicio, active la opción Iniciar TeamViewer con Windows®.

→ Se abrirá una ventana para introducir una contraseña.

4. Introduzca una contraseña segura en el campo Contraseña y confírmela.

5. Haga clic en Aceptar.

6. Haga clic en Aceptar en el cuadro de diálogo Acceso permanente activado.

7. Haga clic en Configurar del apartado Configuración de red (si utiliza un proxy) o en

Conexión en red local (mediante dirección IP) para configurar la conexión en red de los equipos

[image:39.612.82.530.262.569.2]

remoto y de la laptop del robot.

Fig. 3. 4. Activación del acceso permanente.

Para conectar la laptop del robot mediante el escritorio remoto y de esta manera permitir el acceso a la consola gráfica de comandos, se deben seguir los siguientes pasos:

1. Inicie TeamViewer y haga clic en la pestaña Control remoto.

2. Solicite a su asociado que inicie TeamViewer o TeamViewer QuickSupport. 3. Pída la ID de TeamViewer y contraseña .

(40)

5. Haga clic en Conectar con asociado.

→ Se abrirá el cuadro de diálogo Autenticación de TeamViewer.

6. Introduzca la contraseña del equipo remoto y haga clic en Iniciar sesión.

→ Tras ello estará conectado a la laptop del robot y podrá controlar el programa consola

[image:40.612.74.545.166.562.2]

del robot CEROB.exe (fig. 3.5).

Fig. 3. 5. Escritorio remoto con la consola gráfica de comandos (CEROB.EXE).

3.1.2 Consola gráfica de comandos en PC.

El programa de consola gráfica de comandos “CEROB.exe” es una aplicación desarrollada en

(41)
[image:41.612.90.523.86.339.2]

Fig. 3. 6. Aspecto de la consola de comandos del robot.

Los botones y las flechas guardan una cadena de texto en la base de datos la cual al ser leída por el programa CEROB en la laptop del robot los convierte en comandos que controlan el desplazamiento del robot.

En el menú principal se encuentran las opciones:

Conexión-> Muestra una ventana que permite seleccionar las opciones de configuración de la comunicación serie entre la laptop y la tarjeta del microcontrolador.

Comunicación-> Es la interfaz para abrir las aplicaciones de comandos de voz (Voz) y de control de comandos vía web (iControl). Cada una de estas aplicaciones abrirá una nueva ventana cuando se utilizan.

Ayuda-> Contiene información de apoyo para el usuario, la cual se encuentra en formato .pdf y en forma de búsqueda de actualizaciones en la web. Ésta última opción permite descargar las versiones más recientes del software de control del robot.

Una vez establecida la conexión mediante el escritorio remoto, los controles que permiten al usuario interactuar con el robot, son:

(42)

El botón “Capture Imagen” permite guardar un cuadro del video de la cámara web con el nombre de gato.jpg. Se guardará en la misma ubicación que presente el archivo ejecutable.

El botón “Color” realiza el despliegue de la imagen de la webcam en color o en tonos de grises.

El botón “REC” inicia la grabación de video en la memoria de la computadora rermota.

El botón “STOP” graba el video en la unidad de disco “C:/” con el nombre

“RecordedVideo.avi” Funciona únicamente con el sistema operativo Windows XP.

El botón “STOP Web Cam1” detiene el funcionamiento del controlador de la cámara de video en la ventana 1

La casilla “Tintineo”, activa el tiempo de captura de la orden dada por la ventana de

comandos, pero no acelerara el tiempo de reacción de una función enviada por internet y el programa GIP.

Los botones , , etc. controlan el movimiento de las articulaciones del

robot.

Los botones atrás, adelante, etc. controlan el desplazamiento del robot. Los

botones de color azul son para dejar activada la función indefinidamente, mientras que los de color rojo sólo activan la función cuando se encuentran oprimidos.

3.1.3 Consola gráfica de comandos desde un servidor web.

Existe una segunda versión de la ventana de comandos, simplificada, que fue montada en dos servidores el primero (Devian, MySQL 5.0, Perl 5.8, PHP 5.2, FTP, SFTP, pop.spacpi.com, smtp.spacpi.com) en E.E.U.U. llamado ipower; y el segundo (WinXP, MySQL 5.0, Perl 5.10, PHP 5.3, FTP) en la minilap del robot. Se encuentra disponible al usuario en la dirección

electrónica http://spacpi.com/universidad/ y http://cerob/universidad/ El modo para interactuar es

por medio de una rutina de refrescamiento de http://.../universidad/ajax/cerob.php, (Fig. 3.10) que se encarga de leer de la base de datos el último valor adquirido en la página de control mediante una

clase llamada iControl (fig. 3.7). Una vez adquirido, el valor es transmitido hacia el

microcontrolador.

(43)

Esta ventana sólo se activa si existe una conexión al servidor. En caso de que no sea así, manda una ventana emergente (fig.3.8) mostrando al usuario que no existe una conexión disponible.

Fig. 3. 8. Ventana iControl emergente.

La pagina web muestra los siguientes vínculos:

Inicio: Muestra cómo funciona el programa y tiene videos de ejemplos.

CEROB: Muestra la consola de comandos del robot.

Ayuda: muestra en pdf información de contacto con el diseñador del sistema.

La figura 3.9, muestra la forma en que se organizó la información de la página web.

http://spacpi.com/ universidad/index.php http://cerob/universidad/ index.php Inicio.htm Ayuda

[image:43.612.113.494.334.686.2]
(44)
[image:44.612.73.541.150.529.2]

La consola de comandos permite visualizar dos ventanas simultáneamente. La primera ventana (lado izquierdo) se ve la imagen de una de las cámaras web. La velocidad del despliegue del video depende de la velocidad de la conexión. Del lado derecho aparecen los botones de la consola de comandos, y permiten realizar las funciones ya descritas (fig.3.10).

Fig. 3. 10. Aspecto de la consola de comandos desde la página web.

Las dos ventanas son abiertas por un script que se encuentra en detallado en el apéndice 6.

Al activar un botón, la información del comando es leída de la base de datos universidad, para que después el programa GIP lo transmita y sea enviado para su identificación y ejecución en el microcontrolador. El código detallado de este proceso aparece en el apéndice 7.

(45)

3.1.4 Comandos de voz

Esta función permite al usuario escribir un texto en el idioma que quiera reproducir el comando en el robot (español o inglés). Al terminar de escribir, se presiona el botón del idioma seleccionado. Esta función sólo puede ser utilizada si está conectada la computadora a internet y su funcionamiento es el siguiente:

1) El botón manda el texto tecleado al motor de fonética de la página de Google.

2) El programa ubicado en servidor traduce el texto a un archivo de voz en formato mp3,

que será reproducido en la laptop del robot para alertar a quienes se encuentren a su alrededor.

3) La ventana aparece de forma emergente (fig. 3.11) y se cierra al finalizar el programa.

La clase voz se puede consultar a detalle el apéndice 5.

Fig. 3. 11. Ventana de comandos de voz.

La forma en que funciona el traductor de Google consiste en analizar cientos de documentos en busca de patrones que le ayuden a elegir la mejor traducción. La búsqueda de patrones en documentos que han sido traducidos por humanos, permite al programa de traducción elegir la traducción más adecuada. Este proceso de búsqueda en un gran número de textos se denomina "traducción automática estadística", ya que se generan de forma automática, aunque no todas las traducciones serán perfectas; sin embargo, la calidad de la traducción será mejor cuanto mayor sea el número de documentos analizados.

Para ejecutar el programa traductor de Google se debe entrar en la siguiente dirección electrónica:

http://translate.google.es/translate_tts

Las variables son enviadas por URL. Esto quiere decir, que se envían a través de la dirección de la página para ser recibidas por algún intérprete, en este caso PHP. Por lo tanto, para introducir

valores se utiliza el caracter „?’ para interprétes de PHP). Por ejemplo:

http://pagina.php?variable1=valor1&variable2=valor2

(46)

La primer variable se envía después de poner el nombre y extensión de la página "pagina.php" y va antecedida por un signo de interrogación para indicar inicio de variables. Luego se separa cada variables con signos &

La variable q es una cadena de texto la cual será leída por el motor de texto. Sus comandos son:

%20 = Espacio en blanco.

%0A = Salto de línea.

La variable tl selecciona el idioma en que será leído; en este caso se utilizan “español” e “ingles”.

Al utilizar las referencias del lenguaje php y una vez conocido el funcionamiento del

[image:46.612.247.370.341.529.2]

programa fonético, se realizo una clase en Visual Studio 2008 (fig. 3.12) llamada Clase Voz, la cual forma parte del programa consola del robot. Así, el usuario escribe el texto que quiere que el robot reproduzca en forma de sonido, simplemente con oprimir el botón de idioma.

Fig. 3. 12. Clase Voz.

3.1.5 Sistemas webcam y Apis de Windows

El robot utiliza dos cámaras web, las cuales son sensores que permiten observar el entorno del robot. Para obtener las imágenes de la webcam y mostrarlas en pantalla, se utilizaron las siguientes APIS de Windows:

- Función capGetDriverDescription: recupera la descripcion y version del sistema de captacion.

(47)

- Plug-and- Play: enumera desde el primer dispositivo de captación que se conecte, haciendo un listado en el registro de Windows. Éste registro se ubica en el archivo system.ini

- LpszName: Apuntador de dirección al buffer que corresponde a una cadena de terminación nula con el nombre del dispositivo de captura.

- CbName: Longitud en bytes del buffer apuntado por la función LpszName.

- LpszVer: Apuntador al buffer que corresponde a una cadena de terminación nula con la descripción del dispositivo de captura.

- CbVer: Longitud en bytes del buffer apuntado por LpszVer

- capCreateCaptureWindow: Función que crea ventanas de captura.

- capCreateCaptureWindow: Crea una ventana de captación.

- dwStyle: Estilos de la ventana usados para la ventana de captación. Los estilos de ventana son explicados con la función de CreateWindowEx.

- X: La coordenada de x es la esquina superior izquierda de la ventana de captación. - Y: La coordenada de y es la esquina superior izquierda de la ventana de captación. - nWidth: Ancho de la ventana de captación.

- nHeight: Altura de la ventana de captación. - hWnd: Cabecera de la ventana padre. - nID: Identificador de ventana.

- SendMessage: Envía mensajes especificos a una ventana o al sistema windows. - SetWindowPos: Ubica la ventana al bufer en la pantalla.

3.2 Software de la mini laptop del robot

(48)

Para lo anterior, se requirió del siguiente software: un escritorio remoto; la aplicación encargada de reproducir los comandos de voz; las APIS de Windows encargadas de capturar las imágenes provenientes de las dos cámaras web; y finalmente, el software de comunicación del puerto serie.

Dado que ya se trató el software relacionado con el escritorio remoto, los comandos de

voz y las APIS de Windows encargadas de procesar la información de video en la sección 3.1, a continuación se describirán solamente: el proceso de conexión de la laptop en la red, y la programación del puerto serie de la laptop encargado de enviar la información de los comandos al microcontrolador.

3.2.1 Escritorio remoto

En la parte de la laptop del robot también se debe descargar TeamViewer QuickSupport e

iniciarlo de la pagina web http://www.teamviewer.com/download/TeamViewerQS.exe.

Para ejecutarse como servicio del sistema de Windows se siguen los mismos pasos ya descritos en la sección 3.1.1.

3.2.2 Programa del puerto serie

[image:48.612.203.411.454.716.2]
(49)

La mini laptop no tiene puerto serial, por lo cual se utiliza un puerto USB de la PC con un adaptador USB-Serie.

[image:49.612.194.418.204.421.2]

El resultado obtenido es un programa que despliega la ventana SerialPort, la cual se utiliza para configurar la comunicación serie entre la laptop y la tarjeta del microcontrolador (fig.3.14).

Fig. 3. 14. SerialPort.

Los valores que se deben configurar para establecer la comunicación con el software de la tarjeta del microcontrolador, son: 2400 bits por segundo, 8 bits de datos, paridad, 1 bit de parada, sin control de flujo. Los comandos que serán transmitidos al microcontrolador son cadenas de texto (código ASCII).

3.3 Software del microcontrolador

La tarjeta basada en el microcontrolador se utiliza para recibir los comandos de control de movimiento de las articulaciones del robot CEROB provenientes de la laptop, y traducirlos en señales que mediante una interfaz de potencia controlan el funcionamiento de los motores del robot. La programación de la tarjeta se realizó en lenguaje C, utilizando compilador Code Warrior de Freescale.

(50)

3.3.1 Programa de la USART

El componente AsynchroSerial es un objeto que está en la librería AS1.h de Freescale CodeWarrior ID12 versión 5.9. Éste representa como un objeto de programación el puerto serial RS-232 y sus elementos, facilitando crear un recurso para la comunicación con la laptop.

El puerto PS se configura la transmisión (PS0_Rx) y recepción (PS1_Tx), a una velocidad

de 2400 baudios. Se configura a 8 bits de datos, sin paridad y con bit de parada; finalmente,

no se utiliza ningún control de flujo.

3.3.2 Decodificación de comandos

[image:50.612.181.437.339.586.2]

Las señales eléctricas que le llegan por el puerto PS nos activa una bandera con la función AS1_RecvChar(), esta nos avisa que la laptop está mandando información por el puerto serial, por medio de un bucle infinito unimos todos los valores que nos manda hasta saber si este valor acumulado es una cadena de texto valida o no, las cadenas validas son (Tabla 3.1).

Tabla 3. 1. Comandos.

Comando Acción

UUnegaatM

El robot se mueve hacia adelante.

UUrighadM

El robot se mueve hacia atrás.

UUposiatM

El robot rota a la izquierda.

UUizquadM

El robot rota a la derecha.

UUparada1

Detener acciones.

UUcielbrM

Subir brazo

UUbajabrM

Bajar brazo

UUsubeexM

Subir extensión

UUdownexM

Bajar extensión

UUgidopiM

Abrir pinza

UUexprpiM

Cerrar pinza

UUuuppbbM

Girar izquierda pinza

UUtierbbM

Girar derecha pinza

(51)

CAPÍTULO 4. PRUEBAS Y RESULTADOS

Se realizaron distintas pruebas al robot CEROB, para medir la precisión en el desplazamiento, manipulación de objetos, duración de la batería y extensión del área de operación en función de la cobertura del punto de acceso utilizado en la red Wi-Fi.

4.1 Prueba 1.- Precisión

En esta prueba, por medio del video que entregan las cámaras web al usuario, se tiene que colocar mediante el robot una botella de manera lo más precisa posible, en un punto para ello establecido. La prueba se realizó con 8 usuarios y cada uno de ellos tuvo 4 intentos para colocar la botella.

Las estipulaciones de la primera prueba son: colocar una botella que contiene 2 litros de un líquido que no debe ser derramado, a una distancia de 30 cm de separación con respecto al punto de destino. El robot estará a un costado de la botella (fig. 4.1)

Los criterios que se evaluarán, son:

 Lograr que el objeto sea depositado en el área destino, que está limitada el doble del

de radio del objeto (círculo de 18cm de diámetro).

 El usuario intentará colocar el objeto en el centro del área de destino, y se evaluará la

desviación, considerando al eje x como la línea entre el objeto y el centro del área.

 El tiempo que tardó el usuario en colocar el objeto.

Las pruebas se realizaron con 7 estudiantes de nivel superior y uno de nivel básico. Los

(52)
[image:52.612.63.550.95.699.2]

Tabla 4. 1. Usuario ID 1.

Positivo Causa del error Desviación Tiempo(mm:ss)

No Se adelantó mucho 0:00

No Se excedió de tiempo al bajar brazo 0:00

No Soltó pieza antes de tiempo <3:00

Si (1.7,1.7)cm 2:27

Tabla 4. 2. Usuario ID 2.

Positivo Causa del error Desviación Tiempo(mm:ss)

Si (1.2,1)cm <3mm

Si (1.2,2)cm 2:52

No Sujetó el objeto y lo soltó antes de moverlo 0:25

No No levantó el objeto cuando giró a la izquierda 0:00

Tabla 4. 3. Usuario ID 3.

Positivo Causa del error Desviación Tiempo(mm:ss)

No Error al escoger botón de izquierda 0:00

No Error al dejar presionado botón de avance hacia adelante 0:00

Si (3,-1.7)cm 1:12

Si (-2.1,0.5)cm 0:54

Tabla 4. 4. Usuario ID 4.

Positivo Causa del error Desviación Tiempo(mm:ss)

Si (4,1) 1:35

Si (-1,1.2) 1:35

No El objeto no fue soltado a tiempo al bajar brazo 1:12

Si (-2.1,-2.8) 1:22

Tabla 4. 5. Usuario ID 5.

Positivo Causa del error Desviación Tiempo(mm:ss)

Si (0.5,1.0) 2:28

Si (0.2,1.2) 1:31

Si (0.0,3.4) 1:37

No No sujetó correctamente el objeto 0:54

Tabla 4. 6. Usuario ID 6.

Positivo Causa del error Desviación Tiempo(mm:ss)

Si (-1.0,2.8) 1:68

No Falta de energía en la mini laptop del robot

No Falta de energía en la mini laptop del robot

(53)
[image:53.612.65.550.90.270.2]

Tabla 4. 7. Usuario ID 7.

Positivo Causa del error Desviación Tiempo(mm:ss)

Si (1.7,3.1) 0:38

Si (0.0,0.4) 0:47

Si (1.2,0.4) 0:49

No Se excedió el tiempo de dejar el objeto 0:47

Tabla 4. 8. Usuario ID 8.

Positivo Causa del error Desviación Tiempo(mm:ss)

Si (2.1,2.0) 1:04

No No localizó el punto destino 3:47

Si (-1.9,-1.7) 2:38

No No cerró bien la pinza 0:17

Cuando realizaban las pruebas su principal error fue descontrol en la selección de los botones, con lo cual se concluye que el operario del robot debe recibir un entrenamiento constante, pues se observó que quienes utilizaron al equipo robótico con menos tiempo entre una y otra prueba, no tuvieron ningún error y alcanzaron una precisión de 5mm.

4.2 Prueba 2.- Tiempo útil en las baterías

El equipo robótico utiliza dos baterías para su funcionamiento, la que es propia de la laptop y una batería recargable (acumulador de automóvil) encargada de proporcionar alimentación al resto de los sistemas electrónicos y de potencia.

La duración de la carga en la batería de la laptop varía en función del plan de energía que el usuario elija, ya que no es necesario un brillo alto en la pantalla de la laptop y tampoco se requiere que el procesador se encuentre en uso todo el tiempo. Utilizando el plan de energía en modo económico, el tiempo de vida la batería es de 1 hora con 38 minutos.

La segunda batería es un acumulador de auto de 460 A/hr., formada de 11 celdas (fig. 4.2)

(54)

La batería con una carga plena no se descargó durante el tiempo que funcionó la laptop, desplazando al robot en una superficie de piso plano y pulido. Por lo tanto, el tiempo de operación del robot viene limitado principalmente por la batería de la laptop en esas condiciones.

Habrá que considerar, que el gasto de energía es mayor cuando el terreno es de diferente tipo: pasto, piso de tierra, cemento, empedrado, con plano inclinado, etc. para los cuales no se llevaron a cabo pruebas de duración de la carga del acumulador.

4.3 Prueba 3.- Alcance del enlace Wi-Fi

La prueba se llevó a cabo desplazando el robot a través de un pasilla largo, sin obstáculos, del

primer piso del edificio 5 de la Unidad Profesional “Adolfo López Mateos” (fig. 4.3).

Fig. 4. 3. Robot desplazándose a lo largo del pasillo del primer piso del edificio 5.

El alcance de la señal que permitió controlar el robot para el punto de acceso utilizado, (potencia radiada de __56___ mW a una frecuencia de 2.4 GHz, estándar 802.11g) fue de 72.89 m en línea recta.

4.4 Prueba 4.- Trayectoria de desplazamiento

(55)

Las pruebas realizadas, arrojaron una desviación de 30 cm hacia la izquierda por cada 3 metros de avance (fig.4.4) atribuible con toda certeza a las deficiencias del diseño mecánico, que fue realizado con piezas de baja precisión y mediante técnicas empíricas.

30 60 90 120 150 180 210 cm

0

30

60

90

120

150

180

[image:55.612.193.426.152.412.2]

210

Figure

Tabla 1. 1. Cronología robótica.
Fig. 2. 4. Barras de unión de las secciones.
Fig. 2. 6. Rueda neumática.
Fig. 2. 8. Estrella de rueda.
+7

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)