Symulacja piłki nożnej RoboCup 3D
Symulowana Liga Piłkarska RoboCup 3D pozwala agentom oprogramowania kontrolować humanoidalne roboty, aby rywalizować ze sobą w realistycznej symulacji zasad i fizyki gry w piłkę nożną. Platforma stara się odtworzyć wyzwania związane z programowaniem oprogramowania, przed którymi stoi budowanie w tym celu prawdziwych robotów fizycznych. W ten sposób pomaga w badaniach zmierzających do RoboCup , jakim jest opracowanie zespołu w pełni autonomicznych humanoidalnych robotów, które mogą wygrać z drużyną mistrzów świata w piłce nożnej ludzi w 2050 roku.
Pierwsza wersja serwera 3D została wydana 30.12.2003, po wstępnej propozycji przedstawionej na sympozjum RoboCup w 2003 roku.
Architektura
Symulacja jest wykonywana w RoboCup Simulated Soccer Server 3D (rcssserver3d), który działa w systemach Linux , Windows i Mac OS X. Podstawowym silnikiem symulacji jest SimSpark .
Agenci są kontrolowani przez procesy zewnętrzne. Zasady konkursu mówią, że każdy agent musi być oddzielnym procesem, chociaż nie ma na to technicznych ograniczeń. Agenci komunikują się z serwerem piłkarskim przez TCP , domyślnie na porcie 3100. Poza tym komunikacja między procesami jest zabroniona. Agenci mogą ze sobą rozmawiać, ale tylko przez serwer, który nakłada pewne ograniczenia na odległość i ilość przesyłanych informacji.
Serwer wysyła informacje o stanie gry i agenta do każdego agenta. W odpowiedzi agent wysyła do symulacji polecenia sterujące ruchem ciała agenta. Wiadomości są wysyłane przy użyciu podobnych do Lispa wyrażeń S w jednobajtowym ASCII , poprzedzonych 32-bitową liczbą całkowitą bez znaku reprezentującą długość następującego ciągu.
Serwer symulacji nie posiada własnego GUI . Zamiast tego dedykowana aplikacja monitorująca łączy się z serwerem przez port TCP 3200 i otrzymuje informacje o stanie gry. Standardową aplikacją monitorującą jest rcssmonitor3d , która dodatkowo może odtwarzać pliki dziennika z nagranych meczów. RoboViz to nowsza aplikacja monitorująca oparta na języku Java z rozszerzonymi możliwościami grafiki 3D i debugowania.
Modele robotów
SimSpark to ogólny symulator, który może symulować różne modele agentów . W swojej historii liga 3D korzystała z różnych modeli.
Zmiana modeli reprezentuje postęp w symulowaniu ulepszonego przybliżenia prawdziwego robota. Jednak gdy modele się zmieniają, istniejące zespoły muszą przerobić swoich agentów, aby kontrolować nowe ciała.
Piłkarz
Pierwszym modelem agenta używanym w lidze 3D był Soccerbot , który był oparty na modelu HOAP -2 firmy Fujitsu . Jako pierwszy model RoboCup 3D, zespoły skupiały się przede wszystkim na równowadze i podstawowej mobilności. W rezultacie ten model agenta nie jest tak w pełni funkcjonalny, jak dwunożny robot grający w piłkę nożną wielkości człowieka. Na przykład Soccerbot ma wszechkierunkową kamerę zamontowaną w tułowiu, dzięki czemu głowa jest nieruchoma. Podobnie stawy biodrowe są ograniczone do obrotów wokół prostopadłych osi.
Soccerbot został również zaprojektowany z pewnymi ograniczeniami ówczesnego systemu symulacji. Ponieważ symulator stał się bardziej niezawodny, możliwe stały się bardziej wyrafinowane modele robotów.
Nao robota
Obecny model robota wykorzystywanego w zawodach bazuje na robocie Nao firmy Aldebaran Robotics . Ma 22 zawiasy kontrolujące ruch ciała.
Nao ma zamontowaną w głowie kamerę kierunkową. Głowa może obracać się o dwa stopnie swobody, w zakresie od -120 do 120 stopni od lewej do prawej i od -45 do 45 stopni od dołu do góry. Kamera ma pole widzenia o szerokości 120 stopni.
Nao ma również bardziej złożoną strukturę bioder.
Perceptory
Odtwarzacz robotów Nao jest wyposażony w różne perceptory:
- GyroRatePerceptor dostarcza informacji o orientacji względem osi X,Y,Z. Nao ma jeden zamocowany w tułowiu.
- HingeJointPerceptor zapewnia bieżący kąt przegubu zawiasowego. Połączenia zawiasowe mogą zginać się tylko wzdłuż jednej osi. Nao ma 22 takie stawy.
- ForceResistancePerceptor dostarcza informacji o lokalizacji, kierunku i wielkości siły przyłożonej do części ciała. Nao ma jeden z nich na podeszwie każdej stopy.
- Akcelerometr mierzy przyspieszenie wzdłuż osi X,Y,Z części ciała, do której jest przymocowany. Grawitacja jest zarejestrowana. Nao ma jeden zamocowany w tułowiu.
- VisionPerceptor to wyspecjalizowana kamera, która informuje o położeniu określonych punktów orientacyjnych na boisku, piłce i innych graczach. Pozycje są podawane we współrzędnych biegunowych względem kierunku patrzenia Nao.
- GameStatePerceptor wykrywa czas gry i tryb gry (przed rozpoczęciem gry, rzutem wolnym, zakończeniem gry itp.).
- HearPerceptor wykrywa wiadomości wysyłane przez innych agentów w terenie, zgłaszając ich odległość, kierunek i samą wiadomość.
Platforma symulacyjna SimSpark może być rozszerzana za pomocą niestandardowych perceptorów, ale nie jest to dozwolone podczas zawodów.
Efektory
- CreateEffector jest wysyłany raz po połączeniu agenta w celu utworzenia robota na serwerze.
- HingeJointEffector określa, że dana siła powinna być przyłożona do określonego połączenia zawiasowego. Nao ma 22 takie zawiasy.
- BeamEffector służy do zmiany pozycji gracza-robota w momentach gry, kiedy jest to dozwolone.
- SayEffector sprawia, że robot wypowiada wiadomość, którą mogą usłyszeć członkowie drużyny i przeciwnicy w określonym zasięgu za pośrednictwem HearPerceptor .
Głoska bezdźwięczna
- Pięć goli SEU-RedSun z RoboCup 2008 (YouTube)
- Filmy z Japan Open 2010 (ustream)
- Najważniejsze wydarzenia UT Austin Villa z RoboCup 2011 (YouTube)
- Najważniejsze wydarzenia Ligi Symulacji RoboCup 2012 3D (YouTube)
- Najważniejsze wydarzenia UT Austin Villa z RoboCup 2014 (YouTube)
- Najważniejsze wydarzenia UT Austin Villa z RoboCup 2015 (YouTube)
- Najważniejsze wydarzenia UT Austin Villa z RoboCup 2016 (YouTube)
- Najważniejsze wydarzenia UT Austin Villa z RoboCup 2017 (YouTube)
- Web Player dla plików dziennika z poprzednich zawodów
Zespoły
- Zespół Nao Humboldt - NaoTH
- Małe zielone nietoperze
- UT Austin Villa
- Trzej muszkieterowie - L3M-SIM
- RoboLaski
- FC Portugalia
- magmaOffenburg
- BahiaRT
- ITandroidy 3D
- kgpkubs
- [AIUT3D]
Zobacz też
Linki zewnętrzne
- SimSpark Wiki Instrukcje instalacji dla SimSpark i rcssserver3d na wszystkich platformach.
- RoboCup Wiki Soccer Simulation League na oficjalnej wiki RoboCup.
- Archiwum zawodów Archiwum logów, plików binarnych drużyn i opisów drużyn z poprzednich zawodów.
- RoboViz Narzędzie do monitorowania RoboViz na GitHub.
- AIUT3D Motion Editor AIUT3D Motion Editor do tworzenia ruchów opartych na klatkach kluczowych.