Giter Site home page Giter Site logo

refbox's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

refbox's Issues

Log Merge Hangs

Apparently the default heap memory allocated for Java is not enough to merge the logs, resulting in an application hang while trying to merge the log files.

Substitution procedure (2019 rules)

The 2019 rules introduced the possibility of doing fully autonomous substitutions of robots. For this action, the number of the robot on the field that is supposed to be replaced must be send by the RefBox together with a "substitute" command. First of all, the protocol to be used must be defined since it does not exist yet.

Refbox version number is not increased for JSON test-version

The JSON test version gives exact the same version number (1.5.0) in the window title. This makes it hard when testing to see with version is used. Version number should be increased.
I made a temporary fix to increase it to 1.6.0 and mention RoboCup 2020 in the window title.

Sending worldstate to refbox

Is the feature to receive the worldstate of a team supported in the current version of the RefBox and to which port should the state be send? Currently, I'm getting the following error on the RefBox console:

ERROR from teamA : { "type": "worldstate","teamName":"CNC","intention": "Win the game","robots": [], "balls": [], "obstacles": [], "agesMs": 50}

Regards,
Stefan

Refbox JSON message lacks a header

The new JSON format for the refbox messages is based on sending plain JSON strings over a socket which makes a robust client implementation cumbersome. Adding a simple header would make the message parsing much easier and robust. The minimum information that the header contains should be the size of the payload of the message.

Drop usage of Cyan and Magenta team colors

  • Every team should have two colors which can be registered in the config file in hexadecimal format.

  • Replace cyan and magenta with team A and B in the refbox log.

  • Change popup screen at connection to select team A or team B.

  • Send opposite team commands to each team, depending on who takes action.
    We assume that every team plays cyan, meaning that the capital commands are for your own team, and lower case letters for the opponent team.

  • Build in functionality to switch between master/secondary color in the UI (e.g. by double clicking the team name)

Denie a goal, card, repair robot

Hallo,

I have tested the refbox and found a bug. If a goal is given a goal message is send instantly. If the goal is denied by pressing the button again (before pressing start) no message is send. The next send command message contains some strange characters.

There is a similar behaviour for cards and repair. A message is send if the button is pressed. If the button is pressed again, no denying message is send. In this situation, the refbox does not show that a card was given/a robot was send out for repair, but a message was send to the client already.

Regards,
Stefan (Carpe Noctem Cassel)

Get immediate feedback on repairing robots when 'repair' button is clicked

Whenever the repair button is clicked, the button is highlighted and will not change the amount of robots currently in repair. Whenever the start button is clicked, the one robot is added to the overview of robots in repair, and the timers are (re)set accordingly.

Instead, whenever the repair button is clicked, one robot should be added to the overview of robots in repair. When the start button is clicked, all timers should be (re)set accordingly. To allow the user to undo an unintentional click on the repair button, the user has to be able to remove any added robots in the repair overview by clicking on that robot.

No automatic substitution after goal

At RoboCup we encountered the situation where it was not possible to perform an automatic substitution procedure in the stop time after scoring a goal.

Refbox should support RC-3.1.1 (robot capable to play proof)

In the MSL rules of 2020 rule RC-3.1.1 is updated. It states that a team must proof that a player is capable to play. According to this rules, the RefBox assistant will sent a specific command.
Currently i looks like that this feature is not implemented (not in GUI and not in protocol)

XML Protocol Implementation

Currently RefBox2015 implements a character-based TCP/IP communication protocol with the basestations.
Implementation of the previous XML protocol is needed for backwards compatibility.

Restore refbox state

Add a button to restore the previous refbox state when either

  • The match has been reset.
  • The refbox has crashed.
  • The refbox has been closed.

The last refbox state logged should be used in this case.

Authentication for score clients

Right now, it is possible for a team to connect to the ref-box as a score client, which can be used to exploit the system to receive information from the opponent team.

Some sort of authentication method is needed for this/these client/clients to prevent this from happening.

Refbox 2.1: startup script does not work out of the box

The Refbox 2.1 Linux version does not run out of the box.
The java command in script mslrb2015 in folder RefBox2.1-linux-amd64/linux-amd64 is incorrect.
In the zip the java command is: "$APPDIR/java/bin/java", but this should be "$APPDIR/java/java/bin/java".
After modify the script the refbox starts up correctly

Independent timers for repair time

Rules for 2019 establish that when a "repair" is called by a team, the repair time of other already repairing robots should not be reset to the maximum time. Also, the maximum time should now e 20sec instead of 30sec.

failed in Ubuntu 16.04 and java 9

I have just test refbox2015 version 2.0. When I used the https://github.com/RoboCup-MSL/RefBox2015/releases/download/v2.0.beta/RefBox2_0.linux64.tar, it did not work and informed me that
Uploading error.png…

My platform is Ubuntu 16.04 and java9.

Besides, I use master branch of RefBox2.0 and create a new application. It works well. I am confusing about the problem. What is the difference between them? From github, the last update happened at about 24 days ago and the release version is uploaded at Feb. 3.

Refbox client crashes on shutdown

The refbox client seems to crash whenever it is closed after a game. Will not reproduce when no clients have been connected.

No information on how to reproduce yet.

Yellow and red cards

When a robot is given a red or yellow card, the color is not showing immediately but only after restarting the game. Maybe it could be better to show it as soon as the card is given.

Redesign of RefBox

During the workshop 2020 (and I believe in previous years as well) we have talked about redesigning/overhauling the RefBox.
I would like to start a list with proposed requirements/ideas:

  • Rename repository Refbox2015 to Refbox
  • Reconsider language (Java and Processing)
  • Do not update state machine with button objects
  • Re-evaluate TCP and UDP interfaces (simplify/close unused)
  • General code quality
  • Make use of an explicit design pattern (e.g. MVC)

Impossible to distinguish end-of-game penalties

No signal is given when either the second overtime ends, or when end-of-game penalties start.

It seems impossible to distinguish between end-of-game penalties and penalties during second overtime. This difference is relevant due to different limitations in both penalties (RC-14.1).

It may be nice to also announce the end of a part (rather than only the beginning) in the new protocol, as referee also announces this in human matches.

Visualize whether world state messages are being sent

The solution should indicate whether the minimal threshold (10Hz) is reached. Optionally, it can also show the current or even past measurements on number of frames.

I.e.:
Traffic light
Network traffic graph
Indicator frames per second

"color" should be "side" in dialog when team connects

When a team connects with the new refbox (JSON). The Refbox operator gets an dialog. In this dialog the operator has to select a side (left or right). The question in the refbox is "select color or press ESC to cancel".. The word "color" should be replaced by "side"

End of repair signal

The rules state:

After 20s the RefBox will send automatically a signal over the network socket that a robot can enter the field again during the next game stoppage.

This feature seems to be missing in the RefBox.

Send Penalty game flow command to basestations

Currently, there is no game flow command available for end-of-game penalties.

The only way to distinguish between in-game penalties and end-of-game penalties is waiting for penalties after COMM_END_GAME after COMM_SECOND_HALF_OVERTIME.
Since the RefBox already knows when it is in end-of-game penalties, this can be communicated easily.

My proposal is to add COMM_END_OF_GAME_PENALTY to the game flows. This makes it easier and more robust to determine the type of penalties. This is useful since the rules differ between the two types.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.