RoboFEI 2018: Team Description Paper for the Humanoid KidSize League
Aislan C. Almeida, Danilo H. Perico, Thiago P. D. Homem, Isaac J. da Silva, Claudio O. Vilão, Vinicius N. Ferreira, Jade C. C. Gali, Sylvio R. J. Neto, Lucas M. Carregaro, Gustavo D. Fernandes, Gustavo M. Matos, Diego P. Machado, Marcelo C. Macedo, João Paulo A. Paula, Flavio Tonidandel, Reinaldo A. C. Bianchi
Department of Electrical Engineering and Department of Computer Science Centro Universitário FEI, São Bernardo do Campo, Brazil
http://caffe.berkeleyvision.org/ · https://imagetagger.bit-bots.de/users/team/21/ · http://www.romela.org/main/DARwIn_OP
Abstract RoboFEI is a recurring team on the RoboCup KidSize League, participating in this category since 2014, in João Pessoa, Brazil. In order to participate on this year's RoboCup KidSize League Competition, to be held in Montreal, Canada, this work presents the actual team's configuration, regarding hardware and software of the robots which will be used during this year's competition, and also presents the ongoing team's efforts to improve the team's capabilities of winning the competition.
1 Introduction
The RodoFEI team dates from 1998, when Prof. Reinaldo Bianchi started the development of soccer playing robots at Centro Universitário FEI. It was a team of the Very Small Size Category, which became the runner-up of this category in 2003. Since them, there was a 2D RoboCup Simulation Team, which became the Brazilian Champion, the Very Small Team evolved into a Small Size team, becoming six times champion in the Latin American Robotics Competition (LARC), and in 2012, the Humanoid KidSize team started to develop a humanoid robot from scratch.
The RoboFEI is a recurrent competitor in the RoboCup Humanoid KidSize League since 2014, participating in 2014 in João Pessoa, Brazil, in 2015 in Heifei, China, in 2016 in Leipzig, Germany, and 2017 in Nagoya, Japan, always achieving the classification in the round-robin phase. The team also participates in LARC since 2014, and became the champion in three editions 2014, 2016 and 2017. Figure 1a shows the team's participation in a match in RoboCup 2017, held in Nagoya, Japan, and Figure 1b shows the team's participation in a match in LARC 2017, held in Curitiba, Brazil.
The objective of this paper is to present the team's robots, the research interests and the work in progress in order to participate in RoboCup 2018, to be held in Montreal, Canada.
2 Hardware
Today the team is composed of four B1 robots, they are adaptations of the DARwIn-OP[16] project, where adaptations were made in order to port a Intel NUC Core i5- 4250U, 8GB SDRAM and 120 GB SDD, as computation unit and optimize the robots' weight. The gait pattern generator used by the DARwIn-OP is the same used by the B1 robots, been the only software module not made by the team. Their parts are made of aluminum or 3D printed in ABS, where some of the 3D printed parts are coated in carbon fiber, increasing their resistance with minor weight increase. In order to walk on artificial grass, the robots' feet are equipped with four cleats. The robots weights 3 kg and is 49 cm high, 20 servo-motors Dynamixel RX-28 grants 20 degrees of freedom to the robots, and they use as sensory input a UM7 Ultra-Miniature Orientation Sensor and a Logitech HD Pro Webcam C920 (Full HD). The robots uses helmets in order to protect the camera from falling damage and to fasten fisheye lens, and the lens is used to increase the robots' field of view. The robots' uses springs attached to their knees in order to improve their kicking ability.
3 Software
The robots' software is structured upon the Cross Architecture[15]. It allows the use hierarchical and reactive processes in parallel, where the communication between processes are made through the shared memory called blackboard. This section describes the processes.
3.1 Vision
The vision system uses white segmentation and Deep Neural Network (DNN) to classify the images. This DNN have two classes: ball and no ball.
Firstly, the RGB image from the robots' camera is converted to YUV and the Y channel is extracted. Then binary thresholds highlights the white regions, and apply morphological transformations to them. The image frame is divided in four vertical regions, which are related to the distance between the ball and the robot, the regions are called: at, close, far and very far. They were created in order to apply different morphological transformations in each region. For this approach, the robot's head is considered to turn horizontally.
Finally, the method extracts the slices of the images containing white regions. The DNN then classifies these slices as containing ball or not.
The input image has the dimension of 80x80x3, the DNN has 4 convolutional layers and 3 fully connected layers. The first hidden convolutional layer has 32 kernels of 11x11 with stride 4 with the input image. The second convolutional layer has 32 kernels of 5x5 with stride 1. The third convolutional layer has 32 kernels of 3x3 with stride 1. The fourth convolutional layer has 32 kernels of 3x3 with stride 1. The fully-connected layers have 512 neurons each. The ReLU non-linearity is applied to the output of every convolutional and fully-connected layer. The max-pooling is applied in the first, second and fourth convolutional layers with 3x3 kernel size and stride 2. The DNN time spent to classify an image on the computer used by the robot is about 20 milliseconds.
The network's training was performed in an Intel i7-7700HQ 2.8 GHz computer, 32GB DDR4 2133MHZ of RAM memory, 480GB of SSD, NVIDIA GeForce GTX 1060 6GB DDR5, running Linux Ubuntu 14.04. The DNN was implemented in Python and Caffe.
3.2 Visual Memory
The team proposes the implementation of a module, which is responsible for saving information about the observations done by the robots for short periods of time. It implements a Kalman Filter that tracks moving objects on the frames obtained by the vision system, then keeps the position's belief of a object while identifying other objects on screen, such as landmarks, robots and the ball. The method is capable of presenting constant information about objects' positions even if the object is occluded or out of the robot's field of view.
3.3 Localization
It uses the information obtained by the visual memory module as input information to determine the robot's position on the field. It implements a Monte-Carlo Localization (MCL) method, described by Almeida, Costa and Bianchi[1], which uses the standard deviation of the particles position in order to change the quantity of particles used by the particle filter, and uses the particles weight as a error factor to scatter particles with lower values of weight, enabling the MCL to recover from the kidnapped robot problem.
The method was evaluated in simulation, where it was tested the localization capacity to solve three main localization problems: the global localization, the module determines the robot position from no initial information; the position tracking, which is the capacity of keeping tracking of the robot's position as it moves; and the kidnapped problem, in which, after been moved, or suffering from unmodeled movement error, the localization needs to find the correct robot's position.
3.4 Decision
The Decision process is responsible for deciding what is the best action the agent must perform, given the information of the Localization and Vision processes, aiming to score a goal or a setplay between robots. Thus, as already presented by Perico et. al [15], all the processes of the RoboFEI-HT system communicate following the Cross architecture.
This year, the Decision process was updated, creating behaviors for each robot as: goalkeeper, defender, midfielder and striker. Using data from the Localization process and the defined behavior, the Decision process keeps the robot in a specific region of the field, searching for the ball. Depending on the behavior of the robot, the action (or the sequence of actions) is performed as follows:
- Goalkeeper: the goalkeeper is placed in the goal area and it stays still, searching the ball. When it finds the ball and, if the ball is near to the robot, it walks to the ball, aligns, kicks the ball forward and walks back to its goal area;
- Defender, Midfielder and Striker: each robot is self-positioned in its area and, when the robot finds the ball, it walks to the ball, dribbles, passes or kicks to the goal. The strategy of the performed action follows our previous researches that uses Qualitative Spatial Reasoning, Case-Based Reasoning and Reinforcement Learning, as presented in [9,10,11].
3.5 Movement Control
As aforementioned the gait pattern generator of the DARwIn-OP is used to generate the sinusoidal patterns in order to control the robot's servo-motors for enabling the robot to walk. Each movement has a particular set of attributes, which changes the patterns generated according to the movement. The control module is responsible to control the gait pattern generator, changing its attributes as needed and communicating these patterns to the servo-motors.
3.6 Communication
This module is responsible to keep the communication among robots of the same team, the communication with the game controller and the broadcast of the variables used by the telemetry system. It is done by using UDP protocol through wi-fi connections to send and receive information.
3.7 Telemetry
The telemetry system remotely monitors the robots' state, during the matches or experiments. It receives the information broadcasted by the communication module, interprets and presents the information on screen. Among the information is: the robots' believed position and orientation, its battery status, which modules are working, and specific data from each module. This helps the team to understand the robot's behavior in various situations.
4 Work in Progress
The team has been working on improvements along the year, in order to deliver robots capable of playing soccer competitively.
4.1 Control Feedback
In order to improve the gait accuracy of the robot, the team proposes the use of strain gauges in the robot's feet. This sensor enables the robot to correct its walking capabilities according to the situation. The main idea is to use strain gauges in each cleat of the robot's feet, by sensing the pressure in its feet, the robot is able to correct its center of mass, thus preventing from falling.
4.2 Odometry System
A odometric system is in development, which has the goal of determining the amount of movement executed by the robot, through the analyses of the servo-motors position, the geometrical properties of the robot, reverse kinematics and inertial sensors. This information can be used by the localization system to predict the robot's position.
4.3 Teen Sized Robot
The team is working on a new robot. It will be 85 cm tall and 7 kg, which comprises both Kidsize and Teensize humanoid league's requirements. It will have aluminum and plastic coated in carbon fiber parts, 22 servo-motors giving the robot 20 degrees of freedom, where each knee uses two servo-motors in order to increase torque. The legs and shoulders uses the Dynamixel MX-106 while the arms uses Dynamixel MX-64 and the head uses the Dynamixel XM-430. In order to have easy access to the internal robot's state, the robot will have a touch screen in its chest, making possible the diagnose fails. Figure 3 shows a picture of the ongoing project of the teen sized robot.
5 Publications
The group has publications on the main robotics journals and conferences in the world. The team published ten papers in the International Latin American Robotics Symposium [1,13,12,15,17,18,19,20,21,22], one paper published in the International RoboCup Symposium [2], and eight other major publications [3,4,5,6,7,8,11,14].
The team also contributes with image sets for the Imagetagger.
6 Conclusion
Thus, this work presented the team's development towards its participation in this year's RoboCup, to be held in Montreal, Canada. The team commits to participate in the competition and to enable a team member to be a referee with sufficient knowledge of the rules.
References
- Almeida, A.C., Costa, A.H.R., Bianchi, R.A.C.: Vision-based monte-carlo localization for humanoid soccer robots. In: 2017 Latin American Robotics Symposium (LARS) and 2017 Brazilian Symposium on Robotics (SBR). IEEE (2017)
- Bianchi, R.A.C., Costa, A.H.R.: Implementing computer vision algorithms in hardware: an FPGA/VHDL–based vision system for mobile robot. In: Birk, A., Coradeschi, S., Tadokoro, S. (eds.) RoboCup–01: Robot Soccer World Cup V. Lecture Notes in Artificial Intelligence, vol. 2377, pp. 281–286. Springer Verlag, Berlin, Heidelberg (2002)
- Bianchi, R.A.C., Martins, M.F., Ribeiro, C.H.C., Costa, A.H.R.: Heuristically-accelerated multiagent reinforcement learning. Cybernetics, IEEE Transactions on 44(2), 252–265 (Feb 2014)
- Bianchi, R.A.C., Celiberto, L.A., Santos, P.E., Matsuura, J.P., de Mantaras, R.L.: Transferring knowledge as heuristics in reinforcement learning: A case-based approach. Artificial Intelligence 226, 102–121 (2015)
- Bianchi, R.A.C., Santos, P.E., da Silva, I.J., Celiberto, L.A., de Mantaras, R.L.: Heuristically accelerated reinforcement learning by means of case-based reasoning and transfer learning. Journal of Intelligent & Robotic Systems pp. 1–12 (2017)
- Celiberto, L.A., Ribeiro, C.H.C., Costa, A.H.R., Bianchi, R.A.C.: Heuristic reinforcement learning applied to robocup simulation agents. In: Visser, U., Ribeiro, F., Ohashi, T., Dellaert, F. (eds.) RoboCup. Lecture Notes in Computer Science, vol. 5001, pp. 220–227. Springer (2007)
- 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)
- Homem, T.P.D., Perico, D.H., Santos, P.E., Bianchi, R.A.C., de Mantaras, R.L.: Qualitative case-based reasoning for humanoid robot soccer: A new retrieval and reuse algorithm. In: International Conference on Case-Based Reasoning. pp. 170–185. Springer (2016)
- Homem, T.P.D., Perico, D.H., Santos, P.E., Costa, A.H.R., Bianchi, R.A.C.: Improving Reinforcement Learning results with Qualitative Spatial Representation. In: BRACIS 2017 - Brazilian Conference on Intelligent Systems. Uberlandia, MG (2017)
- Homem, T.P.D., Perico, D.H., Santos, P.E., Costa, A.H.R., Bianchi, R.A.C., de Mantaras, R.L.: A hybrid approach to learn, retrieve and reuse qualitative cases. In: LARS/SBR 2017 - 14rd Latin American Robotics Symposium and 5th Brazilian Symposium on Robotics. Curitiba, PR (2017)
- Homem, T.P.D., Perico, D.H., Santos, P.E., Bianchi, R.A.C., de Mantaras, R.L.: Retrieving and reusing qualitative cases: An application in humanoid-robot soccer. AI Communications 30(3-4), 251–265 (jul 2017)
- Perico, D.H., Santos, P.E., Bianchi, R.A.C.: Vision-based monte carlo localization without measurement: A qualitative approach during update phase. In: SBR-LARS Robotics Symposium (SBR LARS), 2015 Joint Conference on (Oct 2015)
- Perico, D.H., Homem, T.P.D., Almeida, A.C., Silva, I.J., Vilão, C.O., Ferreira, V.N., Bianchi, R.A.C.: A robot simulator based on the cross architecture for the development of cognitive robotics. In: Robotics Symposium and IV Brazilian Robotics Symposium (LARS/SBR), 2016 XIII Latin American. pp. 317–322. IEEE (2016)
- Perico, D.H., Silva, I.J., Vilão, C.O., Homem, T.P.D., Destro, R.C., Tonidandel, F., Bianchi, R.A.C.: Robotics: Joint Conference on Robotics, LARS 2014, SBR 2014, Robocontrol 2014, São Carlos, Brazil, October 18-23, 2014. Revised Selected Papers, chap. Newton: A High Level Control Humanoid Robot for the RoboCup Soccer KidSize League, pp. 53–73. Springer Berlin Heidelberg, Berlin, Heidelberg (2015)
- Perico, D., Silva, I., Vilao, C., Homem, T., Destro, R., Tonidandel, F., Bianchi, R.: Hardware and software aspects of the design and assembly of a new humanoid robot for robocup soccer. In: Robotics: SBR-LARS Robotics Symposium and Robocontrol (SBR LARS Robocontrol), 2014 Joint Conference on. pp. 73–78 (Oct 2014)
- Romela: Darwin op: Open platform humanoid robot for research and education, http: //www.romela.org/main/DARwIn\\_OP
- Silva, I.J., Perico, D.H., Homem, T.P.D., Vilao, C.O., Tonidandel, F., Bianchi, R.A.C.: Using reinforcement learning to improve the stability of a humanoid robot: Walking on sloped terrain. In: SBR-LARS Robotics Symposium (SBR LARS), 2015 Joint Conference on (Oct 2015)
- Silva, I.J., Perico, D.H., Costa, A.H.R., Bianchi, R.A.C.: Using reinforcement learning to optimize gait generation parameters of a humanoid robot. In: XIII Simpósio Brasileiro de Automação Inteligente (2017)
- Silva, I.J., Perico, D.H., Homem, T.P.D., Vilão, C.O., Tonidandel, F., Bianchi, R.A.C.: Humanoid robot gait on sloping floors using reinforcement learning. In: Latin American Robotics Symposium. pp. 228–246. Springer (2016)
- Silva, I.J., Vilão, C.O., Costa, A.H.R., Bianchi, R.A.C.: Towards robotic cognition using deep neural network applied in a goalkeeper robot. In: 2017 Latin American Robotics Symposium (LARS) and 2017 Brazilian Symposium on Robotics (SBR). IEEE (2017)
- Vilão, C.O., Celiberto Jr., L.A., Bianchi, R.A.C.: Evaluating the performance of two visual descriptors techniques for a humanoid robot. In: SBR-LARS Robotics Symposium (SBR LARS), 2015 Joint Conference on (Oct 2015)
- Vilão, C.O., Perico, D.H., Silva, I.J., Homem, T.P.D., Tonidandel, F., Bianchi, R.A.C.: A single camera vision system for a humanoid robot. In: Robotics: SBR-LARS Robotics Symposium and Robocontrol (SBR LARS Robocontrol), 2014 Joint Conference on. pp. 181–186 (Oct 2014)