MRL Team Description Paper for Humanoid KidSize League of RoboCup 2016

Mostafa E. Salehi, Meisam Teimouri, Amir Salimi, M. Hosein Gholampour, M. Saeed Yousefi, Morteza Aghazamani, Ashkan Farhadi

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, world modeling, self-localization, and behavior. MRL humanoid team is developed under the RoboCup 2016 rules to participate in the kidsize humanoid soccer league competition in Leipzig, the Germany and like the last years we will introduce a referee with sufficient knowledge of the rules available during the competitions. We use DARwIn-OP as our base platform and we have modified this platform in architecture, vision, motion control, world modeling, self-localization, behavior, and also the robot embedded operating system as will be discussed in the related sections.

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, human-like 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 2015. 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 and 2014. In 2012, 2013 and 2014 we had the honor to be in the top 8 teams among about 24 participating teams. This year we are planning to participate in the kidsize humanoid competition for the fifth time in IranOpen 2016 and RoboCup 2016 in Liepzig, Germany. 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., three graduate, and five undergraduate students from software, hardware, electronics, and mechatronics.

Overview of the System

We have used DARwIn-OP (Dynamic Anthropomorphic Robot with Intelligence Open Platform) [1] as our base in soccer playing team. The kinematic structures of the base and two modified versions of DARwIn with 20 DoF can be seen in Fig.1. 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 base on vision, planning, and communication. Considering the processing power of humanoid soccer playing robots, we have customized operating system for our robots in order to have a proper scheduling getting the best result, it uses Round-Robin algorithm to rotate through time slices [3]. Each robot is able to detect the ball and goal by scanning the field, 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, gyro, acceleration and compass sensors, servo motors, batteries and some user interfaces such as switch and LED. 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.

Fig.1. Kinematic structure of DARwIn and the two modified versions.
Fig.1. Kinematic structure of DARwIn and the two modified versions.
Fig.1. Kinematic structure of DARwIn and the two modified versions.
Fig.1. Kinematic structure of DARwIn and the two modified versions.
Fig.1. Kinematic structure of DARwIn and the two modified versions.
Fig.1. Kinematic structure of DARwIn and the two modified versions.

Robot Vision

Vision is one of the most important interfaces for robot perception [5]. 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 640×480 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 [6], the HSI color space is less affected to variations in light intensity comparing to other color spaces. To solve the first problem we used HSI color space and for the second one, we deployed autonomous color look-up table which the TT-UT Austin villa team has already implemented [7].

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 league and thus we developed new methods based on shape and color of the desired objects as well.

Ball detection

According to the new rule, ball has not a predefined color or pattern. So it seems that simple color segmented approaches are obsoleted. This year we developed a new ball detection method that utilizes the combination of edge and color information of the image. These methods can be divided in two steps: ball candidate detection and candidate verification. In the first step we search for circle shaped objects in the field boundary. To do so, the following steps are accomplished:

  1. Find filed boundary pixels in current image and do next steps on it.
  2. Grayscale the pixels
  3. Remove noise
  4. Extract edges
  5. Search for possible circles

The field boundary can be examined easily by scanning image vertically and checking for continuous green pixels. A Gaussian kernel is convolved on the interested boundary to eliminate the noise which can decrease efficiency of candidate detection in advance. Edge map can be created by edge detector operators like Sobel, Laplace and canny. It is showed that canny operator has superior results specially in case of moving ball [8]. However, it needs more processing time. Here we used canny edge detector. Finally, circles are extracted by appling a modified Hough transform on the edge map [9]. In contrast to traditional Hough transform, it needs much lower storage space and lower effort to search the parameter space. Therefore, it matches to our robot computational power. Since size of the ball is fixed as specified in the rule, minimum and maximum radius of it can be determined by using camera model. Using this information we limit the range of radiuses that are searched by modified Hough transform.

In the second step false positive candidates are rejected. For this purpose, every candidate is passed among two filters. The first filter checks the possibility of observing a circle with radius r that is dependent on the camera model and real size of the ball. If the difference between scale-based distance of the ball to robot and projection-based distance exceeds a threshold, is not possible and is rejected, otherwise, it proceeds to the next filter [10]. The second filter evaluates the possibility of color histogram of each candidate. If degree of coincidence (Doc) of the rectangle surrounding candidate circle is greater than a threshold, the candidate is verified. The Doc for is defined as follows [11]:

$$Doc_{ci} = \frac{n_{bp-in} - n_{bp-out}^{C}}{number\ of\ pixcels\ inside\ ci} \times \frac{n_{non-bp-out}}{number\ of\ pixels\ outsid\ of\ ci}$$

Where − is the number of pixels classified as ball color inside the candidate circle. Also − and −− are the number of pixels classified as ball and non-ball color in the candidate rectangle, respectively. Our preliminary experiments on the 320×240 subsampled images show that the proposed method can detect ball robustly in radius of 3m. The average processing time of this method on our robot is about 30 millisecond that make it applicable.

Goal Detection

Last year we utilized a RANSAC based method to detect field lines and goal posts. This method only fails on situations where the background of goal post is also near the goal color. For this reason we deployed a similar goal detection algorithm originally introduced by B-human [12]. Initially all base points that can belong to goal posts are searched below the horizon of the robot. Then a rectangle around each base point is created and edge detector operator is applied only on this area to speed up the algorithm. The size of this rectangle is determined using camera model and the real size of the goal posts. In the next step vertical lines are extracted using Hough transform. Finally the two best lines that have minimal expected distance to each other are selected and some filters are employed to reject false positives.

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 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 ball tracking and we are working on modeling obstacles.

Self-localization

Self-Localization is a key problem in autonomous soccer playing robots. Making proper decision for the robot which is not aware of its position is impossible. With respect to the limited field of view and limitation in robot sensors, tracking the pose is a complex problem. Last year we utilized a hybrid method based on the MCL and EKF. This year we have implemented a new combined method that uses MCL samples and UKFs population. 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 is done with UKFs accurately. To achieve this, we have used two types of hypothesis: MCL samples and a population of UKFs. Every hypothesis has a weight that shows it goodness and is updated smoothly. Each MCL sample is light hypothesis that is not good for tracking robot position. But it can be used for keeping a probable hypothesis about robot location for a short time. When absolute measurements mismatch with hypothesis, theses samples are created. On the other hand UKF hypothesis is more robust and we use them to track more probable locations for long times. 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 hypothesis. These samples are updated with incoming measurements. When the samples are converged to a limited number of clusters and the number of UKFs do not exceed a maximum number, then for each cluster that its weight pass from a threshold, a UKF hypothesis is replaced by it and there is no need for updating the samples of that cluster. The efficiency of the proposed method is related to the clustering algorithm. Because it isn't a trivial task and can take a huge time. In [13] a clustering algorithm is introduced that uses the intrinsic features of MCL and is able to cluster the samples in linear time. We have used their method in our algorithm. Moreover, to manage the number of UKFs hypothesis, we remove the low weighed ones and merge two near UKF hypotheses. To evaluate the efficiency of our algorithm, we have done two experiments that measure the accuracy and ability to re-localization. The implemented methods are compared against one of the most stable localization methods, Temporal Smoothing MCL (TSMCL) [14] as illustrated in fig 2. Our method outperforms the TSMCL.

Goal posts are the most important landmarks to update localization. However, because of long distance between the goalie and opponent goal, the results of the estimated positions of the goalie would be unstable. Thus we decide to develop a specialized localization method to improve the mentioned defect. To accomplish this, we defined an uncertainty value ranged between 0 and 1. The higher this value is, the more accurate position we have. As uncertainty decreases during the game, we should do the corresponding actions to improve. Based on the uncertainty values, first we validate the current position and then using nearby landmarks around our goal, we try to correct the position by detecting more landmarks. This cycle will continue until the uncertainty threshold value is reached.

Fig. 2- Results of the accuracy and relocalization experiments. Top row shows the accuracy and bottom row shows the ability to recovering from kidnap.
Fig. 2- Results of the accuracy and relocalization experiments. Top row shows the accuracy and bottom row shows the ability to recovering from kidnap.

Ball tracking

Ball is the most important moving object in the field that should be tracked by every player in the field depending on its role. We use Kalman filter to decrease ball detection noise. After applying this filter we create a model of ball for each robot, including important data for behavior control layer. Our goal is to have a stable and reliable model. Vision data, odometry, kicking and passing, affect this model and also affect uncertainty of the ball with specified ratios. Each robot playing in the same team can share its own model with its teammates. We can also improve ball model of each robot by the means of other robot's ball model.

Motion Control

One of the challenging research areas in humanoid robots is the walking and stability. We have modified the DARwIn robot motion [4] for the two new designed robots and we have also designed new feet for stable walking on artificial grass. The maximum speed of our robots is about 24 cm/s. Stability control is based on the robot's gyroscope and the controller receives data from this sensor via A/D converter. According to these data, the robot detects a fall and prevents fall. When the robot falls it detects the fall and stands up smoothly. The robot can stand up from lying on its back and its front side as well.

Conclusion

In this paper we have presented the specifications of the hardware and software of MRL kidsize humanoid robot system developed under the RoboCup 2016 rules. MRL commits to participate in RoboCup 2016 in Leipzig, Germany 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 DARwIn-OP as our base platform and we are working on this platform with about totally 20 graduate and undergraduate students modifying and optimizing the platform in vision, motion control, world modeling, self-localization, behavior, embedded control board, and also the robot embedded operating system as is discussed in the related sections. Up to now we have 8 published and 6 submitted papers in the related research fields.

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] Shen Wang, Yu Chen, Wei Jiang, Peng Li, Ting Dai, Yan Cui "Fairness and Interactivity of Three CPU Schedulers in Linux" In 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA, pp. 172-177, 2009 [4] N. Shafii, S. Aslani, O. M. Nezami and S. Shiri, "Evolution of biped walking using truncated fourier series and particle swarm optimization," Springer, Robocup, pp. 344-354, 2010. [5] Rafael C. Gonzales and Richard E. Woods, Digital Image Processing, Prentice Hall, 2001. [6] 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. [7] M. Sridharan and P. Stone, "Autonomous Planned Color Learning on a Mobile Robot Without Labeled Data," in Proc. of ICARCV, pp.1-6, 2006. [8] D. A. Martins, A. J. R. Neves, and A. J. Pinho, "Real-time Generic Ball Recognition in RoboCup Domain," in Proceedings of the 11th edition of the Ibero-American Conf. on Artificial Intelligence, IBERAMIA Lisbon, Portugal, 2008. [9] E. R. Davies, "A modified Hough scheme for general circle location," Pattern Recognition Letters, vol. 7, pp. 37-43, 1// 1988. [10] D. Budden, S. Fenn, J. Walker, and A. Mendes, "A Novel Approach to Ball Detection for Humanoid Robot Soccer," in AI 2012: Advances in Artificial Intelligence: 25th Australasian Joint Conference, Sydney, Australia, December 4-7, 2012. Proceedings, M. Thielscher and D. Zhang, Eds., ed Berlin, Heidelberg: Springer Berlin Heidelberg, 2012, pp. 827-838. [11] 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, 2015, pp. 153-164. [12] T. Röfer, T. Laue, J. Richter-Klug, M. Schünemann, J. Stiensmeier, A. Stolpmann, et al.*, "B-human Team Report and Code Release 2015," 2015. [13] T. Laue and T. Röfer, "Pose Extraction from Sample Sets in Robot Self-Localization A Comparison and a Novel Approach," in 4th European Conference on Mobile Robots, Mlini/Dubrovnik, Croatia, 2009, pp. 283–288. [14] W. Nisticò and M. Hebbel, "Particle Filter with Temporal Smoothing for Mobile Robot Vision-Based Localization," in Informatics in Control, Automation and Robotics. vol. 37, J. Cetto, J.-L. Ferrier, and J. Filipe, Eds., ed: Springer Berlin Heidelberg, 2009, pp. 167- 180. [15] W. Nisticò and M. Hebbel, "Particle Filter with Temporal Smoothing for Mobile Robot Vision-Based Localization," in Informatics in Control, Automation and Robotics. vol. 37, J. Cetto, J.-L. Ferrier, and J. Filipe, Eds., ed: Springer Berlin Heidelberg, 2009, pp. 167- 180. [16] Wu Xianxiang, Ming Yan and Wang Juan, "An improved Path Planning Approach Based on Particle Swarm Optimization," Hybrid Intelligent Systems (HIS), pp. 157-161, 2011. [17] R. Shakiba, M. Najafipour, and M. E. Salehi, "An improved PSO-based path planning algorithm for humanoid soccer playing robots," in AI & Robotics and 5th RoboCup Iran Open International Symposium (RIOS), 2013 3rd Joint Conference of, 2013, pp. 1-6.