Mobile y Cloud: Plataforma de desarrollo Android, experiencia de aprendizaje en Robótica



Documentos relacionados
NOMBRE DEL EXPERIMENTO AUTOR CATEGORÍA PALABRAS CLAVE QUÉ SE PRETENDE MOSTRAR? DIRIGIDO A. Construye y Controla tu Robot en un día.

Software de Simulación aplicado a entornos de e-learning

Introducción. Aprendiendo APP INVENTOR 13. Qué perfil debe tener el lector del libro? Qué aprenderé?

Dirección General de Educación Superior Tecnológica

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Capítulo 5. Cliente-Servidor.

6.2. e-learning como sustituto o como complemento a la educación presencial Plataformas e-learning en Primaria.

CAPÍTULO 1 Instrumentación Virtual

Robótica para Niños. Robótica para Niños. Programa del Taller de Robótica Educativa. Versión 2. Robot t-17. Versión 2

comunidades de práctica

App Inventor. Alejandro Correa Rodríguez Sara Rijo García.

Novedades. Introducción. Potencia

Campus Tecnológico. Innovae es una empresa española de Innovación tecnológica dedicada a la consultoría en ingeniería software desde el año 2005.

Capitulo I. Introducción

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

UNIVERSIDAD DE SALAMANCA

Ventajas del software del SIGOB para las instituciones

Programación de videjuegos

UNIVERSIDAD TECNICA DEL NORTE

TALLERES DESAFÍOS DE LA INGENIERÍA. 2do semestre 2014

Robótica Educativa. Desarrolla el trabajo en equipo Estimula el aprendizaje. Fomenta la creatividad

Nombre de la asignatura: Robótica Industrial. Carrera: Ingeniería Electrónica

Unidad didáctica: Funcionamiento de un parking. Actividad: Funcionamiento de un parking de vehículos con entrada y salida automática con:

PROGRAMACIÓN DE APLICACIONES PARA ANDROID. 30 horas 45 días

forma de entrenar a la nuerona en su aprendizaje.

Desarrollo de una plataforma de enseñanza de laboratorio para educación a distancia.

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

Clientes de XProtect Acceda a su vigilancia

Actividades KIDSANDCHIPS.es. robótica educativa. Clases de robótica y programación, música digital, cine y animación.

Tema 11: Instrumentación virtual

CONTROL Y ROBÓTICA. MECANIZACIÓN. Incorporación de máquinas para ejecutar determinadas tareas.

Qué ventajas presenta Google Drive para catedráticos y alumnos?

CAPÍTULO I EL PROBLEMA PLANTEAMIENTO DEL PROBLEMA

La netbook puede ser administrada durante su uso en el aula mediante el Software de Gestión del Aula.

E-learning: E-learning:

INTEGRACIÓN DE LA TECNOLOGÍA DENTRO DEL ÁREA EDUCATIVA

Lectura 2: El Sistema Operativo y sus Funciones

CAPITULO III MARCO METODOLÓGICO. La presente investigación plantea como objetivo el diseño de un prototipo

Teleformación na sociedade do coñecemento

TITULO: SERVICIO DE INFORMACIÓN A TRAVÉS DE UNA RED DE PUNTOS DE INFORMACIÓN ELECTRÓNICA EN ESPACIOS PÚBLICOS DE LA CIUDAD DE MADRID

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT

Grado en Ingeniería Informática

Capítulo 5. Análisis del software del simulador del sistema de seguridad

Academia de Ingeniería en Sistemas Computacionales

La actividad se tiene aplicación en diferentes contextos docentes:

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

App para realizar consultas al Sistema de Información Estadística de Castilla y León

CASO PRÁCTICO. EMPRESA: Doka España Encofrados S.A. INDUSTRIA: Encofrados, construcción.

Asociación Robótica para niños

Cursos de Robótica. Estudiantes Profesores Padres e hijos

Las TIC: una apuesta para la mejora de la educación en la Comunidad de Madrid

AUTOMATIZACIÓN - CURSO: Práctica 3: Automatización de una Puerta de Garaje mediante Arduino

Soluciones Tecnológicas

Solución para el sector distribución.

Herramientas Tecnológicas de Productividad. Sesión 12. Comunicación y colaboración online

IES JOAQUÍN ROMERO MURUBE de Los Palacios y Villafranca, Sevilla

MANUAL DE USUARIO C

COMUNIDAD DE FORMADORES DEL EMPRENDIMIENTO TECNOLÓGICO FEMPRETEC

Capítulo 3. Análisis y Diseño

PONTIFICIA UNIVERSIDAD CATÓLICA DE CHILE VICERRECTORÍA ACADÉMICA

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

Software Computacional y su clasificación

Taller de Robótica Alfonso Aniorte Carbonell I.E.S. San Isidoro

Introducción a Google Calendar Breve guía sobre algunas de sus funcionalidades destacables.

Nuevas tendencias: Virtualización de computadores / servidores

CLOUD COMPUTING. 30 h 45 días

Qué es Google Calendar? Qué se puede hacer en Google Calendar?

Educación virtual INFROMATICA ADRIAN GOMEZ ROMAN 2014/12/30

Resumen Ejecutivo. Febrero de 2014

Congreso Estatal sobre TIC en la Educación Básica

PROGRAMA ANALÍTICO. Carrera: Tecnicatura Superior en Tecnologías de la Información

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

Multimedia Educativo

Diseño de Base de Datos

CONCLUISIONES Y RECOMENDACIONES

2.- Su profesión está ligada a la carrera en la que aquí da clases? Licenciatura Ingeniería Total SI NO

Centro Universitario de Ciencias Exactas e Ingenierías DIVISION DE ELECTRONICA Y COMPUTACION

E-copistería Virtual un servicio de impresión en la nube

UF0513 Gestión auxiliar de archivo en soporte convencional o informático

CAPÍTULO VI CONCLUSIONES Y RECOMENDACIONES

1.8 TECNOLOGÍA DE LA INFORMACIÓN

DISEÑO E IMPLEMENTACIÓN DEL CONTROL REMOTO DE UN ROBOT MEDIANTE DISPOSITIVOS MÓVILES

ADAPTACIÓN AL ENTORNO OFFICE 2007

SIMULACIÓN EN TIEMPO REAL DE UNA ESTACION DE TRABAJO INDUSTRIAL ROBOTIZADA.

Laboratorio III de Sistemas de Telecomunicaciones Departamento de Telemática

UNIVERSIDAD CARLOS III DE MADRID

Capítulo 4. Implementación del lenguaje multitáctil

WINDOWS : TERMINAL SERVER

NOTA DE APLICACIÓN AN-P002. Programando Wiring con NXProg

DISEÑO Y ELABORACIÓN DE PRÁCTICAS DE LABORATORIO PARA ROBÓTICA INDUSTRIAL UTILIZANDO MANIPULADORES ROBÓTICOS KUKA

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Folleto Informativo. El Aprendizaje Combinado Lleva a una Capacitación Efectiva

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Diseño dinámico de arquitecturas de información

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado

Banca móvil para clientes corporativos

AUTORES: Lic. Mildred Figueredo Siverio * MSc. Antonio Rey Roque **

Transcripción:

Mobile y Cloud: Plataforma de desarrollo Android, experiencia de aprendizaje en Robótica Bianchi Ferreyra E. 1, Lombardero O. 1, Fernández M. 2 y Barrios W. 2 1 Departamento de Informática, 2 Departamento de Ingeniería. Facultad de Ciencias Exactas y Naturales y Agrimensura- Universidad Nacional del Nordeste, Corrientes, Argentina. bianchiferreyrae@gmail.com, oscarguillermo.lombardero@gmail.com, mirtagf@hotmail.com, waltergbarrios@yahoo.com.ar Resumen: Las rápidos avances tecnológicos han provocado cambios en las distintas ramas que componen la disciplina Informática, proliferando una variedad de herramientas que facilitan el desarrollo de aplicaciones muy diversas. Este trabajo presenta un desarrollo basado en Android, disponible en Cloud y aplicado a un proyecto interdisciplinario de robótica. Se presenta una síntesis de la construcción de un brazo robótico enfatizando en la programación de su dinámica, sobre la plataforma App Inventor. Se realizaron pruebas y ajustes sobre el mismo y al finalizar se plantean conclusiones al respecto y trabajos futuros a abordar. Palabras Claves: Electrónica e Informática. Interdisciplinariedad. Mobile. Cloud. 1. Introducción Tecnología de la Información (IT), el vehículo principal de la era de la información, ha transformado el lugar de trabajo moderno. En relación a Robótica, se debe recorrer aún caminos de construcción y concientización acerca de las bondades que las mismas prestan. En este trabajo se presenta una experiencia en el uso de tecnología simple de vanguardia en la construcción y programación de un artefacto compuesto de varias articulaciones unidas entre sí, como un brazo articulado. El mismo posee una dinámica no lineal con un fuerte acoplamiento entre sus articulaciones, lo que implica un grado de dificultad elevado en su manipulación. Se implementó el algoritmo de control del mismo, mediante una plataforma para el desarrollo en S.O. Android disponible en la Nube o Cloud, planteando el modelo cinemático a través de un dispositivo móvil, como una propuesta interesante para la concreción ideas con alto contenido tecnológico. Para ello, se indagó acerca de esquemas y componentes básicos de un Sistema Robótico [1]. Se trabajó en el diseño de los circuitos, selección de herramientas, programación del aplicativo de control, prueba de sus componentes y se obtuvieron resultados satisfactorios.

1.1. Contexto de innovación En el entorno IT de rápido movimiento, el cambio es la única constante para mantenerse competitivos en dicho ámbito. Innovar y adaptarse a los nuevos retos y las condiciones del mercado es el camino al éxito, tanto para las empresas, como la universidad. Una manera de materializar los cambios es introduciendo nuevas tecnologías (por ejemplo Cloud, Mobile, Social Media, y Big Data) [2]. En [3] se señala que si bien existe una base de conocimiento en universidades e institutos de investigación, en el área de diseño de integrados, MEMS y NEMS (Micro-electromechanical Systems y Nano-electromechanical Systems) e incluso facilidades para su análisis, producción a escala piloto y manejo físico, esta debe ser ampliada sustancialmente para acompañar el desarrollo esperado del sector electrónico. En este contexto las universidades fomentan los casos de introducción de técnicas, métodos y herramientas que coadyuven a la innovación en las diferentes disciplina; fortaleciendo la formación de recursos humanos. El software por su parte, no es tecnología de apoyo, sino que toma un papel esencial en el proceso de creación de valor, por lo que es preciso priorizar la educación en CC (Ciencia de la Computación), tanto como preparar como motivar a los estudiantes, para reconocer las potencialidades de las herramientas, para hacer un uso adecuado de las mismas, reflexionar o direccionar nuevos conocimientos y desarrollar el autoaprendizaje [4]. 1.2. Entornos de programación en bloques y justificación de las herramientas utilizadas La industria MEMS y NEMS de la actualidad requiere, amplios conocimientos en ingeniería electrónica. Por tanto, resultan interesantes los sistemas genéricos prediseñado de prueba, para simulación previa a la fabricación, con el fin de minimizar costes en las etapas ulteriores de desarrollo. El caso de Blue Control, resulta entonces propicio para su utilización en este trabajo. Además, existen plataformas de software gratuito que permiten por medio de bloques de programación, crear programas que controlan y combinan imágenes, animaciones, sonidos, e interactuar con el usuario. Ejemplo de ellos es la plataforma Scratch [5], un entorno de programación diseñados para niños, jóvenes o programadores novatos. Alice2 [6] es otra herramienta que también emplea un enfoque de bloques de construcción. Las mencionadas, entre otras, constituyen valiosos instrumentos para la introducción del pensamiento algorítmico, creatividad, destreza en la solución de problemas y están dirigidas fundamentalmente al desarrollo de habilidades de programación en niveles primarios y secundarios. A partir del estudio de las herramientas actuales; se optó por App Inventor, una herramienta disponible en la Nube o Cloud para estudiantes con conocimientos básicos en programación en niveles superiores, como alternativa novedosa y motivadora para la introducción de conceptos algorítmicos.

1.2.1. Aplicación Blue Control Blue Control es un aplicativo genérico de mando a distancia universal básico para dispositivos Bluetooth conectados mediante el puerto serial a un microcontrolador; para cada botón pulsado, envía el correspondiente código ASCII para la etiqueta o botón de la aplicación. (Fig. 1) Fig. 1. Interfaz del aplicativo universal Blue control 1.2.2. App inventor de Google App Inventor es una herramienta Web motivadora para involucrar a los estudiantes con la informática; consistente en un entorno de bloques representativos de sentencias, condiciones, bucles, variables y eventos como cualquier lenguaje de programación; mediante el conocido sistema de arrastrar y soltar (drag&drop). Posee además una interfaz amigable al usuario tal como se muestra en la Fig. 2. Permite además pensar lógicamente y solucionar problemas de forma metódica, sin gastar tiempo y esfuerzo en controles de sintaxis del que producen errores de compilación o ejecución. App Inventor es usado para desarrollo de prototipos rápidos, simples y funcionales por lo que no es descartable totalmente su uso por parte de expertos. De código abierto, a cargo del MIT (Massachusetts Institute Tecnology) cuyo objetivo es transformar la educación y el aprendizaje mediante la innovación en computación móvil [7]. Presenta la ventaja que se encuentra disponible en Cloud, lo cual implica: No requiere instalaciones, mantenimiento, actualizaciones o configuración manual. Es posible programar desde cualquier lugar, como un entorno de ejecución implícito y rápido y realizar pruebas, sin atender el servidor. Es posible compartir el código con otros desarrolladores. Además de la posibilidad de emular el dispositivo físico, cuyo funcionamiento se muestra en la Fig. 2.

Fig. 2. Funcionamiento de App Inventor. 2. Metodología La hipótesis de trabajo es que, a medida que los estudiantes trabajan en proyectos personalmente significativos, desarrollarán fluidez de manejo de nuevas tecnologías. El campo de la Robótica, es apropiado para ello, ya que de manera espontánea permite articular una enseñanza lúdica e interactiva [8]. Se estableció como objetivo el desarrollo de un trabajo interdisciplinario en la construcción de una solución ingenieril: un Robot controlable desde un Smartphone vía Bluetooth mediante una aplicación en Android. Para ello se realizó una revisión bibliográfica, profundizando en esquemas, componentes básicos, circuitos mecánicos, de control [1], [9], [10] y [11] y se realizaron una serie de tareas para la concreción del mismo. 2.1. Diseño de los circuitos En primera instancia se procedió a la construcción del brazo mecánico, una de las dificultades presentadas fue encontrar un material flexible y manipulable; se optó por un material plástico de alto impacto el cual cumplía con las condiciones impuestas. Al mismo, se anexaron los servos motores para darle movilidad. Las primeras pruebas de movilidad, se realizaron con las librerías genéricas para servos en lenguaje ARDUINO para microcontroladores, a través de las cuales se

hizo girar el brazo, empleando un potenciómetro lineal montado en un protoboard conectado a la entrada analógica de una placa ATMEGA328-PU. Se cargó el programa en el microcontrolador y se procedió a la construcción del circuito impreso como nexo entre los servos y la placa ARDUINO UNO. En una segunda instancia, se adaptó la librería genérica para el microcontrolador de la placa antes mencionada, que permite maniobrar el brazo en su totalidad. 2.2. Diseño y programación de la Aplicación para Smartphone con Android Se diseñó el aplicativo que realiza el enlace entre el dispositivo móvil y el modulo Bluetooth que se comunica con el microcontrolador. Se programó una aplicación en lenguaje Java, mediante entorno App Inventor (Fig. 3). Se tomó en cuenta el tipo de dispositivo, la interfaz de usuario, los botones y funcionalidades necesarias para ejecutar acciones tanto de movimiento del brazo, como de las pinzas de sus extremos. 2.3. Resultados Fig. 3. Bloques programados en el entorno La definición de objetivos, el estudio de materiales y sus potencialidades, permitió la construcción del brazo robótico cuyo funcionamiento general se muestra en la Fig. 4.

Fig.4 Diagrama de funcionamiento general. Se obtuvo un sistema de control a distancia, compuesto por una placa Arduino, un módulo bluetooth, un circuito con 4 relés, 3 Servo Motores, leds (Piloto, en línea, sensores de fin de carrera); manipulable un celular Smartphone con Sistema Operativo Android. La placa Arduino envía las señales para que los dispositivos periféricos, conectados a él, se accionen, enciendan y apaguen. Al ejecutarse la aplicación en Android se muestra un botón para escanear los dispositivos Bluetooth que se encuentren activos. Si el modulo Bluetooth del dispositivo Android está apagado, se solicitará encenderlo en la configuración. Se escanean los dispositivos y si encuentra la dirección MAC (Media Adress Control) del módulo Bluetooth del microcontrolador, se muestra mediante un Led azul la conexión del móvil con el brazo mecánico. Una vez completado el enlace se logró manejar las partes del brazo (articulaciones y pinza). Al pulsar cada imagen que indica la dirección a mover, apagar y encender los elementos que estén en conexión con el microcontrolador mediante la aplicación para el Smartphone programada, cuya interfaz se muestra en la Fig. 5.

2.4. Ensayos Fig. 5. Botones y funcionalidades principales de la aplicación. Las pruebas realizadas, permitieron solucionar dificultades, como el envío de órdenes desde el dispositivo móvil empleando una aplicación de uso gratuito de Android denominada Bluecontrol. Esta facilitó examinar si los datos enviados, por el puerto serie, respondían; se observó el correcto funcionamiento del brazo. Luego esta aplicación de prueba fue reemplazada por la propia creada en App Inventor. Se mejoró la interfaz de usuario de la aplicación. Incorporando funcionalidades como de abrir y cerrar las pinzas del extremo del brazo. Se realizó un enlace USB con depuración, entre el entorno App Inventor y el dispositivo móvil para que de ésta manera se observe en tiempo real la ubicación de los diferentes elementos y que cumplan con los requisitos impuestos. Se configuró luego el enlace vía Bluetooth. Se obtuvo el producto especificado en Fig. 6. Fig. 6. Brazo Robótico manipulable desde un Smartphone

3. Conclusiones Se ha indagado en diversos instrumentos o plataformas para resolución de problemas, que permiten la programación de manera sencilla y casi inmediata. En el caso planteado, la construcción de un brazo robótico, se describió el resultado logrado mediante la interacción de diversos elementos (Placa Arduino, sensores, AppInventor, dispositivos móviles, Bluethooth, etc.) han puesto en juego la intervención de un equipo interdisciplinario, compuesto por Ingenieros electrónicos e Informáticos. Desde el puno de vista de la programación de aplicaciones móviles en Android, se incorporó una innovación en la utilización de software multiplataforma en el uso un entorno de bloques de programación en robótica, se introdujeron gradualmente conceptos de variables, expresiones, manejo de estructuras de datos y la implementación de la modularidad en lenguaje Java. El equipo compuesto por electrónicos y Lic. En Sistemas trabajo interactuando e intercambiando conocimientos y practicas resultando una experiencia enriquecedora. Como trabajo futuro se pretende mejorar la interfaz de usuario incorporando el proceso de reconocimiento de voz para el envío de instrucciones, lo cual permitirá escalabilidad y complejidad en el uso de un sistema de ayuda a personas con baja o nula movilidad. 4. Bibliografía [1] Angeles, J.: Fundamentals of Robotic Mechanical Systems: Theory, Methods, and Algorithms, 3º Edition- ISBN 0-387-29412-0. 2007. [2] Cisco: Unlock the Promise of Cloud: A Strategic Perspective [3] Luppi, D.: Plan Argentina Innovadora 2020, Componentes Electrónicos, Agosto 2013. [4] Simari, G.: Los fundamentos computacionales como parte de las ciencias básicas en las terminales de la disciplina Informática, VIII Congreso de Tecnología en Educación y Educación en Tecnología, Junio 2013. [5] http://scratch.mit.edu/ [6] http://alice2.redclara.net/ [7] SCOPEO, M-learning en España, Portugal y América Latina Noviembre de 2011. [8] Lopes A. y Lopes F.: Expiriences With Educational Robotic, CACIC, Octubre 2013. [9] Ollero, A.: Robótica, manipuladores y robots móviles, Ed. Marcombo. ISBN: 84-481. 2001. [10] H. Choset, K. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. Kavraki, and S. Thrun. Principles of Robotic Motion: Theory, Algorithms, and Implementation. MIT Press, Cambridge, MA, 2004. [11] Álvarez, G., Machirán, M.A., Acosta, R.: Interfaz para el control de un robot móvil. Reporte de investigación 600. Instituto de Cibernética, Matemática y Física. Cuba. 2010.