makerspet/oomwoo · 上手攻略
- 仓库:makerspet/oomwoo
- 链接:https://github.com/makerspet/oomwoo
- 分类:robotics · ros2 · hardware
- 作者:Tom
- 更新:2026-07-05
这是什么
OOMWOO 是一个完全开源的自制扫地机器人项目,目标是用树莓派(Raspberry Pi 5)、ROS2、Home Assistant 和 3D 打印技术,打造一台价格亲民、支持 2D LiDAR 地图构建与自主导航的家用清洁机器人。Apache License 2.0(代码),Stars 3.4k,当前版本 v0(bare-bones 阶段)。
项目核心特点: - 完全开源:硬件(3D 打印文件)、软件(ROS2)、固件(ESP32/Arduino)全部开放 - 本地运行:常规功能无需云端,不依赖厂商服务器 - Home Assistant 原生集成:本地智能家居控制 - 2D LiDAR 导航:用实惠的 2D 激光雷达做 SLAM 和路径规划(ROS2 / Nav2) - 模块化社区共建:各功能模块由社区并行开发贡献,PR 制的模块化架构
名字 "OOMWOO" 是一个旋转180度不变形的字体图案(ambigram),象征机器人在地板上朝任意方向漫游。
解决什么问题
市面主流扫地机器人(石头、科沃斯、云鲸等)体验不错,但有三个根本问题:
| 痛点 | OOMWOO 解法 |
|---|---|
| 数据上云 | 本地 ROS2 运行,无需账号、云服务、隐私上报 |
| 厂商锁定 | 所有硬件规格、固件、CAD 文件开放,可自由改装 |
| 维修/扩容困难 | 3D 打印替换件,开源固件,不怕厂商倒闭 |
| 价格高/功能封闭 | 零件自行采购,kit 可选(方便而非必须),全功能开源 |
注意:v0 阶段硬件还在设计中,当前可以先用 Gazebo 仿真和占位真机(Proscenic M6 Pro)跑通 ROS2 软件栈。
快速安装(软件仿真)
环境要求
- Ubuntu 22.04+(ROS2 推荐系统)
- ROS2(humble 或 jazzy)
- Raspberry Pi OS 或 Ubuntu(实机部署时)
安装步骤
# 1. 安装 ROS2(以 humble 为例)
# 参考 https://docs.ros.org/en/humble/Installation.html
# 2. 安装 OOMWOO 软件开发环境
git clone https://github.com/makerspet/oomwoo-install.git
cd oomwoo-install
./install.sh # 或按 README 手动分步安装
# 3. 安装机器人描述包
git clone https://github.com/makerspet/oomwoo-one.git
cd oomwoo-one
# 4. 启动 Gazebo 仿真
# 参考官方教程:https://makerspet.com/blog/simulate-oomwoo-one-robot-vacuum-in-gazebo-with-ros-2/
ros2 launch oomwoo_one gazebo.launch.py
# 5. 若用占位真机(Proscenic M6 Pro)连接 ROS2
# 参考:https://makerspet.com/blog/tutorial-connect-robot-vacuum-cleaner-to-ros-2-proscenic-m6-pro/
连接 Home Assistant
# Home Assistant 通过 MQTT 或 native ROS2 integration 发现和控制
# 具体配置参考 BUILD_INSTRUCTIONS.md
核心模块与贡献机会
OOMWOO 将机器人拆成多个独立贡献模块,社区并行开发,降低个人上手门槛:
| 模块 | 状态 | 说明 |
|---|---|---|
urdf-gazebo-sim |
进行中 | ROS2 URDF + Gazebo 仿真,placeholder 状态 |
clean-and-map |
可开始 | 覆盖率清洁 + SLAM 建图 + 探索 |
nav-localize |
可开始 | 已知地图定位导航(Nav2 / AMCL) |
dock-cycle |
可开始 | 离座、回充座、精确定位对接 |
recovery-safety |
可开始 | 脱困策略、安全传感器、状态上报 |
floor-care |
可开始 | 地板类型识别(地毯/硬木)、沿边清洁 |
cleaning-jobs |
可开始 | 清扫模式(常规/定点)、虚拟墙、房间分割 |
live-robot-bringup |
可开始 | 占位机(Proscenic M6 Pro)ROS2 连接调试 |
io-pcb |
可开始 | I/O 驱动 PCB(KiCad,STM32 方案) |
source-3d-models |
进行中 | 采购零件的 STEP 模型 |
参与贡献流程
# 1. 从上述列表选一个模块
# 2. 在 GitHub Discussions 告知你在做哪个模块
# 3. 针对 Gazebo 仿真(oomwoo-one) 或占位真机开发
# 4. PR 提交到 contributions/<module-name>/ 目录
典型适用场景
- DIY 机器人学习项目:从 3D 打印到 ROS2 导航全链路,适合有一定树莓派/嵌入式基础的maker
- Home Assistant 智能家居集成:本地控制扫地机器人,无需第三方云
- ROS2 导航学习:Nav2、SLAM、AMCL 实战项目,带仿真环境
- 开源硬件定制:基于 OOMWOO 改出自己的特种机器人(送物、检查等)
- 厂商扫地机 ROS2 改装:占位机 Proscenic M6 Pro 已有人做了 ROS2 bridge(remakeai/vacuum_ros2_bridge),可参考
坑与注意
| 坑 | 说明 |
|---|---|
| v0 阶段,硬件未就绪 | 当前用 Gazebo 仿真 + 占位真机跑软件,真实 3D 打印机体还在设计中 |
| 3D 打印零件需自备 | BOM 文档在推进中,但还未完成;需要自己采购电机、LiDAR 等零件 |
| LiDAR 盲区 | 2D LiDAR 对 10cm 以下障碍物(电线、袜子)"视而不见",v1 靠碰撞传感器应对,视觉避障是后续目标 |
| 套件非开源 | makerspet.com 提供的 kit 是方便选项而非开源;所有零件规格已列 BOM,不买 kit 也能做 |
| ROS2 门槛 | 需要 Linux + ROS2 基础,纯小白上手较难;建议先看官方 Crash Course |
| 不跑真实清洁 | v0 软件栈验证阶段,仿真里不执行真实吸尘/拖地动作 |
| 并发模块协调风险 | 多人并行 PR 各模块,存在接口对齐问题;ARCHITECTURE.md 定义的接口文档是关键依赖 |
与同类对比
| 项目 | 类型 | 核心差异 |
|---|---|---|
| Valetudo | 云替代固件 | 为商业机型(石头等)提供本地固件,不开源硬件;OOMWOO 从零开源硬件+软件 |
| Open Mower | 开源户外割草机 | 同作者团队,户外场景;OOMWOO 室内扫地,针对不同需求 |
| DIY 3D Printed Vacuum(AlieksieievYurii) | 陀螺仪导航 | 基础款,无 LiDAR、无 ROS2;OOMWOO 定位更完整 |
| Eufy/Dreame/云鲸 | 商业产品 | 功能完整开箱即用,但闭源、有云依赖、维修困难;OOMWOO 完全开源本地 |
| OOMWOO | 全栈开源机器人 | 硬件+ROS2+Nav2+Home Assistant+3D打印,全链路开源,但成熟度远不及商业产品 |
一句话推荐结论
如果你有一定 ROS2 / 嵌入式开发经验,想从头造一台本地可控、不依赖云服务的智能扫地机器人,OOMWOO 是目前最完整的开源全栈方案,值得关注但需注意 v0 阶段软硬件都在建设中,建议先用 Gazebo 仿真和 Proscenic M6 Pro 占位机练手;如果是纯小白或需要立刻能用的扫地机,主流商业产品(石头/Dreame)和 Valetudo 越狱固件更适合你。