Dive into Embodied AI is a course, not a library
从零到一搭建一台具身智能机器人:深入强化学习、World-Model、VLA 等智能决策方法的工程落地,贯穿仿真环境、控制器、运动规划、感知系统等技能树模块,并在真实项目中跑通"决策—控制—感知"完整链路。
At a glance
- What is it?
- The dive-into-embodied-ai repository is a Datawhale open tutorial for building an embodied AI robot from scratch, spanning reinforcement learning, world models, VLA policies, simulation, controllers, motion planning and perception, with projects for quadrupeds, robot arms and humanoid demos. Its own status badge says Alpha, and it says so for a reason: several chapters are placeholder pages while the content is migrated and refactored.
- Who is it for?
- Dive into Embodied AI suits a learner or engineer who wants one structured path through embodied AI rather than scattered papers, and who is comfortable with Chinese as the primary language, since the site publishes in Chinese with English and Italian README versions and the chapter bodies are Chinese.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- 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 October 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A documentation site shaped like a curriculum
The repository is not a software package and it is not a model. It is a Docusaurus site whose purpose is stated in one line: building an embodied AI robot from zero to one, going deep on the engineering deployment of decision methods such as reinforcement learning, world models and VLA, covering simulation environments, controllers, motion planning and perception, and running a complete decision, control and perception chain in a real project.
The structure has three columns. The introduction section gives the field overview and rounds up papers, datasets, open source projects and tools. The foundations section teaches the principles. The project practice section holds the chaptered projects, standalone demos and reproduction cases, grouped under an AMD section, simulation exercises and real hardware exercises.
The top level of the repository shows what kind of project this is: a docusaurus.config.ts, a sidebars.ts, a src directory, an i18n directory, a codes directory, a tailwind.config.js and a postcss.config.js, plus a local-build.sh and local-start.sh. The package.json declares the name dive-into-embodied-ai at version 0.1.0 and marks the package private, with the Docusaurus 3.10.1 stack, the mermaid theme, a local search plugin, mathjax-full for the LaTeX formulas, remark-math, turndown for the copy as Markdown feature, and three.js for the interactive demos.
The subject matter is what the stack is for. Interactive demonstrations and full text search are requirements for a course with simulations in it, not decorations.
The foundations are organised as brain, cerebellum, senses and platform
The foundations section follows a four column navigation that maps cleanly onto a robotics stack.
The brain column covers intelligent decision making. It starts with reinforcement learning for robotics, covering MDP, DQN, PPO, SAC, DDPG and TD3 alongside imitation learning. Then a chapter on vision language action models, walking through RT-1, RT-2, OpenVLA, ACT, Diffusion Policy and the pi family of models. A third chapter deals with world models and how they land in embodied settings.
The cerebellum column covers motion control: a chapter on reinforcement learning for control that attaches policy learning to continuous control and robot tasks, a controller chapter spanning PID, LQR, MPC, impedance control and system integration, and a motion planning chapter built around MoveIt 2.
The senses column covers perception, split into proprioception, which the course describes as the robot needing to know where it is, what its posture is, what its velocity is and whether it is losing stability, and exteroception covering cameras, lidar, touch, motor current, IMU, foot contact, body posture and end effector position. The perception chapters cover vision and VLM with transformers, ViT and multimodal fusion, and sensor calibration with sim2real, including coordinate frames, time synchronisation, extrinsic error amplification and online calibration monitoring.
The engineering base closes it out with simulation tools (Isaac Sim, MuJoCo, Gymnasium, PyBullet), ROS2 with coordinate transforms, forward and inverse kinematics, tf2, URDF and MoveIt 2, and data engineering for imitation learning from teleoperation data through the LeRobot toolchain to policy training.
Project practice spans quadrupeds, arms and a two legged duck
The practice section is where the tutorial makes its claims concrete, and the projects are the reason a robotics engineer would look at it rather than at a paper list.
The simulation exercises cover building a quadruped robot from zero, using MuJoCo, PD control, kinematics, policy training, language control and perception. There is a MuJoCo robot arm with DDPG for continuous control experiments and pick and place, and an ACT bimanual manipulation training chapter covering ACT with ALOHA, its training, evaluation and result reproduction.
The real hardware exercises are the SO-101 plus LeRobot tutorial on hardware connectivity, safety testing and action replay, and the LeRobot Chinese course covering units 0 to 2 on robot learning, datasets, the toolchain and classical robotics, described as preparation for real hardware work.
The AMD section is unusually specific for an open course. It covers the AUP Learning Cloud with Ryzen AI APU, ROCm, JupyterHub and Code Server, a MicroDuck RL project on AMD ROCm with an R9700, ROCm MuJoCo Warp, dynamic contact regression and bipedal PPO, and a Pupper quadruped project combining reinforcement learning locomotion policies with VLA experiments on AMD hardware.
The most recent demo advertised in the README is MicroDuck RL, a small bipedal robot trained with mjlab and MuJoCo Warp using GPU parallel PPO, with the caption naming iteration 1500 of the training.
The status badge says Alpha, and the caution explains why
The project carries a caution that deserves to be quoted rather than paraphrased, because it changes what you should expect. It states that this is an Alpha internal testing version, that migration and refactoring are still under way, that some chapters are placeholder pages, and that issues are welcome for reporting problems and suggestions.
There is a matching status badge in the header of the project, marked Alpha in orange.
This is not unusual for a community teaching project in Chinese, where chapters are written and translated in waves and the Datawhale model is to open the repository and gather feedback before freezing a version. It does mean that a curriculum built around it must be checked chapter by chapter. The site itself points beginners at the introduction as the starting point, which implies the later chapters are less settled.
Two other status signals sit next to it. The team learning section describes Datawhale organising cohort study sessions around the tutorial, with the learning route, check-in requirements and chapter guides for each round planned for a docs/team-learning directory that the README marks as under construction. The latest round registration entry and the archive of past rounds are both marked as under construction too.
So the answer to whether this is a finished course is no. It is a course in progress with a published structure.
Running the site locally is a Node version exercise
The project states that local development and CI both use the Node.js version pinned in .nvmrc, which is 26.11.1 together with its bundled npm, and that version requirements are in package.json. The repository carries a .nvmrc file and a package-lock.json, so the intent is a pinned toolchain rather than a floating one.
The scripts in package.json show what the project expects of a contributor:
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"serve": "docusaurus serve",
"clear": "docusaurus clear",
"typecheck": "tsc",Alongside the standard Docusaurus commands there is a series of consistency checks that reveal what a multi language, formula heavy course needs: check:i18n, check:page-markdown, check:doc-assets, check:math-refs, check:doc-sidebars, check:playgrounds and check:practice-sidebars, each running a script from the scripts directory. There is also assets:webp with a check mode, driven by a Python script that converts images to WebP, which is what the header image and the demo GIFs in the README are.
The presence of husky and a prepare script running husky shows that the checks are wired into the commit workflow through pre-commit hooks rather than left to memory. The dev and preview scripts shell out to scripts/dev.sh and scripts/preview.sh, and the top level local-start.sh and local-build.sh give the same entry points without npm run.
None of this is documented as an install tutorial in the README, so the practical guidance for a reader is the published site, and for a contributor it is the pinned Node version plus npm install followed by the start script.
Interactive demos and search are the reason for the Docusaurus choice
The site is published at datawhalechina.github.io and the README recommends the web version, listing three reasons: full text search, chapter navigation and interactive demonstrations. It also describes a copy as Markdown control above each tutorial and interactive page, which copies the body text and supports code, tables and LaTeX formulas, with a dropdown that previews the Markdown and a link back to the original page so the interactive demonstration stays reachable.
That combination tells you something about the intended reader. A robotics course has long pages with formulas and tables, and a reader working through a MuJoCo exercise on their own machine often wants the text in a local file or in their own notes system. Turndown and turndown-plugin-gfm are in the dependency list for exactly that conversion, and remark-math with mathjax-full handles the formulas that the copy operation has to preserve.
The interactive side needs a 3D stack, which is what three.js is for. The three.js dependency sits alongside the Docusaurus packages rather than in a separate demo application, so the interactive elements are embedded in the docs pages themselves.
The multilingual angle is handled by the i18n directory and a docusaurus theme for mermaid, with a README in English and one in Italian alongside the Chinese original. The check:i18n script exists to keep those in step, which suggests the community is expected to contribute translations rather than only corrections.
What this project is not
Three boundaries are worth naming before anyone plans around it.
First, it is a course, not a framework. There is a codes directory, but the promise the project makes is about skills and pipelines, not about a library you import. Nothing here replaces MuJoCo, Isaac Sim, ROS2, LeRobot or mjlab, and the projects are built on top of them. If you wanted a maintained embodied AI package with a versioned API, this is the wrong repository.
Second, the hardware assumptions are narrow in places. A substantial share of the project practice chapters are written for AMD platforms, with ROCm, the R9700, Ryzen AI and the AUP Learning Cloud appearing as first class subjects. A reader with an NVIDIA workstation or an Apple laptop will find the AMD section either irrelevant or a portability exercise, and the project gives no instruction for adapting those parts.
Third, the reproduction claims are bounded by what a course can promise. The ACT bimanual chapter caption reports 50k training with a 50 percent success rate over 20 episodes in MuJoCo, and the MicroDuck caption names iteration 1500 for a stable bipedal gait. Those are numbers from the authors' own runs on their own hardware, presented as illustrations of a working pipeline rather than as benchmarks. There is no benchmark harness in the repository, and the packages are marked private with no releases published, so nothing pins the environment that produced them.
The project also carries a licence nuance. The site displays a Creative Commons BY-NC-SA 4.0 badge, which is a non commercial licence, while the repository licence field is reported as unknown, and the project publishes no GitHub releases. For anyone planning to reuse the text commercially, the non commercial clause needs checking against the actual terms rather than the badge alone.
Editorial conclusion
Dive into Embodied AI suits a learner or engineer who wants one structured path through embodied AI rather than scattered papers, and who is comfortable with Chinese as the primary language, since the site publishes in Chinese with English and Italian README versions and the chapter bodies are Chinese. It is the wrong choice for a team looking for a maintained code library, a reproducible benchmark, or English chapter text, and it is the wrong choice for a fixed deadline because the project states plainly that it is an Alpha version still being migrated and refactored with some chapters as placeholders. Before you plan a course around it, check three things: which chapters are real and which are placeholders, that the simulation stack you have is the one the exercises assume (MuJoCo, mjlab, Isaac Sim, ROS2, LeRobot), and whether the AMD-specific sections matter to you, since a large share of the project practice chapters are tied to ROCm and Ryzen AI hardware.
Frequently asked questions
What is Dive into Embodied AI and who publishes it?
It is an open source tutorial for building an embodied AI robot from zero to one, published by Datawhale. The content covers reinforcement learning, world models, VLA policies, simulation, controllers, motion planning and perception, and the site is a Docusaurus application.
Is Dive into Embodied AI complete or still in progress?
The README marks it as an Alpha internal testing version that is still being migrated and refactored, with some chapters as placeholder pages, and the project also displays an Alpha status badge. Issues are invited for reporting problems and suggestions.
What does the project cover in the foundations section?
It is organised in four columns: brain for decision making with reinforcement learning, VLA and world models, cerebellum for control with reinforcement learning for control, PID, LQR, MPC, impedance control and MoveIt 2, senses for perception including sensor calibration and sim2real, and an engineering base covering Isaac Sim, MuJoCo, Gymnasium, PyBullet, ROS2 and imitation learning data engineering.
Which robots and simulators do the project exercises use?
The exercises cover a quadruped built in MuJoCo with PD control and policy training, a MuJoCo robot arm with DDPG, ACT with ALOHA for bimanual manipulation, a MicroDuck bipedal robot trained with mjlab and MuJoCo Warp using GPU parallel PPO, a Pupper quadruped, and the SO-101 arm with LeRobot for real hardware data collection.
How do I run the Dive into Embodied AI site locally?
The README states that local development and CI use the Node.js version pinned in .nvmrc, which is 26.11.1, with version requirements in package.json. The package.json scripts include start for docusaurus start and build for docusaurus build, and the repository also ships local-start.sh and local-build.sh at the top level.
Official sources
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.
[](https://hysenlabs.com/projects/datawhalechina-dive-into-embodied-ai)Was this useful?