Raspberry als Hivemind - Robotik
Verfasst: Donnerstag 5. April 2018, 11:15
Hallo zusammen!
Ich Frage hier, weil je mehr ich mich mit dem Thema beschäftige desto mehr Fragen kommen auf. Vor allem welche Module dafür nützlich wären und wie man diese gut umsetzt ist eine große Frage für mich.
Worum geht es mir da überhaupt?
Ich würde gern ein kleines System bauen was anfänglich mit 1-2 selbstgebauten kleinen Bots kommuniziert. Sei es nur das erstmal nur ein "#Bot001 dockt an RPi3 an" - aber auch das die kleinen Roboter selbstständig zum Aufladen wieder zum RPi3 fahren.
Das wäre zumindest mein Hauptziel! Es wird schon schwierig genug sein und auch erstmal eine Art 'Alpha' dafür zu bauen.
Deswegen wollte ich Fragen ob es hier ein paar wenige gibt die vielleicht Interesse hätten mit Rat und Tat etwas zur Seite zu stehen? Bei der Modulauswahl, auch eventuell beim Design und falls ich Probleme habe einen Code vernünftig umzusetzen!.
Das Konzept selbst:
Hier einmal eine Auflistung was 'möglich' wäre.
Hivemind
Priorität: A
Typ: Großbot
System: Rpi3
Energie: Batterie / Direktanschluss / Solar
Bewegung: Stationär
Sensoren: Noch keine genaue Idee
Speicher: min. 32GB
Module:
-Aufladestation Kleinrbots
-Aufladestation Mittelbots
-Leuchtfeuermodul(z.B. Funk, Wlan oder Bluetooth)
-Kommunikationsmodul (z.B. Funk, Kontakt etc.)
Grundidee:
Der Hivemind ist so gesehen das 'teure' an dem ganzen. Er ist das Speichermedium, verarbeitet einkommende Daten und gibt sie an die Kleinbots hinaus. Genauso dokumentiert er was alles Ein- und Ausgegangen ist. Er ist eben das 'Gehirn' des ganzen.
Secondmind
Priorität: C
Typ: Mittelbot
System: Arduino?
Energie: Batterie/Akku
Bewegung: Mobil - Räder
Sensoren:
-Sichtsensoren(Kamera oder Sonarsystem)
Module:
-Leuchtfeuermodul
-Kommunikationsmodul
-Aufladestation Kleinbots
-Motoren
Grundidee:
Das Secondmind ist etwas was man auch als 'Gebietserweiterung' bezeichnen kann. Und auch eher etwas was ich viiiiiiiiiiel später hinzufügen wollen würde. Die Idee dahinter ist ganz einfach: Wenn die Kleinbots öfter aus dem Leuchtfeuer-Radius hinausfahren dann soll ein Secondmind hinausfahren welcher nicht die gleiche Leistung bringt, allerdings als zweite Aufladestation und als weiteres 'Orientierungsleuchtfeuer' dienen kann.
Sammelbot
Priorität: A
Typ: Kleinbot
System: -Noch keins-
Energie: Akkubatterie
Bewegung: Mobil - Räder
Sensoren:
-Sichtsensoren(Kamera oder Sonarsystem)
-Geräuschsensor (Optional)
-Flüssigkeitssensor (Optional)
-Drucksensor(Optional)
Module:
-Lademodul
-Aufnahmemodul(Greifer oder Magnete)
-Kommunikationsmodul
-Motoren
Grundidee:
Die Sammelbots sind im Prinzip die kleinsten Bots. Sie fahren hinaus und suchen nach 'Ressourcen', laden sie ein und laden sie dann beim Hivemind ab. Die Sammelbots müssen deswegen mit dem Hivemind kommunizieren und auch untereinander kommunizieren können.
Weswegen sie auch verschiedene Speicherbereiche haben - einmal den "Basis"Bereich wo so gesehen alle Grunddaten wie Bewegung, Verhalten im Fall von X vorkommen, dann einmal den Anweisungsbereich, wo vom Hivemind immer eine Anweisung eingespeichert und die alte gelöscht wird.
Ressource
Priorität: B
Typ: Ressource
System: Noch keins
Energie: Noch keins
Bewegung: Stationär
Sensoren: Noch keine
Module: noch keine
Grundidee:
Die Ressource sollen kleine Würfel oder Kugeln sein die von den Sammelbots erkennt und dann aufgesammelt werden. Theoretisch könnte es ein einfacher blauer Würfel sein oder ein Magnet der aufgenommen wird.
Da ich allerdings komplett Neu in dieser Materie bin, muss ich so oder so noch viiiiiiiiiiiiiel Recherche betreiben und auch: "Wie soll ich damit überhaupt erstmal anfangen?"
Eine Simulation mit einfachen Pixeln die sich von A nach B bewegen und auch die Wegfindung generieren?
Und wenn wir zum technischen Aspekt kommen stellen sich mir auch in den Modulen einige Fragen.
Vor allem bezüglich der Sicht:
Sonar-Orientierung oder direkt eine Mini-Kamera in Graustufen oder mit Blau-Grün und Roterkennung?
Eine 'Bewegungserkennung' ist ggf auch sinnvoll.
Design:
Vor allem das Design spielt dabei eine Rolle, da Klein und Mittelbots so gesehen auch immer gleich aussehen sollten, zumindest in ihrer Basisfunktion
Kommunikation mit dem Hivemind:
Eine extra kurze Funkverbindung oder wäre eine Kontaktverbindung sinnvoller? So muss der Hivemind erkennen
Kommunikation untereinander - Oder wie ich es nenne: "Schwarmintelligenz"
Das wird heutzutage ja schon mit Computern gemacht, wo sich die Rechenleistung untereinander geteilt und benutzt wird. Hier allerdings wäre vor allem der direkte Kontakt wichtig. Bedeutet: Wenn mehrere Bots aneinander 'andocken' sollen sie ihre Rechenleistung zusammen teilen und dadurch im Optimalfall eine schnellere Problemlösefähigkeit entwickeln.
Letzteres ist dabei nicht so wichtig sondern eher das die Bots bei Kontakt erkennen ob es einer von ihnen ist oder von einem anderen.
Welches System für die Kleinbots?
Micropython? Ein Arduino System oder doch was ganz anderes? Ich bin mir im Moment nicht sicher aber wohl auch weil mir die Übersicht fehlt.
Ich Frage hier, weil je mehr ich mich mit dem Thema beschäftige desto mehr Fragen kommen auf. Vor allem welche Module dafür nützlich wären und wie man diese gut umsetzt ist eine große Frage für mich.
Worum geht es mir da überhaupt?
Ich würde gern ein kleines System bauen was anfänglich mit 1-2 selbstgebauten kleinen Bots kommuniziert. Sei es nur das erstmal nur ein "#Bot001 dockt an RPi3 an" - aber auch das die kleinen Roboter selbstständig zum Aufladen wieder zum RPi3 fahren.
Das wäre zumindest mein Hauptziel! Es wird schon schwierig genug sein und auch erstmal eine Art 'Alpha' dafür zu bauen.
Deswegen wollte ich Fragen ob es hier ein paar wenige gibt die vielleicht Interesse hätten mit Rat und Tat etwas zur Seite zu stehen? Bei der Modulauswahl, auch eventuell beim Design und falls ich Probleme habe einen Code vernünftig umzusetzen!.
Das Konzept selbst:
Hier einmal eine Auflistung was 'möglich' wäre.
Hivemind
Priorität: A
Typ: Großbot
System: Rpi3
Energie: Batterie / Direktanschluss / Solar
Bewegung: Stationär
Sensoren: Noch keine genaue Idee
Speicher: min. 32GB
Module:
-Aufladestation Kleinrbots
-Aufladestation Mittelbots
-Leuchtfeuermodul(z.B. Funk, Wlan oder Bluetooth)
-Kommunikationsmodul (z.B. Funk, Kontakt etc.)
Grundidee:
Der Hivemind ist so gesehen das 'teure' an dem ganzen. Er ist das Speichermedium, verarbeitet einkommende Daten und gibt sie an die Kleinbots hinaus. Genauso dokumentiert er was alles Ein- und Ausgegangen ist. Er ist eben das 'Gehirn' des ganzen.
Secondmind
Priorität: C
Typ: Mittelbot
System: Arduino?
Energie: Batterie/Akku
Bewegung: Mobil - Räder
Sensoren:
-Sichtsensoren(Kamera oder Sonarsystem)
Module:
-Leuchtfeuermodul
-Kommunikationsmodul
-Aufladestation Kleinbots
-Motoren
Grundidee:
Das Secondmind ist etwas was man auch als 'Gebietserweiterung' bezeichnen kann. Und auch eher etwas was ich viiiiiiiiiiel später hinzufügen wollen würde. Die Idee dahinter ist ganz einfach: Wenn die Kleinbots öfter aus dem Leuchtfeuer-Radius hinausfahren dann soll ein Secondmind hinausfahren welcher nicht die gleiche Leistung bringt, allerdings als zweite Aufladestation und als weiteres 'Orientierungsleuchtfeuer' dienen kann.
Sammelbot
Priorität: A
Typ: Kleinbot
System: -Noch keins-
Energie: Akkubatterie
Bewegung: Mobil - Räder
Sensoren:
-Sichtsensoren(Kamera oder Sonarsystem)
-Geräuschsensor (Optional)
-Flüssigkeitssensor (Optional)
-Drucksensor(Optional)
Module:
-Lademodul
-Aufnahmemodul(Greifer oder Magnete)
-Kommunikationsmodul
-Motoren
Grundidee:
Die Sammelbots sind im Prinzip die kleinsten Bots. Sie fahren hinaus und suchen nach 'Ressourcen', laden sie ein und laden sie dann beim Hivemind ab. Die Sammelbots müssen deswegen mit dem Hivemind kommunizieren und auch untereinander kommunizieren können.
Weswegen sie auch verschiedene Speicherbereiche haben - einmal den "Basis"Bereich wo so gesehen alle Grunddaten wie Bewegung, Verhalten im Fall von X vorkommen, dann einmal den Anweisungsbereich, wo vom Hivemind immer eine Anweisung eingespeichert und die alte gelöscht wird.
Ressource
Priorität: B
Typ: Ressource
System: Noch keins
Energie: Noch keins
Bewegung: Stationär
Sensoren: Noch keine
Module: noch keine
Grundidee:
Die Ressource sollen kleine Würfel oder Kugeln sein die von den Sammelbots erkennt und dann aufgesammelt werden. Theoretisch könnte es ein einfacher blauer Würfel sein oder ein Magnet der aufgenommen wird.
Da ich allerdings komplett Neu in dieser Materie bin, muss ich so oder so noch viiiiiiiiiiiiiel Recherche betreiben und auch: "Wie soll ich damit überhaupt erstmal anfangen?"
Eine Simulation mit einfachen Pixeln die sich von A nach B bewegen und auch die Wegfindung generieren?
Und wenn wir zum technischen Aspekt kommen stellen sich mir auch in den Modulen einige Fragen.
Vor allem bezüglich der Sicht:
Sonar-Orientierung oder direkt eine Mini-Kamera in Graustufen oder mit Blau-Grün und Roterkennung?
Eine 'Bewegungserkennung' ist ggf auch sinnvoll.
Design:
Vor allem das Design spielt dabei eine Rolle, da Klein und Mittelbots so gesehen auch immer gleich aussehen sollten, zumindest in ihrer Basisfunktion
Kommunikation mit dem Hivemind:
Eine extra kurze Funkverbindung oder wäre eine Kontaktverbindung sinnvoller? So muss der Hivemind erkennen
Kommunikation untereinander - Oder wie ich es nenne: "Schwarmintelligenz"
Das wird heutzutage ja schon mit Computern gemacht, wo sich die Rechenleistung untereinander geteilt und benutzt wird. Hier allerdings wäre vor allem der direkte Kontakt wichtig. Bedeutet: Wenn mehrere Bots aneinander 'andocken' sollen sie ihre Rechenleistung zusammen teilen und dadurch im Optimalfall eine schnellere Problemlösefähigkeit entwickeln.
Letzteres ist dabei nicht so wichtig sondern eher das die Bots bei Kontakt erkennen ob es einer von ihnen ist oder von einem anderen.
Welches System für die Kleinbots?
Micropython? Ein Arduino System oder doch was ganz anderes? Ich bin mir im Moment nicht sicher aber wohl auch weil mir die Übersicht fehlt.