Enfoque de aprendizaje intensivo STEM

Hay muchos cursos excelentes en el mundo de la educación en ingeniería, pero a menudo el plan de estudios elaborado en torno a ellos adolece de un defecto grave: la falta de coherencia entre los diversos temas. Se podría objetar: ¿cómo puede ser esto?

Cuando se está formando un programa de formación, para cada curso se indican los requisitos previos y un orden claro en el que se deben estudiar las disciplinas. Por ejemplo, para poder construir y programar un robot móvil primitivo, es necesario conocer un poco de mecánica para crear su estructura física; conceptos básicos de electricidad al nivel de las leyes de Ohm/Kirchhoff, representación de señales digitales y analógicas; operaciones con vectores y matrices para describir sistemas de coordenadas y movimientos del robot en el espacio; conceptos básicos de programación a nivel de presentación de datos, algoritmos simples y estructuras de transferencia de control, etc. para describir el comportamiento.

¿Está todo esto cubierto en las carreras universitarias? Por supuesto que sí. Sin embargo, con las leyes de Ohm/Kirchhoff obtenemos la termodinámica y la teoría de campos; además de las operaciones con matrices y vectores, hay que ocuparse de las formas de Jordan; en programación, estudie polimorfismo, temas que no siempre son necesarios para resolver un problema práctico simple.

La educación universitaria es extensa: el estudiante avanza en un frente amplio y, a menudo, no ve el significado y la importancia práctica de los conocimientos que recibe. Decidimos cambiar el paradigma de la educación universitaria en STEM (de las palabras Ciencia, Tecnología, Ingeniería, Matemáticas) y crear un programa que se base en la coherencia del conocimiento, permitiendo un aumento en la completitud en el futuro, es decir, Implica dominio intensivo de las materias.

Aprender una nueva materia se puede comparar con explorar un área local. Y aquí hay dos opciones: o tenemos un mapa muy detallado con una gran cantidad de detalles que deben estudiarse (y esto lleva mucho tiempo) para comprender dónde están los puntos de referencia principales y cómo se relacionan entre sí. ; o puede utilizar un plan primitivo, en el que solo se indican los puntos principales y sus posiciones relativas; un mapa de este tipo es suficiente para comenzar a moverse inmediatamente en la dirección correcta, aclarando los detalles a medida que avanza.

Probamos el enfoque de aprendizaje intensivo STEM en una escuela de invierno, que realizamos junto con estudiantes del MIT con el apoyo de Investigación de JetBrains.

Preparación de material


La primera parte del programa escolar fue una semana de clases en las áreas principales, que incluyeron álgebra, circuitos eléctricos, arquitectura de computadoras, programación Python y una introducción a ROS (Sistema Operativo de Robots).

Las direcciones no fueron elegidas por casualidad: al complementarse entre sí, debían ayudar a los estudiantes a ver la conexión entre cosas aparentemente diferentes: matemáticas, electrónica y programación.

Por supuesto, el objetivo principal no era dar muchas conferencias, sino dar a los estudiantes la oportunidad de aplicar ellos mismos en la práctica los conocimientos recién adquiridos.

En la sección de álgebra, los estudiantes pudieron practicar operaciones matriciales y resolver sistemas de ecuaciones, que fueron útiles en el estudio de circuitos eléctricos. Habiendo aprendido sobre la estructura de un transistor y los elementos lógicos construidos sobre su base, los estudiantes pudieron ver su uso en un dispositivo procesador y, después de aprender los conceptos básicos del lenguaje Python, escribir en él un programa para un robot real.

Enfoque de aprendizaje intensivo STEM

Duckietown


Uno de los objetivos de la escuela era minimizar el trabajo con simuladores siempre que fuera posible. Por lo tanto, se preparó un gran conjunto de circuitos electrónicos, que los estudiantes debían ensamblar en una placa a partir de componentes reales y probarlos en la práctica, y se eligió Duckietown como base para los proyectos.

Duckietown es un proyecto de código abierto que involucra pequeños robots autónomos llamados Duckiebots y las redes de carreteras por las que viajan. Duckiebot es una plataforma con ruedas equipada con un microordenador Raspberry Pi y una única cámara.

En base a esto, hemos preparado un conjunto de posibles tareas, como construir una hoja de ruta, buscar objetos y detenerse junto a ellos, entre otras. Los estudiantes también podrían proponer su propio problema y no sólo escribir un programa para resolverlo, sino también ejecutarlo inmediatamente en un robot real.

Enseñando


Durante la conferencia, los profesores presentaron el material mediante presentaciones preparadas previamente. Algunas clases se grabaron en vídeo para que los estudiantes pudieran verlas en casa. Durante las clases, los estudiantes utilizaron materiales en sus computadoras, hicieron preguntas y resolvieron problemas juntos e independientemente, a veces en el pizarrón. A partir de los resultados del trabajo, se calculó la calificación de cada alumno por separado en diferentes materias.

Enfoque de aprendizaje intensivo STEM

Consideremos la realización de clases en cada tema con más detalle. La primera materia fue álgebra lineal. Los estudiantes dedicaron un día a estudiar vectores y matrices, sistemas de ecuaciones lineales, etc. Las tareas prácticas se estructuraron de forma interactiva: los problemas propuestos se resolvieron individualmente y el profesor y otros alumnos aportaron comentarios y sugerencias.

Enfoque de aprendizaje intensivo STEM

El segundo tema es la electricidad y los circuitos simples. Los estudiantes aprendieron los conceptos básicos de la electrodinámica: voltaje, corriente, resistencia, ley de Ohm y leyes de Kirchhoff. Las tareas prácticas se realizaron parcialmente en el simulador o se completaron en el tablero, pero se dedicó más tiempo a construir circuitos reales como circuitos lógicos, circuitos oscilantes, etc.

Enfoque de aprendizaje intensivo STEM

El siguiente tema es la arquitectura informática, en cierto sentido, un puente que conecta la física y la programación. Los estudiantes estudiaron las bases fundamentales, cuyo significado es más teórico que práctico. Como práctica, los estudiantes diseñaron de forma independiente circuitos aritméticos y lógicos en el simulador y recibieron puntos por las tareas completadas.

El cuarto día es el primer día de programación. Se eligió Python 2 como lenguaje de programación porque es el que se utiliza en la programación ROS. Esta jornada se estructuró de la siguiente manera: los docentes presentaron el material, dieron ejemplos de resolución de problemas, mientras los estudiantes los escuchaban, sentados frente a sus computadoras, y repetían lo que el docente escribía en la pizarra o diapositiva. Luego, los estudiantes resolvieron problemas similares por sí solos y las soluciones fueron posteriormente evaluadas por los profesores.

El quinto día estuvo dedicado a ROS: los chicos aprendieron sobre programación de robots. Durante todo el día escolar, los estudiantes se sentaron frente a sus computadoras, ejecutando el código del programa del que habló el maestro. Pudieron ejecutar unidades ROS básicas por sí solos y también conocieron el proyecto Duckietown. Al final de este día, los estudiantes estaban listos para comenzar la parte del proyecto de la escuela: resolver problemas prácticos.

Enfoque de aprendizaje intensivo STEM

Descripción de los proyectos seleccionados

Se pidió a los estudiantes que formaran equipos de tres y eligieran un tema de proyecto. Como resultado, se adoptaron los siguientes proyectos:

1. Calibración de color. Duckiebot necesita calibrar la cámara cuando cambian las condiciones de iluminación, por lo que existe una tarea de calibración automática. El problema es que las gamas de colores son muy sensibles a la luz. Los participantes implementaron una utilidad que resaltaría los colores requeridos en un marco (rojo, blanco y amarillo) y crearía rangos para cada color en formato HSV.

2. Taxi pato. La idea de este proyecto es que Duckiebot pueda detenerse cerca de un objeto, recogerlo y seguir una ruta determinada. Se eligió como objeto un pato de color amarillo brillante.

Enfoque de aprendizaje intensivo STEM

3. Construcción de un gráfico de carreteras. Existe la tarea de construir un gráfico de carreteras e intersecciones. El objetivo de este proyecto es construir un gráfico de carreteras sin proporcionar datos ambientales a priori a Duckiebot, basándose únicamente en los datos de la cámara.

4. Coche patrulla. Este proyecto fue inventado por los propios estudiantes. Propusieron enseñar a un Duckiebot, una “patrulla”, a perseguir a otro, un “infractor”. Para ello se utilizó el mecanismo de reconocimiento de objetivos mediante el marcador ArUco. Tan pronto como se completa el reconocimiento, se envía una señal al "intruso" para que complete el trabajo.

Enfoque de aprendizaje intensivo STEM

Calibración del color

El objetivo del proyecto Color Calibration era adaptar la gama de colores de marcado reconocibles a las nuevas condiciones de iluminación. Sin tales ajustes, el reconocimiento de líneas de alto, separadores de carriles y límites de carreteras se volvió incorrecto. Los participantes propusieron una solución basada en el preprocesamiento de patrones de color de marcado: rojo, amarillo y blanco.

Cada uno de estos colores tiene un rango preestablecido de valores HSV o RGB. Con esta gama se encuentran todas las áreas del marco que contienen colores adecuados y se selecciona la más grande. Esta zona se toma como el color que hay que recordar. Luego se utilizan fórmulas estadísticas, como el cálculo de la media y la desviación estándar, para estimar la nueva gama de colores.

Este rango se registra en los archivos de configuración de la cámara de Duckiebot y se puede utilizar más adelante. El enfoque descrito se aplicó a los tres colores, formando finalmente rangos para cada uno de los colores de marcado.

Las pruebas mostraron un reconocimiento casi perfecto de las líneas de marcado, excepto en los casos en que los materiales de marcado utilizaban cinta brillante, que refleja las fuentes de luz con tanta fuerza que desde el ángulo de visión de la cámara las marcas parecían blancas, independientemente de su color original.

Enfoque de aprendizaje intensivo STEM

taxi pato

El proyecto Duck Taxi implicó construir un algoritmo para buscar un pato pasajero en la ciudad y luego transportarlo al punto requerido. Los participantes dividieron este problema en dos: detección y movimiento a lo largo del gráfico.

Los estudiantes llevaron a cabo la detección de patos asumiendo que un pato es cualquier área del cuadro que pueda reconocerse como amarilla, con un triángulo rojo (pico). Tan pronto como se detecta una zona de este tipo en el siguiente cuadro, el robot debe acercarse a ella y luego detenerse durante unos segundos, simulando el aterrizaje de un pasajero.

Luego, teniendo el gráfico de carreteras de todo Duckietown y la posición del robot almacenados en la memoria de antemano, y también recibiendo el destino como entrada, los participantes construyen un camino desde el punto de partida hasta el punto de llegada, utilizando el algoritmo de Dijkstra para encontrar caminos en el gráfico. . El resultado se presenta como un conjunto de comandos: giros en cada una de las siguientes intersecciones.

Enfoque de aprendizaje intensivo STEM

Gráfica de Carreteras

El objetivo de este proyecto era construir un gráfico: una red de carreteras en Duckietown. Los nodos del gráfico resultante son intersecciones y los arcos son carreteras. Para ello, Duckiebot deberá explorar la ciudad y analizar su ruta.

Durante el trabajo en el proyecto, se consideró, pero luego se descartó, la idea de crear un gráfico ponderado, en el que el costo de una arista esté determinado por la distancia (tiempo de viaje) entre las intersecciones. La implementación de esta idea resultó ser demasiado laboriosa y no había suficiente tiempo en la escuela para ello.

Cuando Duckiebot llega a la siguiente intersección, elige el camino que sale de la intersección y que aún no ha tomado. Cuando se han pasado todas las carreteras en todas las intersecciones, la lista generada de adyacencias de intersecciones permanece en la memoria del robot, que se convierte en una imagen utilizando la biblioteca Graphviz.

El algoritmo propuesto por los participantes no era adecuado para un Duckietown aleatorio, pero funcionó bien para un pequeño pueblo de cuatro intersecciones utilizadas dentro de la escuela. La idea era agregar un marcador ArUco a cada intersección que contuviera un identificador de intersección para rastrear el orden en que se conducían las intersecciones.
En la figura se muestra el diagrama del algoritmo desarrollado por los participantes.

Enfoque de aprendizaje intensivo STEM

Patrulla

El objetivo de este proyecto es buscar, perseguir y detener a un robot infractor en la ciudad de Duckietown. Un robot patrulla debe moverse a lo largo del anillo exterior de una carretera de la ciudad, en busca de un robot intruso conocido. Después de detectar a un intruso, el robot patrulla debe seguir al intruso y obligarlo a detenerse.

El trabajo comenzó con la búsqueda de una idea para detectar un robot en un marco y reconocer a un intruso en él. El equipo propuso equipar a cada robot de la ciudad con un marcador único en la parte trasera, al igual que los coches reales tienen números de matrícula estatales. Para ello se eligieron marcadores ArUco. Se han utilizado anteriormente en duckietown porque es fácil trabajar con ellos y permiten determinar la orientación del marcador en el espacio y la distancia hasta él.

A continuación, era necesario asegurarse de que el robot patrulla se moviera estrictamente en el círculo exterior sin detenerse en las intersecciones. De forma predeterminada, Duckiebot se mueve en un carril y se detiene en la línea de parada. Luego, con la ayuda de las señales de tráfico, determina la configuración de la intersección y elige la dirección de paso de la intersección. Para cada una de las etapas descritas, uno de los estados de la máquina de estados finitos del robot es responsable. Para deshacerse de las paradas en la intersección, el equipo cambió la máquina de estado para que al acercarse a la línea de parada, el robot cambiara inmediatamente al estado de conducir directamente a través de la intersección.

El siguiente paso fue resolver el problema de detener al robot intruso. El equipo supuso que el robot patrulla podría tener acceso SSH a cada uno de los robots en la ciudad, es decir, tener cierta información sobre qué datos de autorización y qué identificación tiene cada robot. Así, tras detectar al intruso, el robot patrulla comenzó a conectarse vía SSH al robot intruso y apagó su sistema.

Después de confirmar que se completó el comando de apagado, el robot de patrulla también se detuvo.
El algoritmo de funcionamiento de un robot patrulla se puede representar como el siguiente diagrama:

Enfoque de aprendizaje intensivo STEM

trabajando en proyectos

El trabajo se organizó en un formato similar a Scrum: cada mañana los estudiantes planificaban las tareas para el día en curso y por la noche informaban sobre el trabajo realizado.

El primer y último día, los estudiantes prepararon presentaciones que describían la tarea y cómo resolverla. Para ayudar a los estudiantes a seguir los planes elegidos, profesores de Rusia y Estados Unidos estuvieron constantemente presentes en las salas donde se trabajaba en los proyectos, respondiendo preguntas. La comunicación se realizó principalmente en inglés.

Resultados y su demostración.

El trabajo en los proyectos duró una semana, tras la cual los estudiantes presentaron sus resultados. Todos prepararon presentaciones en las que hablaron sobre lo que aprendieron en esta escuela, cuáles fueron las lecciones más importantes que aprendieron, qué les gustó y qué no les gustó. Posteriormente, cada equipo presentó su proyecto. Todos los equipos completaron sus tareas.

El equipo que implementó la calibración del color completó el proyecto más rápido que otros, por lo que también tuvieron tiempo para preparar la documentación para su programa. Y el equipo que trabajó en el gráfico de ruta, incluso el último día antes de la demostración del proyecto, intentó perfeccionar y corregir sus algoritmos.

Enfoque de aprendizaje intensivo STEM

Conclusión

Después de terminar la escuela, les pedimos a los estudiantes que evaluaran actividades pasadas y respondieran preguntas sobre qué tan bien la escuela cumplió con sus expectativas, qué habilidades adquirieron, etc. Todos los estudiantes señalaron que aprendieron a trabajar en equipo, distribuir tareas y planificar su tiempo.

También se pidió a los estudiantes que calificaran la utilidad y dificultad de los cursos que tomaron. Y aquí se formaron dos grupos de evaluaciones: para algunos los cursos no presentaron mucha dificultad, otros los calificaron como extremadamente difíciles.

Esto significa que la escuela ha tomado la posición correcta al permanecer accesible a los principiantes en un campo particular, pero también al proporcionar materiales para la repetición y consolidación por parte de estudiantes experimentados. Cabe señalar que casi todos consideraron que el curso de programación (Python) era sencillo pero útil. Según los estudiantes, el curso más difícil fue “Arquitectura de Computadores”.

Cuando se preguntó a los estudiantes sobre las fortalezas y debilidades de la escuela, muchos respondieron que les gustaba el estilo de enseñanza elegido, en el que los maestros brindaban asistencia rápida y personal y respondían preguntas.

Los estudiantes también notaron que les gustaba trabajar planificando diariamente sus tareas y estableciendo sus propios plazos. Como desventajas, los estudiantes notaron la falta de conocimientos proporcionados que se requerían al trabajar con el bot: al conectarse, comprender los conceptos básicos y principios de su funcionamiento.

Casi todos los estudiantes notaron que la escuela superó sus expectativas y esto indica la dirección correcta para organizar la escuela. Por tanto, conviene mantener los principios generales a la hora de organizar la próxima escuela, teniendo en cuenta y, si es posible, eliminando las deficiencias observadas por alumnos y profesores, quizás cambiando la lista de cursos o los horarios de su enseñanza.

Autores del artículo: equipo laboratorio de algoritmos de robots móviles в Investigación de JetBrains.

PD Nuestro blog corporativo tiene nuevo nombre. Ahora estará dedicado a proyectos educativos de JetBrains.

Fuente: habr.com

Añadir un comentario