Академический Документы
Профессиональный Документы
Культура Документы
Nombres y apellidos:
Mara Enid Pineda Rivas Vanessa Uchuari Katherine Llanes
TEMA: ROBOT SEGUIDOR DE LINEA NEGRA OBJETIVOS: Construir un robot que siga una lnea negra utilizando sensores infrarrojos va puerto serial y que supere un recorrido definido en donde se encontrara son curvas, bifurcaciones y rectas: todo esto a partir de algoritmos claros, preciso, finitos. ESPECFICOS: Adicionar una especie de aleta con el fin de detectar y quitar objetos del camino con ayuda de un sensor de ultrasonido. Lograr manipular el robot en caso de bifurcaciones o manchas de modo que sea el usuario el que elija la direccin del robot Implementar algoritmos1 eficientes y claros dentro del lenguaje C++. Lograr la interaccin Usuario-PC para controlar el robot con ayuda del puerto serial HERRAMIENTAS: Hardware para su funcionamiento necesitara: Un Micro controlador PIC 16F819.- Tarjeta de control: contiene un micro controlador que se encarga de tomar el control del motor y las decisiones que debe de realizar el robot. Su cdigo debe ser escrito en lenguaje de programacin orientada a micro controlador PIC y existen varias opciones como por ejemplo: C++, phyton o java.
www.wikipedia.com/microcontroladores
Tres sensores infrarrojos detectores de lnea a 5mm del piso (QRD1114).- esta parte se encarga de detectar la lnea que debe de recorrer el robot. Al igual que el motor, existe diferentes tipos de sensores que se diferencian por su costo; los ms baratos y asequibles son los sensores infrarrojos; los cuales estn formados por un fototransistor y por un LED infrarrojo. J.E. Barco, L.E. Imbacuan, G. D.
Ordoez 1. Sensor infrarrojo
Dos motores de paso2.Un motor paso a paso (o PAP) es un dispositivo electromecnico capaz de convertir una serie de impulsos elctricos en desplazamientos angulares discretos. Esto significa que, a diferencia de un motor convencional (que gira de forma continua), es capaz de avanzar una serie de grados (o
1 2
Algoritmo.- la serie de pasos que se siguen para resolver un problema Motores de paso.- Se crey conveniente cambiar los servo motores por los motores paso a paso porque estos giran 360 mientras que los servos solo giran 180 y para que giren 360 hay que modificarlos
www.robotica.com/motor pasoapaso 1
pasos) a la vez, dependiendo del estado de sus entradas de control. Un motor paso a paso se comporta de la misma manera que un convertidor digital-analgico y puede ser gobernado por impulsos procedentes de sistemas lgicos, tales como microcontroladores u ordenadores.
USUARIO
Puerto serial
PC
Algoritmos de envi y recepcin
PIC
Algoritmos de control
HARDWARE
Interfaz amigable
Mdulos principales: para poder cumplir nuestros objetivos desarrollaremos los siguientes mdulos principales:
Envio-Recepcion de datos
Control de recorrido
Deteccin de obstculos
Envio-Recepcion de archivos
Control de recorrido
Deteccin de obstculos
Los algoritmos secundarios han sido divididos como describimos anteriormente para que haya una mejor comprensin de los mismos, a continuacin se detallara los mdulos secundarios. Descripcin del primer modulo principal: Configuracin del PC y del puerto serial Envi y recepcin de datos Diseo de la interfaz amigable
Inicializacin de variables ruta=1 //significa que esta en la ruta correcta variables :bandera //respuesta si hay o no comunicacion COM1 (PC)
configurar comunicacion del COM1 mediante el puerto serial: velocidad = 9600 bandios (bits/s) nmero de bit = 8 bits de parada = 1 control de flujo = OFF Pariedad ninguna
Fin
Inicio(Desarrollo_interfazamigable_interraccion_PCUsuario(tramsmicion de ordenes)
Llamar a GUI (biblioteca grafica de C++) Detectar posicin del MOUSE Ir a cordenadas de flecha izquierda Trazar cuadro Pintarlo guardar en variable izquierda Ir a cordenadas de flecha derecha Trazar cuadro Pintarlo Guardar en variable derecha Ir a cordenadas de flecha adelante Trazar cuadro Pintarlo Guardar en variable adelante Ir a cordenadas de flecha atras Trazar cuadro Pintarlo Guardar en variable atras Ir a cordenadas de flecha salir Trazar cuadro Pintarlo Guardar en variable Salir
Transmitir la orden por puerto serial: //Interaccion PC-usuario Compracin con constantes
De otro modo
1. izquierda
2. derecha
3. atras
Fin
Descripcin del segundo modulo principal: Control del recorrido en lnea recta y curvas Deteccin de bifurcaciones y machas
Verificar sensores de reflexion infraroja Estados de los sensores Estado1="Bajo"=0 Estado2="alto"=1 Posisionar motores paso a paso (m1 y m2) en posicion ideal (linea recta) Inicializacion de sensores: s1=derecha s3=izquierda s2=central m1=motor derecho m2=motor izquierdo
m2=prendido m1=apagado
m1=prendido m2=prendido
m1=prendido m2=apagado
Fin
Si
Repetir
Leer respuesta
Caso1. (derecha)
Caso 3 (izquierda)
m2=prendido m1=apagado
m1=prendido m2=apagado
Fin
sensor ultrasonido =s4 Estados de deteccion: S4=1 (objeto detectado) S4=0 (no detectado) Inicializar variable del servomotor m3
Mientras Si (s4=1) hacer Si activar m3 hasta quitar objeto regresar a posicion inicial
DESCRIPICION DE SU FUNCIONAMIENTO En cuanto al recorrido todo el recorrido que hace el robot4 es dirigido por los sensores; los cuales rastrean la lnea negra del suelo. Los rastreadores suelen tener ms de 2 sensores (en nuestro caso tres) los cuales estn localizados en la parte inferior del robot a 5mm del suelo. Estos sensores trabajan de una forma muy peculiar: cuando uno de los sensores detecta el color blanco significa que la estructura se est saliendo de la lnea negra, cuando esto ocurre los sensores mandan pulsos elctricos al PIC el cual despus de una conversin analgica y por medio del lenguaje detecta la seal y enva ordenes a los motores paso a paso para que corrijan su curso y vuelvan a la trayectoria deseada esto generalmente sucede en las curvas, adems se deber destacar que cuando este en el curso correcto el sensor central estar sensando. En cuanto a las manchas: cuando el robot llegue a la mancha los tres sensores estarn sensando y el usuario por medio de la interfaz amigable le podr guiar por donde debe desplazarse todo esto dentro de la mancha. En cuanto a las bifurcaciones: es un procedimiento similar al de las manchas el usuario tiene total control sobre el robot. Cabe destacar que esto solo sucede en bifurcaciones y
4
Robot, mquina controlada por ordenador y programada para moverse, manipular objetos y realizar trabajos a la vez que interacciona con su entorno.
manchas; en lneas rectas si intentamos desviarlo no lo conseguiremos porque dejara de ser un seguidor de lnea negra. En cuanto a la deteccin de objetos: para lograr la deteccin se usara un sensor ultrasonido que tiene 4 patillas cuando el robot est en marcha, este sensor por medio de la reflexin de ondas de sonido detecta el objeto la distancia a la que detectara los objetos deber ser calibrada y puede ser de 3cm a 5cm, cuando esto sucede se le enva la orden al servo motor que gire 180 y luego regrese a la posicin inicial de este modo se quitaran los objetos u obstculos, los servos se activan por medio de pulsos si le da el mximo pulso gira los 180 y para que regrese a su posicin inicial es algo similar. Desarrollo de algoritmos Solo se detallaran los subprogramas, la razn de hacer algoritmos y flujo gramas es porque los flujo gramas son ms sencillos de entender, pero los algoritmos son ms fciles de traducir a lenguaje de alto nivel. Primer modulo: se detallaran dos subprogramas Primero: 1. 2. 3. 4. 5. Proceso envio-recepcin de PIC <-> PC Inicializacin de variables ruta=1 //significa que esta en la ruta correcta variables :bandera //respuesta si hay o no comunicacion COM1 (PC) Mientras {bandera =ERROR} Hacer { abrir COM1 bandera =OK } 6. FinMientras configurar comunicacion del COM1 mediante el puerto serial: velocidad = 9600 bandios (bits/s) nmero de bit = 8 bits de parada = 1 control de flujo = OFF Pariedad ninguna //comprobacion de que es correcto el dato recido o //enviado va al final de los bits y luego el bit de parada 7. FinProceso
Segundo: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Proceso Desarrollo_interfazamigable_interraccion_PC-Usuario(tramsmicion de ordenes) constantes derecha, izquierda, delante, atras, salir variable rta Inicializar modo grfico Llamar a GUI (biblioteca grafica de C++) Detectar posicin del MOUSE Ir a coordenadas de flecha izquierda Trazar cuadro Pintarlo guardar en variable izquierda Ir a coordenadas de flecha derecha Trazar cuadro Pintarlo Guardar en variable derecha Ir a coordenadas de flecha adelante Trazar cuadro Pintarlo Guardar en variable adelante Ir a coordenadas de flecha atrs Trazar cuadro Pintarlo Guardar en variable atrs Ir a coordenadas de flecha salir Trazar cuadro Pintarlo Guardar en variable Salir Transmitir la orden por puerto serial: //Interaccin PC-usuario Comparacin con constantes Si (hay click ) Entonces { Guardar en variable rta posicin (x,y) } 30. FinSi 31. Segun (rta) Hacer { 1. izquierda envie orden girar izquierda } { 2. derecha envie orden girar derecha
} { 3. atras envie orden ir atras } De Otro Modo: { Ir a control de linea recta } 32. FinSegun 33. FinProceso Segundo modulo principal: son dos submdulos Primero: //Programa para el control del desplazamiento en la lnea negra 1. Proceso 2. Verificar sensores de reflexin infrarroja 3. Estados de los sensores 4. Estado1="Bajo"=0 5. Estado2="alto"=1 6. Posicionar motores paso a paso (m1 y m2) en posicin ideal (lnea recta) 7. Inicializacin de sensores 8. s1=derecha 9. s3=izquierda 10. s2=central 11. m1=motor derecho 12. m2=motor izquierdo 13. Mientras (s1==1) Hacer { m2=prendido m1=apagado } 14. Finmientras 15. Mientras (s3==1) Hacer { m1=prendido m2=apagado } 16. FinMientras 17. Mientras (s2==1) Hacer { m2=prendido
6. 7. 8. 9. 10.
Proceso detectar_bifurcaciones Verificar motores m1 y m2 m1=derecho m2=izquierdo Si {s1==1 y s2=1 y s3==1} Entonces { Esperar dato de COM 1 } Sino { ir a control de lnea recta FinSi Repetir { Preguntar al usuario direccin Leer respuesta Segn (respuesta) Hacer Caso 1. ("derecha"): { m2=prendido m1=apagado } Caso 2. ("izquierda"): { m1=prendido m2=apagado } Caso 3. (adelante o atrs) { m1=prendido m2=prendido }
13. FinProceso Tercer modulo principal: referente a la deteccin de objetos 1. 2. 3. 4. 5. 6. 7. Proceso deteccion_de_obstaculos sensor ultrasonido =s4 Estados de deteccion: S4=1 (objeto detectado) S4=0 (no detectado) Inicializar variable del servomotor m3 mientras (s4=1)hacer activar m3 hasta quitar objeto regresar a posicion inicial 8. Fin mientras 9. FinProceso
Proyecto integrador de un seguidor de lnea y detector de objetos. Proyecto de la universidad de Santo Tomas. Ao 2006
METODOLOGIA La primera fase de la resolucin de un proyecto es el anlisis del problema o lo que es lo mismo la eleccin de un tema. Esta fase requiere una clara definicin, donde se contemple exactamente lo que debe hacer el programa y el resultado o solucin deseada en nuestro caso es la resolucin del robot seguidor de una lnea negra en donde hay que analizar el algoritmo e implementarlo a lenguaje de alto nivel.
Los mtodos ms eficaces para el proceso de diseo se basan en el conocido mtodo: divide y vencers, es decir la resolucin de un problema complejo se realiza dividiendo el problema en subproblemas y dividir estos subproblemas en otros de nivel ms bajo, hasta que pueda ser implementada una solucin en la computadora. Este mtodo se conoce tcnicamente como diseo modular. Nuestro proyecto tendr un programa bien diseado que tendr un modulo principal y de este se desprenden los subprogramas (mdulos de nivel ms bajo) que a su vez pueden llamar a otros subprogramas dependiendo de las necesidades. El mtodo a usar en el proyecto es el cientfico-experimental 5 La razn de utilizar el mtodo cientfico es porque en la robtica y la programacin se debe conocer y definir los conceptos cientficos como por ejemplo: que es un diodo, PIC, sensores, servos, transistores, resistores y condensadores. Adems debemos tener claro lo que es la microelectrnica y la programacin; adems se usa la observacin como principal medio para resolver las inquietudes y dudas que se presentan en la elaboracin del proyecto. El experimental porque para poder elaborar el proyecto hay que realizar varias experiencias para ir perfeccionando el modelo hasta que cumpla las necesidades del usuario. A continuacin detallaremos las herramientas que vamos a usar en las fases de resolucin: La prueba de ejecucin manual para ver si el algoritmo es consistente Comprobar si los mdulos estn bien estructurados, subdivididos y si son eficientes finitos y claros
Fases de Comprobacin Para El programa Una vez hecho el robot probar si los algoritmos logran que haga la tarea y si su masa y velocidad influyen de alguna manera o si son despreciables
Por el mtodo paso a paso el proyecto tendr las siguientes fases principales: Primero elaborar el proyecto u informe Luego realizarlo construirlo con todas las indicaciones especificadas Probar si es efectivo y si sus algoritmos son los ms ptimos para su resolucin
5
Mtodo cientfico, mtodo de estudio sistemtico de la naturaleza que incluye las tcnicas de observacin, reglas para el razonamiento y la prediccin, ideas sobre la experimentacin planificada y los modos de comunicar los resultados experimentales y tericos.
ALCANCE Y RESULTADOS ESPERADOS: El propsito del proyecto es lograr que un robot seguidor de lnea negra sigua una trayectoria trazada anteriormente en la que haya algunas situaciones en las que el robot interactu con el usuario para recibir rdenes directas de l y as superar situaciones como bifurcaciones y manchas. En otras situaciones tendr que corregir su curso para no salirse del camino haciendo uso de sus sensores y la habilidad proporcionada al PIC para que con la mayor precisin le diga exactamente lo que deben corregir a los motores paso a paso para volver a la posicin normal, esto generalmente sucede en las curvas. Cabe recalcar que una de nuestras metas es poder mejorar nuestro proyecto adicionndole un pequeo brazo capas de quitar objetos del camino que estn siendo obstculo en su trayectoria este tendr adicionado otro motor, una especie de aleta que servir para quitar objetos La lnea que deber seguir es de un ancho 2cm y funcionara con 5voltios, 3 sensores uno derecho e izquierdo y uno central, dos motores paso a paso para cada extremo un servo para la aleta con la que deshar de obstculos los mismos que sern detectados por un sensor ultrasonido que reconocer los objetos a una distancia determinada que puede ser de 2 a 5cm esto ser calibrado con anterioridad y se elegir la distancia ms apropiada. LIMITACIONES: El robot solo se guiara con rdenes directas del usuario transmitidas por el puerto serial en bifurcaciones y manchas donde por s mismo no puede elegir su trayectoria, las mismas que sern pedidas por el robot oportunamente. Quitar objetos de su camino es algo que lo har automticamente sin dejar participar al usuario, adems si el robot estando en una lnea recta recibe rdenes de desviarse no lo har porque es un seguidor de lnea negra y se desviara de nuestros objetivos BIBLIOGRAFA: [1]www.conocimientoenlinea.com/index.php?option=content&task=view&id=771http://a rticulo.mercadolibre.com.mx/MLM-29976788-proyectos-electronicos-microcontroladorpic-asesoria-diseno-_JM [2]Morgan Garavito Vsquez - mor6an1@hotmail.com Edwin Gonzales querubn Wilmer yesid granados Facultad: Ing. Mecatronica Universidad santo tomas Bucaramanga 2006 Proyecto integrador Robot seguidor de lnea con reconocimiento de objetos y Reconocimiento de espacios Presentado a: Ing. Juan Carlos Villamizar. Asignatura: Robtica II Universidad santo tomas Bucaramanga 2006 [3]J.E. Barco, L.E. Imbacuan, G. D. Ordoez, Universidad de Nario/ construccin de un Robot
seguidor de lnea
[4]Revista de electrnica y computadores /PUBLICACINES CEKIT /pagina 13 /Impresa en Colombia [5]Nell Dale universidad de Texas /Programacin y resolucin de problemas con C++/pgina 4/Impreso en Mxico [6]Nell Dale /Fundamentos de la programacin/pgina 42/Impreso en Mxico