In continuation of the hot-or-not event organized by Sioux:
Soccer player Robin van Persie a.k.a. the Flying Dutchman first played in the Dutch national team in June 2005. Van Persie is the player within the team with the most goals behind his name. Van Persie is a dangerous player, all other teams know that once you give him some free space you will lose him. Van Perslucht from Tech United Eindhoven is also considered a dangerous player, he has won four world titles and over 6 European and local awards. Does robot-Ronaldo from the Portuguese team know this? Probably he doesn’t! Does Van Sleutelen from Tech United Eindhoven know about the fast shot of the Portuguese robot-Ronaldo, well we are sure: he doesn’t!
Even though the TURTLE’s, the players from Tech United Eindhoven, know where their peers and opponents are, they cannot recognize individual players. In the Middle Size League of RoboCup all robots within one team are equal, so what would be the use of tracking individual players? Well, in the future robot-Ronaldo might develop a better shot then his colleagues, making it useful to keep track of robot-Ronaldo. Moreover, tracking opponents or: following their every move on the field, is easier when you can distinguish the robots. Luckily, there is one thing which sets these robots apart: their player number. So, one of our team members, Peter van Lith, wondered whether it would be possible to detect the opponent and its number.
Currently, the software of Tech United employs color segmentation on the omni-vision image to detect the opponent. In easy words: an image is taken from the omni-vision camera and we search for black parts in the image. These black objects are then labeled robots. As the TURTLEs communicate with one another, they can filter the black objects on the field which are peers, leaving only the opponents. But now, how should we detect an opponent and its number? There are so many different teams, giving rise to a lot of different robots. Moreover, all these robots should have two shirts (home and away), that makes a lot of different robot-looks!
From the left to the right: a TURTLE wearing cyan T-shirt, a Falcons-robot with a magenta T-shirt, a CAMBADA-robot with a magenta T-shirt, a Water-robot with a cyan T-shirt and a TURTLE, well...
Peter therefore choose to use an artificial neural network, a way to integrate artificial intelligence in robots (and other software). This is a piece of software which closely resembles the way our (human) brain works. This artificial neural network can be trained (just like our brain can be trained) by showing it examples of: cats, dogs and soccer robots! After showing it a lot of pictures of soccer robots, the network will be able to detect soccer robots. Peter designed the procedure in such a way that we are able to very quickly retrain the network. If the Portuguese robot-Ronaldo for example has a new t-shirt we will be able to relearn Van Perslucht that robot-Ronaldo has a new t-shirt very quickly (matter of an hour).
Peter now has an artificial neural network which will tell you to which team a certain player belongs, which can be retrained in 30 minutes. There is still work to be done, the artificial neural network works on a separate computer, not on the TURTLE, yet! We did find a point of improvement already: our blue bottom-lights (cool right!?) look a lot like the t-shirt the Falcons are wearing (at least, according to the network). So, we will have to give the artificial neural network some more information or make it “smarter” by increasing its size.
Left: a picture from the omni-vision camera. Middle: the red dots denote where the network finds players from the orange team. Right: the red dots denote where the network finds players from the blue team.
Hopefully, before the Portuguese robot-Ronaldo has developed its shot we will be able to recognize him and defend him a little bit better, just like van Persie is defended! Because van Persie didn’t get to score a lot for the Dutch Team, because last year the Dutch Team… well…