AUTMan Humanoid KidSize Team Description Paper RoboCup 2014 Humanoid KidSize Robot League
Mohsen Tamiz, Ebrahim Bararian, Taher Abbas Shangari, Mojtaba Karimi, Faraz Shamshirdar, Mohammad Hosein Heydari, Majid Jegarian, Ali Torabi Parizi, Massomeh Jannatifar, Elham Iravani, Hossein Zabihi, Fatemeh Pahlevan Aghababa, Farzad Aghaeizadeh, Alireza Ahmadi, Saeed Shahmiri, Sepehr Behjou, Sourosh Sadeghnejad, Saeed Shiry Ghidary, Mohsen Bahrami
Humanoid Robotics Laboratory, Amirkabir Robotic Institute & Mechanical Engineering Department, Amirkabir University of Technology (Tehran Polytechnic), No. 424, Hafez Ave., Tehran, IRAN. P. O. Box 15875-4413.
Abstract This document introduces AUTMan Humanoid team for participating in Humanoid KidSize Robot League in RoboCup 2014 in Joao Pessoa, Brazil. After getting more experiences via participating in many competitions and placing 2nd in RoboCup 2013, Eindhoven, The Netherlands, being among teams of quarter final of RoboCup 2012 and also first rank of RoboCup IranOpen2012 and AUTCup2012 & 2013, AUTMan is getting ready to focus on new hardware design and software implementation in this year due to rule changes and long term humanoid league roadmap. We are also going to take part in roboCup2014 and also make a person, with sufficient knowledge of the rules, available as referee during the competition. A brief history of Team AUTMan and its research interests will be described. Future work based on the humanoid kidsize robots will also be discussed. Our main research interests within the scope of the humanoid robots are in a range from humanoid robust walking to accurate localization and to enable the robot to decide more wisely based on a knowledge base.
1 Introduction
Study of humanoid robots and their stability have been the focus of too many researches in the last decades. A perfect application for developing humanoid robots that can interact with humans is RoboCup. RoboCup is pursuing the goal which states "By the year 2050, develop a team of fully autonomous humanoid robots to win against the human world cup champion team" [1]. Amirkabir Robotic Institute and Mechanical Engineering Department of Amirkabir University of Technology have been remarkably participating in Humanoid League of RoboCup competitions from 2011. Placing 2nd in RoboCup2013, reaching to quarter final of RoboCup 2012, standing first place in IranOpen 2012 and also AUTCup 2012 and 2013, and by achieving experiences through participating in various national and international competitions, AUTMan is stepping toward new fields of study on humanoid robots. In this year, we changed our framework to ROS for making our robot more reliable and flexible. We also step toward a more analytical walking than our previous walking algorithm which could reach a high speed but low stability in previous competitions. In addition using ROS enables us to use a more complicated decision making stage based on a knowledge base which it is also used for more accurate robot localization.
AUTMan Humanoid Kid-Size Team has optimized his previous hardware regarding the new rules and also to the long term roadmap of humanoid league and will use new version of them for the upcoming competition in Joao Pessoa. This team description paper provides a brief overview of our relevant research since our participation in RoboCup competitions and of current works which are imminent to be used during the competitions.
2 Hardware Design
2.1 Mechanical
Mechanical structures of our new 2014 platforms are like 2013 with some modification on "AUTKid II" model. We also changed robots' height, electrical system and structure of hip and foot motors. We will use two new versions of kidsize robots. They will be 60cm and also 80cm tall. Both robots will have the same structural design as "AUTKid II".
AUTMan new robot kinematic structures are with 20 degree of freedoms (DOF) like previous years. The design is such that force us to use 6 degree of freedoms for each leg, 3 degrees of freedoms for each arm. Robots camera will be hold by 2 servo motors as a Pan-Tilt mechanism. Table 1 shows physical dimensions of the "AUTKid III & IV" robots.
The Dynamixel MX & RX series manufactured by Robotis will drive the robot joints [2]. We have used MX106 and RX64 series in leg joints and RX28 series in arms and neck. To reach high performance and save energy, our knee and hip motors are more powerful than the other joints. All our robots have the same mechanical structure; it will help us to design and construct each of the robots fast and enable us to use them in different applications without any difficultly.
Physical dimensions of the "AUTKid III & IV" robots
| Robot System | STP |
|---|---|
| Weight (kg) | ~3.90 & 4.5 |
| Height (cm) | 60 & 80 |
| Degrees of Freedom | 20 in total with 6 in each leg, 3 in each arm and 2 in neck |
| Actuators | MX-106, RX-64, RX-28 |
| Camera | Logitech C905 wide 2 MP - 640x480 @ 30 fps |
| Main Processor | MaxData QutePc3020 1.6Ghz dual-core intel processor, 2 GB DDR2 memory, SSD 40 GB |
| Operating System | Linux Ubuntu 12.04 |
| Battery | Li-Po 18.5 V 2000 mAh |
| IMU Sensor | 1x 3D IMU (CHRobotics - UM6-LT Orientation Sensor with ARM® M3 Processor for data filtering, up to 100Hz Output- (3D of Gyro, 3D Accelerometer, 3D Manometer)) |
| Pressure Sensors | 4x Pressure Sensor in each foot (FSR) |
2.2 Electronics and Sensors
For more compatibility and efficient sensor fusion, we adopt CM9.04 (OpenCM9.04 is an open-source controller that runs under 32bit ARM Cortex-M3 from ROBOTIS.co [3]) as a low level controller and device communication manager (DCM) in our robots. We also use USBzDXL as a direct motor controller for Dynamixels [4] actuators from main processor. CM9.04 is just used for sensor fusion (low level filtering) and user interface function. The CM9.04 controller working on 72MHz and communicates with upper layer (PC) on serial interface at 1Mbps. In lowlevel computation on this board, we drive 3 types of different sensors: Motion 9DOF IMU1 sensor, integrated foot pressure sensors based on FSR2 sensors, internal actuators load, speed and absolute position sensors for debugging mode. The CM9.04 runs lover-layer algorithms which can provide 3D posture of COM3 in Pitch, Roll and Yaw at more than 100Hz with high resolution of orientation by filtering and combination of internal gyro, accelerometer and manometer sensors of GY-80 IMU [5].
In "AUTKid III & IV" our new kidsize platforms, MAXData QutePC-3001 [6] mini embedded boards are used as a main controller. High performance and low power consumption are the main factor for using this kind of main boards as a main processor in humanoid robots.
3 Software Development
3.1 Motion
This year AUTMan team has changed his walking algorithm to a more analytical method. Inverted pendulum method is our base walking method. B-human team could adopt an inverted pendulum walking which diminishes double support phase and could reject some minor disturbance to keep inverted pendulum walk like [7]. Some optimizations have been done to the method are listed below:
1- There were some gaps between transmissions from straight walking to Omni directional walking in the paper. Since it was not certainly defined how the sufficient parameters (s, r, x, ̇) can be found in an Omni directional walking, so a cost function has been used and by optimizing in each parameter selection step, perfect parameter for the next walking step has been found. This cost function can be defined as below:
$$J = \frac{1}{2}w_1x^2 + \frac{1}{2}w_2(x - x_d)^2 + \frac{1}{2}w_3(s - s_d)^2$$
"r" always assume 0, which is the optimized parameter [7].
2- Together the disturbance rejection which was explained in the paper, we add a heuristic push recovery (the same as we were doing in the past) to increase the disturbance rejection capability.
In this part in addition to walking engine we also work on whole body controller which designs other motion activity for our robot.
3.2 Cognition
In cognition as previous, tasks are done in three successive layers. Each layer will feed the next one. It contains some modules which work parallel:
Segmentation Layer: In the first layer we process wide-angle YUV images from a Logitech C905. A set of random pixels are selected in YUV color space and a Lookup Table is constructed based on. This Look up Table is a mapping from YUV color space to a set of colors and assigns a class label to every pixel. Meanwhile, using kdtree similar pixels are categorized in labels and known color space grows faster. Then we segment the input image by these sets. It is worth mentioning that the Lookup Table will improve performance dynamically. The output of this layer is shown in Figure 4.
Feature Extraction Layer: In this layer, at first, moments of every region are calculated. Then these moments are used to measure region's features like eccentricity. Afterwards we determine the green horizon by generating vertical lines at first. By doing so we conquer the processor limitations because we look for the post goal above the green horizon and look for the ball, the robots and other clues under the green horizon. As is shown in Figure 5. In the ball detection process, Newton-Taubin algorithm is used to calculate Curvature of the objects [8]. We find the green horizon by applying a simple optimal output-sensitive algorithm named Chan's algorithm which takes ( ) time [10].
Another module processes segmented image to locate the field objects. It does a color transition level operation. To generate color transitions, each pixel along each scan line is considered, and wherever the color class label of a pixel differs from that of the previous adjacent pixel, a transition is generated. Then we use the image coordinates of each transition to determine the start color class label and end color class label.
Object Recognition Layer: There, we down sample the segmented image. Then we detect the potential field objects like ball, goal-posts, field lines, corners, T-junctions, x-crossings, obstacles, utilizing color, and size and shape information [9]. Afterward by inverting the projective mapping from field to image plane distance and angle to each detected object is estimated [12].
As localization is one of the important modules every robot needs, we chose to use the wire stack. It generates and maintains consistent world model by feeding the detections from perceptions. Also, it does the data association by considering multiple hypothesis and tracking of multiple object attributes [11].
3.3 Robot Navigation
Every robot in dynamic environments needs path planning and navigation based on the planned path. Humanoid robots navigation has some more difficulties in comparison to other mobile robots due to their bipedal walking.
J. Garimort and A. Hornung have solved the challenges by implementing footstep planning and navigation algorithms for humanoid robots [12-13]. We use footstep planner package for navigating and finding the optimal path with the map providing the obstacles positions as it is shown in Figure 6. The map is provided by the localization module. The planner is based on SBPL and capable of dynamic re-planning. The supported planners algorithms are: , , . As the foot parameters differ for each robot, we changed the parameters to meet our new built robots' configuration. So, they plan path based on new parameters.
4 Conclusion and Acknowledgment
This report described the future technical plans and works done by the AUTMan Humanoid KidSize Robot Team for its entry in the RoboCup2014 humanoid kidsize League which has been supported by Amirkabir Robotic Institute and Mechanical Engineering Department of Amirkabir University of Technology (Tehran Polytechnic). AUTMan team's focus for the fourth year of RoboCup competition has been on developing localization, motion behavior, and vision module due to our past and relevant experiences in various RoboCup leagues which will be appropriate in humanoid kidsize league and can be useful by doing some changes. We look forward to continuing and expanding our above researches with the new humanoid robots. For further information and to be familiar with our previous and new publications and recent activity done in the humanoid community and for seeing more pictures and videos, please see our official website.
References
[1] AUTMan team members,: AUTMan Humanoid Kis-Size Robot League Team Description Paper, RoboCup2013, Eindhoven, The Netherlands, (2013). [2] www.robotis.com. [3] ROBOTIS. (2013). OpenCM9.04. Available: http://www.robotis.com/xe/darwin\_en. Last accessed 28th January 2014. [4] ROBOTIS. (2013). Dynamixel Actuator. Available: http://www.robotis.com/xe/dynamixel\_en. Last accessed 25th January 2014. [5] Arduino. (2013). GY-80 10DOF module, nine-axis attitude instrument, L3G4200D ADXL345 HMC5883L BMP085 module. Available: http://arduino.cc/en/. Last accessed 25th January 2014. [6] QuanMax. (2013). QutePc-3001 Embedded Pc. Available: http://www.quanmax.com.cn/en/products-detail.php?num=43. Last accessed 25th January 2014. [7] C. Graf and T. Röfer, "A center of mass observing 3D-LIPM gait for the RoboCup Standard Platform League humanoid," in RoboCup 2011: Robot Soccer World Cup XV, ed: Springer, 2012, pp. 102-113. [8] G. Taubin, "Estimation of planar curves, surfaces, and nonplanar space curves defined by implicit equations with applications to edge and range image segmentation," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 31, pp. 3311-3331. [9] H. Schulz and S. Behnke, "Utilizing the structure of field lines for efficient soccer robot localization," Advanced Robotics, vol. 26, pp. 1603-1621, 2012. [10] T. M. Chan, "Optimal output-sensitive convex hull algorithms in two and three dimensions," Discrete & Computational Geometry, vol. 31, pp. 111-113. [11] J. Elfring, S. Van Den Dries, M. Van De Molengraft, and M. Steinbuch, "Semantic world modeling using probabilistic multiple hypothesis anchoring," Robotics and Autonomous Systems, 2012. [12] Bertozz, Massimo, Alberto Broggi, and Alessandra Fascioli. "Stereo inverse perspective mapping: theory and applications." Image and Vision Computing 16.8 (1998): 585-590. [13] A. Hornung, A. Dornbush, M. Likhachev, and M. Bennewitz, "Anytime search-based footstep planning with suboptimality bounds," in Proc. of the IEEE-RAS Int. Conf. on Humanoid Robots (Humanoids), 2012. [14] J. Garimort and A. Hornung, "Humanoid navigation with dynamic footstep plans," in Robotics and Automation (ICRA), 2011 IEEE International Conference on, 2011, pp. 3982-3987.