Návody a inštalácie
Nachádzajú sa tu návody na inštaláciu a rozbehanie SimSparku, importovanie zdrojových kódov do IDE a na všetky základné kroky.
SimSpark
SimSpark je simulačným prostredím, ktorý slúži ako základný motor pre poháňanie simulácie robotického futbalu.
Inštalácia na Windows
*platné aj na Windows 10 !
*vo veľa prípadoch bolo nutné reinštalovať windows
Windows 7 x64
Testované na verziách:
Dostupné na stránkach:
Postup:
Stiahnuť a nainštalovať exe súbory na systémový disk (inak to nepôjde) C:/Program Files (x86)/ v tomto poradí:
MS Visual C++ 2008 Redistributable Package (x86) (nepovinné)
simspark
rcsserver3d
Ruby
Reštartovať počítač
Spustiť server spustením rcssserver3d.cmd. Po spustení sa zobrazí príkazový riadok, v ktorom sa môžu objavovať informatívne chybové hlášky, no server je aj napriek tomu korektne spustený.
Spustiť monitor spustením rcssmonitor3d.cmd. Po tomto kroku by sa malo zobraziť okno s ihriskom.
Spustiť agenta na ihrisko spustením rcssagent3d.cmd. Po tomto kroku by sa mal v rohu ihriska objaviť hráč s názvom NaoRobot. Tento krok slúži len ako test, že všetko funguje správne.
Pozn.: Kroky číslo 3 a 4 je možné nahradiť spustením súboru rcsoccersim3d.cmd, ktorý vykoná spustenie servera a monitora.
Postup je približne rovnaký, ako v tomto videu, rozdiel je v odlišných verziách (pdporúčame ale postupovať podľa hore uvedeného písomného návodu):
http://www.youtube.com/watch?v=_gDrGoPQ35k
Oficiálny návod:
https://gitlab.com/robocup-sim/SimSpark/wikis/Installation-on-Windows
Záme problémy:
Problém so spustením rssserver3d.cmd. Napríklad keď sa zobrazí hláška o chýbajúcej knižnici (napríklad libboost_system-mt.dll is missing)
Riešenie 1: Skontrolujte v Štart→Ovládací panel→Používateľské kontá→Premenné prostredia, či premenné prostredia SPARK_DIR a RCSSSERVER3D_DIR ukazujú na adresáre, do ktorých boli nainštalované a následne je potrebné reštartovať počítač.
Riešenie 2: Otvoriť adresár, kde je nainštalovaný rcssserver3d (C:\Program Files (x86)\rcssserver3d 0.6.7\bin). V tomto adresári je potrebné upraviť súbory:
rcssserver3d.cmd,
rcssmonitor3d.cmd,
rcssagent3d.cmd
pridaním do každého z nich na začiatok dva nasledovné riadky (v prípade potreby upraviť verziu rcssserver-a):
Problém so spustením rssserver3d.cmd so súčastne nainštalovanými knižnicami MinGW (napríklad chyba v kniznici libgcc_s_sjlj-1.dll).
Windows 7 x86
Postup je rovnaký ako na 64-bitovú verziu. Samozrejme, v cestách sa používa C:\Program Files\
.
Stiahnutie MS Visual C++2008 Redistributable Package (x86)
-
Otvorí sa stránka Microsoft Download Center s nápisom MS Visual C++2008 Redistributable Package (x86) s možnosťou stiahnutia „Download“.
Kliknúť na „Download“ a tým stiahnuť súbor „vcredist_x86.exe“.
Spustiť súbor a nainštalovať MS Visual C++2008 Redistributable Package (x86). Inštaláciu postačí vykonať štýlom klikania „Next“ a nakoniec „Finish“.
Stiahnutie a nainštalovanie Simspark 0.2.2
-
Kliknúť na „simspark-0.2.2-win32.exe“.
Počkať 5 sekúnd a potom stiahnuť súbor „simspark-0.2.2-win32.exe“.
Spustiť súbor „simspark-0.2.2-win32.exe“.
Kliknúť: Next, I Agree, Next, Install, Finish. Ak by inštalácia padla alebo sa ukončila skôr než sa zobrazí obrazovka s tlačidlom „Finish“, je nutné inštaláciu zopakovať.
Stiahnutie a nainštalovanie RoboCup servera 0.6.5
-
Kliknúť na „rcssserver3d-0.6.5-win32.exe“.
Počkať 5 sekúnd a potom stiahnuť súbor „rcssserver3d-0.6.5-win32.exe“.
Spustiť súbor „rcssserver3d-0.6.5-win32.exe“.
Kliknúť: Next, I Agree, Next, Install, Finish. Ak by inštalácia padla alebo sa ukončila skôr než sa zobrazí obrazovka s tlačidlom „Finish“, je nutné inštaláciu zopakovať.
Stiahnutie a nainštalovanie Ruby 1.9.1
Pokiaľ už máte nainštalované Ruby tejto verzie, tak nie je nutný tento krok. Pokiaľ máte nainštalované Ruby inej verzie, nie je zaručené že celý tento postup bude fungovať (treba skúsiť, možno to fungovať bude).
-
Kliknúť na „Ruby 1.9.1-p378“.
Stiahnuť súbor „rubyinstaller-1.9.1-p378.exe“.
Spustiť súbor „rubyinstaller-1.9.1-p378.exe“.
Kliknúť: Next, I accept the license, Next, zaškrtnúť „Add Ruby executables to your PATH“, Install, Finish. Ak by inštalácia padla alebo sa ukončila skôr než sa zobrazí obrazovka s tlačidlom „Finish“, je nutné inštaláciu zopakovať.
Reštart systému Windows.
Na prejavenie zmien spôsobených inštaláciami je nutné systém Windows reštartnúť.
Upravenie „cmd“ súborov v RoboCup serveri
Otvoriť v textovom editore (napríklad Notepad++) všetky súbory s príponou „cmd“, ktoré sa predvolene nachádzajú v priečinku
„C:\Program Files\rcssserver3d 0.6.5\bin“ alebo tam, kam ste RoboCup server nainštalovali. Sú to súbory:
rcsoccersim3d.cmd
rcssagent3d.cmd
rcssmonitor3d.cmd
rcssserver3d.cmd.
Do každého súboru pridať 2 riadky, ktoré pri predvolených cestách vyzerajú takto:
SET SPARK_DIR=C:\Program Files\simspark
SET RCSSSERVER3D_DIR=C:\Program Files\rcssserver3d 0.6.5
6.3.
Uložiť zmeny v súboroch.
7. Overenie funkčnosti inštalácií spustením predvoleného hráča
Ísť do priečinka „C:\Program Files\rcssserver3d 0.6.5\bin“.
Pre spustenie RoboCup servera je potrebné spustiť súbor „rcssserver3d.cmd“. Po spustení sa objaví konzolové okno s výpismi.
Pre spustenie RoboCup monitora je potrebné spustiť súbor „rcssmonitor3d.cmd“. Po spustení sa objaví konzolové okno s výpismi a zároveň okno RoboCup monitora. RoboCup monitor a jeho okno slúži na zobrazenie futbalového ihriska a všetkého, čo sa na ňom viditeľne deje.
Pre spustenie predvoleného hráča je potrebné spustiť súbor „rcssagent3d.cmd“. Po spustení sa objaví konzolové okno s výpismi a zároveň sa v okne RoboCup monitora na ihrisku objaví hráč. Pre nájdenie, či a kde sa hráč v monitore nachádza, je potrebné použiť šípky na klávesnici. Mal by sa nachádzať na ľavej strane ihriska ďalej od kamery.
Spustenie hráča, ktorý je vyvíjaný našou fakultou, je popísané v časti „Pustenie agenta“.
Užitočné zdroje
-
-
-
- stránka tímu A55 Kickers
Inštalácia na Linux
Inštalácia je možná viacerými spôsobmi. V návodoch nájdete postupy pre najrýchlejší typ inštalácie a na najbezpečnejšiu (kompilácia)
LINUX rýchla inštalácia (bez kompilácie)
Pred inštaláciou updatujte celý OS a pustite príkaz sudo apt-get update
Inštalácia servera a simsparku (vždy najnovších verzií) na Kubuntu/Ubuntu 11 x64. Rýchlu inštaláciu spustíte príkazmi:
Testovacím agentom si overíte pripojiteľnosť k serveru. Keď vyjde nová verzia simsparku, update verzie prevediete príkazom:
LINUX - kompilácia
Pred inštaláciou potrebujete nainštalovať niekoľko rozšírení OS. Pred inštaláciou rozšírení určite pustite:
sudo apt-get update
- updatujte celý
OS
Aj počas inštalácie updatujte OS keď sa Vám hocijaký update ukáže! Povolte „multiverse“ a „universe“ v termináli:
Povolte logovanie terminálu:
Potrebné rozšírenia
Cmake
sudo apt-get install cake
Ruby (gems, rails)
Nezabudnite na to aby ste mali povolené „multiverse“ a „universe“, a logovanie terminálu.
Inštalácia Ruby s RVM postup na nete
sudo apt-get install curl
curl -L get.rvm.io | bash -s stable source ~/.rvm/scripts/rvm rvm requirements
Ukážkový výpis „rvm requirements“:
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
Teraz pustite inštaláciu všetkých potrebných rozšírení, ktoré ruby žiada.
Kopírujte text výpisu, všetko po „ruby: /usr/bin/apt-get install“
Pustite „sudo apt-get install“ s kopírovaným textom.
Príklad: sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
Prípadene: sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
Keby problémy pretrvávali nezabudnite updateovať celý
OS a pustite aj
sudo apt-get update
REŠTARTUJTE POČíTAČ Posledné kroky: rvm install 1.9.3 rvm use 1.9.3 –default rvm rubygems current gem install rails
OpenGL
sudo apt-get install build-essential
sudo apt-get install freeglut3-dev
The Open Dynamics Engine (ODE)
Pred inštaláciou ODE je nutné mať nainštalované OpenGL. Pokiaľ už máte nainštalované OpenGL, stiahnite si najnovšiu verziu ODE (v tomto prípade ode-0.12.tar.bz2).
cd ~/Downloads/ tar -xjvf ode-0.12.tar.bz2 cd ode-0.12/
Príkazmi vyššie ste extractovali súbory a momentálne sa nachádzate v zložke s konfiguračnými súbormi. Teraz spustite príkaz na konfiguráciu.
./configure –enable-double-precision
V prípade, že konfigurácia prebehla bez chýb stačí spustiť príkaz make. make
The Boost C++ Libraries
sudo apt-get install libboost-dev libboost-test-dev
Freetype
sudo apt-get install freetype*
Developer Image Library (DevIL)
sudo apt-get install libdevil1c2 libdevil-dev
SDL
sudo apt-get install libsdl1.2-dev libsdl1.2debian
Optional:
wxWidgets Library
FMOD Sound Library
Latex (pdflatex): to generate developers manual
Doxygen: to generate
API documentation
-
mkdir build
cd build
cmake ..
make make install
-
./configure make
make install
Inštalácia na Mac
Easy way
* tento návod sa mi nepodarilo rozbehať pomocou Virtual Boxu
* cez bootcamp sa to podarilo rozbehať dvom členom tímu BAREKO
Po pár neúspešných pokusov o inštaláciu RCserver3D, a jednom úspešnom pokuse som prišiel na to, že síce inštalácia bola úspešná, avšak niektoré funkcie FIIT projektu robotického hráča boli na OSX nefunkčné. Odporúčam pomocou DreamSparku a Virtual Boxu nainštalovať virtuálny windows a vyvíjať pod Windowsom.
Nefunkčné funkcie:
Návod:
Funkčný návod:
Hard way
Treba mať rozbehané:
Java JDK (7 je overená)
Xcode (dostupný v AppStore, ak máte rozbehané GCC tak nie je potrebný)
-
-
SVN (dá sa nainštalovať pomocou macports sudo port install subversion)
Inštalácia knižníc
Inštalácia Simspark
Z SVN Simsparku checkout-neme najnovšiu verziu:
-
V súbore simspark/trunk/spark/lib/zeitgeist/scriptserver/scriptserver.cpp zmeníme riadok (asi 611)
pkgdatadir += „Contents/Resources/“; na pkgdatadir += „../share/simspark/“;
Skompilujeme a nainštalujeme:
cd <path-to-simspark-dir>/simspark/trunk/spark
mkdir build
cd build
cmake ..
make
sudo make install
cd <path-to-simspark-dir>/simspark/trunk/rcssserver3d
mkdir build
cd build
cmake ..
make
sudo make install
Spustenie Simspark
Pre zjednodušené spúšťanie simspark-u je dobré požiť tento skript:
Importovanie z BitBucketu
V nasledujúcich krokoch je opísaný postup pre importovanie projektu do Eclipse Luna, Mars:
Spusťte Eclipse
Vytvorte si pre projekt workspace
V pravom hornom rohu sa prepnite do Git (musíte mať nainštalovaný plugin pre Git, alebo používať Eclipse Luna,Mars)
Následne je potrebné si naklonovať repozitár z nášho Bitbucketu na váš lokálny disk. Na toto potrebujete prístup do nášho Bitbucketu. Ak ho nemáte ozvite sa nám na tímový mail teambender@gmail.com. Pre klonovanie stlačte vľavo hore ikonku „Clone a Git repository„
Do poľa
URI skopírujte nasledovný odkaz na branch nášho projektu (
https://bitbucket.org/robocup_tp09/agent/branch), polia Host a Repository path sa vyplnia automaticky. Zadajte ešte do polí User a Password vaše meno a heslo, ktoré používate pri prihlasovaní na účet v Bitbucket-e, v ktorom máte prístup k nášmu projektu a kliknite na tlačidlo Next.
V nasledovnom kroku stlačte tlačidlo Deselect All a následne zaškrtnite iba branch Master a stlačte tlačidlo Next.
Zvoľte si cestu, kam sa vám branch má naklonovať. Stlačte tlačidlo Finish a počkajte kým sa branch naklonuje.
Kliknete pravým tlačidlom na myši na naklonovaný branch vľavo hore a zvolíte Import Projects…
Nechajte zvolené Import Existing Projecťs a stlačte tlačidlo Next.
Mali by ste vidieť tri projekty a to Jim, RoboCupLibrary a TestFramework. Nechajte pri nich políčka zaškrtnuté a stlačte tlačidlo Finish.
Projekty by sa vám mali naimportovať do eclipse. Teraz sa už len vpravo hore prepnite naspäť z Git na Java a mali by ste vidieť naimportované tri projekty.
Importovanie zdrojových kódov
Netbeans
Návod na inštaláciu 3 od seba závislých projektov RoboCupu v 3 priečinkoch (tak ako sme to stiahli z repozitára alebo CD).
Návod je pre Netbeans 7.2:
File → New project → Choose project: Java: Java Project with Existing Sources Name and Location: Project Name napríklad Jim. Name and Location: Project Folder - vybrať priečinok kde sú v repozitári konkrétne zdrojové súbory k projektu. Klikneme Next.
Pridáme zdrojové súbory projektu kliknutím na Source Package Folders: Add Folder a vyberieme src zložku v aktuálnom projekte.
Kliknúť Finish.
Takto vytvoríme všetky 3 projekty.
Potom priradíme Libraries na každý projekt a závisiaci projekt na konkrétnom projekte. Klikneme pravým tlačítkom myši na priečinok Libraries a klikneme na Add JAR/Folder… a vyberieme všetky .jar súboru v projekte v priečinku /lib/. Tak isto pridáme aj kliknutím na Add Project závisiaci projekt. Projekt Jim závisí na projekte RoboCupLibrary a projekt TestFramework závisí na Jim a RoboCupLibrary projektoch.
Ak ste dodržali poradie, malo by všetko fungovať.
Eclipse
Navod na instalaciu 3 od seba zavislych projektov RoboCupu v 3 priecinkoch v Eclipse IDE Juno Service Release 1:
File→New→JavaProject, ale vo workspace-y musíme mať 3 priečinky Jim, RoboCupLibrary, TestFramework ako sme ich stiahli. Nasledujúce kroky vykonáme pre každý priečinok (projekt) zvlášť. Odporúčame začať RoboCupLibrary, potom Jim a nakoniec TestFramework.
Project Name vložíme názov projektu, napr. RoboCupLibrary. Klikneme Next.
Karta Libraries. Uistíme sa, že tam máme všetky knižnice z priečinku libs/ v zdrojovom priečinku projektu (napr. Jim/Libs/).
Karta Projects. Uistíme sa, že tam máme všetky projekty, na ktorých vytváraný projekt závisí (pre Jim tam musí byť projekt RoboCupLibrary, a pre projekt TestFramework Jim a RoboCupLibrary).
Karta Order and Export. Uistíme sa, že všetky checkboxy sú označené.
Klikneme Finish.
Pustenie agenta
Na pustenie agenta je potrebné mať nainstalované simulačné prostredie.
Pustenie agenta z command line
Pustite príkazový riadok a nastavte sa na adresu simulačného servera, do podadresára bin. Cesta môže byť napr.: „C:\Program Files (x86)\rcssserver3d 0.6.5\bin“
Spustenie servera: Z príkazového riadku (konzoly) pustite príkaz: rcssserver3d.cmd
Pustenie monitru: Z príkazového riadku (konzoly) pustite príkaz: rcssmonitor3d.cmd
Pustenie hráča: Z príkazového riadku (konzoly) pustite príkaz: rcssagent3d.cmd
Spustenie agenta z IDE
NetBeans
Importovať zdrojaky Jima a RoboCupLibrary do prostredia
V projekte Jim v súbore script/config/settings.rb nastaviť VERSION_0_6_X na verziu podľa nainštalovaného servera
Nájsť balíček sk.fiit.jim.init
Rozbaliť balíček a nájsť triedu Main.java
Spustiť rcssserver3d a rcssmonitor3d
Spustiť triedu Main.java (kliknut pravym tlacidlom mysi a zvolit moznost run file)
Pri vypísaní chyby java.io.FileNotFoundException: .\fixtures\test_log.txt (Prístup je odmietnutý) postupovať takto:
V projekte Jim nájsť priečinok fixture a všetkým zložkám v ňom vo vlastnostiach odškrtnúť políčko Only read
Po objavení sa agenta v ihrisku stlačiť na klávesnici písmeno B.
Agent začne vykonávať pohyb v závislosti od zvoleného plánovača.
Eclipse
Importovať projekty Jim, RoboCupLibrary, TestFramework
V projekte Jim a v súbore scripts/config/settings.rb v riadku Communication.instance.server_ip potrebujeme zmeniť IP adresu podľa toho, kde beží simulačný server, na ktorý sa ideme pripojiť (napr: Communication.instance.server_ip = „localhost“)
V tom istom súbore settings.rb je potrebné zmeniť VERSION_0_6_X (kde X treba nahradiť v závislosti od toho, na ktorom serveri akej verzie sa vykonávajú simulácie), napr: EnvironmentModel.version = EnvironmentModel::Version::VERSION_0_6_5 Poznámka 15.10.2013: Existujú nové verzie serverov 0.6.6 a 0.6.7. Pre tieto verzie momentálne nie je naplno implementovaná podpora, preto nechajte konštantu nastavenú na verzii VERSION_0_6_5, hoci používate novšiou verziu servera.
Spustiť rcssserver3d a rcssmonitor3d
Spustiť triedu Main.java, ktorá sa nachádza v projekte Jim a v balíčku sk.fiit.jim.init (kliknúť pravým tlačidlom myši a zvoliť možnosť Run As – Java Application)
Po objavení sa agenta v ihrisku stlačiť na klávesnici písmeno b. Agent začne vykonávať pohyb v závislosti od zvoleného plánovača.
Pustenie agenta z TestFrameworku
Púšťanie agentov z Testframeworku je možné z 2. tabu Magane agents. Kde je potrebné zvoliť si tím a pustiť agenta na ihrisko.
Spustenie agenta z Editoru pohybov
Spustenie agenta z editoru pohybov je možné tromi spôsobmi:
Spustenie agenta aj so simulačným prostredím: Tlačidlo „PLAY“
Spustenie agenta bez púšťania simulačného prostredia (simulačné prostredie je potrebné pustiť manuálne): Funkcia „Spustiť iba agenta“
Spustenie agenta špeciálne (simulačné prostredie je potrebné pustiť manuálne): Spustenie agenta spomalene, zrýchlene, alebo s prestávkami vo vykonávaní
DÔLEŽITÉ: Editor pohybov nie je plne kompatibilný s najnovšími verziami Windowsov ani simulačného prostredia a preto spúšťanie hráčov nefunguje spoľahlivo.
Vytvorenie elementov taktiky a pohybovania agentov
Low-skill pohyby
High skill
Simulácia low-skill
Pre otestovanie pohybu je potrebne v priečinku ./scripts/plan zmeniť v pláne planZakladny.rb riadok @plan«LowSkill.new(„nazov xml suboru s pohybom“). Následne v spustiť hráča s planom planZakladny. Ako spustiť hráča s požadovaným plánom pozri kapitolu fungovanie v časti Planovac.
Simulácia high-skill
Pre otestovanie pohybu je potrebne v priečinku ./scripts/plan v pláne planZakladny.rb vložiť riadok @plan«MenoHS.new(parametre HS) Následne spustiť hráča s planom planZakladny. Ako spustiť hráča s požadovaným plánom pozri kapitolu fungovanie v časti Planovac.
TestFramework
Test Framework slúži na získanie spätnej väzby od hráča. Hlavným zámerom je zostrojiť robotického futbalového trénera, ktorý by dokázal učiť hráčov novým taktikám a pohybom automaticky.
Vytvorenie testCase
Modelovanie situácie je možné pomocou testcase. Podrobný návod na vytvorenie a pustenie testcase nájdete na Test Case.
Pustenie testCase
V grafickom rozhraní testovacieho frameworku sa ľahko zorientujete podľa GUI: Testovací framework. Je tam aj popis ako spustiť test case. V prípade, že niečo nefunguje skontrolujte či máte build-nutý celý projekt, či daný high skill je v priečinku, v ktorom má byť a či existujú low skill pohyby potrebné na vykonanie high skill pohybu.