Ansatz des intensiven MINT-Lernens

Es gibt viele ausgezeichnete Kurse in der Welt der Ingenieurausbildung, aber oft weist der darauf aufbauende Lehrplan einen gravierenden Fehler auf – einen Mangel an guter Kohärenz zwischen verschiedenen Themen. Man könnte einwenden: Wie kann das sein?

Bei der Gestaltung eines Ausbildungsprogramms werden für jeden Studiengang Voraussetzungen und eine klare Reihenfolge angegeben, in der die Disziplinen studiert werden müssen. Um beispielsweise einen primitiven mobilen Roboter zu bauen und zu programmieren, müssen Sie sich mit der Mechanik auskennen, um seine physische Struktur zu erstellen. Grundlagen der Elektrizität auf der Ebene der Ohm-/Kirchhoffschen Gesetze, Darstellung digitaler und analoger Signale; Operationen mit Vektoren und Matrizen zur Beschreibung von Koordinatensystemen und Bewegungen des Roboters im Raum; Grundlagen der Programmierung auf der Ebene der Datenpräsentation, einfache Algorithmen und Kontrollübertragungsstrukturen usw. Verhalten zu beschreiben.

Wird das alles in den Universitätslehrgängen abgedeckt? Natürlich gibt es. Mit den Ohm/Kirchhoff-Gesetzen erhalten wir jedoch Thermodynamik und Feldtheorie; Neben Operationen mit Matrizen und Vektoren muss man sich auch mit Jordan-Formen befassen; Studieren Sie in der Programmierung Polymorphismus – Themen, die nicht immer zur Lösung eines einfachen praktischen Problems benötigt werden.

Die universitäre Ausbildung ist umfangreich – der Student bewegt sich auf breiter Front und erkennt oft nicht den Sinn und die praktische Bedeutung des Wissens, das er erhält. Wir haben beschlossen, das Paradigma der Universitätsausbildung im MINT-Bereich (von den Wörtern Naturwissenschaft, Technik, Ingenieurwesen, Mathematik) umzudrehen und ein Programm zu schaffen, das auf der Kohärenz des Wissens basiert und eine Steigerung der Vollständigkeit in der Zukunft ermöglicht, d. h. es setzt eine intensive Beherrschung der Themen voraus.

Das Erlernen eines neuen Fachgebiets kann mit dem Erkunden eines lokalen Gebiets verglichen werden. Und hier gibt es zwei Möglichkeiten: Entweder haben wir eine sehr detaillierte Karte mit einer Vielzahl von Details, die untersucht werden müssen (und das kostet viel Zeit), um zu verstehen, wo sich die wichtigsten Orientierungspunkte befinden und wie sie zueinander in Beziehung stehen ; Oder Sie können einen einfachen Plan verwenden, auf dem nur die Hauptpunkte und ihre relativen Positionen angegeben sind. Eine solche Karte reicht aus, um sich sofort in die richtige Richtung zu bewegen und dabei die Details zu klären.

Wir haben den intensiven MINT-Lernansatz bei einer Winterschule getestet, die wir gemeinsam mit MIT-Studenten mit Unterstützung von durchgeführt haben JetBrains-Forschung.

Materialvorbereitung


Der erste Teil des Schulprogramms bestand aus einer Woche Unterricht in den Hauptbereichen, zu denen Algebra, elektrische Schaltkreise, Computerarchitektur, Python-Programmierung und eine Einführung in ROS (Robot Operating System) gehörten.

Die Richtungen wurden nicht zufällig gewählt: Sie sollten einander ergänzen und den Schülern helfen, auf den ersten Blick den Zusammenhang zwischen scheinbar unterschiedlichen Dingen zu erkennen – Mathematik, Elektronik und Programmierung.

Das Hauptziel bestand natürlich nicht darin, viele Vorlesungen zu halten, sondern den Studierenden die Möglichkeit zu geben, das neu erworbene Wissen selbst in der Praxis anzuwenden.

Im Algebra-Teil konnten die Studierenden Matrixoperationen und das Lösen von Gleichungssystemen üben, die beim Studium elektrischer Schaltkreise nützlich waren. Nachdem die Schüler die Struktur eines Transistors und die darauf aufgebauten logischen Elemente kennengelernt hatten, konnten sie deren Verwendung in einem Prozessorgerät sehen und nach dem Erlernen der Grundlagen der Python-Sprache darin ein Programm für einen echten Roboter schreiben.

Ansatz des intensiven MINT-Lernens

Duckietown


Eines der Ziele der Schule war es, die Arbeit mit Simulatoren so gering wie möglich zu halten. Daher wurde ein großer Satz elektronischer Schaltkreise vorbereitet, die die Schüler auf einem Steckbrett aus realen Komponenten zusammenbauen und in der Praxis testen mussten. Als Basis für die Projekte wurde Duckietown ausgewählt.

Duckietown ist ein Open-Source-Projekt, an dem kleine autonome Roboter namens Duckiebots und die Straßennetze beteiligt sind, auf denen sie unterwegs sind. Duckiebot ist eine Plattform mit Rädern, die mit einem Raspberry Pi-Mikrocomputer und einer einzelnen Kamera ausgestattet ist.

Darauf aufbauend haben wir eine Reihe möglicher Aufgaben vorbereitet, wie zum Beispiel das Erstellen einer Straßenkarte, das Suchen nach Objekten und das Anhalten neben ihnen und eine Reihe anderer. Die Studierenden könnten auch ihr eigenes Problem vorschlagen und nicht nur ein Programm zur Lösung schreiben, sondern es auch sofort auf einem echten Roboter ausführen.

Lehre


Während der Vorlesung präsentierten die Lehrkräfte den Stoff anhand vorbereiteter Präsentationen. Einige Unterrichtsstunden wurden auf Video aufgezeichnet, damit die Schüler sie zu Hause ansehen konnten. Während der Vorlesungen nutzten die Studierenden Materialien am Computer, stellten Fragen und lösten gemeinsam und selbstständig Probleme, teilweise auch an der Tafel. Basierend auf den Ergebnissen der Arbeit wurde die Bewertung jedes Schülers in verschiedenen Fächern separat berechnet.

Ansatz des intensiven MINT-Lernens

Betrachten wir die Durchführung des Unterrichts in jedem Fach genauer. Das erste Fach war lineare Algebra. Die Studierenden verbrachten einen Tag damit, Vektoren und Matrizen, lineare Gleichungssysteme usw. zu studieren. Die praktischen Aufgaben wurden interaktiv strukturiert: Die vorgeschlagenen Aufgaben wurden einzeln gelöst, der Lehrer und andere Schüler gaben Kommentare und Tipps.

Ansatz des intensiven MINT-Lernens

Das zweite Thema ist Elektrizität und einfache Schaltkreise. Die Studierenden lernten die Grundlagen der Elektrodynamik: Spannung, Strom, Widerstand, Ohmsches Gesetz und Kirchhoffsche Gesetze. Praktische Aufgaben wurden teilweise im Simulator erledigt oder auf der Platine erledigt, mehr Zeit wurde jedoch für den Aufbau realer Schaltungen wie Logikschaltungen, Schwingkreise usw. aufgewendet.

Ansatz des intensiven MINT-Lernens

Das nächste Thema ist Computerarchitektur – gewissermaßen eine Brücke zwischen Physik und Programmierung. Die Studierenden erlernten die grundlegenden Grundlagen, deren Bedeutung eher theoretischer als praktischer Natur ist. Als Übung konstruierten die Studierenden selbstständig Rechen- und Logikschaltungen im Simulator und erhielten für erledigte Aufgaben Punkte.

Der vierte Tag ist der erste Programmiertag. Als Programmiersprache wurde Python 2 gewählt, da diese in der ROS-Programmierung verwendet wird. Dieser Tag war wie folgt aufgebaut: Die Lehrer präsentierten den Stoff, gaben Beispiele für die Lösung von Problemen, während die Schüler ihnen zuhörten, an ihren Computern saßen und wiederholten, was der Lehrer an die Tafel oder Folie geschrieben hatte. Anschließend lösten die Schüler selbstständig ähnliche Aufgaben und die Lösungen wurden anschließend von den Lehrern bewertet.

Der fünfte Tag war ROS gewidmet: Die Jungs lernten etwas über Roboterprogrammierung. Den ganzen Schultag saßen die Schüler an ihren Computern und führten den Programmcode aus, über den der Lehrer sprach. Sie waren in der Lage, grundlegende ROS-Einheiten selbst zu betreiben und wurden auch in das Duckietown-Projekt eingeführt. Am Ende dieses Tages waren die Schüler bereit, mit dem Projektteil der Schule zu beginnen – der Lösung praktischer Probleme.

Ansatz des intensiven MINT-Lernens

Beschreibung ausgewählter Projekte

Die Studierenden wurden gebeten, Dreierteams zu bilden und ein Projektthema auszuwählen. Als Ergebnis wurden folgende Projekte angenommen:

1. Farbkalibrierung. Duckiebot muss die Kamera kalibrieren, wenn sich die Lichtverhältnisse ändern, daher gibt es eine automatische Kalibrierungsaufgabe. Das Problem besteht darin, dass Farbbereiche sehr lichtempfindlich sind. Die Teilnehmer implementierten ein Dienstprogramm, das die erforderlichen Farben in einem Rahmen hervorhebt (Rot, Weiß und Gelb) und Bereiche für jede Farbe im HSV-Format erstellt.

2. Ententaxi. Die Idee dieses Projekts ist, dass Duckiebot in der Nähe eines Objekts anhalten, es aufheben und einer bestimmten Route folgen kann. Als Objekt wurde eine leuchtend gelbe Ente gewählt.

Ansatz des intensiven MINT-Lernens

3. Erstellung eines Straßendiagramms. Es besteht die Aufgabe, ein Diagramm von Straßen und Kreuzungen zu erstellen. Das Ziel dieses Projekts besteht darin, ein Straßendiagramm zu erstellen, ohne Duckiebot a priori Umweltdaten zur Verfügung zu stellen, sondern sich ausschließlich auf Kameradaten zu verlassen.

4. Streifenwagen. Dieses Projekt wurde von den Studierenden selbst erfunden. Sie schlugen vor, einem Duckiebot, einer „Patrouille“, beizubringen, einen anderen, einen „Übertreter“, zu jagen. Hierzu wurde der Mechanismus der Zielerkennung mithilfe des ArUco-Markers genutzt. Sobald die Erkennung abgeschlossen ist, wird ein Signal an den „Eindringling“ gesendet, die Arbeit abzuschließen.

Ansatz des intensiven MINT-Lernens

Farbkalibrierung

Ziel des Projekts Farbkalibrierung war es, den Bereich der erkennbaren Markierungsfarben an neue Lichtverhältnisse anzupassen. Ohne solche Anpassungen wurde die Erkennung von Haltelinien, Spurtrennern und Straßenbegrenzungen fehlerhaft. Die Teilnehmer schlugen eine Lösung vor, die auf der Vorverarbeitung von Markup-Farbmustern basiert: Rot, Gelb und Weiß.

Jede dieser Farben verfügt über einen voreingestellten Bereich von HSV- oder RGB-Werten. Anhand dieses Bereichs werden alle Bereiche des Rahmens gefunden, die geeignete Farben enthalten, und der größte wird ausgewählt. Dieser Bereich wird als die Farbe verwendet, die man sich merken muss. Statistische Formeln wie die Berechnung des Mittelwerts und der Standardabweichung werden dann verwendet, um den neuen Farbbereich abzuschätzen.

Dieser Bereich wird in den Kamerakonfigurationsdateien von Duckiebot aufgezeichnet und kann später verwendet werden. Der beschriebene Ansatz wurde auf alle drei Farben angewendet und letztendlich Bereiche für jede der Markup-Farben gebildet.

Tests zeigten eine nahezu perfekte Erkennung von Markierungslinien, außer in Fällen, in denen als Markierungsmaterialien glänzendes Klebeband verwendet wurde, das Lichtquellen so stark reflektiert, dass die Markierungen aus dem Blickwinkel der Kamera unabhängig von ihrer ursprünglichen Farbe weiß erschienen.

Ansatz des intensiven MINT-Lernens

Ententaxi

Beim Duck Taxi-Projekt ging es darum, einen Algorithmus zu entwickeln, der in der Stadt nach einem Entenpassagier sucht und ihn dann zum gewünschten Punkt transportiert. Die Teilnehmer teilten dieses Problem in zwei Teile: Erkennung und Bewegung entlang des Diagramms.

Die Schüler führten die Entenerkennung durch, indem sie davon ausgingen, dass eine Ente jeder Bereich im Rahmen ist, der als gelb erkannt werden kann und auf dem sich ein rotes Dreieck (Schnabel) befindet. Sobald im nächsten Bild ein solcher Bereich erkannt wird, soll sich der Roboter diesem nähern und dann für einige Sekunden anhalten und so die Landung eines Passagiers simulieren.

Nachdem die Straßenkarte der gesamten Duckietown und die Position des Bots im Voraus im Speicher gespeichert wurden und auch das Ziel als Eingabe empfangen wurde, erstellen die Teilnehmer dann einen Weg vom Abfahrtspunkt zum Ankunftspunkt und verwenden dabei den Dijkstra-Algorithmus, um Wege in der Grafik zu finden . Die Ausgabe wird als Befehlssatz dargestellt – Abbiegen an jeder der folgenden Kreuzungen.

Ansatz des intensiven MINT-Lernens

Diagramm der Straßen

Das Ziel dieses Projekts war der Aufbau eines Diagramms – eines Straßennetzes in Duckietown. Die Knoten des resultierenden Diagramms sind Schnittpunkte und die Bögen sind Straßen. Dazu muss Duckiebot die Stadt erkunden und ihre Route analysieren.

Während der Arbeit an dem Projekt wurde die Idee in Betracht gezogen, einen gewichteten Graphen zu erstellen, der jedoch dann verworfen wurde und bei dem die Kosten einer Kante durch die Entfernung (Reisezeit) zwischen Kreuzungen bestimmt werden. Die Umsetzung dieser Idee erwies sich als zu aufwändig und die Zeit innerhalb der Schule reichte dafür nicht aus.

Wenn Duckiebot die nächste Kreuzung erreicht, wählt er die Straße, die aus der Kreuzung herausführt und die er noch nicht genommen hat. Wenn alle Straßen an allen Kreuzungen passiert wurden, verbleibt die generierte Liste der angrenzenden Kreuzungen im Speicher des Bots, der mithilfe der Graphviz-Bibliothek in ein Bild umgewandelt wird.

Der von den Teilnehmern vorgeschlagene Algorithmus war nicht für eine zufällige Duckietown geeignet, funktionierte aber gut für eine kleine Stadt mit vier Kreuzungen, die innerhalb der Schule genutzt wurden. Die Idee bestand darin, jeder Kreuzung eine ArUco-Markierung hinzuzufügen, die eine Kreuzungskennung enthält, um die Reihenfolge zu verfolgen, in der die Kreuzungen befahren wurden.
Das Diagramm des von den Teilnehmern entwickelten Algorithmus ist in der Abbildung dargestellt.

Ansatz des intensiven MINT-Lernens

Streifenwagen

Ziel dieses Projekts ist die Suche, Verfolgung und Inhaftierung eines illegalen Bots in der Stadt Duckietown. Ein Patrouillenbot muss sich entlang des äußeren Rings einer Stadtstraße bewegen und nach einem bekannten Eindringlingsbot suchen. Nachdem ein Eindringling entdeckt wurde, muss der Patrouillenbot dem Eindringling folgen und ihn zum Anhalten zwingen.

Die Arbeit begann mit der Suche nach einer Idee, einen Bot in einem Frame zu erkennen und darin einen Eindringling zu erkennen. Das Team schlug vor, jeden Bot in der Stadt mit einer eindeutigen Markierung auf der Rückseite auszustatten – so wie echte Autos staatliche Kennzeichen haben. Zu diesem Zweck wurden ArUco-Marker ausgewählt. Sie wurden bereits in Duckietown verwendet, da sie einfach zu handhaben sind und es Ihnen ermöglichen, die Ausrichtung der Markierung im Raum und die Entfernung dazu zu bestimmen.

Als nächstes musste sichergestellt werden, dass sich der Patrouillenbot strikt im äußeren Kreis bewegte, ohne an Kreuzungen anzuhalten. Standardmäßig bewegt sich Duckiebot in einer Spur und stoppt an der Stopplinie. Anschließend bestimmt er mithilfe von Verkehrsschildern die Konfiguration der Kreuzung und trifft eine Entscheidung über die Durchfahrtsrichtung der Kreuzung. Für jede der beschriebenen Stufen ist einer der Zustände der endlichen Zustandsmaschine des Roboters verantwortlich. Um Haltestellen an der Kreuzung loszuwerden, änderte das Team die Zustandsmaschine so, dass der Bot bei Annäherung an die Haltestellenlinie sofort in den Zustand wechselte, geradeaus über die Kreuzung zu fahren.

Der nächste Schritt bestand darin, das Problem zu lösen, den Eindringlings-Bot zu stoppen. Das Team ging davon aus, dass der Patrouillenbot SSH-Zugriff auf jeden Bot in der Stadt haben könnte, also über einige Informationen darüber verfügt, welche Autorisierungsdaten und welche ID jeder Bot hat. Nachdem der Patrouillenbot den Eindringling entdeckt hatte, begann er, sich über SSH mit dem Eindringlingsbot zu verbinden und dessen System herunterzufahren.

Nachdem bestätigt wurde, dass der Befehl zum Herunterfahren ausgeführt wurde, stoppte auch der Patrouillenbot.
Der Betriebsalgorithmus eines Patrouillenroboters kann wie folgt dargestellt werden:

Ansatz des intensiven MINT-Lernens

Arbeiten an Projekten

Die Arbeitsorganisation erfolgte in einem Scrum-ähnlichen Format: Jeden Morgen planten die Studierenden Aufgaben für den aktuellen Tag und berichteten abends über die geleistete Arbeit.

Am ersten und letzten Tag bereiteten die Studierenden Präsentationen vor, in denen die Aufgabe und ihre Lösung beschrieben wurden. Um den Schülern zu helfen, ihre gewählten Pläne umzusetzen, waren Lehrer aus Russland und Amerika ständig in den Räumen, in denen an Projekten gearbeitet wurde, anwesend und beantworteten Fragen. Die Kommunikation erfolgte überwiegend auf Englisch.

Ergebnisse und deren Demonstration

Die Bearbeitung der Projekte dauerte eine Woche, anschließend präsentierten die Studierenden ihre Ergebnisse. Alle bereiteten Präsentationen vor, in denen sie darüber sprachen, was sie an dieser Schule gelernt haben, was die wichtigsten Lektionen waren, die sie gelernt haben, was ihnen gefallen hat und was nicht. Anschließend stellte jedes Team sein Projekt vor. Alle Teams haben ihre Aufgaben erledigt.

Das Team, das die Farbkalibrierung implementierte, schloss das Projekt schneller ab als andere, sodass es auch Zeit hatte, die Dokumentation für sein Programm vorzubereiten. Und das Team, das am Straßendiagramm arbeitete, versuchte sogar am letzten Tag vor der Projektdemonstration, seine Algorithmen zu verfeinern und zu korrigieren.

Ansatz des intensiven MINT-Lernens

Abschluss

Nach Abschluss der Schule baten wir die Schüler, vergangene Aktivitäten zu bewerten und Fragen dazu zu beantworten, wie gut die Schule ihre Erwartungen erfüllte, welche Fähigkeiten sie erworben hatten usw. Alle Studierenden stellten fest, dass sie gelernt haben, im Team zu arbeiten, Aufgaben zu verteilen und ihre Zeit zu planen.

Die Studierenden wurden außerdem gebeten, den Nutzen und die Schwierigkeit der von ihnen besuchten Kurse zu bewerten. Dabei wurden zwei Gruppen von Leistungsnachweisen gebildet: Für einige stellten die Kurse keine großen Schwierigkeiten dar, für andere wurden sie als äußerst schwierig eingestuft.

Dies bedeutet, dass die Schule die richtige Position einnimmt, indem sie Anfängern in einem bestimmten Bereich zugänglich bleibt, aber auch Materialien für die Wiederholung und Vertiefung durch erfahrene Schüler bereitstellt. Anzumerken ist, dass der Programmierkurs (Python) von fast allen als unkompliziert, aber nützlich empfunden wurde. Den Studierenden zufolge war der Kurs „Computerarchitektur“ der schwierigste.

Als die Schüler nach den Stärken und Schwächen der Schule gefragt wurden, antworteten viele, dass ihnen der gewählte Unterrichtsstil gefiel, bei dem die Lehrer schnelle und persönliche Hilfe leisteten und Fragen beantworteten.

Die Studierenden bemerkten auch, dass es ihnen gefiel, täglich ihre Aufgaben zu planen und ihre eigenen Fristen festzulegen. Als Nachteile vermerkten die Studierenden den Mangel an Kenntnissen, die bei der Arbeit mit dem Bot erforderlich waren: beim Verbinden, Verständnis der Grundlagen und Prinzipien seiner Funktionsweise.

Fast alle Schüler gaben an, dass die Schule ihre Erwartungen übertroffen hat, und dies zeigt, dass die Organisation der Schule in die richtige Richtung geht. Daher sollten bei der Organisation der nächsten Schule die allgemeinen Grundsätze beibehalten und die von Schülern und Lehrern festgestellten Mängel berücksichtigt und nach Möglichkeit beseitigt werden, indem möglicherweise die Liste der Kurse oder der Zeitpunkt ihres Unterrichts geändert werden.

Artikelautoren: Team Labor für mobile Roboteralgorithmen в JetBrains-Forschung.

PS: Unser Unternehmensblog hat einen neuen Namen. Jetzt wird es Bildungsprojekten von JetBrains gewidmet.

Source: habr.com

Kommentar hinzufügen