RoboCup

From Rsewiki
Revision as of 17:52, 10 November 2015 by Sh (talk | contribs) (→‎Deltagerliste)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Denne side beskriver forskellige overvejelser og guides til afvikling af DTU RoboCup. Første afsnit beskriver nye procedure introduceret fra RoboCup 2014 der afvikles i biblioteket.

DTU-RoboCup 2014 noter

Deltagerliste

I Sitecore hentes deltagerlisten direkte fra Sitecore's redigeringssystem [1]. RoboCup siden findes under Indhold->Subsites->Robocup.

Følgende hjælpe-billede er lavet af Britt Asnæss Kattrup til udtræk af data.

Udtræk af data fra formular
Udtræk af data fra formular

Pre 2014 beskrivelser

Denne side omhandler overvejelser om DTU RoboCup 2005 (og tavleændringer 2007)

Politik

Generelle forbedringer mm mm.

  • Elektronisk tavle og projektor (se nederst for installation)
  • Video streaming af event
  • Webcam på forberedelserne
  • Lyd i Pitten

Overordnede principper

  • Alle skal kunne komme i mål selv med en ret simpel vogn
  • RoboCup består af en Eventdel og en Workshopdel
  • Eventdel skal kunne afvikles på max. 1,5 timer
  • Forhindringerne skal være simple at drive for arrangørerne
  • Forhindringerne skal få robotten til at gøre noget
  • Interaktion mellem robot og forhindring er vigtig
  • der bør være mulighed for 2 gennemløb til alle

Afviklingen

  • På første dagen opstilles banen og salen åbnes, workshop aktiviteter
  • På anden dagen holdes et kvalifikationsløb hvor det 15 bedste hold udskilles (+ evt wildcards), Pitten ryddes for ekstra hold. Der kan evt. køres enkelt disiplin konkurrencer.
  • På tredie dagen holdes selve RoboCup eventen. Der ryddes op

Oticon layout http://www.iau.dtu.dk/~or/oticon.png

Forhindringer (anvendt)

  • Gillotine
  • Mur med variabel længde
  • Fritstående port
  • Tunnel
  • Racerbane
  • Rampe op (til 55cm)
  • Trappe/Rampe ned
  • Scor Mål (fodboldspil)
  • Rød port giver minus-point

Nogle af portene bliver fastmonteret på forhindringerne, så de ikke ken flyttes af vognene. Øvrige porte stilles frit på banen (som hidtil), men man dickvalificeres ikke hvis man flytter portene (der gives dog kun point hvis man kommer helt igennem en port.

Forhindringer som favoriserer kamera ønskes. Banen skal være klar til workshoppen i november (Update: workshop aflyst). Der tænkes en periode hvor der samles input fra bl.a. www.robocup.dk

Forhindringer (nye forslag)

  • Vippe
  • Ballon-sprængning
  • Lyssignal
  • Fodboldspil hvor robotten ikke må køre gennem målet


ROBOCUP

Lys og strøm

PF-lys står for opsætning af lys - kontakt: John Sebastian (24497818 jms@scenelys.dk)

John plejer også at aftale med Rene angående stik ved pit-pladsrene.

Andre opgaver

  • Borde, stole, afskærmning,
  • pullerter

Deltagerliste

Brit Asnæs Kattrup (web & kommunikation) står for de sider, og har leveret følgende brugsanvisning:

  • Dit brugernavn er som vanligt og din kode er din e-mail.
  • Når du kommer ind skal du klikke på Søgning.
  • Så kan du vælge dit workflow. Det hedder ELEKTRO_ROBOCUP
  • Så vælger du datointerval, så du ikke får tilmeldingerne fra sidste år med.
  • Klik SØG

Så kommer der en liste, som du kan hente ud i et excel-ark. Husk at gemme for at du kan arbejde i excel.

  • virker kun for dem der har fået adgang.

Scoreboard

Software består af to dele, en database-og-server-del og en klient-visningdel

Begge dele er pakket sammen her http://www.iau.dtu.dk/~jca/robocup/roboscore2007.tar.gz og her http://www.iau.dtu.dk/~jca/robocup/roboscore-2008.tar.gz

Hermed også 2009 udgaven http://www.iau.dtu.dk/~jca/robocup/roboscore-2009.tar.gz

Disse programmer er kun testet på Linux (af christian), men burde kunne køre under Windows.

Udpak med

tar -xzf roboscore-2008.tar.gz
cd roboscore
Server

Databasen er en SQLITE database (version 2) i filen robocup.sqlite. Serverprogrammet er skrevet i TCL (og kræver derfor at TCL er installeret) Til at køre script (og pakke til exe-fil) kræves en version (fx 8.4.9) af tclkit-linux-x86.gz, f.eks. http://www.equi4.com/pub/tk/8.4.9/tclkit-linux-x86.gz .

Programmet skal rettes hvert år for at passe til nye forhindringer og ny deltagerliste. Det er derfor lettest at køre programmet direkte fra scriptet (og ikke fra en pakket exe-fil).

Pakning til exe kræver yderligere http://www.equi4.com/pub/sk/sdx.kit og pakkes med kommandoen:

./tclkit-linux-x86 sdx.kit wrap roboscores-1b -runtime roboscores-1.0

kør server med

./tclkit-linux-x86 roboscores-1b.vbs/main.tcl

eller

./server 

Kan køres med en ekstra parameter

./tclkit-linux-x86 roboscores-1b.vbs/main.tcl server  - direkte server
./tclkit-linux-x86 roboscores-1b.vbs/main.tcl client  - Ian's oprindelige klient
./tclkit-linux-x86 roboscores-1b.vbs/main.tcl html    - export af resultat som html-tabel

Hvis der ikke er en database-tabel bliver der oprettet en, d.v.s. database skal slettes inden nyt år

rm robocup.sqlite.

Database definitionen (og deltagerliste) er i filen:

 roboscores-1b.vbs/lib/app-run/dbcreate.tcl
- og den skal opdateres med - som minimum - nye deltagere.

Filen (dbcreate.tcl) kan genereres med et c++ program (kdevelop projekt med i bibliotek robocup2database:

 robocup2database/debug/src/robocup2database frafil tilfil

frafil skal være en tekstfil taget med copy-paste fra Jan Jansens holdliste, tilfil bliver en TCL-fil, som skal omdøbes til dbcreate.tcl og flyttes til roboscores-1b.vbs/lib/app-run.

Specifikation af forhindringer er i

 roboscores-1b.vbs/lib/app-run/edit.tcl

Resten af rettelser til en ny bane er ikke helt simpelt, men muligt funktionen proc edit_frame w { indeholder kontroller, og lidt nede bliver de pakker i en for each frame { sætning, der afgør den viste rækkefølge. I starten af filen er point-navne der skal matche databasefelter i dbcreate.tcl.

I 2007 er tilføjet et UDGÅET felt (for hver runde), som vises før holdnavn (for at undgå at rette i holdliste inden finale.

Serveren bruger port 24977

klient

klienten er skrevet i PYTHON og kræver at PYTHON og PYGAME er installeret, PYGAME kræver at SDL er installeret.

Klientern køres med

cd scoreboard
python scoreboard.py

Se help option for at sætte host og port nummer

python scoreboard.py --help

fx:

python scoreboard.py -host localhost -port 24977