> [!NOTE]
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
> [English](./README.en.md) · [原始项目](https://github.com/makerspet/oomwoo) · [上游 README](https://github.com/makerspet/oomwoo/blob/HEAD/README.md)
> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
# OOMWOO
*可自行搭建的开源扫地机器人。*
扫得干净 · 可二次开发 · Raspberry Pi · ROS2 · Home Assistant · 2D LiDAR · 3D 打印 · ESP32 · Arduino


## 这是什么?
OOMWOO 是一款可自行搭建的*开源家用扫地机器人*,面向 Raspberry Pi、ROS2、Home Assistant 和 3D 打印社区打造。它使用价格亲民的 2D LiDAR 绘制家中地图并自主导航。本地运行,日常功能无需云端,无厂商锁定。欢迎关注我们公开搭建的过程
[Discord](https://discord.gg/3y2JKz5T25) | [X](https://x.com/@0OMWO0) | [Instagram](https://www.instagram.com/oomw0o/) | [Facebook](https://www.facebook.com/profile.php?id=61591466775035) | [Reddit](https://www.reddit.com/r/oomwoo/) | [newsletter](https://stats.sender.net/forms/bo2rAK/view) | [YouTube](https://www.youtube.com/@makerspet) | [oomwoo.com](oomwoo.com) | [Tutorials](https://makerspet.com/learn/)
参考设计图——成品大致将呈现如下外观:



## 目标
- 价格实惠,硬件、软件和固件完全开源
- 家用电器级品质——不是一次性搭建项目
- 易于搭建,提供从零到精通的逐步教程
- 2D LiDAR 建图与自主导航(ROS2 / Nav2)
- 原生 Home Assistant 集成,支持本地控制
- 3D 可打印、有文档且可二次开发的车体
- 可使用自行采购的零件搭建
- 本地运行,日常功能无需云端
- 连接云端时可获得可选的额外功能
- 基于 ROS2 的应用,可自定义清扫行为
- 延伸目标:应用商店
- 延伸目标:LeRobot 集成、OpenClaw
*v0 目标:精简版搭建:*
- 3D 打印车体
- ROS2 Gazebo 仿真
- 配备 LiDAR 的手动 SLAM
- 在 Raspberry Pi 5 上运行 ROS2,和/或在 ESP32 上运行 micro-ROS 并在本地 PC 上运行 ROS2——待确定
开源交付物:
- [x] [软件开发环境](https://github.com/makerspet/oomwoo-install), robot [description package](https://github.com/makerspet/oomwoo-one/) and [tutorials](https://makerspet.com/blog/simulate-oomwoo-one-robot-vacuum-in-gazebo-with-ros-2/) (ROS2)
- [x] 占位用真实[扫地机](https://github.com/makerspet/proscenic-m6pro) and [tutorials](https://makerspet.com/blog/tutorial-connect-robot-vacuum-cleaner-to-ros-2-proscenic-m6-pro/) (temporary while OOMWOO is being designed)
- [ ] [物料清单(BoM)](BOM.md) (in progress)
- [ ] 3D 可打印文件
- [ ] 固件
- [ ] 电机驱动与传感器 [I/O PCB](https://github.com/makerspet/oomwoo-io-board)
- [ ] 搭建、配置、启动与故障排查[说明](BUILD_INSTRUCTIONS.md)
- [ ] 演示视频
## 参与贡献
想要参与贡献?完整指南请参阅 [CONTRIBUTING](docs/CONTRIBUTING.md)。
OOMWOO 采用社区大规模*并行*搭建的组织方式。
扫地机及其软件划分为多个[模块](#requests-for-contributions),见下方列表。
志愿者可自由选择任意模块,并按自己的节奏开展工作。
对于*代码与仿真*模块,她在*自己的仓库*中开发软件包,并提交简短 PR 从模块处*链接*;对于*文档与规格*,她在 `contributions/module-name/` 下以树内(in-tree)方式贡献文件。具体做法请参阅
[CONTRIBUTING](docs/CONTRIBUTING.md)。
欢迎多位开发者同时参与同一模块。
各模块的最优方案将随时间浮现,项目负责人拥有最终决定权。
1. 从[下方列表](#requests-for-contributions)中选择一个贡献项。
2. [告知我们](https://github.com/makerspet/oomwoo/discussions) 你的工作项及进展。
3. 查阅 [ARCHITECTURE.md](docs/ARCHITECTURE.md) 和
[SOFTWARE_INTERFACES.md](docs/SOFTWARE_INTERFACES.md) 了解系统设计与 ROS2 接口。
## 贡献征集
以下每个模块*现在即可动手*——可基于 Gazebo 仿真
([oomwoo-one](https://github.com/makerspet/oomwoo-one)) 或真实的*占位机器人*
(一款[已接入 ROS2 的 Proscenic M6 Pro](https://makerspet.com/blog/tutorial-connect-robot-vacuum-cleaner-to-ros-2-proscenic-m6-pro/)),
直到 OOMWOO 硬件就绪。择一开工,在
[Discussions](https://github.com/makerspet/oomwoo/discussions), 中告知我们,在你的自有仓库中搭建(文档与规格以树内方式贡献),并提交简短 PR 从模块处链接。
| 模块 | ID | 状态 | 备注 |
|---|---|---|---|
| ROS2 URDF + Gazebo sim | [urdf-gazebo-sim](./contributions/urdf-gazebo-sim) | 进行中 | 占位 URDF + Gazebo 仿真(参考:[oomwoo-one](https://github.com/makerspet/oomwoo-one); [@alvarosamudio](https://github.com/alvarosamudio/oomwoo_gazebo) 精选),硬件落地后细化 |
| 首次清扫:覆盖 + 建图 + 探索 | [clean-and-map](./contributions/clean-and-map) | 可开始工作 | 在 SLAM 建图与探索的同时进行覆盖清扫 |
| 自动清扫 | | 进行中 | 使用已有地图清扫整个房间(采用覆盖路径规划) |
| 回归测试 | | 进行中 | 搭建仿真器回归测试框架(Gazebo 中的自动清扫) |
| 已知地图上的定位与导航 | [nav-localize](./contributions/nav-localize) | 进行中 | Nav2 导航、AMCL 定位、丢失后重定位、恢复地图 |
| 回充循环:离桩、回桩、充电 | [dock-cycle](./contributions/dock-cycle) | 可开始工作 | 离桩、返回充电座、精准对接、充电座服务、丢失后寻桩 |
| 恢复行为与安全 | [recovery-safety](./contributions/recovery-safety) | 可开始工作 | 恢复阶梯、升级机制、暂停告警、安全传感器、状态上报 |
| 算力基准与内存优化 | [compute-benchmark](./contributions/compute-benchmark) | 进行中 | 测量 ROS2/Nav2/SLAM 内存占用,对比可组合节点,跟踪 4 GB -> 2 GB 目标 |
| 地面材质处理与沿边清扫 | [floor-care](./contributions/floor-care) | 可开始工作 | 沿墙/沿边行驶、地毯与硬木地板区分、拖布升降 |
| 清扫模式、分区与任务编排 | [cleaning-jobs](./contributions/cleaning-jobs) | 可开始工作 | 模式(常规/定点)、虚拟墙、房间分割、任务拆分与续扫 |
| 实机启动与验证 | [live-robot-bringup](./contributions/live-robot-bringup) | 可开始工作 | 将占位用 Proscenic M6 Pro 接入 ROS2,在硬件上复现仿真测试 |
| 为 BoM 零件采集 3D 模型(STEP) | [source-3d-models](./contributions/source-3d-models) | 进行中 | 获取/测量/建模市售零件(轮子、风扇、万向轮等)的 STEP 文件,确保支架匹配 |
| 采购零件规格与数据手册 | [part-specs](./contributions/part-specs) | 进行中 | 查找/测量/逆向工程所采零件的规格(引脚定义、编码器 PPR、扭矩、风扇驱动方式等) |
| I/O + 电机驱动 PCB | [io-pcb](./contributions/io-pcb) | 进行中 | 带 CM4/CM5 插座的 I/O 板,STM32G070 MCU——电机、传感器、4S2P 充电、安全、FreeRTOS、与 CM4/CM5 的自定义串口、2D LiDAR 接头、IMU、音频串口/功放/扬声器、MIPI 摄像头接口;KiCad、JLCPCB |
| 将软件适配至 2GB RAM | [compute-benchmark](./contributions/compute-benchmark) | 进行中 | ROS2 节点组合、Rust;移除 Gazebo、桌面 UI |
> 规划中及暂缓的模块(机械设计、后期软件)收录于
> [RFC 待办清单](docs/RFC_BACKLOG.md)。
## 源代码参考
- [OOMWOO ROS2 与 Ubuntu 安装](https://github.com/makerspet/oomwoo-install/) 源代码
- [OOMWOO ROS2 URDF 包与配置](https://github.com/makerspet/oomwoo_urdf/) 源代码
- [remakeai 参考扫地机拆解](https://github.com/remakeai/vacuum-cleaner-teardown) —— 一款带基础充电座和固定拖布的商用 LiDAR 扫地机。
## 相关先行作品
- [AlieksieievYurii/vacuum-cleaner](https://github.com/AlieksieievYurii/vacuum-cleaner) — 一款 DIY 3D 打印扫地机器人(Raspberry Pi Zero W,基于陀螺仪,Fusion 360,Android 控制应用,无充电座)
- [kaiaai/LDS](https://github.com/kaiaai/LDS), [kaiaai/lds2d](https://github.com/kaiaai/lds2d) — 开源 2D LiDAR 库(C++、Python),支持 23+ 种 LiDAR 型号
- [remakeai/vacuum_ros2_bridge](https://github.com/remakeai/vacuum_ros2_bridge) — 基于 3irobotix CRL-200 的扫地机器人(Proscenic)ROS2 桥接,完整 ROS2 控制
- [Valetudo](https://github.com/Hypfer/Valetudo) — 商用扫地机器人的免云端固件替代方案(本地应用级控制,非 ROS2)
- [Dennis Giese / robotinfo.dev](https://robotinfo.dev) — 商用扫地机器人的拆解与 root 可行性分析。
- [codetiger/VacuumTiger](https://github.com/codetiger/VacuumTiger) - 基于 3irobotix CRL-200 的扫地机器人底层控制逆向工程
- [Build a ROS2/LiDAR robot crash course](https://makerspet.com/blog/build-arduino-self-driving-robot-video-instructions/) - 若无机器人经验可看此教程
- [Open Mower](openmower.de) - 开源户外割草机
## 设计调研
我们调研了 2025–2026 年消费级扫地机器人市场格局(全球 + 中国可采购品牌,各价位段),以决定哪些方案值得借鉴、哪些可以跳过。对本项目构建的关键结论:
- *吸力是采购问题,而非工程问题。* 实际清洁效果*并不*与宣传的吸力(Pa)成正比;约 500 美元的中端机型往往胜过旗舰款。一台适中的*密封*外购电机 + 优质滚刷 + 严密的气流密封,即可媲美旗舰 —— *无需定制叶轮。*
- *「永不卡住」需要摄像头 + AI 传感器融合*,单靠 LiDAR 不够 —— LiDAR 对其约 10 cm 云台以下区域是盲的(电线、袜子等)。v1 主要依赖*防撞条*应对低矮障碍;基于视觉的避障是后续/实验性目标,并非 MVP 承诺。
- *防缠绕刷:* *锥形橡胶滚刷*最能抵抗毛发缠绕(用户头号抱怨之一),且易于 3D 打印。
- *拖地:* 3D 打印的*双旋转*拖布已具竞争力;自清洗滚刷拖地的优势被夸大且难以复现 —— 现阶段先跳过。
*值得研究的口碑机型:* Eufy Omni S2(避障)、Narwal Flow(滚刷拖地)、Ecovacs Deebot T90 Pro Omni(约 499 美元全能型)、Dreame X40 Ultra(双旋转拖布)。*Dreame* 也是与 [Valetudo](https://github.com/Hypfer/Valetudo)-rootable 兼容度最高的品牌 —— 最安全的拆解研究对象。*(各机型排名仅供参考,来自单次评测测试。)*
## 关于
项目名称 "OOMWOO" 是一个旋转对称字(rotational ambigram)—— 旋转 180° 后读法相同,就像机器人本身,朝各个方向在你家地板上漫游。
本项目由 makerspet.com 和 remake.ai 赞助。我们正在复用他们的开源方案。
- 若你不想四处搜罗零件,可在 [makerspet.com](https://makerspet.com), 购买套件(电机、PCB、滚刷、垫圈、LiDAR),提供方即本项目作者。套件仅为便利选项,绝非必需。*此处一切内容均保持开源。*
- 待开发应用时,[remake.ai](https://remake.ai) 将提供其机器人应用平台与应用商店。是否使用应用商店完全可选。扫地机器人将*始终开箱即支持免云端、本地运行,满足日常功能需求*。
## 许可证
代码以 [Apache License 2.0](LICENSE) 发布。
硬件设计文件(待添加)将以开放硬件许可证发布(待定)。