[{"data":1,"prerenderedAt":315},["ShallowReactive",2],{"en-post-143":3},{"id":4,"title":5,"body":6,"description":12,"extension":308,"meta":309,"navigation":310,"path":311,"seo":312,"stem":313,"__hash__":314},"content/post/143.md","143",{"type":7,"value":8,"toc":296},"minimark",[9,13,18,21,24,28,67,71,114,118,211,214,218,221,224,228,259,263,272,275,279,293],[10,11,12],"p",{},"Robotics control, reinforcement learning, and biomechanics often need fast, accurate multi body dynamics simulation. MuJoCo is Google DeepMind's open source general purpose physics engine, short for Multi-Joint dynamics with Contact. With a high performance C core plus the differentiable MJX branch, it lowers the bar for simulation and policy training, and many environment packages use it as their engine, which is why it shows up in so much robotics research.",[14,15,17],"h2",{"id":16},"what-is-mujoco","What Is MuJoCo",[10,19,20],{},"MuJoCo is a general purpose physics engine maintained by Google DeepMind, short for Multi-Joint dynamics with Contact, built to simulate articulated structures and environments quickly and precisely. It exposes a C API, and the runtime is tuned for performance on preallocated data structures. Beyond core simulation, MuJoCo ships interactive visualization for desktop and in browser, plus many physics helper functions, and adds Python bindings and a Unity plugin. It serves both academia and industry as a common base linking control theory, machine learning, and graphics, and a lot of robotics papers build their simulation on it as a trusted, well documented foundation.",[10,22,23],{},"Unlike a game engine focused on rendering, it solves constrained multi joint dynamics with contact, tendons, and actuators, which is why control research keeps returning to it.",[14,25,27],{"id":26},"features","Features",[29,30,31,35,38,41,44,52,55,58,61,64],"ul",{},[32,33,34],"li",{},"High performance core. Written in C plus plus on preallocated structures for real time multi body dynamics even on modest hardware.",[32,36,37],{},"Differentiable simulation. MJX, built on JAX, brings GPU and TPU parallelism with automatic differentiation for end to end training.",[32,39,40],{},"Interactive visualization. Native desktop windows and WebGL in browser help debugging and demos without extra tooling.",[32,42,43],{},"Multiple interfaces. C API and Python bindings, with a Unity plugin for dropping simulation into existing pipelines.",[32,45,46,47,51],{},"Interop extensions. The new ",[48,49,50],"code",{},"mujoco-usd"," package adds USD interop for film and game toolchains.",[32,53,54],{},"Full learning path. Colab tutorials and samples take you from basics to differentiable physics training in one place.",[32,56,57],{},"Physical accuracy. Tuned contact solvers and constraint handling produce results close to real mechanics, which matters for sim to real transfer.",[32,59,60],{},"Stable stepping. Fixed step integration on preallocated structures keeps results reproducible across runs and hardware.",[32,62,63],{},"Scene description. MJCF XML models define bodies, joints, and actuators in one readable file that version control can diff.",[32,65,66],{},"Batch rollouts. MJX runs thousands of environments in parallel on accelerators, which shortens policy training loops.",[14,68,70],{"id":69},"how-to-use","How to Use",[72,73,74,85,96,99,102,105,111],"ol",{},[32,75,76,77,80,81,84],{},"Install the library. Add the Python bindings via ",[48,78,79],{},"pip",", or build the C plus plus core from source with ",[48,82,83],{},"Bazel",".",[32,86,87,88,91,92,95],{},"Load a model. Read an ",[48,89,90],{},"MJCF"," or ",[48,93,94],{},"URDF"," file to construct a simulation environment with bodies, joints, and actuators.",[32,97,98],{},"Step the sim. Call the step interface in a loop to update joint states and contact forces each tick.",[32,100,101],{},"View the scene. Watch the simulation live with the built in window or WebGL viewer to spot instability early.",[32,103,104],{},"Plug into training. Send the sim to JAX through MJX for parallel sampling and automatic differentiation.",[32,106,107,108,110],{},"Export assets. Use ",[48,109,50],{}," to export the scene to USD for other creative tools and renderers.",[32,112,113],{},"Tune performance. Adjust step size and solver parameters on the preallocated data for the right balance of accuracy and speed.",[14,115,117],{"id":116},"supported-platforms","Supported Platforms",[119,120,121,134],"table",{},[122,123,124],"thead",{},[125,126,127,131],"tr",{},[128,129,130],"th",{},"Item",[128,132,133],{},"Detail",[135,136,137,146,154,161,169,177,187,195,203],"tbody",{},[125,138,139,143],{},[140,141,142],"td",{},"Language",[140,144,145],{},"C plus plus (core)",[125,147,148,151],{},[140,149,150],{},"Interface",[140,152,153],{},"C API and Python bindings",[125,155,156,159],{},[140,157,158],{},"Build",[140,160,83],{},[125,162,163,166],{},[140,164,165],{},"Acceleration",[140,167,168],{},"MJX on JAX (GPU and TPU)",[125,170,171,174],{},[140,172,173],{},"Visualization",[140,175,176],{},"Native desktop and WebGL",[125,178,179,182],{},[140,180,181],{},"Extensions",[140,183,184,185],{},"MJX, ",[48,186,50],{},[125,188,189,192],{},[140,190,191],{},"Learning",[140,193,194],{},"Colab tutorials and samples",[125,196,197,200],{},[140,198,199],{},"Maintainer",[140,201,202],{},"Google DeepMind",[125,204,205,208],{},[140,206,207],{},"License",[140,209,210],{},"Apache-2.0 (docs CC BY 4.0)",[10,212,213],{},"The core is intentionally small and fast, which is why it embedded into many downstream libraries, and the MJX branch extends it onto accelerators without rewriting your models. Because the build uses Bazel, reproducing the exact environment is straightforward across Linux, macOS, and Windows.",[14,215,217],{"id":216},"pricing","Pricing",[10,219,220],{},"MuJoCo source is Apache-2.0 and free for commercial and research use, with no license fee or copyleft obligation on your own code. Its docs, images, and videos are CC BY 4.0, so attribution is required when you reuse them. The C plus plus core under Apache-2.0 lets teams embed it in proprietary pipelines without cost, and the code and samples live on GitHub under Google DeepMind.",[10,222,223],{},"Docs and media use CC BY 4.0, so reuse requires keeping attribution.",[14,225,227],{"id":226},"use-cases","Use Cases",[29,229,230,233,236,239,242,245,248,256],{},[32,231,232],{},"Robotics research. High fidelity physics for control algorithms and motion planning experiments.",[32,234,235],{},"Reinforcement learning. The engine under environment packages like dm_control and OpenAI Gym that train policies.",[32,237,238],{},"Biomechanics. Simulate human and animal dynamics for medicine, prosthetics, and sports studies.",[32,240,241],{},"Graphics and animation. Differentiable simulation for physical effects in film and games that look believable.",[32,243,244],{},"Embodied AI. A key link from simulation to deployment in the robotics embodiment wave.",[32,246,247],{},"Sim to deploy. Train policies on synthetic data, then move to real robots to shorten iteration cycles.",[32,249,250,251,84],{},"Teaching. Use the visualization to explain dynamics in courses and workshops. If you also do 3D work, see ",[252,253,255],"a",{"href":254},"/post/89/","What Is Blender and How to Use It: Free Open Source 3D Modeling, Animation, and Rendering",[32,257,258],{},"Controller validation. Test a control policy against contact rich scenes before putting it on expensive physical hardware.",[14,260,262],{"id":261},"how-it-works","How It Works",[10,264,265,266,268,269,271],{},"MuJoCo is open sourced and maintained by Google DeepMind, a classic engine that moved from research to community. The C plus plus core is extended through modules like MJX and ",[48,267,50],{}," and built with ",[48,270,83],{},". The 4.0 major release strengthened differentiable physics and USD interop, showing its direction toward modern machine learning and embodied AI. It moved from an academic engine to open source, and through MJX brings differentiation to the modern ML stack, making it one of few bases that pair maturity with openness in the embodied AI wave. For teams moving control algorithms from sim to real hardware, it is almost the default starting point because the sim to real gap is smaller than with younger engines.",[10,273,274],{},"Maintenance is shared between DeepMind and a broad research community, with MJCF models and tutorials contributed back into the public repository.",[14,276,278],{"id":277},"conclusion","Conclusion",[10,280,281,282,287,288,292],{},"If you need a fast, differentiable physics engine, MuJoCo is hard to avoid. Backed by Google DeepMind, it pairs industrial performance with community breadth and a permissive license. Whether you run paper experiments or industrial deployments, it supports you continuously from prototype to production, and the MJX branch keeps it relevant for modern differentiable workflows. Project address ",[252,283,284],{"href":284,"rel":285},"https://github.com/google-deepmind/mujoco",[286],"nofollow"," , docs ",[252,289,290],{"href":290,"rel":291},"https://mujoco.readthedocs.io",[286]," .",[10,294,295],{},"Begin with a Colab tutorial, then move a small MJCF model into your own training loop once the solver behaviour is familiar.",{"title":297,"searchDepth":298,"depth":298,"links":299},"",2,[300,301,302,303,304,305,306,307],{"id":16,"depth":298,"text":17},{"id":26,"depth":298,"text":27},{"id":69,"depth":298,"text":70},{"id":116,"depth":298,"text":117},{"id":216,"depth":298,"text":217},{"id":226,"depth":298,"text":227},{"id":261,"depth":298,"text":262},{"id":277,"depth":298,"text":278},"md",{},true,"/post/143",{"description":12},"post/143","ZvMd2YAfvu5MILU_QiqgRt3Dy-R0f1Joh-6J_tgQC8o",1794378304853]