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

动作已经挺有意思了,更吸引我的是它的训练方式。作者把 AI 编程工具接入到了机器人开发流程中。要训练某个动作,只需要说一句,AI 就会帮你准备好环境、调用脚本。
一句话,让机器人学会走路
Jumper 已经做好了三足步态训练的任务。在 AI 编程助手里可以直接输入:「为 Jumper 训练稳定的三足步态,完成回放、检查效果并导出动作包。」AI 会根据项目所给的流程来准备环境、进行训练、检查结果。
背后用的是 PPO 强化学习算法。简单来说就是让机器人在仿真中不断练习。每走一步,系统都会对它的速度、姿态和动作进行检查是否平稳。走得好的就给奖励,动作不稳的就扣分,在训练的过程中不断调整控制策略。
项目里的三足步态使用 411 维观察输入,输出 20 维动作。所以 AI 帮忙处理的是训练流程,真正让机器人学会走路的,还是强化学习算法。
跳舞和跳跃又是怎么学会的呢?Jumper 的办法是引入参考轨迹。可以理解为先给机器人一个目标动作,让机器人去练习。当动作出现偏差的时候,再通过训练来慢慢纠正。跳跃也是一样的思路。有了参照动作之后,训练就有了明确的目标。
项目还提供了抓取仿真。
真正麻烦的,是训练完以后
训练出一个会走路的模型,并不意味着工作就完成了。怎么加载?怎么切换动作?模型输出怎么对应真实关节?Jumper 为此设计了一套动作打包流程,可以将训练策略、控制器和配置整理成 .app 文件。一个动作包可以面向三种运行环境:浏览器(ONNX + WebAssembly)、桌面仿真(ONNX + 本地控制器)、机器人板端(RKNN + AArch64 控制器)。
底层控制器用 Rust 编写,各个平台共用状态机和动作配置。Jumper 整机有 22 个自由度,但是三足步态策略只输出 20 维动作。按照数组下标直接对应关节很容易出错。项目用关节名称来建立映射关系,防止把动作发送到错误的关节上。
没有显卡,也能先跑起来
Jumper 对硬件还算留了余地。它有两套物理仿真后端。有 NVIDIA 显卡的话,可以用 MuJoCo Warp 来进行大规模并行训练。没有显卡的话也可以在 CPU 上用原生 MuJoCo 运行,但是会比较慢。两套后端共用任务配置、奖励函数和 PPO 代码,不需要重新写算法。
训练完成之后还可以使用 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,主要面向室内使用。
硬件配置挺丰富,但这个仓库公开的重点还是软件工具链,现有资料不足以让开发者直接复刻整台机器人。另外要注意的是,官方已经说明了 RKNN 推理没有在真实的板卡上进行过验证,1kHz 控制器循环也没有真正地驱动过电机总线。仿真里的动作已经不少了,接下来更值得看的,是这些模型能不能稳定跑在真实机器人上。
写在最后
Jumper 把机器人训练、模型导出和控制器打包串成了一套流程,配合 AI,确实可以节省很多重复的工作。想要研究机器人强化学习的朋友可以先从仿真开始,不必急于购买硬件。不过,真正拿来做机器人开发,还要看后面的真机测试和部署文档能不能跟上。