Hinweis: Obwohl JavaScript für diese Website nicht unbedingt erforderlich ist, werden Ihre Interaktionsmöglichkeiten mit den Inhalten eingeschränkt sein. Bitte aktivieren Sie JavaScript für das volle Erlebnis.

Python für kollaborative Roboter

Bei Rozum Robotics ist es unsere Mission, sichere und einfach zu bedienende kollaborative Roboterarme zu entwickeln. Wir streben danach, Roboter zu schaffen, die so schnell wie möglich in verschiedene Arbeitsumgebungen und Branchen integriert werden können.

Darüber hinaus ist es nicht nur das Ziel, dass Endbenutzer Roboter mithilfe einer Benutzeroberfläche bedienen können, sondern auch komplexe industrielle Anwendungen zu entwickeln, die das volle Potenzial des Roboters und der Hilfsgeräte ausschöpfen. Als im Unternehmen darüber diskutiert wurde, welche Programmiersprache für solche Zwecke verwendet werden sollte, gab es viele starke und etablierte Konkurrenten (z. B. Java und C/C++), aber die Vorteile von Python überwogen alle anderen Optionen.

Der Prozess der Gestaltung, Implementierung und Veröffentlichung der Python-API für den Pulse-Roboterarm war unsere erste erfolgreiche Erfahrung. Die Einfachheit der Entwicklung und Einrichtung, die in einfachen Fällen die Installation des Interpreters, die Ausführung eines Befehls `pip install` und das Schreiben mehrerer Codezeilen zum Zugriff auf die Roboterfunktionalität umfasst, führte zur intensiven Ausweitung der Sprache in die Unternehmensprozesse und den Codebestand.

Zum Beispiel begann unser QA-Team mit der Erstellung automatisierter Test-Pipelines unter Verwendung von Open-Source-Tools, die von der Community bereitgestellt wurden. Dies reduzierte die Zeit für die Systemtests von Tagen auf Stunden. Der Hauptvorteil bestand natürlich darin, dass wir die Möglichkeit schufen, High-Level-Anwendungen zu entwickeln, die unseren Roboter nutzen, und das für jeden, der einen besitzt. Nach vielversprechenden Ergebnissen mit der Roboter-API wählten wir den nächsten Meilenstein.

Roboterarme sind nicht das einzige Produkt des Unternehmens – wir haben unsere Servomotoren, und wir wollten auch sie mit Python steuern.

Die Motors-API ist in C geschrieben, daher war es kein Problem, sie mit Python zu umhüllen. Und wieder einmal half uns diese winzige Bibliothek und die breite Auswahl an Open-Source-Bibliotheken beim Aufbau einer vielfältigen Infrastruktur. Zum Beispiel: verschiedene Prüfstände mit automatisch generierten Berichten und automatischer Benachrichtigung über die Ergebnisse, sowie Forschungsanwendungen gaben uns die Möglichkeit, unsere Hardware und Software noch besser zu machen.

Es versteht sich von selbst, dass dies zu einer „Plug-and-Play“-Erfahrung für die Endbenutzer beigetragen hat.

Und hier kommt die nächste Geschichte, in der Python eine entscheidende Rolle in unserem Rozum-Cafe-Projekt spielt. Es begann als ein lustiges Projekt für den Abend, hat sich aber zu einer industriellen Anwendung entwickelt. Die Sprache wurde zum Bindeglied, das alle Teile zusammenfügte, einschließlich Roboterarmsteuerung, Zahlungsabwicklung, Überwachung des Systemzustands usw. Die zukünftigen Pläne für die Ausweitung von Python in unserem Unternehmen umfassen mehrere Themen. Erstens bauen wir benutzerdefinierte Ausführungsumgebungen für Benutzerprogramme. Diese sollen eine sichere (aus Robotik-Sicht) und einfach zu bedienende Umgebung bieten, die sowohl auf die reichhaltigen Python-Funktionen und -Pakete als auch auf die Roboterarmfunktionen zugreifen kann. Zweitens setzen wir die Automatisierung von Forschungs- und Entwicklungsaktivitäten fort, um den Zeit- und Arbeitsaufwand für notwendige Berechnungen und Analysen zu reduzieren. Drittens arbeitet unser Integrationsteam an Roboterlösungen für verschiedene Branchen, und Python ist zu ihrem besten Freund geworden, der sie bei der Prototypenentwicklung und der industriellen Integration unterstützt.

Fazit Die in diesem Artikel dargestellten Geschichten sind nur einige Beispiele dafür, wie Python das Feld der Robotik beeinflusst. Die Python-Community verdient eine ehrenvolle Erwähnung für die wunderbaren Pakete und die Sprache, die sie entwickelt und verbessert.

Hier ist eine Kurzliste derer, die wir verwenden: NumPy, Matplotlib, Pandas, PyTorch, Jupyter, Flask, FastAPI, SQLAlchemy, Gunicorn, Requests, PyTest, Cookiecutter, ROS-Bibliotheken und viele, viele andere. Die Menschen hinter dem Python-Ökosystem sind wirklich erstaunlich, und wir wünschen ihnen (und uns), ihre produktive Arbeit fortzusetzen, um die Welt besser zu machen!

Über den Autor Ilya Grozov ist Softwareentwickler und Robotikforscher bei Rozum Robotics.