Soccer Robot Playground is a simulation of world model which includes two section of grounds.
-
Real World :
- In this scope , program display the soccer field with an agent (a robot sample) inside it.
Field's coordinate is based on RoboCup soccer humanoid league laws 2022 and the agent is surrounded by a border that consist the absolute playground area.
The features of the Real World are Movement by keyboard , Transition by mouse and a Helpwindow for declaring the keys and represent the robot exact location on screen.
- In this scope , program display the soccer field with an agent (a robot sample) inside it.
-
Model World :
- Robot modeling is a part of program which make a simple shape of an agent and switch the location of shape into the original one.
To comprehend that what does modeling exactly do , consider the airplane's radar so that the radar make a shape of airplane on it's screen nearby the own system.
But the impotant note is that the modeling system will upgrade only by agent's location in every frames !!
- Robot modeling is a part of program which make a simple shape of an agent and switch the location of shape into the original one.
To get more information and explanation about the World Model , refer to the Document of project.
The operation system is linux-64 bit and developed on Ubuntu 22 core.
This project is completely based on C++ language and we have hardly tried to write the codes with simple syntax to make it
easier for understanding and help beginners to develop it much better.
Most part of the program is powered by OpenCV version 4 in C++ form. To make it install , you can use
this orientation.
All of the headers have connection with each other like a chain and call the other one.
Main.cpp , make an object of world with endless circulation.
- Config.hpp
- It includes all libraries & workspaces & all of global variables that be used in other headers.
- Field.hpp
- This header contain field's class code to draw the borders which scope declaration is inside Field.cpp.
- Robot.hpp
- Original agent class with velocity and movement function are in this header.
- Model.hpp
- This header is derivated from Robot.hpp but with less options and variables.
- World.hpp
- Actually it's the main file of program that include drawing matrix and functions and MouseCallBack section ...
- HelpWindow.hpp
- class of displaying notes and status of agent.
At first let's download the project from Github :
$ sudo git clone https://github.com/mrl-hsl/Soccer-Robot-Playground.git
There is a CMakeLists inside the repo ; which will be used for compiling all of headers together.
In order to build the program just open the terminal in the exact directory and then :
& mkdir build && cd build
After that try to make headers :
$ cmake .. && make
with compiling the program you try to run "soccer-main"
And if you decide to remove the compiled files :
& make clean