Skip to content

PedroGilo12/VSSSClient-RAS-UFAL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FIRAClient RAS UFAL

Este repositório tem como objetivo fornecer um roteiro para a configuração do ambiente de desenvolvimento de aplicações para competições de Futebol de Tamanho Muito Pequeno (VSSS). Ele também serve como um repositório centralizado para algoritmos, exemplos e implementações de referência que podem ser reutilizados e ampliados em projetos VSSS.

Table of Contents

Environment Workflow

  • FIRASim: Environment simulator used to run and test VSSS league matches, providing the field, robots, and the physical dynamics of the game.

  • VSSReferee: System responsible for match control and refereeing, managing game states, rules, fouls, and official communication with the teams.

Environment Workflow

For more information and references:

Behaviour Tree

Behaviour Trees (BTs) are a control architecture widely used in robotics to model decision-making and task execution in a modular, hierarchical, and reactive way. They allow complex robot behaviors to be built by composing simple actions and conditions, improving readability, reusability, and maintainability of the control logic.

In the context of the Very Small Size Soccer (VSSS) league, Behaviour Trees are used to coordinate high-level robot strategies, such as positioning, ball approach, passing, and shooting. By reacting to the dynamic game state provided by the simulator and referee system, BTs enable robots to adapt their behavior in real time, ensuring robust and flexible decision-making during matches.

Our first behavior tree. Bask in the simplicity while you can…

In this environment, we use the BehaviorTree.CPP library for implementing Behaviour Trees and Groot2 as a graphical tool for editing, monitoring, and visualizing the execution of the trees at runtime.

For more information and references:

Environment Setup

This section describes how to install and configure all required tools and libraries to run and develop applications for the Very Small Size Soccer (VSSS) environment on Ubuntu.


Requirements

The following dependencies are required:

  • g++ (tested with version 9.3.0)
  • Qt (tested with version 5.12.8)
  • Qt OpenGL
  • Google Protocol Buffers (tested with protoc v3.6.1)

Install base dependencies

$ sudo apt update
$ sudo apt-get install git build-essential cmake qt5-default libqt5opengl5-dev libgl1-mesa-dev libglu1-mesa-dev libprotobuf-dev protobuf-compiler libode-dev libboost-dev

Install Google Protocol Buffers

$ sudo apt install -y protobuf-compiler libprotobuf-dev

Verify installation:

$ protoc --version

FIRASim

FIRASim is the official simulator used for the VSSS league, providing the physical environment, robots, and ball dynamics. To access the official installation information, follow these steps FIRASim - INSTALL.

Installation

Clone FIRASim into your preferred location.

$ cd /path/to/firasim_ws
$ git clone https://github.com/IEEEVSS/FIRASim.git
$ cd FIRASim

Create a build directory within the project (this is ignored by .gitignore):

$ mkdir build
$ cd build

Run CMake to generate the makefiles:

$ cmake ..

Then compile the program:

$ make

The binary is copied to the ../bin folder after a successful compilation.

Run FIRASim

$ ./FIRASim

VSSReferee

VSSReferee is responsible for game control and refereeing, managing match states, rules, and communication with teams.

Installation

$ git clone https://github.com/VSSSLeague/VSSReferee
$ cd VSSReferee
$ mkdir build && cd build
$ cmake ..
$ make

The binary is copied to the ../bin folder after a successful compilation.

Run VSSReferee

$ ./VSSReferee

Groot2

Groot2 is a graphical tool used to design, edit, and visualize Behaviour Trees at runtime.

Installation (precompiled installer)

  1. Download the Linux installer from the official repository.
  2. Make the installer executable:
chmod +x Groot2-*-linux-installer.run
  1. Run the installer:
./Groot2-*-linux-installer.run

BehaviourTree.CPP

BehaviorTree.CPP is a C++ library used to implement Behaviour Trees for robotic decision-making.

Installation from source

$ git clone https://github.com/BehaviorTree/BehaviorTree.CPP.git
$ cd BehaviorTree.CPP
$ mkdir build && cd build
$ cmake ..
$ make -j$(nproc)
$ sudo make install

Verify installation

$ pkg-config --modversion behaviortree_cpp

Clonning

git clone --recurse-submodules https://github.com/PedroGilo12/VSSSClient-RAS-UFAL.git
git submodule update --init

Compilation

Create an folder named build, open it and run the command qmake ..
So, after this, run the command make and if everything goes ok, the binary will be at the folder bin (at the main folder).

mkdir build
cd build
cmake ..
make

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from VSSSLeague/FIRAClient