Ansatz des intensiven STEM-Lernens

Im Bereich der Ingenieurausbildung gibt es viele großartige Kurse, doch oft haben die darauf basierenden Lehrpläne einen wesentlichen Nachteil – sie weisen eine unzureichende Verbindung zwischen den verschiedenen Themen auf. Wie kann das sein, fragt man sich?

Bei der Erstellung eines Studienplans werden für jeden Kurs die Voraussetzungen und eine klare Reihenfolge angegeben, in der die Fächer zu lernen sind. Zum Beispiel benötigt man ein Grundwissen in Mechanik, um die physische Konstruktion eines einfachen mobilen Roboters zusammenzubauen und zu programmieren; Kenntnisse über Elektrotechnik basierend auf den Gesetzen von Ohm/Kirchhoff, sowie das Verständnis von digitalen und analogen Signalen; Vektor- und Matrixoperationen, um Koordinatensysteme und die Bewegungen des Roboters im Raum zu beschreiben; sowie Grundlagen des Programmierens, einschließlich Datenrepräsentation, einfacher Algorithmen und Kontrollstrukturen, um das Verhalten zu definieren.

Gibt es das alles in Universitätskursen? Natürlich. Neben den Gesetzen von Ohm und Kirchhoff behandelt man auch Thermodynamik und Feldtheorie; zusätzlich zu Matrix- und Vektoroperationen muss man sich auch mit Jordan-Formen vertraut machen; beim Programmieren lernt man Polymorphismus – Themen, die nicht immer für die Lösung einfacher praktischer Aufgaben notwendig sind.

Die universitäre Ausbildung ist umfangreich – die Lernenden bewegen sich breit und sehen oft keinen Sinn und keine praktische Bedeutung in dem Wissen, das sie erwerben. Wir haben uns entschieden, das Paradigma der universitären STEM-Ausbildung (Wissenschaft, Technologie, Ingenieurwesen und Mathematik) zu revolutionieren und ein Programm zu entwickeln, das auf der Vernetzung des Wissens basiert und die künftige Vertiefung ermöglicht, also eine intensive Auseinandersetzung mit den Fächern voraussetzt.

Das Erlernen eines neuen Themengebiets lässt sich mit der Erkundung eines Gebiets vergleichen. Dabei gibt es zwei Möglichkeiten: Entweder haben wir eine sehr detaillierte Karte mit einer Fülle von Informationen, die wir studieren müssen (was viel Zeit in Anspruch nimmt), um zu verstehen, wo die wichtigsten Orientierungspunkte liegen und wie sie zueinander stehen; oder wir nutzen einen einfachen Plan, auf dem nur die Hauptpunkte und ihre Anordnung eingezeichnet sind – eine solche Karte reicht aus, um sofort in die richtige Richtung zu gehen und die Details im Laufe des Weges zu klären.

Der Ansatz des intensiven STEM-Trainings wurde während der Winterakademie erprobt, die wir gemeinsam mit Studenten des MIT mit Unterstützung von JetBrains Research.

Materialvorbereitung


Der erste Teil des Programms war eine Woche Unterricht zu den Hauptthemen, die Algebra, elektrische Schaltungen, Computerarchitektur, Programmierung in Python und eine Einführung in ROS (Robot Operating System) umfassten.

Die Themen wurden nicht zufällig ausgewählt: Sie sollten einander ergänzen und den Studierenden helfen, die Verbindung zwischen scheinbar unterschiedlichen Dingen — Mathematik, Elektronik und Programmierung — zu erkennen.

Natürlich war das Hauptziel nicht, viele Vorlesungen zu halten, sondern den Studierenden die Möglichkeit zu geben, das neu erlernte Wissen praktisch anzuwenden.

Im Abschnitt Algebra konnten die Studierenden ihre Fähigkeiten im Umgang mit Matrizen und der Lösung von Gleichungssystemen üben, die sich beim Studium elektrischer Schaltungen als nützlich erwiesen. Nachdem sie die Funktionsweise von Transistoren und logischen Elementen, die auf ihnen basieren, verstanden hatten, konnten die Lernenden deren Anwendung im Aufbau eines Prozessors erkennen und nach dem Erlernen der Grundlagen von Python ein Programm für einen echten Roboter schreiben.

Ansatz des intensiven STEM-Lernens

Duckietown


Eine der Aufgaben der Schule war es, die Arbeit mit Simulatoren dort zu minimieren, wo es möglich war. Daher wurde ein umfangreiches Set an Schaltungen vorbereitet, das die Studierenden auf einem realen Breadboard aus echten Komponenten zusammenbauen und in der Praxis testen sollten; als Basis für die Projekte wurde Duckietown gewählt.

Duckietown ist ein offenes Projekt, das kleine autonome Roboter namens Duckiebots und ein Netzwerk von Straßen umfasst, auf denen sie sich bewegen. Der Duckiebot ist eine Radplattform, die mit einem Raspberry Pi Mikrocomputer und einer Kamera ausgestattet ist.

Auf dieser Grundlage haben wir eine Reihe von möglichen Aufgaben vorbereitet, wie das Erstellen von Straßenkarten, das Finden von Objekten und das Anhalten in deren Nähe sowie viele andere. Auch Studenten konnten eigene Probleme vorschlagen und nicht nur ein Programm zu dessen Lösung schreiben, sondern es auch sofort auf einem echten Roboter ausführen.

Unterricht


Während der Vorlesung präsentierten die Dozenten das Material anhand vorbereiteter Präsentationen. Einige Sitzungen wurden aufgezeichnet, sodass die Studenten die Möglichkeit hatten, sie zu Hause anzusehen. Während der Vorlesungen arbeiteten die Studenten mit Materialien auf ihren Computern, stellten Fragen, lösten Aufgaben gemeinsam und selbstständig und manchmal auch an der Tafel. Am Ende der Arbeit wurde für jeden Studenten eine Rangliste in verschiedenen Fächern erstellt.

Ansatz des intensiven STEM-Lernens

Lassen Sie uns die Durchführung der Unterrichtsstunden zu jedem Fach genauer betrachten. Das erste Fach war lineare Algebra. Die Studierenden lernten an einem Tag über Vektoren und Matrizen, Systeme linearer Gleichungen usw. Die praktischen Aufgaben wurden interaktiv gestaltet: Die vorgeschlagenen Probleme wurden individuell gelöst, während der Lehrer und andere Studierende Kommentare und Hinweise gaben.

Ansatz des intensiven STEM-Lernens

Das zweite Fach — Elektrizität und einfache Schaltungen. Die Studierenden lernten die Grundlagen der Elektrodynamik: Spannung, Strom, Widerstand, das Ohmsche Gesetz und die Kirchhoffschen Gesetze. Die praktischen Aufgaben wurden teilweise im Simulator durchgeführt oder an der Tafel bearbeitet, doch mehr Zeit wurde für den Bau realer Schaltungen verwendet, wie logische Schaltungen, Schwingkreise usw.

Ansatz des intensiven STEM-Lernens

Das nächste Thema — die Architektur von Computersystemen — ist gewissermaßen eine Brücke zwischen Physik und Programmierung. Die Studierenden erforschten das grundlegende Fundament, dessen Bedeutung eher theoretischer als praktischer Natur ist. In der Praxis entwarfen die Studierenden eigenständig arithmetisch-logische Schaltungen im Simulator und erhielten für die abgeschlossenen Aufgaben Punkte.

Der vierte Tag war der erste Tag des Programmierens. Die Programmiersprache Python 2 wurde gewählt, da sie in der Programmierung für ROS verwendet wird. Dieser Tag war folgendermaßen aufgebaut: Die Dozenten erklärten den Stoff, gaben Beispiele zur Lösung von Aufgaben, während die Studenten an ihren Computern saßen und das, was der Dozent an die Tafel oder auf die Folie schrieb, nachschrieben. Anschließend arbeiteten die Lernenden selbstständig an ähnlichen Aufgaben, die dann von den Dozenten bewertet wurden.

Der fünfte Tag war dem ROS gewidmet: Die Teilnehmer lernten das Programmieren von Robotern kennen. Den ganzen Unterrichtstag über saßen die Studenten an den Computern und führten den Programmcode aus, den der Dozent vorstellte. Sie konnten eigenständig die grundlegenden Einheiten von ROS starten und machten sich zudem mit dem Projekt Duckietown vertraut. Am Ende dieses Tages waren die Studenten bereit, mit dem praktischen Teil der Schule — der Lösung praktischer Aufgaben — zu beginnen.

Ansatz des intensiven STEM-Lernens

Beschreibung der gewählten Projekte

Die Studenten wurden aufgefordert, sich in Teams von drei Personen zusammenzuschließen und ein Projektthema auszuwählen. Folgende Projekte wurden letztendlich angenommen:

1. Farbkalibrierung. Der Duckiebot benötigt eine Kalibrierung der Kamera, wenn sich die Lichtverhältnisse ändern. Daher gibt es die Aufgabe der automatischen Kalibrierung. Das Problem ist, dass die Farbbereiche sehr empfindlich auf die Beleuchtung reagieren. Die Teilnehmer haben ein Tool entwickelt, das die erforderlichen Farben (rot, weiß und gelb) im Bild hervorhebt und Bereiche für jede Farbe im HSV-Format erstellt.

2. Duck Taxi. Die Idee dieses Projekts besteht darin, dass der Duckiebot an einem bestimmten Objekt anhalten, es aufnehmen und einem vorgegebenen Weg folgen kann. Als Objekt wurde eine leuchtend gelbe Ente ausgewählt.

Ansatz des intensiven STEM-Lernens

3. Aufbau eines Straßennetzes. Es gibt die Aufgabe, ein Straßennetz und Kreuzungen zu erstellen. Ziel dieses Projekts ist es, ein Straßennetz zu konstruieren, ohne im Voraus Informationen über die Umgebung für den Duckiebot bereitzustellen, sondern nur auf Daten von der Kamera zu basieren.

4. Polizeiauto. Dieses Projekt wurde von den Studierenden selbst ins Leben gerufen. Sie haben vorgeschlagen, einen Duckiebot, den „Polizisten“, zu trainieren, um einen anderen – den „Übeltäter“ – zu verfolgen. Hierfür wurde ein Zielerkennungssystem mit ArUco-Markern verwendet. Sobald die Erkennung abgeschlossen ist, erhält der „Übeltäter“ ein Signal zur Beendigung seiner Aktivität.

Ansatz des intensiven STEM-Lernens

Farbkalibrierung

Ziel des Projekts Farbkalibrierung war die Anpassung des Erkennungsbereichs für die Farben der Markierungen an die neuen Lichtverhältnisse. Ohne solche Anpassungen wurde die Erkennung von Haltelinien, Fahrbahnmarkierungen und Straßenrand ungenau. Die Teilnehmer schlugen eine Lösung vor, die auf der Vorverarbeitung von Farbmustern basierte: rot, gelb und weiß.

Für jede dieser Farben wurde ein vorläufiger HSV- oder RGB-Werterange festgelegt. Mit diesem Bereich werden im Bild alle Bereiche erfasst, die passende Farben enthalten, und der größte wird ausgewählt. Dieser Bereich wird als die Farbe betrachtet, die es zu speichern gilt. Anschließend kommen statistische Formeln zum Einsatz, wie die Berechnung des Durchschnitts und der Standardabweichung, um den neuen Farbbereich zu bewerten.

Dieser Bereich wird in die Konfigurationsdateien der Duckiebot-Kamera geschrieben und kann später verwendet werden. Der beschriebene Ansatz wurde auf alle drei Farben angewendet, wodurch letztendlich Bereiche für jede Farbe der Markierung erstellt wurden.

Tests zeigten nahezu perfekte Erkennung der Markierungslinien, es sei denn, es wurde glänzendes Band als Markierungsmaterial verwendet, das Lichtquellen so stark reflektiert, dass die Markierung in einem bestimmten Kamerawinkel weiß erschien, unabhängig von ihrer ursprünglichen Farbe.

Ansatz des intensiven STEM-Lernens

Duck Taxi

Das Projekt Duck Taxi beinhaltete die Entwicklung eines Algorithmus zur Suche nach einer Passagierente in der Stadt und deren Transport zum gewünschten Zielort. Die Teilnehmer teilten diese Aufgabe in zwei Teile: Erkennung und Navigation im Graph.

Die Studierenden führten die Erkennung der Ente durch und gingen davon aus, dass eine Ente jedes erkannte gelbe Gebiet im Bild mit einem roten Dreieck (Schnabel) ist. Sobald ein solches Gebiet im aktuellen Frame erkannt wird, sollte der Roboter sich ihm nähern und dann für einige Sekunden anhalten, um die Landung des Passagiers zu imitieren.

Anschließend, unter Verwendung des zuvor im Gedächtnis gespeicherten Straßennetzwerks von Duckietown und der Position des Roboters, sowie unter Berücksichtigung des Zielpunkts als Eingabedaten, konstruieren die Teilnehmer einen Weg vom Ausgangspunkt zum Zielort, indem sie den Dijkstra-Algorithmus zur Pfadsuche im Graphen verwenden. Die Ausgabedaten werden in Form einer Reihe von Kommandos – Abbiegungen an den nächsten Kreuzungen – präsentiert.

Ansatz des intensiven STEM-Lernens

Graph der Straßen

Ziel dieses Projekts war der Aufbau eines Graphen – eines Straßennetzes in Duckietown. Die Knoten des resultierenden Graphen stellen die Kreuzungen dar, während die Kanten die Straßen sind. Zu diesem Zweck muss der Duckiebot die Stadt erkunden und seine Route analysieren.

Im Verlauf der Projektarbeit wurde die Idee untersucht, aber dann verworfen, einen gewichteten Graphen zu erstellen, bei dem die Kosten der Kante durch die Entfernung (die Zeit, die benötigt wird, um sie zu überwinden) zwischen den Kreuzungen bestimmt wird. Die Umsetzung dieser Idee stellte sich als zu aufwendig heraus, und es wäre nicht genug Zeit innerhalb der Schule geblieben.

Wenn der Duckiebot eine weitere Kreuzung erreicht, wählt er die Straße aus, die von der Kreuzung ausgeht, auf der er noch nicht gefahren ist. Sobald alle Straßen an allen Kreuzungen befahren wurden, verbleibt in den Speicher des Bots eine Liste von Nachbarknoten, die mithilfe der Graphviz-Bibliothek in ein Bild umgewandelt wird.

Der von den Teilnehmern vorgeschlagene Algorithmus ist nicht für beliebige Duckietown geeignet, funktionierte jedoch gut in einer kleinen Stadt, die aus vier Kreuzungen besteht und im Rahmen der Schule verwendet wurde. Die Idee war, jede Kreuzung mit einem ArUco-Marker zu ergänzen, der die Identifikation der Kreuzung enthält, um die Reihenfolge der Durchfahrt zu verfolgen.
Das Funktionsschema des von den Teilnehmern entwickelten Algorithmus ist im Bild dargestellt.

Ansatz des intensiven STEM-Lernens

Patrouillenwagen

Ziel dieses Projekts ist die Suche, Verfolgung und Festnahme eines regelwidrigen Bots in der Stadt Duckietown. Der Patrouillenbot soll entlang des äußeren Straßenrings der Stadt fahren, um einen bereits bekannten regelwidrigen Bot zu finden. Nach der Entdeckung des Regelwidrigen muss der Patrouillenbot ihm folgen und ihn zum Anhalten bringen.

Die Arbeit begann mit der Suche nach einer Idee zur Bot-Erkennung im Bild und zur Identifizierung von Verstößen. Das Team schlug vor, jedem Bot in der Stadt hinten einen einzigartigen Marker anzubringen – ähnlich wie echte Fahrzeuge Nummernschilder haben. Dafür wurden ArUco-Marker ausgewählt. Diese wurden bereits in Duckietown verwendet, da sie einfach zu handhaben sind und sowohl die Orientierung des Markers im Raum als auch den Abstand zu ihm bestimmen können.

Als nächstes war es notwendig, den Patrouillen-Bot so zu steuern, dass er ohne Stopps an Kreuzungen strikt dem äußeren Kreis folgt. Standardmäßig bewegt sich der Duckiebot in einer Spur und hält an der Stopplinie. Anschließend erkennt er die Konfiguration der Kreuzung mit Hilfe von Verkehrszeichen und trifft eine Entscheidung über die Durchfahrt der Kreuzung. Für jeden der beschriebenen Schritte ist ein Zustand des endlichen Automaten des Roboters verantwortlich. Um Stopps an der Kreuzung zu vermeiden, hat das Team den Zustandsautomaten so geändert, dass der Bot beim Erreichen der Stopplinie sofort in den Zustand der Durchfahrt der Kreuzung wechselt.

Der nächste Schritt bestand darin, das Problem des störenden Bots zu lösen. Das Team vermutete, dass der Patrouillenbot über SSH-Zugriff auf jeden der Bots in der Stadt verfügen könnte, was bedeutet, dass er Informationen über die Authentifizierungsdaten und die ID jedes Bots hat. Nachdem der Regelabweichler entdeckt wurde, verband sich der Patrouillenbot über SSH mit dem störenden Bot und schaltete dessen System ab.

Nachdem bestätigt wurde, dass der Ausschaltbefehl erfolgreich ausgeführt wurde, stoppte auch der Patrouillenbot.
Der Arbeitsalgorithmus des Patrouillenroboters kann in folgendem Schema dargestellt werden:

Ansatz des intensiven STEM-Lernens

Arbeit an Projekten

Die Arbeit wurde in einem ähnlichen Format wie Scrum organisiert: Jeden Morgen planten die Studierenden die Aufgaben für den aktuellen Tag, und am Abend berichteten sie über die geleistete Arbeit.

Am ersten und letzten Tag bereiteten die Studierenden Präsentationen vor, die die gestellten Aufgaben und deren Lösungen beschrieben. Um den Studierenden zu helfen, ihre gewählten Pläne einzuhalten, waren in den Räumen, in denen an den Projekten gearbeitet wurde, ständig Lehrkräfte aus Russland und Amerika anwesend, die Fragen beantworteten. Die Kommunikation fand überwiegend in englischer Sprache statt.

Ergebnisse und deren Präsentation

Die Arbeit an den Projekten dauerte eine Woche, nach deren Ablauf die Studierenden ihre Ergebnisse präsentierten. Alle bereiteten Präsentationen vor, in denen sie erzählten, was sie in dieser Schule gelernt hatten, welche Lektionen für sie am wichtigsten waren und was ihnen gefallen oder nicht gefallen hat. Danach stellte jedes Team sein Projekt vor. Alle Teams haben ihre Aufgaben erfolgreich gemeistert.

Das Team, das die Farbkalibrierung umsetzte, schloss die Arbeit an ihrem Projekt schneller als die anderen ab, weshalb sie auch die Dokumentation zu ihrer Software vorbereiten konnten. Das Team, das sich mit Grafen von Straßen beschäftigte, arbeitete sogar am letzten Tag vor der Präsentation daran, ihre Algorithmen zu verbessern und zu optimieren.

Ansatz des intensiven STEM-Lernens

Fazit

Nach dem Schulabschluss baten wir die Schüler, ihre Erfahrungen zu bewerten und Fragen dazu zu beantworten, inwieweit die Schule ihren Erwartungen entsprach, welche Fähigkeiten sie erworben hatten usw. Alle Schüler hoben hervor, dass sie gelernt haben, im Team zu arbeiten, Aufgaben zu verteilen und ihre Zeit zu planen.

Den Schülern wurde auch angeboten, den Nutzen und die Schwierigkeit der absolvierten Kurse zu bewerten. Dabei entstanden zwei Gruppen von Bewertungen: Für die einen stellte der Kurs keine größeren Schwierigkeiten dar, während die anderen ihn als äußerst herausfordernd einstuften.

Das bedeutet, dass die Schule die richtige Position eingenommen hat, indem sie für Anfänger in verschiedenen Bereichen zugänglich bleibt, gleichzeitig aber auch Materialien für Wiederholungen und Vertiefungen für erfahrene Schüler anbietet. Es ist erwähnenswert, dass der Programmierungskurs (Python) von nahezu allen als einfach, aber nützlich eingestuft wurde. Am herausforderndsten empfanden die Schüler den Kurs „Architektur von Rechnern“.

Als die Studenten nach den Vor- und Nachteilen der Schule gefragt wurden, antworteten viele, dass ihnen der gewählte Unterrichtsstil gefiel, innerhalb dessen die Lehrer schnell und individuell Unterstützung boten und auf aufkommende Fragen reagierten.

Die Schüler hoben auch hervor, dass sie es mochten, ihre Aufgaben täglich zu planen und selbstständig Fristen festzulegen. Als Nachteile nannten die Studenten den Mangel an Wissen, das sie beim Arbeiten mit dem Bot benötigten: bei der Verbindung, dem Verständnis der Grundlagen und Prinzipien seiner Funktionsweise.

Fast alle Studenten betonten, dass die Schule ihre Erwartungen übertroffen hat, was auf die richtige Wahl der Organisationsrichtung der Schule hinweist. Daher sollten die allgemeinen Bedingungen bei der Organisation der nächsten Schule beibehalten werden, wobei die von den Schülern und Lehrern genannten Mängel berücksichtigt und nach Möglichkeit behoben werden sollten, eventuell durch eine Änderung des Kursangebots oder der Unterrichtszeiten.

Autoren des Artikels: das Team der Labor für mobile Roboter-Algorithmen in JetBrains Research.

P.S. Unser Unternehmensblog hat einen neuen Namen. Er wird nun den Bildungsprojekten von JetBrains gewidmet sein.

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster