Taller de Robótica educativa
Contenido
Introducción del proyecto
La idea principal por la que se eligió este tipo de proyecto fue por querer seguir la linea de proyectos anteriores del curso de Robótica, la cual era impartir clases en un centro educativo. En este caso se está impartiendo clases a un grupo del instituto tecnológico de informática (ITI), en el cual hay rangos diversos de edades y conocimientos previos sobre temas de robótica, programación e informática. Por lo anterior es importante trazar una linea que permita que todos se sientan cómodos con los temas presentados, en cuanto a dificultad. Debido a la institución, no es un tema nuevo totalmente hablar de programación, sin embargo si para algunos, los cuales toman este taller como primer acercamiento a la programación y por supuesto a la robótica.
La programación es bien sabido que ayuda a la lógica y al desarrollo de habilidades para solventar problemas, en mayor o menor medida, juntar esta disciplina con la robótica ayuda a que se pueda visualizar mas fácilmente los algoritmos desarrollados, pudiendo ver como el robot sigue las ordenes que nosotros le damos, por otro lado, si nuestra lógica es incorrecta se reflejará en una acción errónea por parte del robot. Desgraciadamente por el tema de la emergencia sanitaria no estamos pudiendo realizar el taller de forma presencial por lo que se pierde el trabajo de ellos de forma directa con el robot, lo cual es lo mas llamativo e interesante, se pierde el sentido de pertenencia, sin embargo cuando se retome ellos van a poder experimentar con el robot, armarlo y ejecutar programas.
Modalidad de trabajo
La problemática que se alza por encima de las demás con diferencia es la virtualidad, lo ideal seria que ellos pudiesen experimentar con el robot, sin embargo hasta no retomar la presencialidad esto no es posible. Por tanto para poder llevar adelante el taller por lo que se optó fue de hacerlo de forma virtual, presentando proyectos con el robot y esperando a la presencialidad para que pudiesen ellos poner en practica lo aprendido con el mismo. Sin embargo se usaron otros entornos para emular el desarrollo con el robot.
Las clases son dadas los días Sábado, de 08:00 a 10:00, a través de Google Meets, se utilizan presentaciones de Power Point para exponer los temas que se trataran en la clase y entre medias de esto se realizan ejemplos en el ambiente que se este trabajando en ese momento. Si hay que mostrar algo del robot se hace con la cámara de la computadora, como armarlo por ejemplo, si es necesario verlo en funcionamiento se utiliza la cámara del celular con un usuario propio metido en la sección.
Materiales para la realización del proyecto
El material principal es el Butiá, dado a que en torno a él gira el taller. Debido a la virtualidad otro material necesario es un ordenador y conexión a internet. El ordenador debe contar con distribución Linux dado que en este sistema corre TurtleBots.
A futuro para la presencialidad se necesitarán mas Butiá's para que los estudiantes puedan intervenir en el taller.
Clase 1
En esta clase se presentó el taller, se dieron pautas de trabajo y objetivos del mismo.
Se presentó el robot Butiá y sus componentes, antes de esto se preguntó a los estudiantes si conocían robots y si podían nombrarlos.
Se presentaron en los componentes del Butiá los sensores y actuadores, se expuso las características de cada uno de los sensores y ser preguntó posibles usos para ellos. Para los actuadores se presentó el motor, dado a que es el que vamos a estar trabajando, y se expuso la misma pregunta que para los sensores.
Se presentó el primer ambiente de trabajo el cual es TurtleBots, se dijo la razón de su elecciñon y se explicó que era.
Se presentó el segundo ambiente de trabajo el cual es OpenRoberta, el cual se usará debido a la virtualidad, dando la oportunidad de hacer seguidores de linea y evitar colisiones. Nuevamente se explico el por que de su elección.
Se presentó el lenguaje Python el cual vamos a estar trabajando al finalizar los otros dos entornos, se explico algunos programas que se realizarían y que era el lenguaje en rasgos muy generales.
Debido a que se trabajaría con TurtleBots, se necesita del entorno de desarrollo Linux o en su defecto una maquina virtual, se explicó al final de la clase como instalar la maquina virtual con Linux o en su defecto el que quisiese pudiera hacerlo a través de la BIOS.
Clase 2
En esta clase la idea era que todos ya contaran con la máquina con su entorno Linux y TurtleBots instalado. Se presento el primer ambiente de desarrollo, se profundizó en que era y el por que de su elección. Se presentaron las paletas que maneja TurtleBots, la primera que se trabajó fue la paleta de movimientos de la tortuga, se mostraron los bloques por medio de una presentación de Power Point y se incitaba a la participación de los estudiantes preguntándoles que era cada bloque, se propuso como desafío en TurbleBots generar cuadrados y triángulos.
Se presentó la paleta de operadores de flujo, se ejemplificó los diferentes ciclos y condicionales, y se puso énfasis en el bloque "esperar", junto con esta paleta se mostró la de operadores numéricos, lo que nos permitió dar vida a los ciclos y condicionales. Se ejemplificó el funcionamiento de los booleanos por medio de los operadores relacionales de la paleta de operadores numéricos y se explicó los operadores lógicos por medio de una tabla de verdad. Ya conociendo los ciclos y los operadores numéricos se necesitaba poder optimizar el código para que no fuese tan largo y repetitivo, para esto se presento la paleta de funciones, la cual nos permitió reutilizar código ya escrito, se presentó el mismo ejemplo del cuadrado pero utilizando una función que lleve ese nombre.
Se hicieron programas con el bloque de variables, se explicó que era una variable y se ejemplificó por medio de programas, esta vez el ejemplo del cuadrado debía tener un tamaño dado a partir de una variable creada por los estudiantes. A partir de acá se realizaron un par de ejercicios con la tortuga, se presentó la ultima paleta que es la que se usa para que la tortuga pueda dibujar.
Se realizó un programa que haga que la tortuga dibuje, estilo lápiz de paint.
Se realizó un programa que imita el balde de pintura de paint, la tortuga dibuja un cuadrado y lo rellena del color que nosotros indiquemos.
Se realizo un programa para hacer un cohete, por medio de cuadrados y triángulos, utilizando todo lo aprendido anteriormente.
Se finalizo la clase realizando un programa que permitiese que la tortuga "copiara" en pantalla una imagen extraída de una carpeta (se presento para esto la paleta respectiva), como si fuese una impresión, una vez realizado este programa, se incitó a que los estudiantes a realizar una modificación al código para que sin importar la imagen dada el resultado de la copia fuese visualizado en forma de triangulo, y luego para un circulo.
Para terminar la clase, se armó el robot Butiá a través de la cámara de la computadora.
Clase 3
Pendiente (Sábado 26)
Próximas clases
Esto es un boceto de lo que serán las próximas clases:
Clase 3: Continuamos trabajando con TurtleBots, pero utilizando el robot Butiá, haremos programas con él, detector de caída, seguidores de línea, detector de objetos, censar con los sensores entre otros.
Clase 4: Si queda algo se contiuará con lo que quede de TurtleBots, al finalizar, se introducirá OpenRoberta, se presentaran los bloques y algunos ejemplos del ambiente. Se pondrá como tarea realizar algunos programas para que el robot en la simulación realice tareas.
Clase 5: Se corregirán los ejercicios planteados en OpenRoberta, se les dará una solución y se introducirá el lenguaje Python. Se explicará desde cero, se dejarán tareas para que se practiquen los conocimientos planteados. (Variables, condicionales, ciclos, arreglos, funciones)
//A PARTIR DE ACÁ SE ESPERA TENER PRESENCIALIDAD//
Clase 6: Se continuará con el lenguaje Python, se espera que la clase anterior se haya dado lo básico del lenguaje, con esto se realizaran algunos programas básicos sobre el lenguaje. Se introducirá la API de Butiá y algun programa con esta.
Clase 7: Se continuará con programas sobre el Butiá, se realizaran los programas hechos en TurtleBots, si da el tiempo se realizara el encoder.
Clase 8: Se espera que sea una clase presencial para que ellos experimenten con el robot y puedan realizar ejercicios con el, los planteados hasta el momento.
Clase 9: Si completamos los ejercicios planteados en TurtleBots se continuara con Python mas avanzado (clases, POO) para la realización de plugis e IA.
//A PARTIR DE ACÁ DEPENDE DE ELLOS SI SEGUIR O NO CON PROYECTOS COMO SUMO O LO RELACIONADO CON LA CLASE 9//
Conclusiones del proyecto
Por el momento el proyecto sigue siendo realizado pero las expectativas son muy buenas, los estudiantes están bastante interesados y prestan atención a los temas presentados. Personalmente me esta gustando mucho la experiencia. Se espera que quieran continuar con algún proyecto a futuro y de ser a sí sería algo muy bueno.
//Pendiente de ampliación//