All Projects → RoboCupJuniorTC → rcj-soccer-sim

RoboCupJuniorTC / rcj-soccer-sim

Licence: Apache-2.0 license
The RoboCupJunior Soccer Simulator, based on Webots

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to rcj-soccer-sim

community-projects
Webots projects (PROTO files, controllers, simulation worlds, etc.) contributed by the community.
Stars: ✭ 20 (+25%)
Mutual labels:  simulator, robot, robot-simulator
gym-line-follower
Line follower robot simulator environment for Open AI Gym.
Stars: ✭ 46 (+187.5%)
Mutual labels:  simulator, robot
rcssserver
The RoboCup Soccer Simulator Server
Stars: ✭ 100 (+525%)
Mutual labels:  simulator, soccer
Hexapod
Blazing fast hexapod robot simulator for the web.
Stars: ✭ 370 (+2212.5%)
Mutual labels:  simulator, robot
Mms
A Micromouse simulator: write and test maze-solving code without a physical robot
Stars: ✭ 135 (+743.75%)
Mutual labels:  simulator, robot
Gym Duckietown
Self-driving car simulator for the Duckietown universe
Stars: ✭ 379 (+2268.75%)
Mutual labels:  simulator, robot
awesome-webots
Awesome Webots
Stars: ✭ 46 (+187.5%)
Mutual labels:  simulator, robot
Hexapod Robot Simulator
A hexapod robot simulator built from first principles
Stars: ✭ 577 (+3506.25%)
Mutual labels:  simulator, robot
Webots
Webots Robot Simulator
Stars: ✭ 1,324 (+8175%)
Mutual labels:  simulator, robot
URDF-Importer
URDF importer
Stars: ✭ 135 (+743.75%)
Mutual labels:  robot, robot-simulation
SLAM Qt
My small SLAM simulator to study "SLAM for dummies"
Stars: ✭ 47 (+193.75%)
Mutual labels:  simulator, robot
DesignSPHysics
Module for FreeCAD intended to use with DualSPHysics fluid simulator.
Stars: ✭ 65 (+306.25%)
Mutual labels:  simulator
TD3-BipedalWalkerHardcore-v2
Solve BipedalWalkerHardcore-v2 with TD3
Stars: ✭ 41 (+156.25%)
Mutual labels:  robot
conde simulator
Autonomous Driving Simulator for the Portuguese Robotics Open
Stars: ✭ 31 (+93.75%)
Mutual labels:  robot
simple-playgrounds
Simulator for Reinforcement Learning and AI. 2D environments with physics and interactive entities. Agents with rich sensors and actuators.
Stars: ✭ 18 (+12.5%)
Mutual labels:  simulator
3-D-Scene-Graph
3D scene graph generator implemented in Pytorch.
Stars: ✭ 52 (+225%)
Mutual labels:  robot
sar2
Search and Rescue II. Helicopter flight simulator for Linux and OSX.
Stars: ✭ 20 (+25%)
Mutual labels:  simulator
slack-robot
Simple robot for your slack integration
Stars: ✭ 29 (+81.25%)
Mutual labels:  robot
zhamao-framework
协程、高性能、灵活的聊天机器人 & Web 开发框架(炸毛框架)
Stars: ✭ 99 (+518.75%)
Mutual labels:  robot
name-needed
🕹 A one man effort to produce an open source, intuitive and high performance Dwarf Fortress-esque game. Needs a name.
Stars: ✭ 87 (+443.75%)
Mutual labels:  simulator

RCJ Soccer Simulator

This is the official repository of the RoboCupJunior Soccer Simulator. The simulator is based on Webots and this repository provides both the "automatic referee" (which implements the Soccer Simulated Rules) as well as a sample simulated team of robots with some basic strategy.

Soccer Sim

Learn more in the documentation.

How do I try this out?

Installation

  1. Install Python 3.7 (or higher) 64 bit from the official website (please make sure it is version 3.7 or higher for Windows, and 3.8 or higher if installing on MacOS or Linux). On Windows, please make sure your Python is referenced in Windows PATH by selecting the option "Add Python 3.x to PATH" during the installation. Check out this great installation guide if you need some help!

  2. Download Webots from their official website. Currently, version R2022a is stable with the Soccer Simulator. You can find detailed installation procedure on the official Webots Installation guide.

  3. Clone the rcj-soccersim repository to your computer by downloading the ZIP file from here or running

     git clone https://github.com/RoboCupJuniorTC/rcj-soccersim.git
    
  4. Finally, run Webots, go to Tools > Preferences > Python command and set it to python or python3 to point Webots to Python 3. Depending on your system, the reference to Python 3 can be via the command python or python3. More information on how to configure Webots to work with Python can be found here.

Running Soccer Sim

  1. Use Webots to open the downloaded soccer.wbt world located in the worlds directory (via File > Open World)

  2. Run/pause the simulation by clicking the corresponding buttons on the top-part of Webots window. Note that the controllers that are responsible for the various robots on the field can be found in the controllers/ directory.

Notes

A specific webots world can be executed directly from the command line as follows:

    webots --mode=run worlds/soccer.wbt

Which allows for at least some automation. Further info can be found in the docs.

The sample players as well as the "automatic referee" are implemented in Python, which should allow for easily updating the code to match the rules and avoid any compilation issues.

Development

We are open to contributions! Have a look at our issues. Before you make a pull request, make sure the code is formatted with black and isort, and flake8 issues are fixed.

To do so, follow these steps:

  1. Create virtualenv python3 -m venv venv
  2. Install pip-tools by running pip install pip-tools
  3. Install development modules pip-sync requirements/development.txt
  4. Setup pre-commit hook pre-commit install. This hook will not allow you to commit in case one of the checkers raises an error.
  5. In order format the code, run the formatters in this order
    • isort .
    • black .
  6. Manually fix error raised by flake8 .

Updating dependencies

Dependencies for development are managed by pip-tools. To compile current dependencies run

$ pip-compile -o requirements/development.txt requirements/development.in

In order to update dependencies, use --upgrade switch.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].