Skip to content

Latest commit

 

History

69 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Isaac Sim Foosball RL Environment

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.

Installation

Please follow the installation instructions for OmniIsaacGymEnvs to set up the base environment.

Afterward clone this repository:

git clone https://github.com/Jaykixx/Foosball.git

Usage

To 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=FoosballBlocking

The 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>

Cite

Moos, Janosch, et al. "Learning to Play Foosball: System and Baselines." 2024 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2024

About

RL-based foosball learning

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages