Phoenix: Team Description Paper
Nattapong Kaewlek, Ammart Butsongka, Anon Poungrat, Komkrit Thipgesorn, Sathit Wanitchaikit, Arbtip Dheeravongkit
Institute of Field Robotics (FIBO) King Mongkut's University of Technology Thonburi (KMUTT), 126 Pracha u-tid Rd, Bangmod, Thungkru, Bangkok 10140, Thailand
Abstract This paper explains the system of our RoboCup 2011 Humanoid League team, kid size. The locomotion software is implemented in our humanoid robot to achieve a fast dynamic walk. We implement a vision based navigation scheme that can give accurate visual tracking. Our bipedal robot can autonomously traverse the game field while recognizing the target (colored ball) and environment objects (goal, side poles, and game field) and execute the actions according to the appropriate decision.
1 Introduction
Phoenix is a branch of Team KMUTT which has been participated in RoboCup Humanoid League since 2005. The team consists of new freshmen and graduated members who still interest in the robot soccer competition. Fig 1 shows our robot.
In order to win robot soccer game, a robot must move fast, plan ahead, and response to the game situation in real-time. Our robot is adopted from TeamKMUTT 2010. In this paper, we will describe our humanoid robot system for the competition. The main focus of this paper explains the overview system which consists of robot structure, vision based navigation, and decision making systems.
2 System Overview
This section describes the hardware used in our humanoid robot. Fig 2 shows the overall system which consist of mechanical hardware, sensors, and computing unit. The mechanical hardware is composed of robot structure and motors. The structure is made from aluminum alloy sheet metal. The robot motion is driven by 21 RS485 networked servo-motors.
There are two kind of sensors installed on the robot, balancing and perception. For balancing, there are 2-axis accelerometers (±2g) and 3 rate gyros sensors (100 deg/sec). The accelerometer is used to indicate falling down state of the robot. The three rate gyros measure angular velocity in three axes of rotation. These velocities corporate with measurement from accelerometer are used together to estimate the robot body angle. The estimation is done by implementation of Kalman filter. The body angle and the angular velocities are used to adjust the attitude of the body during walking.
For perception, a single USB web-camera is used as main device. The camera resolution is 320 x 240 pixel² with the horizontal field of view at 60 degrees. The operation range of head pan-tilt is -120 to 120 degrees in panning and 10 to -80 degrees in tilting. This device is used to search for the ball and other objects of interest, such as side poles and goal columns. This visual information is used for navigation and decision making.
The computing unit of the robot is an embedded computer of PICI-ITX platform. The main processor is Intel Atom TM Z530 (1.6GHz). All high level processing stuffs, such as vision and game plan, are handled by this computer. All desired movement actions will be sent to locomotion unit which control all motors via RS485 network. The processor on locomotion unit is ARM7 processor (60 MHz RISC microprocessor). This processor handles for trajectory control of all motors to generate motion and walking gait as requested by the main computing unit.
3 Robot Structure
The body and structure of the robot are built from aluminum metal sheets. The motion of the robot is generated by 21 servo-motors (6 for each leg, 1 for trunk, 3 for each arms, and 2 for head). Fig3 illustrate the robot structure.
4 Vision Based Navigation
In order to acquire objects information during the game play, the robot must have an ability to recognize each object in the competition field and an ability to locate the positions of all objects including their movement. These can be achieved by implementing vision based navigation system which consists of two parts, the object recognition and object observation. After this information is known, the robot can determine an appropriate action to play the game.
4.1 Object Recognition
According to the rule, each object in the field is assigned a specific color which clearly distinguish from other objects, thus the recognition can be done by focusing on the color classification. To do this, the robot implements the color segmentation technique which has been used in TeamKMUTT's vision system, color scoring approach [1].
Generally, color segmentation is done by using hard threshold on every pixel value of an image in a traditional color space, for example RGB, YUV, or HSV. The pixels which have their values according to the threshold range of a color class are given a score 1 and classified as members of that color class. Otherwise, the score is 0 and classified as the non-member of the color class. Fig 4 illustrates this kind of classification.
Instead of doing above approach, the color scoring approach uses relation among each color channel value and fuzzy concept to compute a score for each pixels as shown in Fig 5. The scores of each color channel are defined between 0 and 1. The membership to the color class is the product of score of its channels. Fig 6 present the test result of the color scoring approach compare to the HSV thresholding approach for ball color segmentation.
4.2 Object Observation
After identifying all objects of interest in the scene, their positions reference to the robot are computed. This process assumes the camera is well calibrated, so the intrinsic and extrinsic parameters of the camera installed on the head pan-tilt unit is obtained and the robot knows the head pan and tilt angle of each scene.
To compute the angle to object from robot reference, the horizontal pixel position of the object centroid in the scene is converted to the angle deviation for the center of the scene. Next, this deviation corporate with the head pan angle is used to compute the object angular position referenced to the robot reference. To compute the distance to an object, the head tilt angle associated with the known height of the robot is used to compute the distance. Fig 7 and 8 shows the concept of the object position finding.
5 Decision Making System
All information from the vision system is fed to the decision making system or AI system to find proper actions along the game play. The system can be illustrated by the state diagram as shown in Fig 9.
6 Conclusion
This year is the first year of this team, but it is not the first year of the development. We have tried to improve system of TeamKMUTT 2010 to obtain better performance. Not only mechanical improvement, we are still focus on improvement to obtain smarter system and more robot system which enabling the robot to work on real environment
References
- Laowattana D., et al.: Team KMUTT, Team description paper. RoboCup 2010, Humanoid League (2010)
- Laowattana D., et al.: Team KMUTT, Team description paper. RoboCup 2009, Humanoid League (2009)
- Laowattana D., et al.: Team KMUTT, Team description paper. RoboCup 2008, Humanoid League (2008)
- Kulvanit, P.: Design and Realization of bipedal walking robot with optimal fast gait. Ph.D. dissertation, King Mongkut's University of Technology Thonburi , 2007
- Kulvanit, P., Srisuwan, B., Laowattana, D.: Optimum Performance of the Fast Walking Humanoid Soccer Robot: Experimental Study, International Conference on Climbing and Walking Robots, CLAWAR, 2007
- Sawasdee, W., Kulvanit, P., and Maneewarn, T., "Locomotion Contrl Scheme for Fast Walking Humanoid Soccer Robot", International Conference on Climbing and Walking Robots, CLAWAR, 2007