8000 GitHub - m-abr/FCPCodebase: FC Portugal Codebase
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

m-abr/FCPCodebase

Repository files navigation

FC Portugal Codebase
for RoboCup 3D Soccer Simulation League

About

The FC Portugal Codebase was mainly written in Python, with some C++ modules. It was created to simplify and speed up the development of a team for participating in the RoboCup 3D Soccer Simulation League. We hope this release helps existing teams transition to Python more easily, and provides new teams with a robust and modern foundation upon which they can build new features.

Documentation

The documentation is available here

Features

  • The team is ready to play!
    • Sample Agent - the active agent attempts to score with a kick, while the others maintain a basic formation
      • Launch team with: start.sh
    • Sample Agent supports Fat Proxy
      • Launch team with: start_fat_proxy.sh
    • Sample Agent Penalty - a striker performs a basic kick and a goalkeeper dives to defend
      • Launch team with: start_penalty.sh
  • Skills
    • Get Ups (latest version)
    • Walk (latest version)
    • Dribble v1 (version used in RoboCup 2022)
    • Step (skill-set-primitive used by Walk and Dribble)
    • Basic kick
    • Basic goalkeeper dive
  • Features
    • Accurate localization based on probabilistic 6D pose estimation algorithm and IMU
    • Automatic head orientation
    • Automatic communication with teammates to share location of all visible players and ball
    • Basics: common math ops, server communication, RoboViz drawings (with arrows and preset colors)
    • Behavior manager that internally resets skills when necessary
    • Bundle script to generate a binary and the corresponding start/kill scripts
    • C++ modules are automatically built into shared libraries when changes are detected
    • Central arguments specification for all scripts
    • Custom A* pathfinding implementation in C++, optimized for the soccer environment
    • Easy integration of neural-network-based behaviors
    • Integration with Open AI Gym to train models with reinforcement learning
      • User interface to train, retrain, test & export trained models
      • Common features from Stable Baselines were automated, added evaluation graphs in the terminal
      • Interactive FPS control during model testing, along with logging of statistics
    • Interactive demonstrations, tests and utilities showcasing key features of the team/agents
    • Inverse Kinematics
    • Multiple agents can be launched on a single thread, or one agent per thread
    • Predictor for rolling ball position and velocity
    • Relative/absolute position & orientation of every body part & joint through forward kinematics and vision
    • Sample train environments
    • User-friendly interface to check active arguments and launch utilities & gyms

Citing the Project

@article{abreu2025designing,
  title={Designing a skilled soccer team for RoboCup: exploring skill-set-primitives through reinforcement learning},
  author={Abreu, Miguel and Reis, Luis Paulo and Lau, Nuno},
  journal={Neural Computing and Applications},
  year={2025},
  doi={10.1007/s00521-025-11151-3}
}

RoboCup 3DSSL aggregated locomotion statistics for periods of notable change (2008-2013, 2017-2023). Metrics include average speed, average maximum speed, and maximum speed (all in m/s), plotted radially to show variation by movement direction, relative to the robot. Values at the top represent forward movement, values on the left indicate sideways movement to the left, and so on.

About

FC Portugal Codebase

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0