Persian-Gulf KidSize 2009 Team Description
Saeed Javadzadeh, Ali Hemati, Ali Fooladi, Hamidreza Javadzadeh
Razi University of Kermanshah
persian-gulf-team.ir · www.razi.ac.ir/roboticlab/index.htm · www.robotis.com · robosavvy.com/site/index.php?option=com_openwiki&Itemid=&id=havimo
Abstract This document describes hardware and software of the robots developed by the "Persian-Gulf" Team for the RoboCup competitions to be held in Graz, Austria 2009. Persian-Gulf has been active more than 2 years in the field of humanoid robots by the name of RoboRazi [1]. This team used to be supported by Razi University of Kermanshah and now it is supported and continues by private sponsor. winning the 2nd place of Iranopen 2008 competitions, participating in RoboCup 2008 competitions in China and also the 2nd place of the first round of robotic national competitions in Iran (Khwarizmi festival), are the glories of this team.
1 Introduction
Humanoid robots' league is one of the most difficult and interesting fields of RoboCup competitions. This robot is very complicated in different parts including designing and building the mechanics, hardware and software and in spite of a lot of advancements in this connection; there is still a long distance to wants in this field. Our team has researched more than 2 years on humanoid robots in robotic laboratory of Kermanshah Razi University and achieved a lot of success in this field by making several samples of humanoid robots and gaining several places in different competitions. At present this team by the name of Persian-Gulf continues to work under the aegis of private sponsor and the robot which is now used in this team is the improved Bioloid robot [2]. This robot with its first and suitable capabilities has created a good possibility for putting thoughts and new designs into practice. The continuation of this paper deals with different parts of robot and the features of each part.
2 Mechanical Structure
The first step in designing humanoid robot is its mechanics. This part will be explained in two parts:
2.1 Robot Body
The main formative unit of humanoid robots is the servomotor. The motion mechanism consists of 20 degrees of freedom distributed in 6 per leg, 3 per arm and other two degrees of freedom as a pan-tilt system holding the camera (shown in Fig.1).
The main structure of robot is the same as Bioloid robot and there are only little changes in it. Among these changes we can mention the followings: putting two additional servos on the head for camera turning, devising a suitable place for the second processor, putting accelerometer sensor in the suitable place in robot, creating suitable place for new batteries and so forth. Of course these changes which seem little cause the weight distribution of robot to change and the primary movements which has been devised in Bioloid robot, not to be useful. Table 1 shows the physical measurements of robot.
Physical measurements of the robot
| Quantity | Value | Unit |
|---|---|---|
| Overall Height | 45 | Cm |
| Weight | 2 | Kg |
| Leg Length | 21 | Cm |
| Foot Area | 70 | Cm2 |
| Arm Length | 20 | Cm |
| Head Length | 6 | Cm |
2.2 Actuators
The actuators used in Persian-Gulf robots are "Dynamixel AX-12" servomotors, produced by Robotis Inc (Fig.2). Each actuator has its own microcontroller which implements adjustable position control using potentiometer position feedback. It also calculates many other parameters such as rotation speed and motor load which can be accessed through a single-bus, high-speed serial communication protocol. This facilitates the construction of an extendable network of motors which can be individually accessed and controlled by a single microprocessor.
3 Hardware
Hardware includes processors, camera, and sensors that there is a wide variety in selecting them.
3.1 Central Processor
The original processing unit of the robot (called CM5) is very light-weight and many of the functions needed to communicate with actuators and PC are available for this platform. Therefore it is used as the main processing unit of the robot. The Processor of the CM5 is an ATMEL ATMEGA128 which is an 8-bit RISC microcontroller clocked at 16MHz. This microcontroller has plenty of resources, among them 2 USART modules which are used to communicate with both servo and PC sides. In the servo side 1Mbps is used as the baud rate. Each servomotor (and of course any other module such as the camera) has a unique ID for packet identification. There is also a broadcasting ID used to send the same data packet to all existing motors on the bus. On the PC side the communication is performed using a standard 57600bps RS232 protocol.
The main duty of this processor is to save movements and apply them on the robot. In Fig.3 the main parts of robot and their connections is seen.
3.2 Camera and its Processor
The name of camera which is used in Persian-Gulf robot is HAVIMO [3]. This camera is made by Hamidreza Moballegh for similar project of humanoid robot in Germany. The main feature of this camera is the ability of it to do some part of image processing in the form of hardware and therefore it obviates the need for separate processor which usually has high consumption of power [4]. In this case we can process information obtained from camera using a simple microcontroller. The general features of HAVIMO are shown in table 2.
To process the information obtained from camera, another microcontroller has been used in order to control camera independently from robot. By using this method a lot of complications of robot algorithm will be omitted.
Special features of Havimo camera
| Specification | Value | Unit |
|---|---|---|
| Frame Rate | 8 | Fps |
| Resolution | 160x120 | Pixels |
| Weight | 33 | G |
| Diff Color Detection | 256 | Colors |
| Serial Baud rate | 1 | Mbps |
3.3 Sensors
The only sensor which is used in robot is a 2-axis accelerometer; for this purpose we have used ADXL202 IC. Therefore we can keep the balance of the robot at any moment by having information about robot's movement, and also in case of falling robot form each side we can command the robot to stand. This sensor is also controlled by processor which is connected with camera. So we have reached an acceptable balance of robot by using of this sensor and of course using servomotors' feedbacks in very lower complicated algorithms.
4 Software
At each stage of making humanoid robot we need to have special and advanced software's.
4.1 Motion Creating
One of the most difficult and time-consuming parts in designing humanoid robots is the part of motion creating. A lot of researches have been done about biped robots so far and a lot of methods have been suggested for it [5, 6]. But all of these analyses can not obviate the hardship of this task but they can only present more scientific and suitable methods for it. Having numerous degrees of freedom in robot, the complications of humane behaviors, relatively huge numbers of needed movements, being time-consuming in making each movement and high accuracy which is needed in making them, are some reasons for complicating of motion creating. In spite of all complications and spending a long time the movements has been made one by one and is saved in a table in the memory of central processor. Each movement is given a special code which is applied by recalling it when necessary. Nearly 50 independent and combined movements have been made for Persian-Gulf robot which all of them have been stored in a table in the memory of central processor as it was said.
4.2 Image Processing
The image processing commences with camera calibration and presenting each colorful spectrum as a special object. At the next stage considering information obtained from camera which includes the position of each object in taken pictures, the number of pixel and other general features, the position of robot in regard to ball and ground will be calculated at any moment. At this stage we can make suitable decisions for appropriate reaction considering game algorithm.
4.3 Game Algorithm
The main parts of the game algorithm includes: finding the ball, moving towards it, finding the opponent's goal, turning to it, adjusting for shooting and finally shooting the ball towards the goal. The other parts like locating the position of robot in the ground, preventing it from hitting the other robots, finding the ball and goal in case of losing them are placed in this algorithm. The goalkeeper robot also has its own decisions. Other special algorithms are considered for entering technical challenges. This algorithm is written in C language and applied on the processor related to the camera. The general application of these movements is in a way that robot always, considering information obtained from its camera and sensors and also information obtained in previous situations from game algorithm, determines which movement must be made and it makes the intended movement by recalling it from the table of movements in the first processor. This sequence of decisions is made respectively and constantly and it enables robot to play football.
References
- http://www.razi.ac.ir/roboticlab/index.htm
- www.robotis.com
- http://robosavvy.com/site/index.php?option=com_openwiki&Itemid=&id=havimo
- M. Rodrigues, F. Silva, V. Santos Visual Tracking on an Autonomous Self-contained Humanoid Robot, The 11th International Conference on Clibing and Walking Robots and the Support Technologies for Mobile Machines CLAWAR2008, Portugal, Coimbra, 8-10 Sep, 2008.
- H.Miura and I.Shimoyama, "Dynamic walking of a biped," Int. J.Robot. Res., vol. 3, no. 2, pp. 60–74, 1984.
- A.Takanishi, M.Ishida, Y. Yamazaki, and I. Kato, "The realization of dynamic walking robot WL-10RD," in Proc. Int. Conf. Advanced Robotics, 1985, pp. 459–466.