Simulátor robotiky - Robotics simulator

A robotika simulátor je simulátor slouží k vytvoření žádosti o fyzické robot bez závislosti na konkrétním přístroji, a tím šetří náklady a čas. V některých případech lze tyto aplikace přenést na fyzického robota (nebo přestavět) bez úprav.

Termín simulátor robotiky může odkazovat na několik různých aplikací simulace robotiky. Například v aplikacích mobilní robotiky umožňují simulátory založené na chování uživatelům vytvářet jednoduché světy pevných objektů a světelných zdrojů a programovat roboty tak, aby s těmito světy interagovaly. Simulace založená na chování umožňuje akce, které mají více biologický charakter ve srovnání se simulátory, které jsou více binární nebo výpočetní. Simulátory založené na chování se navíc mohou „učit“ z chyb a jsou schopné prokázat antropomorfní kvalitu houževnatosti.

Image
Simulátor robotiky Robologix .

Jedna z nejpopulárnějších aplikací pro simulátory robotiky je pro 3D modelování a vykreslování robota a jeho prostředí. Tento typ softwaru pro robotiku má simulátor, který je virtuálním robotem, který je schopen emulovat pohyb skutečného robota ve skutečné pracovní obálce. Některé simulátory robotiky používají fyzikální engine pro realističtější generování pohybu robota. Použití simulátoru robotiky pro vývoj programu pro řízení robotiky se velmi doporučuje bez ohledu na to, zda je skutečný robot k dispozici nebo ne. Simulátor umožňuje pohodlné psaní a ladění robotických programů off-line s konečnou verzí programu testovanou na skutečném robotu. To platí především pouze pro průmyslové robotické aplikace, protože úspěch off-line programování závisí na tom, jak podobné je skutečné prostředí robota simulovanému prostředí.

Akce robota založené na senzorech je mnohem obtížnější simulovat a/nebo programovat offline, protože pohyb robota závisí na okamžitých hodnotách senzorů v reálném světě.

Funkce

Moderní simulátory obvykle poskytují následující funkce:

  • Rychlé prototypování robotů
    • Použití vlastního simulátoru jako nástroje pro tvorbu.
    • Pomocí externích nástrojů.
  • Fyzikální motory pro realistické pohyby. Většina simulátorů používá Bullet , ODE nebo PhysX .
  • Realistické 3d vykreslování. K vytváření prostředí lze použít standardní nástroje pro 3D modelování nebo nástroje třetích stran.
  • Dynamická těla robotů se skriptováním. Jazyky C , C ++ , Perl , Python , Java , URBI , MATLAB používají Webots, Python používá Gazebo.

Simulátory

Mezi nejnovější technologie, které jsou dnes k dispozici pro programování, patří ty, které používají virtuální simulaci. Simulace s využitím virtuálních modelů pracovního prostředí a samotných robotů mohou nabídnout výhody jak pro společnost, tak pro programátora. Použitím simulace se sníží náklady a roboty lze programovat offline, což eliminuje prostoje na montážní lince. Akce robota a součásti sestavy lze vizualizovat v trojrozměrném virtuálním prostředí měsíce před samotnou výrobou prototypů. Psaní kódu pro simulaci je také jednodušší než psaní kódu pro fyzického robota. Zatímco přechod k virtuálním simulacím pro programování robotů je krokem vpřed v návrhu uživatelského rozhraní, mnoho takových aplikací je teprve v plenkách.

Obecná informace

Software Vývojáři Stav vývoje Licence 3D vykreslovací engine Fyzikální motor 3D modelář Podporované platformy
Altán Open Source Robotics Foundation (OSRF) Aktivní Apache 2.0 OGRE ODE / Bullet / Simbody / DART Vnitřní Linux, macOS, Windows
RoboDK RoboDK Aktivní Proprietární OpenGL Gravitační plugin Vnitřní Linux, macOS, Windows, Android, iOS, Debian
SimSpark O. Obst a kol. (+26) Aktivní GNU GPL (v2) Vnitřní ÓDA Žádný Linux, macOS, Windows
Weboti Cyberbotics Ltd. Aktivní Apache 2.0 Interní (WREN) Vidlice ODE Vnitřní Linux, macOS, Windows
OpenRAVE Komunita OpenRAVE Aktivní GNU LGPL Coin3D / OpenSceneGraph ODE / Bullet Vnitřní Linux, macOS, Windows
CoppeliaSim Coppelia Robotics Aktivní Duální: Komerční / GNU GPL Vnitřní Bullet / ODE / Vortex / Newton Game Dynamics Vnitřní Linux, macOS, Windows
Software Vývojáři Stav vývoje Licence 3D vykreslovací engine Fyzikální motor 3D modelář Podporované platformy

Technické informace

Software Hlavní programovací jazyk Podpora formátů Rozšiřitelnost Externí API Podpora middlewaru robotiky Primární uživatelské rozhraní Bezhlavá simulace
Altán C ++ SDF/URDF, OBJ , STL , Collada Pluginy (C ++) C ++ ROS, přehrávač, zásuvky (zprávy protobuf) GUI Ano
RoboDK Krajta SLDPRT , SLDASM , STEP , OBJ , STL , 3DS , Collada , VRML , URDF , Rhinoceros_3D , ... API, rozhraní plug-in Python, C/C ++, C#, Matlab, ... Zásuvka GUI Neznámý
SimSpark C ++, Ruby Ruby Scene Graphs Mody (C ++) Síť ( sexpr ) Zásuvky ( sexpr ) GUI, zásuvky Neznámý
Weboti C ++ WBT, VRML , X3D , 3DS , Blender , BVH , Collada , FBX , STL , OBJ , URDF API, PROTO, Pluginy (C/C ++) C, C ++, Python, Java, Matlab, ROS Zásuvky, ROS, NaoQI GUI Ano
OpenRAVE C ++, Python XML , VRML , OBJ , Collada Pluginy (C ++), API C/C ++, Python, Matlab Zásuvky, ROS, YARP GUI, zásuvky Ano
CoppeliaSim C ++, Lua 3DS , Blender , Collada , STL , OBJ , URDF, SDF, GLTF, XML Pluginy (C/C ++), vestavěné skripty (Lua), Remote API (C, C ++, Python, Java, MATLAB, Octave), doplňky (Lua) C, C ++, Python, Java, MATLAB, Octave, ROS, ROS 2.0 Zásuvky, ROS, ROS 2.0, ZeroMQ GUI Ano
Software Hlavní programovací jazyk Podpora formátů Rozšiřitelnost Externí API Robotická podpora middlewaru Primární uživatelské rozhraní Bezhlavá simulace

Infrastruktura

Podpěra, podpora

Software Poštovní seznam Dokumentace API Veřejné fórum/systém nápovědy Uživatelský manuál Sledování problémů Wiki Povídat si
Altán Ano Ano Ano Ano Ano Ne
RoboDK Ano Ano Ano Ano Ano Ne Neznámý
SimSpark Ano Ano Ne Ano Ano Ano Neznámý
Weboti Ne Ano Ne Ano Ano Ano Ano
OpenRAVE Ano Ano Ano Ano Ano Ano Neznámý
CoppeliaSim Ne Ano Ano Ano Ano Neznámý Ne
Software Poštovní seznam Dokumentace API Veřejné fórum/systém nápovědy Uživatelský manuál Sledování problémů Wiki

Kvalita kódu

Software Kontrola statického kódu Kontrola stylu Testovací systémy Pokrytí testovací funkce Otestujte pokrytí pobočky Řádky kódu Řádky komentářů Průběžná integrace
Altán cppcheck cpplint gtest a qtest 77,0% 53,3% 320 tis 106 tis Jenkins
RoboDK Neznámý Neznámý Neznámý Neznámý Neznámý Neznámý Neznámý Neznámý
SimSpark Neznámý Neznámý Neznámý Neznámý Neznámý Neznámý Neznámý Neznámý
Weboti cppcheck formát clang jednotkové testy 100% funkcí API mistr, rozvíjet ~ 200 tis ~ 50 tis Travis, AppVeyor, GitGuardian, GitHub Actions
OpenRAVE Neznámý Neznámý Pythonský nos Neznámý Neznámý Neznámý Neznámý Jenkins
CoppeliaSim Neznámý Neznámý Neznámý Neznámý Neznámý Neznámý Neznámý Neznámý
Software Kontrola statického kódu Kontrola stylu Testovací systémy Pokrytí testovací funkce Otestujte pokrytí pobočky Řádky kódu Řádky komentářů Průběžná integrace

Funkce

Software CAD to Motion Dynamické zamezení kolizím Relativní koncové efektory Off-line programování Ovládání hardwaru streamováním v reálném čase
Altán Neznámý Ano Ano Ano Ano
RoboDK Ano Ano Ano Ano Ano
SimSpark Neznámý Ne Neznámý Ne Ne
Weboti Neznámý Ano Ano Ano Ano
OpenRAVE Neznámý Ne Neznámý Ne Ne
CoppeliaSim Neznámý Ano Ano Ano Ano
Software CAD to Motion Dynamické zamezení kolizím Relativní koncové efektory Off-line programování Ovládání streamování v reálném čase

Rodiny robotů

Software UGV (pozemní mobilní robot) UAV (letecké roboty) AUV (podvodní roboti) Robotické zbraně Robotické ruce (simulace uchopení) Humanoidní roboti Lidské avatary Úplný seznam
Altán Ano Ano Ano Ano Ano Ano Ano
RoboDK Ne Ne Ne Ano Ne Ne Ne Ano
SimSpark Ano Ne Ne Možná Možná Ano Ne
Weboti Ano Ano Ano Ano Ano Ano Ano Ano
OpenRAVE Ano Neznámý Neznámý Ano Ano Ano Ano
CoppeliaSim Ano Ano Ano Ano Ano Ano Ano Ano
Software UGV (pozemní mobilní robot) UAV (letecké roboty) AUV (podvodní roboti) Robotické zbraně Robotické ruce (simulace uchopení) Humanoidní roboti Lidské avatary Úplný seznam

Podporované akční členy

Software Generické kinematické řetězce Síla řízený pohyb Úplný seznam Kruhové kinematické řetězce Kinematicky nadbytečné řetězce Bifurkované kinematické řetězce
Altán Ano Ano Ano Ano Ano
RoboDK Neznámý Neznámý Neznámý Neznámý Neznámý
SimSpark Ano Ne Efektory SimSpark Neznámý Neznámý Neznámý
Weboti Ano Ano Aktuátory Webots Ano Ano Ano
OpenRAVE Ano Ano Klouby , Extra akční členy Ano Ano Ano
CoppeliaSim Ano Ano Ano Ano Ano
Software Generické kinematické řetězce Síla řízený pohyb Úplný seznam Kruhové kinematické řetězce Kinematicky nadbytečné řetězce Bifurkované kinematické řetězce

Podporované senzory

Software Odometrie IMU Kolize GPS Monokulární kamery Stereo kamery Hloubkové kamery Všesměrové kamery 2D laserové skenery 3D laserové skenery Úplný seznam
Altán Ano Ano Ano Ano Ano Ano Ano Ano Ano Ano
RoboDK Neznámý Neznámý Neznámý Neznámý Neznámý Ano Ano Ano Ano Ano
SimSpark Ano Ano Ano Částečný Ano Částečný Neznámý Neznámý Ne Ne Vnímače SimSpark
Weboti Ano Ano Ano Ano Ano Ano Ano Ano Ano Ano Webots senzory
OpenRAVE Ano Ano Ano Ano Ano Ano Ano Neznámý Ano Ano
CoppeliaSim Ano Ano Ano Ano Ano Ano Ano Ano Ano Ano
Software Odometrie IMU Kolize GPS Monokulární kamery Stereo kamery Hloubkové kamery Všesměrové kamery 2D laserové skenery 3D laserové skenery Úplný seznam

Reference

externí odkazy