Skip to content

Commit

Permalink
Merge pull request #183 from raku-slyu/main
Browse files Browse the repository at this point in the history
Update on myosuite documentation page
  • Loading branch information
Vittorio-Caggiano authored Jul 15, 2024
2 parents 8f5b598 + b1d4c65 commit 92ec2f1
Show file tree
Hide file tree
Showing 9 changed files with 493 additions and 160 deletions.
31 changes: 28 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,26 @@ Authors :: Vikash Kumar ([email protected]), Vittorio Caggiano (caggiano@gma

`MyoSuite` is a collection of musculoskeletal environments and tasks simulated with the [MuJoCo](http://www.mujoco.org/) physics engine and wrapped in the OpenAI ``gym`` API to enable the application of Machine Learning to bio-mechanic control problems.

[Full task details](https://github.com/myohub/myosuite/blob/main/docs/source/suite.rst#tasks) | [Baselines](https://github.com/myohub/myosuite/tree/main/myosuite/agents/baslines_NPG) | [Documentation](https://myosuite.readthedocs.io/en/latest/)
| [Tutorials](https://github.com/myohub/myosuite/tree/main/docs/source/tutorials)

<!-- TODO: add brieft history of the mujoco environment? -->
<!-- TODO: the tutorials section needs to format as now it is mixing all versions -->
<!-- [Full task details](https://github.com/myohub/myosuite/blob/main/docs/source/suite.rst#tasks) | [Baselines](https://github.com/myohub/myosuite/tree/main/myosuite/agents/baslines_NPG) | [Documentation](https://myosuite.readthedocs.io/en/latest/)
| [Tutorials](https://github.com/myohub/myosuite/tree/main/docs/source/tutorials) -->

[Documentation](https://myosuite.readthedocs.io/en/latest/) | [Tutorials](https://github.com/myohub/myosuite/tree/main/docs/source/tutorials) | [Task specifications](https://github.com/myohub/myosuite/blob/main/docs/source/suite.rst#tasks)


Below is an overview of the tasks in the MyoSuite.

<img width="1240" alt="TasksALL" src="https://github.com/myohub/myosuite/blob/main/docs/source/images/myoSuite_All.png?raw=true">


## Getting Started
<!-- TODO: Section is important but seemed to me as an additional notes -->
<!-- TODO: add tutorials and readings for RL and Gym -->
## Before you start
It is highly recommended to familiarize your self with the OpenAI ``gym`` (also known as [Gymnasium](https://gymnasium.farama.org/)) API. The tasks are defined through the ``env`` API and a introductory level understanding of Reinforcement Learning in general is also recommened.

## Installations
You will need Python 3.8 or later versions.

It is recommended to use [Miniconda](https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links) and to create a separate environment with:
Expand All @@ -43,6 +54,8 @@ Test your installation using the following command (this will return also a list
``` bash
python -m myosuite.tests.test_myo
```

<!-- TODO : include visualize images? -->

You can also visualize the environments with random controls using the command below:
``` bash
Expand All @@ -53,10 +66,14 @@ python -m myosuite.utils.examine_env --env_name myoElbowPose1D6MRandom-v0
mjpython -m myosuite.utils.examine_env --env_name myoElbowPose1D6MRandom-v0
```



## Examples
It is possible to create and interface with MyoSuite environments just like any other OpenAI gym environments. For example, to use the `myoElbowPose1D6MRandom-v0` environment, it is possible simply to run: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1zFuNLsrmx42vT4oV8RbnEWtkSJ1xajEo)


<!-- TODO: consider instructions to gym api or introduce more annotation for the code each line -->

```python
from myosuite.utils import gym
env = gym.make('myoElbowPose1D6MRandom-v0')
Expand All @@ -70,6 +87,14 @@ env.close()
You can find [tutorials](https://github.com/myohub/myosuite/tree/main/docs/source/tutorials#tutorials) and the **ICRA2023 Colab Tutorial** [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1KGqZgSYgKXF-vaYC33GR9llDsIW9Rp-q)
on how to load MyoSuite models/tasks, train them, and visualize their outcome. Also, you can find [baselines](https://github.com/myohub/myosuite/tree/main/myosuite/agents) to test some pre-trained policies.

<!-- TODO : include ICRA 2024 tutorial? -->

## Projects with Myosuite

TODO: Add lattice paper and other works using myosuite
TODO: add Myodex paper



## License

Expand Down
6 changes: 6 additions & 0 deletions docs/source/api.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
API
==========================================

.. _documentations:

To be developed
Binary file added docs/source/images/test_env.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 38 additions & 3 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,19 +1,54 @@
Welcome to MyoSuite's documentation!
=====================================

`MyoSuite <https://sites.google.com/view/myosuite>`_ is a collection of musculoskeletal environments and tasks simulated with the `MuJoCo <http://www.mujoco.org/>`_ physics engine and wrapped in the OpenAI ``gym`` API to enable the application of Machine Learning to bio-mechanic control problems
`MyoSuite <https://sites.google.com/view/myosuite>`_ is a collection of musculoskeletal environments and tasks simulated with the `MuJoCo <http://www.mujoco.org/>`_ physics engine and wrapped in the OpenAI ``gym`` API to enable the application of Machine Learning to bio-mechanic control problems.

Check our `github repository <https://github.com/MyoHub/myosuite>`__ for more technical details.

Our paper can be found at: `https://arxiv.org/abs/2205.13600 <https://arxiv.org/abs/2205.13600>`__

Before you start, we highly recommended to have a basic understanding of `OpenAI Gym API <https://gymnasium.farama.org/>`__. Principle knowledge in Reinforcement Learning is also expected for a best experience.

.. note::

This project is under active development.


Main features
============================================
* Bio-mechanic based simulation of musculoskeletal
* Task-driven controller for motion synthesis

.. TODO: confirm features for myosuite
.. toctree::
:maxdepth: 1
:caption: Get started

install
suite
tutorials
baselines

.. toctree::
:maxdepth: 1
:caption: Advanced Features

suite


.. toctree::
:maxdepth: 1
:caption: Documentations

api

.. toctree::
:maxdepth: 1
:caption: Projects with Myosuite

projects
baselines


.. toctree::
:maxdepth: 1
Expand Down
5 changes: 5 additions & 0 deletions docs/source/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,8 @@ For example, to use the ``myoElbowPose1D6MRandom-v0`` environment it is possible
env.mj_render()
env.step(env.action_space.sample()) # take a random action
env.close()
By default it will activate the simulator and the following visualization is expected:

.. image:: images/test_env.png
:width: 300
107 changes: 107 additions & 0 deletions docs/source/projects.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
Projects with Myosuite
#########################################

.. _projects:

* :ref:`myochallenge`
* :ref:`myo_challenge_22`
* :ref:`myo_challenge_23`
* :ref:`myo_challenge_24`
* :ref:`pub_with_myosuite`
* :ref:`ref_myodex`
* :ref:`ref_deprl`
* :ref:`ref_lattic`
* :ref:`ref_sar`


.. _myochallenge:

MyoChallenge
========================================
The Myosuite Team organised MyoChallenge to tackle difficult problems in top-level machine learning conference.
Our latest challenge is accepted to NeuIPs 2024.

.. _myo_challenge_22:

MyoChallenge-2022: Learning Physiological Dexterity
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Introducing `MyoChallenge - a NeurIPS 2022 <https://sites.google.com/view/myochallenge>`__ competition track on learning contact-rich manipulation skills for a physiologically
realistic musculo-skeletal hand. The goal of MyoChallenge is to push our understanding of physiological motor-control responsible
for nimble and agile movements of the human body. In the current edition of MyoChallenge,
we are focusing on developing controllers for contact rich dexterous manipulation behaviors.
This challenge builds upon the MyoSuite ecosystem -- a fast (>4000x faster) and contact-rich framework
for musculoskeletal motor control.




Competition Tracks
The MyoChallenge consists of two tracks:

.. _myo_challenge_23:

MyoChallenge-2023: Towards Human-Level Dexterity and Agility
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Introducing `MyoChallenge 2023 <https://sites.google.com/view/myosuite/myochallenge/myochallenge-2023>`__: Towards Human-Level Dexterity and Agility

Humans effortlessly grasp objects of diverse shapes and properties and execute
agile locomotion without overwhelming their cognitive capacities. This ability was acquired
through millions of years of evolution, which honed the symbiotic relationship between the central and
peripheral nervous systems and the musculoskeletal structure. Consequently, it is not surprising that
uncovering the intricacies of these complex, evolved systems underlying human movement remains a formidable
challenge. Advancements in neuromechanical simulations and data driven methods offer promising avenues to
overcome these obstacles. This year’s competition will feature two tracks: the manipulation track and the locomotion track.

.. _myo_challenge_24:

Incoming Myochallenge This Year:
+++++++++++++++++++++++++++++++++++++
About to be released




.. _pub_with_myosuite:

Publications with Myosuite
========================================


Please feel free to create a PR for your own project with Myosuite

.. _ref_myodex:

MyoDex: A Generalizable Prior for Dexterous Manipulation
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Link avaiable at `here <https://sites.google.com/view/myodex>`__



.. _ref_deprl:

DEP-RL: Embodied Exploration for Reinforcement Learning in Overactuated and Musculoskeletal Systems
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Link avaiable at `here <https://github.com/martius-lab/depRL>`__



.. _ref_lattic:

Lattice: Latent Exploration for Reinforcement Learning
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Link avaiable at `here <https://github.com/amathislab/lattice>`__



.. _ref_sar:

SAR: Generalization of Physiological Agility and Dexterity via Synergistic Action Representation
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Link avaiable at `here <https://sites.google.com/view/sar-rl>`__
Loading

0 comments on commit 92ec2f1

Please sign in to comment.