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 模式)
准备 :UNO Q ×1、电脑(Windows/Mac/Linux)、USB-C 数据线 ——必须能传数据,纯充电线不行。USB 口会直接给板子供 5V/3A 电,不需要额外电源 。
安装 Arduino App Lab :打开 Arduino 官网软件页面,下载对应系统的 App Lab,运行安装(Windows 上双击安装包一路下一步即可)。
连接 :用 USB-C 线把板子连到电脑,然后打开 App Lab,等待板子出现在界面(最多约 60 秒),点 USB 连接。
Windows 放行提示 :首次启动若弹出 Windows Defender 关于 mdns-discovery.exe 的访问提示,务必点"允许",否则之后发现不到板子;防火墙需放行 UDP 5353 (网络发现用)。
首次向导 :连接后按提示设置板子名称、键盘语言 → 配置 Wi-Fi → 设置 Linux 用户名与密码(用户名固定 arduino )。
② 给板子配置网络(Wi-Fi)
在向导的 Network Setup 选择你的 Wi-Fi,输入密码,点 Confirm。
加密方式必须 WPA/WPA2 Personal :App Lab 向导不支持 WPA3,WPA3 网络会连接失败(报 Failed to connect)。路由器或手机热点请改为 WPA2(或 WPA2/WPA3 兼容模式)。
频段 :UNO Q 支持 2.4/5 GHz 双频;初次配置建议用 2.4 GHz 信号,更稳、穿墙更好。
Linux 密码用强密码 :字母+数字混合(如 XgoDuck2026),纯数字(如 012345678)会被系统拒绝,报 failed to set password: exit status 1 。
配好后板子会自动联网并更新;以后换 Wi-Fi 需重新用 USB 连接再配置。同一局域网内,App Lab 可用 Network 模式 远程连板子(输入 Linux 密码即可)。
③ 导入 GitHub 项目并部署运行时
装 Git(可选) :到 git-scm.com 下载安装,一路下一步;不想装的话,在 GitHub 页面点 Code → Download ZIP 解压也一样。
克隆两个仓库 (在电脑终端执行):
git clone https://github.com/LuwuDynamics/xgoduck_hardware(零件图/STL/物料/装配指南)
git clone https://github.com/LuwuDynamics/xgoduck_runtime_arduino(要部署到板子的程序)
认识两个仓库的结构 :hardware 里有 Assembly_Guide.pdf(25 页装配图)、BOM.md(物料)、structure/(STL)、PCBA/(扩展板文件)、docs/(说明);runtime 里有 app.yaml(App 配置)、assets/(网页界面)、python/(策略与 ONNX 模型)、sketch/(STM32 固件)、tools/(部署脚本)。
把运行时部署到板子 (在板子的终端里执行,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"
打开控制台 :浏览器访问 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 + 定制扩展板。
浏览器
设置 / 校准 / 控制
(网页界面)
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
控制/软件链路
执行器
传感器反馈
可活动的头部与嘴部:4 个颈部/头部关节 + 独立嘴部舵机。
后置控制器堆叠与便于检查的走线(项目原型照,以实物为准)。
配套仓库(硬件 → 运行 → 训练) 制作靠 xgoduck_hardware(本教程依据);部署软件用 xgoduck_runtime_arduino;想训练自己的动作用 xgoduck_rl。制作记录请同时记下三个仓库的版本,便于复现与排查。
STEP 02
准备物料(BOM 采购清单)
以下为官方整机采购清单(数量含螺丝)。买成品扩展板时,板上器件已包含,无需再买 PCB 制造 BOM。
螺丝长什么样:采购前先认三种
第 7 项 M2×6 沉头平尾自攻 · 第 8 项 M2.3×8 平顶圆头平尾自攻 · 第 9 项 M3×16 弧面圆头机丝(官方外形示意图,非尺寸图纸)。
第 9 项参考:低矮、顶部略鼓的圆头;第 8 项侧边相同但顶面是平的。
电池接头参考(来自原始 BOM):上电前务必核对对接头与极性。
采购与上电前必读 电池组确切配置、兼容充电器与极性需按仓库 docs/BOM.md 核对;第 7、8 项是平尾自攻螺丝,第 8、9 项头部侧边轮廓相同但顶面不同,按实物图核对后再下单。
STEP 03
3D 打印结构件
从仓库 structure/ 目录下载 STL。普通桌面 3D 打印机即可完成绝大部分零件。文件名自带装配信息。
打印前先验证,再打全套 先打印 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 配置操作(浏览器界面)
舵机接主板 → 打开开关 → 主板 Type-C 连电脑。
浏览器输入 http://<UnoQ 开发板 IP>:9527 (或 mDNS:http://<Uno-Q 名称>.local:9527 ;名称见 Arduino App Lab 左下角)。
进入 Servo setup → Scan all IDs 扫描出当前单个舵机后 Stop scan 。
确认 Set KP/KD 后面的数字为 5 和 20 → Write 写入增益。
输入新编号 → Change ID ,修改成功后再换下一个舵机(每次只连一个)。
编号与中位 15 颗舵机唯一 ID:10–14、20–24、30–34 (嘴部 = 34)。中位设在原始值 2047 (raw),按运行时指南写入增益并给每颗舵机贴标签;重复 ID 会收到相同的写入。
不要弄反 舵机线端子孔对准接口凸起插入,勿插反;扩展板/开发板排针对准插座,按压到位;电池接主板注意正负极。
STEP 05
机械装配:25 页图文指南逐步拆解
以下步骤来自官方《Assembly_Guide.pdf》(25 页),页码对应 PDF 页码。核心原则:先走线、后锁螺丝 ;每封闭一个区域前确认线缆不被夹住并留足活动余量;左右镜像件不要假设相同,对照照片装配。
STEP 06
通电前检查清单
15 个唯一 ID 均能应答,嘴部舵机为 ID 34。
机械装配与 PDF 一致,线缆避开关节、未被夹住。
极性、供电限制与所购硬件版本核对无误。
机器人处于支撑状态,关节远离手和障碍物。
运行时能读到新鲜的 MCU 反馈,IMU 工作正常。
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 # 0 s
片头标题画面:XGO-Duck 组装教程|一只机器鸭的诞生
00:01–00:06 # 1 s 相同 6 帧
演示台上扩展板与开发板对位,排针对准插座
00:07–00:09 # 7 s 相同 3 帧
把扩展板和开发板的排针对应的插座插上,使其接触到位
00:10–00:19 # 10 s 相同 10 帧
把电池接到主板上,注意不要接反
00:20–00:24 # 20 s 相同 5 帧
把舵机线接到舵机上,注意不要接反
00:25–00:32 # 25 s 相同 8 帧
把舵机接到主控板上
00:33–00:34 # 33 s 相同 2 帧
打开开关
00:35–00:39 # 35 s 相同 5 帧
把主板通过 Type-C 连接到电源
00:40–00:46 # 40 s 相同 7 帧
把主板通过 Type-C 连接到电脑
00:47–00:59 # 47 s 相同 13 帧
UNO Q 环境搭建及软件部署(电脑端操作界面)
01:00–01:19 # 60 s 相同 20 帧
UNO Q 环境搭建及软件部署(IDE/代码界面)
01:20–01:28 # 80 s 相同 9 帧
Linux 环境搭建及软件部署(命令行界面)
01:29–01:34 # 89 s 相同 6 帧
浏览器输入任一地址进入配置页面:IP http://开发板IP:9527 或 mDNS http://开发板名称.local:9527(名称见 App Lab 左下角)
01:35–01:39 # 95 s 相同 5 帧
进入 XGO-Duck 配置页,点击[Servo setup]
01:40–01:44 # 100 s 相同 5 帧
Servo setup 页面,准备扫描舵机
01:45–01:49 # 105 s 相同 5 帧
点击[Scan all IDs]扫描总线上的舵机
01:50–01:54 # 110 s 相同 5 帧
当扫描出一个舵机时,点击[Stop scan]
01:55–01:59 # 115 s 相同 5 帧
Servo setup 扫描结果页
02:00–02:04 # 120 s 相同 5 帧
确保 Move to 后面的数字是 2047 后点击[Write]
02:05–02:08 # 125 s 相同 4 帧
确保 Set KP/KD 后面的数字是 5 和 20 后点击[Write]
02:09–02:10 # 129 s 相同 2 帧
在 Change ID 后面输入需要更改的 ID
02:11 # 131 s
输入完成后点击[Change ID]
02:12–02:13 # 132 s 相同 2 帧
修改成功
02:14–02:19 # 134 s 相同 6 帧
按照刚才的步骤依次把 15 个舵机编号改成 10、11、12、13、14
02:20–02:24 # 140 s 相同 5 帧
继续改编号:20、21、22、23、24
02:25–02:29 # 145 s 相同 5 帧
继续改编号:30、31、32、33、34
02:30–02:31 # 150 s 相同 2 帧
编号修改完成,确认 15 个 ID 唯一
02:32–02:34 # 152 s 相同 3 帧
对照内部舵机编号对应的位置图,准备标注舵机
02:35–02:43 # 155 s 相同 9 帧
在舵机上标注编号 14(舵机编号14)
02:44–02:49 # 164 s 相同 6 帧
取双孔舵机机盖(副舵盘),将其插入舵机接口上,舵机线端子孔对准接口缺口,勿插反
02:50–02:54 # 170 s 相同 5 帧
先拧下舵机中央的固定螺丝,再取下舵机
02:55–02:59 # 175 s 相同 5 帧
双孔舵盘装入舵机输出轴
03:00–03:04 # 180 s 相同 5 帧
取一圈舵机线,将其插入舵机的接口,舵机线端子对准接口处插入,勿插反
03:05–03:09 # 185 s 相同 5 帧
用手或镊子将线头按压到位
03:10–03:14 # 190 s 相同 5 帧
组装白色配件与黑色组件(副舵盘组件装配)
03:15–03:19 # 195 s 相同 5 帧
用电动螺丝刀拧入螺丝(M2×6 沉头自攻)
03:20–03:24 # 200 s 相同 5 帧
拿取黄色塑料支架,与电子元件/支架组装
03:25–03:29 # 205 s 相同 5 帧
组装黄色支架与部件
03:30–03:34 # 210 s 相同 5 帧
4颗 M2×6 沉头自攻螺丝(电批拧入)
03:35–03:37 # 215 s 相同 3 帧
4颗 M2×6 沉头自攻螺丝
03:38–03:39 # 218 s 相同 2 帧
将轴承压入安装孔
03:40–03:44 # 220 s 相同 5 帧
组装底座配件
03:45–03:46 # 225 s 相同 2 帧
调整位置,使中间的圆孔居中
03:47–03:48 # 227 s 相同 2 帧
先将平头自攻螺丝手动旋入孔内(平头自攻)
03:49–03:51 # 229 s 相同 3 帧
再用螺丝刀拧入
03:52–03:56 # 232 s 相同 5 帧
直至螺丝头部贴合表面,再从另一侧伸出
03:57–04:01 # 237 s 相同 5 帧
先拧下舵机编号24舵盘中央的固定螺丝,再取下舵盘
04:02–04:04 # 242 s 相同 3 帧
取一舵机线,将其插入舵机的接口,舵机线端子孔对准接口凸点插入,勿插反
04:05–04:08 # 245 s 相同 4 帧
用手拨端子将插头压到位
04:09–04:14 # 249 s 相同 6 帧
组装白色连接件与部件
04:15–04:19 # 255 s 相同 5 帧
2颗 M2×6 沉头自攻螺丝
04:20–04:24 # 260 s 相同 5 帧
组装(黑色部件+白色连接件+黄色基座对位)
04:25–04:29 # 265 s 相同 5 帧
组装对位、压合
04:30–04:34 # 270 s 相同 5 帧
4颗 M2×6 沉头自攻螺丝(电钻拧入)
04:35–04:39 # 275 s 相同 5 帧
4颗 M2×6 沉头自攻螺丝
04:40–04:44 # 280 s 相同 5 帧
将轴承压入安装孔
04:45–04:49 # 285 s 相同 5 帧
组装(部件对位)
04:50–04:51 # 290 s 相同 2 帧
调整位置,使中间的圆孔居中
04:52–04:57 # 292 s 相同 6 帧
按照之前的步骤,打入平头自攻螺丝(M2.3×8 平头自攻)
04:58–05:02 # 298 s 相同 5 帧
继续打入平头自攻螺丝
05:03–05:06 # 303 s 相同 4 帧
继续拧入平头自攻螺丝
05:07–05:10 # 307 s 相同 4 帧
左边舵机编号12,右边舵机编号13(腿部舵机对位组装)
05:11 # 311 s
4颗平头自攻螺丝(M2.3×8)
05:12–05:14 # 312 s 相同 3 帧
4颗 M2×6 沉头自攻螺丝
05:15–05:18 # 315 s 相同 4 帧
拿取环形零件,组装到基座上
05:19–05:24 # 319 s 相同 6 帧
组装(环形件/轴承安装)
05:25–05:34 # 325 s 相同 10 帧
4颗 M2×6 沉头自攻螺丝
05:35–05:39 # 335 s 相同 5 帧
组装调试
05:40–05:49 # 340 s 相同 10 帧
组装调试(黄色底座+黑色电子组件+线缆)
05:50–05:54 # 350 s 相同 5 帧
拿取元件、对准孔洞,拧入螺丝
05:55–05:56 # 355 s 相同 2 帧
左边舵机编号23,右边舵机编号22
05:57–06:04 # 357 s 相同 8 帧
左边舵机编号23,右边舵机编号22(腿部舵机组装)
06:05–06:10 # 365 s 相同 6 帧
4颗 M2×6 沉头自攻螺丝
06:11–06:14 # 371 s 相同 4 帧
组装(拧螺丝固定)
06:15–06:19 # 375 s 相同 5 帧
组装(部件对位)
06:20–06:29 # 380 s 相同 10 帧
4颗 M2×6 沉头自攻螺丝
06:30–06:34 # 390 s 相同 5 帧
组装/拆解调试(黄色底座电子元件)
06:35–06:44 # 395 s 相同 10 帧
拆装调试、整理线材
06:45–06:49 # 405 s 相同 5 帧
先拧下锁紧螺丝(压住螺丝),再取下后盖
06:50–06:59 # 410 s 相同 10 帧
先拧下舵机中央的固定螺丝,再取下舵机
07:00–07:09 # 420 s 相同 10 帧
先拧下下底座中央的固定螺丝,再取下底座
07:10–07:19 # 430 s 相同 10 帧
先拧下舵盘中央的固定螺丝,再取下舵盘
07:20–07:27 # 440 s 相同 8 帧
组装、对位、螺丝安装
07:28–07:32 # 448 s 相同 5 帧
4颗 M2×6 沉头自攻螺丝
07:33–07:39 # 453 s 相同 7 帧
组装(对位)
07:40–07:44 # 460 s 相同 5 帧
组装对位
07:45–07:48 # 465 s 相同 4 帧
4颗 M2×6 沉头自攻螺丝
07:49–07:56 # 469 s 相同 8 帧
白色方形盖板装配
07:57–07:59 # 477 s 相同 3 帧
4颗 M2×6 沉头自攻螺丝
08:00–08:14 # 480 s 相同 15 帧
4颗 M2×6 沉头自攻螺丝(电钻固定配件)
08:15–08:17 # 495 s 相同 3 帧
4颗 M2×6 沉头自攻螺丝
08:18–08:24 # 498 s 相同 7 帧
左边舵机编号20,右边舵机编号10
08:25–08:34 # 505 s 相同 10 帧
6颗 M2×6 沉头自攻螺丝,注意下面中间两颗不打
08:35–08:56 # 515 s 相同 22 帧
组装(镊子调整线头、部件)
08:57–09:04 # 537 s 相同 8 帧
10号和20号舵机外侧用长舵机线连接主板
09:05–09:14 # 545 s 相同 10 帧
10号和20号舵机外侧用长舵机线连接主板(走线整理)
09:15–09:19 # 555 s 相同 5 帧
10号和20号舵机外侧用长舵机线连接主板
09:20–09:24 # 560 s 相同 5 帧
组装白色配件(对位)
09:25–09:28 # 565 s 相同 4 帧
2颗 M2×6 沉头自攻螺丝
09:29–09:34 # 569 s 相同 6 帧
背面2颗 M2×6 沉头自攻螺丝
09:35–09:39 # 575 s 相同 5 帧
背面2颗 M2×6 沉头自攻螺丝(继续)
09:40–09:59 # 580 s 相同 20 帧
组装/拆卸电子配件(WORX 电批)
10:00–10:09 # 600 s 相同 10 帧
4颗 M2×6 沉头自攻螺丝
10:10–10:13 # 610 s 相同 4 帧
左边舵机编号21,右边舵机编号11
10:14–10:19 # 614 s 相同 6 帧
先拧下舵机中央的固定螺丝,再取下舵盘
10:20–10:39 # 620 s 相同 20 帧
先拧下托盘中央的固定螺丝,再取下底盘
10:40–10:59 # 640 s 相同 20 帧
摆放零件、调试部件、精细组装、电动工具紧固
11:00–11:09 # 660 s 相同 10 帧
零件拆装、工具操作
11:10–11:19 # 670 s 相同 10 帧
4颗 M2×6 沉头自攻螺丝
11:20–11:29 # 680 s 相同 10 帧
拆解/组装(黄色底座机械部件)
11:30–11:32 # 690 s 相同 3 帧
4颗 M2×6 沉头自攻螺丝
11:33–11:39 # 693 s 相同 7 帧
组装
11:40–11:59 # 700 s 相同 20 帧
拆装、调试(黄白部件)
12:00–12:04 # 720 s 相同 5 帧
部件对接、零件安装、结构固定
12:05–12:09 # 725 s 相同 5 帧
组装(乐高式零件/电子元件拼接)
12:10–12:11 # 730 s 相同 2 帧
2颗 M2×6 沉头自攻螺丝
12:12–12:18 # 732 s 相同 7 帧
组装
12:19–12:24 # 739 s 相同 6 帧
4颗 M2×6 沉头自攻螺丝
12:25–12:29 # 745 s 相同 5 帧
组装/拆卸(黄黑部件)
12:30–12:34 # 750 s 相同 5 帧
组装
12:35–12:44 # 755 s 相同 10 帧
4颗 M2×6 沉头自攻螺丝
12:45–12:49 # 765 s 相同 5 帧
拆卸、分拣零件
12:50–12:53 # 770 s 相同 4 帧
舵机编号32(头摆舵机组件)
12:55–13:04 # 775 s 相同 10 帧
4颗 M2×6 沉头自攻螺丝
13:05–13:19 # 785 s 相同 15 帧
拆装、线路整理、部件对接
13:20–13:29 # 800 s 相同 10 帧
白色支架+环形/柱状零件嵌套拼接
13:30–13:34 # 810 s 相同 5 帧
组装(头部件)
13:35–13:42 # 815 s 相同 8 帧
舵机编号33(头俯仰舵机)
13:43–13:47 # 823 s 相同 5 帧
4颗 M2×6 沉头自攻螺丝
13:48–13:53 # 828 s 相同 6 帧
拆装(电批)
13:54–13:59 # 834 s 相同 6 帧
4颗 M2×6 沉头自攻螺丝
14:00–14:03 # 840 s 相同 4 帧
拆装组件
14:04–14:14 # 844 s 相同 11 帧
先拧下舵机中央的固定螺丝,再取下舵盘
14:15–14:19 # 855 s 相同 5 帧
插拔线材、更换部件
14:20–14:29 # 860 s 相同 10 帧
组装黄色支架与相机类组件(对位、线缆整理、螺丝紧固)
14:30–14:33 # 870 s 相同 4 帧
组装(螺丝紧固)
14:34–14:39 # 874 s 相同 6 帧
先拧下舵机编号33舵盘中央的固定螺丝,再取下舵盘
14:40–14:59 # 880 s 相同 20 帧
先拧下舵机编号33舵盘中央的固定螺丝,再取下舵盘(继续)
15:00–15:19 # 900 s 相同 20 帧
组装黄色底座组件(逐步组装)
15:20–15:34 # 920 s 相同 15 帧
4颗 M2×6 沉头自攻螺丝
15:35–15:39 # 935 s 相同 5 帧
检查转子螺母状态
15:40–15:41 # 940 s 相同 2 帧
检查端子槽是否对齐
15:42–15:43 # 942 s 相同 2 帧
检查端子槽(开合是否到位)
15:44–15:48 # 944 s 相同 5 帧
左边舵机编号31,右边舵机编号30(颈部舵机)
15:49–15:59 # 949 s 相同 11 帧
4颗 M2×6 沉头自攻螺丝
16:00–16:12 # 960 s 相同 13 帧
4颗 M2×6 沉头自攻螺丝(继续紧固)
16:13–16:19 # 973 s 相同 7 帧
注意安装脖子的时候的出线口在左手边
16:20–16:34 # 980 s 相同 15 帧
4颗 M2×6 沉头自攻螺丝(黄色工装夹具装配)
16:35–16:39 # 995 s 相同 5 帧
4颗 M2×6 沉头自攻螺丝
16:40–16:59 # 1000 s 相同 20 帧
外壳部件拆卸、接线调整(黑色接线端子/白色接口)
17:00–17:04 # 1020 s 相同 5 帧
组装接线(黄白组件)
17:05–17:14 # 1025 s 相同 10 帧
30号舵机连接主板需要用长舵机线
17:15–17:19 # 1035 s 相同 5 帧
组装接线
17:20–17:23 # 1040 s 相同 4 帧
组装(黄/白/黑组件)
17:24 # 1044 s
1颗 M2×6 沉头自攻螺丝
17:25–17:29 # 1045 s 相同 5 帧
组装
17:30–17:32 # 1050 s 相同 3 帧
2颗 M2×6 沉头自攻螺丝
17:33–17:39 # 1053 s 相同 7 帧
组装(电批)
17:40–17:44 # 1060 s 相同 5 帧
组装(白色贴片材料)
17:45–17:49 # 1065 s 相同 5 帧
在平整一面贴上双面胶
17:50–17:59 # 1070 s 相同 10 帧
粘贴、按压组装
18:00–18:04 # 1080 s 相同 5 帧
在平整一面贴上双面胶(平垫一面)
18:05–18:16 # 1085 s 相同 12 帧
组装、对位贴合、检查贴合状态
18:17–18:20 # 1097 s 相同 4 帧
确保嘴巴上下两部分贴合,没有缝隙
18:21–18:34 # 1101 s 相同 14 帧
部件拆分、电池安装、线路连接、零件固定
18:35–18:39 # 1115 s 相同 5 帧
组装固定(螺丝紧固)
18:40–18:44 # 1120 s 相同 5 帧
4颗 M2×6 沉头自攻螺丝
18:45–18:59 # 1125 s 相同 15 帧
组装(部件拆卸、对位、安装、固定)
19:00–19:06 # 1140 s 相同 7 帧
组装调试(黄白部件对位、拧装螺丝)
19:07–19:10 # 1147 s 相同 4 帧
5颗 M2×6 沉头自攻螺丝
19:11–19:17 # 1151 s 相同 7 帧
组装(固定线路)
19:18–19:19 # 1158 s 相同 2 帧
4颗 M2×6 沉头自攻螺丝
19:20–19:27 # 1160 s 相同 8 帧
4颗 M2×6 沉头自攻螺丝(拆外壳)
19:28–19:39 # 1168 s 相同 12 帧
拆解外壳、取出内部电路板并翻转摆弄
19:40–19:49 # 1180 s 相同 10 帧
将两块板子的排针对应插座,按压使其插接到位
19:50–19:57 # 1190 s 相同 8 帧
电路板插接、对位、固定
19:58–19:59 # 1198 s 相同 2 帧
4颗螺丝轻轻拧到位即可
20:00–20:02 # 1200 s 相同 3 帧
拧螺丝、插拔元件
20:03–20:04 # 1203 s 相同 2 帧
4颗圆头机螺丝拧到主控板上
20:05–20:09 # 1205 s 相同 5 帧
把电机插到主控板上
20:10–20:34 # 1210 s 相同 25 帧
把3根舵机线插到主板上
20:35–20:39 # 1235 s 相同 5 帧
2颗 M2×4 平头自攻螺丝
20:40–20:44 # 1240 s 相同 5 帧
组装(黄白黑机器人组件)
20:45–20:53 # 1245 s 相同 9 帧
整理排线
20:54–20:57 # 1254 s 相同 4 帧
2颗 M2×4 平头自攻螺丝
20:58–20:59 # 1258 s 相同 2 帧
组装完成后打开开关
21:00–21:05 # 1260 s 相同 6 帧
在浏览器中输入 IP 地址,进入机器人控制端网页(支持手机端和电脑端)
21:06–21:10 # 1266 s 相同 5 帧
点击[Start calibration]按钮,建议用手扶住轮子(开始校准)
21:11–21:19 # 1271 s 相同 9 帧
滑动各个舵机的滑块,调整位置,完成后点击[Finish]
21:20–21:24 # 1280 s 相同 5 帧
滑动各个舵机的滑块,调整位置,完成后点击下一步
21:25–21:39 # 1285 s 相同 15 帧
使鸭子机器人身体居中,关节对齐,双腿放平,站立平稳(手动微调)
21:40–21:59 # 1300 s 相同 20 帧
使鸭子机器人身体居中,关节对齐,双腿放平,站立平稳(持续微调)
22:00–22:19 # 1320 s 相同 20 帧
使鸭子机器人身体居中,关节对齐,双腿放平,站立平稳(机器人姿态细微变化)
22:20–22:39 # 1340 s 相同 20 帧
使鸭子机器人身体居中,关节对齐,双腿放平,站立平稳(手机界面显示参数)
22:40–22:42 # 1360 s 相同 3 帧
使鸭子机器人身体居中,关节对齐,双腿放平,X 轴归零
22:43–22:49 # 1363 s 相同 7 帧
调整所有舵机位置,点击[Enter](pitch & yaw)
22:50–22:52 # 1370 s 相同 3 帧
点击[Default pose]并完成标定
22:53–23:07 # 1373 s 相同 15 帧
播放 block 动作,探索更多玩法(机器人动作演示)
23:08–23:09 # 1388 s 相同 2 帧
片尾:luwu 标识
代表帧缩略图 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 欢迎界面(识别开发板)
屏幕文字(逐行提取): 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 软件更新提示
屏幕文字(逐行提取): 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)
屏幕文字(逐行提取): 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 应用管理界面
屏幕文字(逐行提取): 左侧菜单:Apps · save and manage · impressions · Examples · Resources · Alias Manager · Docs 工作区卡片:XGO Duck 底部状态:XGO-Duck v0.0.1 · 148.02
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 运行中)
屏幕文字(逐行提取): 右上角: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 · 固件烧录终端输出
屏幕文字(逐行提取): 终端日志: 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 · 编辑器与终端(部署过程)
屏幕文字(逐行提取): 打开文件: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 · 浏览器进入配置页(地址说明)
屏幕文字(逐行提取): 黄色提示:修改舵机编号 标题: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)
屏幕文字(逐行提取): 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 扫描舵机
屏幕文字(逐行提取): 标签: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 · 扫描停止 / 写参数
屏幕文字(逐行提取): 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)
屏幕文字(逐行提取): 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)
屏幕文字(逐行提取): ID 1 -> 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(同屏另一状态)
屏幕文字(逐行提取): 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 · 舵机编号及对应位置图
屏幕文字(逐行提取): 黄色标题:下图为各舵机的编号及对应位置 舵机编号:10 / 11 / 12 / 13 / 14 20 / 21 / 22 / 23 / 24 30 / 31 / 32 / 33 / 34 (图上舵机实物均贴有白色编号标签)
资源
官方资源与参考
资料来源与版本 本教程内容提取自视频描述、官方仓库 xgoduck_hardware(README_CN、BOM.md、docs/BUILD_GUIDE.md、docs/PRINTING.md)与 25 页 Assembly_Guide.pdf,页内数字、螺丝规格与数量均按官方文档原样引用。照片为项目原型,装配请以 PDF 实拍图与板卡文件为准。