RoboCup 2021 – Open Source Award Submission RoboFEI
Dear SSL community,
Since the end of 2020, we have been releasing a good number of repositories as open source software. We are doing it for two main reasons.
Firstly, we believe on the give-a-penny-take-a-pennyconcept. Based on this principle, since we are daily using lots of open source software developed by the Small Size League Community, we should also share our software in a sign of gratitude, in a way of contributing to the community have always supported us.
Secondly, we believe that sharing software is important for educational purposes, we have learned a lot from open source software (like how to rewrite and reuse a piece of software) and we hope that, releasing our software to the public, we can help others in that way too. Sharing software is equivalent to sharing knowledge, which is beneficial for everyone.
Below you will find our publications on the last year:
Software (SSL-Strategy)
Link: https://gitlab.com/robofei/ssl/SSL-Strategy
Languages:C++ (almost 99% of the source code); Python; QMake
This is the software that we use during RoboCup matches. Its main purpose is to control one team during a Small Size League game. The GUI is highly customizable (with options like selecting number of defenders and offenders, the maximum speed of the robots, the maximum strength of a kick and so on). It has a nice graphical client for visualizing the field and some options, like the interaction with the simulator.
The source code and the interface are all in Brazilian Portuguese idiom, so it might be difficult to use it for non-Portuguese speakers. Nevertheless, we are planning to add an English translation to the software; that way, the GUI could be used in both, English and Portuguese languages.
Software (LogAnalyserRoboFEI-SSL)
Link: https://gitlab.com/robofei/ssl/LogAnalyserRoboFei-SSL
Languages:C++; QMake
This software is based on the Robocup Small Size League C++ Log Tools (https://github.com/RoboCup-SSL/ssl-logtools) and on the RoboFEI Small Size League Main Software (https://gitlab.com/robofei/ssl/SSL-Strategy).
It provides a simple log player combined with a graphical client can that read vision and referee messages (from the network or directly from the log player). Furthermore it provides more options for loading and playing a match log file; for example, it is possible to ignore the match states when the game is stopped or halted and consider the other states. The Kalman filter from our main software is also embedded with the application.
Other additional functionalities like, download the Match League Log Files directly from the software and the use of predefined shortcuts provides an easy environment for the user watch Small Size League matches recorded or in real time.
At last, the Enable Analysis option activates a feature that can check when a shoot move or pass move occurs and evaluates this move in a 0 to 250 scale. At the end, a file is generated with the results. We are working on an implementation that provides a game statistics viewer tool that shows statistics of the game (like the ball possession, the amount of passes and pass precision, shoots to goal and so on), but it is still in development.
Software (JoystickRobotController):
Link: https://gitlab.com/robofei/ssl/joystickrobotcontroller
Languages:C++; QMake
The objective of this software is to easily test the RoboFEI robots – verifying if the robots wheels, kick sensor, dribbler, and other components are working properly. It makes it possible to control the robot, either with a joystick controller or with a computer keyboard.
Sincerely,
The RoboFEI team.
participants (1)
-
Bruno Bollos