Robotik-Simulator

Mit einem Robotik-Simulator können Anwendungen für einen physischen Roboter erstellt werden, ohne von der tatsächlichen Maschine abhängig zu sein. Dies spart Kosten und Zeit. In einigen Fällen können diese Anwendungen ohne Änderungen auf den physischen Roboter übertragen (oder neu erstellt) werden.

Der Begriff Robotersimulator kann sich auf mehrere verschiedene Robotersimulationsanwendungen beziehen. In mobilen Robotik-Anwendungen können verhaltensbasierte Robotik-Simulatoren beispielsweise einfache Welten starrer Objekte und Lichtquellen erstellen und Roboter für die Interaktion mit diesen Welten programmieren. Verhaltensbasierte Simulationen ermöglichen Aktionen, die eher biologischer Natur sind, im Vergleich zu Simulatoren, die eher binär oder rechnerisch sind. Außerdem können verhaltensbasierte Simulatoren aus Fehlern „lernen“ und die anthropomorphe Qualität der Zähigkeit demonstrieren.

Eine der beliebtesten Anwendungen für Robotik-Simulatoren ist das 3D-Modellieren und Rendern eines Roboters und seiner Umgebung. Diese Art von Robotersoftware verfügt über einen Simulator, einen virtuellen Roboter, der die Bewegung eines realen Roboters in einem realen Arbeitsbereich nachahmen kann. Einige Robotersimulatoren verwenden eine Physik-Engine zur realistischeren Bewegungserzeugung des Roboters. Die Verwendung eines Robotik-Simulators für die Entwicklung eines Robotersteuerprogramms wird dringend empfohlen, unabhängig davon, ob ein Roboter verfügbar ist oder nicht. Der Simulator ermöglicht das bequeme Schreiben und Debuggen von Roboterprogrammen mit der endgültigen Version des Programms, das an einem tatsächlichen Roboter getestet wurde. Dies gilt hauptsächlich für industrielle Roboteranwendungen.

Sensorgestützte Roboteraktionen sind viel schwieriger zu simulieren und offline zu programmieren, da die Roboterbewegung von den augenblicklichen Sensorwerten in der realen Welt abhängt.

Funktionen
Moderne Simulatoren bieten in der Regel folgende Funktionen:

Schnelles Roboter-Prototyping
Verwendung des eigenen Simulators als Erstellungswerkzeug (Virtual Robot Experimentation Platform, Webots, R-Station, Marilou, 4DV-Sim).
Externe Werkzeuge verwenden.
Physik-Engines für realistische Bewegungen. Die meisten Simulatoren verwenden ODE (Gazebo, LpzRobots, Marilou, Webots) oder PhysX (Microsoft Robotics Studio, 4DV-Sim).
Realistische Wiedergabe 3d. Zum Erstellen der Umgebungen können Standard-3D-Modellierungs-Tools 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 von Gazebo.

Simulatoren
Zu den neuesten verfügbaren Technologien für die Programmierung gehören diejenigen, die eine virtuelle Simulation verwenden. Simulationen mit virtuellen Modellen der Arbeitsumgebung und der Roboter selbst können sowohl für das Unternehmen als auch für den Programmierer Vorteile bieten. Durch die Verwendung einer Simulation werden die Kosten gesenkt und Roboter können offline programmiert werden, wodurch Ausfallzeiten für eine Montagelinie vermieden werden. Roboteraktionen und Montageteile können Monate vor der Produktion von Prototypen in einer dreidimensionalen 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 der Schritt zu virtuellen Simulationen für Programmierroboter ein Fortschritt beim Design der Benutzeroberfläche ist, stecken viele solcher Anwendungen erst in den Kinderschuhen.

Allgemeine Information

Software Entwickler Entwicklungsstatus Lizenz 3D-Rendering-Engine Physik-Engine 3D-Modellierer Unterstützte Plattformen
Actin Energid Technologies Aktiv Proprietär OpenGL Proprietär Proprietär Windows, Mac OS, Linux, RTLinux, VxWorks, RTOS-32 und RTX. (QNX geplant)
ARS RAL Inaktiv BSD VTK ODE Keiner Linux, Mac OS, Windows
AUTOMAPPPS Convergent Information Technologies GmbH Aktiv Proprietär OpenGL unbekannte Intern Linux, Windows
Pavillon Open Source Robotics Foundation (OSRF) Aktiv Apache 2.0 OGER ODE / Bullet / Simbody / DART Intern Linux
MORSE Akademische Gemeinschaft Aktiv BSD Mixer-Spiel-Engine Kugel Mixer Linux, BSD *, macOS
OpenHRP AIST Aktiv Finsternis Java3D ODE / Intern Intern Linux, Windows
RoboDK RoboDK Aktiv Proprietär OpenGL keiner Intern Linux, Mac OS, Windows, Android
SimSpark O. Obst et al. (+26) Aktiv GNU GPL (v2) Intern ODE Keiner Linux, Mac OS, Windows
V-Rep Coppelia Robotics Aktiv Proprietär / GNU GPL Intern ODE / Bullet / Vortex / Newton Intern Linux, Mac OS, Windows
Webots Cyberbotics Ltd. Aktiv Proprietär Proprietär Proprietär(basierend auf ODE) Proprietär Linux, Mac OS, Windows
4DV-Sim 4D Virtualiz Aktiv Proprietär OGER PhysX Intern Linux
OpenRAVE OpenRAVE-Gemeinschaft Aktiv GNU LGPL Coin3D / OpenSceneGraph ODE / Bullet Intern Linux, Mac OS, Windows
Software Entwickler Entwicklungsstatus Lizenz 3D-Rendering-Engine Physik-Engine 3D-Modellierer Unterstützte Plattformen

Technische Information

Software Hauptprogrammiersprache Formate unterstützen Erweiterbarkeit Externe APIs Robotik-Middleware-Unterstützung Primäre Benutzeroberfläche Kopflose Simulation
Actin C ++ SLDPRT, SLDASM, STEP, OBJ, STL, 3DS, Collada, VRML, URDF, XML, ECD, ECP, ECW, ECX, ECZ, Plugins (C ++), API unbekannte ROS GUI Ja (ActinRT)
ARS Python unbekannte Python unbekannte Keiner unbekannte unbekannte
AUTOMAPPPS C ++, Python Schritt, IGES, STL Plugins (C), API XML, C Steckdose GUI Ja
Pavillon C ++ SDF / URDF, OBJ, STL, Collada Plugins (C ++) C ++ ROS, Player, Sockets (Protobuf-Meldungen) GUI Ja
MORSE Python unbekannte Python Python Buchsen, YARP, ROS, Pocolibs, MOOS Befehlszeile Ja
OpenHRP C ++ VRML Plugins (C ++), API C / C ++, Python, Java OpenRTM-Aist GUI unbekannte
RoboDK Python Schritt, IGES, STL, WRML Plugins (C ++), API C / C ++, Python, Matlab Steckdose GUI unbekannte
SimSpark C ++, Ruby Ruby Scene Graphs Mods (C ++) Netzwerk (sexpr) Steckdosen (sexpr) GUI, Sockets unbekannte
V-Rep LUA OBJ, STL, DXF, 3DS, Collada, URDF API, Add-Ons, Plugins C / C ++, Python, Java, Urbi, Matlab / Octave Steckdosen, ROS GUI Ja
Webots C ++ WBT, VRML, X3D API, PROTOs, Plugins (C / C ++) C, C ++, Python, Java, Matlab, ROS Buchsen, ROS, NaoQI GUI Ja
4DV-Sim C ++ 3DS, OBJ, Mesh Plugins (C ++), API FMI / FMU, Matlab ROS, Sockets, Plug & Play-Schnittstellen GUI Ja
OpenRAVE C ++, Python XML, VRML, OBJ, Collada Plugins (C ++), API C / C ++, Python, Matlab Steckdosen, ROS, YARP GUI, Sockets Ja
Software Hauptprogrammiersprache Formate unterstützen Erweiterbarkeit Externe APIs Roboter-Middleware-Unterstützung Primäre Benutzeroberfläche Kopflose Simulation

Infrastruktur-Unterstützung

Software Mailingliste API-Dokumentation Öffentliches Forum / Hilfesystem Benutzerhandbuch Issue Tracker Wiki
Actin Nein Ja Nein Ja Ja (intern) Nein
ARS unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
AUTOMAPPPS Ja Ja Nein Ja Ja Nein
Pavillon Ja Ja Ja Ja Ja Ja
MORSE Ja Ja Nein Ja Ja Nein
OpenHRP Ja Ja Nein Ja Ja Nein
RoboDK Ja Ja Nein Ja Nein Nein
SimSpark Ja Ja Nein Ja Ja Ja
V-Rep Nein Ja Ja Ja unbekannte Nein
Webots Nein Ja Ja Ja Ja Ja
4DV-Sim Ja Nein Ja Ja Ja Nein
OpenRAVE Ja Ja Ja Ja Ja Ja
Software Mailingliste API-Dokumentation Öffentliches Forum / Hilfesystem Benutzerhandbuch Issue Tracker Wiki

Code-Qualität

Software Statischer Code-Checker Style Checker Testsystem (e) Test Funktionsumfang Testen Sie die Zweigabdeckung Zeilen von Code Kommentarzeilen Kontinuierliche Integration
Actin unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte Jenkins
ARS unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
AUTOMAPPPS unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
Pavillon cppcheck cpplint gtest und qtest 46,1% 34,3% 190,7k 60,45k Jenkins
MORSE N / A Pylint Python unittests unbekannte unbekannte 31,4k 9,0 k Jenkins, Travis
OpenHRP unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
RoboDK unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
SimSpark unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
V-Rep unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
Webots unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
4DV-Sim unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
OpenRAVE unbekannte unbekannte Python-Nase unbekannte unbekannte unbekannte unbekannte Jenkins
Software Statischer Code-Checker Style Checker Testsystem (e) Test Funktionsumfang Testen Sie die Zweigabdeckung Zeilen von Code Kommentarzeilen Kontinuierliche Integration

Eigenschaften

Software CAD in Bewegung Dynamische Kollisionsvermeidung Relative Endeffektoren Offline-Programmierung Echtzeit-Streaming-Steuerung von Hardware
Actin Ja (Werkzeugpfade) Ja Ja Ja Ja
ARS unbekannte Nein unbekannte Nein Nein
Pavillon unbekannte Ja Ja Ja Ja
MORSE unbekannte Nein unbekannte Nein Nein
OpenHRP unbekannte Nein unbekannte Nein Nein
RoboDK unbekannte Nein unbekannte Ja Nein
SimSpark unbekannte Nein unbekannte Nein Nein
V-Rep unbekannte Nein unbekannte Nein Nein
Webots unbekannte Ja Ja Ja Ja
4DV-Sim unbekannte Nein unbekannte Nein Nein
OpenRAVE unbekannte Nein unbekannte Nein Nein
Software CAD in Bewegung Dynamische Kollisionsvermeidung Relative Endeffektoren Offline-Programmierung Echtzeit-Streaming-Steuerung

Familien von Robotern

Software UGV (Bodenmobiler Roboter) UAV (Flugroboter) AUV (Unterwasserroboter) Roboterarme Roboterhände (Greif-Simulation) Humanoide Roboter Menschliche Avatare Volle Liste
Actin Ja (kann Manipulatoren enthalten) Ja (kann Manipulatoren enthalten) Ja (kann Manipulatoren enthalten) Ja Ja Ja Ja
ARS unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
Pavillon Ja Ja Ja Ja Ja Ja Ja
MORSE Ja Ja Teilweise Etwas Nein Nein Ja
OpenHRP Ja Nein Nein Ja Ja Ja Ja
RoboDK Nein Nein Nein Ja Nein Nein Nein
SimSpark Ja Nein Nein Könnte sein Könnte sein Ja Nein
V-Rep Ja Ja Nein Ja Ja Ja Ja
Webots Ja Ja Ja Ja Ja Ja Ja Webots-Robotermodelle
4DV-Sim Ja Ja Nein Ja Könnte sein Nein Ja
OpenRAVE Ja unbekannte unbekannte Ja Ja Ja Ja
Software UGV (Bodenmobiler Roboter) UAV (Flugroboter) AUV (Unterwasserroboter) Roboterarme Roboterhände (Greif-Simulation) Humanoide Roboter Menschliche Avatare Volle Liste

Unterstützte Aktuatoren

Software Allgemeine kinematische Ketten Kraftgesteuerte Bewegung Volle Liste Zirkuläre kinematische Ketten Kinematisch redundante Ketten Verzweigte kinematische Ketten
Actin Ja Ja Bewegungsbeschränkungen Ja Ja Ja
ARS unbekannte unbekannte unbekannte unbekannte unbekannte
Pavillon Ja Ja Ja Ja Ja
MORSE Ja Ja MORSE-Stellantriebe unbekannte unbekannte unbekannte
OpenHRP Ja Ja unbekannte unbekannte unbekannte
RoboDK unbekannte unbekannte unbekannte unbekannte unbekannte
SimSpark Ja Nein SimSpark-Effektoren unbekannte unbekannte unbekannte
V-Rep Ja Ja unbekannte unbekannte unbekannte
Webots Ja Ja Webots Stellantriebe Ja Ja Ja
4DV-Sim Ja Ja unbekannte unbekannte unbekannte
OpenRAVE Ja Ja Gelenke, zusätzliche Stellglieder Ja Ja Ja
Software Allgemeine kinematische Ketten Kraftgesteuerte Bewegung Volle Liste Zirkuläre kinematische Ketten Kinematisch redundante Ketten Verzweigte kinematische Ketten

Unterstützte Sensoren

Software Odometry IMU Kollision Geographisches Positionierungs System Monokulare Kameras Stereokameras Tiefenkameras Omnidirektionale Kameras 2D-Laserscanner 3D-Laserscanner Volle Liste
Actin Ja Ja Ja unbekannte Ja Ja Ja Ja Ja Ja
ARS unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
AUTOMAPPPS unbekannte unbekannte unbekannte unbekannte Ja Ja Ja unbekannte Ja Ja
Pavillon Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
MORSE Ja Ja Ja Ja Ja unbekannte Ja unbekannte Ja Ja MORSE Sensoren
OpenHRP unbekannte Ja Ja unbekannte Ja unbekannte Ja unbekannte Ja Ja OpenHRP-Sensoren
RoboDK unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte unbekannte
SimSpark Ja Ja Ja Teilweise Ja Teilweise unbekannte unbekannte Nein Nein SimSpark-Wahrnehmungen
V-Rep unbekannte Ja Ja Ja Ja Ja Ja unbekannte Ja Ja
Webots Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Webots-Sensoren
4DV-Sim Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
OpenRAVE Ja Ja Ja Ja Ja Ja Ja unbekannte Ja Ja
Software Odometry IMU Kollision Geographisches Positionierungs System Monokulare Kameras Stereokameras Tiefenkameras Omnidirektionale Kameras 2D-Laserscanner 3D-Laserscanner Volle Liste

Andere Simulatoren

Open-Source-Simulatoren kurz
: ein 3D-Welt-Multiagentensimulator in Python.
EZPhysics: Kombination von Ogre3D- und ODE-Physik, GUI macht alle Objektdaten der ODE verfügbar, Netzwerk-Fernsteuerung optional über Matlab / Simulink.
Khepera Simulator ist ein Open-Source-Windows-Simulator für den Khepera-Roboter vor Webots.
Klamp’t: Ein Simulator, der 2013 eingeführt wurde und auf stabilen Trimesh-Trimesh-Kontakt spezialisiert ist. Unterstützt die Fortbewegung und Manipulation von Beinen
LpzRobots: Ein 3D-Physik-Robotersimulator, der an der Universität Leipzig entwickelt wurde.
miniBloq: Diese Roboterprogrammierungssoftware für Arduino-Boards verfügt über einen neuen Simulator.
Moby: Eine in C ++ geschriebene dynamische Bibliothek für Starrkörper.
OpenSim Simulator für Gelenk- und Radroboter mit vielfältigen Eigenschaften. Die Weiterentwicklung wurde im Jahr 2006 eingestellt.
Robotics Toolbox für MATLAB ist eine Freie Software, die Funktionen zur Darstellung von Pose (homogene Transformationen, Euler- und RPY-Winkel, Quaternionen), Arm-Robotern (Vorwärts- / Invers-Kinematik, Dynamik, Simulation, Animation) und mobiler Roboter bietet (Kontrolle, Lokalisierung, Planung und Animation).
ARTE A Robotics Toolbox for Education (ARTE) ist ein auf Matlab basierendes Lernprogramm für Freie Software. Es bietet Funktionen zur Darstellung von Position und Orientierung. Enthält auch Funktionen zum Simulieren von Roboterarmen (direkte / inverse Kinematik, Dynamik, Bahnplanung und mehr). Die Toolbox umfasst eine Vielzahl von 3D-Robotermodellen, die in einer Roboterzelle angezeigt und simuliert werden können.
Simbad 3d Robot Simulator Java-basierter Simulator
SimRobot: Ein Robotersimulator-Softwarepaket, das an der Universität Bremen und dem Deutschen Forschungszentrum für Künstliche Intelligenz entwickelt wurde.
Stage: 2.5D-Simulator, der häufig mit dem Player verwendet wird, um das Player / Stage-System zu bilden. Teil des Spielerprojekts
STDR-Simulator Ein einfacher, flexibler und skalierbarer 2D-Multi-Roboter-Simulator zur Verwendung innerhalb des Robot-Betriebssystems.
UCHILSIM: Ein physikbasierter Simulator für AIBO-Roboter, der in RoboCup 2004 eingeführt wurde.
UWSim: Ein Unterwasser-Simulator für die Forschung und Entwicklung von Schiffsrobotern, der Sensor-, Dynamik- und Physik-Simulationen beinhaltet.

Closed-Source- und proprietäre Simulatoren
anyKode Marilou
ORCA-Sim: Ein (Windows) 3D-Robotersimulator mit der Physik-Engine von Newton Game Dynamics.