Roboterarm-Simulator für Kinematik und Planung
Erkunde Gelenkgrenzen, Vorwärtskinematik, inverse Kinematik und sichere Bewegungsplanung in einer Browser-Roboterarm-Vorschau.
- Kategorie
- ROS
- Zeitaufwand
- 3–6 Stunden
- Plattform
- Browser · ROS 2
01 / Hier starten
Einführung
Roboterarme wandeln Gelenkbefehle über Geometrie, Feedback und Planung in präzise Werkzeugbewegung um. Dieser Simulator zeigt diese Kette, ohne die schwierigen Stellen zu verstecken. Er legt Koordinatenrahmen, erreichbare Posen, Gelenkgrenzen und Singularitäten offen.
Live lab / Forward & inverse kinematics · pick-and-place
Robot arm simulator
Pose the joints, drag a target and watch inverse kinematics solve it live, or set a pick-and-place task and run it — with honest reach, singularity, and limit reporting on a full 360° workspace.
The filled dot is the base at the centre; segments are links with round joints; the tool shows a small x/y frame. The shaded ring is the reachable workspace (between the two dashed circles). In inverse mode the cross-marker is the draggable target and the faint arm is the other elbow solution. In pick-and-place mode, drag the box (pick) and the dashed square (place), then press Run.
- Tool X
- 0 px
- Tool Y
- 0 px
- Tool angle
- 0°
- Status
- Reachable
- Reach
- 0 / 240 px
Keyboard: focus the workspace, then use Space to run a pick-and-place, R to reset, B to switch elbow, and F for full screen.
Steuerung
Der Simulator bietet Gelenkschieber, ein ziehbares Werkzeugziel, Rahmen-Overlays und Gliedmaßsteuerung, mit zentrierter Basis, sodass der volle 360°-Arbeitsraum sichtbar ist. Der Vorwärtsmodus rechnet die Werkzeugpose aus deinen Gelenkwinkeln. Der Inversmodus folgt einem Ziel, das du ziehst — löst live nach Gelenkwinkeln und meldet unerreichbare oder mehrdeutige Ziele statt lautlos einzurasten. Ein dritter Pick-and-Place-Modus lässt dich Aufnahme- und Zielpunkt setzen und fährt dann den ganzen Auftrag: zum Objekt fahren, greifen, tragen und in der Dropzone ablegen — der kanonische Job jedes echten Manipulators.
Theorie
Jedes Gelenk steuert eine Transformation zwischen Koordinatenrahmen bei. Diese Transformationen von Basis zu Werkzeug multipliziert ergeben die Vorwärtskinematik-Pose. Inverse Kinematik arbeitet rückwärts und kann keine, eine oder mehrere Lösungen haben.
Nahe einer Singularität kann kleine Werkzeugbewegung sehr große Gelenkbewegung verlangen. Ein Planer muss zudem Positions-, Geschwindigkeits-, Beschleunigungs-, Moment- und Kollisionsgrenzen achten. Geometrische Reichweite allein macht keine Trajektorie sicher.
Algorithmus
- Gliedlängen, Gelenkachsen, Home-Transformationen und Gelenkgrenzen definieren.
- Vorwärtskinematik für den aktuellen Gelenkzustand rechnen.
- Aktuelle Werkzeugpose mit angefordertem Ziel vergleichen.
- Per analytischem oder numerischem Löser Posefehler innerhalb der Grenzen reduzieren.
- Kollidierende oder singuläre Kandidaten verwerfen und stetige Lösung wählen.
- Pfad zeitparametrieren und synchronisierte Sollwerte an Gelenkregler senden.
Quellcode
Ein planarer Zweigelenkarm hat ein kompaktes Vorwärtsmodell:
from math import cos, sin
def forward_kinematics(theta_1, theta_2, link_1, link_2):
elbow = (link_1 * cos(theta_1), link_1 * sin(theta_1))
tool = (
elbow[0] + link_2 * cos(theta_1 + theta_2),
elbow[1] + link_2 * sin(theta_1 + theta_2),
)
return elbow, tool
Valdiere für physische Arme jede geplante Trajektorie in begrenzter, kollisionsbewusster Umgebung, bevor du Aktorleistung freigibst.
Annahmen und Unterschiede zur Hardware
Der Arm ist planar mit zwei oder drei Drehgelenken, perfekt starren Gliedern, instantaner Geschwindigkeitsantwort und ohne Schwerkraft, Dynamik oder Kollision — du kannst von Ellbogen-hoch nach Ellbogen-runter schwenken ohne Momentgrenze. Echte Servos haben Positions- und Tempolimits, Getriebespiel, strombegrenztes Moment und lastabhängiges Durchhängen, und ein 6-Achs-Arm muss zudem Orientierung, Singularitäten und Arbeit nahe Gelenkgrenzen managen. Dieses Labor zeigt dir, warum ein Ziel im Ring zwei Lösungen haben kann und warum ein Ziel an seiner Kante singulär ist, bevor du die Dynamik dazunimmst, die diese Posen schwer haltbar macht.
Schaltplan
Trenne hochstromige Aktorleistung von Rechenleistung und behalte dabei die Referenz- und Sicherheitssignale, die die gewählte Hardware verlangt.
Geführte Experimente
Ein Ziel herumzuziehen ist der schnellste Weg zu Intuition für Dinge, die auf Papier mühsam zu beweisen und auf Hardware teuer zu entdecken sind.
1. Form des Arbeitsraums finden
Ziehe das Ziel langsam nach außen, bis der Löser unerreichbar meldet, und trace diese Grenze ganz herum. Ziehe nun nach innen zur Basis.
Mit ungleichen Gliedlängen findest du zwei Grenzen: einen Außenkreis bei L1 + L2 und einen inneren bei |L1 − L2|. Der Arbeitsraum ist ein Kreisring, keine Scheibe — mit einem Loch in der Mitte, das der Arm physisch nicht erreicht.
| Glieder | Außenreichweite | Innenloch | Form |
|---|---|---|---|
| 100 + 90 | 190 | 10 | Ring mit kleinem Loch |
| 100 + 50 | 150 | 50 | Ring mit großem Loch |
| 100 + 100 | 200 | 0 | Volle Scheibe — gleiche Glieder falten sich auf sich selbst |
Die letzte Zeile ist eine echte nützliche Entwurfsweisheit: Gleiche Gliedlängen entfernen die Totzone ganz. Muss dein Arm nah an der eigenen Basis arbeiten, ist das der Grund dafür.
2. Beobachten, wie beide Lösungen verschmelzen
Schalte zwischen Ellbogen-hoch- und Ellbogen-runter-Zweig an einem Ziel in Arbeitsraummitte: zwei klar verschiedene Armposen, die denselben Punkt erreichen.
Ziehe dieses Ziel nun nach außen zur Grenze. Beide Posen konvergieren, bei Vollstreckung werden sie dieselbe Pose. Das ist eine Singularität — dort verliert der Arm die Fähigkeit, das Werkzeug in eine Richtung zu bewegen, egal was die Gelenke tun.
3. Fühlen, was eine Singularität kostet
Ziehe das Ziel auf gerader Linie nahe an Vollstreckung vorbei, langsam und stetig. Beobachte die Gelenkwinkel statt den Arm.
Das Werkzeug bewegt sich konstant; die Gelenke nicht. Nahe der Grenze verlangt kleine Werkzeugbewegung enorme Gelenkbewegung — ein glatter kartesischer Pfad wird heftige Gelenkfahrt. Auf Hardware ist das ein Servo, das an seine Grenze knallt.
Halte geplante Pfade innerhalb etwa 95 % Maximalreichweite, und das hört auf, ein Problem zu sein.
4. Zweiggrenze queren und Flip beobachten
Setze den Löser auf immer Ellbogen-hoch und ziehe das Ziel durch einen Bereich, wo dieser Zweig an eine Gelenkgrenze läuft und der Löser schaltet. Der Arm flippt durch eine große, schnelle, völlig ungeplante Bewegung.
Darum ist die richtige Voreinstellung Minimalbewegung — wähle den Zweig nächst der aktuellen Pose — statt festem Zweig. Ein stiller Zweigwechsel mitten im Pfad ist auf echter Hardware alarmierend und kann zerstörerisch sein.
Was du beobachten solltest
| Aktion | Erwartetes Ergebnis | Wenn du etwas anderes siehst |
|---|---|---|
Ziel jenseits L1 + L2 |
Sauberes „unerreichbar“ | NaN oder gerissene Pose heißt: Löser prüft Reichweite zu spät |
Ziel innerhalb |L1 − L2| |
Ebenfalls unerreichbar | Korrekt — das ist das Loch, kein Bug |
| Ziel hinter der Basis | Korrekt erreicht | Wenn es spiegelt, ist das atan statt atan2 |
| Ellbogenzweig schalten | Gleiche Werkzeugposition, andere Gelenke | Beide sind gültig; Wählen ist deine Entscheidung |
| Zur Grenze ziehen | Gelenkraten steigen stark | Das ist die Singularität |
| Rundreise durch FK dann IK | Ausgangswinkel kommen zurück | Diskrepanz heißt: Vorzeichen- oder Offsetkonvention inkonsistent |
Umsetzung auf Hardware
Die Geometrie überträgt sich exakt. Nichts sonst, und die Lücke ist es, wo ein erster Armbau seine Zeit verbringt:
| Dieses Labor | Echter Servoarm |
|---|---|
| Gelenke gehen exakt wohin kommandiert | Servonull ist, wo das Horn montiert wurde; manche drehen falschherum |
| Keine Schwerkraft | Die Schulter hängt bei Streckung durch — schlimmstenfalls genau dort, wo Genauigkeit am schlechtesten ist |
| Kein Spiel | Mehrere Grad Spiel, fällig an jeder Umkehr |
| Instantane Bewegung | Ein kommandierter Sprung geht mit Vollgas, mit Stromspitze |
| Perfekte Gliedlängen | Miss zwischen Gelenkachsen, nichtBracketkanten |
| Unendliches Moment | Ein SG90 bei 58 % Blockiermoment hält Position nicht genau |
Zwei Zahlen machen den Punkt. Vier Grad Spiel an der Schulter über 190 mm Reichweite sind mehr als 13 mm am Greifer — größer als jeder Fehler, den die Mathematik einführt. Und 10 mm zu lang gemessenes Glied an 95-mm-Glied ist 10 % systematischer Fehler, den keine Abstimmung entfernt.
Die praktische Folge: Hardware-Genauigkeit kommt aus Kalibrierung und konsistenter Anfahrrichtung, nicht aus besserer Kinematik. Fahre ein Ziel immer aus derselben Richtung an, und das Spiel wird ein wiederholbarer Offset, den du abziehen kannst. Der volle Löser mit jedem behandelten Fehlerfall steht in Inverse Kinematik für einen Zweigelenkarm.
Hardware-Checkliste
Bauteile
- Roboterarm mit drei oder mehr Achsen
- Controller für synchronisierte Gelenk-Updates
- Gelenk-Feedback oder smarte Servos
- Starre Basis und definierter Werkzeugmittelpunkt
- Not-Aus und strombegrenzte Versorgung
Den Graphen erkunden
Wo dieser Simulator verwendet wird
Die Projekte, Lernpfade und Tutorials, die auf diesem Labor aufbauen.
Weiterbauen
Ressourcen herunterladen
Nutze diese Referenzen auf der Seite, während du das Projekt durcharbeitest. Herunterladbare Projektpakete kommen erst hinzu, wenn ihr Quellcode und ihre Version veröffentlicht sind.
Häufige Fragen
Häufig gestellte Fragen
Was unterscheidet Vorwärts- und inverse Kinematik?
Vorwärtskinematik berechnet die Werkzeugpose aus bekannten Gelenkwerten. Inverse Kinematik startet mit gewünschter Werkzeugpose und sucht eine oder mehrere Gelenkstellungen, die sie erzeugen können.
Warum hat ein 2-Gelenk-Arm zwei Lösungen (Ellbogen-hoch und Ellbogen-runter)?
Für die meisten erreichbaren Ziele kann der Ellbogen so oder so knicken und das Werkzeug dennoch auf denselben Punkt setzen — Ellbogen-hoch- und Ellbogen-runter-Stellung. Beide Lösungen kommen aus dem Plus-Minus im Kosinussatz-Winkel des zweiten Gelenks. Sie fallen nur in einer Singularität zusammen, wo der Arm voll gestreckt oder voll gefaltet ist.
Wie wähle ich zwischen Ellbogen-hoch und Ellbogen-runter?
Wähle die Stellung, die für die Aufgabe am sichersten und sparsamsten ist: eine, die Gelenke von ihren Grenzen fernhält, Bewegung aus aktueller Pose minimiert oder Hindernissen ausweicht. Dieser Simulator lässt dich zwischen Zweigen schalten und zeigt die Alternativlösung als Geist — der Zielkonflikt wird sichtbar.
Was ist eine Singularität beim Roboterarm?
Eine Singularität ist eine Stellung, in der der Arm die Fähigkeit verliert, das Werkzeug in eine Richtung zu bewegen — typisch voll ausgefahren oder voll gefaltet. Nahe einer Singularität kann kleine Werkzeugbewegung sehr große Gelenkbewegung verlangen — Planer werden langsam oder routen um diese Posen. Dort verschmelzen auch Ellbogen-hoch- und Ellbogen-runter-Lösung zu einer.
Wann hat inverse Kinematik keine Lösung?
Ein planares Zweigelenk-Ziel ist nur im Kreisring zwischen kürzester Reichweite (Differenz der Gliedlängen) und längster (deren Summe) erreichbar. Ein Punkt außerhalb dieses Rings ist mit keinem Gelenkwinkel erreichbar. Eine Pose kann auch unerreichbar sein, weil sie einen verbotenen Gelenkwinkel braucht, eine Orientierung, die die vorhandenen Gelenke nicht schaffen, oder mit dem Arm selbst kollidierte.
Warum analytische inverse Kinematik statt numerischem Löser?
Für einen zwei- oder dreigliedrigen planaren Arm hat die Geometrie eine geschlossene (analytische) Lösung — du rechnest die exakten Gelenkwinkel direkt, deterministisch und schnell, ideal zum Lehren und Testen. Numerische Löser braucht es für redundante oder räumliche Arme ohne geschlossene Form — sie iterieren, können Lösungen verfehlen und sind schwerer zu durchschauen.
Weiterführende Literatur
Quellen
Maßgebliche Quellen, um tiefer einzusteigen als das begrenzte Lernmodell dieses Simulators.