Robotik-Simulator - Robotics simulator

Ein Robotersimulator ist ein Simulator, der verwendet wird, um Anwendungen für einen physischen Roboter zu erstellen, ohne von der tatsächlichen Maschine abhängig zu sein, wodurch Kosten und Zeit gespart werden. In einigen Fällen können diese Anwendungen ohne Modifikationen auf den physischen Roboter übertragen (oder umgebaut) werden.

Der Begriff Robotiksimulator kann sich auf mehrere verschiedene Robotiksimulationsanwendungen beziehen. In mobilen Robotikanwendungen beispielsweise ermöglichen verhaltensbasierte Robotiksimulatoren Benutzern, einfache Welten aus starren Objekten und Lichtquellen zu erstellen und Roboter so zu programmieren, dass sie mit diesen Welten interagieren. Verhaltensbasierte Simulation ermöglicht Aktionen, die biologischer Natur sind, im Vergleich zu Simulatoren, die eher binär oder rechnerisch sind. Darüber hinaus können verhaltensbasierte Simulatoren aus Fehlern „lernen“ und die anthropomorphe Qualität der Beharrlichkeit demonstrieren .

Roboter- Simulator Robologix .

Eine der beliebtesten Anwendungen für Robotersimulatoren ist die 3D-Modellierung und das Rendering eines Roboters und seiner Umgebung. Diese Art von Robotik-Software verfügt über einen Simulator, der ein virtueller Roboter ist, der die Bewegung eines tatsächlichen Roboters in einem realen Arbeitsraum emulieren kann. Einige Robotersimulatoren verwenden eine Physik-Engine für eine realistischere Bewegungserzeugung des Roboters. Die Verwendung eines Robotersimulators zur Entwicklung eines Robotersteuerungsprogramms wird dringend empfohlen, unabhängig davon, ob ein tatsächlicher Roboter verfügbar ist oder nicht. Der Simulator ermöglicht das bequeme Schreiben und Debuggen von Roboterprogrammen offline mit der endgültigen Version des Programms, die an einem tatsächlichen Roboter getestet wird. Dies gilt in erster Linie nur für industrielle Roboteranwendungen , da der Erfolg der Offline-Programmierung davon abhängt, wie ähnlich die reale Umgebung des Roboters der simulierten Umgebung ist.

Sensorbasierte Roboteraktionen sind viel schwieriger zu simulieren und/oder offline zu programmieren, da die Roboterbewegung von den momentanen Sensormesswerten in der realen Welt abhängt.

Merkmale

Moderne Simulatoren bieten in der Regel die folgenden Funktionen:

  • Schnelles Roboter-Prototyping
    • Verwenden des eigenen Simulators als Erstellungswerkzeug.
    • Verwendung externer Tools.
  • Physik-Engines für realistische Bewegungen. Die meisten Simulatoren verwenden Bullet , ODE oder PhysX .
  • Realistische 3D-Rendering. Zum Erstellen der Umgebungen können Standard-3D-Modellierungstools oder Tools von Drittanbietern verwendet werden.
  • Dynamische Roboterkörper mit Scripting. C , C++ , Perl , Python , Java , URBI , MATLAB- Sprachen, die von Webots verwendet werden, Python, das von Gazebo verwendet wird.

Simulatoren

Zu den neuesten Technologien, die heute für die Programmierung zur Verfügung stehen, gehören solche, die eine virtuelle Simulation verwenden. Simulationen mit virtuellen Modellen der Arbeitsumgebung und der Roboter selbst können sowohl für Unternehmen als auch für Programmierer Vorteile bieten. Durch den Einsatz einer Simulation werden Kosten reduziert und Roboter können offline programmiert werden, wodurch Stillstandzeiten für eine Montagelinie vermieden werden. Roboteraktionen und Montageteile können Monate vor der Prototypenfertigung in einer 3-dimensionalen virtuellen Umgebung visualisiert werden. Das Schreiben von Code für eine Simulation ist auch einfacher als das Schreiben von Code für einen physischen Roboter. Während die Entwicklung hin zu virtuellen Simulationen für die Programmierung von Robotern ein Fortschritt beim Design von Benutzeroberflächen ist, stecken viele dieser Anwendungen erst in den Kinderschuhen.

Allgemeine Information

Software Entwickler Entwicklungsstatus Lizenz 3D-Rendering-Engine Physik-Engine 3D-Modellierer Unterstützte Plattformen
Pavillon Open Source Robotics Foundation (OSRF) Aktiv Apache 2.0 OGER ODE / Kugel / Simbody / DART Intern Linux, macOS, Windows
RoboDK RoboDK Aktiv Proprietär OpenGL Schwerkraft-Plugin Intern Linux, macOS, Windows, Android, iOS, Debian
SimSpark O. Obstet al. (+26) Aktiv GNU-GPL (v2) Intern ODE Keiner Linux, macOS, Windows
Webbots Cyberbotics Ltd. Aktiv Apache 2.0 Intern (WREN) Gabel von ODE Intern Linux, macOS, Windows
OpenRAVE OpenRAVE-Community Aktiv GNU LGPL Coin3D / OpenSceneGraph ODE / Kugel Intern Linux, macOS, Windows
CoppeliaSim Coppelia Robotik Aktiv Dual: Kommerziell / GNU GPL Intern Kugel / ODE / Vortex / Newton Spieldynamik Intern Linux, macOS, Windows
Software Entwickler Entwicklungsstatus Lizenz 3D-Rendering-Engine Physik-Engine 3D-Modellierer Unterstützte Plattformen

Technische Information

Software Hauptprogrammiersprache Unterstützte Formate Erweiterbarkeit Externe APIs Unterstützung für Robotik-Middleware Primäre Benutzeroberfläche Headless-Simulation
Pavillon C++ SDF/URDF, OBJ , STL , Collada Plugins (C++) C++ ROS, Player, Sockets (Protobuf-Nachrichten) GUI Jawohl
RoboDK Python SLDPRT , SLDASM , STEP , OBJ , STL , 3DS , Collada , VRML , URDF , Rhinoceros_3D , ... API, Plug-In-Schnittstelle Python, C/C++, C#, Matlab, ... Steckdose GUI Unbekannt
SimSpark C++, Ruby Ruby-Szenendiagramme Mods (C++) Netzwerk ( sexpr ) Steckdosen ( sexpr ) GUI, Sockets Unbekannt
Webbots C++ WBT, VRML , X3D , 3DS , Blender , BVH , Collada , FBX , STL , OBJ , URDF API, PROTOs, Plugins (C/C++) C, C++, Python, Java, Matlab, ROS Steckdosen, ROS, NaoQI GUI Jawohl
OpenRAVE C++, Python XML , VRML , OBJ , Collada Plugins (C++), API C/C++, Python, Matlab Steckdosen, ROS, YARP GUI, Sockets Jawohl
CoppeliaSim C++, Lua 3DS , Blender , Collada , STL , OBJ , URDF, SDF, GLTF, XML Plugins (C/C++), Eingebettete Skripte (Lua), Remote API (C, C++, Python, Java, MATLAB, Octave), Add-ons (Lua) C, C++, Python, Java, MATLAB, Octave, ROS, ROS 2.0 Sockel, ROS, ROS 2.0, ZeroMQ GUI Jawohl
Software Hauptprogrammiersprache Unterstützte Formate Erweiterbarkeit Externe APIs Unterstützung für Robotik-Middleware Primäre Benutzeroberfläche Headless-Simulation

Infrastruktur

Unterstützung

Software Mailingliste API-Dokumentation Öffentliches Forum/Hilfesystem Benutzerhandbuch Problemverfolgung Wiki Plaudern
Pavillon Jawohl Jawohl Jawohl Jawohl Jawohl Nein
RoboDK Jawohl Jawohl Jawohl Jawohl Jawohl Nein Unbekannt
SimSpark Jawohl Jawohl Nein Jawohl Jawohl Jawohl Unbekannt
Webbots Nein Jawohl Nein Jawohl Jawohl Jawohl Jawohl
OpenRAVE Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Unbekannt
CoppeliaSim Nein Jawohl Jawohl Jawohl Jawohl Unbekannt Nein
Software Mailingliste API-Dokumentation Öffentliches Forum/Hilfesystem Benutzerhandbuch Problemverfolgung Wiki

Codequalität

Software Statischer Code-Checker Stilprüfer Testsystem(e) Testfunktionsabdeckung Testzweigabdeckung Zeilen von Code Kommentarzeilen Kontinuierliche Integration
Pavillon cppcheck cpplint gtest und qtest 77,0% 53,3% 320k 106k Jenkins
RoboDK Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt
SimSpark Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt
Webbots cppcheck Clang-Format Komponententests 100% der API-Funktionen meistern, entwickeln ~200k ~50k Travis, AppVeyor, GitGuardian, GitHub-Aktionen
OpenRAVE Unbekannt Unbekannt Python-Nase Unbekannt Unbekannt Unbekannt Unbekannt Jenkins
CoppeliaSim Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt
Software Statischer Code-Checker Stilprüfer Testsystem(e) Testfunktionsabdeckung Testzweigabdeckung Zeilen von Code Kommentarzeilen Kontinuierliche Integration

Merkmale

Software CAD zu Bewegung Dynamische Kollisionsvermeidung Relative Endeffektoren Offline-Programmierung Echtzeit-Streaming-Steuerung der Hardware
Pavillon Unbekannt Jawohl Jawohl Jawohl Jawohl
RoboDK Jawohl Jawohl Jawohl Jawohl Jawohl
SimSpark Unbekannt Nein Unbekannt Nein Nein
Webbots Unbekannt Jawohl Jawohl Jawohl Jawohl
OpenRAVE Unbekannt Nein Unbekannt Nein Nein
CoppeliaSim Unbekannt Jawohl Jawohl Jawohl Jawohl
Software CAD zu Bewegung Dynamische Kollisionsvermeidung Relative Endeffektoren Offline-Programmierung Echtzeit-Streaming-Steuerung

Roboterfamilien

Software UGV (mobiler Bodenroboter) UAV (Luftroboter) AUV (Unterwasserroboter) Roboterarme Roboterhände (Greifsimulation) Humanoide Roboter Menschliche Avatare Volle Liste
Pavillon Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl
RoboDK Nein Nein Nein Jawohl Nein Nein Nein Jawohl
SimSpark Jawohl Nein Nein Vielleicht Vielleicht Jawohl Nein
Webbots Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl
OpenRAVE Jawohl Unbekannt Unbekannt Jawohl Jawohl Jawohl Jawohl
CoppeliaSim Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl
Software UGV (mobiler Bodenroboter) UAV (Luftroboter) AUV (Unterwasserroboter) Roboterarme Roboterhände (Greifsimulation) Humanoide Roboter Menschliche Avatare Volle Liste

Unterstützte Aktoren

Software Generische kinematische Ketten Kraftgesteuerte Bewegung Volle Liste Kreiskinematische Ketten Kinematisch redundante Ketten Gegabelte kinematische Ketten
Pavillon Jawohl Jawohl Jawohl Jawohl Jawohl
RoboDK Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt
SimSpark Jawohl Nein SimSpark-Effektoren Unbekannt Unbekannt Unbekannt
Webbots Jawohl Jawohl Webbots-Aktoren Jawohl Jawohl Jawohl
OpenRAVE Jawohl Jawohl Gelenke , zusätzliche Aktuatoren Jawohl Jawohl Jawohl
CoppeliaSim Jawohl Jawohl Jawohl Jawohl Jawohl
Software Generische kinematische Ketten Kraftgesteuerte Bewegung Volle Liste Kreiskinematische Ketten Kinematisch redundante Ketten Gegabelte kinematische Ketten

Unterstützte Sensoren

Software Odometrie IMU Kollision Geographisches Positionierungs System Monokulare Kameras Stereokameras Tiefenkameras Omnidirektionale Kameras 2D-Laserscanner 3D-Laserscanner Volle Liste
Pavillon Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl
RoboDK Unbekannt Unbekannt Unbekannt Unbekannt Unbekannt Jawohl Jawohl Jawohl Jawohl Jawohl
SimSpark Jawohl Jawohl Jawohl Teilweise Jawohl Teilweise Unbekannt Unbekannt Nein Nein SimSpark-Perzeptoren
Webbots Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Webbots-Sensoren
OpenRAVE Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Unbekannt Jawohl Jawohl
CoppeliaSim Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl Jawohl
Software Odometrie IMU Kollision Geographisches Positionierungs System Monokulare Kameras Stereokameras Tiefenkameras Omnidirektionale Kameras 2D-Laserscanner 3D-Laserscanner Volle Liste

Verweise

Externe Links