Persia Humanoid Robot

S.H.Kasaei, S.M.Kasaei, M. Ghobadi, O. Godarzi, S.A.Kasaei, M.Taheri, M.Rahimi, H.Vahiddastegerdi, M.Saeidinezhad

Institute of Robotics and Intelligent Systems, Khorasgan Azad University, Isfahan, Iran

http://www.IranAdro.com/Humanoid_index.htm


Abstract This paper presents an overview of our kid size humanoid soccer robot and wants to give a general description of our system for the RoboCup competitions to be held in Graze, Austria 2009. We have tried to focus on areas such as mechanical structure, Image processing unit, robot controller, Robot AI and behavior learning. This year, our developments for the Kid size humanoid league include: (1) the design and construction of our new goalie and attacker robots (2) the design and construction of a new hardware and software controller to be used in our robots. The project is described in two main parts: Hardware and Software. The software is developed a player application which consists walking controller, autonomous motion robot, self localization base on vision and Particle Filter, local AI, Trajectory Planning, Motion Controller and Network. The hardware consists of the mechanical structure and the driver circuit board. Each robot is able to walk, fast walk, pass, kick and dribble when it catches the ball. The project is still in progress and some new interesting methods are described in the current report.

1 Introduction

The robot soccer games are used to encourage the researches on the robotics and artificial intelligence. RoboCup chose to use soccer game as a central topic of research. The goal of RoboCup is "By the year 2050, develop a team of fully autonomous humanoid robots to win against the human world cup champion team." There are many leagues in the competitions of the robot soccer games. In the humanoid league, many technology issues and scientific areas must be integrated to implement the humanoid robot, such as mechanics, electronics, control, computer science, and semiconductor. Besides, the research technologies of humanoid walking control, autonomous motion, vision and AI system, kicking and shooting ball will be applied [1- 10].

In order to let the robot can autonomous play a soccer game, three basic skills are designed and implemented on it: image understanding for environment perception, move ability, and artificial intelligence. In order to let the robot have a high ability of environmental detection, a camera and array of sensor are equipped on the body of the implemented robot to obtain the information of the environment to decide an appropriate action. We used available personal digital assistant (PDA) for processing vision and higher level reasoning and brain of our robot. A control board with an ATMEGA128 microcontroller is mainly utilized to control the robot. Many functions are implemented on this system so that it can receive the vision signal obtained by the camera via a SD port and process the data obtained by gyroscopes and the digital compass. It also can process the high level artificial intelligence, such as the navigation. The humanoid robot is designed as a soccer player so that the implemented robot can walk, turn, and shoot the ball. This document describes the current state of the project as well as the intended development for the Robocup competition.

Photograph of the implemented Persia humanoid robot
Photograph of the implemented Persia humanoid robot

2 Mechanical Design

The photograph of our robot is shown in Fig.2. Persia robot includes motion mechanism, Shooting and dribbling mechanism. This is designed to have a multi-purpose capability. This robot is equipped with main board for motion control, camera, other balancing sensors, servo motors and some user interfaces such as switch and LED. Fig.2 shows picture of the robot and overview of the Persia humanoid robot control system.

Our robots perform high mobility and stability. The maximum speed is approximately 0.25m/s. It can also walk to any direction and targeting smoothly. For stable walking, we use an acceleration and gyro sensors. The acceleration sensor is also used to detect falls. In our robots we use two processors; one is used for motion control and receives data from gyro and acceleration sensors via A/D converter, and another is used for image recognition, behavior determination and so on.

(a) Our Humanoid soccer robot, (b) Overview of the Control System
(a) Our Humanoid soccer robot, (b) Overview of the Control System

3 Robot Software

In soccer game, for example, the robot searches a ball and two goals, and moves to its desired location with avoiding many obstacles, therefore we developed our humanoid robot software in Visual C++ and robot software is divided into four sections: vision, artificial intelligent, behavior engine, and motion control (actuation).

The processes running on the PDA
The processes running on the PDA

3.1 Image processing

One of the primary tasks for the vision system is to locate a particular goal and calculate the robot's position in relation to it. Utilizing a camera, each time the personal digital assistant (PDA) on each robot performs the processing of the current frame and calculates the position of the robot. It also determines the position and position of the opponent robots as well as the position and velocity of the ball. The image-processing algorithm first filters the image by using a table for labeling the colors (Color Adjustment) then recognizes the contiguous regions through either a BFS or a DFS search algorithm and finally extracts the necessary information like: self-localization, ball, and goal and opponent robot position by looking in the Image. Sometimes for better image processing the RGB color space is converted to HSL (Hue, Saturation and Luminance). To recognize a certain color, a combination of conditions on Hue, Saturation and RGB is used. This procedure makes the color recognition independent from the change of brightness and other unpredicted conditions. We are trying to evaluate new methods to find some kinds of objects based on pattern recognition to reduce the effect of changing the colors on algorithm. The image processor receives its data through CF port connected to a camera with the speed of 15 frames per second. The camera sends frame buffer to the Personal digital Assistance (PDA). The PDA processes the buffer data to detect positions of ball, robots and landmarks. After this section, AI unit selects a next behavior. In fact the behaviors are complex task like getting ball, targeting and isn't a body simple move. So for our robot we prepare some behaviors. The action command is send to motion controller unit via RS232. The motion controller unit decodes and executes the command and sends a command to servo motor.

3.2 Artificial Intelligence

In this section the AI part of the software is briefly introduced. There are three distinct layers: AI Core, Role Engine and Behavior Engine. AI Core receives the computed field data from World Map Modeling unit and determines the play state according to the ball, opponents and our robots positions. Considering the current game strategy, determination of the play state is done by fuzzy decision-making to avoid undesirable and sudden changes of roles or behaviors.

3.3 Role Engine

Role engine module receives information from AI core; process them, and then selected a role. This module is the main section of robot software. The proposed rules for role engine have been turned by various experiences and they are independent of game field conditions. The output of this module is a set of high level commands that send to Behavior engine. Some of high level commands which are produced by role engine module are: Go to position, Go to ball, Targeting, Shooting ball, etc.

3.4 Behavior Engine

This module receives information from Artificial Intelligent unit. Total functions about Robot Behavior such as stability motors actions, robot path planning, turn camera, walking, shooting, dribbling; motion and etc are controlled in this section.

3.5 Trajectory

Since the motion trajectory of each robot is divided into several median points that the robot should reach them one by one in a sequence the output obtained after the execution of AI will be a set of position and velocity vectors. So the task of the trajectory will be to guide the robots through the opponents to reach the destination. The routine used for this purpose is the potential field method (also an alternative new method is in progress which models the robot motion through opponents same as the flowing of a bulk of water through obstacles). In this method different electrical charges are assigned to our robots, opponents and the ball. Then by calculating the potential field of this system of charges a path will be suggested for the robot. At a higher level, predictions can be used to anticipate the position of the opponents and make better decisions in order to reach the desired vector.

Path planning with potential fields algorithm.
Path planning with potential fields algorithm.

4 Robot Specification

The PERSIA robot is 38cm tall and weighs about 1.6 kg. It has 20 degrees of freedom: 5 in each leg, 3 in each hand, 2 in trunk and 2 in head.

5 Conclusion and Future work

In this paper, we present the details of design and implemented method of our humanoid soccer robot. Our robots can get up from a fall, walk forward and backward, turn right and left, and kick the ball. A camera and sensors are integrated so that the robot can obtain the environmental information to decide the action behavior. We try to making the robot more stable and reliable as the result of our researches. Future plans are to develop and implement autonomous team actions towards participation in the three-by-three games similar to other leagues in RoboCup. Further information's are presented on our homepage.

References

  1. Wong, C.C., Cheng, C.T., Wang, H.Y., Li, S.A., Huang, K.H., Wan, S.C., Yang, Y.T., Hsu, C.L., Wang, Y.T., Jhou, S.D., Chan, H.M., Huang, J.C., Hu, Y.Y.: Description of TKUPa-PaGo Team for Humanoid League of RoboCup 2005. RoboCup International Symposium 2005 (2005).
  2. Zhou, C., Jagannathan, K.: Adaptive Network Based Fuzzy of a Dynamic Biped Walking Control Robot. IEEE Int. Conf. on Robotics and Automation. 4 (2000) 3829-3834.
  3. Pauk, J. H., Chung, H.: ZMP Compensation by On-Line Trajectory Generation for Biped Robots. IEEE International Conference on Systems, Man, and Cybernetics. 4 (1999) 960- 965.
  4. Huang, Q., Li, K., Nakamura, Y.: Humanoid Walk Control with Feedforward Dynamic Pattern and Feedback Sensory Reflection. IEEE International Symposium on Computational intelligence in Robotics and Automation. (2001) 29-34.
  5. Sugihara, T., Nakamura, Y., Inoue, H.: Real time Humanoid Motion Generation through ZMP Manipulation based on Inverted Pendulum Control. IEEE International Conference on Robotics and Automation. 2 (2002) 1404-1409.
  6. Furuta, T.: Design and Construction of a Series of Compact Humanoid Robots and Development of Biped Walk Control Strategies. IEEE International Conference on Robotics and Autonomous Systems. (2001) 65-88.
  7. Vukobratovic, M., Frank, A. A., Juricic, D.: On the Stability of Biped Locomotion. IEEE Trans. Bio-Med. Eng. 17 (1970) 25-36.
  8. Golliday, C. L., Jr., Hemami, H.: An Approach Analyzing Biped Locomotion Dynamics and Designing Robot Locomotion Control. IEEE Trans. Aut. Contr. (1977) 963-972.
  9. Miyazaki, F., Arimoto,S.: A Control Theoretic Study on Dynamical Biped Locomotion.ASME J. Dyna., Syst., Meas., Contr. 102 (1980) 233-239.
  10. Furusho, J., Masubuchi, M.: A Theoretically Motivated Reduced Order Model for the Control of Dynamic Biped Locomotion. ASME J. Dyna., Syst., Meas., Contr. 109 (1987) 155-163.