{"id":253,"date":"2023-01-28T10:04:48","date_gmt":"2023-01-28T10:04:48","guid":{"rendered":"https:\/\/todaysainews.com\/index.php\/2023\/01\/28\/opening-up-a-physics-simulator-for-robotics\/"},"modified":"2025-04-27T07:35:31","modified_gmt":"2025-04-27T07:35:31","slug":"opening-up-a-physics-simulator-for-robotics","status":"publish","type":"post","link":"https:\/\/todaysainews.com\/index.php\/2023\/01\/28\/opening-up-a-physics-simulator-for-robotics\/","title":{"rendered":"Opening up a physics simulator for robotics"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div>\n<h4><strong>Advancing research everywhere with the acquisition of MuJoCo<\/strong><\/h4>\n<p>When you walk, your feet make contact with the ground. When you write, your fingers make contact with the pen. Physical contacts are what makes interaction with the world possible. Yet, for such a common occurrence, contact is a surprisingly complex phenomenon. Taking place at microscopic scales at the interface of two bodies, contacts can be soft or stiff, bouncy or spongy, slippery or sticky. It\u2019s no wonder our fingertips have <a href=\"https:\/\/courses.lumenlearning.com\/boundless-biology\/chapter\/somatosensation\/\" target=\"_blank\" rel=\"noopener\">four different types<\/a> of touch-sensors. This subtle complexity makes simulating physical contact \u2014 a vital component of robotics research \u2014 a tricky task.<\/p>\n<p>The rich-yet-efficient contact model of the <a href=\"https:\/\/mujoco.org\/\" target=\"_blank\" rel=\"noopener\">MuJoCo physics simulator<\/a> has made it a leading choice by robotics researchers and today, we&#8217;re proud to announce that, as part of <a href=\"https:\/\/deepmind.com\/about\" target=\"_blank\" rel=\"noopener\">DeepMind&#8217;s mission<\/a> of advancing science, we&#8217;ve acquired MuJoCo and are making it <a href=\"https:\/\/mujoco.org\/download\" target=\"_blank\" rel=\"noopener\">freely available<\/a> for everyone, to support research everywhere. Already widely used within the robotics community, including as the physics simulator of choice for DeepMind\u2019s robotics team, MuJoCo features a rich contact model, powerful scene description language, and a well-designed API. Together with the community, we will continue to improve MuJoCo as open-source software under a permissive licence. As we work to prepare the codebase, we are making MuJoCo <a href=\"https:\/\/mujoco.org\/download\" target=\"_blank\" rel=\"noopener\">freely available<\/a> as a precompiled library.<\/p>\n<p>A balanced model of contact. MuJoCo, which stands for <strong>Mu<\/strong>lti-<strong>Jo<\/strong>int Dynamics with <strong>Co<\/strong>ntact, hits a sweet spot with its contact model, which accurately and efficiently captures the salient features of contacting objects. Like other rigid-body simulators, it avoids the fine details of deformations at the contact site, and often runs much faster than real time. Unlike other simulators, MuJoCo resolves contact forces using the convex <a href=\"https:\/\/en.wikipedia.org\/wiki\/Gauss%27s_principle_of_least_constraint\" target=\"_blank\" rel=\"noopener\">Gauss Principle<\/a>. Convexity ensures unique solutions and well-defined inverse dynamics. The model is also flexible, providing multiple parameters which can be tuned to approximate a wide range of contact phenomena.<\/p>\n<div class=\"w-embed w-iframe\">\n<figure class=\"w-richtext-align-fullwidth fig-bg-grey-50 fig-rounded fig-p-2 fig-w-full\">\n<div class=\"fig-grid fig-grid-cols-1 md:fig-grid-cols-2 fig-gap-5\">\n<p>\n\t\t\t<iframe loading=\"lazy\" title=\"Self-flipping Tippe Top\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/kbYpVrdcszQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><figcaption>\n\t\t\t\tReal<br \/>\n\t\t\t<\/figcaption><\/p>\n<p>\n\t\t\t<iframe loading=\"lazy\" title=\"Self-flipping Tippe top in MuJoCo\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/pUt74LSqH2c?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><figcaption>\n\t\t\t\tMuJuCo<br \/>\n\t\t\t<\/figcaption><\/p><\/div><figcaption>\n\t  Complex contact-related phenomena like the flipping of a Tippe top emerge naturally in MuJoCo due to its accurate description of contacts.<br \/>\n\t<\/figcaption><\/figure>\n<\/div>\n<p><strong>Real physics, no shortcuts. <\/strong>Because many simulators were initially designed for purposes like gaming and cinema, they sometimes take shortcuts that prioritise stability over accuracy. For instance, they may ignore gyroscopic forces or directly modify velocities. This can be particularly harmful in the context of optimisation: as <a href=\"https:\/\/doi.org\/10.1145\/192161.192167\" target=\"_blank\" rel=\"noopener\">first observed<\/a> by artist and researcher Karl Sims, an optimising agent can quickly discover and exploit these deviations from reality. In contrast, MuJoCo is a second-order continuous-time simulator, implementing the full Equations of Motion. Familiar yet non-trivial physical phenomena like <a href=\"https:\/\/en.wikipedia.org\/wiki\/Newton%27s_cradle\" target=\"_blank\" rel=\"noopener\">Newton\u2019s Cradle<\/a>, as well as unintuitive ones like the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Tennis_racket_theorem\" target=\"_blank\" rel=\"noopener\">Dzhanibekov effect<\/a>, emerge naturally. Ultimately, MuJoCo closely adheres to the equations that govern our world.<\/p>\n<div class=\"w-embed w-iframe\">\n<figure class=\"w-richtext-align-fullwidth fig-bg-grey-50 fig-rounded fig-p-2\">\n<div class=\"fig-grid fig-grid-cols-1 md:fig-grid-cols-2 fig-gap-5\">\n<p>\n\t\t\t<iframe loading=\"lazy\" title=\"Newton&#039;s cradle.\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/cQof0mnEzX4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><figcaption>\n\t\t\t\tReal<br \/>\n\t\t\t<\/figcaption><\/p>\n<p>\n\t\t\t<iframe loading=\"lazy\" title=\"Newton&#039;s cradle (tendons)\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/ANdl704jbzw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><figcaption>\n\t\t\t\tMuJuCo<br \/>\n\t\t\t<\/figcaption><\/p><\/div><figcaption>\n\t  MuJoCo can accurately capture the impulse propagation in a Newton\u2019s Cradle.<br \/>\n\t<\/figcaption><\/figure>\n<\/div>\n<div class=\"w-embed w-iframe\">\n<figure class=\"w-richtext-align-fullwidth fig-bg-grey-50 fig-rounded fig-p-2\">\n<div class=\"fig-grid fig-grid-cols-1 md:fig-grid-cols-2 fig-gap-5\">\n<p>\n\t\t\t<iframe loading=\"lazy\" title=\"Dzhanibekov effect.\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/sJnDPYxZcGw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><figcaption>\n\t\t\t\tReal (source: NASA)<br \/>\n\t\t\t<\/figcaption><\/p>\n<p>\n\t\t\t<iframe loading=\"lazy\" title=\"Dzhanibekov effect in MuJoCo\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/0Cxl67X5wfg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><figcaption>\n\t\t\t\tMuJuCo<br \/>\n\t\t\t<\/figcaption><\/p><\/div><figcaption>\n\t  Gyroscopic forces due to angular momentum conservation cause this interesting effect, seen here in zero-gravity.<br \/>\n\t<\/figcaption><\/figure>\n<\/div>\n<p><strong>Portable code, clean API.<\/strong> MuJoCo\u2019s core engine is written in pure C, which makes it easily portable to various architectures. The library produces deterministic results, with the scene description and simulation state fully encapsulated within two data structures. These constitute all the information needed to recreate a simulation, including results from intermediate stages, providing easy access to the internals. The library also provides fast and convenient computations of commonly used quantities, like kinematic Jacobians and inertia matrices.<\/p>\n<p><strong>Powerful scene description. <\/strong>The MJCF scene-description format uses cascading defaults \u2014 avoiding multiple repeated values \u200b\u200b\u2014 and contains elements for real-world robotic components like equality constraints, motion-capture markers, tendons, actuators, and sensors. Our long-term roadmap includes standardising MJCF as an open format, to extend its usefulness beyond the MuJoCo ecosystem.<\/p>\n<p><strong>Biomechanical simulation.<\/strong> MuJoCo includes two powerful features that support musculoskeletal models of humans and animals. Spatial tendon routing, including wrapping around bones, means that applied forces can be distributed correctly to the joints, describing complicated effects like the variable <a href=\"https:\/\/www.oxfordreference.com\/view\/10.1093\/acref\/9780198568506.001.0001\/acref-9780198568506-e-4405\" target=\"_blank\" rel=\"noopener\">moment-arm<\/a> in the <a href=\"https:\/\/www.youtube.com\/watch?v=wyiJw034ssA\" target=\"_blank\" rel=\"noopener\">knee enabled by the tibia<\/a>. MuJoCo\u2019s muscle model captures the complexity of biological muscles, including activation states and force-length-velocity curves.<\/p>\n<figure style=\"padding-bottom:56.206088992974244%\" class=\"w-richtext-align-fullwidth w-richtext-figure-type-video\">\n<p><iframe loading=\"lazy\" title=\"Tendon-driven leg\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/mfAst_GB8Sk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<\/figure>\n<p><figcaption>A simulated human leg swings around, driven by forces applied at the tendons. Note how the tibia slides along the femur. Based on Lai, Arnold &amp; Wakeling (2017).<figcaption\/><\/figcaption><\/p>\n<p>A <a href=\"https:\/\/www.pnas.org\/content\/118\/1\/e1907856118\" target=\"_blank\" rel=\"noopener\">recent <em>PNAS<\/em> perspective<\/a> exploring the state of simulation in robotics identifies open source tools as critical for advancing research. The authors\u2019 recommendations are to develop and validate open source simulation platforms as well as to establish open and community-curated libraries of validated models. In line with these aims, we\u2019re committed to developing and maintaining MuJoCo as a free, open-source, community-driven project with best-in-class capabilities. We\u2019re currently hard at work preparing MuJoCo for full open sourcing, and we encourage you to download the software from the <a href=\"http:\/\/mujoco.org\/\" target=\"_blank\" rel=\"noopener\">new homepage<\/a> and visit the <a href=\"https:\/\/github.com\/deepmind\/mujoco\" target=\"_blank\" rel=\"noopener\">GitHub repository<\/a> if you&#8217;d like to contribute. <a href=\"https:\/\/www.deepmind.com\/blog\/mailto:mujoco@deepmind.com\" target=\"_blank\" rel=\"noopener\">Email us<\/a> if you have any questions or suggestions, and if you&#8217;re also excited to push the boundaries of realistic physics simulation, <a href=\"https:\/\/deepmind.com\/careers\/jobs\/3242004\" target=\"_blank\" rel=\"noopener\">we&#8217;re hiring<\/a>. We can\u2019t promise we\u2019ll be able to address everything right away, but we\u2019re eager to work together to make MuJoCo the physics simulator we\u2019ve all been waiting for.<\/p>\n<p><strong>MuJoCo in DeepMind. <\/strong>Our robotics team has been using MuJoCo as a simulation platform for various projects, mostly via our <a href=\"https:\/\/github.com\/deepmind\/dm_control\" target=\"_blank\" rel=\"noopener\">dm_control<\/a> Python stack. In the carousel below, we highlight a few examples to showcase what can be simulated in MuJoCo. Of course, these clips represent only a tiny fraction of the vast possibilities for how researchers might use the simulator. For higher quality versions of these clips, please click <a href=\"https:\/\/www.youtube.com\/playlist?list=PLstWnsTbb45eqXgVY2RhsFV6VeNsMFLS9\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<div class=\"w-embed\">\n<figure class=\"w-richtext-align-fullwidth\">\n<div x-data=\"{&#10;&#9;&#9;selected: 0,&#10;  &#9;images: [&#10;  &#9;&#9;{&#10;    &#9;&#9;src: 'https:\/\/storage.googleapis.com\/deepmind-media\/DeepMind.com\/Blog\/opening-up-a-physics-simulator-for-robotics\/mujoco_01.gif'&#10;    &#9;},&#10;    &#9;{&#10;    &#9;&#9;src: 'https:\/\/storage.googleapis.com\/deepmind-media\/DeepMind.com\/Blog\/opening-up-a-physics-simulator-for-robotics\/mujoco_02.gif'&#10;    &#9;},&#10;    &#9;{&#10;    &#9;&#9;src: 'https:\/\/storage.googleapis.com\/deepmind-media\/DeepMind.com\/Blog\/opening-up-a-physics-simulator-for-robotics\/mujoco_03.gif'&#10;    &#9;},&#10;    &#9;{&#10;    &#9;&#9;src: 'https:\/\/storage.googleapis.com\/deepmind-media\/DeepMind.com\/Blog\/opening-up-a-physics-simulator-for-robotics\/mujoco_04.gif'&#10;    &#9;},&#10;    &#9;{&#10;    &#9;&#9;src: 'https:\/\/storage.googleapis.com\/deepmind-media\/DeepMind.com\/Blog\/opening-up-a-physics-simulator-for-robotics\/mujoco_05.gif'&#10;    &#9;},&#10;    &#9;{&#10;    &#9;&#9;src: 'https:\/\/storage.googleapis.com\/deepmind-media\/DeepMind.com\/Blog\/opening-up-a-physics-simulator-for-robotics\/mujoco_06.gif'&#10;    &#9;},&#10;  &#9;]}\">\n<p>\t<template x-for=\"(image, index) in images\"><\/p>\n<div x-show=\"selected === index\">\n  \t\t<img :key=\"index\" :src=\"https:\/\/www.deepmind.com\/blog\/image.src\"\/><\/div>\n<p>\t<\/template><\/p>\n<p>\n  \t<button aria-label=\"Previous Image\" class=\"c_button__icon fig-bg-white fig-mr-1\" :class=\"{ 'fig-text-blue-400' : selected === 0 }\"> 0 ? selected&#8211; : null&#8221;&gt;<br \/>\n    \tPrev<br \/>\n\t\t<\/button><br \/>\n  \t<button aria-label=\"Next Image\" class=\"c_button__icon fig-bg-white\" :class=\"{ 'fig-text-blue-400' : selected === (images.length - 1) }\" selected=\"selected\" :=\"\" null=\"\"><br \/>\n\t\t\tNext<br \/>\n \t \t<\/button>\n\t<\/p><figcaption>Like others in the community, our robotics team has used MuJoCo as a simulation platform for various projects. In the above montage, we highlight a few examples to showcase what this tool looks like in action. Of course, these video clips represent only a tiny fraction of the vast possibilities for how roboticists can use the simulator to advance their research.<\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/div>\n<p>[ad_2]<br \/>\n<br \/><a href=\"https:\/\/www.deepmind.com\/blog\/opening-up-a-physics-simulator-for-robotics\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Advancing research everywhere with the acquisition of MuJoCo When you walk, your feet make contact with the<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-253","post","type-post","status-publish","format-standard","hentry","category-deepmind-ai"],"_links":{"self":[{"href":"https:\/\/todaysainews.com\/index.php\/wp-json\/wp\/v2\/posts\/253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/todaysainews.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/todaysainews.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/todaysainews.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/todaysainews.com\/index.php\/wp-json\/wp\/v2\/comments?post=253"}],"version-history":[{"count":1,"href":"https:\/\/todaysainews.com\/index.php\/wp-json\/wp\/v2\/posts\/253\/revisions"}],"predecessor-version":[{"id":2941,"href":"https:\/\/todaysainews.com\/index.php\/wp-json\/wp\/v2\/posts\/253\/revisions\/2941"}],"wp:attachment":[{"href":"https:\/\/todaysainews.com\/index.php\/wp-json\/wp\/v2\/media?parent=253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/todaysainews.com\/index.php\/wp-json\/wp\/v2\/categories?post=253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/todaysainews.com\/index.php\/wp-json\/wp\/v2\/tags?post=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}