Ako najlepší tím sme pracovali v prvom rade s ich výskumom. Veľmi stručne je v ich výskume rozhodnutie pre UDP, nakoľko komunikácia v intervale 20 - 25 ms nepotrebuje maximálnu spoľahlivosť ale predovšetkým maximálnu rýchlosť.
“UDP
One of our primary decisions was to decide between using the Transmission Control Protocol(TCP) and the
User Datagram Protocol(UDP). While TCP is more reliable, we determined that the additional overhead
associated with using TCP was not worth the reliability benefits it bestowed. Meanwhile, a convenient feature of UDP is the ability to broadcast without assembling and sending multiple messages.“
https://www.cs.utexas.edu/users/AustinVilla/papers/Villa05-legged-tech.pdf [1]
Opis riešenia z dokumentáciu Tímu Androids – FIIT 2010/2011[2] navrhuje použitie oboch spomínaných protokolov a vytvorenie TCP aj UDP socketu. Po preskúmaní kódu Jima 2018 však bol nájdený už len UDP resp. TFTP socket z čoho vyplýva, že TCP bolo niekedy v priebehu rokov vypustené z projektu úplne.
“Keďže komunikácia prebieha pomocou TCP aj UDP protokolov, pre agenta boli implementované
TCP a UDP sokety – využité boli POSIX sokety. „
Spracovanie a posielanie údajov cez UDP socket bolo dokonca zakomponované do Third Robot World Cup Soccer Games and Conferences, Robo-Cup-99, ktorá sa konala v Štokholme, Švédsko v júl/august 1999. Táto kniha spracúvala vtedajšie poznatky a výskum najlepších tímov zúčastnených na RoboCup 1999 v Štokholme.
Komunikácia hráčov so serverom SimSpark prebieha údajne na porte 3200 nad protokolom TCP a to aj podľa SimSpark wiki http://simspark.sourceforge.net/wiki/index.php/Network_Protocol. Tento údaj však neprešiel písomnou aktualizáciou od roku 2008. Podľa novších informácií SimSpark simulačný server podporuje aj UDP spojenie.
SimSpark–Concepts and Application in the RoboCup 3D Soccer Simulation League
Network Support and Integrated Agents
Agents as well as external monitors for visualization can be connected to the
simulator via network. TCP and UDP connections are supported, although only
TCP is used at the moment. Furthermore, there is an interface for a so-called
trainer application. A trainer can connect to the server and make use of a special
protocol in order to move objects in the simulation, set game states, etc. This is
especially useful for debugging and machine learning applications.
Having the agents as external processes connected to the server via network
is the default situation for the RoboCup competitions to ensure fairness. This
setup, however, causes some network overhead and makes it difficult to debug an
agent application. To address these problems, a possibility was added recently
to run agent behaviors directly as plugins in the server, allowing to stop the
server and agent behavior together while debugging, and avoiding any network
overhead. It is possible to connect internal and external agents at the same time.
Časť z Boedecker, Joschka & Asada, Minoru. (2008). SimSpark–Concepts and Application in the RoboCup 3D Soccer Simulation League. Autonomous Robots. [4]
Ako je vidieť na snímku prezentácie jedného z popredných tímov v súťaži RoboCup – US Pennalizers, na komunikáciu so serverom rovnako používajú UDP sockety, TCP spomínajú ako možnú implementáciu v roku 2009, podľa ich aktuálne zverejneného kódu v roku 2018 však implementovaná nie je.