In diesem Video möchte ich zeigen, wie man mit sehr einfachen Mitteln effektives Linienfolgen (bzw. in diesem Falle Straßenfolgen) umsetzen kann. Das Projekt entstand als Praxisteil meiner Seminarfacharbeit Klasse 12 "Bionik - Orientierung und Fortbewegung in komplexen Umgebungen".
Der ASURO wurde umgebaut, sodass die Liniensensoren in der Mitte nun an den beiden Seiten liegen. Die LED in der Mitte wurde ebenfalls ausgebaut und durch je eine weiße LED pro Seite/Sensor ersetzt. Die Softwareroutinen in der ASURO-Bibliothek können wie gewohnt benutzt werden.
Die Software gleicht beim Start die beiden Sensoren aneinander an und begiebt sic ann in eine Endlosschleife, in der sie das Künstliche Neuronale Netz berechnet.
Dieses Netz ist wirklich sehr einfach. Die eingehenden Sensorwerte werden mit unterschiedlichen Gewichtungen an die beiden Ausgabeneuronen übermittelt. Deren Output steuert die Geschwindigkeit der beiden Motoren. Man könnte dieses Netz einfach um weitere Eingabeneuronen erweitern und somit Linienfolgen mit weit mehr als nur zwei Sensoren umsetzen. (seihe Homepagelink weiter unten).
Die Strecke wurde von meiner Seminarfachgruppe (2xFrau, 2xMann) und mir für das Kolloquium gebaut.
Musik: Muse - Bliss (Album "Origin of Symmetry")
Auf meiner Homepage gibts noch weitere Informationen:
http://johannesneumann.net/index.php?page=asuro-und-die-linien
Hi
Das funktioniert ja super ;-) Ziemlich gut!!
Ich wollte dich fragen ob du mir dein Programmcode schicken könntest? Ich versuche etwas ähnliches, wie du zu machen. ;-) Es klappt jedoch noch nicht so ganz. Desshalb wäre ich sehr froh darum.
LG strahmi94
strahmi94 4 months ago
@strahmi94 Habe den Code leider nicht mehr zur Hand. Was geht denn nicht? Du kannst die Funktionsweise aus dem Diagram zum "neuronalen Netz" ablesen. 05 bzw. -0,5 sind Gewichtungen. Einfach den Wert am Anfang des Pfeils mit der Gewichtung mulitpliziert in den Punkt am Ende eines Pfeils einfließen lassen.
TheSlowGrowth 4 months ago
Wow, wirklich beeindruckend. Wie hast du die Schwellenwerte bestimmt? Durch probieren oder steckt da kalkül dahinter? Gruß
Schmirrgl 2 years ago
Es gibt keine Schwellenwerte. Das ist ja das schöne!
Falls du die Gewichtungen meinst: Das war blanke Logik. So viel anders hätte man es eh nicht machen können.
TheSlowGrowth 2 years ago
Wow, sieht gut aus, Dein "Modelleisenbahnlandschaft". Auch, dass Du dem Asuro einen etwas "biologischen" Anstrich gegeben hast.
Was das neuronale Netz angeht, wäre der nächste Schritt vielleicht das adaptive Anpassen der Gewichtungen ( Vielleicht müsste dann die Aufgabe auch etwas komplexer ausfallen )
Ein Lob von mir :-)
zielpunkt 2 years ago
Ja, die Gewichtungen muss ein KNN ja eigentlich selbst erlernen. In dieser Anwendung wäre das aber blanker Unsinn gewesen, allein die Mathematik hinter dem Lernprozess ist weit aufwendiger als bloßes Probieren. Aber vielleicht finde ich noch eine Anwendung, in der ich auch das mal sinnvoll probieren kann.
Toll ist ja eigentlich, dass man mit diesem so extrem einfachen Netz auch mal Linienfolgen mit 8 Sensoren machen kann, je weiter außen des Sensor, desto höher seine Gewichtung, usw.
TheSlowGrowth 2 years ago