Nicht alle sind sich einig, dass Python die beste oder einfachste Sprache ist, um Roboter zu programmieren. Viele sind der Meinung, dass C++ die effizienteste Programmiersprache ist, während JavaScript-Anhänger behaupten, dass sie die einfachsten und elegantesten Programme schreiben. Python ist aufgrund seiner umfangreichen Standardbibliothek und seiner Fähigkeit, mehrere Programmierparadigmen zu unterstützen, heute beliebter denn je und so wundert es ein wenig, dass diese Diskussion überhaupt noch geführt wird. Da darüber noch diskutiert wird, muss es doch etwas über Python und Robotik geben, was wir vielleicht noch nicht wissen. Aber schauen wir uns doch mal genauer an, worin die Vor- und Nachteile liegen, einen Roboter – zumindest teilweise – mit Python zu programmieren. Python-Kurse auf Superprof.

Die besten Lehrkräfte für Programmierung verfügbar
Erblin
5
5 (4 Bewertungen)
Erblin
30CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Andrin
5
5 (2 Bewertungen)
Andrin
60CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Eric
Eric
20CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Musa
Musa
20CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Pierre
5
5 (27 Bewertungen)
Pierre
40CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Matthias
5
5 (30 Bewertungen)
Matthias
86CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Erblin
5
5 (54 Bewertungen)
Erblin
29CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Said
4,9
4,9 (34 Bewertungen)
Said
19CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Erblin
5
5 (4 Bewertungen)
Erblin
30CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Andrin
5
5 (2 Bewertungen)
Andrin
60CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Eric
Eric
20CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Musa
Musa
20CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Pierre
5
5 (27 Bewertungen)
Pierre
40CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Matthias
5
5 (30 Bewertungen)
Matthias
86CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Erblin
5
5 (54 Bewertungen)
Erblin
29CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Said
4,9
4,9 (34 Bewertungen)
Said
19CHF
/h
Gift icon
1er Unterrichtseinheit gratis !
Und los geht's

Python verstehen

Python gibt es zwar schon seit 30 Jahren, die Version, wie wir sie heute finden, erschien nach längerer Entwicklungszeit erst am 3. Dezember 2008 und basiert auf dem ABC, einer Allzweckprogrammiersprache, die am Forschungsinstitut für Mathematik und Informatik in Amsterdam entwickelt wurde.

Eine grüne Python verweilt zusammengerollt auf einem Ast. Die Programmiersprache jedoch ist nicht nach der riesigen Würgeschlange benannt, sondern nach einer Komikergruppe aus Großbritannien.
Die Programmiersprache Python ist nicht nach der riesigen Würgeschlange benannt, sondern nach der britischen Komikergruppe Monty Python. | Quelle: Unsplash
Der Autor von Python ist Guido van Rossum. In der Python-Community als wohlwollender Diktator auf Lebenszeit bekannt, leitete er bis 2018 die Entwicklung der Programmiersprache und zog sich dann zurück. Seine Sprache benannte er nach der britischen Komikergruppe „Monty Python“ und nicht nach der riesigen Würgeschlange aus tropischen Urwäldern. Python soll Spaß machen und so enthalten viele der Zeichenfolgen spielerische Namen statt rätselhalf klingende Codes. So zum Beispiel heißen Platzhalter bei Python wie ein bekannter Monty Python-Sketch „Spam“ und „Eier“ und nicht wie die üblichen „foo“ und „bar“. Python macht nicht nur Spaß, sondern ist auch einfacher zu lesen und zu schreiben. Im Gegensatz zu vielen anderen Programmiersprachen verwendet Python weder geschweifte Klammern noch gibt es viele Ausnahmen (Fehler, die bei der Ausführung auftreten). Um die Lesbarkeit zu erleichtern, verwendet Python einen Leerraumeinzug: Ein größerer Einzug zeigt einen neuen Block an und ein kleinerer das Ende eines Blocks. Diese Abseitsregel – wie die Strukturierung durch Einzüge auch genannt wird – hebt die semantische Struktur des Programms optisch hervor. Auch andere Programmiersprachen rücken ihre Blöcke ein, nur haben hier die unterschiedlich großen Leerräume in den meisten Fällen keine spezielle semantische Bedeutung.

Programmiersprachen werden nicht ohne Grund Sprachen genannt.

Wie bei jeder anderen Sprache auch – mit ihrem einzigartigen Vokabular und ihren Grammatikregeln – gibt es auch bei Programmiersprachen Regeln, die befolgt werden müssen. Ansonsten kann es passieren, dass das Programm gar nicht oder nicht so wie gewünscht funktioniert. Was wäre, wenn ihr bereits verfasste Sprachblöcke einfach kopieren und dort einfügen könntet, wo ihr sie braucht? – Ungefähr so wie eine Sprachschülerin oder ein Sprachschüler einen Satz aus der Übersetzungssoftware kopiert und wieder einsetzt. Das ist im Kern die Philosophie von Python. Aus Frust über die komplexen Anweisungen und Ausdrücke anderer Programmiersprachen entschied van Rossum, dass Python einen möglichst kleinen Sprachkern haben soll, der durch eine umfangreiche Standardbibliothek ergänzt werden kann. Vor allem seine Benutzerfreundlichkeit und sein amüsanter Programmieransatz macht Python zu einer beliebten Programmiersprache für unerfahrene Entwickler und Entwicklerinnen. Durch die Vielseitigkeit und die einfach Struktur wird Python vor allem in der Webentwicklung eingesetzt. Interesse an einem Python-Kurs als Ergänzung zu deinem Studium?

Eine junge Frau und ein junger Mann stehen vor einem Tisch mit einem Roboter, während der Mann auf den Roboter zeigt und beide lachen. Erst wenn man weiß, wie und wofür der Roboter programmiert wurde, weiß man, was er alles kann.
Immer für eine Überraschung gut, oder kannst du sehen, was dieser Roboter alles kann? | Quelle: Unsplash

Wie ist die Leistung von Python?

Dass Python vor allem in der Webentwicklung eingesetzt wird, deutet darauf hin, dass die Geschwindigkeit und Leistung der Sprache nicht besonders schnell ist. Schaut euch einen Roboter an – irgendeinen, gerne auch den auf dem Bild oben. Könnt ihr erkennen, in welcher Sprache er programmiert ist? Nein, natürlich nicht! Fragt ihr euch gerade, was dieser Roboter alles kann und wieso er es kann? Es sind Befehle und die Sprache, in der diese Befehle geschrieben sind, die alles bestimmen – von der Reihenfolge der Prozesse bis hin zu ihrer Häufigkeit und Geschwindigkeit. Wenn ihr euch in irgendeiner Form mit Robotik und Programmierung auskennt, dann wisst ihr wahrscheinlich, dass C++ die Standardsprache für Roboterprogrammierung ist. Und dennoch spricht nichts dagegen, zwar den Großteil der Roboterprogramme in C++ zu schreiben, den Rest aber in Python. Solltet ihr etwas mehr Zeit haben und wenn euer Roboter nicht durch Geschwindigkeit glänzen muss, dann könnt ihr natürlich auch das gesamte Programm in Python schreiben. Wenn ihr das tut, dann tauscht ihr quasi Leistung gegen Einfachheit und Benutzerfreundlichkeit, die euch Python eben bietet. Ganz egal, wie träge ein Roboter zu funktionieren scheint, auf der Programmierebene müssen die Dinge in Millisekunden ablaufen. Nehmen wir an, ihr legt einen Regelkreis an, also eine Reihe von Anweisungen, die zur Aktivität oder Inaktivität des Roboters führen. Jede einzelne Anweisung muss mit einer Geschwindigkeit von 100 Millisekunden ausgeführt werden, meistens sogar noch schneller. Es liegt in der Natur von Python, dass es sich nicht für schnelle Abläufe eignet. Je nach Hardware und Software kann Python sogar bis zu 100 Mal langsamer sein als C++! Ihr dürft nicht vergessen, dass Python in erster Linie dazu gedacht ist, den Speicherbereich automatisch zu bereinigen, was im Computer- und Softwareumfeld als „Garbage Collection“ bezeichnet wird. So werden die von einem Programm nicht mehr benötigten Speicherbereiche durch die automatische Bereinigung wieder freigegeben. So kann Python die Leistung eines Gerätes verbessern und eignet sich ideal als Zusatz zu einer anderen Programmiersprache. Kommt es bei dem Roboter auf blitzschnellen Handeln an, ist es sinnvoller, ihn in C++ zu programmieren. Vor allem, wenn es sich dabei um Roboter handelt, die in Bereichen eines Unternehmens eingesetzt werden, wo es auf Leistung ankommt wie z. B. in der Fertigung. Was denkt ihr? Eignet Python sich besser für die Programmierung von Computerspielen als von Robotern?

Warum nicht gleich nur C++?

Jeder Roboterprogrammierer wird bestätigen, dass es durchaus möglich ist, ganze Robotersysteme nur mit C++ laufen zu lassen, wobei es auch Vorteile hat, eine Python-Anbindung hinzuzufügen. Python ist eine interpretierende Sprache, d. h., dass es die Anweisungen innerhalb des Programms in Maschinencode übersetzt und dann diesen Anweisungen folgt, um den entsprechenden Teil des Programms auszuführen. Der Vorteil ist, dass ihr weniger Zeit für die Kompilierung des Codes aufwenden müsst, wodurch das Programm schneller getestet und gestartet werden kann. Tatsächlich biete Python eine großartige Möglichkeit, bestimmte Teile eures Programms zu testen. Ihr wollt zum Beispiel herausfinden, wie euer Programm die Bewegung eures Roboters steuert? Ein einfaches Skript in Python würde ausreichen, um genau diesen Aspekt der Roboterfunktionen zu testen, ohne dass ihr euren Code Zeile für Zeile nach Fehlern oder Störungen durchforsten müsst. Nicht jede Codezeile stellt eine wichtige oder kritische Roboterfunktion dar. Es gibt Hintergrundprozesse, die keinen Einfluss auf die Leistung oder den sicheren Betrieb eines Roboters haben. Und genau dafür eignet sich Python besonders gut. Für beispielsweise Bewegungsplanungsalgorithmen oder Regelkreise hingegen, ist Python nicht die beste Alternative, da beide Aspekte für die Anwendung entscheidend sind. Experten auf diesem Gebiet sind sich einig, dass in absehbarer Zeit kein Weg an C++ als Hauptsprache in der Robotik vorbeiführen wird, aber sie räumen auch ein, dass Python im Bereich der Robotik nützlich ist. Nur nicht so sehr wie beim maschinellen Lernen.

Ein Laptop mit Befehl-Codes auf dem Bildschirm steht auf einem weißen Tisch. Die Kombination aus der Hauptprogrammiersprache C++ und Python eignet sich gut, um einen Roboter zu programmieren.
Python stellt eine hervorragende Ergänzung zu anderen Programmiersprachen wie z. B. C++. | Quelle: Unsplash

Die besten Einsatzmöglichkeiten von Python in der Robotik

Jetzt, wo ihr vor den ganzen Roboterteilen sitzt, fragt ihr euch vielleicht: Wo kann ich nun Python einsetzen? Ob ihr einen Roboter nur aus Spaß an der Freude oder aufgrund der Erfahrung bauen wollt, oder einen Prototyp als Proof of Concept (POC) für euer Startup bauen müsst, könnt ihr in beiden Fällen den gesamten Code in Python schreiben. Seid ihr an einen Zeitplan und ein Budget gebunden, oder sind euch klare Leistungsstandards vorgegeben, die euer neuer Roboter erfüllen soll, dann solltet ihr Python nur zur Fehlerbehebung und zum Testen eures Programms verwenden. Es ist sicherlich keine schlechte Idee, Python zu verwenden, um die unkritischen Teile des Roboterprogramms auszuführen, oder die grafische Benutzeroberfläche (GUI) und die Anwendungsprogrammierschnittstelle (API) in Python zu programmieren. Das war’s dann aber auch schon. Hat Python eine Zukunft im Bereich der Robotik, die über das Testen und Überwachen von unkritischen Funktionen hinausgeht?

Ein weißer Roboter (der Marke "Pepper") mit einem Körper und einem Kopf schaut in die Kamera während er ein Tablet in der Hand hält. Die Möglichkeiten der künstlichen Intelligenz sind grenzenlos, die von einem Roboterhund bis hin zu einem Haushaltsroboter reichen.
Mit Python und künstlicher Intelligenz die Welt gestalten. | Quelle: Unsplash
Der Bereich der künstlichen Intelligenz (KI) schreitet rasant voran, die Möglichkeiten sind endlos. Und nun die beste Nachricht: Python eignet sich hervorragend für KI. Lasst eurer Fantasie freien Lauf …

  • Smart Homes mit Haushaltsrobotern, die mit Python programmiert sind
  • Roboter als Gesundheitsbegleiter – stellt euch vor, wir hätten sie in den Pandemiestationen von heute!
  • virtuelle Assistenten: Roboter als Chatbots, die sogar Reisen und Hotels buchen können
  • als Weltraumforscher könnten Roboter Daten sammeln, ohne dass Menschenleben gefährdet würden
  • öffentliche Sicherheit – habt ihr schon den Roboterhund in New York gesehen?
  • Roboter in der Bildung: Bewertungsprogramme für Aufsätze (Robo-Reader) würden Lehrer von der zeitraubenden Aufgabe befreien, jeden einzelnen Schüleraufsatz zu lesen und zu bewerten

Manche dieser Sachen gibt es schon – sicher habt ihr schon einmal Websites besucht, auf denen Chatbots euch weitergeholfen haben, oder? Andere der oben genannten Beispiele klingen ein wenig weit hergeholt. Aber vergesst nicht, dass es gerade einmal 70 Jahre her ist, dass Isaac Asimov seinen Roman Ich, der Robot veröffentlicht hat, und weniger als 20 Jahre seit diese Kurzgeschichten verfilmt wurden. Aber wo stehen wir jetzt? Selbstfahrende Autos befinden sich in der Testphase, und einige Robotikunternehmen verkaufen Roboterbegleiter. Die Innovation schreitet schneller voran, als wir vielleicht mithalten können … und Python ist gut aufgestellt, um all diese Benutzeroberflächen zu steuern. Schaut mal, welche Rolle Python in der Data Science spielt.

>

Die Plattform, die Lehrkräfte und SchülerInnen miteinander verbindet

1. Unterrichtseinheit gratis

Du findest diesen Artikel toll? Vergib eine Note!

5,00 (1 rating(s))
Loading...