How does it work? Through a number of topics the main aspects of our football robots are explained.
- The game
- Hardware overview
- Ball handling
- World view
- New generation (Two wheeler)
The goal of the RoboCup initiative is to beat the world champion football by 2050 with a team of robots. To achieve this goal, a number of leagues have been established. RobotSports plays in the Middle Size League (MSL). In this league two teams of 5 robots play independently (without human intervention) a match of 2 x 15 minutes. The robots have a diameter of max 52 cm and are max 80 cm high. The game is played on a field of max 22m x 14m using a uniformly colored football. The human referee's instructions are passed to the teams by means of a software program (Refbox). Every team must resend the instructions (without human intervention) to the players (robots)
In the MSL robot football, like in real football, there are not only free kicks, throw-in, penalty kicks, but also yellow cards. The basic rules are the human football rules of FIFA, with a few minor adjustments. Whoever makes the most goals wins. The goals are of 2m wide and 1m high. This means that the MSL is the RoboCup league that most closely matches football. The robots are obliged to have all sensors on the robot. Communication between the robots is via WIFI. The robots may not cause damage to the field or other robots (otherwise a yellow or red card would follow).
More info: MSL home-page.
There are 4 identical field players and a goalkeeper. The base of the goalkeeper is a field player, but is equipped with extra sensors (kinects - known from the Xbox) and a characteristic large rack to be able to stop the high ball. The players have three omni wheels that allow the robot to drive each way.
There are various sensors on the robot, such as a camera, compass and a WIFI connection.
The ball handlers are used to keep the ball with the robot during dribbling and ensure that the shooting mechanism can shoot the ball. The shooting mechanism can shoot at various speeds and choose between a bow ball or a ball over the ground.
Our robots have three omni-wheels. These are wheels with small rollers in the wheel, allowing the wheel to go in any direction. The three omni-wheels are each driven by their own motor. This means that our robots can move in all directions.
The robots look at the field with a camera via a 360 degree mirror (omni-vision). The camera images are analyzed a number of times per second. In the images, the ball, the white lines and the other players are searched. These items are detected from the image via color and shape.
The omni-vision camera is an important sensor for our robots. For the competition a color calibration is performed for all robots to determine the correct color range. The geometry is also calibrated so that a translation from pixel to a distance in meters can be done. On the keeper there is also a kinect (known from the xbox). From this smart sensor height can also be reached, something that is useful to detect a bow ball.
The white lines are used by the self-localization process. This process ensures that the robot knows where it is on the field. Also a compass (gyroscope) and the movements of the wheels are used to determine the position of the robot in relation to the field. The calculated field position is used in order for the robot to play football.
Two little arms with a rotating wheel on the end ensure that the ball stays close to the robot, but in such a way that the opponent is still able to take the ball away. The ball handling allows the robot to dribble forwards with the ball, but also to rotate around its own axis.
The ball handling is also important for a proper shot. They put the ball in the right position, so that the shot thrust is transferred to the ball as much as possible.
We use a solenoid (coil) to accelerate a piece of metal. The shooting mechanism is set in motion by a short pulse. The part (foot) that comes against the ball is adjustable in height. This allows us to shoot flat over the ground or shoot a bow ball. By varying the length of the pulse, we can shoot softer and harder.
The world model takes care of getting usable data for the tactic by combining all available sensor data and data from other robots received via the WIFI. Sometimes there are several sensors that detect the same object, an algorithm has to determine which values can be used by the tactic. A ball can be observed with the omni-vision camera, via the sensors in the ball handlers, via a kinect, but can also be reported by another robot.
The world model is also responsible for sending and receiving observations. The robots exchange information via a synchronized distributed database. All robots have approximately the same world view.
The strategy software determines which role and which field position a player has. By sharing the data, every robot knows where the ball is, which game situation applies and where the players and opponents are. This allows a robot to determine who has which role. We do not have fixed roles except for the keeper.
The challenge is not to let the roles change too quickly, but also not to be too rigid. If a role is assigned, the player can determine the best field position for his new role. The behavior for the role is selected via a state machine. The robot performs this behavior (skills). This leads to assignments for the motion, ball-handling and firing mechanism.
New generation (Two wheeler)
The current robot generation has three omni-wheels. Our new generation of robots will have two wheels. The robot will have to keep itself in balance during the game. The low cost and high wheelbase are the big advantages of this new platform. More info about this concept can be found at: http://elexperiment.nl/2018/11/high-speed-balancing-robot-introduction (there is also a nice film).