Gazebo jest bezpłatną platformą działającą w systemie operacyjnym Linux, służącą do symulowania robotów w trójwymiarowym świecie. Jej możliwości pozwalają na modelowanie równocześnie kilku robotów, wraz z czujnikami, których odczyty zmieniają się w czasie rzeczywistym, oraz środowiskiem, w którym się znajdują. Dokładne odwzorowanie dynamiki ciała stałego jest zapewnione przez silnik fizyczny ODE (Open Dynamics Engine), dzięki któremu w Gazebo możliwa jest między innymi detekcja kolizji, natomiast za realistyczny wygląd modelowanych przedmiotów w środowisku trójwymiarowym odpowiada silnik graficzny OGRE (Object-Oriented Graphics Rendering Engine).
Każdą symulację tworzoną w środowisku Gazebo można podzielić na dwie części:
- World - plik Simulation Description Format (SDF) napisany w języku XML definiujący środowisko i zawierający informację o obiektach, które się w nim znajdują.
- Plugin - klasa w języku C++ pozwalający uzyskać kontrolę nad wykonywaniem symulacji w Gazebo. Istnieje pięć typów wtyczek: World, Model, Sensor, Visual oraz System. Każda nowo tworzona wtyczka musi dziedziczyć po jednym z głównych typów, w zależności od tego, którą częścią programu ma sterować.
Przykładowe okno programu |
Do zabawy z Gazebo możemy wykorzystać jeden z istniejących modeli robotów. Są to między innymi PR2 (Willow Garage), ARM Robot (DARPA), youBot (KUKA) i ATLAS (DARPA). Dla osób, które chcą stworzyć kontrukcję od podstaw są dwie opcje: korzystanie z bardzo prostego kreatora (jeśli prostopadłościany i walce brzmią satysfakcjonująco) albo importowanie kształtów stworzonych w Blenderze lub Sketchup'ie.
Krótkie podsumowanie:
+udostępniany na licencji Apache 2.0 (może być wykorzystywany bezpłatnie zarówno na potrzeby wolnego oprogramowania jak i rozwiązań komercyjnych)
+symulacja w 3D
+możliwość równoczesnego symulowania wielu robotów
+łatwa integracja z ROS
+możliwość korzystania z Player (dostarcza on prosty interfejs umożliwiający dostęp do czujników i silników urządzenia za pomocą sieci IP)
+oficjalna platforma DARPA Robotic Challenge (czyli dużo pieniążków na rozwój)
+możliwość importowania kształtów z Sketchupa i Blendera
+duża ilość czujników (m. in. czujniki laserowe, siły, momentu, Kinect i kamera)
+liczna i aktywna społeczność użytkowników
-działa tylko w systemie operacyjnym Ubuntu Linux (a on nie działa z moją kartą graficzną :( )
-program lubił się od czasu do czasu posypać (to mogło się już zmienić, pracowałam na nim w styczniu)
-mała liczba (brak?) książek ułatwiających zagłębienie się w temat
Brak komentarzy:
Prześlij komentarz