MRL Team Description Paper for Humanoid KidSize League of RoboCup 2019

Hamed Mahmoudi, Alireza Fatehi, Amir Gholami, Mohammad Hossein Delavaran, Soheil Khatibi, Bita Alaee, Saeed Tafazol, Maryam Abbasi, Mona Yeghane Doust, Asal Jafari, Meisam Teimouri

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

http://hsl.mrl.ir


Abstract This team description paper presents the specifications of the MRL KidSize humanoid robot system which contains different parts including system overview, robot vision, world modeling and motion control. MRL humanoid team is developed under the RoboCup 2019 rules to participate in the KidSize humanoid soccer league competition in Sydney, Australia 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.

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, 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 2018. 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 since 2011.

A brief highlights of our participation in the RoboCup, IranOpen and Asia Pacific competitions are as follows:

  • RoboCup 2018: take second place in main competitions and third place in DropIn.
  • RoboCup 2012, 2013, 2014, and 2017: reach quarter final in main competition. In 2017 we take first place in technical challenge competition.
  • Asia Pacific 2017: take first place in main competitions, technical challenge and DropIn.
  • IranOpen 2018: take first place in main competitions.
  • IranOpen 2013 and 2017: take first place and second place in 2013 and 2017 respectively.

This year we are planning to participate in the KidSize humanoid competition at RoboCup 2019 in Sydney, Australia. Our mission is to fulfill our study in motion control, vision, world modeling, and artificial intelligence.

MRL Humanoid Kid Size team consists of some researchers and students from mechanic, software, hardware, electronics, and mechatronics.

Ashkan humanoid KidSize robot.
Ashkan humanoid KidSize robot.

2 Overview of the System

With the experiences gained by participating in various RoboCup competitions, Last year by eliminating all bending in legs we designed a new KidSize robot that made manufacturing process easier and more accurate. In addition to this, by removing bending method, the aluminum alloy 6061 has been used instead of aluminum alloy 3105. So with this approach, we decide to redesign the trunk. In this procedure, CNC Milling and CNC Laser cutting are used in order to increase precision. Our robots have a well-known 20 degree of freedom structure with 58cm tall and weight of 4.4kg. All joints are equipped with Robotis Dynamixel MX series actuators. We have used six Dynamixel MX-64 for each leg, three Dynamixel MX-28 for each arm and two Dynamixel MX-28 in neck and head. The robot is powered by a 3-Cell, 3500mAH LiPo battery. The main processing unit is an Intel NUC 7th generation and power management is done by our self-constructed controller board which will be described briefly below. We also added eight force sensitive sensors mounted on the sole of the foot. This will enable our robots to measure the vertical forces applied to all four corners of the foot, calculate the COP (center of pressure) and report back every 12.5ms.

Our software architecture is based on the UPennalizers RoboCup released code [1]. The Vision, world model and behavior modules are wholly rewritten and the walk engine is enhanced to address disturbances more efficiently.

System Overview
System Overview

2.1 Control manager

Last year, we designed our own control manager to gain more control over the whole system. This enabled us to deploy a new algorithm for fusing inertial sensors data and splitting actuators lane into three separate lanes to reduce the load when reading actuators position. The new board increased the transaction speed between the main board, actuators, and sensors but as the strain gauges involved we decided to design a new board. The new control manager of the robot consists of two separate boards which their functionality will be described briefly below.

Controller Board. The task of power management and actuators data streaming are done by this board. The processing unit of the controller board is based on an ARM STM32F405VE microcontroller. This board is designed to communicate with both T and R Dynamixel series at the same time. For the purpose of reducing the heavy load of data transfer, we divided the communication into 5 independent lanes. Also, this board can supply the required power for the entire robot.

Sensor Board. The processing unit of the sensor board is based on an ARM STM32F405VE microcontroller. This board is equipped with 2 inertial sensors (gyroscope and accelerometer) and an OLED display and connected to strain gauges through a direct root. Another main responsibility of this board is estimating roll, pitch, and yaw, according to [2].

New calibration field.
New calibration field.

3 Robot Vision

Due to the recent changes in humanoid robot league rules distinguishing objects relying only on the color segmented image is not feasible. So we are working on more efficient methods especially machine learning approaches.

3.1 Camera calibration

Last year we introduced our camera calibration procedure [3]. As it is described before a set of parameters are calibrated using Particle Swarm Optimization (PSO). Obviously even after calibration, the transform matrix is not completely accurate, mostly because the calibrated parameters are neither independent nor enough. In our experience with our calibration field the dependency causes parameters to have negative effects on each other e.g., in the calibration of hip and head pitch simultaneously for some configurations both parameters have nearly same effect on reducing calibration error so a good result will not be yielded. Therefore it will not let us to calibrate all parameters at the same time. On the other side incomplete set of parameters will not lead to a perfect calibration. In order to reduce the effect of mentioned problem on limited parameters, two experimentally solutions are introduced. We constructed a new calibration field to capture more distant samples also the previous fitness function is changed as follows:

$$err(param_i) = s_i^2 + m_i \tag{1}$$

$$m_{i} = \frac{\sum_{j=1}^{n} \sqrt{(p_{observed,j}^{I} - p_{predicted,j}^{I})^{T}(p_{observed,j}^{I} - p_{predicted,j}^{I})}}{n}$$

$$s_i^2 = \frac{\sum_{j=1}^n (m_i - p_{predicted,j}^I)^T (m_i - p_{predicted,j}^I)}{n}$$

Where , is a point in the image coordinate system, , is calculated using back projection incorporating and is the total number of points. and 2 are the mean and variance of the error respectively. By using the variance our fitness function moderates the error of all samples. For future works we are trying to calibrate more parameters simultaneously.

Convolutional neural network for field boundary detection.
Convolutional neural network for field boundary detection.

3.2 Toward lighting invariance of vision system

According to the information released by technical committee of humanoid soccer league "All games and technical challenges may be held under natural lighting conditions" [4], This year we aim to change the design of our vision pipeline toward increasing accuracy and robustness of both detection and segmentation modules.

Constant changes of illumination in natural lighting conditions will challenge all vision pipelines based on static segmentation of colors, and therefore it may cause to unreliability of the methods such as erroneous thresholding and lookup tables. With this in mind and based on thrilling success of deep learning and convolutional neural networks in the past few years, we decided to investigate the possibility of designing the entire vision system based on convolutional neural networks. As a first step we limited the research by only detection of the boundaries of humanoid soccer field.

Regression of field area. We consider the problem of finding soccer field area as regression of five points which form a polygon that encompasses the field area. For this purpose we designed a custom base network that performs feature extraction. We also adopted two layers of fully connected neurons on top of the base network performing regression of the outputs. Input of the network are images in HSV color space, and the outputs of the network are five pairs of x, y coordinates relative to the size of the input image.

In order to train our network, we used a sum squared loss function on points with a regularization term penalizing sum squared of slope differences of polygon sides. We also used Adam optimizer for minimizing the cost function and exponential learning rate decay to avoid divergence of the model.

The method described in this section is promising as an initial result, and it performs a rather acceptable detection on new input data. It also extracts some general features; however, it is not yet enough accurate to be used for self-localization as shown. Due to this, we plan to investigate more complex structures in the model. The details of our further investigations are provided in section below.

Future investigations. Another representation of the problem is semantic segmentation of the field; therefore, we plan to explore the domain of fully convolutional neural networks to perform dense prediction on input images [5]. In addition, we will investigate higher resolution in input images, multiscale training [6], and batch normalization [7] as regularization and also we may use more complex structures like inception modules [8] and residual networks [9].

Convergence of the model for regression of field boundary.
Convergence of the model for regression of field boundary.
Result of filed boundary regression
Result of filed boundary regression

4 Active head control

Due to the limited field of view, our robot is not able to see every important observation with a specific head position. To avoid this problem, some teams have used cameras with wider field of view and some others have used cameras with higher fps so that the robot can move its head fast and observe all important things around. But our solution is to develop a new algorithm named Active Vision [10] in which the robot goes through some predefined actions and calculate the entropy of its world model after assuming each action. Then consequently choose the action that minimizes the entropy which is actually the uncertainty of a belief given by the Shannon entropy.

In order to calculate the entropy assuming an action, we have to determine the visible observations in the case of performing that action and then update our model based on the visible observations. For this, we project four corners of our camera image on the field using camera matrix and get points local to the robot. Using robot position (, , ) we can use a simple transformation to get four global points in the field. So we have four points shaping a polygon and describing the field of view of the robot used to determine the visible landmarks.

Choosing the next action just based on the position model (a population of Unscented Kalman Filters) entropy will not be useful because the robot importantly needs to see the ball. So for each action we incorporate a weighted sum of selfposition model entropy and the entropy of the ball model (the ball is absolutely more important). Using this method the robot acquired more observations as illustrated.

This active head action selection results in much more accuracy in selflocalization. Moreover a more accurate predictor for the visibility status can be trained using real data recorded from the robot using a simple neural network instead of determining it with assuming robot in ideal situations. Also we can control the head to manage things more than just ball and landmarks like other robots for our future work.

The visibility status of observations in different positions of robot. In the right image some observations are in the polygon that describes the field of view but they are not visible due to their large distance from the robot.
The visibility status of observations in different positions of robot. In the right image some observations are in the polygon that describes the field of view but they are not visible due to their large distance from the robot.

5 Motion Control

The walk stability of humanoid robots is one of the most important aim in Robocop competitions. For this reason, new feet have been designed to yield better performance in artificial grass and higher speed of walking.

Conclusion

In this paper we have presented the specifications of the hardware and software of MRL KidSize humanoid robot system developed under the RoboCup 2019 rules. MRL commits to participate in RoboCup 2019 in Sydney, Australia 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 some interested researchers and students modifying and optimizing the platform in vision, motion control, world modeling, behavior, and embedded control board.

Left: the state of head using active vision. Right: the state of head without using active vision.
Left: the state of head using active vision. Right: the state of head without using active vision.
_page_7_Picture_2.jpeg

References

  1. Upenn RoboCup, Code, available online. Available from: https://fling.seas.upenn.edu/~robocup/wiki/index.php?n=Main.Code.
  2. Allgeuer, P. and S. Behnke. Robust sensor fusion for robot attitude estimation. in Humanoid Robots (Humanoids), 2014 14th IEEE-RAS International Conference on. 2014. IEEE.
  3. Teimouri, M., et al., MRL Team Description Paper for Humanoid KidSize League of RoboCup 2018.
  4. 2019, T.C.o.R.H.L. Call for Participation RoboCup 2019 Humanoid League. 2018; Available from: https://www.robocuphumanoid.org/hl-2019/call-for-participation/.
  5. Long, J., E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. in Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.
  6. Redmon, J. and A. Farhadi, YOLO9000: better, faster, stronger. arXiv preprint, 2017.
  7. Ioffe, S. and C. Szegedy, Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167, 2015.
  8. Szegedy, C., et al. Going deeper with convolutions. in Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.
  9. He, K., et al. Deep residual learning for image recognition. in Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
  10. Seekircher, A., T. Laue, and T. Röfer. Entropy-based active vision for a humanoid soccer robot. in Robot Soccer World Cup. 2010. Springer.