Mein Unternehmen wird in Kürze ein brandneues Robotikprojekt starten, und wir versuchen immer noch zu entscheiden, ob wir eine Robotik-Softwareplattform von Grund auf neu entwerfen und codieren sollen oder ob es eine gute vorhandene gibt.
Es wäre sehr nützlich, wenn es eine Software-Plattform gäbe, die sowohl von Wissenschaftlern als auch von der Industrie gemeinsam genutzt wird, damit unser Robotersystem im Allgemeinen mit anderen kompatibel ist und die Menschen bereits damit vertraut sind.
Wir möchten, dass die Softwareplattform in der Lage ist:
- Einfache Integration neuer Roboterhardwarekomponenten.
- Enthalten bereits eine Vielzahl nützlicher Datenverarbeitungs- und Visualisierungstools
- Effiziente Nutzung von Computerhardware
Antworten:
ROS wird schnell zum neuen Standard für Industrie- und Forschungsrobotik. Die meisten mir bekannten Forschungsgruppen übernehmen ROS für ihre Arbeit und stellen ihre Ergebnisse dann wieder zur Verfügung, damit sie von allen genutzt und verbessert werden können. Willow Garage entwickelt eine Reihe von Hardware- und Softwareplattformen, die sich alle auf ROS konzentrieren. ROS ist ein guter Ort, um Ihre Suche zu starten.
quelle
Der Roboterbaukasten ist eine Alternative zu ROS. Es ist auf modellgetriebenes Engineering und Design / Management komplexer Systeme ausgerichtet. Es ist auch darauf ausgerichtet, "nicht eng von Rock abhängig zu sein". Die meisten Algorithmen / Treiber in Rock sind unabhängig von der Komponentenschicht. Siehe auch diese Seite für eine kurze Zusammenfassung der Unterschiede zwischen Rock und ROS.
Wie bereits in einer früheren Antwort erwähnt, wird ROS hauptsächlich als Thin-Kommunikationsbibliothek verwendet. Die Komponentenschicht von Rock ist dicker, um die für die Skalierung komplexer Systeme erforderlichen Werkzeuge bereitzustellen.
Was Sie verstehen müssen, ist Folgendes: Heutzutage ist die einzige Open-Source-Robotersoftware, die es wert ist, betrachtet zu werden, Framework-unabhängig (OpenCV, PCL, OpenRave, Gazebo, ...). Sogar Willow Garage verstand das endlich. Daher kann es mit minimalem Arbeitsaufwand in jedes Framework integriert werden.
Jetzt: Ihre beste Wahl hängt auch von Ihrem Ziel ab. Wenn das, was Sie wollen verkaufen Hardware ist, dann ist es gut möglich , dass ein ROS Knoten, ist die beste Wahl (obwohl ein guter Fahrer mit Bibliothek , die dann in einen ROS - Knoten integriert ist , ist noch besser).
quelle
Orocos
Wie @BarretAmes sagte, gibt es Integrationen, die die Implementierung von Hybridsystemen ermöglichen, bei denen Orocos und andere Software Frameworks zusammenarbeiten.
quelle
Meine bevorzugte Plattform ist ROS. Es gibt jedoch einen weiteren starken Konkurrenten von ... ich wage es zu sagen ... Microsoft. Es heißt Robotics Developer Studio (RDS). Beginnen Sie Ihre Suche hier: http://www.microsoft.com/robotics/
Sie haben viele Videos von beeindruckenden Anwendungen. Der größte Vorteil für mich ist die integrierte Unterstützung für Kinect über das Kinect SDK von Microsoft. Technisch gesehen hat das von OpenNI verwendete ROS die gleichen Funktionen, aber es scheint beruhigend zu sein, das von RDS verwendete SDK von derselben Firma zu kennen, die die Hardware hergestellt hat.
quelle
Player / Stage ist immer noch eines der beliebtesten Open-Source-Roboterprojekte. Es gibt es schon lange und einige seiner Entwickler haben ROS gestartet, was jedoch nicht die Nützlichkeit von Player beeinträchtigt. Tatsächlich wurden alle drei Hauptkomponenten, Player (das Framework), Stage (der 2D-Simulator) und Gazebo (der 3D-Simulator), so gestaltet, dass sie in gewisser Weise mit ROS kompatibel sind .
quelle
MOOS ist Oxfords ROS-Analogon. http://www.robots.ox.ac.uk/~mobile/MOOS/wiki/pmwiki.php Es wird für eine Reihe von Marineanwendungen verwendet, von Hafenräumungen bis hin zu UUVs mit geringer Leistung, die in gezählten Intervallen gemeldet werden in Monaten.
quelle
OpenRTM
OpenRTM-aist wurde vom japanischen National Institute of Advanced Industrial Science and Technology entwickelt und trägt auch zur Definition des RT-Middleware-Standards bei.
Es ist ein Open-Source-Framework auf Komponentenbasis, das Echtzeitfunktionen bietet. Neben dem Framework stehen einige Tools zur Verfügung:
quelle