Wie baue ich einen Roboter Tutorials - Society of Robots

Über diese Roboterarm Tutorial
Der Roboterarm ist wahrscheinlich der mathematisch komplexe Roboter Sie jemals bauen können. Als solches kann dieses Tutorial Sie alles, was Sie wissen müssen, nicht sagen. Stattdessen werde ich auf den Punkt und über das absolute Minimum Sie müssen wissen, bauen einen effektiven Roboterarm sprechen. Genießen!







Um loszulegen Sie, hier ist ein Video eines Roboterarms Zuordnung hatte ich, als ich in der Schule zurück Robotic Manipulation nahm. Meine Gruppe programmiert es die aktuelle Uhrzeit in die Tastatur eingeben. (Lektion gelernt, nicht Roboterarme in die Tastatur mit voller Geschwindigkeit abstürzen, während vor dem Professor zu testen)


Freiheitsgrade (DOF)
Die Freiheitsgrade. oder DOF, ist ein sehr wichtiger Begriff zu verstehen. Jeder Freiheitsgrad ist eine gemeinsame auf dem Arm, einem Ort, wo sie sich verbiegen oder drehen oder übersetzen. Sie können in der Regel die Anzahl der Freiheitsgrade durch die Anzahl der Aktuatoren an dem Roboterarm identifizieren. Nun ist dies sehr wichtig - wenn ein Roboterarm bauen Sie so wenige Freiheitsgrade für Ihre Anwendung erlaubt werden soll. Warum? Da jeder Grad erfordert einen Motor. oft ein Encoder. und exponentiell Algorithmen und Kosten kompliziert.

Denavit-Harten (DH) Convention
Die Roboterarm Freikörpersprache (FBS)
Das Denavit-Harten (DH) Übereinkommen ist die akzeptierte Methode von Roboterarm in FBD-Zeichnung. Es gibt nur zwei Bewegungen eine gemeinsame machen könnte: übersetzen und drehen. Es gibt nur drei Achsen auf diese passieren kann: x, y und z (aus der Ebene heraus). Im Folgenden werde ich ein paar Roboterarm zeigen, und dann ein FBD daneben ziehen, die DOF Beziehungen und Symbole zu demonstrieren. Beachten Sie, dass ich nicht die DOF am Greifer zählte (anders als Endeffektor bekannt). Der Greifer ist oft komplex mit mehreren DOF, so der Einfachheit halber wird sie als separate in Grunde Roboterarm Design behandelt.

Hinweis zwischen den einzelnen DOF gibt es eine Verbindung von einem bestimmten Länge. Manchmal kann ein Gelenk mehrere DOF an der gleichen Stelle haben. Ein Beispiel wäre die menschliche Schulter sein. Die Schulter hat tatsächlich drei übereinstimmend DOF. Wenn Sie mathematisch waren dies darzustellen, würden Sie nur Verbindungslänge sagen = 0.

Beachten Sie auch, dass ein DOF hat seine Grenzen, da der Konfigurationsraum bekannt. Nicht alle Gelenke kann um 360 Grad schwenken! Ein Gelenk hat einige max Winkelbeschränkung. Zum Beispiel kann kein menschliches Gelenk mehr als etwa 200 Grad drehen. Einschränkungen könnten von Drahtsteckanschluss sein, Aktor-Funktionen, Servo max Winkel usw. Es ist eine gute Idee ist es, jede Verbindungslänge und Gelenk max Winkel auf der FBD zu beschriften.

Ihr Roboterarm kann auch auf einer mobilen Basis sein, das Hinzufügen zusätzlicher DOF. Wenn der Roboter mit Rädern drehen kann, ist, dass ein Drehgelenk, wenn es nach vorne bewegen kann, dann ist das ein Translationsgelenk ist. Diese mobilen Handhabungsroboter sind ein Beispiel für einen 1 DOF Arm auf einen 2 DOF Roboter (3 DOF insgesamt).


Roboter-Arbeitsbereich
Der Roboter-Arbeitsbereich (manchmal als erreichbar Raum bekannt) ist alle Orte, die der End-Effektor (Greifer) erreichen kann. Der Arbeitsbereich ist abhängig von den DOF Winkel / Übersetzung Einschränkungen, die Arme Verbindungslängen, der Winkel, in dem etwas zu abgeholt werden muß, usw. Der Arbeitsbereich auf der Roboterkonfiguration stark abhängig ist.

Da es viele mögliche Konfigurationen für Ihren Roboterarm sind, von nun an werden wir nur über den einen reden unten. Ich wählte diese 3-DOF-Konfiguration, weil es einfach ist, aber ist nicht in der Fähigkeit zu begrenzen.

Lassen Sie uns nun davon ausgehen, dass alle Gelenke maximal 180 Grad drehen. weil die meisten Servomotoren können diesen Betrag nicht überschreiten. Um den Arbeitsbereich zu bestimmen, verfolgt alle Standorte, die der End-Effektor unten wie im Bild erreichen.

Wie baue ich einen Roboter Tutorials - Society of Robots

Nun rotierenden dass durch das Grundgelenk weitere 180 Grad 3D zu bekommen, wir diesen Arbeitsbereich Bild haben. Denken Sie daran, dass, weil es Servos verwendet, alle Gelenke zu einem Maximum von 180 Grad begrenzt sind. Dies erzeugt einen Arbeitsbereich einer geschälten Halbkugel (es ist eine Form, weil ich so sagte).

Wie baue ich einen Roboter Tutorials - Society of Robots

Wenn Sie die Verbindungslängen verändern können Sie sehr unterschiedliche Größen von Workspaces, aber dies würde die allgemeine Form sein. Jeder Ort außerhalb dieses Raumes ist ein Ort, der Arm kann nicht zu erreichen. Wenn Objekte in der Art und Weise des Arms sind, kann der Arbeitsbereich noch komplizierter.

Hier sind ein paar mehr Roboter-Arbeitsbereich Beispiele:


Mobile Manipulatoren
Ein sich bewegender Roboter mit einem Roboterarm ist eine Unterklasse von Roboterarmen. Sie arbeiten wie andere Roboterarm, aber die DOF des Fahrzeugs ist mit dem DOF des Armes gegeben. Wenn Sie sagen, ein Differentialgetriebe Roboter haben (2 DOF) mit einem Roboterarm (5 DOF) angebracht (siehe unten gelb Roboter), das wäre der Roboterarm eine Gesamtsumme von 7 DOF geben. Was denken Sie, der Arbeitsbereich auf diese Art der Roboter sein?

Wie baue ich einen Roboter Tutorials - Society of Robots


Kraftberechnungen der Gelenke
Dies ist, wo dieses Tutorial mit Mathe immer schwerer beginnt. Bevor auch weiterhin stark empfehle ich Ihnen, die Maschinenbau-Tutorials für Statik und Dynamik lesen. Dies gibt Ihnen ein grundlegendes Verständnis von Kraftarm Berechnungen.

Der Punkt tut Kraftberechnungen für die Motorauswahl. Sie müssen sicherstellen, dass der Motor nicht nur wählen, kann das Gewicht des Roboterarms unterstützen, aber was auch der Roboterarm tragen wird (die blaue Kugel im Bild unten).

Der erste Schritt ist Ihr FBD, mit dem Roboterarm beschriften, um seine maximale Länge ausgestreckt.

Wählen Sie diese Parameter:
  • Gewicht jeden Lenker
  • Gewicht jedes Gelenks

  • Gewicht des Gegenstandes zu heben

  • Länge jeden Lenker
  • Als nächstes haben Sie einen Moment Arm Berechnung, nach unten gerichtete Kraft mal die Verknüpfung Längen multipliziert wird. Diese Berechnung muß für jeden Hubaktuator erfolgen. Durch die besondere Konstruktion hat nur zwei DOF, das Heben und das Zentrum der Masse jedes Gestänge benötigt wird angenommen, Länge / 2 sein.

    Drehmoment über Joint 1:
      M1 = L1 / 2 * W1 + L1 * W4 + (L1 + L2 / 2) * W2 + (L1 + L3) * W3
    Drehmoment über Joint 2:
      M2 = L2 / 2 * W2 + L3 * W3






    Wie Sie sehen können für jede DOF, fügen Sie die Mathematik komplizierter wird, und die gemeinsamen Gewichte bekommen schwerer. Sie werden auch sehen, dass kürzere Armlängen für kleinere Drehmomentanforderungen ermöglichen.

    Zu faul, sich Kräfte und Momente zu berechnen? Versuchen Sie, mein Roboterarm Rechner die Mathematik für Sie zu tun.


    vorwärts Kinematics
    Vorwärtskinematik ist das Verfahren zur Bestimmung der Orientierung und Position des Endeffektors, da die Gelenkwinkel und Verbindungslängen des Roboterarms. Vortrag auf neue Rechnung Kinematik zu berechnen, alles, was Sie brauchen, ist die Highschool trig und Algebra.

    Für unser Roboterarm Beispiel hier berechnen wir Endeffektor Lage mit bestimmten Gelenkwinkel und Verbindungslängen. Um Visualisierung einfacher für Sie, zog ich blaue Dreiecke und markiert die Winkel.

    Es sei angenommen, dass die Basis bei x = 0 und y = 0 befindet. Der erste Schritt wäre, x und y jedes Gelenks zu lokalisieren.

    Gelenk 0 (mit x und y auf Basis gleich 0):
      x0 = 0
      y0 = L0
    Verbindung 1 (mit x und y bei J1 gleich 0):
      cos (psi) = x1 / L1 => x1 = L1 * cos (psi)
      sin (psi) = y1 / L1 => y1 = L1 * sin (psi)
    Gelenk 2 (mit x und y bei J2 gleich 0):
      sin (theta) = x2 / L2 => x2 = L2 * sin (theta)
      cos (theta) = y2 / L2 => y2 = L2 · cos (theta)
    Location End-Effektor (stellen Sie sicher, dass Ihre Zeichen korrekt sind):
      x0 + x1 + x2, oder 0 + L1 * cos (psi) + L2 * sin (theta)
      y0 + y1 + y2 + L0 oder L1 * sin (psi) + L2 · cos (theta)
      z gleich alpha, in zylindrischen Koordinaten

    Der Winkel des Endeffektors, in diesem Beispiel gleich theta + psi.

    Zu faul, sich vorwärts Kinematik zu berechnen?
    Überprüfen Sie mein Roboterarm Designer v1 in Excel heraus.

    Stattdessen werde ich Ihnen nur die Gleichungen für unser spezifisches Roboterdesign:

      psi = arccos ((x ^ 2 + y ^ 2 - L1 ^ 2 - L2 ^ 2) / (2 · L1 * L2))
      theta = arcsin ((y * (L1 + L2 * c2) - X * L2 * s2) / (x ^ 2 + y ^ 2))
      wobei C2 = (x ^ 2 + y ^ 2 - L1 ^ 2 - L2 ^ 2) / (2 · L1 * L2);
      und s2 = sqrt (1 - c 2 ^ 2);

    Also, was macht inverse Kinematik so schwer? Nun, abgesehen von der Tatsache, dass es sich um nicht-lineare simultane Gleichungen, es gibt andere Gründe auch.

    Erstens gibt es die sehr wahrscheinliche Möglichkeit von mehreren, manchmal unendlich viele Lösungen (siehe unten). Wie würden Sie Ihren Arm wählen, welche optimal ist, auf Basis von Drehmomenten, frühere Armhaltung, Greifwinkel usw.

    Singularitäten. ein Ort unendlicher Beschleunigung kann Gleichungen sprengen und / oder Motoren lassen Rückstand (Motoren unendliche Beschleunigung erreichen kann nicht).

    Und schließlich nehmen Exponentialgleichungen für immer auf einem Mikrocontroller zu berechnen. Kein Punkt in mit erweiterten Gleichungen auf einem Prozessor, den Schritt halten kann nicht.

    Zu faul, sich inverse Kinematik zu berechnen?
    Überprüfen Sie mein Roboterarm Designer v1 in Excel heraus.


    Bewegungsplanung
    Bewegungsplanung an einem Roboterarm ist ziemlich komplex, so will ich Ihnen nur die Grundlagen geben.

    Angenommen, Ihr Roboterarm Objekte in seinem Arbeitsbereich hat. wie kommt der Arm durch den Arbeitsbereich bewegen, um einen bestimmten Punkt zu erreichen? Um dies zu tun, übernehmen Ihre Roboterarm sind nur ein einfacher mobilen Roboter im 3D-Raum zu navigieren. Der End-Effektor wird der Raum wie ein mobiler Roboter, durchqueren, außer jetzt ist es auch sicher, dass die anderen Gelenke und Links machen muss auch mit etwas nicht kollidieren. Dies ist äußerst schwer zu tun.

    Was passiert, wenn Sie Ihren Roboter Endeffektor wollen mit einem Bleistift gerade Linien zu ziehen? Immer es von Punkt A nach Punkt B in einer geraden Linie zu gehen, ist relativ einfach zu lösen. Was sollte Ihr Roboter tun, durch inverse Kinematik verwendet wird, ist kommen aus Die letzte Bewegung als eine glatte gerade Linie zwischen Punkt A und Punkt B zu viele Punkte gehen. Sie können diese Methode mit geraden Linien nicht nur tun, sondern gekrümmt zu Einsen. Auf teure professionelle Roboterarm alles, was Sie tun müssen, ist Programm zwei Punkte, und dem Roboter sagen, wie zwischen den beiden Punkten (gerade Linie, schnell wie möglich, etc.) zu gehen. Für weitere Lesung, könnten Sie die Wellenfront-Algorithmus verwenden diese zwei Trajektorie zu planen.


    Geschwindigkeit (und mehr Bewegungsplanung)
    Endeffektor Geschwindigkeit Berechnung ist mathematisch komplex, so dass ich nur in die Grundlagen gehen. Der einfachste Weg, es zu tun ist Ihr Roboterarm übernehmen (gerade heraus gehalten) ist ein sich drehendes Rad von L Durchmesser. Das Gelenk rotiert mit Y rpm, so deshalb die Geschwindigkeit

      Geschwindigkeit des Endeffektors auf geraden Arm = 2 * pi * radius * rpm

    Doch der End-Effektor gerade nicht um die Basis drehen, aber in viele Richtungen gehen kann. Der End-Effektor kann eine gerade Linie oder Kurve folgen, usw.

    In dem Bild unter dem End-Manipulator des Roboterarms von dem blauen Punkt auf den roten Punkt bewegt. In dem oberen Beispiel bewegt sich der End-Effektor eine gerade Linie. Dies ist die einzig mögliche Bewegung dieses Arm ausführen kann eine gerade Linie zu reisen. Im unteren Beispiel ist der Arm gesagt, so schnell wie möglich an den roten Punkt zu gelangen. viele verschiedene Bahnen gegeben, geht der Arm die Methode, die die Gelenke ermöglicht die schnellste zu drehen.

    Nehmen wir nun an wollen Sie Ihren Roboterarm an einer bestimmten Drehgeschwindigkeit zu arbeiten, wie viel Drehmoment würde eine gemeinsame Notwendigkeit? Erstens kann in unsere FBD zurück:

    Nehmen wir nun an können Sie gemeinsame J0 wollen in weniger als 2 Sekunden um 180 Grad zu drehen, was Drehmoment wird der J0 Motor brauchen? Nun wird J0 nicht durch die Schwerkraft beeinflusst, so alles, was wir berücksichtigen müssen, ist Dynamik und Trägheit. Setzen diese in Form einer Gleichung wir diese:

    Drehmoment = moment_of_inertia * angular_acceleration

    dass die Gleichung in Subkomponenten brechen wir erhalten:

    Drehmoment = (Masse * Abstand ^ 2) * (change_in_angular_velocity / change_in_time)

    angular_velocity = change_in_angle / change_in_time

    Jetzt zum Startzeitpunkt unter der Annahme, dass 0 angular_velocity0 Null ist, erhalten wir

    Drehmoment = (Masse * Abstand ^ 2) * (angular_velocity / change_in_time)

    wobei der Abstand als der Abstand von der Drehachse zum Zentrum der Masse des Arms definiert ist:

    Massenmittelpunkt des Arms = Abstand = 1/2 * (arm_length)
    (Verwendung Arm Masse)

    aber Sie müssen auch für das Objekt berücksichtigen Arm hält:

    Massenmittelpunkt des Objekts = Abstand = arm_length
    (Verwendung Objektmasse)

    So dann berechnet Drehmoment sowohl für den Arm und dann wieder für das Objekt, fügen Sie dann die beiden Drehmomente zusammen für die Gesamt:

    Drehmoment (of_object) + Moment (of_arm) = Drehmoment (for_motor)

    Und natürlich, wenn J0 zusätzlich durch die Schwerkraft beeinflusst wurde, fügen Sie das Drehmoment erforderlich, um den Arm auf das Drehmoment heben erforderlich, um die Geschwindigkeit zu erreichen Sie benötigen. tun dies von Hand zu vermeiden, verwenden Sie einfach den Roboterarm Rechner.

    Aber es wird noch schwieriger. Die obige Gleichung gilt für eine Drehbewegung und nicht für die gerade Linie Bewegungen. Sehen Sie einen so genannten Jacobi, wenn Sie mathematische Schmerz genießen = P

    Ein weiteres Video!
    Um Roboterarms Dynamik besser zu verstehen, hatten wir einen Roboterarm Bowling Wettbewerb der gleichen DENSO 6DOF Roboterarm, wie in den Uhren-Video verwendet wird.

    Jedes Team Programme ein Arm zwei Aufgaben:
    • Versuchen Sie, alle drei seiner Heringe in das gegnerische Tor zu platzieren
    • Block Gegner Pflöcke aus gehen in Ihrem eigenen Ziel

    Genießen! (Man beachte die unterschiedlichen Trajektorien Arm)

    Arm Schlaffe
    Arm Absacken ist ein verbreitetes Leiden von schlecht gestaltete Roboterarme. Dies ist, wenn ein Arm ist zu lang und schwer, Biegen, wenn nach außen gestreckt. Wenn Sie Ihren Arm entwerfen, stellen Sie sicher, dass der Arm verstärkt ist und leicht. Führen Sie eine Finite-Elemente-Analyse, um zu bestimmen Durchbiegung / Stress, wie ich auf dem ERP-Roboter tat.

    Das Absacken Problem ist noch schlimmer, wenn der Arm wackelt zwischen Start-Stopp-Bewegungen. Die Lösung dieses Problems einen PID-Regler implementieren, um den Arm zu verlangsamen, bevor es einen Punkt macht.

    Ein Roboterarm ohne Videoerfassung ist wie ein Künstler Malerei mit seinen Augen geschlossen. Mit grundlegenden visuellen Feedback-Algorithmen, könnte ein Roboterarm von Punkt geht auf seinem eigenen ohne eine Liste von vorprogrammierten Positionen zu zeigen. Gibt den Arm eine rote Kugel, könnte es erreicht tatsächlich für ihn (visuelle Verfolgung und Servoing). Wenn der Arm eine Position in X-Y-Raum eines Bildes ausfindig machen kann, könnte es dann den Endeffektor lenken gleichen X-Y-Position zu gehen (durch inverse Kinematik verwendet wird). Wenn Sie in das Lernen mehr über die Vision Aspekt der visuellen Servoing interessiert sind, finden Sie in der Computer Vision Tutorials für weitere Informationen lesen.

    Haptischer Sensor ist ein wenig anders, dass es ein Mensch in der Schleife. Die menschliche steuert den Roboter Armbewegungen fern. Dies könnte durch das Tragen einer speziellen Handschuh durchgeführt werden, oder durch ein Miniaturmodell mit Positionssensoren arbeiten. Roboterarme für Amputierte sind eine Form von haptischen Sensor tun. Auch zu beachten, haben einige Roboterarme rückzukoppeln Sensoren (wie touch), die aus dem menschlichen gerichtet wird (Vibrieren der Handschuh, Verriegelungs Modell Gelenke, etc.).

    Wie baue ich einen Roboter Tutorials - Society of Robots


    End-Effektor Entwurf
    In Zukunft werde ich ein separates Tutorial auf schreiben, wie Robotergreifer zu entwerfen, wie es viele weiteren Seiten Material benötigen.

    In der Zwischenzeit könnte man beim Lesen der Anleitung Interesse für Reibung und Kraft für die Roboter-Endeffektoren zu berechnen.

    Ich ging auch in einem gewissen Detail meiner Roboterarm Karte Umgang Greifer beschreibt.

    Wie auch immer, ich hoffe, dass Sie dieses Roboterarms Tutorial genossen haben!

    Wie baue ich einen Roboter Tutorials - Society of Robots







    In Verbindung stehende Artikel