Penalty shootouts by Aldebran Nao

Lovish (Y9227309) and Rahul (10560)

Guide: Dr Amitabh Mukerjee

Code Presentation Report Videos

Introduction

Field of RoboSoccer

Field of RoboSoccer

Synonymous to human body, humanoid robots have carved a niche into the robotics world due to the fact that they can closely imitate humans in every task be it cleaning home,playing football or dancing.Rapid research in the area of robotics ie better hardware etc have given rise to some exciting cometitions such as RoboCup where a team of four robots compete against other in a football match. The aim of the tournament is to defeat the best human soccer team by the year 2050.

Nao, from Aldebran Robotics is the robot used in the Robocup Standard Platform League.One of the task that it has to accomplish is penalty shootouts in case of tie.The distance at which robot is standing to goal is given by G in the following diagram :-

G is kept constant,like in the real soccer match, at 180 cm.The goal dimensions are given in Figure 1.

Dimensions of Goal (in mm)

Dimensions of Goal (in mm)

The goal width is 150 cm as you can see in figure 2.

Previous Work

As RoboCup takes place every year from 1998(2008 with Nao) there is plethora of work going on in the direction of increasing the probability for a positive penalty.In [1] authors have used Reinforcement Learning to increase this to 85%.

Apart from it stability becomes a major player when balancing on one leg.The stability is classified into tho types:-

Approach

Our method can be decomposed into the following steps :-

Steps for detection of Goal

Steps for detection of Goal


PAB / PAC = DAB / DAC

DAC is found out by using the field of view angle of upper camera.As D is fixed at 120 cm and the following diagram depicts the top view of Nao,

Top view of Nao showing the Field of view angle

Top view of Nao showing the Field of view angle

Calculation of Angle to be turned

Calculation of Angle to be turned

Finally as the distance to goal is fixed ie in our case equal to 120 cm.We can find θ simply by


tanθ = DAB / 120

Steps for detection of ball

Steps for detection of ball

Scenarios for Adjusting Position

Scenarios for Adjusting Position

Keyframes while Kicking the ball

Keyframes while Kicking the ball

Wireframe of Approach

Wireframe of Approach

Results

The Goal Hit Percentage through our implementation is coming out to be 55-60%.Video of some attenpts (both hits and misses) can be found at this (http://home.iitk.ac.in/~lovishc/cs365/videos)[link].

Problems Faced

Some of major problems we encountered in the project are as follows :-

Future Work

As of now we have implemented only static kicking ie if the robot once take decesion to kick the ball , it will then irrationaly kick it even if the ball is displaced from the position when the decesion was taken.Dynamic kicking involves taking the feedback from Gyroscope and balancing the robot based on that.It could be a path for future work on it.

Also right now, we have only one kind of kick ie no side kick etc.We can possibly find keyframes for maybe , a few more kick types and apply reinforcement learning [1] which will make the decesion process rational and improve the results from 60% hit rate to 85% as stated in [1].

References

[1] Hester, Todd, Michael Quinlan, and Peter Stone. "Generalized model learning for reinforcement learning on a humanoid robot." In Robotics and Automation (ICRA), 2010 IEEE International Conference on, pp. 2369-2374. IEEE, 2010.

[2] Czarnetzki, Stefan, Sören Kerner, and Daniel Klagges. "Combining key frame based motion design with controlled movement execution." In RoboCup 2009: Robot Soccer World Cup XIII, pp. 58-68. Springer Berlin Heidelberg, 2010.

[3] Xu, Yuan, and Heinrich Mellmann. "Adaptive motion control: Dynamic kick for a humanoid robot." In KI 2010: Advances in Artificial Intelligence, pp. 392-399. Springer Berlin Heidelberg, 2010.

[4] Müller, Judith, Tim Laue, and Thomas Röfer. "Kicking a ball–modeling complex dynamic motions for humanoid robots." In RoboCup 2010: Robot Soccer World Cup XIV, pp. 109-120. Springer Berlin Heidelberg, 2011.

[5] NAOqi API guide ,Link

[6] Master’s Thesis of Tomàs Gonzàlez Sànchez,Department of Computer Science and Mathematics, Universitat Rovira I Virgili, September 2009, 64-82

Figure References

Figure 1 and 2 are adopted from RoboCup 2013 official rulebook available at this link.Figure 4 is taken from Nao's documentation online here .

Acknowledgements

We thank Prof Amitabh Mukerjee for floating this project.We would also like to thank Mr Nechal Jindal for providing us continues feedback and ideas during the project and Mr Arindam Chakrobarty for bootstraping us by introducing us to the basics of Nao.