zeroth-bot
350美元可组装的人形机器人,用强化学习实现 sim-to-real 迁移
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
350美元可组装的人形机器人,用强化学习实现 sim-to-real 迁移
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你花 350 美元买来一套零件,自己 3D 打印外壳,组装出一台能走、能看、能对话的人形机器人,然后用强化学习训练它帮你做家务——这不是科幻,而是 Zeroth-01 Bot 正在做的事。
人形机器人是当前 AI 领域最烧钱的方向之一。Boston Dynamics 的 Atlas 本田的 Asimo 背后是数十亿美元的投入,普通研究者根本无从下手。而 K-Scale Labs(项目背后的公司)提出了一个激进的主张:把人形机器人的成本降到 350 美元,同时把训练方法完全开源。
这个项目的发起人是 Scott Carlson(K-Scale Labs 联合创始人),他曾在机器人公司工作多年,核心团队成员来自伯克利、斯坦福等院校的机器人实验室。项目在 2024 年中启动,GitHub 社区迅速积累了 794 颗星,Discord 社区已有数千名成员。
Zeroth-01 的技术栈分为三个紧密协作的层次:
第一层:KOS 机器人操作系统(kos-zbot)
这是跑在 Raspberry Pi 4B 上的控制核心。安装文档(Installation.md)详细记录了在树莓派上搭建实时控制环境的全部步骤:从 Python 3.12 环境配置,到 Rust 编译器安装(kinfer 依赖),再到 Linux 实时调度能力(setcap cap_sys_nice)的权限配置。
KOS 提供了一个统一的 CLI 工具 kos,通过 gRPC 与上位机通信。核心功能包括:
kinfer 运行时加载训练好的策略模型(.kinfer 格式),将神经网络输出转换为舵机角度命令第二层:K-Sim Gym 仿真训练(ksim-gym-zbot)
这是强化学习训练的核心。ksim 是 K-Scale 自研的仿真框架,基于 MuJoCo 物理引擎。项目使用 JAX + Equinox 构建神经网络(Actor-Critic 架构),使用 Optax 进行优化。
Actor 网络接收 50 维状态输入(20 个关节位置、20 个关节速度、IMU 四元数、2 维线速度命令、偏航角、高度/翻滚/俯仰命令),输出 20 维关节控制量。Critic 网络接收 484 维状态(包含更丰富的感知数据)评估状态价值。
训练出来的策略通过 convert.py 转换为 .kinfer 格式——这是一个 K-Scale 定制的推理模型格式,基于 Rust 实现,可直接在嵌入式设备上高效运行。
第三层:Sim-to-Real 迁移
从仿真到真实机器人最大的挑战是"sim-to-real gap"(仿真与现实的差异)。Zeroth-01 采用了 SysID 标定(系统辨识)方法来弥合这一差距:先在真实机器人上测量舵机的摩擦力、响应延迟、刚度等物理参数,然后在 MuJoCo 中精确建模这些特性,使得训练出的策略能直接部署到真实硬件上。
为什么用 JAX 而不是 PyTorch?
这是一个有意思的选择。JAX 的 JIT 编译能力对于需要高频推理的机器人控制场景非常有价值——Actor 网络在 50Hz 控制循环中被调用,PyTorch 的 Python 开销会成为一个瓶颈。Equinox 提供了类似 PyTorch Module 的接口,同时保持了 JAX 的函数式纯粹性。
MuJoCo + mujoco_scenes
mujoco_scenes 是 K-Scale 的 MuJoCo 场景扩展库,提供了预定义的 URDF 和 MJCF 模型。Zeroth-01 机器人的 20 个关节的物理参数都定义在相应的 MJCF 模型中。
gRPC 服务架构
KOS 通过 gRPC 实现上下位机通信:Python 端是 gRPC 客户端(发送舵机命令、接收传感器数据),跑在 Raspberry Pi 上的服务是 gRPC 服务端。这种架构让上位机(可以是任何能运行 Python 的设备)专注于高层决策,而底层实时控制交给树莓派处理。
整体代码质量处于较高水平:ksim-gym-zbot 使用了完整的现代 Python 工程实践(mypy 严格模式、ruff lint、pytest 测试框架),代码规范清晰。kos-zbot 作为嵌入式控制软件,有独立的 actuator.py、imu.py、inference.py、policy.py 等模块划分,职责明确。
扣分项:主仓库(zeroth-robotics/zeroth-bot)目前仅为一个"入口仓库",核心代码全在子模块中,缺少直接的贡献指南;Python 版本要求 3.12(较新),对旧系统兼容性有限。
适合人群:
不适合人群:
Zeroth-01 代表了人形机器人民主化的一个重要方向:不再是高校实验室或大公司的专属,而是任何有热情的开发者都能参与。当 350 美元的硬件配合完全开源的训练代码,强化学习研究者可以在真实的双足机器人上验证自己的想法——而不仅仅是 MuJoCo 仿真器里的像素小人。
这个项目的增长轨迹值得关注:794 颗 GitHub 星标背后,是全球开发者对"人人都能玩人形机器人"这一愿景的投票。