RoboIME 2024: Skills and Tactics of a Debuting Brazilian Team

Renato da Paixão Alves, Vitor Amadeu Sousa, Venicius Rocha Jr, Dálet Miranda, Fabricio Asfora, Raquel Belchior, Johannes Salomão, Franciele Sembray, João Pedro Gomes, Joseph Vieira, Daniel Bretherick, Rafael Cangussú, Fabio Suim Chagas, Hebert Azevedo de Sá, Paulo F. F. Rosa

Instituto Militar de Engenharia Rio de Janeiro Brasil

http://roboime.com.br/


Abstract This article describes the overall information for our participation in RoboCUp 2024. At this point, as a newcomer, our efforts are concentrated on advancing the programming and algorithms of our team for such tasks as the skills, tactics, behaviors, control, and deep machine learning. The overall concepts are in agreement with the rules of SPL 2024.

Keywords: Reinforcement Learning · Yolo v5 · EKF (Extended Kalmann Filter) · SLAM algorithm · Deep CNN · B-Human code

1 Introduction

The RoboIME-NAO team, affiliated with the Laboratory of Artificial Intelligence, Robotics, and Cybernetics (LIARC), embarks on an exciting journey in the field of humanoid robot soccer within the Standard Platform League (SPL) at RoboCup. LIARC has recently acquired 12 (twelve) NAO humanoid robots to establish a foundation for advanced research in Artificial Intelligence and engineering. Figure 1 shows the preliminary tests with the recently acquired NAO V6 platform. Additionally, the team aspires to participate competitively on the international stage of RoboCup SPL.

Figure 1 illustrates the first steps with the recently acquired NAO V6 platform during the preliminary tests. This platform serves as the cornerstone for the team's endeavors. RoboIME-NAO is an extension of the RoboIME team [3], bringing prior experience from RoboCup competitions. The team has earned notable achievements in the Small Size League (SSL), claiming the title of viceworld champion in 2018, 2019, and 2022. Furthermore, they secured the championship at the Latin American Robotics Competition (LARC) in 2017 and achieved runner-up positions in 2017, 2018, 2019, and 2022, solidifying their status as regional leaders in the SSL category.

LIARC's track record in competitions involving humanoid robots has also encompassed participation in the entry-level category of LARC since 2019, specifically in the Humanoid Robot Race (HRR). In this category, RoboIME-NAO consistently secured two consecutive third places in 2021 and 2022. It is worth noting that the team developed its platform from scratch for the HRR category, serving as an exemplary showcase of innovation and ingenuity in crafting customized solutions.

With this history of success and knowledge acquisition over the years, RoboIME-NAO eagerly anticipates tackling the challenges of SPL in the RoboCup. The team envisions making significant contributions to the advancement of robotics research and enhancing the prestige of our AI group.

Fig. 1. First steps with the real platform
Fig. 1. First steps with the real platform

1.1 Code Usage

RoboIME, as a newcomer, used the B-Human code release as a reference [5].

1.2 Structure of the TDP

This article describes the overall information for our participation in RoboCUp 2024. The article is organized as follows: Previous experiences in Robotic competitions in Section 2, the league Literature review in Section 3, and mechanical design in Section 3. Contribution of our team, in Section 4. Conclusions are presented in Section 5.

2 Previous experiences of RoboIME at robotics competitions

RoboIME has earned notable achievements in the Small Size League (SSL), claiming the title of vice-world champion in 2018, 2019, and 2022. In the Latin American Robotics Competition, RoboIME consistently secured two consecutive third places in 2021 and 2022, participating in the Humanoid Robot Race (HRR) league.

Although, all team members are undergraduate and graduate students of our Robotics Laboratory, both SSL and SPL teams are composed of different students, that dedicate their time to achieve good results in the competition, and to accomplish sound academic marks, as well.

2.1 IEEE HRR - Humanoid Robot Race

Humanoid Robot Racing (HRR) is one of the categories within the IEEE Latin American Robotics Competition (LARC)[4], aimed at driving research and development in humanoid robots. The challenge involves creating robots and locomotion algorithms capable of navigating a course in the shortest possible time, with the robot demonstrating the best-timed performance declared the winner.

In order to participate in the HRR, the RoboIME-Humanoide team is dedicated to the comprehensive development of its robot, along with the associated algorithms. Currently, we present a platform with 18 degrees of freedom (DOF) distributed along the body of the robot: two DOFs for head movement, two for shoulder movement, and 12 for lower limb locomotion. Notably, the fairing of the robot has parts entirely printed in PLA. Figure 2 shows the current version of the HRPIME-23 developed by the team.

The processing unit comprises a microprocessor, responsible for handling all operations related to the intelligence of the robot, and an associated microcontroller, tasked with precise motor control. Furthermore, the platform integrates various sensors, including distance, accelerometer, gyroscope, magnetometer, and an RGB camera. We use a Raspberry Pi 3 motherboard and an STM32 microcontroller.

For the execution of the locomotion of the robot, we have developed two algorithms. The first one is an interactive algorithm based on the human gait cycle [2]. The second one is an algorithm based on inverse kinematics, optimized through a genetic algorithm, Figure 3 describes the second algorithm in more detail. In summary, the team has achieved significant results, even within a relatively short period of activity, demonstrating efficiency and ongoing progress in robotics.

Fig. 2. HRPIME-23: Humanoid Robotic Platform
Fig. 2. HRPIME-23: Humanoid Robotic Platform
Fig. 3. Walking algorithm based on inverse kinematics with optimization by genetic algorithm [1]
Fig. 3. Walking algorithm based on inverse kinematics with optimization by genetic algorithm [1]

2.2 RoboCup: SSL (Small Size League)

RoboIME participates also in the Small Size Soccer League. The team has already gotten good results on previous occasions: (i) First place in the Latin American Robotics Competition 2017 (LARC 2017); (ii) second place in seven different competitions, RoboCup Brazil Open 2011, LARC 2012, RoboCup 2018 (division B), LARC 2018, RoboCup 2019 (division B), LARC 2019 and RoboCup 2022 (division B); (iii) third place in LARC 2022.

All students who work on the SSL project are members of the Laboratory of Artificial Intelligence, Robotics, and Cybernetics (LIARC) at IME. The team's previous works were used as reference, as well as the help from former members of the team as consultants and tutors.

3 SPL: state-of-the-art at a glance

To catch up with the achievements of the active teams in the league, we have done a comprehensive literature review on selected TDPs and synthesized what we found to be the notorious characteristics of each team (see Table 1).

  1. Simulation: SimRobot and Webots are the most popular simulators, widely used by several teams.
  2. Behavioral Architecture: The CABSL architecture is common across several teams, providing a framework for behavior control. Some teams also develop their specific architectures, such as the Zweikampf State.
  3. Computer Vision: The use of convolutional neural networks (CNNs) is predominant for object detection, especially the YOLO (You Only Look Once) architecture. Traditional algorithms are also used in conjunction with ML techniques, such as random forests and Multilayer Perceptron.
  4. Machine Learning: Both traditional algorithms and ML techniques, such as deep learning and neural networks, are employed for different tasks, such as object classification and decision-making.
  5. Motion Algorithms: A variety of approaches are used, ranging from phasebased motion generators to trajectory optimization using genetic algorithms. Open-sourcing of code and collaboration between teams are common in this area.

Table 1. Comparativo dos métodos dos trabalhos relacionados.

Contribution to the League Code Usage Motion Algorithm Field detection Behaviour Computational Vision Architecture Ball detection Player detection Field detection Ball detection Behaviour Architecture Simulator Teams
other contributions own code New algorithm NA NA NA CNN SimSpark CNN Berlin United
robot detection HTWK (new) CABSL NA YOLO v3 ML CABSL Webots Bembelbots
image dataset B-human (new) $\operatorname{SLAM}$ NA YOLO ML $\frac{\text{MCSDA}}{\text{CABSL}}$ SimRobot SPQR Team
new code B-Human,
rUNSWift (new)
rUNSWift CNN new algorithm CNN ROS2 RaiSim NomadZ
new code B-Human(new) Dynamic Calibration B-Human (new NA YOLO CNN SimRobot Event-based CNN SimRobot Nao Devils
DiTEF B-Human(new) Rust EKF Yocto DiTEF/CNN DiTEF Webots HULKs
new code NAO Devils(new) Hengst ML ML MLP ROS2 PyBullet $_{\rm rUNSWift}$
CNN-based whistle detection NAO Devils(new) Nao Motion ML YOLO v3 ML NA HTWK Robots NA
Robocup Symphosium rUNSWift (new) $\operatorname{SLAM}$ Potential Field SLAM Zweikampf EKF CABSL SimRobot CABSL B-human

4 Advancements for RoboIME team

Our team has been developing algorithms to make it possible to achieve sound solutions. The B-Human code release is used as a reference.

For the ball detection, YOLOv8 software is used to detect the ball, as well as the robots and other features of the field, during the match.

The path planning for the robots is based on a modified RRT (Rapdly-Growth Random Tree) search algorithm. Extended Kalman-Filter (EKF) is also used to predict ball position for dribbling and shooting.

Preliminary experiments applied to the real robots are show in Figure 4.

4.1 NAO Setup Tutorial

To train the students in dealing with the team of robots, we elaborated a summarized tutorial, that is available at our Git Hub (both in English and Portuguese). This might be useful for our team members, as well as for other teams in Brazil.

The tutorial provides a comprehensive guide on unit testing on the NAO robot, covering various functionalities such as walking, arm movement, head and distance sensors, voice control, voice recognition, LEDs, camera, and transitioning between sitting and standing.

Each section details the steps required to perform the tests, from initial setup in the Choregraphe IDE to running the programs and viewing the results. The tutorial includes links to demonstrative videos for each test and references additional sources for further information.

5 Own Contribution

The RoboIME team aims to debut in the year 2024. Since we lack previous experience, our focus is on finding the best-fitting solutions to known and reported problems encountered by other teams with more experience in the league. We have prioritized addressing issues reported by BHuman, as we are basing our code on their released code.

Robot Vision We have identified two key issues: mischaracterizing enemies as allies and imprecision due to partial robot visualization. On the former, we aim to enrich the dataset by incorporating images with varied rotations, cuts, and lighting scenarios, thus enhancing the robustness of the neural network. Additionally, to mitigate the imprecision arising from partial robot visualization by upper and lower cameras, we propose introducing a new detection class for partial robots and assigning a relevance level to it.

Walk/Kick Engine During competitions, it's a common issue for the robot to tilt while attempting to kick the ball, particularly when the NAO robot reaches speeds close to 300mm/s. We have found documentation that highlights this problem. Our primary focus is on addressing these issues by tracking the joints of the NAO robot, aiming to enhance both speed and accuracy.

Ball Detection Our main focus is on reducing the impact of false positives on detection accuracy. To tackle this challenge, we plan to utilize the constant pixel density of the ball, approximately 0.37, to identify specific regions of interest and streamline them to the model, thus minimizing the input size. The model should aim to minimize both false positives and false negatives, with the F1-score serving as the ideal metric for its development.

Whistle Detection We have identified that a significant challenge in whistle detection is the occurrence of false positives, which impact the system's accuracy. To address this, we plan to employ adaptive filters and machine learning techniques to more accurately distinguish genuine whistle signals from ambient noise, thereby enhancing detection reliability. As a result, we aim to reduce significantly the number of false positives.

6 Final Comments

This TDP describes the main initial preparations to enable RoboIME's participation in SPL this year. Most of the programming algorithms are in progress and the team is eager to make a big debut.

Acknowledgments. This research was partially supported by the Department of Science and Technology (DCT) - Brazilian Army, FMCE/IMBEL - Brazilian Army, and our alumni association - AlumniIME. Special thanks to the graduate students at the LIARC - Laboratory of Artificial Intelligence, Robotics, and Cybernetics.

Fig. 4. Preliminary experiments
Fig. 4. Preliminary experiments

References

  1. Chagas, F.S.: Walking algorithms for robots inspired by human gait and on inverse kinematics combined with evolutionary computation. Ph.D. thesis, Instituto Militar de Engenharia (2021)
  2. Chagas, F.S., Farias, L.D.P.d., Bozza, M., Rosa, P.F.F.: A tenacity learning algorithm for humanoid robot locomotion based on the human gait cycle. In: 2020 IEEE 29th International Symposium on Industrial Electronics (ISIE). pp. 519–524 (2020). https://doi.org/10.1109/ISIE45063.2020.9152516
  3. http://roboime.com.br/, accessed: 2024-01-29
  4. https://www.cbrobotica.org/index.php/categorias/, accessed: 2024-01-29
  5. Röfer, T., Laue, T., Lienhoop, J., Lührsen, A., Meinken, Y., Schreiber, S.: Team description for robocup 2023. Tech. rep. (2023)