<meta charset="utf-8" /><meta http-equiv="content-security-policy" content=""><meta name="hf:doc:metadata" content="{&quot;local&quot;:&quot;philosophy&quot;,&quot;sections&quot;:[{&quot;local&quot;:&quot;todays-landscape-for-simulation-environments&quot;,&quot;title&quot;:&quot;Today’s landscape for simulation environments&quot;},{&quot;local&quot;:&quot;design-philosophy-for-simulate&quot;,&quot;title&quot;:&quot;Design philosophy for simulate&quot;},{&quot;local&quot;:&quot;building-on-the-shoulders-of-giants&quot;,&quot;title&quot;:&quot;Building on the shoulders of giants&quot;}],&quot;title&quot;:&quot;Philosophy&quot;}" data-svelte="svelte-1phssyn">
	<link rel="modulepreload" href="/docs/simulate/pr_340/en/_app/assets/pages/__layout.svelte-hf-doc-builder.css">
	<link rel="modulepreload" href="/docs/simulate/pr_340/en/_app/start-hf-doc-builder.js">
	<link rel="modulepreload" href="/docs/simulate/pr_340/en/_app/chunks/vendor-hf-doc-builder.js">
	<link rel="modulepreload" href="/docs/simulate/pr_340/en/_app/chunks/paths-hf-doc-builder.js">
	<link rel="modulepreload" href="/docs/simulate/pr_340/en/_app/pages/__layout.svelte-hf-doc-builder.js">
	<link rel="modulepreload" href="/docs/simulate/pr_340/en/_app/pages/conceptual/philosophy.mdx-hf-doc-builder.js">
	<link rel="modulepreload" href="/docs/simulate/pr_340/en/_app/chunks/IconCopyLink-hf-doc-builder.js"> 






<h1 class="relative group"><a id="philosophy" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#philosophy"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a>
	<span>Philosophy
	</span></h1>

<h2 class="relative group"><a id="todays-landscape-for-simulation-environments" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#todays-landscape-for-simulation-environments"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a>
	<span>Today’s landscape for simulation environments
	</span></h2>

In our investigations, we found that the current landscape for simulation environments and synthetic data creation has a couple of limitations:
- Very fragmented - each set of simulation environments is usually isolated and separated from the others by being tied to a specific engine (Unity, Gibson, Habitat, etc)
- Building environments often requires knowledge and skills that are not in the toolbox of the typical AI/ML researchers (knowledge of C++/C#)
- Frameworks tend to focus on one domain/application, e.g. focusing on RL, synthetic data generation, NLP, self-driving cars but the field is increasingly cross applications/modalities
- It&#39;s often not easy to share a new environment or a modification of an environment without having to modify a library
- Environment visualization/debugging tools can be difficult to find
<p>🤗 Simulate is a proof of concept to investigate whether this situation could be improved.</p>
<h2 class="relative group"><a id="design-philosophy-for-simulate" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#design-philosophy-for-simulate"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a>
	<span>Design philosophy for simulate
	</span></h2>

<p>The simulate library is an exploration on how one could use python to easily build &amp; share complex and diverse simulation environments for embodied learning or synthetic data research.</p>
<p>The basic idea is to decouple the creation of the simulation environment (“building”) from the simulation engine used to run it (Unity, Blender, custom engine, etc) by relying on an engine-agnostic sharing format (the open standard glTF format in this case).</p>
<p>The created environments are stored in a language/framework agnostic format and can be loaded and run on a diversity of engines with concise integrations handling more or less of the glTF extensions we use (we provide PoC plugins for Unity, Godot and Blender in the alpha release).</p>
<p>Interfacing with the git-versioning and hosting on the Hugging Face hub allow to download/upload share/reuse assets (objects) as well as full scenes (environments).</p>
<h2 class="relative group"><a id="building-on-the-shoulders-of-giants" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#building-on-the-shoulders-of-giants"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a>
	<span>Building on the shoulders of giants
	</span></h2>

<p>The python API was inspired by the awesome kubric library created by Klaus Greff and Andrea Tagliasacchi and the Google team (<a href="https://github.com/google-research/kubric" rel="nofollow">https://github.com/google-research/kubric</a>) while the Unity engine was inspired in part by the impressive work of the PRIOR team at AllenAI (<a href="https://prior.allenai.org/" rel="nofollow">https://prior.allenai.org/</a>).</p>


		<script type="module" data-hydrate="q8e4e">
		import { start } from "/docs/simulate/pr_340/en/_app/start-hf-doc-builder.js";
		start({
			target: document.querySelector('[data-hydrate="q8e4e"]').parentNode,
			paths: {"base":"/docs/simulate/pr_340/en","assets":"/docs/simulate/pr_340/en"},
			session: {},
			route: false,
			spa: false,
			trailing_slash: "never",
			hydrate: {
				status: 200,
				error: null,
				nodes: [
					import("/docs/simulate/pr_340/en/_app/pages/__layout.svelte-hf-doc-builder.js"),
						import("/docs/simulate/pr_340/en/_app/pages/conceptual/philosophy.mdx-hf-doc-builder.js")
				],
				params: {}
			}
		});
	</script>
