Bastelprojekt: Genaue Bewegungsabläufe für Roboter programmieren
Wie programmiert man einen Arm, damit er präzise Punkte im Raum ansteuert? Wir erklären anschaulich, wie inverse Kinematik für coole Roboter funktioniert.
- Matt Eaton
Es ist einfach, Servos mit einem Mikrocontroller zu einem bestimmten Winkel zu bewegen, aber was ist, wenn das Ende unseres Roboterarms (z. B. ein Greifer) an eine ganz bestimmte Stelle ausgerichtet werden soll?
Mit ein wenig Mathematik kann man dafür ein Programm schreiben, mit dem man jeden beliebigen Koordinatenpunkt als Ziel verwenden kann. Dieser Code berechnet die genauen Winkel, um die sich die Motoren dann bewegen müssen, um das Ende des Roboterarms an der Zielkoordinate zu positionieren. So lassen sich etwa die Beine eines Roboterhundes, die Arme eines Humanoiden oder sogar ein DIY-Zeichenroboter steuern. Letzteren verwende ich in diesem Artikel direkt als anschauliches Beispiel und beschreibe Schritt für Schritt, wie man ihn baut.
- Erklärung des Konzepts der inversen Kinematik
- Aufstellung mathematischer Formeln
- Bau eines Zeichenroboters
Dabei erkläre ich die mathematischen Berechnungen der inversen Kinematik. Sie bezeichnet den Vorgang, bei dem man aus einer gewünschten Endposition des "Endeffektors" (das letzte Glied der kinematischen Kette, hier der Stift) errechnet, wie die Winkel im System (hier die Roboterarme) eingestellt werden müssen, damit dieser Punkt erreicht wird. Der Begriff "invers" kommt daher, weil rückwärts vom Zielpunkt ausgehend gearbeitet wird. Das Gegenteil ist die direkte Kinematik. Dabei wird aus den bekannten Winkeln im System der Endpunkt errechnet.
Das war die Leseprobe unseres heise-Plus-Artikels "Bastelprojekt: Genaue Bewegungsabläufe für Roboter programmieren". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.