Skip to content

MyoHub/myochallenge_2023eval

Repository files navigation

Supported by MyoSuite Slack Twitter Follow

2023 NeurIPS - MyoChallenge

teaser results

MyoChallenge Tasks

Welcome to the 2023 NeurIPS - MyoChallenge: Towards Human-Level Dexterity and Agility.

This challenge consists of developing controllers for a physiologically realistic musculoskeletal models to solve dexterous manipulation and locomotion tasks:

  • A) Manipulation task -- Interact with an object and relocate it (myoChallengeRelocateP1-v0).

  • B) Locomotion/Chase-Tag task -- Chase an opponent (myoChallengeChaseTagP1-v0).

[⚠️ Important!] For Phase 2 environment, please upgrade to MyoSuite >= 2.1.3

Overview

This repository is primarily centered around the submission of your solution, but we also created documentation to help you with:

  • Getting started - Take a look at the task here and refer to the documentation for more details.
  • Run the pre-trained baselines: Look at the examples in this repo, refer to the MyoSuite documentation for more baselines such as the reflex-controller or take a look at the deprl docs.
  • Train an agent: We provide support for stable-baselines and for deprl policies. Check out the respective documentation to train an agent.
  • Get ready for submission: We offer 2 approaches, GitHub actions or DIY Submission.

Checkout our colab tutorial if you want detailed step-by-step instructions for the entire process: Open In Colab

Github actions

(detailed description here)

  1. Register an account on Eval-AI and obtain a personal token (on profile page -> "Get your Auth Token")
  2. Clone this template and add the eval-ai personal token as "EvalAI_token" (in "Settings" -> "Secrets and variables" -> "Actions" -> "New repository secret")
  3. Trigger subission by selecting "Run workflow" in the "Submission Loco Random" Action

To customize your solution, please follow the steps listed below below.

DIY Submission

(detailed description here)

This solution requires to setup the project locally and compile docker containers. First install the prerequisites and then you can follow the 4 steps listed below to upload a solution in EvalAI. In short, the upload of a solution will follow this sequence:

# Step 1 and 2 -- Train your model and personalize the agent evaluation script.
# Those steps can be skipped using the template agents e.g. agent/agent_mani_rotate.py, to test the submission system
## Test that agent agent communicate with environment
sh ./test/test_mani_agent.sh

# Step 3: Build the docker container
docker build -f docker/agent/Dockerfile_Mani . -t myochallengeeval_mani_agent

# Step 4: Upload your policy
evalai push myochallengeeval_mani_agent:latest --phase myochallenge2023-maniphase2-2105 --public

KNOWN ISSUES

If error to install grpcio, a solution is to install it manually

pip install grpcio
pip install grpcio-tools

It might be needed to make the path visible via:

export PYTHONPATH="./utils/:$PYTHONPATH"
export PYTHONPATH="./agent/:$PYTHONPATH"