Baset Teen-Size 2014 Team Description Paper
Hafez Farazi, Mojtaba Hosseini, Vahid Mohammadi, Farhad Jafari, Donya Rahmati, Dr. Esfandiar Bamdad
Humanoid Robotic Laboratory, Robotic Center, Baset Pazhuh Tehran cooperation. No383, Jalale-ale-ahmad Ave., Tehran, IRAN. P. O. Box 14636-75871.
Abstract This document introduces Baset Humanoid team for participating in Humanoid Teen-Size Robot League in Robocup 2014. Our humanoid Teen-size team is mainly based on some of our team members previous developments and experiences in AUTMan 2013 [1] team which ranked second in RoboCup 2013 (Eindhoven, Netherland) and team Parand 2013 teen-size team which ranked 1st in Iranopen 2013. Our main research interests within the scope of the humanoid robots are robust realtime vision and object recognition, localization, navigation, and human interaction.
Key Words: Robocup 2014, Humanoid, Vision, Localization, Path Planning, walk engine.
Introduction
Baset Teen-Size is a humanoid robot team participating in Robocup 2014. This team is formed based on the former members of team AUTMan 2013 [1] and team Parand 2013. In Baset Pazhuh Tehran cooperation, which is a well-known company in electronic devices, a new R&D section has been created in order to study some advanced robotics subjects like: biped locomotion, human interaction, multi robot cooperation, etc. The goal of this section is to build some advanced robot that will be useful in many research laboratories, universities, and even industries. In Iranopen 2014 Baset Team ranked 1st in Teen size league and 2nd in Kid size league.
Hardware and Electronics
Baset Teen-Kid platform Mechanical structure, which is depicted on Figure 1, is based on some of our current member's previous developments and experiences in team Parand 2013 which was taken from Darmstadt Dribblers' Hajimi structure [2] and Nimbro-OP [3] structure. Some improvements were made to Parand 2013 structure and the major ones are listed below:
- Dimensions of the foot is been reduced so that foot area satisfies H²/42 and the robot could participate in both kid and teen leagues.
- Some leg parts were improved so that the robot can stand up and sit down with minimum force on the knee joint.
- Some pieces are been improved for more strength and reduce the total weight.
- Hip yaw actuators are been relocated to inside of the body.
There have been used 6 actuators on each leg, 3 on each arm and 2 in the neck. The actuators in the neck are the fastest ones. The Robot Configuration is been shown in Table 1.
The robots shared the same hardware structure and the same electronics circuits in order to ease the production process and to be able to use the same software configuration on each of them.
In order to have a sense of stability on the robot, there has been used a 9-DOF IMU sensor which is produced by one of our team member using RMG-146 as the raw sensor input. This product is available on the market with GN-MPU trademark [5]. This Board is shown in Figure 2.
As the Main processor uses a soft-real time operating system, a central board has been designed and produced by our team, which reads the actuators' information in 100HZ using multiple communication port for each limb. This Board is depicted in Figure 3. There is a closed-loop controller on this board, which controls each actuators in desired position. This board provides us a table of every required information about all the actuators which is been using for calculating Forward kinematics [6].
Hardware Configuration
| Robot System | Baset |
|---|---|
| Weight | ~6.8 KG |
| Height | 84 CM |
| DOF | 20 |
| Actuators | Mx-106, Mx-64, Mx-28 |
| Vision System | Logitech C905 640x480 @ 30 fps |
| Processing unit | Quan max Core-I 1.8GHz [4], 2 GB DDR3 memory, 64 GB SSD |
| OS | Windows 8.1 |
| Battery | Li-Po 11.1 V 5000 mA |
Motion and Control
Developing a fast and stable walk engine and easy to develop static motion designer is the main concern in this module. Our walk engine is Omni-directional and working in different speeds.
This module is a new development from scratch on the foundation of our written Motion and control module at Team AUTMan 2013 [1]. The major improvement of this module is using a trajectory learning approach that was trained on NAO robot in simulation [7]. Figure 4 depicted one of the best generated trajectory.
After the learning period, the generated trajectory is tuned by hand and is been used on Baset robots. Beside of the trajectory generator in walk engine there is a stabilizer unit. The main purpose of this unit is to increase the walk speed of the robots without decreasing its stability. To achieve this purpose a push recovery method is been used to avoid external forces affecting robot's stability, this feature plays an important role to keep robots standing when colliding to the other robots.
This module provides some outputs like forward kinematics of all joints for other modules including perception. This forward kinematic calculation is done using the new central electronic circuit (Figure 3) and DH algorithm. Besides extrinsic camera matrix is calculated in this module.
After each gait step, this module provides odometry data for localization module.
Perception
In team Baset we have written a new code from the memory of our works in Team AUTMan 2013 [1] which was developed by our current members. As the main perception sensor in humanoid league is the camera, and as in this year of competition, all field features and landmarks are color-coded, our team designed an intelligent growing color table using the HSV color system. By using a simple contour detection algorithm [8] [9] on binary images, we extract ball and goals from the captured image. One of the most important features for localization, are lines so first the image is binarized using the color table, second a field boundary is calculated, then the greenwhite-green points are extracted from the binary images finally a customized low computational cost method using RANSAC algorithm [10] is been used to extract line segments. After extracting line segments some features, including X feature (which is a two crossing segments), T feature, and L features, could be detected using the calculation of exterior line angle. For camera calibration process, we use the chessboard calibration method provided by OpenCv [11].
To locate each object in real self-coordinating system, we need the DH parameters and extrinsic camera matrix provided in real time by motion module [3.1].
Localization
A good and robust localization method is the key to succeed in humanoid league. We had implemented and tested many localization techniques including Kalman filter and Auxiliary Particle filter in team AUTMan 2013 [1] but finally we decided to use a Sample importance resampling method due to its simplicity and low computational cost. We solve the localization problem by using 110 particles, which are remain by the probability proportional to their weights. For calculating each particles weight, we use a Gaussian function on distance and orientation [12].
To solve the global localization problem with solving kidnaped robot problem, we use sensor reset technique [13] and we spread 10 random particles in the field [1]. For tracking robots position, we use the dead reckoning data provided by the motion module [3.1]. Localization output is depicted in Figure 5.
Auto Positioning System
As in the Robocup 2014 rules [14], some penalties were assigned to team with manual positioning, the auto positioning module were developed in order to not only take advantages of the rules but also providing us some options to modify the game strategy for example a defender could position itself on a location that the attacker could pass the ball.
Path Planning
One of the best and simple algorithm that have a minimum computational cost in soccer field is Artificial Potential Field algorithm, this algorithm makes use of some repulsive and some attractive forces. In order to avoid collision between a robot and the other robots, we use APF method [15].
Our Path planning Module is written again on the foundation of our previous developments and experiences in Team AUTMan 2013 [1] with some improvements:
- 1- In the former Path planning module [1] only the nearest obstacle was considered, by improving that all obstacles are taken into consideration.
- 2- As in the previous module [1], a 2D Gaussian model were used and the Gaussian model is working properly when the obstacle's positions could detected accurately (this could not be done in a highly dynamic environment like Robocup Soccer using only mono-vision), in team Baset the Minkowski sum [16] is been used to increase the area of obstacles.
- 3- A random walk [17] approach is been used in order to avoid trapping in local minimum.
References
[1] Hafez Farazi, Mojtaba Karimi, Mojtaba Hosseini, Majid Jegarian, Donya Rahmati, Farzad Aghaeizadeh, Soroush Sadeghnejad and Dr. Saeed Shiry Ghidary, "AUTMan Humanoid Team Description Paper," 2013. [Online]. Available: http://application2013.germanteam.org/upload/436773f982ec583c78540924887e786bd585b83e/2013%20AUTMan%20Humanoid%20Team%20Description%20Paper.pdf. [2] J. Kuhn, S. Kohlbrecher, K. Petersen, D. Scholz, J. Wojtusch and O. von Stryk, "Darmstadt Dribblers Team Description for Humanoid KidSize League of RoboCup 2012," 2012. [Online]. Available: http://application2012.germanteam.org/upload/99ea768df22e9e05cc9d7eb3910fb7cb04e4260b/TDP2012_DD.pdf. [3] "Nimbro-Op Official we site," University of Bonn, [Online]. Available: http://www.nimbro.com. [Accessed 6 2 2014]. [4] "MaxData Co.," [Online]. Available: http://www.maxdata.de. [5] "Pishrobot Official website," [Online]. Available: http://www.pishrobot.com/products/roboard.htm. [6] Hartenberg, Richard S and Denavit, Jacques, "Kinematic synthesis of linkages," McGraw-Hill New York, 1964. [7] Hafez Farazi, Farzad Ahmadinejad, Farhad Maleki and M.E Shiri, "Evolutionary approach for developing fast and stable offline humanoid walk," AI & Robotics and 5th RoboCup Iran Open International Symposium (RIOS), 2013, April 2013. [8] Suzuki, Satoshi, "Topological structural analysis of digitized binary images by border following," Computer Vision, Graphics, and Image Processing, 1985. [9] "OpenCv Official Documentation site," [Online]. Available: http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=findcontours#findcontours. [10] Bolles, Martin A. Fischler and Robert C., "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography," 1981. [11] "Camera calibration With OpenCV," [Online]. Available: http://docs.opencv.org/doc/tutorials/calib3d/camera_calibration/camera_calibration.html. [12] H. Strasdat, M. Bennewitz, , S. Behnke, and S. Behnke, "Multi-cue localization for soccer playing humanoid robots," 10th RoboCup International Symposium, 2006. [13] Coltin, Brian and Veloso, Manuela M, "Multi-Observation Sensor Resetting Localization with Ambiguous Landmarks.", 2011. [14] [Online]. Available: http://www.informatik.uni-bremen.de/humanoid/pub/Website/Downloads/HumanoidLeagueRules2014-01-10.pdf. [Accessed 2 5 2014]. [15] O. Khatib, "Real-time obstacle avoidance for manipulators and mobile robots," The international journal of robotics research, vol. 5, pp. 90--98, 1986. [16] T. Lozano-Perez, "A simple motion-planning algorithm for general robot manipulators," Robotics and Automation, 1987. [17] X. a. K.-C. T. Yun, "A wall-following method for escaping local minima in potential field based motion planning.", Advanced Robotics, 1997.