Omni-Tool, wie man

Omni-Tool, wie man

Omni-Tool, wie man

Dieser Artikel erschien in Fabrikat: Vol. 40.

Ein Roboter, der sofort in jede Richtung bewegen kann, ist nützlich, um um enge Räume und für Verhaltensweisen wie jagen (oder Flucht). Egal wie schnell ein R / C Auto ist, gibt es keine Möglichkeit, es etwas zu fangen, die sofort in jede Richtung gehen können, auch seitwärts. Regelmäßige Auto-Stil Roboter kann nicht fahren seitwärts, aber Omniwheel Roboter kann!

Ein Omniwheel ist ein Rad, deren Lauffläche aus einer Reihe von kleinen Rollen gebildet. Sie sind im Handel für Dinge wie Transfertabellen auf Produktionslinien verwendet werden, und das bedeutet, sie sind billig und zuverlässig. In diesem Projekt werden Sie sie verwenden, um eine Kiwi-Laufwerk Roboter-Plattform zu bauen - ein Drei-Omniwheel Fahrzeug, das in jede Richtung fahren kann. Es ist faszinierend zu beobachten, und es kann während der Fahrt selbst drehen, so groß, es ist für zu Türmchen-Typ-Anwendungen.

Wenn ein Roboter sofort in jede Richtung fahren kann, ist es holonomic genannt - es hat zwei Freiheitsgrade auf dem Boden. Cars, wo alle Räder in einer Reihe aufstellen, kann nicht im rechten Winkel zu ihren Rädern bewegen, so dass sie nicht holonomic.

Omni-Tool, wie man

Omniräder können bei 90 Grad um ihre Achse zu bewegen, so dass Sie montieren sie unterschiedliche Richtungen auf Ihrem Fahrzeug und verwenden ein bisschen Mathematik nach wie vor in einer geraden Linie zu gehen. (Das ist, wo ein Mikrocontroller in praktisch.) Wie die meisten Dinge in der Technik, gibt es einige Nachteile, weshalb wir Antrieb Omniwheel Autos nicht alle. Sie sind langsamer, empfindlich gegenüber Staub, kann weniger Last nehmen - nur ein paar Pfund für die Räder verwenden wir - und sie sind weniger effizient. Aber in engen Räumen sind sie die richtige Wahl, und viel Spaß!

Unser Omniwheel Roboter ist ein anfängerfreundlich zu bauen, die einen Arduino Mikrocontroller verwendet, die neue Marke: Motorschild und Standard-R / C Getriebe - all der Plug-and-Play.

NEU! Hersteller: Motor-Schild

Mitentwickelte mit Mutwillen, unser großartigen neuen Motorschild kann 4 Gleichstrommotoren (1.2A-3A max) oder 2 Steppern und 6 Servos laufen. Es verfügt über Strommessung, so dass Sie Motoren als Sensoren verwenden können, und es akzeptiert R / C-Eingänge von Standard-Radio Vorschaltgeräten! Kein Löten erforderlich. Maker Shed item # MSMOT01. von makershed.com.

Kiwi-Laufwerk: Knacken des Codes

Ihr Roboter hat drei Räder, die alle zeigen in verschiedenen Richtungen - wie auf der Erde wird es geht in einer geraden Linie fahren? Es erfordert einige anspruchsvolle Mathematik, so dass Sie nicht dieses Fahrzeug ohne Computer fahren können. Der Arduino Code schaltet die Funksteuersignale in Motor-Leistungssignale für jeden Motor. Aber wie?

  1. Ein Funksteuersignal ist ein wenig wie ein Pulsweitenmodulationssignal (PWM), aber nicht ganz. Die R / C-Sender-Signalimpuls erzeugt, und der Arduino liest diese in auf Stifte Dig4 (R / C-Eingang 1, rechts) und DIG8 (R / C-Eingang 2, auf der linken Seite, in der Nähe der anderen Brücken).
  2. Der Arduino wandelt die R / C-Signale zu Motoransteuersignale PWM, den PulseIn Befehl.
  3. Als nächstes wendet die Arduino Skizze Formeln Vektor math das Motorsignals der einzelnen Vektors (A-B), in 3-Vektoren zu brechen, eine für jedes Rad (w1, w2 und w3). Das Arduino funktioniert das alles im Fluge für Sie aus, sendet die neuen Antriebssignale an jeden Motor und das Fahrzeug fährt!

Omni-Tool, wie man

Wie funktioniert die Mathematik? Stellen Sie sich vor Sie versuchen, von Punkt A zu Fuß zum Punkt B. Das Problem ist, sind die einzigen Richtungen, die Sie erlaubt zu gehen sind die roten, grünen und blauen Richtungen. Wie würden Sie gehen? Aufgrund unserer Regeln können Sie nicht gerade dort zu Fuß. Eine Möglichkeit, es zu tun wäre, in der grünen Richtung zu gehen, bis Sie waren Ebene mit Punkt B, dann zu Fuß in der roten Richtung, bis Sie bei B. angekommen würden Sie nicht in der blauen Richtung zu gehen brauchen. (Es gibt viele Lösungen).

Diese Art des Gehens sieht viel wie Vektoren verwendet, weil es ist. Sie müssen nicht in diesem Beispiel in der blauen Richtung gehen, also lassen Sie uns das Problem schwieriger machen: Stellen Sie sich mit einer bestimmten Geschwindigkeit zu reisen sind versucht, durch die Länge der Linie dargestellt ist, und Sie haben alle Linien zu verwenden, . So haben Sie 3 Zeilen, alle spezifischen Längen und Richtungen. Jetzt gibt es nur eine Möglichkeit, die Rot, Grün zu kombinieren, und blaue Linien von A nach B (Abbildung 2) zu erhalten. Der Schlüssel, was zu verstehen ist, dass Leitungslänge die Geschwindigkeit jedes Rades darstellt. Was wir tun müssen, ist die Länge berechnen jede Zeile sein muss.

Die Leitungslänge stellt die Radgeschwindigkeit (WS) eines jeden Rades. Wir wissen bereits, wie schnell wir das Fahrzeug gehen wollen (die Größe des Vektors), die Richtung, die wir (Fahrzeugwinkel oder theta, θ) wollen und den Winkel jedes Rades am Fahrzeug (WA), die eingestellt wurde, als wir baute es (0 °, 120 ° und 240 ° - dort aus in den Formeln die √ (3/2) kommen unten).

Wir können nun zwei Zahlen ausrechnen, die x- und y-Vektoren:

Wir stecken diese in 3 Formeln, um die Geschwindigkeiten zu erhalten (Winkelgeschwindigkeiten) für jedes Rad. Das erste Rad ist einfach - es bewegt sich nur parallel zur x-Achse, so dass wir nur die x-Komponente nehmen und die y wegzuwerfen:

Die anderen 2 Räder, W2 und W3, eine Komponente von x und y-Vektoren:

Natürlich müssen Sie diese Mathematik nicht tun, es ist alles durch das Arduino getan. Wenn Sie die Arduino Skizze lesen, werden Sie sehen, gibt es eine zusätzliche Implementierung Detail zu behandeln, ob die Ergebnisse positiv oder negativ sind. Dies liegt daran, dass wir eine negative Antwort auf meinen „rückwärts gehen“ und ein positives wollen „vorwärts gehen.“

Schritt # 1: Solder Drähte an die Motoren

  • Dann testen Sie jeden Motor, indem sie es mit dem Batteriesatz verbindet - nur die Drähte verdrillen - um sicherzustellen, dass sich die Räder frei drehen. Die Motoranschlusslaschen sind zerbrechlich, so mit den Drähten vorsichtig sein, bis sie nach unten geklebt sind.
  • HINWEIS: Bei DC-Motoren, spielt es keine Rolle, welche Seite positiv (+) und die negativen (-). Aber stellen Sie sicher, dass alle drei Motoren verdrahtet werden auf die gleiche Art und Weise oder Ihr Roboter wird in Kreisen am Ende der Fahrt, weil ein Motor rückwärts gehen wird.

Schritt 2: Bringen Sie die Räder

  • Schneiden Sie Scheiben von 1/8" (0,118" ) Acryl nach der vorgesehenen Vorlage wheel1.svg. und super-kleben sie zusammen, wie dargestellt. (I gesetzt ein kleines Gewicht auf, während der Klebstoff getrocknet wird.)
  • Dann kleben die größeren Scheiben auf die Omniwheels, und die kleineren Scheiben direkt an die Motoren, wie dargestellt.

Schritt 3: Montieren Sie die Motoren

  • Verwenden doppelseitigem Klebeband um die Motoren an der Plattform, nach der Vorlage base1.svg zu montieren die Motorwellen um sicherzustellen, richtig ausgerichtet, 120 ° voneinander entfernt.
  • Setzen Sie einen Klecks Heißkleber auf jedem Paar von Drähten, sie zu halten.

Schritt # 4: Verlegen Sie die Motorleitungen

  • Bohrer 3 Löcher der Motordrähte durch die Plattform zu übergeben. Die Plattform will den Bohrmeißel laufen, so hält sie fest nach unten.
  • Verlegen Sie die Kabel durch die Löcher. Testen Sie jeden Motor mit dem wieder Akku.

Schritt # 5: Fügen Sie die Elektronik

  • Schalten Sie die Plattform über, so dass die Motoren auf dem Boden sind. Oben, stapelt den Akku, eine isolierende Folie aus Papier oder Kunststoff, die Arduino, und die Make: Motorschild (in dieser Reihenfolge). Früher habe ich wenig Gummifuß auf der Arduino, aber doppelseitiges Klebeband wird auch funktionieren.
  • Sicherstellen, dass die Motorschild Schalter in der Aus-Position ist, und schließen Sie den Akku an das + Schild und - Stifte, und die Motoren an den Stift M1, M2 und M3 auf dem Schild.

Schritt # 6: Verbinden Sie den Receiver

  • Folgen Sie den Anweisungen des Herstellers Ihres R / C-Receiver mit Ihrem Sender zu paaren.
  • Führen Sie eine R / C-Servoleitung aus dem Receiver zu den 2 RC_IN Ports auf dem Motorschild. Schwarz (Masse) ist in Richtung der Mitte des Schildes. Ich benutzte das Ruder (RUDD) und Querruder (WING) Verbindungen meiner R / C-Empfänger, der auf der linken Sender Joystick kartieren.

Schritt 7: Programm der Arduino

  • Verbinden Sie Ihren Arduino an Ihren Computer mit einem USB-Kabel. Laden Sie die Skizze OmniWheelControl.ino von github.com/WickedDevice/OmniWheelControl. öffnen Sie es in der Arduino IDE, und klicken Sie auf den Pfeil, um sie das Board zu.
  • Sie werden auch die Motor-Schild Bibliothek benötigen; laden Sie es auf github.com/WickedDevice/WickedMotorShield dann weiter mit dem Arduino IDE und installieren Sie es Sketch → Bibliothek importieren, indem Sie.

Schritt 8: Fügen Sie eine Abdeckung (optional)

  • Sie können Sie das Aussehen mag so ziemlich alles, was man aus machen.
  • Wenn Sie Zugang zu einem Laserschneider haben, unsere Dateien für Laserschneiden Herunterladen eine Grundbox von 1/8" (0,118" ) Acryl, so bemessen, dass ein 6 × AA-Batteriepaket enthält, das Arduino, den Motor Schild und die R / C-Empfänger.

Schritt # 9: Nehmen Sie es für eine Probefahrt

  • Das Motorschild hat zwei wichtige Brücken im Auge zu behalten. BEC liefert Strom an den Funkempfänger, so dass Sie keine zusätzliche Stromquelle benötigen. EXT dient zur Versorgung des Arduino der Motorstromquelle verwendet wird, in diesem Fall den Akku. Achten Sie darauf, diese beiden Brücken verbunden sind, und dass es neue Batterien in die Halterung ein.
  • TIPP: Wenn Sie eine Brücke zu entfernen, versuchen Sie nicht, es vom Brett weg zu speichern - es ist klein und leicht zu verlieren. Stattdessen trennt es von einem Stift nur, und lassen Sie es hängt. Dies unterbricht die Verbindung, aber hält die Brücke praktisch, wenn Sie es zurücksetzen möchten.
  • Der Schalter auf dem Motorschild versorgt bis die Motoren - das ist, so können Sie mit einem Roboter auf Ihrem Schreibtisch experimentieren, ohne es plötzlich losfahren zu müssen. Schalten Sie ihn nun an. Schalten Sie den Sender und versuchen, die Stöcke zu bewegen. Wenn alles funktioniert, sollten Sie jetzt eine Arbeits R / C holonomic Roboter haben!
  • HINWEIS: Wenn der Roboter arbeitet, die Leistungs Jumper trennen und den Motor Netzschalter ausschalten Batterien zu speichern. (Ich habe 6 Stunden nahezu kontinuierliche Verwendung von 4 Duracell bei Maker Faire, so ist es ziemlich effizient.)

Schritt # 10: Gehen weiter

Schritt # 11: Killer-Kiwis

Sie Jungs machen es sehr schwer, mein Geld zu nehmen.

Bitte können Sie mir sagen, was wäre es einfacher machen? Sollten wir alles in einem Satz bündeln?

Ein Kit wäre einfacher, aber das war nicht mein besonderes Problem.

Als ich an der Montageplattform Hardware auf den Wicked-Geräten zuerst sah ich erinnere mich nicht, dass es die Räder als erwähnen enthalten ist. Es zeigt sich jetzt, dass sie enthalten sind.

Grundsätzlich denke ich, dass jeder Nachteil war, dass die Such-Strings und die Verbindungen haben, um uns nicht zu dem, was wir wollten.

Auch ich glaube nicht, es war klar, oben aber der Link gepostet oben aus dem Artikel ist. Dieser Zusammenhang wird in dem Artikel zur Verfügung gestellt und es löst nicht.

Habe mein Omniwheel Roboter arbeiten! Ich fand (ganz zufällig), dass, wenn Sie die Leitungen auf M1 wechseln, dann Sie ein vorwärts erhalten / rückwärts, dreht Seite Roboter Seitentyp, der auch eine Menge Spaß. Ich wechselte sie zurück, und jetzt bin ich bekommen, was ich in dem Video gesehen - der Roboter bewegt sich wie auf einem x / y-Gitter.

Nun, da habe ich es funktioniert, würde Ich mag einen weiteren RC-Steuerelement hinzuzufügen für eine Drehung zu ermöglichen. Hat jemand dies noch nicht getan? Ich bin etwa im Arduino-Code zu Beginn der Suche, aber wenn jemand anderes es bereits getan hat und kann mir etwas Zeit sparen ... ;-)

Hat jemand versucht?

Wir haben eine Arbeits Omniwheel bietet, auch. Statt einen RC-Sender zu verwenden, wir haben es von einer * nix-Box läuft (Mac, Raspberry Pi, Linux PC) XBees für die drahtlose Verwendung. Wir verwenden Joysticks mit einem Arduino als unsere Eingabegeräte.

Wir haben eine Reihe weiterer Verbesserungen vorgenommen. Ein blinkende LED, Sensoren (Temperatur, Druck, Höhe, ...), und 2 Joystick-Steuerung. Der zweite Joystick können Sie den Bot in beide Richtungen drehen.

Ich bin nicht in der Lage, den Motor Schild zu finden. Wo kann ich es finden?

So stellen Sie die RC-Kommunikation, ich sehe drei Teile benötigt: die Turngy Hörer, die trransmitter Modul und das Empfangsmodul. Ich bin neu in RC-Systeme. Könnten Sie elaboater, wie das Sendemodul und das Mobilteil zusammenpassen. Warum kann der Hörer direkt an das Empfängermodul sprechen? Warum braucht die Hanset einen tranmitter Modul? Gibt es eine recepticle im Hörer das Modul zu halten? Ist das Mobilteil ausgelegt, ein Modul zu verwenden oder brechen wir es offen und Hacking es? Ich habe ein paar cheep RC Spielzeug gekauft und die RC aufgebaut erschien einfacher, die nur aus einem Handgerät und das Spielzeug selbst. Ich versuche nur, um meinen Kopf um diesen zu erhalten. Gibt es eine gute Verbindung, die mir einige Hintergrundinformationen geben würde? Ich bin wirklich begeistert, dieses Projekt zu versuchen. Sieht großartig aus!

Ich habe eine kurze newbie Frage über den Funksender und -empfänger. Wird der Empfänger, der mit dem Turnigy 9x Kit Arbeit kommt? Gibt es einen Grund, das OrangeRX Modul zusätzlich durch?

Hat jemand ein paar Tipps, wie konzentrische Kreise so kleben, dass sie wirklich zentriert sind? Ich musterte es, wenn ich die Acrylscheiben auf die Räder aufgeklebt, und sie sind nicht gut zentriert.

Ich stelle mir vor, dass eine Art von Spannvorrichtung für diesen Zweck.

Ich hatte das gleiche Problem. Nur 1 der 3 I zusammengebaut wurden aus (Anwenderfehler) ausgerichtet ist. I ended Druck Naben für die Räder und Wegwerfen der Acryl-Versionen.

Ich hatte ein Problem mit der Bot nicht in einer Achse bewegt, wenn es bereits in einer anderen Achse bewegt. Wenn ich mit der Konsole debuggt der pulseIn Befehl nicht Kanal Einfangen wurde 1 nur Eingangswert des Kanals 2 groß war. I it „fixiert“, aber die Skizze die Bearbeitung und den Timeout im PulseIn Befehl von 25000 auf 0. Der Bot bewegt, wie dies befohlen jetzt verändern.

Kann mir jemand bei der Programmierung helfen? Ich mag meine eigene Fernbedienung entwerfen, aber nicht wissen, wie es zu programmieren. Ich habe mein Design angebracht (Ich werde für eine BB8 droid 2 Roboter habe ich mache). Vielen Dank: D

Hallo an alle, ich hatte eine Frage, kann ich einfache Plastikreifen zu benutzen, die mit Gleichstrommotoren geliefert wurden, oder muß ich dieses Allseitenrad benutzen?

In Verbindung stehende Artikel