Netidee Blog Bild
DRY - Don’t repeat yourself!
Planung ist alles (31.05.2020)
Förderjahr 2019 / Project Call #14 / ProjektID: 4647 / Projekt: netRob

In der ersten Phase unseres Projektes ging es vorrangig um die Planung und Spezifikation.

Wie schon zuvor erwähnt, ist das Ziel unseres Projektes Robotik-Technologie in jedermanns Browser zu bekommen. Unser angestrebtes Framework soll eine spielerisch einfache Simulations- und Programmierumgebung von Robotern in 3D ermöglichen.

In der ersten Phase sollte vor allem folgende Frage beantwortet werden:

Aus welchen Teilen soll unsere Anwendung bestehen und wie sollen diese miteinander interagieren?

Dabei drängt sich ein wichtiges Prinzip in der Softwareentwicklung auf: Don’t repeat yourself. Oder anders formuliert: Wieso das Rad neu erfinden? Deswegen ist es am sinnvollsten zur Umsetzung einzelner Softwarekomponenten auf bestehende Technologien zurückzugreifen.

Die wichtigsten Entscheidungen aus dieser Technologieevaluierung sind folgende:

  • Javascript everywhere. Im Browser sind wir auf Javascript als Programmiersprache limitiert. Deswegen macht es Sinn, dieselbe Programmiersprache auch am Server zu verwenden, wodurch man denselben Javascript-Code am Server und Client ausführen kann.
  • Das Kernstück der Robotik, die Inverse Kinematik, also die Berechnung der Rotationen der einzelnen Roboterachsen um eine Zielposition mit dem Roboterwerkzeug, zum Beispiel einem Greifer, zu erreichen, werden wir mittels IKFast umsetzen. Wie wir den hierfür eingesetzten plattformabhängigen C++-Code mittels Web-Assembly in den Browser bekommen, werden wir in unserem nächsten Blog-Eintrag technisch genauer erläutern.
  • Unsere 3D-Umgebung wollen wir mittels BabylonJS als WebGL-Browser-Anwendung umsetzen, welche sich hervorragend mit BulletJS zur Physiksimulation und Kollisionserkennung integrieren lässt.
  • Zur Ansteuerung der physischen Roboter setzen wir auf ein JSON-basiertes Protokoll auf Basis von CRCL, welches die einzelnen Befehle an den Roboter kodiert.

Wie genau diese Entscheidungen zustande gekommen sind, kann außerdem später in unseren Projektergebnissen nachgelesen werden.

CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.