Forum: Mikrocontroller und Digitale Elektronik MIni-Roboter mit Vibrations-Motor


von Tim  . (cpldcpu)


Lesenswert?

Ich bin gerade auf diesen Artikel gestoßen:

http://spectrum.ieee.org/automaton/robotics/robotics-hardware/a-thousand-kilobots-self-assemble

Die Konstruktion der Roboter ist hier beschrieben:

http://www.eecs.harvard.edu/ssr/projects/progSA/kilobot.html

Der Antrieb erfolgt durch zwei Handy-Vibrationsmotoren. Ein ziemlich 
cleveres Konzept.

Auf Aliexpress gibt es die Motoren sehr günstig. (z.B. hier 
http://www.aliexpress.com/item/FREE-SHIPPING-new-3V-Coin-Vibration-Vibrating-Vibrator-Micro-Motor-Flat-10mmx3-4mm-diameter/545342712.html)

Hat jemand dazu weitere Quellen oder Beispiele? Mir ist noch nicht 
intuitiv klar, wie die Vibration in eine gerichtete Bewegung umgesetzt 
wird?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> wie die Vibration in eine gerichtete Bewegung umgesetzt wird?

Das wüsste ich auch gerne mal. Könnte eine spaßige Bastelei werden - 
wenn man einen Plan hat.

von Bitlfüsterer (Gast)


Lesenswert?

Das gibt es schon länger. Z.B. 
http://www.evilmadscientist.com/2007/bristlebot-a-tiny-directional-vibrobot/ 
von 2007.
Such mal nach "Bristlebot".

von Tim  . (cpldcpu)


Angehängte Dateien:

Lesenswert?

Stefan us schrieb:
>> wie die Vibration in eine gerichtete Bewegung umgesetzt wird?
>
> Das wüsste ich auch gerne mal. Könnte eine spaßige Bastelei werden -
> wenn man einen Plan hat.

Habe einen Preprint des Papers gefunden, auf das sich die 
Kilobot-Entwickler beziehen. Siehe Anhang.

von Tim  . (cpldcpu)


Lesenswert?

Bitlfüsterer schrieb:
> Das gibt es schon länger. Z.B.
> http://www.evilmadscientist.com/2007/bristlebot-a-tiny-directional-vibrobot/
> von 2007.
> Such mal nach "Bristlebot".

Lustige Idee. Da Kunst wird aber darin bestehen, die Bewegung auch zu 
kontrollieren :)

von Tim  . (cpldcpu)


Lesenswert?


von Bitflüsterer (Gast)


Lesenswert?

Tim    schrieb:
> Bitlfüsterer schrieb:
>> Das gibt es schon länger. Z.B.
>> http://www.evilmadscientist.com/2007/bristlebot-a-tiny-directional-vibrobot/
>> von 2007.
>> Such mal nach "Bristlebot".
>
> Lustige Idee. Da Kunst wird aber darin bestehen, die Bewegung auch zu
> kontrollieren :)

Naja. Ich will mich mal ein wenig aufspielen (sic): Wenn ich es 
verstehen kann, dann können es die meisten verstehen. ;-)
Schnappt Euch die Bürste aus dem Badezimmer und spielt mal ein wenig 
damit. Das Prinzip ist intuitiv zu erfassen.

von Tim  . (cpldcpu)


Lesenswert?

Bitflüsterer schrieb:
>> Lustige Idee. Da Kunst wird aber darin bestehen, die Bewegung auch zu
>> kontrollieren :)
>
> Naja. Ich will mich mal ein wenig aufspielen (sic): Wenn ich es
> verstehen kann, dann können es die meisten verstehen. ;-)
> Schnappt Euch die Bürste aus dem Badezimmer und spielt mal ein wenig
> damit. Das Prinzip ist intuitiv zu erfassen.

Bei der Zahnbürste wird die Ausrichtung der Borsten ausgenutzt, welche 
für einen Richtungsabhängigen Reibungskoeffizienten sorgen. Die 
Bewegungsrichtigung wird hier durch die Borsten definiert und lässt sich 
nicht kontrollieren.

Das Prinzip der Kilobots ist ein wenig anders, aber offenbar auch nicht 
so kompliziert. Durch die Bewegung der Schwungmasse des Vibrationsmotors 
"hüpft" der Roboter senkrecht zur Drehachse in eine Richtung, die von 
der Drehrichtung des Motors abhängt. Durch zwei Motoren kann man die 
Plattform nicht nur parallel verschieben, sondern auch drehen. Im Paper 
wird nachgewiesen, dass das Konzept auch funktioniert, wenn die Motoren 
nicht synchron sind.

Wichtig ist, den Reibungswiderstand der Plattform zur reduzieren. Daher 
steht die Plattform auf drei Beinen. Damit es klappt, müssen die 
Systemparameter der Bedingung auf S.4 oben rechts im Paper genügen.

: Bearbeitet durch User
von Bitflüsterer (Gast)


Lesenswert?

Tim schrieb:
> Bei der Zahnbürste ...

Das ist aber garnicht der Punkt, wenn Du über die Richtung der Bewegung 
und ihre Kontrolle schreiben willst.

Es ist wohl wahr, dass eine von der senkrechten abweichende Richtung der 
Borsten eine Vorzugsrichtung ergibt, in die der Effekt mit geringeren 
Kräften zu erreichen ist - aber ebenso wahr ist, dass das Prinzip als im 
wesentlichen universal in Bezug auf die Richtung erkennbar ist und die 
Neigung der Borsten nur eine Variante. Und wer das Prinzip erkennt, hat 
auch die Möglichkeit zu erkennen, was die Invarianten sind und was 
nicht. (Ich hatte allerdings eher an eine Badebürste gedacht).

Übrigens beruht das Prinzip, wenn ich es recht verstehe, nicht auf einem 
"Hüpfen" sondern auf "Kippen" (Tipping) und "Gleiten" (Sliding).

Was willst Du eigentlich sagen? Das ist wahnsinnig kompliziert und man 
kann es nicht durch betrachten einer Bürste erkennen? Das halte ich für 
unzutreffend. Aber gut: Du bist anderer Meinung.

von Tim  . (cpldcpu)


Lesenswert?

Hallo Bitflüsterer,
ich habe oben nur laut gedacht, nachdem ich das Paper gelesen hatte.

Dass die Ansätze zwischen Bristlebot und Kilobot unterschiedlich sind, 
sieht man schon daran, dass sich der Bristebot in Richtung der Drehache 
des Motors bewegt, während der Kilobot sich senkrecht dazu bewegt.

So wie ich das Paper verstehe, ist mit wm_tip "Tipping" ein Grenzfall 
gemeint, bei dem die Winkelgeschindigkeit des Motors so hoch ist, dass 
die Platform kippt. Mit einem "Handymotor" ist dieser Fall 
wahrscheinlich überhaupt nicht erreichbar. Unterhalb von wm_sl 
("Sliding") bewegt sich die Platform gar nicht. Also muss Omega zwischen 
diesen beiden Werten liegen.

: Bearbeitet durch User
von Bitflüsterer (Gast)


Lesenswert?

Tim schrieb:
> Hallo Bitflüsterer,
> ...
> Dass die Ansätze zwischen Bristlebot und Kilobot unterschiedlich sind,
> sieht man schon daran, dass sich der Bristebot in Richtung der Drehache
> des Motors bewegt, während der Kilobot sich senkrecht dazu bewegt.

Deswegen fliegt der hier auch senkrecht nach oben. 
http://www.instructables.com/image/F0L4EN7GC4G8KNT/Bristle-Bot-20.jpg

Das Prinzip ist das selbe. Aber ich lasse es mit diesem Post bewenden. 
Hat ja keinen Sinn.

von Bitflüsterer (Gast)


Lesenswert?

Scheiss drauf. Es hat einen Sinn.
Es tut mir leid, Tim. Ich glaube zwar nicht, dass Du richtig liegst, 
aber es tut mir leid. Schönen Abend noch.

von Steffen (Gast)


Lesenswert?

Stefan us schrieb:
> Das wüsste ich auch gerne mal. Könnte eine spaßige Bastelei werden -

Ech coole Teile. Sogar die Anleitung ist dabei. Ich vermute das ist wie 
bei einem Raupenantrieb. Je nach dem welche Seite vibriert, macht der 
Robot nach links oder rechts. Also ich bin dabie bei der Bastelei ;-) 
Mich würde noch interessieren, geht das auch mit anderen Formen, muss 
das Gewicht ausgegleichen sein?

von Tim  . (cpldcpu)


Lesenswert?

Hier gibt es noch einen einfacheren Roboter mit dem gleichen Antrieb:

http://www.roborizeh.ir/

Auf das Paper dazu habe ich keinen Zugriff:
http://www.tandfonline.com/doi/full/10.1080/01691864.2013.843788#tabModule

Die Software für den "Rizeh" kann man auch downloader. Ist allerdings 
vergleichsweise einfach und in Bascom geschrieben...

von Tim  . (cpldcpu)


Lesenswert?

Steffen schrieb:
> Je nach dem welche Seite vibriert, macht der
> Robot nach links oder rechts.

Ja, genau so scheint es zu sein. Wobei noch die Drehrichtung des 
Vibrationsmotors wichtig ist, denn er liefert auch den Impuls zur 
Vorwärtsbewegung.

Steffen schrieb:
> Mich würde noch interessieren, geht das auch mit anderen Formen, muss
> das Gewicht ausgegleichen sein?

Wenn die Gewichtsverteilung nicht symmetrisch ist, hat der Roboter 
wahrscheinlich einen Drall. Das könnte man aber durch eine Regelschleife 
ausgleichen. Die Frage ist nur, welchen Sensor man nutzt, um 
festzustellen dass der Roboter sich in die gewünschte Richtung bewegt. 
Bei einem Line-Follower, wie oben, ist das ja relativ einfach.

von Tim  . (cpldcpu)


Lesenswert?

Die Positionssensorik ist beim Kilobot übrigens äußerst genial gelost: 
Unter dem Bot befindet sich in der Mitte eine IR-LED und eine passende 
Photodiode. Die LED beleuchtet den Untergrund unter dem Roboter. Das 
Signal kann von benachbarten Bots empfangen werden.

Über diesen Kanal können die Bots Informationen austauschen und sich 
gegenseitig identifizieren. Da die Intensität mit der Entfernung 
abnimmt, lasst sich aus der Signalstärke auch der Abstand bestimmen. Aus 
diesen Informationen können die Bots relative Positionen zueinander 
bestimmen und entsprechend navigieren.

von Stefan F. (Gast)


Lesenswert?

Ahs so geht das. Genau danach wollte ich gerade fragen. Du bist mir 
zuvor gekommen.

von Tim  . (cpldcpu)


Angehängte Dateien:

Lesenswert?

Bin gerade dabei, mir einen vereinfachten Kilobot zu designen.

Komponenten:
   - MCU: Attiny841. Sollte genug I/O haben und hat im Gegensatz zu 
ATtiny85 und 84A bessere Peripherie zur Ansteuerung von Motoren und 
Sensoren.
   - Batterie: Erste idee war eine CR2032 zu nutzen. Leider reicht die 
max. discharge current nicht, um die Motoren zu betreiben. Bleibt also 
nur ein LiPo Akku - nervig.
   - Will versuchen, ein nRF24L01-Modul zur Fernsteuerung zu 
integrieren.
   - Lichtsensor? Habe da noch keine gute idee. Soll nur als Lichtfolger 
eingesetzt werden.

Wo ich gerade festhänge, ist die Motorsteuerung. Im Original wird ein 
Bipolar-Transistor eingesetzt (Bild). Zusätlich gibt es für die Motoren 
einen eigenen Spannungsregler. Mir erscheint das alles zu kompliziert 
und zu ineffizient.

Ich will daher einen low-Rdson NFET nutzen (IRLML2502) und die Motoren 
direkt an die Batterie hängen. Auch für den MCU würde ich gerne auf 
einen Spannungsregler verzichten. Ist das realistisch oder werden die 
Motoren das Spannungsnetz zerhacken? Wahrscheinlich benötige ich eine 
Induktivität zur entstörung?

: Bearbeitet durch User
von Steffen (Gast)


Lesenswert?

Tim    schrieb:
> Wo ich gerade festhänge, ist die Motorsteuerung. Im Original wird ein
> Bipolar-Transistor eingesetzt (Bild). Zusätlich gibt es für die Motoren
> einen eigenen Spannungsregler. Mir erscheint das alles zu kompliziert
> und zu ineffizient.
>
> Ich will daher einen low-Rdson NFET nutzen (IRLML2502) und die Motoren
> direkt an die Batterie hängen. Auch für den MCU würde ich gerne auf
> einen Spannungsregler verzichten. Ist das realistisch oder werden die
> Motoren das Spannungsnetz zerhacken? Wahrscheinlich benötige ich eine
> Induktivität zur entstörung?

naja wobei man mosfets nehmen kann. Wegen dem Spannungsregler kann ich 
mir auch nicht vorstellen was das soll, was mir da ausfällt, der wird 
über den MCU gesteuert (EN) Nicht das die mit n PWM Signal den Regler 
steuern und mit dem Transistor den Motor nur ein/aus schalten. Als 
Stromversorgung sind die Lipos schon gut, Ich nutze seit Jahren 
verschiedene Ausführungen. Derzeit kleine 250mAh Lipos, die können bis 
20C belastet werden. Den MCU sollte man auf alle fälle mit Entstörung 
betreiben. Wird bei den Teilen auch so gemacht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.