Skip to content

Humanoid soccer robots playgorund field simulation with c++ and opencv4

License

Notifications You must be signed in to change notification settings

mahdizynali/Soccer-Robot-Playground

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.:: Soccer-Robot-Playground ::.

HSL HSL HSL HSL

alt text

Table Switch

Introduction

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.
  • 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 !!

To get more information and explanation about the World Model , refer to the Document of project.

Dependencies

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.

Program Headers

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.

How To Run

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

Developers

Mahdi Zeinali
.:: Mahdi Zeinali ::.

Ramtin Kosari
.:: Ramtin Kosari ::.

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.6%
  • CMake 1.4%