Ichiro KidSize Team Description Paper 2019

Muhtadin, Sulaiman Ali, Muhammad Reza Arrazi, Tommy Pratama, Dhany Satrio Wicaksono, Ahmad Hernando Pradanatta Putra, I Made Pande Ari, Alfi Maulana, Oktaviansyah Purwo Bramastyo, Syifaul Qolby Asshakina, Dzulfikar Ats Tsauri, Arsy Huda Fathaniard, Sinta Devi Listianah, Muhammad Attamimi, Muhammad Arifin

Institut Teknologi Sepuluh Nopember, Surabaya 60111, Indonesia; Indonesian Institute of Sciences (LIPI), Indonesia


Abstract This paper presents a brief overview of the mechatronic and software design of Ichiro KidSize robots from the Institut Teknologi Sepuluh Nopember Surabaya, Indonesia; to fulfill the prerequisites for participation in Robocup 2019 which will be held in Sydney, Australia. In the Robocup 2019 competition, we will combine our KidSize and TeenSize (84 cm heights) robots. Currently, we are conducting various matches to find problems that arise and to solve those problems.

1 Introduction

The spirit of the RoboCup Humanoid Soccer community in developing robots to present a full team soccer robot match against a full professional soccer team in 2050 was very interesting for us to do research in the humanoid robot field. This enthusiasm is also interesting for us to actively participate in various humanoid robot competitions at the national and international level.

Team Ichiro is a robot team from the Institut Teknologi Sepuluh Nopember Surabaya, Indonesia. We specifically conducted research in developing humanoid robots and participated in various humanoid robot competitions. We began to actively participate in humanoid robot competition since 2014. Starting with participating and winning in many national competitions that make our team the top three of the robotics soccer teams in our country. We have also been participating in the international competition after two years. In 2016, Ichiro Kidsize team qualified to compete in the RoboCup Humanoid League competition in Leipzig Germany, but we failed to participate in that competition due to lack of funds. In the end, we can take part in the KidSize RoboCup Humanoid Leagues competition in Nagoya in 2017.

For the RoboCup 2018 in Canada, we cannot participate in the KidSize RoboCup Humanoid League, because we focused on developing our TeenSize robot. As the results, we won first place in the TeenSize category and won three other awards, that is runner-up at the Technical Challenge and at Drop-In Games, and third place award for the Best Humanoid Robot Soccer.

After RoboCup 2018 was completed, we intensely rebuilt our KidSize robot. In the competition from 2004 to 2007, we modified and used the Darwin-Op platform (see [1]) for our KidSize robot. After the Robocup 2018 competition was completed, we made a new KidSize robot with a larger size of 58 cm. We maintain the size less than 60 cm so that we can use our KidSize robot on the RoboCup Humanoid League KidSize and FIRA RoboworldCup KidSize category. In 2019, we are determined to return to the RoboCup Humanoid League competition in the KidSize category by using our robot.

In developing our robot, we emphasize the development of reliable mechanical design, our vision algorithm that can recognize balls and field features. Thanks to our vision algorithm, the robots can localize themselves in the field by relying on our vision and odometry system.

In this paper, we will explain briefly our robot in terms of software and hardware that we will use to enter the competition in 2019 in Sydney. We will also explain the development of our robot compared to the Darwin-OP robot that we have used in previous years.

2 Electrical Hardware Overview

Ichiro KidSize robot hardware consists of three main parts, the input device (sensor), processing device, and output device. The input device is used to retrieve data in the robot environment, then the data is processed by the processing device, then the results of the process are used to regulate the output device so that the robot can move correctly.

The input device used several types of devices to obtain orientation data, accelerometer, gyroscope, vision, and interfacing for the robot to run the program. Because of the rules, since 2018 we did not use any compass. We use MPU6050 for the orientation of the robot, whereas the CM-740 build-in IMU sensor are used as the accelerometer and gyroscope. For our vision system a Logitech C920 webcam is used to capture the images, then process them to detect the balls, fields, and goal which are combined with the orientation sensor as the robot heading. The processing device is divided into two types, the main controller and sub-controller. For the main controller, Intel NUC is used. The combination of CM-740 and Arduino nano is utilized for the sub-controller. At the output device, servo motors are used to drive the robot mechanics. The robot uses eight pcs of Dynamixel MX-28 for the upper body, and 12 pcs of Dynamixel MX-64 for the legs.

Block diagram electronic system of Ichiro Robot
Block diagram electronic system of Ichiro Robot

3 Mechanical Design

Ichiro KidSize team uses two types of robots. The first one is a small robot that named Arata, the robot has a height of 58cm, the second one is a bigger robot that we also use as a substitute for Ichiro TeenSize which named Ithaaro, the robot has a height of 84cm. The two robots are made by our team.

3.1 Arata

Arata is our second-generation KidSize robot which is the result of our mechanical research. We use aluminum type 6 with a thickness of 2 mm as the robot's material. The material is getting cut with laser cutting. The height of the robot is 58 cm and the weight is 4.3 kg. The robot used two types of Dynamixel MX Series. We use MX-64 for the lower body and MX-28 for the upper body. For the power of the robot, we used LiPo 4 cell 3300 mAh battery. During the previous year, we found some problem with the robot's legs that were too light.

The CAD design and a picture of robot: (a) Arata, (b) Ithaaro
The CAD design and a picture of robot: (a) Arata, (b) Ithaaro

3.2 Arata V.2

Arata V.2 is the third generation of the robot to solve the mechanical problems in the previous generation, which is still in development. In the previous generation, the robots are too light at the lower body and too heavy at the upper body. In this generation of the robot, the upper body used a 2 mm aluminum material and getting cut by using a CNC laser. At the lower body, it used a 5 mm thickness of aluminum and getting cut by using CNC milling with the same height as Arata. In the meantime, we are finishing the assembly of Arata V.2.

3.3 Ithaaro

Ithaaro is the robots that we use at teen size category also. This robot uses one Logitech camera C922 and two LiPo 4S batteries with 300 grams weight. There are twenty degrees of freedom using Dynamixel Servo. Twelve Dynamixel MX 106 for the robot's feet, six Dynamixel MX 64 for the robot's arms and two Dynamixel MX 28 for the head. Ichiro Teen Size V.1 has 0.85 m of height. This robot is made by cutting and bending with 3 mm thick type 5 Aluminum material. To support the balance of the robot, we used four load cells with a capacity of 10 kg for each leg.

4 Computer Vision

(Section header - see subsections below)

4.1 Object Detection on the Soccer Field

We have made several changes to our robot vision algorithm. In the 2017 competition, we used the Histogram of Oriented Gradient (HOG) [2] descriptor feature with Linear Support Vector Machine (SVM) for classification. However, because of high computational cost and can only do binary classification, we are looking for other methods to overcome this problem.

In the 2018 competition, we developed a ball detection method with the Local Binary Pattern (LBP) feature (see [3]). With the method of classifying Cascade Classifier, and we get satisfactory results. Robots can detect balls two times from the previous maximum distance and fast computing time so that it is suitable for use on CPUs with low computing capabilities.

Our robot uses a simple way to detect the goal, we use Hough transform described in [4] to recognize the goal post. We also apply Hough transform to recognize the edge of a soccer field.

This year, we try to improve the accuracy and the number of classes classified, we try the Deep Neural Network method. To detect objects like balls and features on the field, we use MobileNet V2 architecture [5].

To Implement a Convolutional Neural Networks (CNN) in our robot, we use Google's TensorFlow [6] and use the Single Shot Multibox Detector (SSD) algorithm with COCO dataset to test object detection in CNN models. The results we get from this CNN models shown in Figure 3. The computational cost was less than 0.14 seconds. We try to speed up the learning and prediction process by implementing a variant of MobileNet, i.e., FD-MOBILENET, which was described in [5].

Implementation result of MobileNet
Implementation result of MobileNet

4.2 Localization Method

The problem of localizing robots on the field becomes more difficult due to the similarity of the own area and the opponent's area. To overcome this problem, at the beginning when the robot enters the field, the robot is placed at several predetermined entry points. This algorithm has been applied by the Nimbro team as discussed in [7].

When the robot enters the field, the robot will compare the relative position of the robot with the goal post on the left side and the goal post on the right side of the robot. We use trilateration calculations as discussed in [8] to calculate the relative position of the robot against features of the field such as goal post. Assuming that the robot always enters from its own area, the robot can decide that the farthest goal post is the opponent's goal. The robot also uses trilateration calculations to determine where he entered the field based on predetermined entry points.

After the robot knows the robot's starting point when entering the field, the robot can estimate its position based on the robot's step model on the gait parameters we use. For tracking robot positions, we use the data provided by the robots using Gyroscope and Accelerometer.

5 Robot Behavior and Strategy

(Section header - see subsections below)

5.1 Robot Behavior

The behavior of our robot is determined by the state that we have specified. This state is made according to all possible events that may occur during the match. Transition or movement of states depends on information received by robots such as game controllers, the position of the ball relative to the robot, the position of the robot, the position of friends, and so forth. In general, the main purpose of a robot's actions is to reach the ball, kick the ball, and score a goal against the opponent. In achieving this goal, robots need to work together with friends in a team with various strategies that we have determined.

The robot will look for the ball in the field in almost all time of the match. When the robot has reached the ideal position for kicking, the robot will perform a kicking motion. The kicking motion of our robot is divided into two, which are long kicking and short kicking. Short kick is used when robots are in their own area and long kick is used when robots are in the opponent areas. The robot always tries to direct the goal at the center of the goal wherever the robot position when kicking. Therefore, we designed a kick that was strong enough to be able to swing the ball from the midfield line to reach the opponent's goal.

To achieve the goal effectively, a play strategy is needed so that the robot can cooperate in scoring the goals. Our robot can automatically act as an attacker or as a defender. To determine the task as an attacker, the robot detects the position relative to the ball, then the robot closest to the ball will become an attacker which will kick the ball. When the attack robot moves closer to the ball, the other robots will return to their own areas as the defender who and stay at that position. When our robot succeeds in scoring goals, our robots will position themselves automatically back in their own area according to their position in the match both as defenders and attackers.

5.2 Robot Monitoring Software

We use robot monitoring program as shown in Figure 4 to help the process of testing algorithm in our robot, especially to test the accuracy of robot's localization algorithm and to test the communication and teamwork algorithm between robot.

The main purpose of monitoring the robot is to observe the internal conditions of the robot and detect errors related with wrong algorithm implementations. In our robots, besides it receives messages from the game controller, our robot also sends messages that can be received by other robots. Our robot monitoring program then uses the User Datagram Protocol (UDP) network to gather messages that sent by the robots and display it on programs in the form of visualizations that could be understood by humans. That visualizations are represented by individual robot's states in the field such as its position, orientation, detected ball position, and shoot direction of the robot. With the monitoring program, we can monitor the robot's behavior whether correct or not. Information collected from the monitoring program includes information sent by the robots and states sent by the game controller.

Software for monitoring the robot state
Software for monitoring the robot state

References

  1. Inyong Ha, Yusuke Tamura and Hajime Asama, "SHORT PAPER Development of open platform humanoid robot DARwIn-OP", in: Advanced Robotics, Volume 27, 2013 - Issue 3, Pages 223-232 (2013)
  2. Dalal, N., Triggs, B.: Histograms of oriented gradients for human detection. In: Computer Vision and Pattern Recognition, vol. 1, pp. 886–893 (2005).
  3. T. Ojala, M. Pietikainen and T. Maenpaa, "Multiresolution gray-scale and rotation invariant texture classification with local binary patterns," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 24, no. 7, pp. 971-987, (2002).
  4. D.H. Ballard, "Generalizing the Hough Transform to Detect Arbitrary Shapes", in: Pattern Recognition, Vol.13, No.2, p.111-122, (1981).
  5. Qin, Z., Zhang, Z., Chen, X., et al.: FD-MobileNet: improved MobileNet with a fast down sampling strategy. arXiv preprint arXiv:1802.03750 (2018).
  6. M. Abadi, P. Barham, J. Chen, Z. Chen, A. Davis, J. Dean, M. Devin, S. Ghemawat, G. Irving, M. Isard, M. Kudlur, J. Levenberg, R. Monga, S. Moore, D. G. Murray, B. Steiner, P. Tucker, V. Vasudevan, P. Warden, M. Wicke, Y. Yu, and X. Zheng. "Tensorflow: A system for large-scale machine learning," in 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16), pp. 265–283, (2016).
  7. Ficht, Grzegorz & Pavlichenko, Dmytro & Allgeuer, Philipp & Farazi, Hafez & Rodriguez, Diego & Brandenburger, André & Kürsch, Johannes & Schreiber, Michael & Behnke, Sven. Grown-up NimbRo Robots Winning RoboCup 2017 Humanoid AdultSize Soccer Competitions. RoboCup 2017: Robot World Cup XXI, pages 448-460, Lecture Notes in Computer Science. Springer, Berlin, Heidelberg (2017).
  8. J. M. Ibarra Zannatha, R. Cisneros Limón, A. D. Gómez Sánchez, E. Hernández Castillo, L. E. Figueroa Medina and F. J. K. Lara Leyva, "Monocular visual self-localization for human-oid soccer robots," CONIELECOMP 2011, 21st International Conference on Electrical Communications and Computers, San Andres Cholula, pp. 100-107 (2011).