Photon Team Description for RoboCup Humanoid KidSize League 2018

Artem Klimov, Pavel Pugachev, Egor Polyntsev, Irina Prokazina, Evgeny Shandarov

Laboratory of Robotics and Artificial Intelligence; Tomsk State University of Control Systems and Radioelectronics (TUSUR University)


Abstract This paper describes the RoboCup Humanoid KidSize team Photon from TUSUR University, Tomsk, Russia. System architecture, software developed for robot soccer and last year modifications are considered in this paper.

1 Introduction

The RoboCup team Photon from TUSUR University was established in 2012. At first time team was participated in RoboCup 3D Soccer Simulation league competitions. In May 2013 the team Photon won the 1st place in 3D Simulation Soccer league at RoboCup Japan Open 2013 in Tokyo.

In 2014 we started software development for Humanoid KidSize Soccer league. In April 2015 Photon team participated in RoboCup German Open and won the 2nd place in KidSize Soccer league [2, 3].

In 2016 the Photon team participated in RoboCup 2016, Leipzig, in 2017 – in RoboCup Russia Open, Tomsk and in RoboCup Asia-Pacific 2017, Bangkok.

The members of Photon team are the 2nd, 3rd and 4th year bachelor students.

2 Implementation

Implementation and system architecture details are described in the following subsections.

2.1 Hardware

We uses Robotis DARwIn-OP2 as a hardware platform for robot soccer (Fig. 1). For now it is not the best option for KidSize league (because the field surface was changed to turf) but we have not better one.

This hardware platform have an open architecture and good repairability.

OP2 is an humanoid robot with 455 mm height and 20 DOF. Internal computer based on Intel Atom processor. Robot works on Ubuntu Linux. OP2 Framework includes Motion, Vision and hardware specific C++ classes.

Fig. 1. Robotis DARwIn-OP2 robot at game field at RoboCup Asia-Pacific 2017, Bangkok
Fig. 1. Robotis DARwIn-OP2 robot at game field at RoboCup Asia-Pacific 2017, Bangkok

2.2 Software

Software architecture and implementation details are described in the following subsections.

2.2.1 General architecture

The general architecture of previous releases was described in [2, 3]. The software realized as modular, multi-threaded architecture. C++ and bash scripting languages using for implementation.

For the 2018 we have developed the new software architecture (Fig. 2). The main difference is the communication module was replaced by separate thread GameController. In the previous release we checked GameController status in main control loop. As we have seen at competition this solution reduced system performance.

Fig. 2. Software architecture
Fig. 2. Software architecture

2.2.2 Walking

We uses model of walking of the OP2 framework. The only changes was made are:

  • fine-tuning of walking parameters;
  • create new versions of actions (kick the ball, get up from a fall);
  • modification of the basic functions of upper level movements.

2.2.3 Vision

For 2018 we uses vision module from previous release. Computer Vision module is able to find the white FIFA ball and white goal on a green field. OpenCV libraries have used for image processing.

2.2.4 Communications

To increase performance we developed separate GameController thread. In this thread loop we process incoming UDP packets from GameController and set the global game state (INITIAL, READY, SET, PLAY...).

2.2.5 Main control loop

The main program consist of two parts:

  • initialization routines (set paramenetrs, start services and separated threads);

  • main control loop. In main control loop we performe the following tasks:

  • check if robot fall;

  • check current GameController game state;

  • check current global robot state;

  • run routines for current global robot state.

The event driven programming model uses for the robot control. Set of robot states:

  • FINDBALL find the ball;
  • BALLFOLLOW following the ball;
  • FINDGOAL search goal;
  • KICKBALL hit the ball;
  • STANDUP robot is fall, need to get up; To indicate the current robot state we changed the color of robot eyes. For example, processing FINDBALL state:
  • get image from camera, process image;
  • if the ball found change the state to BALLFOLLOW;
  • if not continue to find ball by moving in a circle.

3 Conclusion

Photon team is not too successful team in RoboCup Humanoid Soccer league. We participate in one WorldCup (Leipzig 2016), in German Open 2015 (2nd place in 2015) and in Asia-Pacific 2017.

We are looking forward to participate in RoboCup 2018 in Montreal, which is a great opportunity for our team to get more experiences from competition, exchange knowledges with other students and researches from all over the world.

References

  1. Ronzhin A.L., Stankevich L.A., Shandarov E.S. International Robot Soccer Competitions RoboCup and Prospects of Russian Teams Participation (in Russian) // Robotics and Technical Cybernetics, ISSN 2310-5305, eISSN 2312- 6612, 2(7), pages 24-29, 2015.
  2. Gomilko S.I., Zhulaeva D.V., Mescheryakov R.V., Rimer D.I., Shandarov E.S., Yakushin D.O. Robot Footballers' Team of RoboCup Humanoid KidSize League (in Russian) // Robotics and Technical Cybernetics, ISSN 2310-5305, eISSN 2312-6612, 3(8), pages 11-15, 2015.
  3. Gomilko, S., Zhulaeva, D., Rimer, D., Yakushin, D., Mescheryakov, R., & Shandarov, E. (2016, August). Robot Soccer Team for RoboCup Humanoid KidSize League. // In International Conference on Interactive Collaborative Robotics, pages 181-188. Springer International Publishing.