视频全流程拆解 · 一步一步做机器鸭

一只机器鸭的诞生:
XGO-Duck 组装图文教程

本教程基于陆吾智能《XGO-Duck 组装教程|一只机器鸭的诞生》视频(B站 BV1h1Ww6XE3m),配合官方开源仓库 xgoduck_hardware 的 25 页图文装配指南、物料清单与打印清单,把每一步拆成可照做的图文步骤;并附全片 23:11 共 1391 帧的逐帧截图动作记录(每秒 1 帧,不精简压缩)。

视频时长 23:11 官方装配指南 25 页 舵机 15 颗 主控 Arduino UNO Q 开源仓库 LuwuDynamics/xgoduck_hardware
▶ 观看原视频(B站 BV1h1Ww6XE3m) XGO-Duck 原型:白色打印结构、黄色嘴与脚、外露腿部关节

XGO-Duck 原型(官方仓库图):打印结构 + 关节式双腿 + 可活动头部与嘴部。

STEP 00

从零开始:连电脑、配网络、导项目

刚拿到开发板的新手,先把这三件事做完:① 用 USB-C 连上电脑 → ② 给板子配好 Wi-Fi → ③ 把 GitHub 上的项目导入并部署。做完你就能在浏览器里看到板子的配置界面,再往下走打印和装配。

① 连电脑 USB-C 数据线 + App Lab 识别板子(60 秒内) ② 配网络 WPA2 + 2.4 GHz 设置 Linux 强密码 ③ 导项目 + 部署 git clone 两个仓库 运行时部署到板子 浏览器 :9527 Servo setup / Calibration Control 控制台

① 把开发板连上电脑(PC 模式)

  1. 准备:UNO Q ×1、电脑(Windows/Mac/Linux)、USB-C 数据线——必须能传数据,纯充电线不行。USB 口会直接给板子供 5V/3A 电,不需要额外电源。
  2. 安装 Arduino App Lab:打开 Arduino 官网软件页面,下载对应系统的 App Lab,运行安装(Windows 上双击安装包一路下一步即可)。
  3. 连接:用 USB-C 线把板子连到电脑,然后打开 App Lab,等待板子出现在界面(最多约 60 秒),点 USB 连接。
  4. Windows 放行提示:首次启动若弹出 Windows Defender 关于 mdns-discovery.exe 的访问提示,务必点"允许",否则之后发现不到板子;防火墙需放行 UDP 5353(网络发现用)。
  5. 首次向导:连接后按提示设置板子名称、键盘语言 → 配置 Wi-Fi → 设置 Linux 用户名与密码(用户名固定 arduino)。

② 给板子配置网络(Wi-Fi)

  1. 在向导的 Network Setup 选择你的 Wi-Fi,输入密码,点 Confirm。
  2. 加密方式必须 WPA/WPA2 Personal:App Lab 向导不支持 WPA3,WPA3 网络会连接失败(报 Failed to connect)。路由器或手机热点请改为 WPA2(或 WPA2/WPA3 兼容模式)。
  3. 频段:UNO Q 支持 2.4/5 GHz 双频;初次配置建议用 2.4 GHz 信号,更稳、穿墙更好。
  4. Linux 密码用强密码:字母+数字混合(如 XgoDuck2026),纯数字(如 012345678)会被系统拒绝,报 failed to set password: exit status 1。
  5. 配好后板子会自动联网并更新;以后换 Wi-Fi 需重新用 USB 连接再配置。同一局域网内,App Lab 可用 Network 模式远程连板子(输入 Linux 密码即可)。

③ 导入 GitHub 项目并部署运行时

  1. 装 Git(可选):到 git-scm.com 下载安装,一路下一步;不想装的话,在 GitHub 页面点 Code → Download ZIP 解压也一样。
  2. 克隆两个仓库(在电脑终端执行):
    git clone https://github.com/LuwuDynamics/xgoduck_hardware(零件图/STL/物料/装配指南)
    git clone https://github.com/LuwuDynamics/xgoduck_runtime_arduino(要部署到板子的程序)
  3. 认识两个仓库的结构:hardware 里有 Assembly_Guide.pdf(25 页装配图)、BOM.md(物料)、structure/(STL)、PCBA/(扩展板文件)、docs/(说明);runtime 里有 app.yaml(App 配置)、assets/(网页界面)、python/(策略与 ONNX 模型)、sketch/(STM32 固件)、tools/(部署脚本)。
  4. 把运行时部署到板子(在板子的终端里执行,USB 连好或 SSH 进板子都可以):
    SSH 进板子:ssh arduino@<板子IP>(密码 = 之前设置的 Linux 密码)
    在板子上获取代码:git clone https://github.com/LuwuDynamics/xgoduck_runtime_arduino 后进入目录,按官方 README 依次执行:
    python3 tools/prepare-bridge.py
    sudo bash tools/router-2m.sh
    arduino-app-cli app start "$PWD"
  5. 打开控制台:浏览器访问 http://<板子IP>:9527,即可进入 Servo setup(舵机配置)、Calibration(校准)、Control(控制)页面——后续 STEP 04 的舵机编号就在这里完成。
部署后先做什么运行时启动后默认是"仅推理"状态(扭矩关闭、鸭子不会动)。先在 Servo setup 给 15 颗舵机编号,再校准,最后在 Control 页先试"默认姿态",再试行走。
卡住了对照这里Wi-Fi 连不上 → 把网络改成 WPA2 + 2.4 GHz;设置密码报 exit status 1 → 换成字母数字混合强密码;App Lab 发现不到板子 → 检查 USB 数据线、放行 mdns-discovery.exe、防火墙放行 UDP 5353。
STEP 01

认识 XGO-Duck:它由什么组成

XGO-Duck 是陆吾智能基于 Pollen Robotics Microduck 适配的鸭形双足机器人:打印结构 + 15 颗 Feetech 1910 串行总线舵机 + Arduino UNO Q + 定制扩展板。

硬件组成

子系统配置用途
控制器Arduino UNO Q(2/4 GB)Linux 主机负责策略推理与网页界面;STM32 MCU 负责舵机与传感器通信
执行器15 颗 Feetech 1910 串行总线舵机10 个腿部关节 + 4 个颈部/头部关节 + 1 个嘴部关节
扩展板陆吾 UNO Q 扩展板配电、舵机连接与 IMU 集成
运动感知QMI8658A 六轴 IMU加速度与角速度反馈,用于双足平衡
结构STL 打印零件机身、腿部、颈部与头部组件
柔性件文件名带 TPU 的 STL脚底与嘴部柔性零件
浏览器 设置 / 校准 / 控制 (网页界面) UNO Q · Linux 主机 ONNX 策略推理 Arduino Bridge UNO Q · STM32 舵机 / IMU 控制环 串行总线 15 × Feetech 1910 舵机 腿 10-14 / 20-24 颈 30-31 · 头 32-33 · 嘴 34 QMI8658A IMU → 传感器反馈 → MCU
控制/软件链路 执行器 传感器反馈
XGO-Duck 张开嘴部正面视图

可活动的头部与嘴部:4 个颈部/头部关节 + 独立嘴部舵机。

XGO-Duck 背面,可见扩展板与走线

后置控制器堆叠与便于检查的走线(项目原型照,以实物为准)。

配套仓库(硬件 → 运行 → 训练)制作靠 xgoduck_hardware(本教程依据);部署软件用 xgoduck_runtime_arduino;想训练自己的动作用 xgoduck_rl。制作记录请同时记下三个仓库的版本,便于复现与排查。
STEP 02

准备物料(BOM 采购清单)

以下为官方整机采购清单(数量含螺丝)。买成品扩展板时,板上器件已包含,无需再买 PCB 制造 BOM。

#零件数量规格 / 说明
1Arduino UNO Q12 GB / 4 GB 版本均可
2机器人扩展板1陆吾商店购买;设计文件见仓库 PCBA/ 目录
3AMP 3 针舵机线15与第 4 项共用采购链接
4Feetech 1910 舵机15磁编码双轴总线舵机,实时回读关节角度
518650 电池组 8.4 V1XH2.54 接口;容量 >2500 mAh;放电 >3C
68.4 V 锂电充电器15.5 × 2.1 mm DC 圆孔插头(DC5521)
7M2×6 沉头平尾自攻螺丝200整机主力螺丝,数量按采购清单
8M2.3×8 平顶圆头平尾自攻螺丝6顶面是平的(注意与第 9 项区分)
9M3×16 圆头机丝4顶面带弧度,机丝螺纹(电路板用)
10轴承 10×15×3 mm2脚掌等处使用
11轴承 16×22×4 mm11腿部/颈部关节使用

螺丝长什么样:采购前先认三种

三种螺丝外形示意图

第 7 项 M2×6 沉头平尾自攻 · 第 8 项 M2.3×8 平顶圆头平尾自攻 · 第 9 项 M3×16 弧面圆头机丝(官方外形示意图,非尺寸图纸)。

第9项圆头参考照片

第 9 项参考:低矮、顶部略鼓的圆头;第 8 项侧边相同但顶面是平的。

电池接头参考图

电池接头参考(来自原始 BOM):上电前务必核对对接头与极性。

采购与上电前必读电池组确切配置、兼容充电器与极性需按仓库 docs/BOM.md 核对;第 7、8 项是平尾自攻螺丝,第 8、9 项头部侧边轮廓相同但顶面不同,按实物图核对后再下单。
STEP 03

3D 打印结构件

从仓库 structure/ 目录下载 STL。普通桌面 3D 打印机即可完成绝大部分零件。文件名自带装配信息。

文件命名规则

文件名特征含义示例
2x_前缀打印两份2x_shank.stl、2x_neck.stl
left_ / right_左右侧分别提供文件left_foot.stl、right_foot.stl
tpu 字样柔性零件(用 TPU 打印)2x_foot_bottom_tpu.stl、mouth_up_tpu.stl
文件份数材质
打印前先验证,再打全套先打印 1 个舵机安装位 + 1 个轴承座试配合,确认公差后再打全套。TPU 件(脚底、上下嘴)注意打印材质与安装方向;完整验证过的打印参数官方仍在征集中,请自行记录材料/层高/支撑并回传。
STEP 04

舵机准备:编号与中位

先给 UNO Q 部署运行时(xgoduck_runtime_arduino),再按图给每颗舵机设置 ID 与中位。每次只连接一个舵机,标好 ID,并为各关节整个运动范围留出线缆活动空间。

双腿舵机 ×10 10 · 11 · 12 13 · 14 右腿 20 · 21 · 22 23 · 24 左腿 组装时注意左右方向与朝向 颈部 ×2 30 · 31 保留副舵盘 颈部关节 头部 ×2 + 嘴 ×1 32 · 33 · 34 34 = 嘴部 头摆 + 嘴部 副舵盘规则 保留:30 / 31 可选拆:10 / 20 / 32 其余拆除 勿拆输出轴
舵机组 规则

ID 配置操作(浏览器界面)

  1. 舵机接主板 → 打开开关 → 主板 Type-C 连电脑。
  2. 浏览器输入 http://<UnoQ 开发板 IP>:9527(或 mDNS:http://<Uno-Q 名称>.local:9527;名称见 Arduino App Lab 左下角)。
  3. 进入 Servo setup → Scan all IDs 扫描出当前单个舵机后 Stop scan。
  4. 确认 Set KP/KD 后面的数字为 5 和 20 → Write 写入增益。
  5. 输入新编号 → Change ID,修改成功后再换下一个舵机(每次只连一个)。
编号与中位15 颗舵机唯一 ID:10–14、20–24、30–34(嘴部 = 34)。中位设在原始值 2047(raw),按运行时指南写入增益并给每颗舵机贴标签;重复 ID 会收到相同的写入。
不要弄反舵机线端子孔对准接口凸起插入,勿插反;扩展板/开发板排针对准插座,按压到位;电池接主板注意正负极。
STEP 05

机械装配:25 页图文指南逐步拆解

以下步骤来自官方《Assembly_Guide.pdf》(25 页),页码对应 PDF 页码。核心原则:先走线、后锁螺丝;每封闭一个区域前确认线缆不被夹住并留足活动余量;左右镜像件不要假设相同,对照照片装配。

STEP 06

通电前检查清单

STEP 07

部署软件、校准与分级测试

1 · 部署机载运行时

安装 xgoduck_runtime_arduino:浏览器界面完成舵机设置、校准与运动控制,内含行走、起身、抓取策略与独立嘴部控制,附带策略无需重新训练。

2 · 校准(扶住机器人)

按运行时校准流程操作:启动校准会把舵机命令到 raw 2047,可能产生移动,请用支撑架扶稳。工厂零位只是别的装配体参考,不能替代针对自己这台机器的校准。校准后备份 data/zero_pos.json。

3 · 分级测试(从小到大)

先跑推理 → 再测支撑状态下的默认姿态 → 在平整地面低指令行走 → 验证扭矩关闭行为 → 最后再测抓取与跌倒起身。扭矩关闭后机器人可能瘫倒,全程使用支撑。

立即停止的情况出现方向不符、卡涩、发热或反馈不稳,先停下来诊断,不要硬试。训练新动作:xgoduck_rl 在另一台工作站训练 → 评估 checkpoint → 导出 ONNX 策略 → 兼容性检查 → 真机测试。
STEP 08

常见问题与避坑

螺丝螺丝长短

螺丝不能太长:会顶住舵机盘卡死转动;也不能太短:行走中容易脱落。选对第 7/8/9 项规格,按每步数量取用。

走线线缆余量

装配遵循"先走线后锁螺丝",每封闭一个部件前确认线缆有 slack、不会被关节夹到,否则运动时拉断或卡阻。

镜像左右方向

腿、脚、侧板均有左右之分。第 8 页明确"注意左右方向,核对舵机编号与安装朝向",镜像件不要假设相同。

TPU柔性件方向

脚底与嘴部 TPU 件注意安装方向(第 15 页)与打印材质,方向装反会影响步态与夹取。

旧板旧版扩展板修正

2026-10-02 硬件修订:旧版 ArduinoUnoQ PCB 的 U3/U4/U5 接口 GND 与 SIGNAL 接反。旧板用户先断电,按 PCBA/README.md 核对修正线束;2 脚电源不变。

网络UNO Q 联网

App Lab 向导只原生支持 WPA/WPA2;WPA3 会连接失败。初次配置建议 WPA2 + 2.4 GHz;Linux 密码用字母+数字混合强密码(纯数字如 012345678 会被拒绝)。详见 STEP 00。

逐帧

视频逐帧动作记录(全片 23:11 · 1391 帧)

对陆吾智能原视频逐帧截图并逐帧对比:同一动作步骤内的连续帧(画面近乎一致)合并为一张代表帧(1391 帧 → 保留 201 帧),每帧标注时间范围、代表图与动作记录。动作文字以画面字幕与实拍双重核对(编号/规格均放大核实)。

跳到帧(输入秒数 0–1390):
00:00 帧
00:00# 0 s

片头标题画面:XGO-Duck 组装教程|一只机器鸭的诞生

00:01 帧
00:01–00:06# 1 s 相同 6 帧

演示台上扩展板与开发板对位,排针对准插座

00:07 帧
00:07–00:09# 7 s 相同 3 帧

把扩展板和开发板的排针对应的插座插上,使其接触到位

00:10 帧
00:10–00:19# 10 s 相同 10 帧

把电池接到主板上,注意不要接反

00:20 帧
00:20–00:24# 20 s 相同 5 帧

把舵机线接到舵机上,注意不要接反

00:25 帧
00:25–00:32# 25 s 相同 8 帧

把舵机接到主控板上

00:33 帧
00:33–00:34# 33 s 相同 2 帧

打开开关

00:35 帧
00:35–00:39# 35 s 相同 5 帧

把主板通过 Type-C 连接到电源

00:40 帧
00:40–00:46# 40 s 相同 7 帧

把主板通过 Type-C 连接到电脑

00:47 帧
00:47–00:59# 47 s 相同 13 帧

UNO Q 环境搭建及软件部署(电脑端操作界面)

01:00 帧
01:00–01:19# 60 s 相同 20 帧

UNO Q 环境搭建及软件部署(IDE/代码界面)

01:20 帧
01:20–01:28# 80 s 相同 9 帧

Linux 环境搭建及软件部署(命令行界面)

01:29 帧
01:29–01:34# 89 s 相同 6 帧

浏览器输入任一地址进入配置页面:IP http://开发板IP:9527 或 mDNS http://开发板名称.local:9527(名称见 App Lab 左下角)

01:35 帧
01:35–01:39# 95 s 相同 5 帧

进入 XGO-Duck 配置页,点击[Servo setup]

01:40 帧
01:40–01:44# 100 s 相同 5 帧

Servo setup 页面,准备扫描舵机

01:45 帧
01:45–01:49# 105 s 相同 5 帧

点击[Scan all IDs]扫描总线上的舵机

01:50 帧
01:50–01:54# 110 s 相同 5 帧

当扫描出一个舵机时,点击[Stop scan]

01:55 帧
01:55–01:59# 115 s 相同 5 帧

Servo setup 扫描结果页

02:00 帧
02:00–02:04# 120 s 相同 5 帧

确保 Move to 后面的数字是 2047 后点击[Write]

02:05 帧
02:05–02:08# 125 s 相同 4 帧

确保 Set KP/KD 后面的数字是 5 和 20 后点击[Write]

02:09 帧
02:09–02:10# 129 s 相同 2 帧

在 Change ID 后面输入需要更改的 ID

02:11 帧
02:11# 131 s

输入完成后点击[Change ID]

02:12 帧
02:12–02:13# 132 s 相同 2 帧

修改成功

02:14 帧
02:14–02:19# 134 s 相同 6 帧

按照刚才的步骤依次把 15 个舵机编号改成 10、11、12、13、14

02:20 帧
02:20–02:24# 140 s 相同 5 帧

继续改编号:20、21、22、23、24

02:25 帧
02:25–02:29# 145 s 相同 5 帧

继续改编号:30、31、32、33、34

02:30 帧
02:30–02:31# 150 s 相同 2 帧

编号修改完成,确认 15 个 ID 唯一

02:32 帧
02:32–02:34# 152 s 相同 3 帧

对照内部舵机编号对应的位置图,准备标注舵机

02:35 帧
02:35–02:43# 155 s 相同 9 帧

在舵机上标注编号 14(舵机编号14)

02:44 帧
02:44–02:49# 164 s 相同 6 帧

取双孔舵机机盖(副舵盘),将其插入舵机接口上,舵机线端子孔对准接口缺口,勿插反

02:50 帧
02:50–02:54# 170 s 相同 5 帧

先拧下舵机中央的固定螺丝,再取下舵机

02:55 帧
02:55–02:59# 175 s 相同 5 帧

双孔舵盘装入舵机输出轴

03:00 帧
03:00–03:04# 180 s 相同 5 帧

取一圈舵机线,将其插入舵机的接口,舵机线端子对准接口处插入,勿插反

03:05 帧
03:05–03:09# 185 s 相同 5 帧

用手或镊子将线头按压到位

03:10 帧
03:10–03:14# 190 s 相同 5 帧

组装白色配件与黑色组件(副舵盘组件装配)

03:15 帧
03:15–03:19# 195 s 相同 5 帧

用电动螺丝刀拧入螺丝(M2×6 沉头自攻)

03:20 帧
03:20–03:24# 200 s 相同 5 帧

拿取黄色塑料支架,与电子元件/支架组装

03:25 帧
03:25–03:29# 205 s 相同 5 帧

组装黄色支架与部件

03:30 帧
03:30–03:34# 210 s 相同 5 帧

4颗 M2×6 沉头自攻螺丝(电批拧入)

03:35 帧
03:35–03:37# 215 s 相同 3 帧

4颗 M2×6 沉头自攻螺丝

03:38 帧
03:38–03:39# 218 s 相同 2 帧

将轴承压入安装孔

03:40 帧
03:40–03:44# 220 s 相同 5 帧

组装底座配件

03:45 帧
03:45–03:46# 225 s 相同 2 帧

调整位置,使中间的圆孔居中

03:47 帧
03:47–03:48# 227 s 相同 2 帧

先将平头自攻螺丝手动旋入孔内(平头自攻)

03:49 帧
03:49–03:51# 229 s 相同 3 帧

再用螺丝刀拧入

03:52 帧
03:52–03:56# 232 s 相同 5 帧

直至螺丝头部贴合表面,再从另一侧伸出

03:57 帧
03:57–04:01# 237 s 相同 5 帧

先拧下舵机编号24舵盘中央的固定螺丝,再取下舵盘

04:02 帧
04:02–04:04# 242 s 相同 3 帧

取一舵机线,将其插入舵机的接口,舵机线端子孔对准接口凸点插入,勿插反

04:05 帧
04:05–04:08# 245 s 相同 4 帧

用手拨端子将插头压到位

04:09 帧
04:09–04:14# 249 s 相同 6 帧

组装白色连接件与部件

04:15 帧
04:15–04:19# 255 s 相同 5 帧

2颗 M2×6 沉头自攻螺丝

04:20 帧
04:20–04:24# 260 s 相同 5 帧

组装(黑色部件+白色连接件+黄色基座对位)

04:25 帧
04:25–04:29# 265 s 相同 5 帧

组装对位、压合

04:30 帧
04:30–04:34# 270 s 相同 5 帧

4颗 M2×6 沉头自攻螺丝(电钻拧入)

04:35 帧
04:35–04:39# 275 s 相同 5 帧

4颗 M2×6 沉头自攻螺丝

04:40 帧
04:40–04:44# 280 s 相同 5 帧

将轴承压入安装孔

04:45 帧
04:45–04:49# 285 s 相同 5 帧

组装(部件对位)

04:50 帧
04:50–04:51# 290 s 相同 2 帧

调整位置,使中间的圆孔居中

04:52 帧
04:52–04:57# 292 s 相同 6 帧

按照之前的步骤,打入平头自攻螺丝(M2.3×8 平头自攻)

04:58 帧
04:58–05:02# 298 s 相同 5 帧

继续打入平头自攻螺丝

05:03 帧
05:03–05:06# 303 s 相同 4 帧

继续拧入平头自攻螺丝

05:07 帧
05:07–05:10# 307 s 相同 4 帧

左边舵机编号12,右边舵机编号13(腿部舵机对位组装)

05:11 帧
05:11# 311 s

4颗平头自攻螺丝(M2.3×8)

05:12 帧
05:12–05:14# 312 s 相同 3 帧

4颗 M2×6 沉头自攻螺丝

05:15 帧
05:15–05:18# 315 s 相同 4 帧

拿取环形零件,组装到基座上

05:19 帧
05:19–05:24# 319 s 相同 6 帧

组装(环形件/轴承安装)

05:25 帧
05:25–05:34# 325 s 相同 10 帧

4颗 M2×6 沉头自攻螺丝

05:35 帧
05:35–05:39# 335 s 相同 5 帧

组装调试

05:40 帧
05:40–05:49# 340 s 相同 10 帧

组装调试(黄色底座+黑色电子组件+线缆)

05:50 帧
05:50–05:54# 350 s 相同 5 帧

拿取元件、对准孔洞,拧入螺丝

05:55 帧
05:55–05:56# 355 s 相同 2 帧

左边舵机编号23,右边舵机编号22

05:57 帧
05:57–06:04# 357 s 相同 8 帧

左边舵机编号23,右边舵机编号22(腿部舵机组装)

06:05 帧
06:05–06:10# 365 s 相同 6 帧

4颗 M2×6 沉头自攻螺丝

06:11 帧
06:11–06:14# 371 s 相同 4 帧

组装(拧螺丝固定)

06:15 帧
06:15–06:19# 375 s 相同 5 帧

组装(部件对位)

06:20 帧
06:20–06:29# 380 s 相同 10 帧

4颗 M2×6 沉头自攻螺丝

06:30 帧
06:30–06:34# 390 s 相同 5 帧

组装/拆解调试(黄色底座电子元件)

06:35 帧
06:35–06:44# 395 s 相同 10 帧

拆装调试、整理线材

06:45 帧
06:45–06:49# 405 s 相同 5 帧

先拧下锁紧螺丝(压住螺丝),再取下后盖

06:50 帧
06:50–06:59# 410 s 相同 10 帧

先拧下舵机中央的固定螺丝,再取下舵机

07:00 帧
07:00–07:09# 420 s 相同 10 帧

先拧下下底座中央的固定螺丝,再取下底座

07:10 帧
07:10–07:19# 430 s 相同 10 帧

先拧下舵盘中央的固定螺丝,再取下舵盘

07:20 帧
07:20–07:27# 440 s 相同 8 帧

组装、对位、螺丝安装

07:28 帧
07:28–07:32# 448 s 相同 5 帧

4颗 M2×6 沉头自攻螺丝

07:33 帧
07:33–07:39# 453 s 相同 7 帧

组装(对位)

07:40 帧
07:40–07:44# 460 s 相同 5 帧

组装对位

07:45 帧
07:45–07:48# 465 s 相同 4 帧

4颗 M2×6 沉头自攻螺丝

07:49 帧
07:49–07:56# 469 s 相同 8 帧

白色方形盖板装配

07:57 帧
07:57–07:59# 477 s 相同 3 帧

4颗 M2×6 沉头自攻螺丝

08:00 帧
08:00–08:14# 480 s 相同 15 帧

4颗 M2×6 沉头自攻螺丝(电钻固定配件)

08:15 帧
08:15–08:17# 495 s 相同 3 帧

4颗 M2×6 沉头自攻螺丝

08:18 帧
08:18–08:24# 498 s 相同 7 帧

左边舵机编号20,右边舵机编号10

08:25 帧
08:25–08:34# 505 s 相同 10 帧

6颗 M2×6 沉头自攻螺丝,注意下面中间两颗不打

08:35 帧
08:35–08:56# 515 s 相同 22 帧

组装(镊子调整线头、部件)

08:57 帧
08:57–09:04# 537 s 相同 8 帧

10号和20号舵机外侧用长舵机线连接主板

09:05 帧
09:05–09:14# 545 s 相同 10 帧

10号和20号舵机外侧用长舵机线连接主板(走线整理)

09:15 帧
09:15–09:19# 555 s 相同 5 帧

10号和20号舵机外侧用长舵机线连接主板

09:20 帧
09:20–09:24# 560 s 相同 5 帧

组装白色配件(对位)

09:25 帧
09:25–09:28# 565 s 相同 4 帧

2颗 M2×6 沉头自攻螺丝

09:29 帧
09:29–09:34# 569 s 相同 6 帧

背面2颗 M2×6 沉头自攻螺丝

09:35 帧
09:35–09:39# 575 s 相同 5 帧

背面2颗 M2×6 沉头自攻螺丝(继续)

09:40 帧
09:40–09:59# 580 s 相同 20 帧

组装/拆卸电子配件(WORX 电批)

10:00 帧
10:00–10:09# 600 s 相同 10 帧

4颗 M2×6 沉头自攻螺丝

10:10 帧
10:10–10:13# 610 s 相同 4 帧

左边舵机编号21,右边舵机编号11

10:14 帧
10:14–10:19# 614 s 相同 6 帧

先拧下舵机中央的固定螺丝,再取下舵盘

10:20 帧
10:20–10:39# 620 s 相同 20 帧

先拧下托盘中央的固定螺丝,再取下底盘

10:40 帧
10:40–10:59# 640 s 相同 20 帧

摆放零件、调试部件、精细组装、电动工具紧固

11:00 帧
11:00–11:09# 660 s 相同 10 帧

零件拆装、工具操作

11:10 帧
11:10–11:19# 670 s 相同 10 帧

4颗 M2×6 沉头自攻螺丝

11:20 帧
11:20–11:29# 680 s 相同 10 帧

拆解/组装(黄色底座机械部件)

11:30 帧
11:30–11:32# 690 s 相同 3 帧

4颗 M2×6 沉头自攻螺丝

11:33 帧
11:33–11:39# 693 s 相同 7 帧

组装

11:40 帧
11:40–11:59# 700 s 相同 20 帧

拆装、调试(黄白部件)

12:00 帧
12:00–12:04# 720 s 相同 5 帧

部件对接、零件安装、结构固定

12:05 帧
12:05–12:09# 725 s 相同 5 帧

组装(乐高式零件/电子元件拼接)

12:10 帧
12:10–12:11# 730 s 相同 2 帧

2颗 M2×6 沉头自攻螺丝

12:12 帧
12:12–12:18# 732 s 相同 7 帧

组装

12:19 帧
12:19–12:24# 739 s 相同 6 帧

4颗 M2×6 沉头自攻螺丝

12:25 帧
12:25–12:29# 745 s 相同 5 帧

组装/拆卸(黄黑部件)

12:30 帧
12:30–12:34# 750 s 相同 5 帧

组装

12:35 帧
12:35–12:44# 755 s 相同 10 帧

4颗 M2×6 沉头自攻螺丝

12:45 帧
12:45–12:49# 765 s 相同 5 帧

拆卸、分拣零件

12:50 帧
12:50–12:53# 770 s 相同 4 帧

舵机编号32(头摆舵机组件)

12:54 帧
12:54# 774 s

组装

12:55 帧
12:55–13:04# 775 s 相同 10 帧

4颗 M2×6 沉头自攻螺丝

13:05 帧
13:05–13:19# 785 s 相同 15 帧

拆装、线路整理、部件对接

13:20 帧
13:20–13:29# 800 s 相同 10 帧

白色支架+环形/柱状零件嵌套拼接

13:30 帧
13:30–13:34# 810 s 相同 5 帧

组装(头部件)

13:35 帧
13:35–13:42# 815 s 相同 8 帧

舵机编号33(头俯仰舵机)

13:43 帧
13:43–13:47# 823 s 相同 5 帧

4颗 M2×6 沉头自攻螺丝

13:48 帧
13:48–13:53# 828 s 相同 6 帧

拆装(电批)

13:54 帧
13:54–13:59# 834 s 相同 6 帧

4颗 M2×6 沉头自攻螺丝

14:00 帧
14:00–14:03# 840 s 相同 4 帧

拆装组件

14:04 帧
14:04–14:14# 844 s 相同 11 帧

先拧下舵机中央的固定螺丝,再取下舵盘

14:15 帧
14:15–14:19# 855 s 相同 5 帧

插拔线材、更换部件

14:20 帧
14:20–14:29# 860 s 相同 10 帧

组装黄色支架与相机类组件(对位、线缆整理、螺丝紧固)

14:30 帧
14:30–14:33# 870 s 相同 4 帧

组装(螺丝紧固)

14:34 帧
14:34–14:39# 874 s 相同 6 帧

先拧下舵机编号33舵盘中央的固定螺丝,再取下舵盘

14:40 帧
14:40–14:59# 880 s 相同 20 帧

先拧下舵机编号33舵盘中央的固定螺丝,再取下舵盘(继续)

15:00 帧
15:00–15:19# 900 s 相同 20 帧

组装黄色底座组件(逐步组装)

15:20 帧
15:20–15:34# 920 s 相同 15 帧

4颗 M2×6 沉头自攻螺丝

15:35 帧
15:35–15:39# 935 s 相同 5 帧

检查转子螺母状态

15:40 帧
15:40–15:41# 940 s 相同 2 帧

检查端子槽是否对齐

15:42 帧
15:42–15:43# 942 s 相同 2 帧

检查端子槽(开合是否到位)

15:44 帧
15:44–15:48# 944 s 相同 5 帧

左边舵机编号31,右边舵机编号30(颈部舵机)

15:49 帧
15:49–15:59# 949 s 相同 11 帧

4颗 M2×6 沉头自攻螺丝

16:00 帧
16:00–16:12# 960 s 相同 13 帧

4颗 M2×6 沉头自攻螺丝(继续紧固)

16:13 帧
16:13–16:19# 973 s 相同 7 帧

注意安装脖子的时候的出线口在左手边

16:20 帧
16:20–16:34# 980 s 相同 15 帧

4颗 M2×6 沉头自攻螺丝(黄色工装夹具装配)

16:35 帧
16:35–16:39# 995 s 相同 5 帧

4颗 M2×6 沉头自攻螺丝

16:40 帧
16:40–16:59# 1000 s 相同 20 帧

外壳部件拆卸、接线调整(黑色接线端子/白色接口)

17:00 帧
17:00–17:04# 1020 s 相同 5 帧

组装接线(黄白组件)

17:05 帧
17:05–17:14# 1025 s 相同 10 帧

30号舵机连接主板需要用长舵机线

17:15 帧
17:15–17:19# 1035 s 相同 5 帧

组装接线

17:20 帧
17:20–17:23# 1040 s 相同 4 帧

组装(黄/白/黑组件)

17:24 帧
17:24# 1044 s

1颗 M2×6 沉头自攻螺丝

17:25 帧
17:25–17:29# 1045 s 相同 5 帧

组装

17:30 帧
17:30–17:32# 1050 s 相同 3 帧

2颗 M2×6 沉头自攻螺丝

17:33 帧
17:33–17:39# 1053 s 相同 7 帧

组装(电批)

17:40 帧
17:40–17:44# 1060 s 相同 5 帧

组装(白色贴片材料)

17:45 帧
17:45–17:49# 1065 s 相同 5 帧

在平整一面贴上双面胶

17:50 帧
17:50–17:59# 1070 s 相同 10 帧

粘贴、按压组装

18:00 帧
18:00–18:04# 1080 s 相同 5 帧

在平整一面贴上双面胶(平垫一面)

18:05 帧
18:05–18:16# 1085 s 相同 12 帧

组装、对位贴合、检查贴合状态

18:17 帧
18:17–18:20# 1097 s 相同 4 帧

确保嘴巴上下两部分贴合,没有缝隙

18:21 帧
18:21–18:34# 1101 s 相同 14 帧

部件拆分、电池安装、线路连接、零件固定

18:35 帧
18:35–18:39# 1115 s 相同 5 帧

组装固定(螺丝紧固)

18:40 帧
18:40–18:44# 1120 s 相同 5 帧

4颗 M2×6 沉头自攻螺丝

18:45 帧
18:45–18:59# 1125 s 相同 15 帧

组装(部件拆卸、对位、安装、固定)

19:00 帧
19:00–19:06# 1140 s 相同 7 帧

组装调试(黄白部件对位、拧装螺丝)

19:07 帧
19:07–19:10# 1147 s 相同 4 帧

5颗 M2×6 沉头自攻螺丝

19:11 帧
19:11–19:17# 1151 s 相同 7 帧

组装(固定线路)

19:18 帧
19:18–19:19# 1158 s 相同 2 帧

4颗 M2×6 沉头自攻螺丝

19:20 帧
19:20–19:27# 1160 s 相同 8 帧

4颗 M2×6 沉头自攻螺丝(拆外壳)

19:28 帧
19:28–19:39# 1168 s 相同 12 帧

拆解外壳、取出内部电路板并翻转摆弄

19:40 帧
19:40–19:49# 1180 s 相同 10 帧

将两块板子的排针对应插座,按压使其插接到位

19:50 帧
19:50–19:57# 1190 s 相同 8 帧

电路板插接、对位、固定

19:58 帧
19:58–19:59# 1198 s 相同 2 帧

4颗螺丝轻轻拧到位即可

20:00 帧
20:00–20:02# 1200 s 相同 3 帧

拧螺丝、插拔元件

20:03 帧
20:03–20:04# 1203 s 相同 2 帧

4颗圆头机螺丝拧到主控板上

20:05 帧
20:05–20:09# 1205 s 相同 5 帧

把电机插到主控板上

20:10 帧
20:10–20:34# 1210 s 相同 25 帧

把3根舵机线插到主板上

20:35 帧
20:35–20:39# 1235 s 相同 5 帧

2颗 M2×4 平头自攻螺丝

20:40 帧
20:40–20:44# 1240 s 相同 5 帧

组装(黄白黑机器人组件)

20:45 帧
20:45–20:53# 1245 s 相同 9 帧

整理排线

20:54 帧
20:54–20:57# 1254 s 相同 4 帧

2颗 M2×4 平头自攻螺丝

20:58 帧
20:58–20:59# 1258 s 相同 2 帧

组装完成后打开开关

21:00 帧
21:00–21:05# 1260 s 相同 6 帧

在浏览器中输入 IP 地址,进入机器人控制端网页(支持手机端和电脑端)

21:06 帧
21:06–21:10# 1266 s 相同 5 帧

点击[Start calibration]按钮,建议用手扶住轮子(开始校准)

21:11 帧
21:11–21:19# 1271 s 相同 9 帧

滑动各个舵机的滑块,调整位置,完成后点击[Finish]

21:20 帧
21:20–21:24# 1280 s 相同 5 帧

滑动各个舵机的滑块,调整位置,完成后点击下一步

21:25 帧
21:25–21:39# 1285 s 相同 15 帧

使鸭子机器人身体居中,关节对齐,双腿放平,站立平稳(手动微调)

21:40 帧
21:40–21:59# 1300 s 相同 20 帧

使鸭子机器人身体居中,关节对齐,双腿放平,站立平稳(持续微调)

22:00 帧
22:00–22:19# 1320 s 相同 20 帧

使鸭子机器人身体居中,关节对齐,双腿放平,站立平稳(机器人姿态细微变化)

22:20 帧
22:20–22:39# 1340 s 相同 20 帧

使鸭子机器人身体居中,关节对齐,双腿放平,站立平稳(手机界面显示参数)

22:40 帧
22:40–22:42# 1360 s 相同 3 帧

使鸭子机器人身体居中,关节对齐,双腿放平,X 轴归零

22:43 帧
22:43–22:49# 1363 s 相同 7 帧

调整所有舵机位置,点击[Enter](pitch & yaw)

22:50 帧
22:50–22:52# 1370 s 相同 3 帧

点击[Default pose]并完成标定

22:53 帧
22:53–23:07# 1373 s 相同 15 帧

播放 block 动作,探索更多玩法(机器人动作演示)

23:08 帧
23:08–23:09# 1388 s 相同 2 帧

片尾:luwu 标识

23:10 帧
23:10# 1390 s

片尾结束

代表帧缩略图 220px 宽;双击任一缩略图可查看该帧 960px 原图;完整 1391 张原帧图(assets/frames/,960px 宽)随教程一并交付,可随时回查任一秒画面。去重口径:同一动作步骤内的连续帧画面近乎一致,仅保留一张代表帧。

高清

环境部署界面高清还原与文字提取

把视频 00:47–02:05 的全部环境部署 / 配置界面(App Lab 欢迎页、软件更新、导入应用、UNO Q 部署、固件烧录、浏览器配置页、Servo setup 舵机设置)逐屏还原:原帧 ×4 高清放大(640×360 → 2560×1440,Lanczos + 锐化),并逐行提取屏幕上的所有文字。个别英文语句因 480P 源分辨率所限无法完全辨认,已如实标注,以高清图为准。双击任一图片可放大全屏查看(Esc 或点击背景关闭)。

00:47 Arduino App Lab 欢迎界面(识别开发板)
00:47 · Arduino App Lab 欢迎界面(识别开发板)
屏幕文字(逐行提取):
  • Welcome to Arduino App Lab
  • Choose a board to get started.
  • Connect one via USB or access a board on your network.
  • 已识别设备:XIAO_Duck
  • Last connected: 26 Sep at 07:54 PM
  • Unknown(状态)
01:00 App Lab 软件更新提示
01:00 · App Lab 软件更新提示
屏幕文字(逐行提取):
  • update available
  • ALIBABA UNO Q software update
  • · update
  • · what's new in this version?
  • · details
  • · release notes
  • · check update log
  • · update history
  • · version 1.1.1
  • Remind App Later(按钮)
01:05 导入应用(Import an App)
01:05 · 导入应用(Import an App)
屏幕文字(逐行提取):
  • Import an App
  • Upload local App files
  • Import an App Zip file. The app will be added to your workspace with its files.
  • Please wait a moment.
  • Drag & drop your app here
  • or
  • Import from Computer(按钮)
  • Zip file size supported…(后半句分辨率所限)
01:10 App Lab 应用管理界面
01:10 · App Lab 应用管理界面
屏幕文字(逐行提取):
  • 左侧菜单:Apps · save and manage · impressions · Examples · Resources · Alias Manager · Docs
  • 工作区卡片:XGO Duck
  • 底部状态:XGO-Duck v0.0.1 · 148.02
01:15 代码编辑器(README 说明页)
01:15 · 代码编辑器(README 说明页)
屏幕文字(逐行提取):
  • 左侧文件树:main · git · data · docs · python · sketch · tools · README.md · README_CN.md 等
  • 打开文件:README.md(Preview 模式)
  • 项目名:XGO Duck on Arduino Uno Q
  • 正文(视频分辨率所限,可辨识片段):Run the supported walking, get up and ground pick … on an assembled XGO Duck. This repository contains the UNO Q app, STM32 firmware, web control, and three models. …
  • Uno Q installation shown in the XGO Duck hardware assembly guide
01:20 UNO Q 运行时部署(IDE 运行中)
01:20 · UNO Q 运行时部署(IDE 运行中)
屏幕文字(逐行提取):
  • 右上角:Running
  • 左侧依赖/文件树:README.md · example: PINS · Battery Service · Arduino_hardbridge · Arduino_RPC(3.3.1) · bigpack 1.4.1 · ArduinoSensor 2.7.2 · ArduinoTools 2.7.2 · Debugging 1.1.4 · main · git · ardu · docs · lib · python · scripts · tools · jupyter · ALGORITHME · RESOURCES_CN.md · 404 page
  • 主区:Preview · XGO Duck and Arduino Uno Q · English 简体中文
  • 正文(分辨率所限):Run the supplied walking, getup and ground pick … points on an assembled XGO Duck. This repository contains the UNO Q app, STM32 firmware, web controls and three models. Build the image from the tensorflow/examples … see XGO_Duck_AI only if you want to train your own policy.
  • Uno Q installation shown in the XGO Duck hardware assembly guide
  • 底部:Starting exe “XGO Duck” · XGO-Duck runtime 00 · 7/17 KB · 04/23 18:11 · R1
01:24 固件烧录终端输出
01:24 · 固件烧录终端输出
屏幕文字(逐行提取):
  • 终端日志:
  • Info : FLASH size = 2000 KB
  • Info : flash mode : dual-bank
  • Warn : Adding extra erase range, 0x00000000 .. 0x00040FFF
  • Warn : Adding extra erase range, 0x08011000 .. 0x08011FFF
  • python command invoked
  • python provisioning
  • python downloading
  • 右上角:running
01:28 编辑器与终端(部署过程)
01:28 · 编辑器与终端(部署过程)
屏幕文字(逐行提取):
  • 打开文件:README.md
  • 项目名:XGO Duck on Arduino Uno Q
  • English 简体中文
  • Uno Q installation shown in the XGO Duck hardware assembly guide
  • 终端标签:ase utils · processes · Python(行内代码分辨率所限,见高清图)
  • 底部状态:XGO Duck v1.0.0 · 0.21.98 · 110.21.98 · git
01:29 浏览器进入配置页(地址说明)
01:29 · 浏览器进入配置页(地址说明)
屏幕文字(逐行提取):
  • 黄色提示:修改舵机编号
  • 标题:XGO Duck
  • 顶部标签:Control / Calibration / Servo setup / Torque off
  • Bridge: 2 Mbps · state age: 10.7 ms
  • Feedback 99.8 Hz · Policy 0.0 Hz · Service online 0/15 · IMU online
  • Mode:Inference only / Default pose / Walk / get up / Pick
  • Motion
  • 白色说明:在浏览器中输入以下任一地址,进入配置页面修改舵机编号:
  • · IP 访问:http://Uno Q开发板IP地址:9527
  • · mDNS 访问:http://Uno Q开发板的名称.local:9527
  • · *Uno Q开发板的名称在Arduino App Lab的左下角
01:35 配置页主界面(点击 Servo setup)
01:35 · 配置页主界面(点击 Servo setup)
屏幕文字(逐行提取):
  • Bridge 2 Mbps · state age 9.0 ms
  • 99.8 Hz / 0.0 Hz / 0/15 / online
  • Mode:Inference only / Default pose / Walk/get up / Pick / Residual
  • Walk and recovery idle · Til from (0, 1) · Condition timer
  • 底部字幕:点击【Servo setup】(Servo setup 按钮红框标注)
01:40 Servo setup 扫描舵机
01:40 · Servo setup 扫描舵机
屏幕文字(逐行提取):
  • 标签:Servo setup / Control / Calibration / Servo setup / Exit
  • When changing an ID, correct only the servo you want to change. Duplicate ID cannot be distinguished
  • Scanning · stop scan off
  • Current / target ID · Enter setup · Exit
  • Scan all 1 · Stop scan · Scanning ID 14 · 14024 checked - 1 found
  • Click a sound ID or tap any ID from 0 to 255 …(后半句分辨率所限)
  • Move to 2047 · Write
  • Set KP/D 5 20 · Write
  • Change ID 10 · Change ID
  • Read 1 · Read
  • 底部字幕:当扫描出一个舵机时,点击【Stop scan】
01:45 扫描停止 / 写参数
01:45 · 扫描停止 / 写参数
屏幕文字(逐行提取):
  • When changing an ID, connect only the servo you want to change. Duplicate IDs can be distinguished
  • Scan stopped. Found IDs are kept
  • Current / target ID: 1 · Enter setup · Exit
  • Scan all IDs
  • Stopped 17/254 checked: 1 found (partial result)
  • ID 1
  • Click a found ID or input any ID from 0 to 255 …(后半句分辨率所限)
  • Move to 2047 · Write
  • Set KP 5 20 · Write
  • Change ID to 10 · Change ID
  • Range 1 · Read
  • 底部字幕:确保Set KP/KD后面的数字是5和20后点击【Write】
01:50 写入成功(set gain ok)
01:50 · 写入成功(set gain ok)
屏幕文字(逐行提取):
  • set gain ok
  • Current / target ID 1 · Enter setup · Exit
  • Scan all IDs · Stopped: 17/24 checked, 1 found (partial results)
  • ID 1
  • Move to 2047 · Write
  • Set KP 5 20 · Write
  • Change ID to 1 · Change ID
  • Read 1 · Read
  • 底部字幕:在Change ID to后面输入需要改的ID
01:55 修改舵机 ID(1 → 11)
01:55 · 修改舵机 ID(1 → 11)
屏幕文字(逐行提取):
  • ID 1 -&gt; 11 - verified
  • Current / target ID: 11 · Enter setup · Exit
  • Scan all IDs
  • Move to 2047 · Write
  • Set KPID 5 · Write
  • Change ID to 11 · Change ID
  • Read
  • 底部字幕:按照刚才的步骤依次把15个舵机编号改成
  • 10、11、12、13、14、20、21、22、23、24、30、31、32、33、34。
02:00 修改舵机 ID(同屏另一状态)
02:00 · 修改舵机 ID(同屏另一状态)
屏幕文字(逐行提取):
  • ID 1 - 11 - verified
  • Current / target ID: 11 · Enter setup · Exit
  • Scan all IDs
  • Move to 2047 · Write
  • Set ID/2 5 20 · Write
  • Change ID to 11 · Change ID
  • Read
  • 底部字幕:按照刚才的步骤依次把15个舵机编号改成
  • 10、11、12、13、14、20、21、22、23、24、30、31、32、33、34。
02:05 舵机编号及对应位置图
02:05 · 舵机编号及对应位置图
屏幕文字(逐行提取):
  • 黄色标题:下图为各舵机的编号及对应位置
  • 舵机编号:10 / 11 / 12 / 13 / 14
  • 20 / 21 / 22 / 23 / 24
  • 30 / 31 / 32 / 33 / 34
  • (图上舵机实物均贴有白色编号标签)
资源

官方资源与参考

视频教程《XGO-Duck 组装教程|一只机器鸭的诞生》B站 BV1h1Ww6XE3m(23:11)
硬件仓库github.com/LuwuDynamics/xgoduck_hardware(装配指南 PDF / STL / BOM / PCBA)
运行时github.com/LuwuDynamics/xgoduck_runtime_arduino(固件、策略执行、网页设置与控制)
强化学习github.com/LuwuDynamics/xgoduck_rl(仿真、训练与策略导出)
知识库wiki.xgorobot.com(陆吾官方知识库)
App Lab 入门Arduino 官方:App Lab 安装与首次配置(连板子、配 Wi-Fi、设密码)
UNO Q 手册Arduino 官方:UNO Q 用户手册(供电、网络模式、mDNS 发现)
飞特配套XGO-Duck 飞特 HD1910 舵机快速复刻方案(舵机参数表与调试指引)
资料来源与版本本教程内容提取自视频描述、官方仓库 xgoduck_hardware(README_CN、BOM.md、docs/BUILD_GUIDE.md、docs/PRINTING.md)与 25 页 Assembly_Guide.pdf,页内数字、螺丝规格与数量均按官方文档原样引用。照片为项目原型,装配请以 PDF 实拍图与板卡文件为准。
双击图片可 100% 缩放 · Esc 或点击背景关闭