Diferencia entre revisiones de «Taller de Robótica educativa»
(→Clase 3) |
(→Clase 3) |
||
Línea 89: | Línea 89: | ||
La cuarta y ultima es sobre un escenario dado con bloques de colores, utilizando direcciones absolutas (o relativas) lograr que al robot pasar sobre los bloques de colores, llegue hacia una linea de meta, el código debe ser replicable para ambas pistas proporcionadas. | La cuarta y ultima es sobre un escenario dado con bloques de colores, utilizando direcciones absolutas (o relativas) lograr que al robot pasar sobre los bloques de colores, llegue hacia una linea de meta, el código debe ser replicable para ambas pistas proporcionadas. | ||
− | El link a la clase es el siguiente: <youtube>AGk2GGNYjJQ<youtube> | + | El link a la clase es el siguiente: |
+ | |||
+ | <youtube>AGk2GGNYjJQ<youtube> | ||
==Próximas clases== | ==Próximas clases== |
Revisión del 17:37 26 jun 2021
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 kit de robótica 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 kits 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
En esta clase se continuo trabajando con TurtleBots, pero enfocado exclusivamente en el robot Butiá, se presentó la paleta Butiá, los bloques que lo conforman y su funcionamiento. Comprobamos que se podían colocar varios sensores del mismo tipo en el Butiá, tantos como la placa permita.
Se realizó como ejercicio la creación de un cuadrado usando el robot Butiá, se presentaron los inconvenientes que tenia esta implementación, ¿Como indicar cuánto es 90 grados?, ¿Cómo le indicamos cuánto avanzar?, se dio respuesta a estas problemáticas.
Se realizaron lecturas por parte de los sensores, se explico como calcular un umbral para hacer programas. Se utilizo el bloque "Por siempre" y el bloque "Imprimir" para generar un programa que diera infinitas lecturas del sensor conectado. Se comparó las lecturas de dos sensores iguales, notando el cambio drástico que pueden tener dos sensores sobre la misma superficie.
Estudiamos el comportamiento de los seguidores de linea, se explicó que era un seguidor de línea, tanto seguidor con un solo sensor como con dos, se realizó la codificación en TurtleBots en ambos casos, y se mostró el funcionamiento para el sensor único.
El funcionamiento para dos sensores quedo grabado en el canal de YouTube para aquellos que quieran ver su funcionamiento, o los que siguen el curso de forma asíncrona.
Se realizó un programa que detecte cuando un objeto esta a X distancia del robot, cuando esto pase debía tomar otra dirección, se codificó y mostró el resultado. Se explicó como cambiando la posición del sensor de distancia y la condición del ciclo, se podía generar un detector de caída.
Se introdujo el ambiente OpenRoberta, se explicó el funcionamiento de los bloques y se programó como ejemplo un seguidor de lineas con dos sensores de dos maneras distintas. La primera es leyendo el color por el que pasa el sensor, la segunda leyendo la cantidad de luz que recibe el sensor.
Se mandaron cuatro tareas relacionadas a OpenRoberta para que puedan experimentar con el entorno y practicar la generación de algoritmos.
La primer tarea consiste en realizar un seguidor de linea igual al del ejemplo planteado en la clase pero usando solamente un sensor. De forma similar la segunda es un seguidor de linea (usando dos sensores), que sea capaz de esquivar un obstáculo que se encuentre en el camino y retome la línea. La tercer tarea es simular un robot aspiradora que detecte las colisiones con los objetos y tome un rumbo aleatorio por el escenario. La cuarta y ultima es sobre un escenario dado con bloques de colores, utilizando direcciones absolutas (o relativas) lograr que al robot pasar sobre los bloques de colores, llegue hacia una linea de meta, el código debe ser replicable para ambas pistas proporcionadas.
El link a la clase es el siguiente: