RoboFEI Humanoid Team 2014
Danilo H. Perico, Feliphe G. Galiza, Isaac J. da Silva, Claudio Vilhão, Luiz A. Celiberto Jr., Flavio Tonidandel, Reinaldo A. C. Bianchi
Department of Electrical Engineering, Centro Universitário da FEI; Department of Computer Science, Centro Universitário da FEI
Abstract This paper presents the description of the RoboFEI-HT Humanoid League team as it stands for the RoboCup 2014 in João Pessoa. The paper contains descriptions of the mechanical, electrical and software modules, designed to enable the robots to achieve playing soccer capabilities in the environment of the RoboCup Humanoid League.
1 Introduction
In this paper we describe the mechanical, electrical and software aspects of the RoboFEI-HT RoboCup Humanoid League team, designed to compete in this year RoboCup World Competition.
Our group has a long tradition in Robotic Soccer. The first time we took part in a competition was in 1998: Prof. Reinaldo Bianchi was a member of the group that developed the FutePOLI Team, which competed in the First Brazilian Micro Robot Soccer Cup, held in São Paulo, Brazil. The same team, renamed as Guaraná, was the Vice-Champion in the 1998 FIRA Micro Robot World Cup Soccer Tournament (MIROSOT), a competition held in Paris, together with RoboCup'98 [9].
In the same year, Prof. Reinaldo Bianchi started the development of soccer playing robots at the Centro Universitário da FEI. The first team developed at FEI competed in the Very Small Size Category of the IEEE Robotic Competition, becoming vice-champion in 2003. In 2004, during the First Brazilian Competition on Intelligent Robots (a competition were the IEEE Robot Competition was held together with the First Brazilian RoboCup), our team became Brazilian Champion in the IEEE very Small category. In the same competition, our first team developed for the RoboCup Small Size League became vice-champion In 2006, Very Small Size team became Champion again, and our first 2D RoboCup Simulation team was the Brazilian champion.
The institution RoboCup Small Size League team, called RoboFEI, won for the first time the Brazilian Robocup in 2010, and is currently the Brazilian champion, winning the championship 4 times in a row (2010, 2011, 2012 and 2013). This team takes part in the RoboCup World Competition since 2009, and the best result we had was in 2012, when we stayed among the 8 top teams.
After developing robotic soccer players for the last 15 years, we now developed a team to compete in the RoboCup Humanoid League. The development of this team started in 2012, with students designing and building a humanoid robot from scratch. Now, we have a team that is able to compete in the RoboCup World Cup competition.
1.1 Research interests
Our group consists of 3 Faculty Professors (one from the electrical, one from the mechanical and one from computer science departments) 3 Ph.D., 2 MSc. and 2 undergraduate students. Our current research interests are:
- Mechanical design of humanoid robots: how can a robot be build, using lighter parts and new kinematic configurations? In particular, we are studying Topology Optimization [18] as a way to built stronger and lighter parts for the robots.
- Gait generation and optimization: how to automatically generate gaits and optimize them? We are using Reinforcement Learning, Particle Swarm Optimization and Simulated Annealing.
- Stabilization Methods: most researchers use Center of Gravity or Zero Moment Point methods to stabilize the robot. Can Reinforcement Learning be used to prevent the robot from falling down, dynamically?
- Vision: can we build a robust method for finding the ball and other robots? We have studied the use of the Hough Transform, Histogram of Oriented Gradients (HOG) and Support Vector Machines to create a robust vision system.
- Robot Localization: can a qualitative-probabilistic approach be used to address the problem of mobile robot localization? We are investigating the combination of Qualitative Reasoning with a Bayesian filter to localize the robots [10].
- Multi-Robot Task Allocation: how can we dynamically change the role of the robots during the game? We aim to adapt a system developed for our a RoboCup Small Size League team[12], where robots participate of auctions for the available roles, such as attacker or defender, and use Reinforcement Learning to evaluate their aptitude to perform these roles, given the situation of the team, in real-time.
- Spacial reasoning in multi robot systems: how to enhance the existing spatial reasoning systems towards collaborative systems in which multiple viewpoints of a scene can be interpreted within a single formalism? We are study a new formalism, which we call Collaborative Spatial Reasoning[16], that can be applied on the scene interpretation from multiple cameras and on the task of scene understanding from the viewpoints of multiple robots.
– Case Based Reasoning for soccer games: can we use cases, as set-pieces? We have been studying the use of CBR, together with Reinforcement Learning, to have a collection of cases that can work as set-pieces during the game[6,4].
As it can be seen, our research interests range from the very bottom level of the robot construction, to the high level intelligent control of the team behavior. This research has been proved very rewarding, as we had several papers accepted at Brazilian and other national conferences, 2 papers accepted in the International RoboCup Symposium [2,7], 2 papers accepted at the IJCAI International Joint Conference on Artificial Intelligence [5,8], and 2 papers published in major journals [3,11].
2 Hardware Design
Our team consists of four robots, of two different types: one type is the Milton Robot, that is described in depth in this section; The other type is the Darwin-OP Robot[14], which we will built according to the instructions available (and, therefore, we will not describe here).
To be able to access the performance of the Milton Robot, we decided to build and use one Darwin-OP in our team. In this way, we can compare the robot we built with one that is being regularly used in the League, allowing us to identify strong points and weak points in each robot.
Although we have 2 different types robots, the electronic, computer and sensors of the four robots are the same, allowing us to use the same software to control all the robots.
2.1 Mechanical Design
The mechanical structure of the Milton Robot was totally developed in our research laboratory. To develop the mechanical structure of a humanoid robot is necessary to define how much degrees of freedom the robot will have. The human body has a larger quantity of degrees of freedom than a humanoid robot needs to play soccer in a competition as the RoboCup Humanoid League. Therefore an analysis was made to establish how much degrees of freedom the robot needs to walk in a gait similar to the humans, as well as the quantity of movements of the arms and neck. We also took into account the number of DOF used by other teams in the Humanoid Kid Size League.
Based on this analysis, we developed a robot with 22 degrees of freedom, as follows: six in each leg, three in each arm, two in the torso and two in the neck. The Milton Robot, its schematic representation and exploded view are shown in Fig. 1. The robot's specification is in Table 1.
Some equilibrium criteria such as Zero Moment Point and Center of Pressure [17] were used to project the geometry of the robot parts. To guarantee the mobility necessary for each joint, avoiding collisions and interferences from simultaneous movements, the motors were designed considering the relative movement between them, keeping the anatomy and the functioning of the robot.
Each leg is compose by five motors, two respectively for the frontal and lateral joints of the foot, one for the knee and more two for the thigh frontal and lateral movements. The robot motors are Dynamixel RX-28 servos, that has been traditionally used by several RoboCup teams in the last years.
Table 1. Milton Robot Characteristics
| Robot Name | Milton |
|---|---|
| Height | 520 mm |
| Weight | 2.9 Kg |
| Walking Speed | 70 cm/min |
| Degrees of Freedom 22 in total: 6 per leg, 3 per arm , 2 on the head, 2 on the hip | |
| Type of motors | Dynamixel RX-28 |
| Sensors | UM6 Ultra-Miniature Orientation Sensor |
| Camera | Logitech HD Pro Webcam C920 (Full HD) |
| Computing Unit | fitPC2i - Intel Atom 1.6Ghz, 1GB SDRAM, 8GB SDD |
2.2 Electronic and Electrical Design
As a project goal, we decided to minimize the use of electronic parts in the robot. Our aim was to reduce all possible processing units and other accessory hardware, concentrating all the processing in one computer. We decided to control the motors using the computer's USB port. Thus, we eliminated the use of a microcontroller board, that is often used as an intermediate step between the computer and the motors. With this, all the processes responsible for the robot the motion is now executed on the computer. Before eliminating the microcontroller board, that is traditionally used by most of the teams, we conducted several tests to validate this new hardware and software architecture.
As the serial communication port is not easily available easily on today's computers (especially the smaller ones), we developed a USB/RS485 adapter with power supply of the motors, so the computer communicates with the servomotors and also provides the supply voltage.
We use the UM6 ultra-miniature orientation sensor[13], featuring gyros, accelerometers, magnetic sensors to estimate the absolute sensor orientation 500 times per second. To communicate with sensors, the robot uses a USB-to-serialadapter able to read 3 gyro axes, 3 accelerometer axes, and 3 magnetometer axes.
3 Software Design
The teams software is being completely developed by our group, using no software from other teams. it is composed of a vision system, a localization system and a decision algorithm.
3.1 Vision System
As we have a long tradition in the study vision systems [1,2], we decided to make a system that is as robust as possible, in terms of lightning conditions, ball tracking and occlusions, shadows, and other aspects that usually makes the vision one of the most difficult problems in the RoboCup competition. Fig. 2 Shows or robot tracking a ball under direct sun and shadows.
Ball detection and tracking
In order to reduce the influence of different lighting conditions, the RGB color space is transformed to the HSV color space, next, a color segmentation is performed to eliminate other regions that are different from the color of the ball. Using mathematical morphology, an erosion is used in order to eliminate small noise particles and a dilation to return to the main object shape, this preprocessed image is the input for the Hought Algorithm for circles, implemented in OpenCV, which checks, for each point, all possible circles of the targeted area, returning Cartesian coordinates and radius of the ball, both in pixels.
For ball tracking, our current target is to train a classifier for object detection. OpenCV comes already with a trained classifier for frontal face detection. Replacing training set of faces with a training set of ball images and negative background samples will enable us to recognize the ball in several different environments.
In parallel the team is testing the use of several colorspaces as a tool to reduce the influence of different lighting conditions.
Field line detection and Goal recognition
A transformation of the RGB color space to grayscale serves as an input for the Canny filter which defines the contours of the image, then the Hough transform is used as a method to find lines fitting a set of 2D points. In a multistage process, pixels of colors that are non related to the field are discarded, so that only the color of the relevant characteristics remains. Processing the this picture, the field line points can be detected applying elongated Gaussian kernels to determine the probability of pixels being part of a line.
The team is still studying a way to implement opponent recognition. Histogram of Oriented Gradients (HOG) is a solid technique widely used to recognize people in environments, it uses as a classifier the Support Vector Machines. Once robots are found, we need to recognize their torso, in order to find samples of the team-shirt color. In our approach we will also be using machine learning algorithms.
3.2 Localization
In order to coordinate the area of the football field that corresponds to the image, first it is necessary to correct radial distortion in the picture. To do this, the Affine Transformation is applied. After that, it is possible to discretize the cells in Hough space, and then search for local maxima in the Hough domain that correspond to the lines of the field. With the lines, we are using a probabilistic localization to estimate the position of the robot in the field.
At the moment, we are implementing a qualitative-probabilistic approach – combination of Qualitative Reasoning with a Bayesian filter [10] – to localize the robots.
3.3 Decision algorithms
We are using 2 distinct decision levels for the robots in our team.
In the higher level, we are using Multi-Robot Task Allocation to dynamically change the role of the robots during the game. Based on the system used in our RoboCup Small Size League team[12], robots participate of auctions for the available roles, such as attacker or defender. Using Reinforcement Learning, we evaluate their aptitude to perform these roles, given the situation of the team, in real-time.
In a lower level, we are using Case Based Reasoning to define the roles of attacked and defender. The agents checks all the time which case they can use at a certain moment, acting on it. This work is based a previous work on the 4-legged Aibo robots, by Ross et al. [15].
For the goalkeeper, we used Reinforcement Learning to develop a player that tracks the ball and decides which side it should fall, and at which moment. It also moves the robot so it will be at the best position for catching the ball.
4 Work in Progress
At the moment we are actively working on our robots to develop a team that can compete and win the RoboCup 2014.
In the hardware aspect, we have problems with the Dynamixel RX-28 servomotors in some of the Milton Robot joints. We are deciding about the possibility to change some of these servos to Dynamixel RX-64, and what the impact would be in the whole robot. We are also trying to make the robot parts lighter, by applying Topology Optimization on them, and by developing new parts using composite materials and carbon fiber.
In the software modules, there is many things that must be completed before the robot can be competitive in a game. Optimization of gait and a larger set of cases in the case base is the most important at the moment.
We decided in the end of the last year to compare our robot with the Darwin-OP. At this moment, we are building this one Darwin-OP, and we aim to use it as one robot at the competition.
5 Conclusion
In this paper we have presented the specifications of the hardware and software of RoboFEI-HT humanoid robot team, designed to compete at the RoboCup in João Pessoa. Our team will be composed of three Milton Robot, a robot designed and built at our institution, and one Darwin-OP, with the mechanical parts built by us, and the electronically and computational parts being developed by the team.
Our team commits to participate in RoboCup 2014, and also commits to to making a person with sufficient knowledge of the rules available as referee during the competition.
References
- Bianchi, R.A.C., Costa, A.H.R.: A distributed control architecture for a purposive computer vision system. In: IEEE International Joint Symposia on Intelligence and Systems, 2nd. IAR'96. pp. 288–294. IEEE Computer Society Press (1996)
- Bianchi, R.A.C., Costa, A.H.R.: Implementing computer vision algorithms in hardware: an FPGA/VHDL–based vision system for mobile robot. In: RoboCup–01: Robot Soccer World Cup V. Lecture Notes in Artificial Intelligence, vol. 2377, pp. 281–286. Springer Verlag (2002)
- Bianchi, R., Martins, M., Ribeiro, C., Costa, A.: Heuristically-accelerated multiagent reinforcement learning. Cybernetics, IEEE Transactions on 44(2), 252–265 (Feb 2014)
- Bianchi, R.A.C., López de Mántaras, R.: Case-based multiagent reinforcement learning: Cases as heuristics for selection of actions. In: 19th European Conference on Artificial Intelligence. IOS Press (2010)
- Bianchi, R.A.C., Ribeiro, C.H.C., Costa, A.H.R.: Heuristic selection of actions in multiagent reinforcement learning. In: IJCAI 2007. pp. 690–695 (2007)
- Bianchi, R., Ros, R., Lopez de Mantaras, R.: Improving reinforcement learning by using case based heuristics. In: Lecture Notes in Computer Science, vol. 5650, pp. 75–89. Springer (2009)
- Celiberto, L.A., Ribeiro, C.H.C., Costa, A.H.R., Bianchi, R.A.C.: Heuristic reinforcement learning applied to robocup simulation agents. In: RoboCup 2007: Lecture Notes in Computer Science, vol. 5001, pp. 220–227. Springer (2007)
- Celiberto, Jr., L.A., Matsuura, J.P., De Mantaras, R.L., Bianchi, R.A.C.: Using cases as heuristics in reinforcement learning: a transfer learning application. In: Proceedings of the Twenty-Second international joint conference on Artificial Intelligence - Volume Volume Two. pp. 1211–1217. IJCAI'11, AAAI Press (2011)
- Costa, A.H.R., Pegoraro, R., Stolfi, G., Sichman, J.S., Pait, F.M., Ferasoli Filho, H.: Guaraná robot-soccer team: some architectural issues. In: FIRA Robot World Cup France'98 Proceedings, 29th. Federation of International Robot Soccer Association. pp. 43–49. Fira, Paris, (July 1999)
- Fenelon Pereira, V., Gagliardi Cozman, F., Santos, P., Fernandes Martins, M.: A qualitative-probabilistic approach to autonomous mobile robot self localisation and self vision calibration. In: Intelligent Systems (BRACIS), 2013 Brazilian Conference on. pp. 157–162 (Oct 2013)
- Gurzoni, Jose Angelo, J., Martins, M.F., Tonidandel, F., Bianchi, R.A.C.: On the construction of a robocup small size league team. Journal of the Brazilian Computer Society 17(1), 69–82 (2011), http://dx.doi.org/10.1007/s13173-011-0028-4
- Gurzoni, Jose Angelo, J., Tonidandel, F., Bianchi, R.A.C.: Market-based dynamic task allocation using heuristically accelerated reinforcement learning. In: Lecture Notes in Computer Science, vol. 7026, pp. 365–376. Springer (2011)
- Pululu: Um6 ultra-miniature orientation sensor datasheet, http://www.pololu.com/file/0J442/UM6_datasheet.pdf
- Romela: Darwin op: Open platform humanoid robot for research and education, http://www.romela.org/main/DARwIn_OP
- Ros, R., Arcos, J.L., Lopez de Mantaras, R., Veloso, M.: A case-based approach for coordinated action selection in robot soccer. Artif. Intell. 173(9-10), 1014–1039 (2009)
- Santos, P., Santos, D.E.: Towards an image understanding system for multiple viewpoints. In: Brazilian Symposium on Intelligent Automation (2013)
- Sardain, P., Bessonnet, G.: Forces acting on a biped robot. center of pressurezero moment point. IEEE Transactions on Systems, Man, and Cybernetics, Part A 34(5), 630–637 (2004)
- Sigmund, O., Bendsoe, M.: Topology optimization from airplanes to nanooptics, pp. 40–51. Technical University of Denmark (2004)