it-swarm.dev

Symulator robotyki

Jaki jest najlepszy symulator robotyki? Na razie szukam prostych symulacji metody Potential Field, algorytmów błędów, algorytmu A * itp.! 

Lista znanych symulatorów robotów;

  1. Projekt odtwarzacza (symulator 2D - Etap - symulator 3D - Altana - i interfejs sterowania - open source, część projektu ROS)
  2. MORSE (symulator 3D do zastosowań ogólnych/zewnętrznych)
  3. Microsoft Robotics Studio (symulator + interfejs sterowania)
  4. KiKS (wtyczka Matlab, tylko dla interfejsu sterowania Khepera +) 
  5. MobotSim (dla robotów punktowych, więcej implementacji algorytmu) 
  6. Karel (Pretty Kiddish, chyba pascal/Logo)
  7. Peekabot (Wygląda naprawdę fajnie!)
  8. MRPT (wygląda bardzo ładnie, spróbuję wkrótce)
  9. Carmen (Robot Vision itp. Jest łatwy w implementacji (?))
  10. Weboty (open-source - multiplatforma - wielojęzyczność [ROS, Python, Matlab, itp.] - najnowocześniejszy wygląd - eksport do sieci) 
  11. Simbad (symulator 2D/3D w Javie i Jythonie)
  12. Robocode (garnitur Java/.NET)
  13. Rossum's Playhouse (garnitur C/C++)
  14. V-REP (3D, dostępne źródła, skrypty Lua, API dla C/C++, Python, Java, Matlab, URBI, 2 silniki fizyki, pełny solver kinematyczny, itp.)

Niektóre bardziej ogólne platformy/oprogramowanie pośrednie oferują również narzędzia do symulacji:

  1. ROS (obecnie największa integracja takich platform
  2. URBI
  3. YARP
  4. OROCOS (Nic o tym nie wiem!)

Niektóre odniesienia do symulatorów robotów: 

  1. Środowiska programistyczne dla autonomicznych robotów mobilnych: ankieta
  2. Zestawy narzędzi robotyki Open Source
  3. Zaktualizowany przegląd platform oprogramowania robotycznego
  4. Istniejące symulatory - [email protected]
  5. Lista na stronie Asaf Matan
54
Arkapravo

Chciałbym wybrać powszechnie używaną strukturę. Gdy jesteś zainteresowany planowaniem ścieżek, wybierz platformę, która ma już symulowane roboty, i po prostu napisz usługi planowania, które musisz wygenerować. 

ROS jest bardzo fajny i ma całkiem spory wybór przydatnych usług percepcyjnych, a także pełny stos PR2. Wykorzystuje altanę (część odtwarzacza/sceny) do symulacji i zawiera kilka robotów z półki (do tego idealnie nadaje się niekonsekwentny). Jest całkiem nowy, ale bardzo aktywny.

MRDS ma kilka odpowiednich robotów i, szczerze mówiąc, lepiej symulowane środowiska niż ROS, ale nie do końca, za pomocą usług wysokiego poziomu. Symulator robota lego byłby odpowiedni do tego, co chcesz zrobić, i daje ci możliwość sprawdzenia taniego sprzętu w przyszłości.

Te dwie mają obecnie udział lwów w programistach. Naprawdę decyzja sprowadza się do tego, czy jesteś bardziej zadowolony z rozwoju w studio wizualnym pod Windows, czy na platformach Linux. Oba są bezpłatne dla studentów (MSRS jest w ramach programów ELMS/Dreamspark), obie mają krzywą uczenia się, obie mają całkiem dobre wsparcie społeczności. W przypadku MRDS, zarejestruj się na forum, dla ROS, dołącz do listy mailingowej.

9
Tom

peekabot to nie symulator, tylko narzędzie do wizualizacji, a do pewnego stopnia narzędzie do interaktywnej kontroli robota. Jest to dobre dopasowanie do użycia w połączeniu z symulatorem bez własnej wizualizacji.

MRPT nie ma (kompletnego) symulatora AFAIK, tylko algorytmy, interfejsy, sterowniki i własny format dziennika. Poza tym wygląda ładnie.

OpenRAVE warto sprawdzić, czy jesteś zainteresowany planowaniem.

Altana nie była naprawdę dojrzała i wystarczająco stabilna, ostatnio próbowałem (~ 1 rok temu). Warto jednak sprawdzić.

Etap jest prosty w użyciu, pod warunkiem, że potrzebujesz tylko symulatora 2D bez dynamiki.

Użyłem zarówno ODE, jak i Bulleta do symulacji robotyki i obie działały dobrze, chociaż polecam ODE.

Aby uzyskać bardziej definitywną odpowiedź, musisz doprecyzować swoje wymagania - tzn. Czy szukasz symulatora lub czegoś bardziej podobnego do ROS, czy potrzebujesz symulatora 3D z dynamiką lub tylko 2D, jak musi być dokładny, jakie czujniki masz chcesz symulować itp.

2
Staffan

Programowałem przeciwko SimSpark . Jest to silnik symulacji open-source za RoboCup 3D Simulated Soccer League .

Jest rozszerzalny dla różnych symulacji. Możesz podłączyć własne czujniki, siłowniki i modele za pomocą plików C++, Ruby i/lub RSG (Ruby Scene Graph).

Nie wiem, czy to najlepszy symulator, ale lubiłem go używać.

EDIT W odpowiedzi na komentarz Arkapravo.

Napisałem API .NET do pisania własnych agentów RoboCup 3D o nazwie TinMan .

Na YouTube jest kilka filmów z symulowanymi meczami piłkarskimi 3D. To jeden z moich ulubionych .

RoboCup 2010 odbywa się w tym tygodniu w Singapurze, choć niestety nie będę w stanie tego zrobić.

RoboCup 3D działa na fizycznym silniku symulacyjnym o nazwie SimSpark . Ma kompleksową Wiki z dużą ilością informacji wyjaśniających, jak to wszystko działa.

Mój agent jest wciąż dość prymitywny, więc nie mam jeszcze żadnych informacji o tym. Istnieje wiele implementacji agenta open source w różnych językach, jeśli jesteś zainteresowany.

2
Drew Noakes

To brzmi jak wszystko czego potrzebujesz to symulator 2D. Unikałbym więc problemów z symulatorem 3D. Kilka uwag na temat Twoich wyborów:

  1. Odtwarzacz zawiera symulator 2D (etap) i symulator fizyki 3D (Gazeebo), który według mnie wykorzystuje ODE
  2. MRDS zawiera symulator fizyki 3D firmy PhysX

  3. ROS to tylko architektura i nie wierzę, że ma własny symulator. chociaż ma kilka różnych narzędzi do wizualizacji. to także otacza gracza.

Innym popularnym symulatorem/architekturą jest WeBots. Ale myślę, że to tylko 3D. 

To wszystko co wiem. Powodzenia .- Ben

2
Ben

Urbi nie jest symulatorem. Jest to platforma middleware, która opiera się na języku skryptowym równoległym i sterowanym zdarzeniami. Teraz jest to open source i obsługuje funkcje ROS, co oznacza, że ​​powinieneś używać obu! Oto kilka informacji o Urbi: www.urbiforge.org

I wreszcie, jest łatwy w obsłudze dla początkujących.

Mam nadzieję, że wszystkie informacje, które masz, pomogą Ci wybrać odpowiedni symulator!

1
Seg

Pracuję nad rozwojem innego symulatora robotyki opartego na Blenderze. Nazywa się MORSE i ma być bardzo elastycznym symulatorem opartym na modułowych komponentach. Zapewnia łączność z różnymi urządzeniami pośrednimi, obecnie YARP, ROS i gniazdami. ____ Obecne aplikacje wykorzystujące tę technologię obejmują współpracę wielu robotów mobilnych i interakcje człowiek-robot.

Więcej informacji znajdziesz na oficjalnej stronie: http://morse.openrobots.org

To wszystko jest open source i mamy listy mailingowe dla użytkowników. Będziemy wdzięczni, jeśli spróbujesz i przekażesz nam swoje uwagi

1
gilberto

Istnieje kilka, które są nastawione na humanoidalne roboty i/lub ogólne zastosowania wieloobiektowe, ale mogą być również wykorzystywane do celów robotyki mobilnej: 

  1. OpenHRP : Open source, tony bibliotek napisanych w C++ dołączone do symulacji dynamiki i wizualizacji. Trochę to jednak boli, gdy się go uruchamia, całkiem sporo zależności, które są bardzo wrażliwe na wersje. 
  2. Robotran : Darmowy do użytku osobistego i/lub zastosowań badawczych. Działa głównie w środowisku Matlab/Simulink. Bardzo łatwo uzyskać modele i uruchomić. 
  3. MapleSim : Oprogramowanie komercyjne, ale przydatne do bardzo zaawansowanego modelowania. Eksportuje wydajną symboliczną dynamikę wieloobiektową dla symulacji/wizualizacji również w Matlab/Simulink. 

Wszystkie te pakiety służą do symulacji/wizualizacji, co jest przydatne do ogólnego projektowania aplikacji robotycznych. 

1
safwanc

ODE ktoś? Używałem tego bardzo często w moich projektach micromouse ..

1
iamgopal

Naprawdę świetną opcją, którą polecam jest RobotSim firmy Cogmation. Mają też inny produkt RobotBuilder, który pozwala zbudować dowolnego robota, który można sobie wyobrazić, a nawet importować własne modele. 

0
mgauthier

Znalazłem Fawkesa dzisiaj online:

http://www.fawkesrobotics.org/

Fawkes jest opartym na komponentach ramowym oprogramowaniem do robotycznych aplikacji czasu rzeczywistego dla różnych platform i domen.

Opracowany i używany przez ponad cztery lata w robotach kognitywnych w czasie rzeczywistym, takich jak piłka nożna i robotyka. Obsługuje szybką wymianę informacji i wydajną kombinację i koordynację różnych komponentów, aby zaspokoić potrzeby robotów mobilnych działających w niepewnych środowiskach.

To także open source (GPL).

0
Drew Noakes

Wspomnę również o Unity3D , to jest naprawdę bardziej zaprojektowane do tworzenia gier, ale ma dobre możliwości dla grafiki 3D, skryptów (w javascript lub Mono/C #), fizyki itp. I może być używane jako symulator, jeśli jesteś chętny do samodzielnego napisania lub zintegrowania niektórych funkcji specyficznych dla robota (czujniki, algorytmy itp.).

Ponadto jest to platforma wieloplatformowa, wersja podstawowa jest bezpłatna i może sprawić, że niektóre bardzo ładne demonstracje będą wymagały minimalnego wysiłku.

0
WildCrustacean

Breve został użyty do symulacji robotów, które zostały fizycznie zaimplementowane. Breve jest kierowany przez ODE.

0
kharrington