Naova extended abstract 2024
Olivier St-Pierre, Catarina Castro, Marc-Olivier Bisson
École de technologie supérieure
Abstract Naova is a team from École de technologie supérieure in Montreal, Canada, participating in RoboCup Standard Platform League. The team was founded in 2017 and has participated in five RoboCup competitions. The team is composed of ten bachelor students, one master student and one PhD. This extended abstract describes the team's contributions including a fixed-time model-free walking controller with prescribed performances, behavior using tactics and cards based on the 2021 B-Human code release with a new dynamic positioning module, event-based communication with a scoring system, and ball perception using deep learning with YOLO model and CycleGAN for data generation.
1 Team information
Team name: Naova
Team leader(s): Olivier St-Pierre, Catarina Castro and Marc-Olivier Bisson
Team contact email address: [email protected]
Team website URL: https://clubnaova.ca/
Country of origin: Canada
University/company affiliation(s): École de Technologie Supérieure
1.1 Team Members
Naova's team is affiliated with the École de technologie supérieure university, located in Montreal, Canada. The team was founded in 2017 and since then it has participated in five RoboCup competitions. It is composed of ten bachelor students, one master student and one PhD.
- Team leaders: Olivier St-Pierre (B.Eng), Catarina Castro (M.A.Sc), and Marc-Olivier Bisson (B.Eng)
- Members: Elias-David Zabaleta -Forero (B.Eng), Paul Joseph (B.Eng), Catherine Ouimet (B.Eng), Camilo Vela (B.Eng), Jérémy Thu-Thon (B.Eng), Mathieu Gagnon (B.Eng), Robyn Girardeau (B.Eng), Eliott Frohly (B.Eng), Yassine Kali (D. Eng).
2 Code usage
Since 2017, team Naova has been using the B-Human release 2017 code base [1]. In 2019, the team modified the WalkEngine to add a module that makes speed walking more stable [2]. We also preformed our first tests on Q-Learning [3]. In 2020, we continued our work on the WalkEngine [4] and Q-Learning [5]. In 2022, we started to use our own machine learning models to perform ball detection. After the 2023 RoboCup, Naova decided to fork the B-Human code base from 2021 [1] to mitigate our localization problem as well as line and robot perception. We will still integrate our walk controller, communication strategies and ball perception back into the new code base.
3 Team contributions
(This section contains subsections detailed below)
3.1 Walk controller
In 2019, we decided to modify the WalkEngine. Since one of the most important parts of football is speed, we looked for a way to control the motors with a higher torque while also maintaining sufficient stability for the robot.
With the tests that were performed during the 2019 RoboCup, we concluded that our motors were faster with the torque-controlled motors than without them. However, the commands we used caused the robot to shake, affecting its stability. Thus, in 2020, we made it a priority to implement new instructions to remedy the stability issue. After the 2021 RoboCup, we continued to perfect it and played with this engine at the 2022 RoboCup.
This year, we are working on a fixed-time model-free walking controller with prescribed performances ensuring robustness against uncertainties and perturbations. The proposed method aims to guarantee highly accurate path tracking and smooth walking. Moreover, we are also looking for robustness in the case of small collision to ensure repetitive falling is avoided. Finally, our goal is to reach a speed of 400 mm/s with acceptable stability.
3.2 Behavior
In our new behavior, we are now using tactics and cards based on the 2021 B-Human code release [1] framework. We are also currently developing a new dynamic positioning module influenced by the 2022 B-Human code release [1]. With this new module, it will be much easier to increase the number of players on the pitch to 7v7 in the future. Furthermore, we are working on an algorithm inspired by B-Human's smash or pass algorithm [6]. The purpose of our version of this algorithm is to calculate a score between two points to determine the best direction to shoot or pass. This approach will enable a more dynamic gameplay than specifically hard coded states. We also decided to reuse our old keeper diving motions to stop the ball and improve our old kicking motion.
3.3 Communication
For the 2022 RoboCup, we implemented a first attempt at switching the communication from time based to event based. Unfortunately, this implementation did not work as intended. However, in 2023 the team succeeded in creating the first version of event-based communication. Finally, for 2024 we are iterating on the 2023 version to maximize the information sent per packet and the relevancy of the information sent using a scoring system that can be modified.
3.4 Ball Perception
In 2020, we decided to focus on ball perception since it was one of our biggest weaknesses. We chose an approach using deep learning to do so. The model of choice to perform ball detection was the YOLO model due to its ease of use and real-time object detection capabilities. With this module in place, we now have something significantly better for outdoor matches and are less dependent on the manual camera calibration. We now have student developed code with adequate documentation, so it is easier for us to make modifications or update our model with newer versions and more datasets.
Additionally, we put in place a data processing pipeline allowing us to completely avoid manual labeling. This allows us to rapidly generate a large volume of data to train our models. To achieve this, we used our previous ball detector to automatically label simulation data, and then generate photorealistic images with the help of a CycleGAN model.
In 2023, we used an improved model compared to 2022. This year, we plan on integrating the same model back into the new code base.
4 History
Naova plans to participate at the 2024 German Open in April.
RoboCup participation and match results
| RoboCup Event | Category | Opponent | Result |
|---|---|---|---|
| RoboCup 2021 | Obstacle Avoidance Challenge | - | - |
| 1v1 Challenge | rUNSWift | Naova forfeited | |
| Bembelbots | Naova forfeited | ||
| Play-Ins | NomadZ | Naova forfeited | |
| RoboCup 2022 | Round Robin | Dutch Nao Team | 0:1 |
| SABANA Herons | 0:3 | ||
| UT Austin Villa | 0:8 | ||
| UPennalizers | 0:0 | ||
| Bembelbots | 0:3 | ||
| GORE 2023 | Swiss round | R-ZWEI KICKERS | 1:5 |
| NomadZ | 1:1 | ||
| Bembelbots | 0:0 | ||
| HTWK Robots | 0:8 | ||
| HULKs | 0:5 | ||
| Nao Devils | 0:7 | ||
| Quarterfinals | B-Human | 0:10 | |
| RoboCup 2023 | Round Robin | RoboEireann | 0:8 |
| RedBackBots | 0:0 | ||
| R-ZWEI KICKERS | 0:6 | ||
| BadgerBots | 0:7 | ||
| Dutch Nao Team | 0:6 | ||
| UT Austin Villa | 5:0 | ||
| Rinobot-Jaguar | 3:0 |
5 Impact
(This section contains subsections detailed below)
5.1 Ball perception
All the code and documentation written during this project was made available to all teams on our GitHub page [7-8]. We truly believe in sharing our advancements and datasets with other teams to expand the resources available to train new models.
5.2 WalkEngine
Since 2019, we have done a lot of research on the walk engine. This research was documented and published in two scientific articles, one in 2020 [9] and another one in 2022 [10].
5.3 Community
Participating in the RoboCup competition motivates the team a lot. In fact, it is the main reason why the team members keep working hard and try their best to make the Naos more performant each year. When we participate in the competition, it allows us to really demonstrate where all the team's efforts of the past year were invested and test the main improvements in games while competing against other teams. The RoboCup also gives us the occasion to talk and exchange about our vision and knowledge with other teams.
Naova is also a major element in our university as a recruitment tool. The team is involved in a lot of events and has a major impact on the university community. We participated in over a dozen events in the past year to represent the university on and off campus.
Naova also has the mission of passing on their passion for research to future generations by giving presentations and demonstrations to younger audiences.
References
- B-Human: B-Human Code Release),(2013), GitHub repository, https://github.com/bhuman/BHumanCodeRelease
- Kali, Y., Saad, M., Boland, JF. et al. Walking task space control using time delay estimation based sliding mode of position Controlled NAO biped robot. Int. J. Dynam. Control 9, 679–688 (2021). https://doi.org/10.1007/s40435-020-00696-x
- Pouplier, T., Brousseau, B., Dumont, M.A, Apprentissage par renforcement appliqué à des robots bipède. (2019) http://publicationslist.org/data/a.april/ref-654/RAPPORTTechniqueFinal.pdf
- Kali, Y., Saad, M., Boland, J.F. et al. Walking Control Using TDE-Based Backstepping SM of Position-Commanded NAO Biped Robot with Matched and Unmatched Perturbations. J Control Autom Electr Syst 33, 1633–1642 (2022). https://doi.org/10.1007/s40313- 022-00938-7
- Poirrier, G. Conception de l'intelligence artificielle régissant le comportement d'un robot gardien de soccer, (2019), http://publicationslist.org/data/a.april/ref-677/Rapport%20POIRRIER-Naovav1.1.pdf
- Röfer, T., Laue, T., Ewers, F.,M., Göhrs, E., Gusev, M., Hasselbring, A., Lienhoop, J., Lührsen, A., Meinken, Y., Reichenberg, P., Schiefelbein, L., Scholz, F., Schreiber, S., Werner, S.: B-human team report and code release 2022 (2022), only available online: https://raw.githubusercontent.com/bhuman/BHumanCodeRelease/coderelease2022/CodeR elease2022.pdf
- Naova: ApprentissageMachineVision, (2023), GitHub repository, https://github.com/Naova/ApprentissageMachineVision
- Naova: CycleGAN, (2023), GitHub repository, https://github.com/Naova/CycleGAN
- Kali, Y., Saad, M., Boland, JF. et al. Walking task space control using time delay estimation based sliding mode of position Controlled NAO biped robot. Int. J. Dynam. Control 9, 679–688 (2021). https://doi.org/10.1007/s40435-020-00696-x
- Kali, Y., Saad, M., Boland, J.F. et al. Walking Control Using TDE-Based Backstepping SM of Position-Commanded NAO Biped Robot with Matched and Unmatched Perturbations. J Control Autom Electr Syst 33, 1633–1642 (2022). https://doi.org/10.1007/s40313- 022-00938-7