UnBeatables Team Description

Fernanda Diniz, Luiz Felipe

Automation and Robotics Laboratory (LARA) - University of Brasília (UnB), Brasília - Distrito Federal, Brazil

https://www.youtube.com/watch?v=CzJJD1Vegjk · https://www.facebook.com/unbeatablesbr · https://www.instagram.com/unbeatablesbr


Abstract UnBeatables is a Brazilian Standard Plataform League - SPL - team from the University of Brasília. This paper provides detailed insights into the team's formation and the current state of the competition code. It also explores the team's previous contributions to the literature. Additionally, the social activities undertaken by the group are covered. The team has exhibited impressive performance in regional competitions and special categories, with local authorities acknowledging the social benefits of their educational initiatives within the community. Currently, the team is focused on enhancing its competition code post-pandemic, with the aim of resuming participation in national and international competitions.

Keywords: Humanoid robotics · computer vision · robot soccer.

Introduction

UnBeatables is a technological and social project affiliated with the University of Brasília (UnB), specifically with the Automation and Robotics Laboratories (LARA) and the Robotics and Control Systems Lab (LaRSis). These labs conduct research and developments in the subjects of computer vision, localization and mapping, locomotion, robot cooperation, and human-robot interaction.

At 2013, the NAO robot emerged as a platform that encompassed the main areas of study for the laboratory's college. Additionally, the opportunity to apply and test ongoing research in the real environment of RoboCup 2014, held in Brazil, motivated the creation of an SPL team. The team participated in the SPL Drop-In category, achieving first place in the MVP (Drop-in Only) category. Since then, UnBeatables continued to improve the research with a focus on future competitions.

However, for RoboCup 2018, the team faced a new challenge. With the end of the Drop-in category, UnBeatables and most Brazilian teams would be unable to compete due to an insufficient number of robots. The solution was to join forces with another Brazilian team, RinoBot, and participate in the event as a cooperative team under the name AstroNAOtas. This partnership was extremely enriching as both teams consisted of undergraduate students.

At the end of 2018, the University of Brasília and LARA acquired three NAO v6 robots, enabling better strategic development for the team in SPL games.

With the arrival of the pandemic, UnBeatables faced yet another challenge, just like other teams. With the suspension of in-person competitions, it was necessary for teams to develop studies and strategies for online simulation competitions. In this simulation scenario, UnBeatables achieved good results, securing the 1st place in both LARC and Robocup 2021, in the SPL category. However, still during the pandemic, the UnBeatables team members completed their undergraduate degrees, and due to the pandemic, there were no new additions to the team, resulting in the team's absence from the 2022 event.

In 2023, UnBeatables returned to competitions, taking part in LARC 2023. However, there were no other teams in the SPL category, so the team played in the mixed category, with humanoid teams versus SPL teams, and in this mixed competition, UnBeatables achieved 2nd place.

Now in 2024, the team aims to participate again in RoboCup 2024 and contribute to the development of the SPL category.

The Team

Team: UnBeatables

Leaders: Fernanda Diniz and Matheus Luiz

Members: 6 Undergraduate Students - Ana Letícia Melo, Fause Carlos, Fernanda Diniz, Luiz Felipe, Matheus Luiz and Taynara Vitorino

1 Ph.D professor - Roberto de Souza Baptista

Country of origin: Brasil

Affiliation: Universidade de Brasília - UnB

Currently: 2 H25 NAO v4 Competition and 3 NAO v6 for Developers. Therefore the team is interested in playing the Challenge Shield (CS).

Video presentation: https://www.youtube.com/watch?v=CzJJD1Vegjk

Email: [email protected]

Facebook: https://www.facebook.com/unbeatablesbr

Instagram: https://www.instagram.com/unbeatablesbr

Fig. 1. UnBeatables Team at LARC 2023
Fig. 1. UnBeatables Team at LARC 2023

Code Description

3.1 Architecture

In the first attempt to build a software architecture, the code relied on ROS [1], a robust but high demanding processing framework. The subsequent attempt, based on B-Human 2014 code, yielded good results and served as a foundation for transitioning to an architecture fully designed by our own team. The next architecture arrangement developed in 2015 is the currently adopted one for our V4 robots. Inspired by rUNSWift's blackboard implementation, the improved architecture is based on shared memory for all threads, utilizing the boost library to achieve clean and efficient code.

The code for the V6 NAO robots was entirely developed from scratch by our team and remains under constant research and testing. While it drew upon the foundational principles of the previous code, it was comprehensively redesigned utilizing a Python-based architecture.

The code modules will be described in the following sections. We anticipate that the motion and sensor access module for NAO V4 is the only one not produced by UnBeatables and was imported from the rUNSWift team.

3.2 Locomotion

With the advantages of incorporating a motion module intertwined with other code capable of executing precise movements in mind, we made the decision to incorporate the rUNSWift motion into our new architecture. Since it is developed in the same language as our framework, we could achieve a superior integration when compared to previous attempts with other team's code. Our autonomous behavior takes on the responsibility of determining the appropriate action type based on sensor data and information obtained from image processing conducted within the perception thread, as elaborated in the following section. Subsequently, the desired action is executed by activating the motors in accordance with the rUNSWift parameters.

Despite the fact that the current strategy relies on rUNSWift and has demonstrated commendable action performance, we have a long-term plan to develop our own motion library capable of enabling walking on artificial grass. In fact, we have been adapting the kick routine for the v6 robots. One of the techniques we have employed was developed by the Brazilian team Jaguar and emphasizes the strength of the movement. Additionally, we have created an approach that ensures a stable posture prior to executing the kick. Depending on the game situation, either of these approaches may be utilized.

3.3 Perception

The perception module is responsible to filter sensor data, detecting and classifying features and objects, as well as mapping and locating the robot within the environment. For detection purposes, we have chosen to utilize the OpenCV library [6], given its well-developed classical computer vision algorithms. Within this module, various detectors have been implemented for specific features, but the main method is the same for all of them: searching for candidates exhibiting similar characteristics and utilizing a classifier to ascertain the true matches. By segmenting the soccer field based on its green color, it becomes possible to apply the detectors to extract features such as side lines and the midfield circle. Goal posts and other robots can be detected beyond the green area. In the previous year, two distinct methods were employed for ball detection: one relied on contrasting regions against the green field to detect it from a distance, while the other employed a machine learning model for detection when the ball was near the robot.

For 2018 competitions, we developed a new technique that proved to be efficient for both afar and near detection, and a low processing demand approach. We developed a method based on the Blob Detector implemented on OpenCV [18], performing logical operations between color masks and using different approaches to robot top and bottom cameras. This method is high depended of a good calibration, and to assist that we also developed a user interface framework for manual calibration.

From the 2019 competitions onward, we harnessed our efforts to devise a new ball detection module for our latest V6 robots. Utilizing the machine learning technique Haar Cascade Classifier, we successfully created a robust and expedient solution, particularly adept at swiftly detecting nearby balls. Moreover, our robots also identify opponents' jerseys, enabling accurate tracking of both teammate positions and adversary team members. This enhanced functionality has remained integral to our system, continuing to contribute to our competitive performance to this day.

As for the integration of other sensors of the NAO robot, we currently rely on the raw data they provide, mainly using inertial sensor and sonar data for obstacle avoidance and fall management. We are also developing a localization algorithm for the robot based on the Kalman Filter.

3.4 Autonomus Behavior

When the team participated in RoboCup Drop-In games, the development focused on creating a conservative and defensive strategy avoiding collision since the evaluation was based in robots performance and behavior. Even now in major league, the individual strategy is still defensive. Some states include the search for the ball, the ball approaching, alignment with goal, kicking routine and obstacle avoidance. The goalkeeper has a different behaviour focused on spotting the ball, aligning with goal posts, and catching the ball.

Each robot runs both the Game Controller state machine and the individual behavior state machine. With the objective of formulating a collective game plan using data acquired from the robot itself as well as through communication with other team robots, our team has endeavored to develop complementary behaviors for different players. We have incorporated distinct obstacle avoidance and kicking routines tailored to specific robots to assess their impact on overall team performance.

3.5 Comunication

Our communication module is now more robust and fully integrated with the Game Controller. Previously, with only two robots, communication played a limited role given the state of our code. However, with the addition of three more robots, we are now utilizing communication more effectively and exploring its capabilities further. The structure is already well-established, and we are actively incorporating relevant data to be shared among the robots, optimizing our overall team performance.

We are currently developing a localization system based on the Kalman Filter, as mentioned in the Perception Module, and we are also creating a strategy for the team. With this in mind, the communication module will be more extensively utilized.

Past History

4.1 Locomotion and Mapping

For a long time, at LARA, the projects on mobile robots had been developed on wheeled platforms, such as the Pioneer from Adept, and on quadrupeds developed in the Lab with the purpose of studying gait control and stabilization algorithms. With an increasing interest on the subject, the research moved to humanoid robotics: a small platform, which consisted on a Robotis Bioloid robot, along with supplemental pressure sensors installed in the feet, an Inertial Measurement Unit in the robot's center of gravity, and a Gumstix Verdex PXA27 0 ARM processor. All of the software was custom-made for the platform, focusing on real-time control and data acquisition [7]. Within this platform, first experiments on posture control using inertial sensors were performed using both traditional PID controllers [6] and fuzzy controllers [8]. Concerning humanoid motion control, in particular controlling different modes of locomotion, our work has concentrated in improving gait speed and robustness, and also smoothing transitions between different gait modes. Recently, we have used a Central Pattern Generator (CPG) to generate gait commands to a simulated humanoid robot [9]. Different nonlinear models were used to represent the CPG: Matsuoka oscillators and truncated Fourier series. Due to the difficulty to obtain the parameters of the oscillators in order to obtain a suitable gait, different optimization methods, such as Particle Swarm Optimization (PSO) and Genetic Algorithm (GA), have been used to provide the parameters of the coupled oscillators. The oscillators provide the trajectories of each joint, and also independent parameters that enable setting gait speed and locomotion mode. Raphael Resende, a former team member, proposed an algorithm based on extended Kalman Filter to locate a humanoid robot inside a soccer field.[10] The robot distance to field structures can be estimated using the data from inertial sensors as gyroscope and accelerometer as well as features observed by the camera facing the ambiguity of a symmetrical field.

4.2 Robot Interaction

With respect to robot interaction with environment and humans, team members, based on LIRMM, France, use a Fujitsu Hoap3 robot that was programmed to perform collaborative tasks with a person, such as pouring water. The methodology, mainly described in [11], is based in applying a novel mathematical framework to define, in an uncomplicated fashion, new kinematic tasks based on the relative pose between the person and the humanoid. The experiments involved pose representation and computation using dual quaternions and robot teleoperation based on human motion. Concerning the Aldebaran's NAO platform, a former member, in France, had conducted a work on computer vision and odometry based on inertial sensors that were integrated to provide localization estimates. More specifically, the SURF algorithm (Speeded Up Robust Features) was used to detect landmarks in the environment and guide the robot navigation throughout a pre-defined set of landmarks [12]. That same member has also developed an interface for teleoperation control, in which she used the Microsoft Kinetic to capture some movements to be mimicked by NAO [13]. Extending this work and using NAO, Henrique Balbino developed a solution for teleoperation by human body movements. The visualization of the environment was implemented with virtual reality, simulating the physical presence of user in the environment where the robot is located [14]. Other team members, when based in Korea, had used the platform to manipulate objects in an industrial environment [15]. Cristiana Miranda and Yuri Rocha worked on the challenge proposed in 2016 RoboCup and created a framework for the communication between two robots without the use of wireless network. They also studied control techniques in order to develop a cooperative control between humanoids robots [16]. The members have also worked on a paper that revises and extends the problem of robust singularity and joint limits avoidance to the cooperative task-space using unit dual quaternion framework—ensuring singularity-free coupled representation of the cooperative space [17].

Impact and Commitment

In the past, at LARA, projects involving the NAO platform primarily relied on simulations and virtual demonstrations of codes and models. The formation of our team facilitated the acquisition of two NAO robots, establishing an ideal research setting that sparked students' enthusiasm for exploring the realm of robotics. Our focus on integrating innovation, education, and technology has driven us to undertake projects that extend beyond the confines of academia, benefiting the local community. Our team members actively engage with schools and hospitals, showcasing the NAO robot, discussing pertinent technological topics, and imparting programming skills to high school students. The societal impact of this initiative has garnered recognition not only from our own institution but also from external organizations. This expansion of our regular projects has also opened up avenues for future research, exploring ways to effectively harness the NAO platform for social causes and create positive ripples in society. Additionally, our involvement in competitive environments naturally leads to other intriguing research endeavors. These competitions present challenges that demand resolution while simultaneously driving the team's ongoing pursuit of continuous improvement.

Conclusion

UnBeatables is a technology and social project from the University of Brasília composed of students and researchers with expertise in computer vision, humanoid motion control, and other fields of robotics. Our main goal is to represent Latin America in the global robotics scene and to promote knowledge by actively contributing to the engineering community and advancing science and technology in society. By participating in competitions, our primary objective is to deepen our knowledge and contribute to the democratization of education, particularly in robotics studies in public universities across Latin America. We aim to significantly improve the field through our efforts. We have submitted this team description paper in accordance with the call for participation in the RoboCup 2024. We are hopeful that this summary is enough to demonstrate the eligibility of our team for RoboCup 2024. We plan and desire to attend the competition in Eindhoven, but due to funding challenges, there is the possibility of not being able to participate in the event.

References

  1. Farias, C. M., Dalosto, F. M., Rocha, Y. G., Bernardes, M. C. (2016). Interface entre o framework ROS e a plataforma NAO.
  2. Röfer, T., Laue, T., Müller, J., Bartsch, M., Böckmann, A., Maaß, F., ... Wenk, F. Team Description for RoboCup 2013.
  3. Hengst, B. (2014). runswift walk2014 report robocup standard platform league. School of Computer Science and Eng., Univ. of New South Wales.
  4. "NAOqi Documentation v2.1." http://doc.aldebaran.com/2-1/, 2014. [Online; accessed 15-February-2018].
  5. "Boost c++ libraries documentation." http://www.boost.org/, 2015. [Online; accessed 15-February-2018].
  6. G. Bradski, "The OpenCV Library," 2000.
  7. F. B. Cavalcanti and G. A. Borges, "Estabilização de marcha para um robô humanoide," in XVI Congresso de Iniciacao Cientifica, (Universidade de Brasilia), 2010.
  8. F. B. Cavalcanti, N. Buzeto, A. Bauchspiess, and G. A. Borges, "Estabilização fuzzy da postura de um robô humanoide," in X Simposio Brasileiro de Automacao Inteligente (SBAI), 2011.
  9. R. Cortes de Paiva, S. Romariz, A. Ricardo, and G. Araújo Borges, "Searching cpg parameters for humanoid gait using particle swarm optimization and genetic algorithm," in 16th International Conference on Advanced Robotics (ICAR), pp. 1–6, IEEE, 2013.
  10. R. Resende, "Localização de robo humanoide aplicado a futebol de robôs," tech. rep., Universidade de Brasilia, 2016.
  11. B. V. Adorno, A. P. L. Bó, P. Fraisse, and P. Poignet, "Towards a cooperative framework for interactive manipulation involving a human and a humanoid," in Robotics and automation (ICRA), 2011 IEEE international conference on, pp. 3777–3783, IEEE, 2011.
  12. M. P. de Carvalho, "Basic Functions for Mapping an Indoor Environment with a Humanoid," tech. rep., ENSTA Bretagne, 2014.
  13. M. P. de Carvalho, "Controle de movimentação de humanoide em tempo teal por teleoperação," tech. rep., Universidade de Brasilia, 2014.
  14. H. Balbino, "Desenvolvimento de sistema de teleoperação para robô humanoide," tech. rep., Universidade de Brasilia, 2016.
  15. D. H. Jung, J. Park, and M. Schwartz, "Towards on-site autonomous robotic floor tiling of mosaics," in Control, Automation and Systems (ICCAS), 2014 14th International Conference on, pp. 59–63, IEEE, 2014.
  16. C. M. Farias and Y. G. Rocha, "Metodos de comunicação visual e controle cooperativo entre robos humanoide," tech. rep., Universidade de Brasilia, 2016.
  17. C. M. Farias, "Design of singularity-robust and task-priority primitive controllers for cooperative manipulation using dual quaternion representation." 2017
  18. OpenCV Documentation, https://docs.opencv.org/3.0.0/d0/d7a/classcv_1_1SimpleBlobDetector.htm, 2015.