RoboCup-SPL / Rules

Public version of the SPL rules
5 stars 2 forks source link

Revert sentence from 740673adcfe #123

Open ahasselbring opened 1 year ago

ahasselbring commented 1 year ago

The rewrite of this sentence in 2021 led teams to believe that transitions from finished to anything else can never happen, but they can due to the undo feature. This is exactly what the sentence was there for.

rvilling commented 1 year ago

"any transition possible" -- how are readers to know the possible transitions since they clearly include transitions not explicitly shown in the state machine (E.g. finished->playing or ready->playing in case of undo). Do you simply mean a transition from any to any state, or do you mean any transition shown in the state machine plus the undo (reverse traversal) of any of those transitions?

PatrickGoettsch commented 1 year ago

Hi, I would phrase it differently: However, any transition possible should be sent by the GameController. Be aware that a transition can be reverted by the GameController operator by clicking the UNDO button.

I think that makes the situation clearer as it shows the usual transitions and makes the read aware that due to mistakes an tranition can be reverted and that they should handle this in their software.

rvilling commented 1 year ago

That sounds good.


From: Patrick Gottsch @.> Sent: Friday 14 July 2023 10:04 To: RoboCup-SPL/Rules @.> Cc: Rudi Villing @.>; Comment @.> Subject: [EXTERNAL] Re: [RoboCup-SPL/Rules] Revert sentence from 740673adcfe (PR #123)

Warning

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

Hi, I would phrase it differently: However, any transition possible should be sent by the GameController. Be aware that a transition can be reverted by the GameController operator by clicking the UNDO button.

I think that makes the situation clearer as it shows the usual transitions and makes the read aware that due to mistakes an tranition can be reverted and that they should handle this in their software.

— Reply to this email directly, view it on GitHubhttps://github.com/RoboCup-SPL/Rules/pull/123#issuecomment-1635542586, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA56EEVQO7T2MSS2HYCFI4LXQEDQVANCNFSM6AAAAAA2JHULBM. You are receiving this because you commented.Message ID: @.***>

ahasselbring commented 1 year ago

I think that for a real solution all of this needs to be expressed in a different way that makes clear that the GameController generally does not report the true state of the game. The diagram is also incomplete because it doesn't show transitions from Ready/Set to Initial (timeouts), from Ready/Set to Finished (when time is over), from Finished to Initial (second half / penalty kick shoot-out), and from Finished to Set (penalty kick shoot-out). On the other hand, with those arrows the diagram would become more confusing than helpful.

by clicking the UNDO button

There is not really an undo button. I think the rule book should be agnostic of the GameController's UI.

rvilling commented 1 year ago

I don't think readers would find it helpful to read that the GC does not report the true state of the game. Is it not true that it reports the state signalled by the operator except for the specified delays (playing, goal)?

In any case, unless it is true to say that any state may transition to any other state in certain circumstances, we do need to enumerate the possibilities. My suggestion on looking more closely at this section is:

Modify the Figure 7 caption: Diagram of robot states showing the main transitions.

Add the following text: In addition to the main transitions shown above, the following transitions might also be signalled:

As a final comment/question, is penalized really a primary state like the others in the figure?


From: Arne Hasselbring @.> Sent: Tuesday 18 July 2023 08:55 To: RoboCup-SPL/Rules @.> Cc: Rudi Villing @.>; Comment @.> Subject: [EXTERNAL] Re: [RoboCup-SPL/Rules] Revert sentence from 740673adcfe (PR #123)

Warning

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

I think that for a real solution all of this needs to be expressed in a different way that makes clear that the GameController generally does not report the true state of the game. The diagram is also incomplete because it doesn't show transitions from Ready/Set to Initial (timeouts), from Ready/Set to Finished (when time is over), from Finished to Initial (second half / penalty kick shoot-out), and from Finished to Set (penalty kick shoot-out). On the other hand, with those arrows the diagram would become more confusing than helpful.

by clicking the UNDO button

There is not really an undo button. I think the rule book should be agnostic of the GameController's UI.

— Reply to this email directly, view it on GitHubhttps://github.com/RoboCup-SPL/Rules/pull/123#issuecomment-1639704297, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA56EEUQRTYH6EO6CMX5TETXQY6QZANCNFSM6AAAAAA2JHULBM. You are receiving this because you commented.Message ID: @.***>

ahasselbring commented 1 year ago

I don't think readers would find it helpful to read that the GC does not report the true state of the game. Is it not true that it reports the state signalled by the operator except for the specified delays (playing, goal)?

It is correct from the software perspective, but there is the question if the "true" state of the game is what the referee believes the state is, or what the GameController operator has entered. Going back to the example of the GameController operator pressing Finished in the middle of a half: Is the game really in the Finished state just because the GameController operator pressed the button? From a philosophical point of view it is not, because the head referee makes decisions, and ending the half was not a decision by the head referee. On the other hand, from a practical point of view the robots can't really know better (apart from looking at the remaining time).

Another example with actual consequences is when there is a free kick and shortly after, the referee calls an illegal defender, but the GameController operator has not entered the free kick yet. What is the true game state in this situation and is the referee's decision correct?

Anyway, I think your suggestion is good.

As a final comment/question, is penalized really a primary state like the others in the figure?

No. I worked on that topic before RoboCup but didn't finish it. The current state is available here: https://github.com/RoboCup-SPL/Rules/tree/ahasselbring/future I'm not sure if I'm going to continue to work on it, but I suggest the new TC to look into this.