Programación Robótica Básica
-
Upload
raul-fernando-martinez-oviedo -
Category
Documents
-
view
230 -
download
1
description
Transcript of Programación Robótica Básica
CÓMO FACILITAR EL APRENDIZAJE DE PROGRAMACIÓN ROBÓTICA BÁSICA, MEDIANTE EL
INTERFAZ IDEA Y MÓDULOS EN HARDWARE
Raúl Fernando Martínez Oviedo
1094925433
UNIVERSIDAD DEL QUINDÍO
FACULTAD DE CIENCIAS BASICAS Y TECNOLOGÍAS
PROGRAMA DE TECNOLOGÍA ELECTRÓNICA
ARMENIA QUINDÍO
14/03/2012
Página 1
CONTENIDO
Pág.
1. FICHA TÉCNICA…………………………………………………………………………..………….2
2. INTRODUCCIÓN………………………………………………………...
…………………...............5
3. OBJETIVO GENERAL……………….…………………………………………………….…..……..6
4. OBJETIVOS ESPECÍFICOS.………….…..………………………….……………………….…….6
5. MARCO TEÓRICO………………………………………………………………..……………….....7
5.1 Micro Procesador……………………………………………………………………………...7
5.2 Microcontrolador……………………………………………………………………………….8
5.3 Microcontroladores Pic………………………………………………………………………8
5.4 Robótica………………………………………………………………………………………..9
5.4.1 Enseñanza de la robótica…………………………………………………………....9
5.4.2 Análisis de Problemas………………………………………………………………9
5.4.3 Diseño del mundo real………………………………………………………………10
5.4.4 Programación…………………………………………………………………………10
5.3.2 Diferentes Metodologías y paquetes de enseñanza de ésta……………………………11
5.3.2.1 Flowcode 5…………………………………………………………………………………11
5.4.2.2 LEGO MINDSTORMS NXT…………………………………………………………….......12
5.4.2.3 Handy cricket…………………………………………………………………………………13
5.4.2.4 Arduino………………………………………………………………………………………14
6. METODOLOGIA……………………………………………………………………………………15
6.1 Fase 1. Creación de librerías………………………………………………………..15
6.2 Fase 2. Diseño y montaje de módulos………………………………………………15
Página 2
6.3 Fase 3. Construir un manual de usuario que permita manejar el Software y Hardware
adecuadamente…………………………………………………………………15
6.4 Fase 4. Realizar guías para la enseñanza y aprendizaje de la robótica en los colegios
técnicos de la ciudad…………………………………………………………………..16
6.5 Fase 5. Recopilar información que permita diseñar laboratorios donde interactúen
hardware y Software………………………………………………………………………………16
7. CRONOGRAMA DE ACTIVIDADES…….……………………………………………………...17
8. PRESUPUESTO Y RECURSOS NECESARIOS…...………………………………………..18
9. BIBLIOGRAFÍA…………...………………………………………………………………………..19
Página 3
FICHA TÉCNICA
Título del trabajo de
grado
¿CÓMO FACILITAR EL APRENDIZAJE DE PROGRAMACIÓN ROBÓTICA BÁSICA,
MEDIANTE EL INTERFAZ IDEA Y MÓDULOS EN HARDWARE?
Modalidad Proyecto De Grado
Involucrados
Nombre estudiante: Raúl Fernando Martínez Oviedo
Código: 1094925433
Dirección de residencia: Bogotá
Teléfono fijo: 8321092
Número Celular: 3122813023
Correo electrónico: [email protected]
Referencia familiar: Blanca Leyder Arias Esquivel
Teléfono fijo:
Número celular: 3147754732
Correo electrónico: [email protected]
Director
Nombre: Ramiro Arango
Título profesional: Licenciado en matemáticas y física
Título de postgrado: Maestría en Instrumentación Física
Teléfono fijo:
Número Celular: ¿?????????
Correo electrónico: [email protected]
1
Página 4
INTRODUCCIÓN
El presente trabajo surge a partir de la observación del entorno educativo, experiencias personales
como estudiante y de vivencias de algunos compañeros del programa de Tecnología en Electrónica,
las cuales apuntan a que las instituciones educativas técnicas de la ciudad de Armenia no cuentan
con el suficiente material de trabajo para la enseñanza de la robótica, además, no tienen una
herramienta de fácil acceso, que les brinde la información necesaria para poder realizar proyectos y
experimentar con ellos de forma física, sin necesidad de poseer un vasto conocimiento acerca de la
programación.Y no sólo las instituciones técnicas conservan esta problemática, por otro lado el
programa de Tecnología en Electrónica tiene material que no es muy práctico cuando se realizan
montajes o desarrollan prácticas.
En consecuencia se ha planteado este proyecto que consiste en implementar una metodología de
estudio para la enseñanza de programación robótica básica a la comunidad educativa en colegios
técnicos de la ciudad de Armenia, con la ayuda del software IDEA y módulos en hardware con sus
respectivas librerías de manejo, que permitan la creación de algoritmos que darán origen a un robot.;
Cabe mencionar que el proyecto no se restringe únicamente al software IDEA , y además de éste los
módulos pueden ser programados con el compilador MP_LAB y el Arduino, de tal manera que los
módulos funcionan con cualquier aplicación Arduino, ésta es una de las grandes ventajas de su
diseño.
Para esto, se ofrecerá un paquete que incluye lo dicho en el párrafo anterior. De manera que, uno de
estos módulos se cataloga como la tarjeta principal, que posee el microcontrolador PIC18F4550
“cerebro funcional del robot”, el más grande de la familia PIC18F2455/2550/4455/4550 [1], además
La placa viene pre programada con un bootloader para cargar las nuevas aplicaciones sin la
necesidad de utilizar un programador externo.Sumado a esto, como ya se había mencionado
anteriormente, el módulo principal se pueden programar usando el compilador MP_LAB en lenguaje
c o con el compilador de Arduino , para aplicaciones más complejas y menos restringidas.
El proyecto pretende aportar conocimiento a los estudiantes que decidan tomar el camino de la
programación robótica, y por ende, tener un gran soporte que les permita enfrentarse a cualquier
problema relacionado con el área, resolverlo de forma estructurada y con gran facilidad, de tal
manera que desarrollarán su pensamiento encaminado a la resolución de estos.
Página 5
OBJETIVOS GENERALES
Diseñar y construir MÓDULOS EN HARDWARE, que nos permitan implementar una metodología de
enseñanza de programación robótica básica en colegios técnicos de la ciudad junto con el interfaz
IDEA.
OBJETIVOS ESPECÍFICOS
Realizar Las respectivas rutinas de manejo y algunos programas de prueba que permita la
comunicación de LA TARJETAPRINCIPAL con el IDEA.
Diseñar y construir los módulos en HARDWARE que sean compatibles con los módulos Arduino.
Construir un manual de usuario que permita manejar el Software y Hardware adecuadamente.
Realizar guías para la enseñanza y aprendizaje de la robótica en los colegios técnicos de la ciudad.
Recopilar información que permita diseñar laboratorios donde interactúen hardware y Software.
Página 6
5. MARCO TEÓRICO
Hoy día, el entorno se mueve constantemente alrededor de las máquinas, por consiguiente nosotros
también lo hacemos; aunque para muchos no es de gran importancia, para otros si lo es,
especialmente para personas con carreras afines, como lo son los electrónicos, eléctricos,
ingenieros de sistemas, etc. Estas personas trabajan en nuevos proyectos con el fin de hacer la vida
más placentera para el ser humano, además de que contribuyen a otras ciencias.
5.1 EL MICROPROCESADOR
Desde el punto de vista funcional, un microprocesador es un circuito integrado que incorpora en su
interior una unidad central de proceso (CPU) y todo un conjunto de elementos lógicos que permiten
enlazar otros dispositivos como memorias y puertos de entrada y salida (I/O), formando un sistema
completo para cumplir con una aplicación específica.[2]
Por esto eventualmente suele confundirse el término microprocesador con el microcontrolador,
aunque estén muy relacionados, podemos decir con certeza que el primero se encuentra dentro del
segundo, además de que también hay que calcar que al microprocesador se le pueden adaptar
dispositivos periféricos - en el caso de las computadoras – como: impresoras, mouse, teclado etc.
En el siguiente subtema se hablará un poco acerca de el microcontrolador y su aplicación.
Página 7
5.2 EL MICROCONTROLADOR
Un microcontrolador es un circuito integrado digital monolítico que contiene todos los elementos de
un procesador digital secuencial síncrono programable de arquitectura Harvard o Princeton (Von
Neumann). Se suele denominar también microcomputador integrado o embebido (Embedded
Processor) y está especialmente orientado a tareas de control y comunicaciones a pequeña escala.
Gracias a su tamaño, los microcontroladores permiten empotrar un procesador programable en
diversidad de productos industriales. Por su bajo costo y reducido consumo de energía y velocidad
adaptable, resultan apropiados para innumerables aplicaciones. Además poseen mecanismos de
seguridad de funcionamiento y proporcionan protección del equipo electrónico contra copias y
modificaciones del programa no autorizados. [3]
Los microcontroladores son una maravilla en el campo del la automatización y el control, por eso son
de gran utilidad en la industria, debido a que puede controlar máquinas que realicen multiples tareas
al mismo tiempo, además pueden ser reprogramadas fácilmente. Esto hace que, en caso de avería,
el sistema pueda ser configurado de forma rápida y sin necesidad de desmantelarlo, de ésta manera
se gana tiempo y las perdidas se reducen al mínimo.
Sumado a esto, un microcontrolador es perfecto para un medio tan amplio como la robótica, ya que
por su tamaño, éste puede operar desde un robot en movimiento, de tal forma que el robot se vuelve
autónomo, y puede tomar decisiones por si solo - según su algoritmo de funcionamiento -, en este
caso, ya se convierte en un micocontrolador embebido,
5.3 MICROCONTROLADORES PIC
La marca fabricante de microprocesadores “Microchip” creó su propio grupo de circuitos integrados llamados
PIC, los cuales han invadido los mercados mundiales, gracias a su versatilidad y amplia gama,
también es de anotar que son “open Source”, lo cual constituye el factor detonante que lleva a su amplio
uso. De acuerdo a los requerimientos de cada aplicación, Microchip ofrece un tipo de PIC, es así
como los hay de gama baja, media, alta y mejorada, cubriendo asítodos los flancos de los posibles
usuarios, y llenado todas las expectativas. Es así como se conocen las familias PIC12CXX,
PIC16CXX, PIC16FXX, PIC17CXX, PIC18FXX, y PIC18VTXX. Cada una con un número de
instrucciones en particular, número de bits a procesar y un tipo de encapsulado. [3]
Página 8
5.4 LA ROBÓTICA
Realmente la palabra robot se le atribuye a Karel Capek, un escritor checo, acuñó en 1921 el
término “Robot” en su obra dramática “Rossum’s Universal Robots / R.U.R “, a partir de la palabra
checa robota, que significa servidumbre o trabajo forzado. El término robótica es acuñado por Isaac
Asimov, definiendo a la ciencia que estudia los robots. Asimov creó también las tres leyes de la
robótica. [4]
Actualmente en algunas películas de ciencia ficción, existen grandes máquinas metálicas que son
llamadas robots y realizan trabajos asombrosos, que en la vida real seria muy descabellado llegar a
ver. Pero necesariamente no somos tan ajenos a esto; En nuestro entorno diario, es decir, la vida
común, estamos rodeados de “Robots” que la hacen mas placentera, es cierto, aun no vuelan por los
aires con super fuerza y ni preparándonos el desayuno, ni realizando los quehaceres de nuestro
hogar, Pero poseemos máquinas similares que hacen casi todo nuestro trabajo, por esto no estamos
muy lejos de llegar a construir máquinas como las que nos presentan las películas; y con la ayuda
de los microcontroladores se podrá alcanzar proyectos inimaginables.
5.3.1 Enseñanza de la Robótica
La robótica es una forma de enseñar ciencia a las personas de diferentes edades, ya que incluye
cualquier área de las ciencias según sea el enfoque; además de que es interactiva desarrolla
algunas capacidades y promueve ciertos aspectos como:
5.3.2Análisis de Problemas:
La Robótica anima a los estudiantes para tener una mirada amplia a la situación y determinar con
precisión cuál es el problema que necesita ser resuelto. Aplicaciones del mundo real se encuentran
con facilidad, dando a los estudiantes contexto de su proyecto. Antes de que pueda iniciarse la
Página 9
construcción, los estudiantes deben identificar "lo que se necesita cumplir con este robot". Con esto
en mente, ¿cómo debería ser el robot que necesito para ponerlo al servicio de estos? [5]
5.3.3 Diseño en el mundo real:
Con una aplicación en mente, y una idea de la aplicación, los estudiantes ahora pueden comenzar el
proceso de diseño. Esta etapa ofrece grandes recompensas para los estudiantes como los que
producen realizaciones físicas de las ideas conceptuales. Hay un montón de oportunidades para el
perfeccionamiento y mejora a medida que descubren errores en sus planes y problemas que nunca
habría considerado durante la etapa de diseño. Los prototipos se construyen y se descartan
rápidamente con las lecciones aprendidas, esto es un progreso de los estudiantes hacia una
solución óptima. Los recursos deben ser gestionados y el compromiso entre forma, función y costo.
[5]
5.3.4 Programación:
Hay una variedad de lenguajes de programación disponibles para la robótica, desde los entornos de
desarrollo gráfico para lenguajes basados en texto. Conocimientos del programa, enseñar a los
estudiantes a pensar de manera lógica y considerar múltiples situaciones, a medida que aprenden
que un robot hace exactamente lo que se le dice, ni más ni menos. Información de una variedad de
sensores deben ser procesadas y tratadas de manera lógica y al igual que con la fase de diseño,
hay una amplia oportunidad para el ensayo y error, con esto los estudiantes pueden afinar sus
robots para hacerlo funcionar en su mejor momento. [5]
Página 10
Debido a la importancia de enseñar robótica, existen diversas tecnologías que han querido facilitar y
promover el desarrollo de nuevos proyectos, como lo son las siguientes:
5.4.2 Diferentes Metodologías y paquetes de enseñanza de ésta
5.4.2.1 Flowcode 5
Flowcode software permite a las personas con poca o ninguna experiencia en programación para
crear complejos sistemas electrónicos en cuestión de minutos.
Flowcode está disponible en 20 idiomas y es utilizado por miles de ingenieros y educadores. [6]
Figura1. Módulos o tarjetas de aplicación (E-blocks).
Página 11
5.4.2.2 LEGO MINDSTORMS NXT
LEGO MINDSTORMS NXT está de vuelta y mejor que nunca: los nuevos modelos, más
personalizable de programación y tecnologías completamente nuevas! MINDSTORMS NXT 2.0
combina la versatilidad del sistema de construcción de LEGO con todas las nuevas tecnologías, un
ladrillo microprocesador inteligente e intuitiva de arrastrar y soltar de software de programación. El
nuevo kit de herramientas 2.0 cuenta con todo lo que necesitas para crear tu robot por primera vez
en 30 minutos y luego miles de otras invenciones robótica que hacer lo que quieras. [7]
Figura2.Lego Mindstorms nxt.
Página 12
5.4.2.3 Handy cricket
El cricket es un equipo pequeño, que se puede programar usando Logo.
Puede controlar los motores y las luces con el cricket.
El cricket puede recibir información de los sensores, como sensores táctiles y sensores de luz.
Los cricket pueden "hablar" el uno al otro, el envío de mensajes a través de infrarrojos (IR).
La gente ha utilizado cricket para construir pequeños robots, caballos mecedores animados, cajas
automáticas de regalo, y otros juguetes animados de carácter personal.
La gente ha utilizado cricket para recoger un montón de lecturas de temperatura y verlas más tarde.
Los crickets se han desarrollado en una importante universidad de investigación y ahora están a
disposición del público. [8]
Figura3. Tarjeta, Handy cricket.
Página 13
5.4.2.4 Arduino
El sistema Arduino desarrollado en Italia está basado en el microcontrolador ATmega168 o el
ATmega328 de Atmel, este sistema cuenta con comunicación USB para el computador, 14 pines de
entrada/salida digital, 6 pines de entrada analógica. Este sistema es tal vez uno de los más utilizados
actualmente para desarrollar prototipos de una manera fácil y rápida.[9]
Figura4. Sistema Arduino.
Página 14
METODOLOGÍA
Fase 1. Creación de librerías:
Como primera instancia se pretende crear las librerías correspondientes a cada módulo que
comuniquen el IDEA con el microcontrolador.
Para esto se llevaran a cabo las rutinas en el compilador MP_LAB, posteriormente serán acopladas
al IDEA de manera tal que el programador no conocerá el código fuente, esto evita posibles
inconvenientes más adelante.
En caso de no usar el IDEA, la tarjeta principal puede ser programada directamente con otro
compilador. (MPLA_B y Arduino)
Fase 2. Diseño y montaje de módulos:
Diseñar el circuito de cada módulo:
-Etapa de potencia motores
-Motor paso a paso
-Servo motor
-Módulo principal (ésta tarjeta contiene el microcontrolador)
Estos serán realizados en el programa EAGLES, guardando así la filosofía Arduino, y
posibilitando que los módulos físicos funcionen para proyectos Arduino y viceversa.
Luego serán impresos y montados en baquelas los respectivos circuitos.
Fase 3. Construir un manual de usuario que permita manejar el Software y Hardware adecuadamente:
Página 15
Se recopilará la información necesaria en una guía para que el usuario lo use adecuadamente, de
esta menera evita el mal uso que conlleve a su deterioro.
Fase 4. Realizar guías para la enseñanza y aprendizaje de la robótica en los colegios técnicos de la ciudad:
Estas guías serán el resultado de una investigación, en donde se planteará la metodología
más adecuada para la enseñanza de la robótica en colegios técnicos de la ciudad de
Armenia. Por consiguiente los estudiantes tendrán el suficiente conocimiento para realizar
sus propios diseños
Fase 5. Recopilar información que permita diseñar laboratorios donde interactúen hardware y Software:
Diseñar laboratorios que permitan que el programador se familiarice con el proyecto, en éstos
laboratorios, él aprenderá a usarlos adecuadamente, además de que podrá interactuar con ellos,
construir sus propios proyectos y verlos funcionar inmediatamente.
Página 16
1. CRONOGRAMA DE ACTIVIDADES
Tiempo
Fase
Mayo Junio
1 2 3 4 1 2 3 4
1 X
2 X X X
3 X
4 X
5 X
Página 17
PRESUPUESTO Y RECURSOS NECESARIOS
Cantidad Material Precio en pesos ($)
1 Motor paso a paso C.C $ 18.000
1 Servo motor C.C $ 50.000
2 Puente H l293b $ 10.000
6 Capacitores 0.1 microfaradios $ 1.200
12 Diodos zener de 3.5 voltios $ 3.600
5 Leds Rojos $ 1.000
5 Lesds Azules $ 1.500
1 1m Correa $ 600
1 Base de 8 pines $ 1.000
3 Baquelas vírgenes 1 capa 10cm x 8cm $ 7.500
1 Baquelas vírgenes doble capa 10cm x 8cm $ 4.500
Imprevistos 10% del total
Página 18
TOTAL presupuestado $ 98.900
Los materiales que se presentan en esta tabla serán reemplazados por otros en el trascurso del
proyecto.
Bibliografía
[1] http://www.bairesrobotics.com.ar/
[2]http://books.google.com.co/books?id=vbXYgr3AdAkC&pg=PA31&dq=definicion+de+un+microprocesador&hl=es&sa=X&ei=naiuT6aHJ4qItwfWvajaCA&ved=0CDoQ6AEwAA#v=onepage&q=definicion%20de%20un%20microprocesador&f=false
[3] González Londoño Jorge Iván, Santana Caldas Obeymar. Diseño e implementación de un sistema de compensación de juntura fría para termocuplas, mediante la técnica de inserción de metal y ajuste por software [Proyecto de grado].
Universidad de Antioquia. Facultad de Ingeniería, Medellín 2010.
[4] http://www.slideshare.net/sorbivi/historia-de-la-robtica
[5] http://grupoeducativa.blogspot.com/2010/08/porque-ensenar-robotica-en-las-escuelas.html
[6] http://www.matrixmultimedia.com/eblocks.php
[7] http://mindstorms.lego.com/en-us/products/default.aspx
[8] http://handyboard.com/cricket/
[9] http://arduino.cc/es/
Página 19