← all repositories
stanfordnmbl/osim-rl

Teaching AI to walk with muscles, not motors

A reinforcement learning environment where agents control a 3D human musculoskeletal model—prosthetic leg included—instead of the usual robotic joints.

944 stars Python Domain AppsAgentsML Frameworks
osim-rl
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does

osim-rl wraps the biomechanical simulator OpenSim into a standard RL interface. Your agent outputs muscle excitations, not joint torques, to make a physiologically plausible human model walk, run, or adapt to a prosthetic leg. The reward trades off following velocity commands against energy expenditure.

The interesting bit

Most locomotion benchmarks let you command joint angles directly. Here you control 22+ muscle actuators with realistic delay and fatigue properties, which means your policy has to solve a harder coordination problem—one that actually resembles human motor control. The 2019 challenge added a prosthetic-leg track, turning a research competition into a potential prosthetics-design tool.

Key highlights

  • Built on OpenSim, a Stanford biomechanics simulator with decades of validation behind it
  • Full 3D dynamics (the 2017 version was planar); the model can actually fall sideways
  • Experimental motion-capture data is provided to bootstrap training
  • Standard Gym-style API: reset(), step(), observation, reward
  • Conda-packaged binaries for Windows, Linux, and macOS

Caveats

  • Requires Anaconda and a specific Python 3.6.1 environment; not a quick pip install outside conda
  • Documentation lives on an external site; the README is basically a setup and submission guide
  • The repo appears tied to a concluded 2019 NeurIPS challenge, so active maintenance is unclear

Verdict

Worth a look if you’re doing biomechanics-informed RL, sim-to-real transfer for legged robots, or prosthetics research. Skip it if you just want a fast locomotion benchmark—MuJoCo’s HalfCheetah will get you published quicker.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.