适用于 AI-FanGe 的树莓派 Zero 2 W、OpenRB-150 与 XL330 方案。按下方 12 步顺序完成;上电前核对接线,第一次运动先扶稳机体。同一套镜像、模型和舵机编号配套使用。
教程来源与适用范围
本站根据 AI-FanGe 原始教程整理操作顺序,装配细节参考 wslengzhicheng 文档,电气限制对照 ROBOTIS 厂家说明。2026 年 10 月 30 日核查。原作者提供制作视频和实机演示;本站未装机或实测。补充文档仍有部分接线照片占位,针序必须以实板丝印和厂家图为准。
1. 备齐同一路线的零件和工具
- 准备树莓派 Zero 2 W、OpenRB-150、14 只 XL330-M288-T、BNO080/085/086 IMU、至少 16 GB 的 microSD 卡、开关及匹配的供电。嘴部舵机可选,编号为 15。
- 准备读卡器、USB 数据线、万用表、小螺丝刀、M2/M2.5 紧固件和绝缘线材。采购前核对电源与连接器额定值;HD1910 的零件和镜像属于另一条路线。
完成检查
清单中已写明每块板、舵机、插头和电源的具体型号。
2. 下载打印项目,试装后再批量打印
- 下载固定来源根目录的 microduck3D打印.3mf,导入切片软件,逐盘检查零件。打印朝向对照作者视频,材料以作者记录的 PLA 为起点,调整为自己的设备配置。
- 当前 README 提到的 microduck/cad 目录已经删除,使用下方实际存在的 3MF 链接;仿真网格不能当作完整打印包。去除支撑,先打印一件试装舵机,再打印全套。
完成检查
左右零件与螺丝已分类,孔位和舵机外壳能够正常配合。
3. 装壳前,逐颗设置舵机 ID
- 一次只把一颗未装配舵机接到兼容的供电接口。打开 Dynamixel Wizard 2.0,选 Protocol 2.0,按当前波特率扫描;设置对应 ID、1 Mbps 波特率和 Return Delay Time 0,再按新波特率扫描并贴标签。
- 右腿由踝到髋依次是 1 踝、2 膝、3 髋俯仰、4 髋横滚、5 髋偏航;左腿对应 6–10;11 头俯仰、12 颈俯仰、13 头偏航、14 头横滚。保留保护性停机设置,遇到电压报错先排查供电,不通过屏蔽保护解决。
完成检查
每个 ID 唯一,14 颗舵机都能在 1 Mbps 下被识别。
4. 舵机居中,再安装舵盘与关节
- 裸舵机轴周围无遮挡时,在 Wizard 中移到中心位置,再关闭力矩并断电。按图示机械参考安装舵盘,保持刚才的轴位置;在封闭结构之前完成这一步。
- 装上对侧惰轮支撑和合适长度的螺丝。舵盘螺丝不能深入齿轮机构,惰轮固定不能拧到卡死。断电状态下逐个检查关节的机械活动范围。
完成检查
关节对齐正确,在允许范围内活动顺畅,没有卡顿。
5. 从脚部向上装两条腿和躯干
- 先装脚底与踝关节,右脚 ID 1、左脚 ID 6;再装膝关节 2/7、髋俯仰 3/8,随后是髋横滚 4/9 与髋偏航 5/10。左右始终按机器鸭自身判断。
- 把髋部连接到躯干并安装电池结构。盖板拧紧前先穿线,检查整条腿活动时是否夹线或拉线;螺丝位置对照原视频及分阶段装配章节。
完成检查
两腿编号和方向正确,线束在运动范围内没有受拉或夹压。
6. 组装头颈并固定电子器件
- 按照作者爆炸图安装 11–14 号头颈关节,再固定树莓派、OpenRB 与 IMU。保持教程对应的 IMU 安装朝向,不套用另一款机器人上的旋转参数。
- 保留 USB、microSD 卡与开关的操作空间。使用对应安装位固定板卡、绝缘裸露触点,确认头部运动不会拉扯线材后再合壳。
完成检查
板卡固定可靠,头颈活动与维护开口都正常。
7. 接电源和总线,先测量再上电
- 先断开电池。树莓派通过 USB 数据线连接 OpenRB,再按厂家针序接 XL330 总线及各分支。树莓派使用稳压 5 V,核对共地与 OpenRB 的电源来源选择。
- ROBOTIS 给 XL330 的输入范围是 3.7–6.0 V,推荐 5.0 V。要测满电时的实际最高电压,不能只看电池“6 V”标称。2S 电池不能直接接 XL330 或树莓派,电压保护保持开启。
完成检查
接负载前已确认极性、通断及两条电源轨的实际电压。
8. 接 IMU 并复查全部线束
- 对教程所用 BNO08x 模块,核对模块供电端后接树莓派 3.3 V,GND 共地,SDA 接 GPIO2/物理 3 脚,SCL 接 GPIO3/物理 5 脚。模块标注 VIN 或 3V3 时要分别核对,不凭线色判断。
- I²C 线尽量短,IMU 按原朝向固定,检查全部焊点。标有“照片占位”的图片不能作为针序依据;首次检查时先保留壳体可打开。
完成检查
没有裸露短路点、反插连接器或松动的传感器。
9. 校验并刷写 SD 镜像
- 从作者 image.v1 Release 下载 microduck.img.xz,计算 SHA-256 并和下方发布值对比。这是发布方给出的校验值,本站没有启动该镜像做实机测试。
- Raspberry Pi Imager 选择 Pi Zero 2 W、Use custom、下载的镜像和正确的 microSD 卡;此镜像选择不应用 OS customization,完成写入与校验后安全弹出。写入会清空所选卡。
SHA-256: 096885dc32fb5b1db2ad69ba6bea868d8ab988f2b47c0d884eb63ba0dfdcb5c4shasum -a 256 microduck.img.xz完成检查
文件哈希一致,Imager 写入验证通过。
10. 配置 2.4 GHz Wi-Fi,首次登录改密码
- 重新插卡,在 bootfs/network-config 填国家代码、Wi-Fi 名称与密码,保留 YAML 缩进。该树莓派使用 2.4 GHz,不能套用 KISS 的 5 GHz 建议;也可按原文用显示器、键盘和 nmcli 配网。
- 开机等待 1–3 分钟初始化,连接 microduck.local,无法解析时去路由器查 IP。镜像初始账号为 user、密码 password,登录后立即运行 passwd 改密码。电脑与机器人接同一网络。
ssh user@microduck.local
passwd完成检查
可以用新密码 SSH 登录,树莓派已获取网络地址。
11. 检查舵机总线、IMU 朝向和模型
- 开始运动前,确认 OpenRB 串口存在、所需 ID 都能回包。控制程序停止时查看 I²C bus 1,BNO08x 常见地址是 0x4a 或 0x4b;扫描到地址不代表安装朝向正确。
- 把实际装配与作者 IMU_MOUNT_QUAT、关节 offset 对照,尤其检查膝关节,使用本镜像配套的 walk.onnx。方向反了、IMU 朝向不符或缺少舵机时先纠正,再开启力矩。
ls /dev/serial/by-id/
i2cdetect -y 1完成检查
舵机身份、机械对齐、传感器朝向和模型都对应本路线。
12. 首次启动、短距离试走与关机
- 把机器人放在空旷地面并扶稳,再执行下方命令:程序启动会开启力矩并移动到 neutral。站姿正确后才用 v 切换行走、方向键小幅试动;x 速度归零,q 停止循环,i 显示或隐藏 IMU 信息。
- 必要时从第二个 SSH 会话运行 src/stop.py。结束执行 sudo shutdown -h now,等关机完成再断电。镜像的手柄模式连接手柄后会关闭 Wi-Fi,断开手柄可恢复 SSH。记录镜像版本、ID、offset 和实际结果。
在树莓派上启动
cd ~/microduck
PYTHONPATH=src .venv/bin/python src/main.py从第二个 SSH 会话停止
cd ~/microduck
PYTHONPATH=src .venv/bin/python src/stop.py关闭树莓派系统
sudo shutdown -h now完成检查
能够可靠停止;异常动作、反馈丢失或整机重启解决前不继续试走。
继续制作
来源与核查日期
资料核查于 2026年10月30日 · 已核查原始资料
- 原始资料 1 · github.com / README.md ↗
- 原始资料 2 · github.com / microduck3D打印.3mf ↗
- 原始资料 3 · www.youtube.com / watch ↗
- 原始资料 4 · github.com / README.md ↗
- 原始资料 5 · github.com / README.md ↗
- 原始资料 6 · emanual.robotis.com / xl330-m288 ↗
- 原始资料 7 · emanual.robotis.com / openrb-150 ↗
- 原始资料 8 · github.com / README.md ↗
- 原始资料 9 · github.com / image.v1 ↗
- 原始资料 10 · github.com / main.py ↗
- 原始资料 11 · github.com / stop.py ↗