Open-source project
datawhalechina/every-embodied avatar
datawhalechina/every-embodied

Every-Embodied: a Chinese-language curriculum that builds VLA models from a Python baseline

仅需Python基础,从0构建自己的具身智能机器人;从0逐步构建VLA/OpenVLA/SmolVLA/Pi0, 深入理解具身智能

3,889 stars374 forksPythonNOASSERTION

At a glance

What is it?
Every-Embodied is a Datawhale tutorial repository that walks from MuJoCo arm simulation to OpenVLA, SmolVLA and Pi0 reproductions. It is a study path, not a framework, and the licence badge and the repository metadata disagree.
Who is it for?
Adopt Every-Embodied if you can read Simplified Chinese and want a guided sequence from MuJoCo basics through LeRobot teleoperation to VLA fine-tuning, and treat the chapters as lab notes to reproduce rather than an API to depend on. Do not adopt it if you need a maintained Python package, English-first documentation, or a pinned dependency set, because the repository ships none of those.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Every-Embodied is trying to fix

The gap this repository targets is specific. A reader who knows Python can find VLA papers, and can find model weights, but the distance between those two things is usually undocumented: which simulator, which robot arm, which teleoperation stack, which fine-tuning script. Every-Embodied is a Datawhale curriculum that fills that distance with chapters rather than with an abstraction. The README frames it as "Zero to Hero in Embodied AI" and lists a learning map, SOTA reproductions and a team-learning document hosted on Feishu. The audience is stated plainly in the repository description: readers with only Python basics. That is a narrower claim than it looks. Chapters cover 3D reconstruction, reinforcement learning, VLN navigation, world models and mechanical design, so a reader who cannot read Simplified Chinese is locked out of most of the content, and the English README is a translation of the landing page rather than a parallel curriculum. It is also not a library. Nothing here is installed as a dependency and imported into your own project.

How the repository is organised, and what the web reader adds

The top level is a numbered sequence of directories, from 01-具身智能概述 through 21-机械臂和机器人设计, with assets/, examples/, scripts/, tools/, web/ and a translated en/ tree alongside them. Each numbered directory is a topic, and inside it the unit is a Markdown chapter, not a module. The examples/ directory holds the only runnable entry point at the repository root: examples/01_hello_every_embodied_mujoco.py, documented further in examples/README.md. Everything else lives inside chapter folders, which is why the repository behaves like a book with a code appendix rather than a codebase with a manual. The package.json confirms this reading. It declares a private package named every-embodied-reader with no published entry point, and its scripts are all about rendering: node web/server.js serves the content through Express, scripts/build-pages.js builds the published pages, and markdown-it, markdown-it-texmath and katex handle the math. A separate script, translation:paths, builds a path map for the translated tree. So the Node side of this repository exists to publish and translate Markdown. The Python side exists to run experiments inside individual chapters. Neither is a reusable runtime for your own robot.

Installing it and running the first MuJoCo demo

The README gives a three-step quick start and calls it a one-minute Hello Every-Embodied. It clones shallowly, creates a Conda environment pinned to Python 3.8, installs MuJoCo, optionally installs ruckig for jerk-limited trajectory planning, and runs the example script. These commands are copied from the README as written.

bash
git clone --depth 1 https://github.com/datawhalechina/every-embodied.git
cd every-embodied
conda create -n embodied python=3.8
conda activate embodied
pip install mujoco
pip install ruckig
python examples/01_hello_every_embodied_mujoco.py

What you should see is a MuJoCo window running a basic arm grasping demo; the README describes the example as 基础机械臂抓取 Demo, a basic robotic arm grasping demo. The ruckig line is marked optional in the README and is described as smoother jerk-limited trajectory planning, so the example runs without it. Two things are worth noticing before you start. The environment is pinned to Python 3.8, which is old enough that you should expect to create it separately rather than reuse an existing environment. And the README points to examples/README.md for the detailed explanation, which is where you should look if the script fails, because the quick start block itself carries no troubleshooting. If you want the published version of any chapter instead of the raw Markdown, the README links an online reader at datawhalechina.github.io/every-embodied/zh-cn/.

The chapters that go past simulation into real hardware and VLA training

The quick start is the shallow end. The chapter grid shows what the repository actually spends its pages on, and the pattern is reproduction with named hardware and named models. One card points to a LeRobot teleoperation chapter built around connecting an SO101 arm to a 地瓜 RDK-X5 board, which is a concrete pairing rather than a generic tutorial. Another covers deploying Pi0 with Isaac Sim and Genie Sim for high-fidelity simulation. A third fine-tunes SmolVLA on the LIBERO benchmark, described as a small VLA tested against a lifelong-learning benchmark. Elsewhere the list reaches ETPNav for VLN-CE navigation, LingBot-Map for streaming 3D reconstruction from campus video, SIM1 for soft-body simulation and diffusion trajectory generation, and a UniLab plus MotrixSim chapter that claims state-based RL on a 6GB GPU with a PBR renderer invoked through uv run --no-sync demo teaser. That last item is the clearest signal of the repository's character: the interesting numbers are per-chapter claims about what the author got running on their own machine, not benchmarks the project maintains. Read them as starting points to reproduce, and expect to adapt versions.

Where Every-Embodied stops being the right tool

The most concrete limitation is language. The curriculum is written in Simplified Chinese, and the English README is a landing-page translation. If your team cannot read Chinese, you are buying a table of contents, not a course. The second limitation is that there is no versioning story for the Python side. There are no retrieved releases, the repository metadata reports NOASSERTION for the licence, and the only pinned version in the README is Python 3.8 for the introductory example. Chapters that depend on Isaac Sim, LeRobot, LIBERO or Pi0 weights will drift as those upstream projects move, and nothing in the repository structure suggests a mechanism that keeps them in step. Third, this is not a library and should not be treated as one. There is no installable package, no API surface, and no test suite for the Python code; the only test script in package.json is test:translation, which checks the Markdown translation pipeline. If you need a supported component to embed in a product, this repository is the wrong shape, however good the explanations are. Finally, the hardware chapters assume access to specific devices such as the SO101 arm and the RDK-X5 board. Without them, those chapters are reading material.

How it compares with LeRobot

The obvious alternative is LeRobot, and the difference is one of kind rather than quality. LeRobot is a Python library: you install it, import it, and get datasets, policies and training utilities as code with a release cadence. Every-Embodied is a curriculum that teaches you to use things like LeRobot, and its LeRobot chapter is about wiring an SO101 arm to an RDK-X5 board for teleoperation. Choosing between them is not a comparison of features. If your goal is to train a policy next week, you want the library and its documentation. If your goal is to understand why the pipeline is shaped the way it is, from MuJoCo grasping through VLA fine-tuning, the chapter sequence here is the more direct route, and it will send you to the library anyway. The two are complementary, and the repository treats them that way. A second reference point is a survey paper such as the world-models-for-VLA survey that appears in related searches; a survey gives you the taxonomy in one pass, while Every-Embodied gives you the commands. Neither replaces the other.

Maintenance, licence and the cost of keeping up

The repository is not archived, and the last push was on 2026-09-22, so it is current as of writing. That is a statement about the repository, not a promise about the chapters. The upgrade cost sits in the dependencies each chapter pulls in: MuJoCo, ruckig, Isaac Sim, LeRobot, LIBERO, Pi0 and SmolVLA weights all move on their own schedules, and the repository has no lockfile for the Python side. Budget time for version archaeology in whichever chapter you pick, and expect to read the chapter's own environment notes rather than a central requirements file. On licensing, the README displays a CC-BY 4.0 badge, which is a content licence suited to prose and images. The repository metadata, however, reports NOASSERTION, meaning the platform could not identify a licence from the files. Those two signals conflict, and the LICENSE file in the repository root is the thing to read. CC-BY 4.0 also governs the text, not necessarily the third-party model weights and code that chapters link to; each of those carries its own terms. This is not legal advice, and if you plan to reuse chapter text or code commercially, resolve the discrepancy before you do.

Editorial conclusion

Adopt Every-Embodied if you can read Simplified Chinese and want a guided sequence from MuJoCo basics through LeRobot teleoperation to VLA fine-tuning, and treat the chapters as lab notes to reproduce rather than an API to depend on. Do not adopt it if you need a maintained Python package, English-first documentation, or a pinned dependency set, because the repository ships none of those. Before committing time, open the chapter you care about on the published reader at datawhalechina.github.io/every-embodied/zh-cn/, confirm the environment versions it assumes against your own GPU, and check the LICENSE file directly, since the badge says CC-BY 4.0 while the repository metadata reports NOASSERTION and the two cannot both be right.

Frequently asked questions

Can you give me an example of embodied AI from Every-Embodied?

The repository's own introductory example is examples/01_hello_every_embodied_mujoco.py, a basic robotic arm grasping demo that runs in MuJoCo after installing mujoco. The README also links chapters for LeRobot teleoperation with an SO101 arm, SmolVLA fine-tuning on LIBERO, and Pi0 deployment in Isaac Sim.

What does robot embodiment mean in the context of Every-Embodied?

The repository does not define the term in the pages available; it teaches the topic through chapters covering simulation, teleoperation, vision-language-action models and navigation. Its stated scope is building an embodied intelligent robot starting from Python basics.

What does "embodied systems" mean for a project like Every-Embodied?

The repository does not give a definition. What it shows is the set of systems the curriculum touches: MuJoCo simulation, an SO101 arm with an RDK-X5 board, Isaac Sim with Pi0, and LIBERO benchmarks for VLA fine-tuning.

What is the difference between physical AI and embodied AI in Every-Embodied?

Every-Embodied does not draw that distinction anywhere in the pages available, so the repository cannot answer it. The README describes its subject only as embodied intelligence and lists vision-language-action models among its topics.

Official sources

  1. datawhalechina/every-embodied on GitHub
  2. Issues
  3. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/datawhalechina-every-embodied.svg)](https://hysenlabs.com/projects/datawhalechina-every-embodied)