rcssserver
rcssserver copied to clipboard
Defect in foul detection
This problem is reported originally from Thomas Gabel
In the NEWS file, the definition of dangerous situations is described as follows:
- The ball handling player exists between the tackling player and the ball.
- The ball handling player's body angle is directed to the opposite side of the tackling player.
- The ball handling player is performing dash command.
- Finally, the foul is determined randomly using foul_detect_probability of each heterogeneous player type.
The third condition have not been implemented correctly.
The original definition assumes that the being-tackled player must perform a dash command at the same time t at which the tackle-performing player is executing his tackle. However, a foul is sometimes detected in time steps where the player, who was tackled, was actually performing a kick command.
This defect is caused by the order of command received by server. The current automatic referee judges a foul just after the tackle command is received. In order to solve this defect, the referee have to judge a foul at the end of cycle.