MRL Team Description Paper for Humanoid KidSize League of RoboCup 2017

Meisam Teimouri, Amir Salimi, Ashkan Farhadi, Alireza Fatehi, Hamed Mahmoudi, Hamed Sharifi, Mohammad Hosseini Sefat

Mechatronics Research Lab, Dept. of Computer and Electrical Engineering, Qazvin Islamic Azad University, Qazvin, Iran

http://mrl.ir


Abstract This team description paper presents the specifications of the MRL kidsize humanoid robot system which contains different parts including robot vision, motion control and world modeling. MRL humanoid team is developed under the RoboCup 2017 rules to participate in the kidsize humanoid soccer league competition in Nagoya, Japan and like the last years we will introduce a referee with sufficient knowledge of the rules available during the competitions. We use self-designed and self-constructed robots to participate in the competitions. Keywords: RoboCup, Kidsize Humanoid League, Bipedal Locomotion, Artificial Intelligence.

1 Introduction

RoboCup uses soccer as a research area to develop a team of humanoid robots that can win the human world champion soccer team in 2050. In the Humanoid league, humanlike fully autonomous robots play soccer against each other and meanwhile handle stable walking, visual perception of the ball, players, and the field, modeling and kicking the ball, and also self-localization. The RoboCup soccer playing robots introduce challenges in design, control, stability, and behavior of autonomous humanoid robots.

The MRL project was started in 2003 in the Mechatronics Research Laboratory in Islamic Azad University, Qazvin branch looking onward to enhance the knowledge of robotics and the MRL humanoid kidsize soccer league is aimed to develop a humanoid platform for research and education. Our research center has the honor to hold the RoboCup IranOpen from 2003 to 2016. MRL has nine qualified teams and has had a successful history in RoboCup for many years. Our humanoid soccer playing team is one of the developing soccer-playing humanoid robots in the RoboCup Humanoid League and has participated in RoboCup and IranOpen Humanoid League in 2011, 2012, 2013, 2014 and 2016. In 2012, 2013 and 2014 we had the honor to be in the top 8 teams among about 24 participating teams and in 2016 we qualified as the first team in our group to intermediate round. This year we are planning to participate in the kidsize humanoid competition for the sixth time in IranOpen 2017 and RoboCup 2017 in Nagoya, Japan. Our mission is to fulfill our study in motion control, vision, world modeling, artificial intelligence, and embedded system design.

MRL Humanoid Kid Size team consists of one Ph.D., five graduate, and nine undergraduate students from software, hardware, electronics, and mechatronics.

Kinematic structure of our self-constructed robots. Left: Rabo1. Middle: Rabo2. Right: Ashkan.
Kinematic structure of our self-constructed robots. Left: Rabo1. Middle: Rabo2. Right: Ashkan.

2 Overview of the System

DARwIn-OP [1] have been used as our base in soccer playing team for several years. With the experiences gained by using this robot and participating in variant competitions we were achieved to construct our improved robots that are faster and more powerful. The kinematic structures of our robots are demonstrated in Fig.1 (evolved from left to right). The actuators used in our robots are the MX28 and MX64 servo motors. The motion mechanism consists of 20 degrees of freedom distributed in six per leg, three per arm and two degree of freedom moving the neck horizontal and vertical. Our developments for the kidsize humanoid robot include the design and construction of modular software architecture based on the Upenn RoboCup released code [2]. The software contains robot applications including autonomous motion and walking controller, self-localization and communication. Each robot is able to detect the ball and goal by scanning the field boundary, walk towards the ball, and kick when it catches the ball. The project is still in progress and some developed methods are described in the current report.

Our robots consist of a USB camera, two embedded processing systems, gyroscope and acceleration sensors, servo motors, batteries and some user interfaces such as switch and LEDs. Images are captured by the USB camera, the camera sends image signal to the main CPU board. The CPU processes the image data to detect positions of ball, goals, and other robots by a combination of color-based and shape-based image processing. A hybrid localization method is employed to localize the robot in the soccer field. We also have used wireless communication between the robots. Exploiting the vision and network data we select the next behavior of the robot according to the robot role and the priority of the behaviors. The defined behaviors are composed of simple motions to support more complex tasks.

3 Robot Vision

Vision is one of the most important interfaces for robot perception [3]. The main vision sensor is a camera that is located in the robot's head. This camera model of our robots is Logitech C920 that uses USB2 connection with 2 Megapixel resolutions (up to 1600×1200, 10fps or 1280×720, 30fps) in YUYV color space capturing 30 frames per second. At the first step, we used V4L2 module to grab the raw output of the camera, then the grabbed image was converted to HSI color space and is mapped to the field's colors, using a color look-up table to segment the image according to the color. For robot's color learning phase we used color look-up table for segmentation -the same as what we had done last year. One of the leading problems of this approach is its dependency to the light intensity and the other problem is that it takes a pretty long time to set the color look-up table manually. The light intensity is an uncontrolled factor in humanoid robot operational environment. According to our previous research [4], the HSI color space is less affected to variations in light intensity comparing to other color spaces. To solve the first problem we have used HSI color space and for the second one, we have deployed autonomous color look-up table which the TT-UT Austin villa team has been already implemented [5].

Due to the changes of rules in humanoid robot league and changing the color of goals to white which has the same colors with lines and ball, distinguishing these objects is the main challenge of the vision module and thus we developed new methods based on shape and color of the desired objects as well.

Field boundary detection

Detection of field boundary is important to our purpose, because goal detection and further image processing algorithms are related on it, so it can affect the performance of image processing module. For detection of field boundary we have used the color segmented image. At the first step we scan the image column by column. For each vertical scan line we start from the bottommost pixel and go upward until there is a probable field color. A pixel is treated as a field color if it has been classified as green color or the significant of adjacent pixels under it be green. The last field pixel on the column must be green and is marked as the end point of that column. These end points form a histogram that describes the field boundary. There are other objects on the field that can cause some gaps in the resulted histogram. To cope with this problem we have employed the Local Convex Corner algorithm as suggested in [6]. The result of our field boundary detection algorithm is illustrated in fig 2. Top.

Goal detection

As mentioned in the field boundary section our goal detection is based on the field boundary. We know if there is a goal post in the processing image, it is near the field boundary. At the first step we find all white pixels on the field boundary. These white pixels are starting points of bounding boxes of some goal post candidates. Then each candidate is extended to up and right until there is white pixel. Using this approach many candidates are overlapped, so every candidate that is located inside another one is eliminated. It is obvious that all candidates are not valid goal posts, so we have used variant filters to discard the false candidates. Some of these filters are listed here:

  • The ratio between the area of white pixels in a candidate and the expected area must be reasonable.
  • Two sides of a candidate bounding box must be darker.
  • The bottommost pixel of a candidate must be located inside the field boundary and the topmost pixel of it must be placed outside the field boundary.
  • Projected width of a candidate must be matched the expected width of a goal post.

If two candidates be satisfied, they will be examined to verify that whether they are the posts of a goal or not. In the case that only one candidate is validated it is considered as an undefined goal post. We are working on the horizontal cross bar of the goal to detect the type of an undefined post. The result of goal detection algorithm is demonstrated in fig 2. Bottom.

Top: Raw image and result of field boundary algorithm. Bottom: Raw image and result of goal post detection algorithm.
Top: Raw image and result of field boundary algorithm. Bottom: Raw image and result of goal post detection algorithm.

Ball detection

According to the new rule, ball has not a predefined color or pattern, so it seems that simple color segmented based approaches have been obsoleted. Last year for Leipzig, Germany competitions we developed a ball detection algorithm based on the Canny edge detector and the Circle Hough Transform (CHT). In this method the captured image is grayed and an edge map is exploited using Canny operator. Then by applying a modified CHT [7] on the edge map some circular candidates are detected. The candidates that their size does not match with the expected ball size on the image are rejected and the others proceed to the next step. At the next step for each candidate a probability of being ball is calculated using degree of coincidence (DOC) [8] and the most probable candidate that its DOC exceeds a threshold is known as the ball. Although this method has the ability to detect the ball at a distance of about three meter, but in some cases it fails to deal with the circular curves of the center circle and the bottom of goal posts. To address the problems this year we have proposed a new algorithm based on the particle filter and Adaboost classifier. The new algorithm can be divided in two steps. At the first step some random particles are generated as suggested in [8] and at the second step the particles are validated. Each particle is a circle with radius located at a random pixel on the image. The radius of can be derived by its location and the camera matrix. Then the probability that is a bull must be evaluated. In [8] authors suggested the DOC to estimate this probability. Due to the manner in which they calculated the DOC, it can be a time consuming operation that will decrease the frame rate. To cope this problem we have used a more efficient approach. Assume represents the set of all possible colors of an object. The integral image of is

$$II_{C}(x,y) = \sum_{x' \le x, y' \le y} F_{C}(x',y')$$

where $F_{C}(x', y')$ is a function that returns 1 if the classified color of the pixel $(x', y')$ be a member of $C$, otherwise it returns 0. using the $II_C$ we can efficiently calculate the number of occurrences of colors in any rectangular region R:

$$n_{C}(R) = II_{C}(r2, c2) + II_{C}(r1, c1) - II_{C}(r1, c2) - II_{C}(r2, c1)$$

where $r1$, $r2$, $c1$ and $c2$ are some indexes that are specified in fig 3. Left. Now we can define DOC of using a template (fig 3. Right) assigned to it:

$$DOC_{p_i} = \frac{n_{BC}(B) - n_{NBC}(B)}{n_{AC}(B)} \times \frac{n_{NBC}(A) - n_{NBC}(B)}{n_{AC}(A) - n_{AC}(B)}$$

where $BC$, $NBC$ and $AC$ are the set of all ball colors, non-ball colors and all colors respectively.

Relying only on the Doc may result in detection of some false positives. To reject this false candidates we pass them among a strict filter. This filter is an Adaboost classifier composed of 30 decision trees. There are many features like SIFT, SURF, HOG and etc. that can be used to learning the classifier. Here we have employed HOG feature. To learn the classifier we have used some positive and negative samples prepared by an expert. Due to the sensitivity of HOG to the rotation, the positive samples are rotated to generate new samples. The preliminary results of our ball detection algorithm indicate its efficiency on our robot.

Left: Calculation of the number of occurrences of colors inside Region. Right: the template that are used to calculate the DOC of
Left: Calculation of the number of occurrences of colors inside Region. Right: the template that are used to calculate the DOC of
[Figure 3 continued]
[Figure 3 continued]

4 World Modeling

World model is a key component in intelligent and autonomous robots. Modeling the system consist of a model for each static and dynamic object in the field of play. These models are formed by the incoming data from the sensors of the robot. Due to the noise and uncertainty of the observations and limitations in humanoid sensors, tracking the surrounding environment of the robot is an important challenge. This year we have implemented models for self-localization and we are working on modeling obstacles and ball.

Self-localization

Self-localization is the process of estimating the robot position employing noisy measurements. It is a key issue for a soccer playing robots. With respect to the limited field of view and limitation in robot sensors, tracking the position is a difficult problem.. This year we have used a hybrid method based on the MCL and the UKF as described in our previous research [8]. The key idea of this method is that kidnap and global localization problems can be handled by MCL as quickly as possible and the position tracking can be done with UKF models efficiently. When the uncertainty of the belief is high or a kidnap detected the belief is represented by MCL samples to discover the most probable positions. When the samples are converged in the small number of clusters, they estimated with UKF models efficiently. Initially the samples of MCL are distributed uniformly in the state space (if we haven't any prior information) and there isn't any UKF models. After some updating process If the samples of MCL are converged to a number of pre-defined clusters, they can be replaced with UKF models. For every valid cluster if the number of active UKF models not exceeds a maximum threshold, an UKF hypothesis is replaced by it. The validity of a cluster is determined by the average weight of its samples. To calculate the parameters of the new generated UKF we have used Maximum Likelihood Estimation of the samples of corresponding cluster. The efficiency of our localization method is evaluated in some experiments [9].

Goal posts are the most important landmarks for updating self-position estimation. However, because of long distance between the goalie and opponent goal, the results of the estimated position of the goalie would be unstable. Thus we decide to develop a specialized localization method for goalie to improve the mentioned defect. To accomplish this, we defined an uncertainty value ranged between 0 and 1. As the uncertainty is increased during the game, we should do the proper actions to decrease it. Based on the uncertainty value, first we validate the current position and then using nearby landmarks around our goal, we try to correct the position of the robot. This cycle will be continued until the uncertainty threshold value is satisfied.

5 Motion Control

Developing a stable walk engine for a humanoid soccer robot is one of the most challenging research area. We have modified the Upenn team walk engine for our selfconstructed robots. In order to walk on the artificial grass we have designed new feet. The maximum speed of our robots is about 28 cm/s. Small disturbances are detected using the accelerometer and gyroscope sensors. We have designed a simple PID controller that compensate knee and ankle pitch angles to keep projected center of mass on the support polygon and prevents a fall down. When the robot falls he detects it and stands up smoothly. The robot can stand up from back and front as well.

6 Conclusion

In this paper we have presented the specifications of the hardware and software of MRL kidsize humanoid robot system developed under the RoboCup 2017 rules. MRL commits to participate in RoboCup 2017 in Nagoya, Japan with further enhanced hardware and software based on the achievements of previous year and also commits to introduce a referee familiar with the rules of the Humanoid League.

We use our self-designed and self-constructed robots and we are working on this platform with about totally 15 graduate and undergraduate students modifying and optimizing the platform in vision, motion control, world modeling, self-localization, behavior and embedded control board.

References

  1. DARwIN OP, http://www.romela.org/main/DARwIn\_OP:\_Open\_Platform\_ Humanoid_Robot_for_Research_and_Education, retrieved Jan 2013.
  2. Upenn RoboCup: Code, available online: https://fling.seas.upenn.edu/~robocup/ wiki/index.php?n=Main.Code, retrieved Jan 2013.
  3. Rafael C. Gonzales and Richard E. Woods, Digital Image Processing, Prentice Hall, 2001.
  4. Mojtaba Ghanbari, Reza Safdari, Ehsan Nazari, and Mostafa E. Salehi "Evaluating the Effect of Intensity Variations on Object Detection in Humanoid Soccer Playing Robots," in Proceedings the 2013 RSI International Conference on Robotics and Mechatronics (ICROM 2013), in press, 13 -15 Feb 2013.
  5. M. Sridharan and P. Stone, "Autonomous Planned Color Learning on a Mobile Robot Without Labeled Data," in Proc. of ICARCV, pp.1-6, 2006.
  6. H. Schulz, W. Liu, J. Stückler, and S. Behnke, "Utilizing the Structure of Field Lines for Efficient Soccer Robot Localization," in RoboCup 2010: Robot Soccer World Cup XIV, J. Ruiz-del-Solar, E. Chown, and P. G. Plöger, Eds., ed Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 397-408, 2011.
  7. Y. Hayashibara, H. Minakata, K. Irie, D. Maekawa, G. Tsukioka, Y. Suzuki, et al., "CIT Brains KidSize Robot: RoboCup 2015 KidSize League Winner," in RoboCup 2015: Robot World Cup XIX, L. Almeida, J. Ji, G. Steinbauer, and S. Luke, Eds., ed Cham: Springer International Publishing, pp. 153-164, 2015.
  8. E. R. Davies, "A modified Hough scheme for general circle location," Pattern Recognition Letters, vol. 7, pp. 37-43, 1988.
  9. M. Teimouri, M. E. Salehi, and M. R. Meybodi, "A hybrid localization method for a soccer playing robot," in 2016 Artificial Intelligence and Robotics (IRANOPEN), pp. 127-132, 2016.