GenesisLab:轻量、好改、跑得快的机器人强化学习试验台

Xbot具身知识库 2026-03-10 11:00

点击下方卡片,关注【Xbotics具身智能实验室】公众号

更多具身干货,欢迎加入(戳我)

👉具身智能学习资料汇总:https://github.com/Xbotics-Embodied-AI-club/Xbotics-Embodied-Guide

👉具身智能求职/实习信息汇总:https://github.com/Xbotics-Embodied-AI-club/Xbotics-Embodied-AI-Job

你想要的这里都有~~




为什么需要这样一个项目?

做机器人强化学习时,常见两种极端:一端是重型仿真平台,功能全但上手慢、改一处要摸清整座大厦;另一端是自己手搓脚本,灵活却难以复用、向量化与调试都得从零来。我们更希望有一个最小可用、又方便迭代的试验台:基于现代物理引擎、接口统一、代码量可控,能快速验证「观测—奖励—动作」管线,而不是在框架里迷路。

GenesisLab 就是在这样的诉求下诞生的:它建立在 Genesis 物理引擎 之上,提供一套轻量的 RL 任务框架,专注「建环境、跑向量化仿真、调观测/奖励/物理」这几件事,适合作为快速实验与教学的 playground。


GenesisLab 是什么?

GenesisLab 是构建在 Genesis 物理引擎之上的轻量级强化学习任务套件,为机器人 RL 提供最小化且可用的实验环境。

用人话拆开说就是:

  • 底层:依赖 Genesis 物理引擎(genesis-world),用统一的 Python 绑定做场景构建与步进。
  • 中间层:提供 Manager 式环境封装(观测、动作、奖励、终止、命令、课程等),和 IsaacLab 风格一致,便于扩展。
  • 任务层:预置速度跟踪等 locomotion 任务,支持 Unitree Go2、G1、H1、B2 以及 Booster 等多款机器人,开箱可跑。
  • 上手体验:代码库小、结构清晰,复制一个现有任务改观测/奖励即可出新任务;自带引擎检测、环境单测与随机 rollout 压测,方便做 sanity check。

核心特性

1. 即用的 RL 任务库

环境以「速度跟踪」等 locomotion 任务为主,接口统一:标准的 step / reset、与 Gym 兼容的向量化 API。每个任务对应不同机器人与地形(平路/粗糙地形),配置通过继承基类并重写 sceneobservationsrewards 等即可定制。

好处:不用从零写环境,复制一份任务配置改几处就能做新实验。

2. 向量化仿真

支持多环境并行(batched environments),一次 step 更新所有 env,适合做高效 RL rollout。引擎支持 CPU/GPU 后端,方便在无显卡机器上先跑通再上 GPU 加速。

典型用法:引擎烟雾测试(4 个环境示例):

python scripts/test/test_engine.py --backend cpu --num-envs 4

3. 调试与自检工具

自带三类脚本,用于验证「引擎 → 环境 → 观测/奖励」整条链路:

  • 引擎烟雾测试:检查 Genesis 绑定、多 env 步进与确定性 reset。
  • 环境单测:单 env 与向量化 env 的 test_env.py / test_env_vectorized.py
  • 随机 rollout 压测test_random_rollout.py,长时间随机动作,检查 reward/observation 管线是否稳定。

好处:加新任务或改 MDP 后,先跑一轮上述脚本,再上训练,能省不少排查时间。

4. 最小化且易改

代码库按「引擎绑定 → 场景/实体 → Manager(观测/动作/奖励/终止/命令/课程)→ 环境封装」组织,体量可控。新增任务的标准流程是:复制现有任务配置 → 实现或调整观测/奖励逻辑 → 在 scripts/test 下加一个小测试 → 跑 sanity check 再训练。文档中对 PD 增益、执行器模型等也有说明(如 PD_GAINS_USAGE.md),便于做更细的控制与扩展。

5. 多机器人、多地形

预置任务中已包含 Unitree Go2、Go2w、G1、H1、B2 以及 Booster K1/T1 等机器人的速度跟踪配置,并区分 flat/rough 地形。资产与任务解耦(如 genesis_assets 与 genesis_tasks),扩展新机器人或新地形时只需按现有模式加配置与资源。


架构一图看懂

整体是三层

  1. Genesis 引擎层:负责物理仿真、场景构建、状态查询;GenesisLab 通过 GenesisBinding 与之交互,封装 SceneCfg(机器人、地形、传感器等)。
  2. Manager 层:在 ManagerBasedGenesisEnv / ManagerBasedRlEnv 中,由各类 Manager 负责观测、动作、奖励、终止、命令、课程等;与 IsaacLab 的 Manager 设计对齐,便于从 IsaacLab 迁移或对照理解。
  3. 任务配置层:具体任务(如 LocomotionVelocityRoughEnvCfg)继承 ManagerBasedRlEnvCfg,填充 sceneobservationsactionsrewardsterminationscommandscurriculum 等,通过 entry point 或直接传入 cfg 创建环境。
GenesisLab:轻量、好改、跑得快的机器人强化学习试验台图1

图示:自上而下为 Genesis 引擎、GenesisLab Manager、任务配置与资产。

关键配置示例(仅示意):场景里指定机器人与地形,环境里指定 decimation、episode 长度等;观测/奖励在对应 Manager 的配置类中定义。


典型任务与场景

场景
说明
引擎烟雾测试
验证 Genesis 后端与多 env 步进:python scripts/test/test_engine.py --backend cpu --num-envs 4
单环境测试
检查单个 RL 环境的 step/reset 与奖励/观测:python scripts/test/test_env.py
向量化环境测试
检查多环境并行:python scripts/test/test_env_vectorized.py
随机 rollout
压力测试观测与奖励管线:python scripts/test/test_random_rollout.py

训练与评估脚本位于 scripts/reinforcement_learning/rsl_rl/(如 train.pyplay.py),可与现有 velocity 等任务配置结合使用。可选配图:训练时的 reward 曲线或仿真截图。


如何接入与上手

三步概括「把自己的东西搬进来」:

  1. 资产层:在 genesis_assets(或项目约定的资产目录)中准备机器人的 URDF 等资源;若用现有 Unitree/Booster 等,可直接复用已有资产。
  2. 场景/任务层:在 genesis_tasks 中复制一份现有 velocity 任务配置,在 __post_init__ 中替换 scene 中的机器人、地形等,按需改观测/奖励/命令的配置类。
  3. 配置与测试:用 env_cfg_entry_point 或直接传入 ManagerBasedRlEnvCfg 子类创建环境;跑 test_env.py / test_env_vectorized.py / test_random_rollout.py 做 sanity check,再接入训练脚本。

安装依赖:

conda create -n genesislab python=3.10
conda activate genesislab
pip install genesis-world
bash ./scripts/setup/setup_ext.sh   # 在仓库根目录执行,以可编辑方式安装 genesislab 等
GenesisLab:轻量、好改、跑得快的机器人强化学习试验台图2

图示:从资产到任务配置再到运行测试的接入路径。


适用人群与对比

谁最适合用?

  • 想快速在 Genesis 上跑机器人 RL、又不希望被重型框架绑架的开发者。
  • 需要多机器人、多地形速度跟踪等 locomotion 任务、并希望代码短小易改的团队。
  • 教学或原型验证:强调「最小可用 + 清晰结构 + 自带自检脚本」的场景。

与同类方案的一句话对比(仅从定位上概括):

  • vs 自研脚本:GenesisLab 提供统一的环境接口、Manager 化 MDP 与现成任务/资产,省去从零实现向量化与观测/奖励管线的成本。
  • vs 重型仿真框架:GenesisLab 只做「任务套件 + 引擎封装」,不追求大而全,更适合作为围绕 Genesis 的轻量试验台和二次开发起点。
GenesisLab:轻量、好改、跑得快的机器人强化学习试验台图3

图示:GenesisLab 在「轻量灵活」与「功能全面」之间的平衡点。


总结

GenesisLab 用「轻量 + 好改 + 跑得快」的思路,在 Genesis 物理引擎上搭了一个强化学习任务套件:即用的速度跟踪任务、向量化仿真、清晰的 Manager 架构与自检脚本,让你能把时间花在观测设计、奖励 shaping 和策略迭代上,而不是在框架里找入口。如果你正在或打算用 Genesis 做机器人 RL,不妨把它当作一个快速实验与扩展的起点,按「复制任务 → 改配置 → 跑测试 → 训练」的节奏接入自己的机器人与场景。


-END-

声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
机器人
more
iPhone 17e 发布,4499 元起售;马斯克:10 年内上班将全凭自愿;卢伟冰:5 年内机器人进小米产线
舍弗勒×乐聚机器人:中德“双buff”,落子工业具身智能规模化商用
荣耀MWC发布“机器人手机”,摄像头会点头也能转头
文旅,人形机器人天上掉下来的馅饼?
机器人需要长得像人吗?
宝马工厂人形机器人,电爪来自中国
具身机器人,没有10亿别谈B轮
南科大团队推出穿戴式半人马助行机器人,负重行走代谢成本降低35%
20亿,“国家队”为何集体押注这家机器人创企?
大疆就Romo扫地机器人漏洞支付3万美元赏金,系统全面升级预计一月内完成
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号