This repository implements a Foosball RL Environment for Isaac Sim 4.0.0. The project builds upon the OmniIsaacGymEnvs Project. Prior versions of Isaac Sim are viable, however they might require code changes due to deprecation in newer versions of OmniIsaacGymEnvs.
This project provides a base of several training scenarios for Foosball:
- Blocking (White Keeper)
- Scoring on incoming ball (White Keeper)
- Scoring on resting ball (White Keeper)
- Scoring on resting ball with obstacles (White Keeper + Stationary Opponents)
- Keeper vs. Keeper with Self Play
- Full Game with Self Play
- Mixed Self Play (Each table has a random setup with 1-4 White Rods and 0-4 Black Rods.)
NOTE: This project includes a physical interface to the system built at TU Darmstadt. To reduce unnecessary dependencies a separate branch has been included which only contains simulation related files. Please use the corresponding branch "main_sim_only" set as default.
Please follow the installation instructions for OmniIsaacGymEnvs to set up the base environment.
Afterward clone this repository:
git clone https://github.com/Jaykixx/Foosball.gitTo run the various training scenarios locate the python executable in Isaac Sim as described in the installation tutorial for OmniIsaacGymEnvs.
Navigate to the project folder, then run:
PYTHON_PATH main.py task=FoosballBlockingThe execution is otherwise identical to OmniIsaacGymEnvs. For more Information see Link. Checkpoints will be saved in <path_to_project>/runs/<task_name>/Seed_xx/nn/.
The task names for the various scenarios are:
- FoosballBlocking
- FoosballScoringIncoming
- FoosballScoringResting
- FoosballScoringRestingObstacles
- FoosballKeeperSelfPlay
- FoosballSelfPlay
- FoosballMixedSelfPlay
The full list of settings can be found in <path_to_project>/cfg/.
For tensorboard run:
PYTHON_PATH -m tensorboard.main --logdir <path_to_project>/runs/<task_name>Moos, Janosch, et al. "Learning to Play Foosball: System and Baselines." 2024 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2024