I am trying to figure out how the kicking mechanic works for the RoboCup simulator. I see in the manual under section 4.5.3 (Kick Model) there is a TODO underneath its name. When my agents kick the ball they sometimes flash red. Furthermore, sometimes they are not able to even kick the ball and they just stay red. I am guessing a red flash means something bad? When I run HELIOS2019 or HfutEngine2019 they rarely flash red. So I was just wondering if someone has any tips on when the kicks flash red so that I can try and improve on this matter.
Thank you in advance,
A red flash means a failure of kicking action. If players send a kick command but the ball is not located within their kickable area, that action is marked as a failed action and visualized on the monitor. This situation will occur if the ball position recognized by the player is different from the actual position or delay in receiving the command.
Thank you for the reply,
So the ball must be within the kickable-margin to be registered as a valid kick.
In the manual, it states that the kickableـmargin is by default 0.7. Does this mean the ball must be at most 0.7 units (meters) from the center of the agent for a kick to be valid? Futrhermore, does multiple kicks while the ball is inside the 0.7 radius also registered as a failure? It seems that sometimes my test agent gets stuck sending continuous kick commands with the ball withing 0.7 radius. The agent just stays red until the agent is moved by the referee.
Player’s kickable area is defined as player_size + kickable_margin + ball_size. The value for the default player type is 1.085. The distance from the center of the player to the center of the ball is less than or equal to this value, the kick command will succeed.
Please note the value of player_size and kickable_margin may be different depending on the heterogeneous player type.
Did you start the game?
The player cannot kick the ball during the game time is stopped.
I did start the game yes. I have updated my test player to only kick once and then wait and it seems to be working better. I think the repetitive kicking until the ball moved caused problems somehow.
Thank you for taking the time to reply.