最近在 GitHub 上发现一只挺有意思的螃蟹机器人,22 个自由度,可以走路、跳舞、跳跃,还可以伸出爪子抓东西。项目叫 Jumper(跳跳),刚开源不久。

先看一个跳水动作。

动作已经挺有意思,更吸引人的是它的训练方式。作者把 AI 编程工具接入了机器人开发流程:要训练某个动作,只需要说一句,AI 就会帮忙准备环境、调用脚本。
看到这里,我有点好奇:机器人训练已经简单到说句话就能完成了吗?
翻了一下仓库,事情还真不简单。
一句话,让机器人学会走路
先从最基础的走路说起。
Jumper 已经做好了三足步态训练任务。在 AI 编程助手里可以直接输入:
为 Jumper 训练稳定的三足步态,完成回放、检查效果并导出动作包。
AI 会根据项目给定的流程准备环境、进行训练、检查结果。
下面是官方行走演示,注意看几条腿交替运动时,身体是怎么保持平衡的。

背后用的是 PPO 强化学习算法。
简单来说,就是让机器人在仿真中不断练习。每走一步,系统都会检查它的速度、姿态和动作是否平稳;走得好的给奖励,动作不稳就扣分,在训练过程中不断调整控制策略。
项目里的三足步态使用 411 维观察输入,输出 20 维动作。
所以 AI 帮忙处理的是训练流程,真正让机器人学会走路的,还是强化学习算法。
以前研究机器人强化学习的时候,光是搭建环境、配置依赖、调试训练脚本就占用了大量时间。现在 AI 可以帮我们做这些事,确实很方便。
但如果你想自己修改步态、调整奖励函数,PPO 和运动控制这些知识还是绕不开。Jumper 更适合有编程基础、想学习机器人强化学习的人。完全没接触过机器人控制,只靠提示词是玩不转的。
跳舞和跳高又是怎么学会的呢?
走路才刚开始,Jumper 还有舞蹈、跳跃、姿态变化、抓取等任务。
先看这个舞蹈动作。

多个关节同时运动,还要保持身体平衡,光靠随机尝试很难摸索出一套完整舞蹈。
Jumper 的办法是引入参考轨迹。可以理解为先给机器人一个目标动作,让机器人去练习;当动作出现偏差时,再通过训练慢慢纠正。
跳跃也是一样的思路。有了参照动作之后,训练就有了明确目标。
但参考轨迹本身也很重要。目标动作有误,即使后面训练时间再长,也达不到理想效果。
项目还提供了抓取仿真。

这些动作看着挺有意思,但我更关心它们能不能在真实机器人上稳定运行。尤其是跳跃:能跳起来还不算完,落地之后能不能站稳、连续跳几十下会不会出问题,这才是需要验证的地方。
真正麻烦的,是训练完以后
训练出一个会走路的模型,并不意味着工作就完成了。
怎么加载?怎么切换动作?模型输出怎么对应真实关节?
如果这些问题处理不好,机器人仍然会胡乱动。
Jumper 为此设计了一套动作打包流程,可以将训练策略、控制器和配置整理成 .app 文件。
一个动作包可以面向三种运行环境:
| 环境 |
模型与控制器 |
| 浏览器 |
ONNX + WebAssembly |
| 桌面仿真 |
ONNX + 本地控制器 |
| 机器人板端 |
RKNN + AArch64 控制器 |
底层控制器用 Rust 编写,各个平台共用状态机和动作配置。
这里还有个细节。Jumper 整机有 22 个自由度,但是三足步态策略只输出 20 维动作。按照数组下标直接对应关节很容易出错,项目用关节名称来建立映射关系,防止把动作发送到错误的关节上。
如果关节顺序对应错了,即使模型正常运行,机器人也会做出错误动作。这类问题的排查,通常比训练模型更难。
比起让机器人多跳几个动作,模型正确加载、切换和执行这一套设计更值得研究。
没有显卡,也能先跑起来
想自己研究的话,Jumper 对硬件还算留了余地。
它有两套物理仿真后端。有 NVIDIA 显卡的话,可以用 MuJoCo Warp 来进行大规模并行训练。没有显卡的话,也可以在 CPU 上用原生 MuJoCo 运行,只是会比较慢。
两套后端共用任务配置、奖励函数和 PPO 代码,不需要重新写算法。
项目支持 Python 3.10~3.13。安装好依赖后,可以先试试三足步态:
# 查看训练任务
python scripts/train.py --list
# 用CPU进行训练
python scripts/train.py --task jumper.tripod --backend native --device cpu --num_envs 64
# 回放训练结果
python scripts/play.py --task jumper.tripod
以前接触一些机器人训练项目的时候,最让人头疼的就是环境和硬件要求。还没开始研究算法,就被依赖和显卡折腾好久。Jumper 至少可以先用 CPU 跑通流程,等到真正需要大量训练时再考虑 GPU。
训练完成之后,还可以使用 export.py 导出为 ONNX 格式,然后用 deploy.py 进行打包。整个打包过程会涉及 Docker 和 RKNN 转换。
这些流程来源于官方文档,我没有亲自跑过一次训练,具体的耗时和效果暂时不作评价。
机器人外形也可以自己设计。
除了动作训练之外,Jumper 还有一个单独的 jumper-design 仓库。比如想给它换上一套暖沙色的游侠外观,只要把配色和设计要求说清楚,就可以生成方案并导出 .skin 文件。

还可以制作公园、卧室、足球场等仿真场景,并导出 .map 文件。

这部分可以用来做创意设计,先看看不同的外观和场景效果。但目前 .skin 文件还不能直接用于动作训练,自定义的 .map 也只能用来回放。可以渲染出外观,但打印出来之后不一定能装到机器人上,真实装配还要进行验证。
要什么样的硬件
Jumper 用了 22 个触觉舵机,主控是瑞芯微 RK3576,配备 6 TOPS NPU。还有 IMU、摄像头、dToF 深度传感器、麦克风和扬声器,两个小屏幕用来显示表情。
整机标称尺寸为 400×400×200 mm,重量 1.8 kg,主要面向室内使用。硬件配置挺丰富,但仓库公开的重点还是软件工具链,现有资料不足以让开发者直接复刻整台机器人。
项目自有材料采用 Apache-2.0 许可证,第三方素材和生成文件还需分别确认授权。
另外要注意,官方已经说明 RKNN 推理没有在真实板卡上验证过,1kHz 控制器循环也没有真正驱动过电机总线。
仿真里的动作已经不少了,接下来更值得看的,是这些模型能不能稳定跑在真实机器人上。特别是连续运行、动作切换以及异常保护等,这些工作比训练一个新动作更难处理。
写在最后
Jumper 把机器人训练、模型导出和控制器打包串成了一套流程,配合 AI,确实可以节省很多重复工作。
想研究机器人强化学习的朋友,可以先从仿真开始,不必急于购买硬件。
不过,真正拿来做机器人开发,还要看后面的真机测试和部署文档能不能跟上。如果这两块做好了,Jumper 就不只是一次有趣的机器人展示项目了。
GitHub 地址:https://github.com/KingKongRobotics/jumper
如果对这种机器人强化学习项目感兴趣,也可以常来云栈社区逛逛,上面还有更多开源项目分享。