A robotyki symulator jest symulatorem wykorzystywane do tworzenia aplikacji dla fizycznego robota bez zależności od rzeczywistej maszyny, oszczędzając w ten sposób koszty i czas. W niektórych przypadkach aplikacje te można przenieść do fizycznego robota (lub przebudować) bez modyfikacji.
Termin symulator robotyki może odnosić się do kilku różnych aplikacji symulacyjnych robotyki. Na przykład w aplikacjach robotyki mobilnej symulatory robotyki opartej na zachowaniu umożliwiają użytkownikom tworzenie prostych światów sztywnych obiektów i źródeł światła oraz programowanie robotów do interakcji z tymi światami. Symulacja oparta na zachowaniu pozwala na działania, które mają bardziej biologiczny charakter w porównaniu z symulatorami, które są bardziej binarne lub obliczeniowe. Ponadto symulatory behawioralne mogą „uczyć się” na błędach i są w stanie zademonstrować antropomorficzną jakość wytrwałości.
Jedną z najpopularniejszych aplikacji symulatorów robotyki jest modelowanie 3D i renderowanie robota i jego otoczenia. Ten rodzaj oprogramowania robotycznego ma symulator, który jest wirtualnym robotem, który jest w stanie emulować ruch rzeczywistego robota w rzeczywistej przestrzeni roboczej. Niektóre symulatory robotyki wykorzystują silnik fizyczny do bardziej realistycznego generowania ruchu robota. Wykorzystanie symulatora robotyki do opracowania programu sterowania robotyką jest wysoce zalecane niezależnie od tego, czy rzeczywisty robot jest dostępny, czy nie. Symulator umożliwia wygodne pisanie i debugowanie programów dla robotyki w trybie off-line z ostateczną wersją programu testowaną na rzeczywistym robocie. Dotyczy to głównie zastosowań robotów przemysłowych , ponieważ powodzenie programowania off-line zależy od tego, jak podobne jest rzeczywiste środowisko robota do środowiska symulowanego.
Działania robota oparte na czujnikach są znacznie trudniejsze do symulacji i/lub zaprogramowania w trybie off-line, ponieważ ruch robota zależy od chwilowych odczytów czujników w świecie rzeczywistym.
Nowoczesne symulatory mają zwykle następujące funkcje:
Szybkie prototypowanie robota
Wykorzystanie własnego symulatora jako narzędzia do tworzenia.
Korzystanie z zewnętrznych narzędzi.
Silniki fizyczne do realistycznych ruchów. Większość symulatorów używa Bullet , ODE lub PhysX .
Realistyczne renderowanie 3d. Do budowania środowisk można użyć standardowych narzędzi do modelowania 3D lub narzędzi innych firm.
Dynamiczne korpusy robotów ze skryptami. C , C++ , Perl , Python , Java , URBI , języki MATLAB używane przez Weboty, Python używany przez Gazebo.
Symulatory
Wśród najnowszych technologii dostępnych obecnie do programowania są te, które wykorzystują wirtualną symulację. Symulacje z wykorzystaniem wirtualnych modeli środowiska pracy i samych robotów mogą przynieść korzyści zarówno firmie, jak i programiście. Dzięki zastosowaniu symulacji zmniejsza się koszty, a roboty można programować w trybie off-line, co eliminuje wszelkie przestoje linii montażowej. Działania robotów i części montażowe można wizualizować w trójwymiarowym środowisku wirtualnym na kilka miesięcy przed wyprodukowaniem prototypów. Pisanie kodu do symulacji jest również łatwiejsze niż pisanie kodu dla fizycznego robota. Podczas gdy ruch w kierunku wirtualnych symulacji do programowania robotów jest krokiem naprzód w projektowaniu interfejsu użytkownika, wiele takich aplikacji jest dopiero w powijakach.