[robocup-small] New Referee Box Protocol

Christopher Head chead at chead.ca
Mon Nov 12 05:50:26 EST 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

On Sun, 11 Nov 2012 12:04:42 +0100
Michael Eischer <michael.eischer at robotics-erlangen.de> wrote:

> Having followed the discussion about the timestamp, here my
> suggestions for other parts of the protocol:
> 1. The stage_time_left should be an optional value. That way only the 
> refbox has to check for which stages the value has to be set.

This one was supposed to be optional, as the comment suggested. I guess
I accidentally wrote “required”.

> 2. Having both a command counter and a timestamp is unnecessary as
> both values should increase along each other. I suggest to drop the 
> command_counter. It allows teams to check for lost packets, but as 
> there's no way to recover that packet and every packet includes the 
> whole information, it doesn't provide any benefit.

The timestamp is the timestamp of the packet, so it changes with each
packet. The command counter only counts changes to the command, so it
will probably only increment once every handful of seconds. It’s OK to
lose a packet or two, as long as you don’t lose any commands. That’s
why the counter only counts commands. The timestamp is there so you can
properly interleave referee box packets with vision packets.

> 3. The goal yellow and blue commands are just for information, but 
> require a special case for handling correctly. As they can be easily 
> inferred from the team info, I'd drop them.

A member of another team specifically asked to keep them in. Surely
it’s not that hard to just add them as two extra cases along with “case
Referee::Command::STOP” since they all mean exactly the same thing?

> 4. It would be nice to have a way to switch the sides and team colors 
> during half time.

The referee box already provides this ability, but it’s not reported to
the teams as a command. It just swaps all the operating variables
between the two teams (cards, goals, and names). Do we need the command
sent over the network as well? It seems like it’s probably not worth
it—it would save only one mouse click on a Swap Colours button in the
AI, but it would require a way to prevent the colours from swapping more
than once which would be some code or maybe another field in the packet
instead of just a command, neither of which is all that nice.

Chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iEYEAREDAAYFAlCg1HgACgkQXUF6hOTGP7eqmgCcD2/4busYd5FxXI9GbFHE54Xv
nEMAnjA0d6yI+jAjINzsBasdeefckrRT
=9XMX
-----END PGP SIGNATURE-----


More information about the robocup-small mailing list