MRL Team Description Paper for Humanoid TeenSize League of RoboCup 2018
Meisam Teimouri, Alireza Fatehi, Hamed Mahmoudi, Soheil Khatibi, Alireza Mohafezatkar, Bita Alaee, Saeed Tafazol, Saeed Bazargan, Alireza Karimi, Mohammad Rahmani
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 TeenSize 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 2018 rules to participate in the TeenSize humanoid soccer league competition in Montreal, Canada and 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.
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 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 2017. 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 KidSize league of RoboCup and IranOpen competitions are as follows:
- RoboCup 2012, 2013, 2014, and 2017: reach quarter final in main competition. In 2017 we took first place in technical challenge competition.
- IranOpen 2013 and 2017: take first place and second place in 2013 and 2017 respectively.
This year we are planning to participate in the TeenSize humanoid competition at RoboCup 2018 in Montreal, Canada. Our mission is to fulfill our study in motion control, vision, world modeling, and artificial intelligence.
MRL Humanoid team consists of some researchers and students from software, hardware, electronics, and mechatronics.
Overview of the System
Viyana is our new humanoid robot with 20 degree of freedom. It is 89 cm tall and weighs about 6.8 kg. All joints are equipped with Robotis Dynamixel MX series actuators. We have used six Dynamixel MX-106 for each leg, three Dynamixel MX-64 for each arm and two Dynamixel MX-28 in neck and head. The robot is powered by a 3- Cell, 3200mAH LiPo battery. Power management and actuators data streaming is done by our own made Controller Board (HSL-CB shown in Fig. 2) and an Intel NUC is used as the main processing unit. Visual perception is done by a Logitech C920 normal webcam with 78° field of view. All mechanical parts of the robot are made of aluminum alloy 7075. We manufactured robot components by utilizing CNC Milling in order to increase accuracy.
The processing unit of controller board is based on an ARM STM32F405VE microcontroller which is designed to communicate with both T and R Dynamixel series at the same time. This board is equipped with 2 inertial sensors (gyroscope and accelerometer) and is in charge of three different tasks:
- Data streaming according to each line protocol (RS485 or TTL).
- Sampling inertial sensors, fusion them, and estimating trunk roll, pitch and yaw, according to [1].
- Handling power distribution and stabilizing voltage for each chain of motors.
Our developments for the TeenSize humanoid robot include the design and construction of modular software architecture based on the UPennalizers RoboCup released code [2]. The software contains visual perception, autonomous motion and walking controller, self-localization and communication. The project is still in progress and some developed methods are described in the current report.
Robot Vision
Vision is one of the most important interfaces for robot perception. The main vision sensor is a camera that is located in the robot's head. At the first step, we use V4L2 driver to grab the image in YUYV format. Then a color segmented image is constructed using a pre trained lookup table. 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.
Camera calibration
Camera is the main source of environment observations in a soccer playing humanoid robot. All interested objects in the field of play are detected using this sensor. To make an accurate world model a robot needs to estimate distance of the objects relative to an egocentric coordinate system. A typical method to calculate the distance is back projection that converts a 2D point from image coordinate frame to a 3D point on the robot coordinate system. In this method the relation between these two points is described usually by the Pinhole camera model [3]:
$$\mathbf{p}^{I} = \frac{1}{z_{c}} A \times B \times \mathbf{p}^{R} \qquad A = \begin{bmatrix} \frac{f}{s_{x}} & 0 & u_{0} & 0 \ 0 & \frac{f}{s_{y}} & v_{0} & 0 \ 0 & 0 & 1 & 0 \end{bmatrix}, \ B = \begin{bmatrix} R_{3\times3} & T_{3\times1} \ 0 & 1 \end{bmatrix}$$
where and are intrinsic and extrinsic camera parameters respectively. In matrix, focal length is specified by in pixel unit and, are the horizontal and vertical scales of a pixel. The point ($u_{0}$, $v_{0}$) determines the center of image plane. is a homogeneous transformation matrix that maps a point described in robot coordinate system to a point in camera coordinate frame. Also is the component of that is expressed on the principal axis of the robot camera.
Considering a 2D point in image plane, to get, there exists an infinite set of points on a ray connecting the camera center and that projected to the same point. However we know that all desired objects are located on the field. So to get a unique point the intersection of the ray and field is calculated.
Manufacturing and aligning the camera lens, introduce some radial and tangential distortion that should be corrected. These imperfections are more critical on low cost cameras. To obtain radial, tangential and intrinsic parameters we have employed the Matlab camera calibration toolbox. Also matrix has significant affect on distance calculation. This matrix is derived from forward kinematics of our robot. Any bias in joints, robot manufacturing and assembling can make this matrix far from the true matrix. To calibrate the parameters that contribute on matrix, we have implemented an approach based on the particle swarm optimization (PSO). First we capture many corner points of a chessboard marker located in some different kwon positions relative to the robot. Then we try to discover a set of parameters that minimizes below function:
$$err(parm_i) = \sum_{j \le n} (p_{observed,j}^I - p_{predicted,i}^I)^2$$
where n is the number of captured points and $p_{predicted,i}^{I}$ is calculated using back projection incorporating $parm_{i}$. The result of our method is shown in Fig. 3. To accelerate the calibration process we are developing a more automatic approach that optimizes all parameters simultaneously [4].
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 in KidSize robot we have proposed a new algorithm based on the particle filter and Adaboost classifier. The algorithm can be divided in two steps. At the first step some random particles are generated using the particle filter and at the second step the particles are validated using a ball template and an Adaboost cascade classifier. The results of our ball detection algorithm show that it can detect the ball robustly at a distance of about 2.5 meter.
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.
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. Last year we have implemented a hybrid method based on the MCL and the UKF as described in [5]. The key idea of this method was 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. The efficiency of our localization method is evaluated in some experiments [5].
Motion Control
A lot of studies of biped locomotion have been conducted worldwide to know the dynamical behavior of the robot.
Dynamic model
A lot of studies of biped locomotion have been conducted worldwide to know the dynamical behavior of the robot. Using the full nonlinear dynamics of a humanoid robot is a complex subject, therefore we assume the simplified model known as LIPM [6] illustrated in Fig. 4 (Left) which have some constraints:
- All of the mass of the robot is concentrated at CoM.
- The CoM height remains constant, it means that we only consider sagittal and frontal motion of the robot, neglecting vertical motion
- The rate of change of angular momentum is zero
The dynamics of the upper body, particularly the torso and arms, can play an important role during robot walking. Therefore we are developing a new model called LIPM with Flywheel depicted in Fig. 4 (Right) that considers generated torque around the CoM.
Push recovery
Fall avoidance during walking is one of the most important factors of stability. When a humanoid robot face off against various disturbances such as collisions and pushes during walking or standing, it should be coped with these disturbances as soon as possible. To address the stability we have designed a controller in the Matlab Simulink software consisted of three PD controllers that controls the position of ankle, knee and hip joints (Fig. 5 Left). The Ziegler-Nichols closed loop method is used to get controller gains. A 3-links model is used as the dynamic model of the controller as shown in Fig. 5 (Right). The angular position of the robot trunk is used for the controller feedback. To estimate the angular position, Viyana uses a 6-axis Inertial Measurement Unit (IMU) that is attached in the torso, near the CoM point of the robot. When the disturbance exceeds a predefined threshold, the robot start to recover itself by the ankle-knee-hip strategy that decrease the risk of losing controllability.
The experiments on our robot demonstrate that this strategy is proper for fall avoidance. A similar controller was designed in MRL-HSL KidSize robot, which won the push recovery challenge in RoboCup competition 2017.
Standup motion
Stand-up ability is an essential motion for a humanoid robot due to the fact that a fallen robot could not complete the given tasks. This year we are implementing a new standup motion using reinforcement learning algorithm [8]. In the previous method, our robot always follows a specified sequence of motions that was achieved by experience. In order to implement the new method first, a lot of samples are generated from several fallen states by performing random motions. Then, to decrease the samples, Expectation-Maximization algorithm is employed. Finally, q-learning is applied to find out a sequence of the samples that is optimal with respect to power consumption and actuators' load. Implementing this method on a real robot is not feasible so, we modeled our robot in Webots simulator as depicted in Fig. 6.
Conclusion
In this paper we have presented the specifications of the hardware and software of MRL TeenSize humanoid robot system developed under the RoboCup 2018 rules. MRL commits to participate in RoboCup 2018 in Montreal, Canada 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.
References
- P. Allgeuer and S. Behnke, "Fused angles: A representation of body orientation for balance," in 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2015, pp. 366-373.
- Upenn RoboCup: Code, available online: https://fling.seas.upenn.edu/~robocup/wiki/index.php?n=Main.Code, retrieved Jan 2013.
- L. Deng, G. Lu, Y. Shao, M. Fei, and H. Hu, "A novel camera calibration technique based on differential evolution particle swarm optimization algorithm," Neurocomputing, vol. 174, pp. 456-465, 2016/01/22/ 2016.
- D. Maier, S. Wrobel, and M. Bennewitz, "Whole-body self-calibration via graph-optimization and automatic configuration selection," in 2015 IEEE International Conference on Robotics and Automation (ICRA), 2015, pp. 5662-5668.
- 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), 2016, pp. 127-132.
- S.-J. Yi, B.-T. Zhang, D. Hong, and D. D. Lee, "Whole-Body Balancing Walk Controller for Position Controlled Humanoid Robots," International Journal of Humanoid Robotics, vol. 13, p. 1650011, 2016/03/01 2016.
- B. Stephens, Push recovery control for force-controlled humanoid robots: Carnegie Mellon University, 2011.
- H. Jeong and D. D. Lee, "Efficient learning of stand-up motion for humanoid robots with bilateral symmetry," in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2016, pp. 1544-1549.