MRL Team Description Paper for Humanoid KidSize League of RoboCup 2015
Mostafa E. Salehi, Meisam Teimouri, Amir Salimi, Emad Farokhi, M. Hosein Gholampour, Bahareh Foroughi, M. Saeed Yousefi, Roham Shakiba
Mechatronics Research Lab, Dept. of Computer and Electrical Engineering, Qazvin Islamic Azad University, Qazvin, Iran
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 2015 rules to participate in the humanoid kidsize soccer league competition in Hefei, the China and like the last year we will introduce a referee with sufficient knowledge of the rules available during the competitions. We use modified DARwIn-OP as our base platform and we have also designed a new robot called Rabo. We have modified DARwIn-OP in architecture, vision, motion control, world modeling, self-localization, behavior, embedded control board, and also the robot embedded operating system as will be discussed in the related sections.
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, human-like fully autonomous robots play soccer against each other and meanwhile handle stable walking, modeling and kicking the ball, visual perception, and 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 a successful history in RoboCup for many years. Our humanoid soccer playing team 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 22 participating teams. This year we are planning to participate in the kidsize humanoid competition for the fifth time in IranOpen 2015 and RoboCup 2015 in Hefei, China. 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 two Ph.D., eight graduate, and eight undergraduate students from software, hardware, electronics, and mechatronics. The other team members are: Mahdi Yarahmadi, Hamed Torki, Ashkan Farhadi, Hamed Sharifi, and Pourya Shahverdi.
2 Overview of the System
We will use DARwIn-OP (Dynamic Anthropomorphic Robot with Intelligence Open Platform) [1] and our new robot called Rabo in our soccer playing team for RoboCup2015. The kinematic structure of these robots can be seen in Fig.1. The actuators used in our robots are the MX28 and MX64 servo motors. Physical specifications of the robots are illustrated in Table 1. 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 need to use a customized operating system for special purposes. We have customized the Linux kernel for our robots in order to have a proper scheduling getting the best result. In fact we build up a light specific distribution of Linux for DARwIn-OP. We have improved some quality factors such as performance and running time by deploying our novel light distribution and using specific CPU scheduler, file system and customized kernel which only installs the minimum required libraries and applications. Instead of the GUI (Graphical User Interface), we have only provided BASH as a CLI (Command Line Interface) user interface. We have also chosen the RSDL for scheduling processes in which the processes at the highest priority are allowed to execute and will be given the time slices [3]. For our file system we have deployed BRTFS. Considering that our distribution is Debian-based, we use APT as package manager. Also we have implemented MUSH (MRL User Shell) to simplify and expedite the configuration, compilation and running multiple robots simultaneously.
Each robot is able to detect the ball and goal by scanning the field, can walk towards the ball, and kick it 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.
Table 1. Physical measurements of modified DARwIn and new robot Rabo
| Feature | DARwIn | Rabo |
|---|---|---|
| Height | 45.5 cm | 58 cm |
| Weight | 2.8 Kg | 5.2 Kg |
| Walking Speed | 24 cm/s | 36 cm/s |
| Degrees of freedom | 20 in total | 20 in total |
| Servo motors | 20 MX-28 | 20 MX-64 |
| Sensors | Accelerometer, gyroscope | Accelerometer, gyroscope |
| Embedded PC board | Fit-PC2i | Fit-PC2i |
3 Motion Control
One of the challenging research areas in humanoid robots is the walking and stability. In this section we introduce our methodology and the proposed evolutionary algorithm that is used to modify the DARwIn robot motion. Motion of joints in biped robots can be studied in two categories: a) movement position, b) angular position [4]. Mechanical methods are based on the dynamics of the robot and information from the environment. In our methodology we focus on angular positions of the joints and we use sinusoid equations to generate motion gait patterns for swing leg and we use polynomial equations for support leg which leads to higher performance and stability during the walk. We have also used an evolutionary algorithm in tuning the parameters of robot motion. These parameters are the coefficients of equations that are set for each joint and create the sequence of joint angles for robot walking. The evolutionary algorithm that we use in this implementation is the PSO algorithm. We have produced single step cycles in 0.48s and record the angular position value of each joint in each 0.04s (angular position for both swing leg and support leg).
4 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 DARwIn-OP is Logitech C905 that uses USB2 connection with 2 Megapixel 640×480 resolutions (up to 1600×1200, 10fps or 1280×720, 30fps) in YUYV color space. 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. 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. According to our previous research [6], the HSI color space is less affected in 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 color with lines, distinguishing these two objects, is a new challenge of the league and thus we decided to use a new approach to detect line and goal simultaneously. To detect goals and lines, we first detect the white segments using our customized RANSAC algorithm which is a learning technique to estimate the parameters of a model by random sampling of observed data. After detecting the segments, we should distinguish lines and goals. To accomplish this, we utilize the structure of the field lines, goal posts and the matrix of head position.
5 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. 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.
5.1 Self-localization
Self-Localization is a key problem in autonomous soccer playing robots. Making proper decision for the robot that is not aware about his 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 UKF 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 UKF. Every hypothesis has a weight that shows it effectiveness and is updated smoothly. Each MCL sample is a 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 mismatched with hypothesis, theses samples are created. One the other hand UKF hypothesis is more robust and we use them to track more probable location 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 does 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 [9] a clustering algorithm is introduced that uses the intrinsic features of MCL and clusters the samples in linear time. We have used their method in our algorithm. Moreover, to manage the number of UKF 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 relocalization. The implemented methods are compared against one of the most stable localization methods, called Temporal Smoothing MCL (TSMCL) [10].
Goal posts are the most important landmarks to update localization, however, because of long distance between the goalie and opponent goal, the result of the estimated position of the goalie would be unstable. Thus we decided 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, the more accurate position we have. As uncertainty decreases during the game, we should do the corresponding actions to improve it to get higher. 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 by detecting more landmarks. This cycle will continue until the uncertainty threshold value is reached.
5.2 Co-Operative Occupancy Grid Map
Considering the high probability of collisions in operational environment, robots need to model the environment for intelligent activities like planning and obstacle avoidance. We have used a co-operative Occupancy Grid Map in which the robot's environment is divided into specific number of cells based on [10]. In our experiments, the robot's field is divided into 5400 cells and each cell size is 10×10 centimeter. The current state of each cell and the probability of being occupied is determined with a floating point number between [0, 1], where 0 indicate free cells and 1 indicating occupied cells. We employed a count model for calculating this probability which is based on the number of times the cell has been occupied or free. The output of vision module which is FOV data of the robot is mapped on corresponding cell in Occupancy Grid Map using Bresenham line algorithm [12]. Then we update the count model counters according to the state of the cell, using the co-operative occupancy grid map which uses the other teammates' data, we cover parts of the field which are not in robot's field of view. Each robot broadcasts free and occupied counters of last seen cells as well as the ones received from its teammates; the new robot's perception is preferable to the other robots data about that cell. This way robot has better knowledge of occupancy cells of the field which leads to a better game planning. In Fig 3, a sample scenario of generating co-operative occupancy grid map in collaboration with two robots of the blue team is shown.
5.3 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 ball with specified ratios. Each robot playing in 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.
6 Behavior Control
Due to the essence of AI as our super-field, there is a spectrum of problems and their relevant spectrum of solutions. For handling this spectrum and with respect to the hierarchical structure of these problems as are described in [13] we have defined a simple hierarchical structure constituted from three layers. The top-most layer namely Game, the second layer is labeled as Player, and the bottom-most layer is Body.
As our contributions in the behavior, firstly we have applied most of the improvements in the bottom layer as player's action parameter optimization. In second layer we have implemented new path planning algorithm which uses Ferguson splines and particle swarm optimization (PSO) for planning optimum path through obstacles [14]. Experimental results indicate that in 92% of the configurations our new proposed method plans a path considering both length and safety.
This year we concentrated on three problems. The first one is path planning and we implemented our proposed algorithm [15] on robot. Also we are working on another method for obstacle avoidance using a fuzzy system. We hope we can compare these two methods in several terms. The second problem is positioning which can be considered as several sub-problems. Finding a solution to select the best position to pass the ball to another player has been one of the challenges in humanoid soccer robots. To solve this problem, we have developed a positioning algorithm using a Fuzzy System to select that position. The Fuzzy system can output a good position based on the attacker's current position and the best free point in the occupancy grid map. The new approach however still needs optimization to work perfectly but early tests has proven that it is a successful system and will be as the backbone of the strategy in our future behavior plans.
7 Conclusion
In this paper we have presented the specifications of the hardware and software of MRL kidsize humanoid robot system developed under the RoboCup 2014 rules. MRL commits to participate in RoboCup 2015 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 have also designed a new robot called Rabo. 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, selflocalization, behavior, embedded control board, and also the robot embedded operating system as is discussed in the related sections. Up to now we have 12 published 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] Wei Hong, Changjiu Zhou and Yantao Tian, Robust Monte Carlo Localization For Humanoid Soccer Robot, IEEE/ASME International Conference on Advanced Intelligent Mechatronics, 2009. [9] 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. [10] 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. [11] Bahareh Foroughi, Reza Safdari, Reza Kashkoee and Mostafa E. Salehi" Action Selection Using Co-Operative Occupancy Grid Map for Humanoid Soccer Robot", The 22nd Iranian Conference on Electrical Engineering ICEE 2014 (Under Review) [12] J. Bresenham, "Algorithm for computer control of a digital plotter," IBM Systems Journal, vol. 4, no. 1, pp. 25–30, 1965. [13] Sven Behnke and Jorg Stuckler, "Hierarchical reactive control for a team of humanoid soccer robots," IEEE-RAS International Conference on Humanoid Robots, pp. 622-629, 2007. [14] 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. [15] 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.