Falconbots RoboCup 2011 Humanoid KidSize Team Description Paper
Diego Mauricio Reyes Hern´andez, Edgar Franco P´erez, Justino Barbosa Segura, Juan V´ıctor S´anchez Rodr´ıguez, Alfredo Suarez Romero, H´ector G. M´endez Lara
Departamento de Investigaci´on, Instituto Tecnol´ogico Superior de San Martin Texmelucan, M´exico
Abstract This paper presents a general description of our software, hardware and the Artificial Intelligence of the humanoid soccer robots that will be used to participate in the KidSize category in the Humanoid League of RoboCup 2011.
1 Introduction
The Instituto Tecnol´ogico Superior de San Martin Texmelucan offers the degree in Computer Science Engineering with the following subjects; Theory of the Computer, Systems Programming, Interfaces, Artificial Intelligence among others. Likewise, a group has been organized so that the students can increase their knowledge about Artificial Intelligence and Vision Computer. In this way, this group offers the university students the opportunity to learn and develop humanoids robots with the capacity of walking, dancing and even playing a soccer match in an autonomous way. This is possible because the Institution has commercial humanoid robots such as ROBONOVA and BIOLOID. They also contain vision sensors such as CMUCAM3 and UI-1226LE-C. In addition, there is a great variety of sensors like Tilt, Piezo Gyro, Compas and a computer model ROBOARD RB-110.
Due to the successful participation in several national and Latin Americans, for example: Mexican Tournaments of Robotic and Latin American Tournaments of Robotic, was decided that students participate in tournaments like the RoboCup.
The first participation of the Falconbots team was in the Campus Party M´exico 2010, where we competed with teams such as the Cyberlords and Bogobots. We improved our algorithms to participate in the RoboCup 2011.
2 Hardware
The team has three robots based on the commercial ROVONOVA KIT-1. These robots have an ATMega128 ATMEL processor with a memory of 64k * 8 EEP-ROM and 16 servomotors each one. The servomotors specifications are listed in the following lines:
- Operating Voltage:4.8V to 6.0Bdc.
- Speed: 0.20sec / 60 degrees at 6.0V.
- Operating angle: 180.
- Weights: 55g.
- Dimension: 40 x 20 x 47 mm.
Due to the robots limitation to walk to the sides, one of them was added one grade more of freedom in the legs part. This allows the robot to walk faster. In addition, the Pan-and-Tilt system was implemented in the head of each robot. This system is based on the use of two servomotors and a camera CMUCAM3, to follow the track of the ball. The camera has the following features:
- CIF Resolution (352x288) RGB color sensor.
- MMC Flash Slot with FAT16 driver support.
- Four-port Servo Controller.
- Load Images into Memory at 26 Frames Per Second.
- Software JPEG compression.
- Development environments for Windows and Linux.
- Basic Image Manipulation Library.
- Arbitrary Image Clipping.
- Image Down sampling.
- Mutable camera image properties.
- Threshold and Convolution Functions.
- RGB, YCrCb and HSV Color Space.
- CMUCAM2 Emulation.
- User defined color blobs.
- Frame differencing.
- Mean and variance data collection.
- Raw images dumps over serial.
- Histogram Generation.
We used the TTL communication protocol that consists of sending and receiving the information between the cmucam3 and the microcontroller. Based on the information that the microcontroller receives, it controls and decides different actions that the robot has to do such as: walking the ball, turning, running, kicking a goal, among others.
3 Description sensors
Miniature Tilt Sensor. This sensor allows the robot to know its position in relation to the gravity, and gives the position in which the robot is which could be either standing or fallen through digital signals.
CMPS03 Compass. This sensor gives the robot its orientation in the field, it works through I2C Interface.
PK3PiezoGyro. This sensor helps maintain the stability of the robot.
The following image shows the electronic architecture of our robots.
4 Software
The programming of the robots is made in ROBOBASIC, in which we determine our movements through a range of actions to which the robot must answer. These decisions are taken through constant communication between the camera and the microcontroller. The camera is programmed in C language with the camera libraries for image processing.
5 Vision System
The vision system consists of the camera CMUCAM3 through which images in model RGB can be gotten. It is performed through the orange track calculating the centroide's color. It is currently being worked on performing the segmentation of the image by using the model HSV.
A monocular stereoscopic vision is also used for getting information about the deepness of the ball, which is mainly based on a process of triangulation from two or more images (see figure 3). The camera height h, the angle ^ that is formed because of the lens, and the ball's position are known. This angle is formed because of the inclination's degree of the servo tilt. These values help us to determine the precise distance of the ball.
6 Artificial Intelligence
This section describes the robot's intelligence, which is based on a finite-states machine. This consists of a robot's model of behavior. This model consists of a finite quantity of possible states. In addition, the system can change of state when a specific action is performed. This kind of change is known as transition. Therefore, the condition of transition has to be performed so that there can be a change of state. Likewise, the action of the current state has also to be performed.
6.1 List of states
- Track Ball (TB).
- Location of Ball Position (LBP).
- Robot Turn (RT).
- Robot Positioning at the Ball for Kicking (RPBK).
- Robot Slide (RS).
- Kicking the Ball towards the Goal (KBG).
In this moment, the programming of the computer Roboard RB-110 is being made so that it can be implemented to the robot BIOLOID using the vision sensor UI-1226LE-C. This is being made with the segmentation of images in Open CV on operative system Linux-Ubuntu. Likewise, the communication of the robot is being made with an electronic arbiter through the interface WiFi.
7 Further work
In further work, it is planned to change the structure of our equipment of robots using RX-64 and RX-28 Dynamixel servos. The purpose is to create a new robot with 24 degrees of freedom so that we can implement new walking and vision algorithms and continue participating in the RoboCup every year.
It is hope that with this paper, the team Falconbots can be accepted in the RoboCup 2011. The participation in this important international event would certainly offer us the opportunity to develop and improve our programming and electronic abilities in a more sophisticated way.
References
- Arrioja Landa, Nicolas Cossio: Artificial Intelligence. USERS, Spain (2007)
- Craig, John J: Introduction to Robotics: Mechanics and Control (3rd Edition). Prentice Hall International, (2003)
- Nilsson, N.: Problem-Solving Methods in Artificial Intelligence. McGraw-Hill, New York (1971)
- Nilsson, N.: Principles of Artificial Intelligence. Morgan Kaufmann. San Francisco (1980)
- Cmucam3 Vision System, http://www.cmucam.org/
- Hitec Servomotors, http://www.hobbyhorse.com/
- Magnetic Compass, http://www.robot-electronics.co.uk/
- RoboBasic, http://www.robobasic.com/
- Robocop Humanoid League Competition., http://www.robocup.org/
- Robonova-1, http://www.robonova.de/