Skip to content

Dynamic Ball Handling Challenge

"The purpose of this challenge is to enhance skills in ball passing and handling, and in robot's movement estimation"2

The specific rules of this challenge can be found in the document RoboCup Standard Platform League (NAO) Technical Challenges.

Defender Behavior

We submitted a defender image, which remained almost identical to the one from 2022. There were minor adjustments to comply with the updated rules, such as preventing the first defender to return to the defenders' half once it entered the attackers' half. This report will therefore focus on our approach for the attacking robots.

The defender image can be download under the following link, along with instructions on how to deploy it: B-Human Defender Image 2023.

Attacker Behavior

Last year, we programmed a designated behavior control tailored specifically for this challenge. We believe our performance in the challenge suffered as a result of the assumptions made and the specific instructions for the robots' behavior with little to no special case handling.

This year, we chose a more "dynamic" approach. It utilizes the same behavior as in regular games with some constraints specific to this challenge. The reasoning behind this is that with the advancement of the behavior made in 2022, our playstyle in the regular soccer tournament is cooperative and heavily based on passes to teammates1. Instead of coding designated behaviors for a challenge and its specific rules and not transferring them to the regular soccer behavior, we successfully deployed the default soccer behavior and introduced constraints specific to this challenge. These include:

  • programming a module to count executed passes based on inter-team communication
  • setting a minimum number of two passes before a goal shot attempt is allowed
  • increasing the parameters for the minimum passing distance between teammates
  • communicating the obstacle model within the team to choose the better side for the first pass
  • interpolating a time-based "look-ahead" of the pass target based on the communicated path planning of the receiver
  • delaying the pass execution near the ball until the receiver is close to its target position
  • configuring the positioning in a new tactic with one midfielder and two forward player
  • adjusting parameters for the duel skill and rating functions, as presented in our winner paper 20221, to limit the risk of interception by opponents
  • selecting kicks for better reproducibility and consistency in the distance and accuracy of passes
  • shorten the minimum communication intervals due to shorter game duration and fewer robots per team
  • improve the behavior to catch rolling balls from incoming passes for more controlled ball playing
  • deactivating unnecessary special case handling for situations in regular games (e.g. returning to the game from a penalty, performing penalty kicks, detecting referee gestures, avoiding illegal areas, catching the ball as a goalkeeper)

For counting the number of passes, the timestamp of the last executed kick is communicated to the teammates and keepen track of. Even though one could aruge that this approach is prone to failed kicks (i.e. the ball was missed or stopped short of the target), this turned out to be a simple and yet consistent solution for knowing if each robot has passed the ball in a given run.

Further, the communication of the obstacle model within the attacking team gives the goalkeeper better situational awareness. This is important for the SmashOrPass algorithm, as presented in our winner paper 20221, to make the correct pass decision. For the first pass of a challenge run, the algorithm was slightly modified, so that the teammate with the worse goal rating is chosen as the pass target. This effectively leads to the selection of the forward player that is closer to the second defender. This is desirable, because the first pass is arguably easier, as the defenders are not allowed to move within the first 15 seconds of the run. The second pass will then be executed to the other forward player, which is in a better position for a goal shot with no pressure from approaching defenders. This is the case, when the second defender was walking to mark the previous attacker and was then outplayed with this pass. Also, the goalkeeper is not allowed to leave the goal line or dive at all. If the first pass was played to the forward player on the "wrong" side of the field (i.e. further away from the second defender), then the second defender would have sufficient time to approach and mark the second forward. The second pass would in turn have a high probability of failing, due to the defender touching the ball, which immediately ends a challenge run. This hypothesis was confirmed by our rather extensive experiments in the simulator and a couple testgames with real robots. For testing purposes in our simulator, we randomized the setup poses of the robots within their corresponding starting area as defined in the challenge rules2, leading to greater variety for outcomes and situations.

An example run of the Dynamic Ball Handling Challenge in our simulator

The figure shows an example run of the Dynamic Ball Handling Challenge in our simulator with the trajectories of the robots and the ball. The goalkeeper (red 1) passes the ball to the left forward (red 2), which is then pressured by the second defender (blue 2) and therefore passes the ball quickly to the right forward (red 3), which has a better goal shot opportunity.


At RoboCup 2023, three runs for each team of the Dynamic Ball Handling Challenge have been carried out on consecutive competition days. The video recordings of the attacking B-Human team are available on YouTube: Dynamic Ball Handling Challenge 2023.

The first run took place on the July 6, 2023 at 19:41 on Field C. It featured two valid passes at the beginning, although the ball landed quite far (about a center circle radius) in front of the first receiver. Unfortunately, the following goal shot has failed and the ball came to a stop on the sideline next to the goalpost. It is notable, that the goalkeeper, which has been deployed with the defender image of the Nao Devils team, dove for the ball and would have deflected it away from the goal, which is forbidden by the challenge rules. In this difficult situation, the last attacker remained in the opponent goal area, while the other attacker came to rescue the ball and continued to play a valid pass from the goal line to its teammate, which then proceeded to score a goal. In this situation, the more dynamic approach for this year's attacker behavior clearly turned out to be advantageous.

The second run took place on the July 7, 2023 at 18:38 on Field B, where the first pass was valid, although the ball was unintentionally deflected by the receiver in the opposite direction of the next target (i.e. the next attacker). The second pass was called to be semi-valid by the head referee for unclear reasons, although the ball stopped within a center circle radius of the receiver and within the arc (as defined in the challenge rules2) facing the next target (i.e. the goal). This decision was later changed to a valid pass when the points for the run were counted.

The third run July 8, 2023 at 18:42 on Field E, which was labeled as an "outdoor" field, due to the bright light from the window front. Both passes and the following goal shot were accurate, quick and valid.

The results of the three runs for each team are available in the official Standard Platform League Results 2023. B-Human won this challenge as well as in the combined score of all technical challenges (Dynamic Ball Handling Challenge, Visual Referee Challenge and Data Minimization Challenge) in the SPL of the RoboCup 2023.


The success of a run in this challenge is in a way based on chance. Even though the code for the behavior of the defenders remained exactly the same for every run and every attacking team per round, the defenders somewhat behaved differently in every run. For example, the defenders would not always detect the whistle and start playing, would walk in different directions, or even behave illegally at times (e.g. goalkeeper dove for the ball, defenders started walking too early, etc.). This makes some runs inherently more difficult and less fair than others. As described earlier, our "dynamic" behavior could handle this variety of arising situations really well, which is reflected in the results.

It is noteworthy that the constraints and lessons learned about passing in this challenge would be difficult to transfer to the regular soccer behavior. This is mainly because of the specific rules that this challenge posed, which included sharp conditions for valid passes and a limited number of teammates. Many of the constraints we introduced rely on up-to-date information about the teammates and therefore require the increased communication frequency for this challenge. This is unlikely to work with a higher number of players using the current message budget of the regular soccer rules3.

  1. Thomas Röfer, Tim Laue, Arne Hasselbring, Jo Lienhoop, Yannik Meinken, and Philip Reichenberg: B-Human 2022–More Team Play with Less Communication. In Amy Eguchi, Nuno Lau, Maike Paetzel-Prüsmann and Thanapat Wanichanon: RoboCup 2022: Robot World Cup XXV, volume 13561 of Lecture Notes in Artificial Intelligence, pages 287-299. Springer, 2023. 

  2. RoboCup Technical Committee. "RoboCup Standard Platform League (NAO) Technical Challenges." Online: 

  3. RoboCup Technical Committee. "RoboCup Standard Platform League (NAO) Rule Book" Online: 

Last update: October 12, 2023