What is MyoSuite?
mainMuJoCo physics engine. It wraps these simulations in the OpenAI gym (Gymnasium) API, making it specifically designed for applying Machine Learning and Reinforcement Learning to bio-mechanic control problems.repository·main·Indexed 22 days ago
https://github.com/myohub/myosuiteA collection of musculoskeletal environments and tasks simulated in MuJoCo and wrapped in the OpenAI gym API. It provides models for fingers, elbows, and hands to facilitate machine learning for bio-mechanic control. Features include accelerated MJX (MuJoCo XLA) and MJWarp implementations for high-speed training, MyoEdits for programmatic model manipulation via mjSpec, and non-stationarity variations to simulate sarcopenia, fatigue, and tendon-transfer.
MuJoCo physics engine. It wraps these simulations in the OpenAI gym (Gymnasium) API, making it specifically designed for applying Machine Learning and Reinforcement Learning to bio-mechanic control problems.MyoChallenge is an annual event organized by the MyoSuite team to advance the understanding of physiological motor control for dexterous and agile human movements. It utilizes the MyoSuite ecosystem, which provides a fast (>4000x faster) and contact-rich framework for musculoskeletal motor control.
Past and current challenges include:
MyoSuite provides a collection of musculoskeletal simulation tasks based on three core models:
Tasks range from simple reaching to highly dexterous movements requiring coordination and collision avoidance.
Several research projects and publications leverage the MyoSuite framework for studying reinforcement learning and dexterous manipulation:
If you have a project using MyoSuite, you can contribute by creating a Pull Request to include it in the documentation.
The Prosthesis Locomotion task involves a trans-femoral myoLeg model and an Open Source Leg (OSL) prosthetic. The goal is to learn the dynamics and control of a powered prosthetic leg to traverse different terrain types (Flat, Hilly, Rough, Stairs) with increasing difficulty.
Key Constraints:
The MyoChallenge provides two distinct environment types:
Note: While the tasks and evaluation criteria are identical, the distributions of changing factors may differ between TEST and EVALUATION. To ensure high performance, developers should focus on training policies that are robust across a wide range of distributions.
The myoHand is a complex musculoskeletal model for dexterous manipulation, comprising 29 bones, 23 joints, and 39 muscles-tendon units.
Muscle Acronyms:
ECRL: Extensor Carpis Radialis LongusECRB: Extensor Carpis Radialis BrevisECU: Extensor Carpi UlnarisFCR: Flexor Carpi RadialisFCU: Flexor Carpi UlnarisPL: Palmaris longusPT: Pronator teresPQ: PronatorEIP: Extensor Indicis PropriusEPL: Extensor Pollicis LongusEPB: Extensor Pollicis BrevisFPL: Flexor Pollicis LongusAPL: Abductor Pollicis LongusOP: Opponens PollicisFDS: Flexor Digitorum Superficialis (2- index, 3- middle, 4- ring, 5- little)FDP: Flexor Digitorum Profundus (2- index, 3- middle, 4- ring, 5- little)EDC: Extensor Digitorum Communis (2- index, 3- middle, 4- ring, 5- little)EDM: Extensor Digiti MinimiRI: Radial Interosseous (2- index, 3- middle, 4- ring, 5- little)LU-RB: Lumbrical (2- index, 3- middle, 4- ring, 5- little)UI-UB: Palmar or Ulnar Interosseous (2- index, 3- middle, 4- ring, 5- little)MyoSuite provides MJX and MJWarp implementations for accelerated training.
MjxElbowPoseRandom-v0 and MjxFingerPoseRandom-v0. However, performance gains may be lower (2-5x) in contact-rich environments like MjxHandReachRandom-v0.Simulation/rollout speeds for MuJoCo Warp can reach 150K to 1M steps per second depending on the environment and parallelism.
The Table Tennis Rally challenge requires an agent to hit a pingpong ball with a paddle so that it lands on the opponent's side. This task necessitates the coordination of a myoArm model and a myoTorso model to achieve accurate hits and sufficient force for a high-speed rally.
Objective: Develop a general policy to move the ball from the agent's side to the opposite side by hitting it with a paddle.
MyoSuite includes models for simulating physiological conditions and assistive technologies:
IK-generated trajectories can be used in Myochallenge to improve training efficiency or provide expert demonstrations:
To study robustness and physiological changes, MyoSuite environments support several non-stationarity variations. These can be applied to various tasks to simulate different physiological conditions:
Most tasks (Finger, Elbow, and Hand) support Sarcopenia and Fatigue, while the more complex Hand tasks also support Tendon-transfer variations.