Introduciendo la robótica a jóvenes y adolescentes

De Proyecto Butiá
Saltar a: navegación, buscar

INTRODUCCIÓN

Las últimas investigaciones han demostrado que la robótica educativa es un buen sistema de enseñanza que beneficia a los alumnos y les es útil en el desarrollo de habilidades y competencias necesarias para un futuro personal y laboral, fomentando un interés por la ciencia, la tecnología, la ingenieria y las matemáticas así como en la área de lingüística y de la creatividad.

En este caso se trabajó con chicos que van a la Universidad del Trabajo del Uruguay (UTU), en especial al Instituto Tecnológico de Informática (ITI), que comienzan a aprender sobre la programación. Esta es una excelente oportunidad para motivar a los estudiantes a aprender matemáticas y ciencias mediante la utilización y programación de robots. A pesar de ser un curso en principio virtual, se pueden obtener muchos conocimientos y herramientas del mismo.

En el bachillerato tecnológico comienzan a tomar gusto por las áreas de programación, mecánica y diseño entre otras. Con los conocimientos ya adquiridos en estas áreas más los nuevos conocimientos que fueron y van a seguir siendo desarrollados mediante este taller, los alumnos serán capaces de explotar al máximo sus capacidades a la hora de desarollar programas para los robots.

Estos programas pueden ser sencillos, pero también se pueden desarrollar otros que los alumnos consideren necesarios para ayudar en las tareas del día a día, mostrando así como los robots pueden formar parte de nuestra vida cotidiana.

Este taller los ayudará en su futuro profesional dadas las capacidades que logra desarrollar, como la resolución de problemas y el trabajo en equipo. Además los chicos al sentirse capaces de resolver distintos problemas en el área de robótica se sentirán más autónomos y mejorarán la confianza en si mismos.

La robótica ayuda a crear un buen clima de trabajo donde reina el compañerismo y el respeto, donde además se les inculca la noción de responsabilidad al tener que manipular el material ellos mismos.

MATERIALES

  • Kit Robótico Butiá
  • XO/pc con TurtleBots y el Plugin de Butia y Python
  • Sensores básicos (luz, grises, distancia y botón)
  • Cinta aisladora (blanca o negra)
  • Cartulina (negra o blanca)

PRIMER ENCUENTRO

La idea del primer encuentro era introducir la robótica a los chicos, así como el robot que vamos a utilizar, el Butiá. Para ello se utilizó una presentación. A su vez, se explicaron los conocimientos básicos de programación necesarios para manipular el robot. Se explicó el concepto de booleano, una variable que puede ser true o false, las sentencias and y or. Los bucles como repetir por siempre, for y while. Por último los condicionales if-then e if-then-else.


En la clase participaron 10 chicos y chicas de 15 años en adelante, desde el primer momento se mostraron interesados en el taller, realizando diversas preguntas, como por ejemplo, cuantos if-then-else se pueden encadenar y como se hace, cuantos and y or se pueden encadenar, entre otras. Incluso algunos de ellos ya habían trabajo con robots anteriormente, o al menos los conocían.

Por último, como íbamos a trabajar con TurtleBots y muchos no tenían un sistema Linux donde instalarlo, aprovechamos el taller y cada alumno que no contaba con sistema Linux, o una virtual machine con Linux, la instaló. Seguimos este instructivo para la instalación de la máquina virtual y luego descargamos a instalamos TurtleBots.


SEGUNDO ENCUENTRO

En este encuentro la idea fue empezar a conocer el ambiente de TurtleBots, cómo realizar programas con la tortuga y familiarizarse con la paleta Butiá. Se utilizo la siguiente presentación. Se detallaron las acciones que se pueden realizar, los comandos para la tortuga, las operaciones matemáticas que se pueden realizar. También se mostró como se ve en TurtleBots las estructuras previaente vistas como el while, for, por siempre, if-then e if-then-else. Sobre la paleta del Butiá se mostró que las opciones aparecen en verde cuando el robot está conectado, como se ven los sensores y cuántos sensores se pueden conectar.

Para mostrar como funcionan los sensores y el rango de valores en el cual trabajan, fui conectando los sensores al Butiá, tomando muestras y contándoles qué valores iba dando. Mostraba que al cambiar las condiciones (luz, distancia, color) también cambiaban los valores que reflejaba el sensor.

Luego se explicó como funcionaban las cajas en TurtleBots y se planteó un pequeño desafío en el cual la idea era realizar un cuadrado, cuyo lado valiera lo mismo que una variable llamada lado. Lo que mas le costó en este caso fue entender que al comando "derecha" o "izquierda" se le pasa un ángulo, y no cuánto debe avanzar luego de doblar a la derecha o a la izquierda. Los chicos que tenían el TurtleBots en su computadora lo hicieron de forma individual, dos alumnos que no contaban con el programa me indicaban que bloques poner y lo fuimos armando juntos.

Por último se presentó OpenRoberta, se utilizó OpenRoberta Sim para que los chicos pudieran trabajar con un simulador de robot. En principio les plantee como desafío crear un seguidor de línea para la pista que aparece predeterminada en el simulador, de forma que el robot diera una vuelta completa a la pista (sin utilizar el obstáculo que allí aparece). A continuación se puede ver la implementación de uno de los estudiantes: Alumno.png

Usó tres sensores de color para la implementación como les había recomendado, de forma que se les hiciera más sencilla. Luego de la clase se plantearon otros dos desafíos para los alumnos, lograr que el robot tenga el comportamiento de una aspiradora (trasladarse por todo el espacio sin chocarse con los obstáculos), en este caso se usaron círculos negros para representar los obstáculos: Obstaculos.png

Luego se planteó un circuito en donde el robot tenía que partir de START y llegar a GOAL, en donde los siguientes cuadrados de colores representaban "norte", "sur", "este" y "oeste". La idea es que ellos identificaran que color está relacionado con que punto cardinal, aun así, como a idea era que trabajaran programando el robot, les escribí qué color implicaba que punto cardinal para que pudieran realizar el ejercicio aunque no pudieran identificarlo por si mismos. Cuadrados.png

Esta clase se encuentra grabada y se puede acceder con el siguiente link

TERCER ENCUENTRO

Para este tercer encuentro se empezó a utilizar el robot Butiá con el TurtleBots para generar diferentes programas y conocer dos de los sensores: sensor de grises y sensor de distancia. Se utilizó la siguiente presentación. Se plantearon dos desafíos, lograr un seguidor de línea con dos sensores de grises y lograr que el Butiá ande sobre una mesa sin caerse con dos sensores de distancia.

Primero pensamos entre todos cómo tenía que ser el seguidor de línea, la idea es que el robot se mantenga en la línea blanca y siga el recorrido marcado. Luego pensamos qué sensor nos iba a permitir detectar esa línea blanca (sobre un piso marrón).

Luego de definir que vamos a usar el sensor de grises pensamos en un pseudo-código. Explicamos la importancia del comando "repetir por siempre" y nos dimos cuenta que si el sensor de la izquierda empieza a ver la línea blanca tenemos que girar a la izquierda y, en cambio, si el sensor de la derecha ve la línea blanca, tenemos que girar a la derecha.

El siguiente paso fue calibrar el sensor de grises para ver en que valor detectaba blanco y en cual el marrón. (Acá tuvimos un problema con los sensores y no lo pudimos realizar). Aún así, pensamos en un código con valores genéricos para el sensor de grises:


Grises.png

Por último planteamos un segundo desafío, la idea es que el robot ande por una mesa sin caerse. Primero pensamos entre todos cómo tenía que actuar el robot, cuando se acercara a un borde, tenía que tomar otra dirección para no caer.

Pensamos en un pseudo-código, la idea era que el robot avance y, cuando llegue a un borde, retroceda un poco y gire (en algún dirección algún ángulo). Tenemos que poner que el robot retroceda un poco porque si no, no le da para doblar sin caerse.

Le pregunté a los chicos cómo hacíamos para darnos cuenta que el robot había llegado al final de la mesa, decidimos que teníamos que usar el sensor de distancia, y como la medida que toma el sensor sobre la mesa es mucho menor a la que toma el sensor cuando está en el borde de la mesa (mirando al piso). La idea era que entonces cuando el sensor tome una medida mayor a un cierto número, retroceda y gire.

Tomamos varias medidas con ambos sensores, en principio habíamos puesto un sensor en la parte delantera y otra en la trasera, pero luego nos dimos cuenta que la mejor forma era poner ambos adelante, uno en cada costado, y llegamos al siguiente código:

Distancia.png

A continuación que un link donde se ve cómo debería funcionar el sensores de grises, cómo funciona el robot sobre la mesa y a la clase grabada.

PRÓXIMOS ENCUENTROS

Tengo planificadas al menos cuatro clases más las cuales, en principio, se desarrollarían según es detallado a continuación:

Clase 4: Introducción a Python, lenguaje de programación de alto nivel. Conceptos básicos. Comparación entre aspectos de Java y de Python. Explicación del concepto de tipado dinámico. Utilización de la API para controlar el Butiá.

Clase 5: Realización de programas con Python para controlar el robot Butiá similares a los realizados en TurtleBots.

Clase 6: Realización de programas más avanzados que no son posibles con TurtleBots pero que Python da otras herramientas para poder hacerlos. Por ejemplo, un programa que cuenta las revoluciones por minuto del Butiá para distintas velocidades.

Clase 7: Proyectos. Planteamos a los alumnos la posibilidad de presentarse en el Sumo de robótica, que son competencias a nivel nacional de Robótica en el Uruguay. En caso de que esten interesados seguiremos con esos alumnos el taller realizando un robot a fines de presentarlo en la competencia. En caso de estar interesados en otros tipos de proyecto con el Butiá también los ayudaremos a desarrollarlos en las próximas clases.


CONCLUSIONES

Aunque solo van tres clases del taller veo que los alumnos están realmente enganchados con la propuesta, a pesar de la dificultad que conlleva tener un taller de robótica virtual, los chicos se adaptaron bien a la modalidad. Luego de vacaciones de invierno la idea es poder volver a la presencialidad con ellos. Creo que volver a la presencialidad va a hacerlos enganchar más aún con la propuesta. Todos están ansiosos por poder controlar un robot ellos mismos y no usar un simulador o verlo por la camarita. Me asombró la buena participación que tienen los estudiantes y el lindo intercambio que se da todas las clases, donde plantean sus inquietudes y además intentan realizar ejercicios por si mismos. En lo personal me encantó la experiencia de dar clase en un centro educativo, me di cuenta que realmente me gusta enseñar y que los chicos se enganchen con la propuesta que planteo semana a semana.