一块开发板,除了跑系统、接外设,还能做些什么?
MicroDuck 这类开源项目给出了一个答案:用它驱动 15 个舵机,让一只桌面大小的双足机器人自己走起来。
从 Pollen Robotics 开源的 MicroDuck,到 Luwu Dynamics 基于它改造的 XgoDuck,小型双足机器人的结构、控制和训练方案已经为爱好者准备好了可以动手实践的基础。
在这个项目中,我们将基于 XgoDuck 复刻一只桌面机器人,并以泰山派 1M(RK3566)作为控制核心。按照教程准备物料、完成组装、烧录配套镜像,再通过网页完成配置和标定,就能开始操作机器人。
本教程以快速复刻为目标,使用配套镜像和已训练好的动作模型,带大家从准备零件走到装好并启动。
先看整机的关键信息:
| 项目 | 说明 |
|---|---|
| 机器人 | 桌面级双足机器人,鸭子造型,整机约 25 厘米高 |
| 控制核心 | 泰山派 1M(Rockchip RK3566) |
| 执行机构 | 15 个 HD-1910-C001 串口舵机 |
| 姿态传感器 | LSM6DSV16X,通过 I2C 接口连接 |
| 运动方式 | 强化学习训练的动作模型,在板端实时推理 |
| 板端软件 | Easyduck:主控、网页控制、手柄操作、标定、音效 |
| 复刻基础 | XgoDuck 公开方案 |
| 教程目标 | 从准备物料到装好并启动机器人 |

1 项目概述
1.1 MicroDuck
MicroDuck 是 Pollen Robotics 开源的小型双足机器人项目。它有鸭子造型、双腿和可活动的头部,整机约 25 厘米高,通过 15 个舵机驱动关节。
它的特点是利用强化学习训练得到的动作模型控制运动:先在仿真中让机器人反复尝试,训练出根据身体状态计算关节目标的模型,再把模型放到实物机器人上运行。实际运动时,控制程序持续读取姿态和关节反馈,并更新舵机目标。
Pollen Robotics 分别公开了板端运行软件 microduck 和仿真训练代码 microduck_rl。前者负责机器人上的控制与交互,后者负责训练动作模型并导出,供板端软件加载。复刻时使用已经训练好的模型,由开发板运行。

1.2 XgoDuck
XgoDuck(XGO-Duck) 是 Luwu Dynamics 基于 MicroDuck 改造的双足机器人方案。它保留了鸭子造型和 15 个舵机的关节布局,改用 3D 打印结构、飞特 1910 系列串口舵机、Arduino UNO Q 主控及配套扩展板。
XgoDuck 的改造还涉及机器人结构尺寸、质量与惯量,以及仿真中的舵机模型。因此,它提供了相互配套的结构、板端程序和训练代码:
| 相关仓库 | 主要内容 |
|---|---|
| xgoduck_hardware | 结构件、电子硬件、材料清单和组装说明 |
| xgoduck_runtime_arduino | Arduino UNO Q 上的运行程序,以及网页设置与控制功能 |
| xgoduck_rl | 基于 microduck_rl 适配的仿真环境、动作训练和模型导出工具 |
这些资料把「如何组装机器人」和「如何让它运动」联系了起来,也构成了我们复刻时的直接参考。

1.3 泰山派复刻
本教程以 XgoDuck 为直接复刻基础,在泰山派上完成硬件接口、运行环境和控制软件的适配。 三者之间的关系可以理解为:
我们参考 XgoDuck 的结构与 1910 舵机方案,以及配套的仿真训练和动作模型,将控制核心换为泰山派 1M,搭配 15 个 HD-1910-C001 舵机和独立的 LSM6DSV16X 姿态传感器。泰山派通过串口与舵机通信,通过 I2C 读取姿态传感器,并运行机器人控制程序和动作模型。
板端软件整理为 Easyduck,包含机器人主控、网页控制、手柄操作、舵机与 IMU 标定、音效及部署工具。本教程会围绕这套泰山派实现,说明各部分如何连接、配置和使用。
| 对比项 | XgoDuck 参考方案 | 本教程的泰山派方案 |
|---|---|---|
| 控制核心 | Arduino UNO Q | 泰山派 1M(RK3566) |
| 舵机 | 15 个 1910 系列串口舵机 | 15 个 HD-1910-C001 舵机 |
| 姿态传感器 | 配套扩展板上的 QMI8658A | 独立的 LSM6DSV16X |
| 硬件通信 | UNO Q 的 Linux 与 STM32 配合处理 | 泰山派通过串口和 I2C 直接连接外设 |
| 板端软件 | XgoDuck 的 UNO Q 运行程序 | 面向泰山派适配、整理的 Easyduck 软件 |
1.4 参考来源与版权说明
本教程是在以下两个项目的基础上完成的复刻实践:
| 项目 | 作者 | 授权情况 | 本教程的使用方式 |
|---|---|---|---|
| MicroDuck | Pollen Robotics | Apache-2.0 | 控制思路与动作模型的运行方式 |
| microduck_rl | Pollen Robotics | Apache-2.0 | 仿真训练代码与导出的动作模型 |
| XgoDuck | Luwu Dynamics | 公开仓库,未发布正式许可证 | 结构设计、装配流程与装配示意图 |
图片版权
本教程涉及的 MicroDuck、XgoDuck 相关图片取自上述项目的公开仓库与项目页面,版权归原作者所有,仅用于技术说明。
非官方文档
本教程由立创开发板团队独立编写,仅用于泰山派开发板的技术教学与展示,与 Pollen Robotics、Luwu Dynamics 及 Arduino 无隶属关系,不代表其立场,也不构成官方背书。文中涉及的商标与产品名称归各自所有者。
关于商用
XgoDuck 仓库目前未发布正式许可证,其说明中写明个人与教育用途可复刻、商业使用需单独授权。如你需要在商业场景中复刻该机器人、分发结构文件或转载装配图片,请先联系 Luwu Dynamics(hello@xgorobot.com)取得书面许可。