PAPER Robot Evasor de obstáculos

9

Click here to load reader

description

Resumen del Carro Evasor de Obstáculos.

Transcript of PAPER Robot Evasor de obstáculos

Page 1: PAPER Robot Evasor de obstáculos

CARRO EVASOR DE OBSTACULOS

Castro Javier, Chávez Marcelo, Molina Marco, Nono Belén, Rodríguez Mauricio

RESUMEN

El proyecto presentado es un carro evasor de obstáculos “Leónidas”, el cual empieza su funcionamiento al presionar un pulsador de inicio. El carro evasor de obstáculos se dirigirá en una trayectoria recta mientras no encuentre un obstáculo. La detección de obstáculos se hace por medio de sensores de distancia que se encuentran en la parte delantera del carrito. Dependiendo de la señal que proporcionan los sensores se realiza una lógica de control para el cambio de dirección en el movimiento del carrito, después del cambio de dirección el carrito se dirigirá en trayectoria recta nuevamente. Para el desplazamiento del carrito se utilizo dos servomotores truncados para obtener mayor torque en el giro de las llantas, las llantas son movidas con tracción diferencial. El control del carro evasor se lo realizo por medio de un microcontrolador ATmega 16. La alimentación del carro evasor se la hace a través de 2 baterías en serie de celular, voltaje que se rectifico a 5 voltios fijos.

This project is a car which avoids obstacles, its

name Leonidas, and its stars to work when

pushing a start button. This car will follow a

straight trajectory while there are no obstacles

near. The detection of obstacles is made with

distance sensors, which are located in the front

of the car.

Depending of the signal sensors, a logic

control is made to change the car direction,

after the change direction the car returns to the

straight trajectory.

For the displacement, the car uses two

truncated actuators to obtain major torque in

the turn of the rims; the rims are moved by

differential traction. The control of the car is

made using a TMEGA16 microcontroller. The

feeding of the car is made using 2 batteries of

cell phone, voltage that is rectified to 5 volts.

INTRODUCCION

Los robots son usados en la industria automotriz, médica, plantas fabriles y otras aplicaciones. Construir y programar un robot es una resolución combinada de problemas, de electrónica y mecánica.

La palabra "robot" apareció por primera vez en una revista cómica de Checoslovaquia llamada Rossum's Universal Robots por Karel Capek en 1920. Los robots en esta obra, tendían a ser humanoides. De ahí en más se vieron en

muchas historias de ciencia ficción buenas, que los involucraban en revueltas contra la autoridad humana, lo cual requiere inteligencia. Esto cambió cuando General Motors instaló el primer robot en su planta de fabricación en 1961. En la ciencia-ficción o en la fabricación, la inteligencia es solamente instalada en un robot a través del programa.

Un robot se podría definir como una máquina programable capaz de manipular objetos y realizar operaciones autómatas.

Isaas Asimos ha contribuido con varias narraciones a la ciencia ficción con el tema de los robots y a él se le atribuye el acuñamiento del término robótica. Además fue él quien propuso las tres leyes de la robótica con las que se garantiza esté bien diseñada y sea segura; estas leyes son:

1. Un robot no puede actuar contra un ser humano o, mediante la inacción, permitir que un ser humano sufra daños.

2. Un robot debe obedecer las órdenes dadas por los seres humanos, salvo que están en conflicto con la Primera Ley.

Page 2: PAPER Robot Evasor de obstáculos

3. Un robot debe proteger su propia existencia, a no ser que esté en conflicto con las dos primeras leyes.

En este proyecto se implementa un “Carro evasor de obstáculos” usando microcontroladores de la familia AVR el ATmega16. Tiene como objetivo construir un “robot evasor de obstáculos” el cual lo denominaremos “LEÓNIDAS”, Leónidas al detectar un obstáculo en su camino sea capaz de evadirlo.

CONSTRUCCIÓN DEL “CARRO EVASOR DE OBSTACULOS”

En la planificación de la construcción de este robot evasor de obstáculos se consideraron los siguientes puntos:

• Nivel físico:

Esta etapa está comprendida de la estructura física del robot, las partes móviles, las etapas de potencia, el conjunto de sensores y los sistemas básicos para su manejo.

• Nivel de inteligencia:

Esta etapa abarca la planificación del robot, para que sea completamente autónomo.

HARDWARE

La estructura principal del carro está elaborada en madera donde se ha colocado dos llantas grandes en la parte posterior, una rueda loca delantera, dos servomotores, tres sensores de distancia colocados en la parte frontal de tal forma que puede sensar la mayor área del obstáculo a evadir, el microcontrolador que va a ser quien tome las acciones de control necesarias, un puente H que me permitirá controlar el sentido de giro y la velocidad de los servomotores, las placas elaboradas y la fuente de alimentación que en nuestro caso son baterías de celular. En la figura 1 se observa la estructura del robot evasor de obstáculos que se implemento, se puede observar la ubicación de los principales componentes utilizado para la construcción del robot.

Figura 1. Estructura de robot evasor de obstáculos

Servomotor modelo HS-311 Standard (Truncado)

El HS-311 es el servo perfecto para nuestra aplicación debido a su bajo costo.

Figura 2. Servo, periféricos y accesorios

Una de las mejores características del servo Hitec es su facilidad para ser modificado para rotación continua, con el fin de usarlo como motor propulsor en los robots. Este servo tiene unas características técnicas y físicas únicas, por su mayor facilidad de modificación y su mayor potencia.

Sensor de ultrasonido SRF05

Consiste en un medidor ultrasónico de distancias de bajo costo desarrollado por la firma DEVANTECH Ltd. El módulo SRF05 es una evolución del módulo SRF04 y está diseñado para aumentar la flexibilidad, aumentar el rango de medida y reducir costes. Observar la figura 3.

Figura 3. Sensor de ultrasonido

Dispone de un nuevo modo de operación que se selecciona simplemente conectando el pin “Mode” a GND. Dicho modo permite al SRF05

Page 3: PAPER Robot Evasor de obstáculos

emplear un único pin de E/S que sirve tanto para dar la orden de inicio o disparo, como para obtener la medida realizada (ECO). El SRF05 incluye una pequeña temporización tras el pulso ECO de salida, que permite que controladores lentos como Basic Stamp y Picaxe puedan ejecutar sus correspondientes instrucciones.

Modo de operación

Permite emplear una única patilla para generar la señal de disparo o trigger y también para realizar la medida de la anchura del pulso de salida del ECO, lo que ahorra patillas en el microcontrolador central. Para emplear este modo basta con conectar la patilla “Mode” con GND. La señal de ECO aparecerá entonces en la misma patilla por la que se aplicó la señal de trigger. Esa patilla se debe configurar primero como salida para generar el disparo y luego como entrada para leer la duración del ECO. Ver la figura 4.

Figura 4. Modo de operación

Los tiempos necesarios para el funcionamiento del sensor se muestran en la figura 5.

Figura 5. Diagrama de tiempos

Sensor de distancia GP2Y0A21YK

El GP2Y0A21YK es un sensor medidor de distancia de ángulo amplio, desarrollado por la firma SHARP. Es capaz de medir distancias desde 10 cm a 80 cm. Consta de tres pines dos para la alimentación y uno de salida, el cual entrega un voltaje analógico que depende directamente de la distancia medida. Observar la figura 6.

Figura 6. Sensor de distancia

La figura 7 muestra la salida que nos proporciona el sensor analógico, se debe tener en cuenta que antes de los 10 cm se tendrá una zona muerta, que nos representa un problema en la elaboración del proyecto. La señal de este sensor fue digitalizada por medio del conversor análogo/digital que se encuentra en el ATmega 16.

Figura 7. Respuesta característica del sensor

Pruebas realizadas a los sensores analógicos.

Debido a que este sensor es analógico, este presenta una respuesta variable de voltaje y un punto ciego. El punto ciego se encuentra a distancias menores a 10 cm según las especificaciones. Se realizo pruebas de medición, utilizando para ello los conversores análogo digital del microcontrolador, una regla y un LCD donde se podía observar los valores de voltaje que proporciona el sensor. Se coloco objetos a distancias no mayores a 20cm, ya que no son muy importantes los valores medidos a distancias mayores. Se acercaban estos objetos hasta llegar al punto ciego, el cual se pudo apreciar ya que el sensor da voltajes muy variables y las medidas son totalmente erradas. En la tabla 1 se muestra las mediciones realizadas. Las pruebas se realizo con un objeto blanco.

Tabla 1. Pruebas a sensores analógicos

Page 4: PAPER Robot Evasor de obstáculos

Sensor 1 Sensor 2

Voltaje Unidad Distancia Unidad Voltaje Unidad Distancia Unidad

1.4 V 14 Cm 1.54 V 14 Cm

1.6 V 13 Cm 1.63 V 13 Cm

1.7 V 12 Cm 1.7 V 12 Cm

1.8 V 11 Cm 1.9 V 11 Cm

1.9 V 10 Cm 2 V 10 Cm

2.1 V 9 Cm 2.2 V 9 Cm

2.3 V 8 Cm 2.4 V 8 Cm

2.6 V 7 Cm 2.7 V 7 Cm

2.7 V 6 Cm 2.8 V 6 Cm

2.8 V 5 Cm 2.8 V 5 Cm

- V 4 Cm - V 4 Cm

Con las pruebas realizadas se determino que el punto ciego es inferior a los 4 cm, pero se tuvo en cuenta que estos valores dependen del color de la superficie del objeto. Además se observo que la respuesta de los sensores no son iguales pero si similares. Por lo que se trabajo con rangos de voltaje, al momento de hacer el algoritmo de control.

Problemas en los sensores de distancia utilizados

En los sensores ultrasónicos se pueden presentar problemas de distancia, ángulo, superficie y tamaño. Los cuales se representan el la figura 8. En nuestro proyecto se presento el problema del ángulo del objeto a evadir.

Figura 8. Problemas en sensores ultrasónicos

Los sensores analógicos pueden presentan problemas por la incidencia de la luz infrarroja en el objeto y por el movimiento que puede

tener en objeto a evadir. Los cuales se muestran en la figura 9. Además de estos problemas se tiene la zona ciega del sensor que ya se menciono anteriormente.

Figura 9. Problemas en el sensor GP2Y0A21YK

Driver L293D

El L293D es un driver de 4 canales para manejar dos motores DC con una corriente de hasta 1 [A], trabaja con niveles de voltaje específicos por lo que se alimento directamente de la fuente 5V, cada L293D puede manejar hasta 2 motores. Entre sus aplicaciones se encuentra el manejo de motores a pasos, motores dc, relés, solenoides.

En esta aplicación se utilizo como etapa de potencia para los motores, tiene la característica que mediante entradas digitales, pueda activar o desactivar el motor que se tiene conectado a la salida, la configuración de este se muestra en la figura 10.

Figura 10. Control de dos motores

Reguladores de voltaje LM7805:

Page 5: PAPER Robot Evasor de obstáculos

En nuestra aplicación se requiere una tensión fija y estable a un determinado valor para la alimentación del Microcontrolador, para el driver L293D y para los sensores de distancia.

Los reguladores ideales para este tipo de aplicaciones es la conocida como LM78XX. Las dos primeras letras y dos números corresponden a la denominación, mientras que las dos últimas XX deben ser reemplazados por la tensión de salida requerida, que en nuestro caso es de 5V. Cada uno de estos dispositivos posee sólo tres terminales, el terminal 1 corresponde a la entrada de tensión no regulada, el Terminal 2 es tierra y el terminal 3 es la salida regulada. Observar la figura 11.

Figura 11. Regulador de voltaje 7805

Microcontrolador ATmega16

Se utilizo este microcontrolador debido a las características que presenta y a la familiarización que tenemos con la programación y con los recursos que este dispositivo presenta. En la figura 12 se muestra la distribución de pines del microcontrolador.

Figura 12. Distribución de pines del ATmega16

Características

- Arquitectura Avanzada RISC

- 131 instrucciones. La mayoría de un solo ciclo de reloj de ejecución.

- 32 registros de trabajo de 8 bits para propósito general.

- Capacidad de procesamiento de unos 20 MIPS a 20 MHz.

- Multiplicador por hardware de 2 ciclos

- Memorias de programa y de datos no volátiles de alta duración

- 16 K bytes de FLASH auto programable en sistema

- 512B/ bytes de EEPROM

- ADC de 10 bits y 8 canales

- Un Timer/Contador de 16 bits con prescalamiento separado, modo Comparación y modo de captura.

Movimientos ejecutados por el carro evasor

El carro evasor de obstáculos se mueve de acuerdo a los datos entregados por los sensores, datos que son procesados por el microcontrolador. Cuando un sensor detecta un obstáculo, el microcontrolador le asigna un número. Con estos números se crean condiciones de operación con las cuales se comandara al puente H, el cual va hacer mover a los servomotores. Las condiciones de operación se pueden observar en la tabla 2. Los movimientos realizados por los servomotores se puede observar en la figura 13.

Tabla 2. Condiciones de operación

CONTROL DE MOTRES

CONDICIÓN SENSOR

DETECTADO MOVIMIENTO

0 0 Frente

2 Frente Izquierda

4 Izquierda Derecha

5 Derecha Izquierda

6 Frente-Izquierda

Derecha

7 Frente-Derecha

Izquierda

9 Izq-Der-Cent Retro

11 Izquierda-Derecha

Retro

Page 6: PAPER Robot Evasor de obstáculos

Figura 13. Movimiento de los servomotores

SOFTWARE

La solución por Software del carro evasor fue muy sencillo de realizarlo ya que se hizo creando subrutinas que son llamadas por el programa principal. A continuación se presentan tanto el programa principal como sus subrutinas.

Se presenta a continuación el diagrama de flujo correspondiente al programa principal y sus respectivas subrutinas.

Programa principal:

En el programa principal se configura los puertos como entradas y salidas, se define variables a utilizar, se configura en conversor ADC y el Timer 1. Luego se espera que se dé un pulso de inicio en el carro evasor para iniciar su funcionamiento. Si se da el pulso se realiza las subrutinas de lectura de sensores, luego se determina condiciones de operación y se realiza la subrutina de control de motores. Termina con esta subrutina y vuelve a repetirse el ciclo desde la subrutina de lectura de sensores. Ver figura 14.

Figura 14. Programa principal

Subrutinas de los sensores:

Sensor 1: sensor de ultrasonido

Se encera el valor de la variable asignada a este sensor, se activa el sensor, se espera que el sensor envíe las ondas de ultrasonido y se espera el tiempo que se demora el eco. Luego se lee el dato y se hace una conversión de tiempo a distancia, este valor va a ser evaluado para ser considerado como condición de operación. Ver figura 15.

Page 7: PAPER Robot Evasor de obstáculos

Figura 15. Subrutina sensor ultrasónico

Sensor 2 y 3: Sensores analógicos

Debido a que los dos sensores son iguales, solo se describirá el funcionamiento de uno de ellos. Se encera el valor de la variable asignada a este sensor, se inicia la conversión A/D, se lee el valor de la conversión y se

convierte a voltaje. Este valor va a ser evaluado para ser considerado como condición de operación. Ver figura 16.

Figura 16. Subrutina sensor analógico

Subrutina del control de los motores:

En esta subrutina se verifica la condición que se obtuvo después de haber leído los sensores. Si no se encontró un obstáculo el carro se dirigirá hacia el frente y si detecto obstáculos el carro girará o retrocederá según la condición que se obtuvo. Ver figura 17.

Figura 17. Subrutina control de motores

En la siguiente tabla se muestra las condiciones tomadas para el control de los motores.

Tabla 3. Control de motores

CONCLUSIONES

CONTROL DE MOTRES

CONDICIÓN SENSOR DETECTADO MOVIMIENTO

0 0 Frente

2 Frente Izquierda

4 Izquierda Derecha

5 Derecha Izquierda

6 Frente-Izquierda Derecha

7 Frente-Derecha Izquierda

9 Izq-Der-Cent Retro

11 Izquierda-Derecha Retro

Page 8: PAPER Robot Evasor de obstáculos

Debido a la zona muerta de los sensores, en ocasiones el robot se choca, esto se soluciona comprando sensores del mismo tipo pero de mejor calidad o utilizando sensores de otro tipo.

La parte esencial de nuestro proyecto son los sensores por lo que se debe tener en cuenta los rangos deseados para la detección de objetos, es importante porque se debe calibrar las distancias de los tres sensores ya que también depende del ángulo en el que están colocados en el robot.

El uso de servo motores nos permite tener un mayor torque en las ruedas del robot, esto es útil en los giros donde se necesita que el evasor gire sobre su propio eje.

Se concluyó que un sensor ultrasónico es más adecuado que un sensor fotoeléctrico para la implementación de un proyecto de este tipo debido a que tiene una menor zona muerta y a que brinda un mayor rango de detección. La desventaja de un sensor ultrasónico frente a un fotoeléctrico es el costo.

Se recomienda colocar más sensores fotoeléctricos alrededor del robot para mejorar el problema de la zona muerta de cada uno de los sensores.

Se recomienda colocar algún material con base de goma en las ruedas para mejorar la tracción de las ruedas y darle un mejor rendimiento en cuanto a desplazamiento.

Se recomienda trabajar en un rango de distancias un poco alejado del punto crítico próximo a la zona muerta para evitar problemas en la detección de los objetos.

Se recomienda utilizar baterías de celular debido a su mayor duración con respecto a las baterías comunes de 9 voltios, esto permite una mayor independencia del robot.

Se recomienda utilizar un puente H para obtener un mejor control del sentido de giro y de la velocidad de los motores.

Se recomienda regular la velocidad del robot dependiendo de los sensores conectados para evitar que realice giros muy bruscos y entre en la zona muerta de los sensores laterales.

BIBLIOGRAFIA

Hojas de especificaciones y otros documentos.

Datasheet L293D.

Datasheet ATMEGA16.

http://www.monografias.com/trabajos31/robotica/robotica.shtml#concept

http://www.robodacta.com

http://www.solaris-digital.com

http://perso.wanadoo.es/luis_ju/ebasica2/mcc_03.html

http://www.agelectronica.com

http://www.atmel.com

http://www.servocity.com/~servo/html/hs-311_standard.html

BIOGRAFIAS

MAURICIO RODRÍGUEZ

Nació en Quito el 24 de enero de 1988. Realizo sus estudios primarios en la escuela Roberto Espinoza en el valle de

Tumbaco. Curso la secundaria en el en el Colegio Técnico Salesiano Don Bosco. Donde obtuvo el título de Bachiller Eléctrico y Electrónico. Actualmente cursa el séptimo semestre en la Facultad de Ingeniería Eléctrica y Electrónica de la Escuela Politécnica Nacional, Especialización Electrónica y Control.

MARCELO CHÁVEZ

Nació en Quito el 24 de octubre de 1987. Realizó sus estudios secundarios en el Instituto Técnico Superior Don Bosco, obtuvo el título de bachiller

técnico en la especialidad de electroelectrónica en el año 2005. Áreas de interés: robótica, automatización, microcontroladores, instrumentación.

Page 9: PAPER Robot Evasor de obstáculos

BELEN NONO

Nació en Quito el 20 de enero de 1988. Realizo sus estudios secundarios en el colegio experimental “24 de Mayo”, obtuvo el título de

bachiller en la especialidad Físico Matemático. Actualmente cursa el séptimo semestre en la Facultad de Ingeniería Eléctrica y Electrónica de la Escuela Politécnica Nacional, Especialización Electrónica y Control.

MARCO MOLINA Nacido el 1 de agosto de 1987, cursó su instrucción primaria en la Escuela

"Simón Bolívar" de Latacunga. Sus estudios Secundarios los realizó en

el Instituto Tecnológico Superior "Ramón Barba Naranjo", Actualmente cursando el séptimo semestre en la Facultad de Ingeniería Eléctrica y Electrónica de la Escuela Politécnica Nacional, Especialización Electrónica y Control.

JAVIER CASTRO Nacido el 14 de Abril de 1986, Sus estudios Secundarios los realizó en el Instituto Instituto Tecnológico Central Técnico, Actualmente

cursando el séptimo semestre en la Facultad de Ingeniería Eléctrica y Electrónica de la Escuela Politécnica Nacional, Especialización Electrónica y Control.